/*FUNCTIONS BEFORE DOM READY*/
function calculatePrice() {
	if ( jQuery('[name = resAccomodationFor]').attr('type') == 'radio') {
		var resAccomodationFor = jQuery('[name = resAccomodationFor]:checked').val();
	} else if ( jQuery('[name = resAccomodationFor]').attr('type') == 'hidden') {
		var resAccomodationFor = jQuery('[name = resAccomodationFor]').val();
	}
	var resAccomodationType = jQuery('[name = resAccomodationType] option:selected').val();
	var resPeopleNumber = jQuery('[name = resPeopleNumber]').val();
	var resDateFrom = jQuery('[name = resDateFrom]').val();
	var resDateTo = jQuery('[name = resDateTo]').val();
	var ajaxurl = '/~letneub1/wp-admin/admin-ajax.php'; //'/letneub-wp/wp-admin/admin-ajax.php';
    
	jQuery.get(
		ajaxurl,
		{
			action: 'my_action',
			resAccomodationFor: resAccomodationFor,
			resAccomodationType: resAccomodationType,
			resPeopleNumber: resPeopleNumber,
			resDateFrom: resDateFrom,
			resDateTo: resDateTo
		},
		function(response) {
			//var obj = jQuery.parseJSON(response);  //need for local 
			//if (obj['price'] != null || obj['price'] != 0) {
			jQuery('#cenaZaNoc').text(response['price']); // for local change response to obj
			jQuery('#cenaSpolu').text(response['totalPrice']); // for local change response to obj
			if ( jQuery('#resPrice').length > 0 ) jQuery('#resPrice').val(response['price']); // for local change response to obj
			if ( jQuery('#resTotalPrice').length > 0 ) jQuery('#resTotalPrice').val(response['totalPrice']); // for local change response to obj
		//} else {
		//    jQuery('.mainContentReserveWrapBottomButtonWrap .reserveButtonReserve').attr('disabled','disabled');
		//}
		},
		'json'
		);
}


