$(window).ready(function(){
	$('#offers .slideshow').serialScroll({
		items:'li',
		prev:'#offers h3 .buttons a.prev',
		next:'#offers h3 .buttons a.next',
		start:0,
		duration:1200,
		force:false,
		axis:'y',
		stop:true,
		lock:false,
		cycle:false,
		easing:'easeOutQuart',
		jump: false
	});
	var minyear = $('select#montha option:first').get(0).value.split('-')[1];
	var maxyear = $('select#montha option:last').get(0).value.split('-')[1];
	var dta = getFromCustomDate($g('arrive').value);
	var dtd = getFromCustomDate($g('departure').value);
    $("#daya").val(dta.d); 
    $("#montha").val(dta.my); 	
    $("#dayd").val(dtd.d); 
    $("#monthd").val(dtd.my); 	    
	$("#linkedDatesA").datepicker({ 
		dateFormat:'d-m-yy',
		minDate: new Date(minyear, 1 - 1, 1), 
		maxDate: new Date(maxyear, 12 - 1, 31), 
		beforeShow: readLinkedA, 
		onSelect: updateLinkedA, 
		showOn: "both", 
		buttonImage: "/media/calendar.gif",  
		buttonImageOnly: true }); 
	$("#linkedDatesD").datepicker({ 
		dateFormat:'d-m-yy',	
		minDate: new Date(minyear, 1 - 1, 1), 
		maxDate: new Date(maxyear, 12 - 1, 31), 
		beforeShow: readLinkedD, 
		onSelect: updateLinkedD, 
		showOn: "both", 
		buttonImage: "/media/calendar.gif",  
		buttonImageOnly: true }); 
	$('#daya').change(function(){ setDate(this.value, $g('montha').value, 'arrive'); });	 	 
	$('#dayd').change(function(){ setDate(this.value, $g('monthd').value, 'departure'); });
	$('#montha').change(function(){ var daya = $g('daya').value; checknDays($g('daya'), this.value, localtime); setDate(daya, this.value, 'arrive');  });
	$('#monthd').change(function(){ var dayd = $g('dayd').value; checknDays($g('dayd'), this.value, localtime); setDate(dayd, this.value, 'departure'); });	
	$('#bsearch').click(function(){ submitSearch(); });
});

function readLinkedA(){ 
    $("#linkedDatesA").val($("#daya").val() + '-' + $("#montha").val()); 
    return {};
} 
function readLinkedD() { 
    $("#linkedDatesD").val($("#dayd").val() + '-' + $("#monthd").val());
    return {};
} 
function updateLinkedA(date){ 
	var date = date.split('-');
    $("#daya").val(date[0]); 
    $("#montha").val(date[1] + '-' + date[2]); 
}
function updateLinkedD(date){
	var date = date.split('-');
    $("#dayd").val(date[0]); 
    $("#monthd").val(date[1] + '-' + date[2]); 
}  

function getFromCustomDate(date){
		var dt = date.split('/');	
		return {d:dt[0], my: dt[1] + '-' + dt[2]}
}

function submitSearch(){	
	function getSeconds(date){
		var dt = date.split('/');
		return Date.parse(parseInt(dt[1]) + '/' + parseInt(dt[0]) + '/' + parseInt(dt[2]));
	}
	if(getSeconds($g('arrive').value) >= getSeconds($g('departure').value))
		alert(lang == 'en' ? 'The arrival date is greater than or equal to the departure date, change the dates please' : 'La fecha de llegada es mayor o igual que la fecha de salida, cambie las fechas por favor');
	else if(localtime > getSeconds($g('arrive').value))
		alert(lang == 'en' ? 'The arrival date is smaller than or equal to the now\'s date' : 'La fechad de llegada es menorca o igual a la fecha actual');
	else
		$g('fsearch').submit();
}

function setDate(day, myear, into){
	drest = myear.split('-');
	$g(into).value = day + '/' + drest[0] + '/' + drest[1];
}

function checknDays(control, my, today){
	var date = new Date(today);
	var tmparr = my.split('-');
	var sdate = new Date(tmparr[1], tmparr[0]-1, 32);
	var ndays = 32 - sdate.getDate();
	var noptions = control.options.length;
	if(ndays != noptions){
		if(ndays > noptions){
			for(n = noptions; n <= ndays; n++){
				var option = document.createElement('option');
				option.value = n;
				option.text = n;
				try{
					control.add(option, null);
				}
				catch(ex){
					control.add(option, n);
				}				
			}
		}else{
			for(n = noptions; n >= ndays; n--)
				control.remove(n);
		}
	}
	for(x = 0; x < noptions; x++)
		if(date.getMonth() == sdate.getMonth() && date.getDate() < x) control.opitions[x].disabled = true;
}

