function days_between(date1, date2) {

    // The number of milliseconds in one day
    var ONE_DAY = 1000 * 60 * 60 * 24

    // Convert both dates to milliseconds
    var date1_ms = date1.getTime()
    var date2_ms = date2.getTime()

    // Calculate the difference in milliseconds
    var difference_ms = Math.abs(date1_ms - date2_ms)
    
    // Convert back to days and return
    return Math.round(difference_ms/ONE_DAY)

}

$(function(){
    var s = new Date($('#startDate').val()*1000);
    var e = new Date($('#endDate').val()*1000);
    var today = new Date();
    
    var startDate = (s < today) ?  today.asString() : s.asString();
  
    var endDate = e.asString();
		
		// jquery datepicker
		Date.format = 'yyyy-mm-dd'; 
 		$('.date-pick').datePicker({
 		  startDate: startDate,
 		  endDate: endDate
 		});

		// abreise autmatisch 1 tag später als anreise möglich
		$('#calArrivalDateField').bind(
			'dpClosed',
			function(e, selectedDates)
			{
			  $("#bform").validate().form();
				var d = selectedDates[0];
				if (d) {
					d = new Date(d);
					$('#calDepartureDateField').dpSetStartDate(d.addDays(1).asString());
					$('#calDepartureDateField').dpSetEndDate(d.addDays(1).asString());
				}
			})
		.dpSetPosition($.dpConst.POS_BOTTOM, $.dpConst.POS_LEFT)
		;
		$('#calDepartureDateField').bind(
			'dpClosed',
			function(e, selectedDates)
			{
			  $("#bform").validate().form();
				var d = selectedDates[0];
				if (d) {
					d = new Date(d);
					$('#calArrivalDateField').dpSetEndDate(d.addDays(-1).asString());
					$('#calArrivalDateField').dpSetStartDate(d.addDays(-1).asString());
				}
			})
		.dpSetPosition($.dpConst.POS_BOTTOM, $.dpConst.POS_LEFT)
		;
	// grafische select boxen mit jquery.stylish-select.min.js
	$('#prsRoomCount').sSelect();
	$('#occupancy').sSelect(); 
			
	// validation (in class vom inputfeld)
	$(".bookingformArrangement").validate({
	    errorPlacement: function(error, element) { 
  		               error.prependTo($("#error")).parent();
  		        },
      submitHandler: function(form) { 
          var day1 = Date.fromString($('#calArrivalDateField').val());
          var day2 = Date.fromString($('#calDepartureDateField').val());
          
          // calc the number of day between
          var days = days_between(day1,day2);

          switch (days) {
            case 1: var val = $('input#promoCode1').val();
            break;
            case 2: var val = $('input#promoCode2').val();
            break;
          }
          // set rateAccessCode depending on days
          var rateAccessCode = $('input[name=rateAccessCode]').val(val);
          
          form.submit();
      }
	});
  // only submit form  with javascript enabled
	$(".submit").click(function() {
	    $("#bform").submit(); 
	    if ($("#bform").valid()) { 
        // load ad pixel
        var img = new Image();
        $(img).attr('src','http://ad.yieldmanager.com/pixel?id=726269&t=2');
      };
			
	  		return false;
	});
});