/*DOM READY*/
jQuery(document).ready(function(){


	jQuery('[name = resAccomodationFor]').change(changeUnneededOptions);
	 var temp = [];
	function changeUnneededOptions()
	{
		
		var k = 0;
		var resAccomodation = jQuery('[name = resAccomodationFor]:checked').val();
		if(resAccomodation==3){
			jQuery('#resAccomodationType option').each(function() {
				if(jQuery(this).attr('value')<28){
					temp[k] = this;
					
					jQuery(this).remove();
					k++;
				}
				if(jQuery(this).attr('value')==28){
					jQuery(this).attr("selected", '"selected"');
				}
			});
		}else{
			jQuery('#resAccomodationType option').each(function() {
				
				for(i=27; i>=0; i--){
					jQuery('#resAccomodationType').prepend(temp[i]);
					
				}
				
				
				if(jQuery(this).attr('value')==1){
					jQuery(this).attr("selected", '"selected"');
				}
				
			});
		}
		
	}
	changeUnneededOptions();

	if (jQuery('#filterContainerWrap').length > 0) {
		jQuery('[id ^= tab_]').each(function() {
			var tabIdArr = this.id.split('_');
			var tabId = tabIdArr[1];
			var roomId = tabIdArr[2];
            
			jQuery(this).click(function() {
				if (tabId == 1) {
					jQuery(this).parent().removeClass('filterTabsWrap2');
					jQuery(this).parent().addClass('filterTabsWrap1');
					jQuery('#tabcontent_2_'+roomId).css('display', 'none');
					jQuery('#tabcontent_1_'+roomId).css('display', 'inherit');
				} else {
					jQuery(this).parent().removeClass('filterTabsWrap1');
					jQuery(this).parent().addClass('filterTabsWrap2');
					jQuery('#tabcontent_1_'+roomId).css('display', 'none');
					jQuery('#tabcontent_2_'+roomId).css('display', 'inherit');
				}
			});
		});
        
	}
    
	if (jQuery('#resPeopleNumber').val() > 1) {
		jQuery('#additionPersonTextWrap').css('display', 'inherit');
	} else {
		jQuery('#additionPersonTextWrap').css('display', 'none');
	}
	if (jQuery('#reservationFormId').length > 0) {
		jQuery('#resPeopleNumber').change(function() {
			if (jQuery('#resPeopleNumber').val() > 1) {
				jQuery('#additionPersonTextWrap').css('display', 'inherit');
			} else {
				jQuery('#additionPersonTextWrap').css('display', 'none');
			}
		});
        
	}
    
	jQuery("#reservationFormId").validate({
		rules: {
			resDateFrom: {
				required: true,
				date: true
			},
			resDateTo: {
				required: true,
				date: true
			},
			resPeopleNumber: {
				required: true,
				digits: true
			}
		}
	});
    
	jQuery("#filterForm").validate({
		rules: {
			dateFrom: {
				required: false,
				date: true
			},
			dateTo: {
				required: false,
				date: true
			}
		}
	});

	jQuery("#contactusform").validate({
		rules: {
			contactEmail: {
				required: true,
				email: true
			}
		}
	});
    
	jQuery("[name = resAccomodationFor], [name = resAccomodationType], [name = resPeopleNumber]").change(function(){
		calculatePrice();
	});
    
	var accomodationFor = jQuery('[name = resAccomodationFor]:checked').val();
	var accomodationType = jQuery('[name = resAccomodationType] option:selected').val();
	//var peopleNumber = jQuery('[name = resPeopleNumber]').val();
	var dateFrom = jQuery('[name = resDateFrom]').val();
	var dateTo = jQuery('[name = resDateTo]').val();
    
	if ( (accomodationFor != '') && (accomodationType != '') && (dateFrom != '') && (dateTo != '') ) {
		calculatePrice();
	}
    
        
	jQuery(function($){
		//$( "#dateFrom" ).datepicker({});
		//$( "#dateTo" ).datepicker({});
		$(function() {
			var monthsToDisable = [1,2,3,4,5,9,10,11,12];
			var currentDate = new Date();
			var currentYear = currentDate.getFullYear();
			$( "#dateFrom, #dateTo" ).attr('readonly', '"readonly"');
			var dates = $( "#dateFrom, #dateTo" ).datepicker({
				beforeShowDay: disableSpecificDates,
				defaultDate: "+1w",
				changeMonth: true,
				numberOfMonths: 1,
				onSelect: function( selectedDate ) {
					var option = this.id == "dateFrom" ? "minDate" : "maxDate",
					instance = $( this ).data( "datepicker" ),
					date = $.datepicker.parseDate(
						instance.settings.dateFormat ||
						$.datepicker._defaults.dateFormat,
						selectedDate, instance.settings );
					dates.not( this ).datepicker( "option", option, date );
				},
				showOn: "both", //"button"
				buttonImage: "http://"+location.host + "/~letneub1/wp-content/themes/twentyten/images/datePicker.png",
				buttonImageOnly: true,
				buttonText: '',
				dateFormat: 'dd/mm/yy',
				minDate: +0,
                maxDate: new Date(currentYear,11,30)
			});
			
			function disableSpecificDates(date)
			{
				var month = date.getMonth();
				for (i = 0; i < monthsToDisable.length; i++) {
					if ($.inArray((month + 1), monthsToDisable) != -1) {
						return [false];
					}
				}
				return [true];

			}
		}); 
	
		$(function() {
			var monthsToDisable = [1,2,3,4,5,9,10,11,12];
            var currentDate = new Date();
            var currentYear = currentDate.getFullYear();
			$( "#resDateFrom, #resDateTo" ).attr('readonly', '"readonly"');
			var dates = $( "#resDateFrom, #resDateTo" ).datepicker({
				beforeShowDay: disableSpecificDates,
				defaultDate: "+1w",
				changeMonth: true,
				numberOfMonths: 1,
				onSelect: function( selectedDate ) {
					var option = this.id == "resDateFrom" ? "minDate" : "maxDate",
					instance = $( this ).data( "datepicker" ),
					date = $.datepicker.parseDate(
						instance.settings.dateFormat ||
						$.datepicker._defaults.dateFormat,
						selectedDate, instance.settings );
					dates.not( this ).datepicker( "option", option, date );
					calculatePrice(this.id, selectedDate);
				},
				showOn: "both", //"button"
				buttonImage: "http://"+location.host + "/~letneub1/wp-content/themes/twentyten/images/datePicker.png",
				buttonImageOnly: true,
				buttonText: '',
				dateFormat: 'dd/mm/yy',
				minDate: +0,
                maxDate: new Date(currentYear,11,30)
			});
			function disableSpecificDates(date)
			{
				var month = date.getMonth();
				for (i = 0; i < monthsToDisable.length; i++) {
					if ($.inArray((month + 1), monthsToDisable) != -1) {
						return [false];
					}
				}
				return [true];

			}
		});
$(function() {
			var monthsToDisable = [1,2,3,4,5,9,10,11,12];
            var currentDate = new Date();
            var currentYear = currentDate.getFullYear();
			$( "#calcDateFrom, #calcDateTo" ).attr('readonly', '"readonly"');
			var dates = $( "#calcDateFrom, #calcDateTo" ).datepicker({
				beforeShowDay: disableSpecificDates,
				defaultDate: "+1w",
				changeMonth: true,
				numberOfMonths: 1,
				onSelect: function( selectedDate ) {
					var option = this.id == "calcDateFrom" ? "minDate" : "maxDate",
					instance = $( this ).data( "datepicker" ),
					date = $.datepicker.parseDate(
						instance.settings.dateFormat ||
						$.datepicker._defaults.dateFormat,
						selectedDate, instance.settings );
					dates.not( this ).datepicker( "option", option, date );
				},
				showOn: "both", //"button"
				buttonImage: "http://"+location.host + "/~letneub1/wp-content/themes/twentyten/images/datePicker.png",
				buttonImageOnly: true,
				buttonText: '',
				dateFormat: 'dd/mm/yy',
				minDate: +0,
                maxDate: new Date(currentYear,11,30)
			});
			function disableSpecificDates(date)
			{
				var month = date.getMonth();
				for (i = 0; i < monthsToDisable.length; i++) {
					if ($.inArray((month + 1), monthsToDisable) != -1) {
						return [false];
					}
				}
				return [true];

			}
		});	
});
    
	if (jQuery('#checkAccommodationType').length > 0) {
		var checkedId = jQuery('#checkAccommodationType').val();
		jQuery('#'+checkedId).attr('checked', 'checked');
	}
});

