YAHOO.namespace("clearskys.enquiry");

var csacal, csarendered = false; 
var csdcal, csdrendered = false;

YAHOO.clearskys.enquiry.updatearrivalcal = function(e) {
	var selDay = document.getElementById("arrivaldateday");
	var selMon = document.getElementById("arrivaldatemonth");
	var ayear = selMon.options[selMon.selectedIndex].value;
	var amonth = ayear.substr(5,2);
	ayear = ayear.substr(0,4);
	var aday = selDay.options[selDay.selectedIndex].value;
	
	if (! isNaN(amonth) && ! isNaN(aday) && ! isNaN(ayear)) { 
		var csadate = amonth + '/' + aday + '/' + ayear;
		csacal.select(csadate);
		csacal.setMonth(amonth-1);
		csacal.setYear(ayear);
		csacal.render();
	}
}

YAHOO.clearskys.enquiry.updatedeparturecal = function(e) {
	var selDay = document.getElementById("departuredateday");
	var selMon = document.getElementById("departuredatemonth");
    var ayear = selMon.options[selMon.selectedIndex].value;
	var amonth = ayear.substr(5,2);
	ayear = ayear.substr(0,4);
	var aday = selDay.options[selDay.selectedIndex].value;
	
	if (! isNaN(amonth) && ! isNaN(aday) && ! isNaN(ayear)) { 
		var csddate = amonth + '/' + aday + '/' + ayear;
		csdcal.select(csddate);
		csdcal.setMonth(amonth-1);
		csdcal.setYear(ayear);
		csdcal.render();
	}  
}

YAHOO.clearskys.enquiry.showarrivalcal = function(e) {
	if(csacal.oDomContainer.style.display=='block') 
	{ csacal.hide(); } else 
	{
		if(YAHOO.util.Dom.inDocument('departuredateshow')) {
			csdcal.hide();
		}
		var alink = document.getElementById("arrivaldateshow");
		csacal.oDomContainer.style.display='block';
		var pos = YAHOO.util.Dom.getXY(alink);
		YAHOO.util.Dom.setXY(csacal.oDomContainer, [pos[0],pos[1]+alink.offsetHeight+1]);
		if(!csarendered) {csacal.render(); csarendered = true; }
	}
}

YAHOO.clearskys.enquiry.showdeparturecal = function(e) {
	if(csdcal.oDomContainer.style.display=='block') 
	{ csdcal.hide(); } else 
	{
		if(YAHOO.util.Dom.inDocument('arrivaldateshow')) {
			csacal.hide();
		}
		var dlink = document.getElementById("departuredateshow");
		csdcal.oDomContainer.style.display='block';
	    var pos = YAHOO.util.Dom.getXY(dlink);
		YAHOO.util.Dom.setXY(csdcal.oDomContainer, [pos[0],pos[1]+dlink.offsetHeight+1]);
		if(!csdrendered) {csdcal.render(); csdrendered = true; }
	}
}

YAHOO.clearskys.enquiry.arrivalSelect = function(type,args,obj) {
	obj.hide();
	var dates = args[0];
	var date = dates[0];
	var selDay = document.getElementById("arrivaldateday");
	var selMon = document.getElementById("arrivaldatemonth");
	selDay.selectedIndex = date[2] - 1;
	var amonth = date[1].toString();
	if(amonth.length == 1) {
		var ayear = date[0] + "-0" + amonth;
	} else {
		var ayear = date[0] + "-" + amonth;
	}
	for (y=0;y<selMon.options.length;y++) {
		if (selMon.options[y].value == ayear) {
			selMon.selectedIndex = y;
			break;
		}
	}
}

YAHOO.clearskys.enquiry.departureSelect = function(type,args,obj) {
	obj.hide();
	var dates = args[0];
	var date = dates[0];
	var selDay = document.getElementById("departuredateday");
	var selMon = document.getElementById("departuredatemonth");
	selDay.selectedIndex = date[2] - 1;
	var amonth = date[1].toString();
	if(amonth.length == 1) {
		var ayear = date[0] + "-0" + amonth;
	} else {
		var ayear = date[0] + "-" + amonth;
	}
	for (y=0;y<selMon.options.length;y++) {
		if (selMon.options[y].value == ayear) {
			selMon.selectedIndex = y;
			break;
		}
	}
}



YAHOO.clearskys.enquiry.submitform = function(e) {
	YAHOO.util.Event.stopEvent(e);
	
	var submitcallback = {
		success: function(o) {
				if(o.responseText != '') {
					YAHOO.util.Dom.get('csenquiryform').innerHTML = o.responseText;
					YAHOO.util.Event.removeListener("enqform","submit",YAHOO.clearskys.enquiry.submitform);
					YAHOO.clearskys.enquiry.setupcalendar();
				}
				YAHOO.util.Dom.get('csloadingbox').style.visibility = 'hidden';
				},
		failure: function(o) { alert(o.statusText); }
	};
	
	YAHOO.util.Connect.setForm("enqform");
	cpage = window.location.href;
	cpageuri = 'call=ajax&action=_csformsubmit';
	cpageuri += '&nocache=' + new Date().getTime();
	(cpage.indexOf('?') !=-1) ? cpage = cpage + '&' + cpageuri : cpage = cpage + '?' + cpageuri;
	YAHOO.util.Dom.get('csloadingbox').style.visibility = 'visible';
	var cObj = YAHOO.util.Connect.asyncRequest('POST', cpage, submitcallback);
}

YAHOO.clearskys.enquiry.setupcalendar = function() {
	
	var today = new Date();
	var enddate = new Date();
	enddate.setDate(enddate.getDate()+700);
	if(YAHOO.util.Dom.inDocument('arrivaldateshow')) {
   		YAHOO.util.Event.addListener("arrivaldateshow", "click", YAHOO.clearskys.enquiry.showarrivalcal);
		YAHOO.util.Event.addListener(["arrivaldateday","arrivaldatemonth"], "change", YAHOO.clearskys.enquiry.updatearrivalcal);
   		csacal = new YAHOO.widget.CalendarGroup("arrivalcal","cal1Container");
   		YAHOO.clearskys.enquiry.updatearrivalcal();
      	csacal.oDomContainer.style.display = 'none';
   		csacal.oDomContainer.style.position = 'absolute';
   		csacal.oDomContainer.style.zIndex = '99';
   		csacal.selectEvent.subscribe(YAHOO.clearskys.enquiry.arrivalSelect, csacal, true);
   	}
   	if(YAHOO.util.Dom.inDocument('departuredateshow')) {
   		YAHOO.util.Event.addListener("departuredateshow", "click", YAHOO.clearskys.enquiry.showdeparturecal);
		YAHOO.util.Event.addListener(["departuredateday","departuredatemonth"], "change", YAHOO.clearskys.enquiry.updatedeparturecal); 
   		csdcal = new YAHOO.widget.CalendarGroup("departurecal","cal2Container");
   		YAHOO.clearskys.enquiry.updatedeparturecal();
   		csdcal.oDomContainer.style.display = 'none';
   		csdcal.oDomContainer.style.position = 'absolute';
   		csdcal.oDomContainer.style.zIndex = '99';
   		csdcal.selectEvent.subscribe(YAHOO.clearskys.enquiry.departureSelect, csdcal, true);
   	}
   	YAHOO.util.Event.addListener("enqform","submit",YAHOO.clearskys.enquiry.submitform);
}

//YAHOO.util.Event.addListener(window,"load", YAHOO.clearskys.enquiry.setupcalendar);
