var sUrl = site_url+"ajax_files/show_locations.inc.php";

var handleSuccessState = function(o){
	if(o.responseText !== undefined){
		document.getElementById('substate_id').innerHTML = '';
		if(o.responseText.indexOf('<select') > -1){
			document.getElementById('state_id').innerHTML = o.responseText;
			Show('state_id');
			Hide('substate_id');
			Hide('city_id');
			showSelSubStates();
		}
		else{
			document.getElementById('state_id').innerHTML = '';
			Hide('state_id');
			Hide('substate_id');
			Hide('city_id');
			showSelSubStates(o.responseText);
		}
	}
};

var callbackState =
{
	success:handleSuccessState,
	argument:[]
};

function showSelStates(){
	var country_sel = document.forms[0].country_id;
	var country_id = country_sel.options[country_sel.selectedIndex].value;
	if(country_id){
		var postData = 'type=state&country_id='+country_id;
		YAHOO.util.Connect.initHeader('If-Modified-Since', 'Wed, 15 Nov 1995 00:00:00 GMT');
		var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callbackState, postData);
	}
	else{
		Hide('state_id');
		Hide('substate_id');
		Hide('city_id');
	}
}

var handleSuccessSubState = function(o){
	if(o.responseText !== undefined){
		document.getElementById('city_id').innerHTML = '';
		if(o.responseText.indexOf('<select') > -1){
			document.getElementById('substate_id').innerHTML = o.responseText;
			Show('substate_id');
			Hide('city_id');
			showSelCities();
		}
		else{
			document.getElementById('substate_id').innerHTML = '';
			Hide('substate_id');
			Hide('city_id');
			showSelCities(o.responseText);
		}
	}
};

var callbackSubState =
{
	success:handleSuccessSubState,
	argument:[]
};

function showSelSubStates(state_id){
	if(!state_id){
		var state_sel = document.forms[0].state_id;
		var state_id = state_sel.options[state_sel.selectedIndex].value;
	}
	if(state_id){
		var postData = 'type=substate&state_id='+state_id;
		YAHOO.util.Connect.initHeader('If-Modified-Since', 'Wed, 15 Nov 1995 00:00:00 GMT');
		var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callbackSubState, postData);
	}
	else{
		Hide('substate_id');
		Hide('city_id');
	}
}


var handleSuccessCity = function(o){
	if(o.responseText !== undefined){
		if(o.responseText.indexOf('<select') > -1){
			document.getElementById('city_id').innerHTML = o.responseText;
			Show('city_id');
		}
		else{
			Hide('city_id');
		}
	}
};

var callbackCity =
{
	success:handleSuccessCity,
	argument:[]
};

function showSelCities(substate_id){
	if(!substate_id){
		var substate_sel = document.forms[0].substate_id;
		var substate_id = substate_sel.options[substate_sel.selectedIndex].value;
	}

	if(substate_id){
		var postData = 'type=city&substate_id='+substate_id;
		YAHOO.util.Connect.initHeader('If-Modified-Since', 'Wed, 15 Nov 1995 00:00:00 GMT');
		var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callbackCity, postData);
	}
	else{
		Hide('city_id');
	}
}
YAHOO.util.Event.addListener(window, 'load', showSelStates());

function Show(elem_id){
	document.getElementById(elem_id).style.visibility = 'visible';
	document.getElementById(elem_id).style.display = 'block';
}
function Hide(elem_id){
	document.getElementById(elem_id).style.visibility = 'hidden';
	document.getElementById(elem_id).style.display = 'none';
}

