var gDateRegex = /([0-9]{2})\/([0-9]{2})\/([0-9]{4})/;

$(document).ready(function () {
	dhtmlHistory.initialize();
	dhtmlHistory.addListener(fnNavigate);
	var hash = dhtmlHistory.getCurrentHash();
	if (hash != "") {
		fnNavigate(hash, "domready");
	}
	$("#content-travel ul.toptabs a").attr("href", "#").click(function () {
		var _id = this.id.replace("link-travel-", "");
		fnNavigate("t=" + _id, true);
		dhtmlHistory.add("t=" + _id);
		return false;
	});
	$("#form-flight p.submit a.searchbtn").click(function () {
		$("#form-flight").submit();
	});
	$("#form-flight").submit(function () {
		var lc = $("#f-ftxt-to").val();
		var d1 = $("#form-flight [name=d1]").val();
		var d2 = $("#form-flight [name=d2]").val();
		var sw = screen.width;
		var sh = screen.height;
		var cn = "width=" + (sw / 2) + ",height=" + sw;
		if ($("#f-sb-findhotels").attr("checked")) {
			var w1 = window.open("http://www.kayak.com/s/search/hotel?crc=" + lc + "&d1=" + d1 + "&d2=" + d2, "win1", cn);
			//w1.moveTo(0, 0);
		}
		if ($("#f-sb-findcars").attr("checked")) {
			var w2 = window.open("http://www.kayak.com/s/search/car?crc=" + lc + "&d1=" + d1 + "&d2=" + d2, "win2", cn);
			//w2.moveTo(sw / 2, 0);
		}
	});
	$("#form-hotel p.submit a.searchbtn").click(function () {
		$("#form-hotel").submit();
	});
	$("#form-hotel").submit(function () {
		var lc = $("#h-sq-where").val();
		var d1 = $("#h-hd-checkin").val();
		var d2 = $("#h-hd-checkout").val();
		var sw = screen.width;
		var sh = screen.height;
		var cn = "width=" + (sw / 2) + ",height=" + sw;
		if ($("#h-sb-findcar").attr("checked")) {
			var w1 = window.open("http://www.kayak.com/s/search/car?crc=" + lc + "&d1=" + d1 + "&d2=" + d2, "win1", cn);
		}
	});
	$("#form-flight input").keypress(function(e) {
		if (e.which == 13) {
			$("#content-travel form#form-flight").submit();
		}
	});
	$("#form-hotel [name=searchtype]").click(function () {
		var iscity = this.value == "city";
		$("#h-sqp-addr").add("#h-sqp-city").add("#h-l-labels").add("#h-landmarks").css( { display: iscity ? "none" : "block" } );
		$("#h-sqp-where").css( { display: !iscity ? "none" : "block" } )
	});
	$("form#form-car [name=dropoff]").click(function () {
		document.getElementById("c-sq-dropoff").style.display = this.value == "same" ? "none" : "block";
		if (this.value == "same") {
			$("#c-sq-dropoffloc").val("");
		}
	});
	var date_options = {
		changeMonth: false, changeYear: false, closeText: "X", closeAtTop: true, duration: 0, hideIfNoPrevNext: true,
		minDate: new Date(), numberOfMonths: 2, showAnim: "fadeIn", showOn: "focus",
		onSelect: function ( dateText ) {
			var matches = gDateRegex.exec(dateText);
			var datetxt = $.PHPDate("l, M j, Y", new Date(matches[3], parseInt(matches[1] - 1), matches[2]));
			var datediv = "";
			switch (this.id) {
				case "f-td-departdate": datediv = "f-sd-date1"; break;
				case "f-td-returndate": datediv = "f-sd-date2"; break;
				case "h-hd-checkin": datediv = "h-cd-date1"; break;
				case "h-hd-checkout": datediv = "h-cd-date2"; break;
				case "c-rd-pickup": datediv = "c-cd-date1"; break;
				case "c-rd-dropoff": datediv = "c-cd-date2"; break;
			}
			$("#" + datediv).html(datetxt);
		}
	}
	$("#f-td-departdate").add("#f-td-returndate").add("#h-hd-checkin").add("#h-hd-checkout").add("#c-rd-pickup").add("#c-rd-dropoff").datepicker(date_options);
	$("p.traveldates span img").add("p.hoteldates span img").add("p.rentaldates span img").click(function () {
		$(this).parent().prev().focus();
	});
});

function fnNavigate ( hash, historydata ) {
	if (hash == "") {
		return;
	}
	$(".subcontent").hide();
	$("#content-travel .toptabs li").removeClass("selected");
	if (/^t=flight$/.test(hash)) {
		$("#subcontent-travel-flight").show();
		$("#link-travel-flight").parent().addClass("selected");
	} else if (/^t=hotel$/.test(hash)) {
		$("#subcontent-travel-hotel").show();
		$("#link-travel-hotel").parent().addClass("selected");
	} else if (/^t=car$/.test(hash)) {
		$("#subcontent-travel-car").show();
		$("#link-travel-car").parent().addClass("selected");
	}
}