var maxchar = 250;
var frmAction;

function checkOptionsForm(e){
  if(!checkBlumegruss()){
    e.preventDefault();
    return false;
  }
  
  if(!checkLiefertermin()){
    e.preventDefault();
    return false;
  }
  
  // Lieferhinweis-Text generieren und speichern
  lieferhinweise_selectiontxt = $('#bo_deliveryhint_selectiontext');
  if(lieferhinweise_selectiontxt.length > 0){
    lieferhinweise = $('.bo_deliveryhint');
    selectiontxt = '';
    for(i=0;i < lieferhinweise.length;i++){
      hint = lieferhinweise[i];
      if(hint.checked){
        selectiontxt = selectiontxt + hint.value + ' / \r\n';
      }
    }
    lieferhinweise_selectiontxt[0].value = selectiontxt;
  }


}

function updateLieferhinweise(){
  lieferhinweise_selection = $('#bo_deliveryhint_selection');
  if(lieferhinweise_selection.length > 0){
    lieferhinweise = $('.bo_deliveryhint');
    selection = '';
    for(i=0;i < lieferhinweise.length;i++){
      hint = lieferhinweise[i];
      if(hint.checked){
        selection = selection + '1;';
      }
      else{
        selection = selection + '0;';
      }
    }
    lieferhinweise_selection[0].value = selection;
  }
}

function setLieferhinweiseCheckboxes(){
  lieferhinweise_selection = $('#bo_deliveryhint_selection');
  if(lieferhinweise_selection.length > 0){
    selection = lieferhinweise_selection[0].value;
    if(selection){
      lieferhinweise = $('.bo_deliveryhint');
      array = selection.split(';');
      for(i=0;i < array.length-1; i++){
        lieferhinweise[i].checked = (array[i] == '1');
      }
    }
  }
}

function checkBlumegruss(){
  input = $('#bo_blumengruss')[0];
  res = maxchar - input.value.length;

  if(res < 0){
    input.value = input.value.substring(0, maxchar);
    alert('Der Blumengruß darf maximal 250 Zeichen lang sein!');
    $('#bo_blumg_remaincount').text('0');
    input.focus();
    return false;

  }
  else{
    $('#bo_blumg_remaincount').text(res);
    return true;
  }
}

function checkLiefertermin(){
  input = $('#bo_cva_liefertermin')[0];
  value = input.value;
  if(value){
    format = $("#bo_cva_liefertermin").datepicker('option', 'dateFormat');

    try{
      date = $.datepicker.parseDate(format, value);
      day = date.getDay();
      if(day == 0){
        alert('Sonntags kann nicht geliefert werden! Bitte wählen Sie einen anderen Wochentag');
        input.focus();
        return false;
      }

      value = $('#bo_cva_liefertermin_hidden')[0].value;
      minDate = $.datepicker.parseDate(format, value);
      if(date < minDate){
        alert('Es kann frühestens am ' + value + ' geliefert werden! Bitte wählen Sie einen anderen Liefertermin');
        input.focus();
        return false;
      }

      return true;
    }
    catch(e){
      alert('Kein gültiges Datumsformat. Das Datum muss das Format tt.mm.yyyy haben!');
      input.focus();
      return false;
    }
  }
  else return true;
  

}

function BlumengrussChange(){
  checkBlumegruss();
}


function onLieferterminChange(e){
  checkLiefertermin();
}



$(document).ready(function(){  

if($('#bo_optionsfrm').length > 0){
  $('.fieldbuttonnext').click(checkOptionsForm);
}

// Blumegruss ->
j_Objects = $('#bo_blumengruss');
if(j_Objects.length > 0){
  count_display = $('#bo_blumg_remaincount');
  if(count_display.length > 0){
    BlumengrussChange();
    j_Objects.keyup(BlumengrussChange);
    j_Objects.keydown(BlumengrussChange);
    j_Objects.keypress(BlumengrussChange);
    j_Objects.click(BlumengrussChange);
    j_Objects.change(BlumengrussChange);
  }
}

// Liefertermin ->
if ($('#bo_cva_liefertermin').length > 0){
  $('#bo_cva_liefertermin').datepicker();
  $("#bo_cva_liefertermin").datepicker('option', 'monthNames', ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember']);
  $("#bo_cva_liefertermin").datepicker('option', 'dayNames', ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag']);
  $("#bo_cva_liefertermin").datepicker('option', 'dayNamesMin', ['So','Mo','Di','Mi','Do','Fr','Sa']);
  $("#bo_cva_liefertermin").datepicker('option', 'dayNamesShort', ['Son','Mon','Die','Mit','Don','Fre','Sam']);
  $("#bo_cva_liefertermin").datepicker('option', 'monthNamesShort', ['Jan','Feb','Mär','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez']);
  $("#bo_cva_liefertermin").datepicker('option', 'dateFormat', 'dd.mm.yy');
  $("#bo_cva_liefertermin").datepicker('option', 'minDate', '+1');
  $("#bo_cva_liefertermin").datepicker('option', 'gotoCurrent', true);

  $('#bo_cva_liefertermin_hidden').datepicker();
  $("#bo_cva_liefertermin_hidden").datepicker('option', 'dateFormat', 'dd.mm.yy');
  $("#bo_cva_liefertermin_hidden").datepicker('setDate', '+1');
  datetxt = $("#bo_cva_liefertermin_hidden")[0].value;
  $('#bo_cva_exampledate').text('(z.B. ' + datetxt + ')');
  
  $('#bo_cva_liefertermin').change(onLieferterminChange);
}

// Lieferhinweise
$('.bo_deliveryhint').click(updateLieferhinweise);
setLieferhinweiseCheckboxes();

// Gallery ->
  panel_height = 200;
  frame_width = 100;
  frame_height = 100;
  
  j_Objects = $('#bo_gallery_panel_height');
  hasOption = j_Objects.length > 0;
  if(hasOption){
    panel_height = j_Objects.attr('rel');
  }

  
  j_Objects = $('#bo_gallery_frame_thumb');
  hasOption = j_Objects.length > 0;
  if(hasOption){
    frame_thumbsrc = j_Objects.attr('rel');
    var newImg = new Image();
    newImg.src = frame_thumbsrc;
    frame_height = newImg.height;
    frame_width = newImg.width;
  }



  panel_height = panel_height * 1;
  frame_width = frame_width * 1;
  frame_height = frame_height * 1;
  
  //648
  
  $('#photos').galleryView({
	  panel_width: 638,
	  panel_height: panel_height,
	  frame_width: frame_width,
	  frame_height: frame_height,
	  border: '0px none black',
	  nav_theme: 'dark'
  })
});