YAHOO.util.Event.onDOMReady(function () {
	YAHOO.namespace("example.calendar");
	function onButtonClick1() {
		//alert(YAHOO.util.Dom.get("check_in").value);
		oCalendarMenu1.setBody("&#32;");
		oCalendarMenu1.body.id = "calendarcontainer1";
		oCalendarMenu1.render(this.get("container"));
		oCalendarMenu1.align();

		YAHOO.example.calendar.cal1 = new YAHOO.widget.Calendar("buttoncalendar1", oCalendarMenu1.body.id);
		YAHOO.example.calendar.cal1.cfg.setProperty('minDate',new Date());

		var current_date = new Date(YAHOO.util.Dom.get("check_in").value);
		if(!isNaN(current_date)) {
			YAHOO.example.calendar.cal1.select(current_date);
			YAHOO.example.calendar.cal1.cfg.setProperty("pagedate", (current_date.getMonth()+1) + "/" + current_date.getFullYear());
		}

		YAHOO.example.calendar.cal1.render();
		YAHOO.example.calendar.cal1.changePageEvent.subscribe(function () {
			window.setTimeout(function () {
				oCalendarMenu1.show();
			}, 0);
		});

		YAHOO.example.calendar.cal1.selectEvent.subscribe(function (p_sType, p_aArgs) {
			var aDate;
			if (p_aArgs) {
				aDate = p_aArgs[0][0];
				var dStr = aDate[2];
				var mStr = aDate[1];
				var yStr = aDate[0];
				dStr = dStr.toString();
				mStr = mStr.toString();
				if(dStr.length < 2) {
					dStr = '0' + dStr;
				}
				if(mStr.length < 2) {
					mStr = '0' + mStr;
				}

				YAHOO.util.Dom.get("check_in").value = mStr+'/'+dStr+'/'+yStr;
				var check_in_date = new Date (mStr+'/'+dStr+'/'+yStr);
				var check_out_date = new Date (YAHOO.util.Dom.get("check_out").value);
				if(isNaN(check_out_date) || check_out_date<check_in_date) {
					var checkout_date_update = new Date (check_in_date.getTime() + 86400000);

					var tmp_year = checkout_date_update.getFullYear();
					var tmp_month = checkout_date_update.getMonth()+1;
					tmp_month = tmp_month.toString();
					if(tmp_month.length < 2) {
						tmp_month = '0' + tmp_month;
					}
					var tmp_day = checkout_date_update.getDate();
					tmp_day = tmp_day.toString();
					if(tmp_day.length < 2) {
						tmp_day = '0' + tmp_day;
					}

					YAHOO.util.Dom.get("check_out").value = tmp_month+'/'+tmp_day+'/'+tmp_year;
				}
			}
			oCalendarMenu1.hide();
		});
		//this.unsubscribe("click", onButtonClick1);
	}

	function onButtonClick2() {
		oCalendarMenu2.setBody("&#32;");
		oCalendarMenu2.body.id = "calendarcontainer2";
		oCalendarMenu2.render(this.get("container"));
		oCalendarMenu2.align();

		YAHOO.example.calendar.cal2 = new YAHOO.widget.Calendar("buttoncalendar2", oCalendarMenu2.body.id);

		var current_date = new Date(YAHOO.util.Dom.get("check_out").value);
		if(!isNaN(current_date)) {
			YAHOO.example.calendar.cal2.select(current_date);
			YAHOO.example.calendar.cal2.cfg.setProperty("pagedate", (current_date.getMonth()+1) + "/" + current_date.getFullYear());
		}

		var check_in_date = new Date (YAHOO.util.Dom.get("check_in").value);
		if(isNaN(check_in_date)) {
			YAHOO.example.calendar.cal2.cfg.setProperty('minDate',new Date());
		}
		else {
			YAHOO.example.calendar.cal2.cfg.setProperty('minDate',new Date(check_in_date.getTime()));
		}

		YAHOO.example.calendar.cal2.render();
		YAHOO.example.calendar.cal2.changePageEvent.subscribe(function () {
			window.setTimeout(function () {
				oCalendarMenu2.show();
			}, 0);
		});

		YAHOO.example.calendar.cal2.selectEvent.subscribe(function (p_sType, p_aArgs) {
			var aDate;
			if (p_aArgs) {
				aDate = p_aArgs[0][0];
				var dStr = aDate[2];
				var mStr = aDate[1];
				var yStr = aDate[0];
				dStr = dStr.toString();
				mStr = mStr.toString();
				if(dStr.length < 2) {
					dStr = '0' + dStr;
				}
				if(mStr.length < 2) {
					mStr = '0' + mStr;
				}

				//var check_in_date = new Date (YAHOO.util.Dom.get("check_in").value);
				var check_out_date = new Date (mStr+'/'+dStr+'/'+yStr);
				if (!isNaN(check_in_date) && check_out_date <= check_in_date) {
					var checkout_date_update = new Date (check_in_date.getTime());

					var tmp_year = checkout_date_update.getFullYear();
					var tmp_month = checkout_date_update.getMonth()+1;
					tmp_month = tmp_month.toString();
					if(tmp_month.length < 2) {
						tmp_month = '0' + tmp_month;
					}
					var tmp_day = checkout_date_update.getDate();
					tmp_day = tmp_day.toString();
					if(tmp_day.length < 2) {
						tmp_day = '0' + tmp_day;
					}

					YAHOO.util.Dom.get("check_out").value = tmp_month+'/'+tmp_day+'/'+tmp_year;
				}
				else {
					YAHOO.util.Dom.get("check_out").value = mStr+'/'+dStr+'/'+yStr;
				}
			}
			oCalendarMenu2.hide();
		});
		//this.unsubscribe("click", onButtonClick2);
	}

	var oCalendarMenu1 = new YAHOO.widget.Overlay("calendarmenu");
	var oCalendarMenu2 = new YAHOO.widget.Overlay("calendarmenu");

	var oButton1 = new YAHOO.widget.Button({
		type: "menu",
		id: "calendarpicker1",
		label: "Choose A Date",
		menu: oCalendarMenu1,
		container: "check_in_container" });

		oButton1.on("click", onButtonClick1);

		var oButton2 = new YAHOO.widget.Button({
			type: "menu",
			id: "calendarpicker2",
			label: "Choose A Date",
			menu: oCalendarMenu2,
			container: "check_out_container" });

			oButton2.on("click", onButtonClick2);


});