/*
Air plus car splash page javascript
*/

//'Global variable declaration
var strJBaseURL = "travela.priceline.com";

var objDealColId = {
	"air":"deal_air_master"
};

//' Functions

function postTo() {
	var oForm = document.forms["QuickPickAirlines"];
 	var strDate = new String(oForm["airlines_date_departure_CTL"].value);
 	var arrDate = strDate.split("/");
 		oForm["DepartureMonth"].value = (lpad(String(arrDate[0]),1,"0")-1);
		oForm["DepartureDay"].value = String(arrDate[1]);
		oForm["DepartureYear"].value = String(checkTravelYear(arrDate[2]));
 	var strDate = new String(oForm["airlines_date_return_CTL"].value);
 	var arrDate = strDate.split("/");
 		oForm["ReturnMonth"].value = (lpad(String(arrDate[0]),1,"0")-1);
 		oForm["ReturnDay"].value = String(arrDate[1]);
 		oForm["ReturnYear"].value = String(checkTravelYear(arrDate[2]));

	oForm.submit();
}

function checkTravelYear(vYear){
	var intYear = parseInt("0" + String(vYear),10);
	if(intYear < 100) {intYear += 2000;}
	return(intYear);
}

function lpad(n, len, ch) {
	var s = new String(n);
	while (s.length < len) s = ch + s;
	return s;
}

function openWindow(url, name, rs, w, h){
	var resize = "";
	if (rs)	resize = "resizable,";
	popupWin = window.open(url, name, 'scrollbars,' + resize + 'width=' + w + ',height=' + h);
	window.name = 'opener';
}

function switchDealForm(strProduct,idxDeal,strParams) {
	var strTargetColId = "deal_col_"+strProduct+idxDeal;
	if (objDealColId[strProduct] == strTargetColId) {
		strTargetColId = "deal_" +strProduct + "_master";
	}
	var objSourceCol = document.getElementById(objDealColId[strProduct]);
	var objSourceDealInfo = document.getElementById(objDealColId[strProduct]+"_info");
	var objTargetCol = document.getElementById(strTargetColId);
	var objTargetDealInfo = document.getElementById(strTargetColId+"_info");

	objSourceCol.className = "nopads";
	objSourceCol.setAttribute("class","nopads");
	objSourceDealInfo.className = "";
	objSourceDealInfo.setAttribute("class","");
	
	
	objTargetCol.innerHTML = objSourceCol.innerHTML;
	objSourceCol.innerHTML = "";
	objDealColId[strProduct] = strTargetColId;
	
	var objDealForm = document.getElementById("form_" +strProduct + "_deal");
	objDealForm.reset();
	var arrParams = strParams.split("|");
	switch(strProduct) {
		case "air":
			// "origin|destnation"
			objDealForm["OFFER/AIRLINE_TICKET/LOCATION[0]/CITY/NAME"].value = arrParams[0];
			objDealForm["OFFER/AIRLINE_TICKET/LOCATION[1]/CITY/NAME"].value = arrParams[1];
		break;
		case "htl":
			// "destination|starlevel"
			objDealForm["OFFER/HOTELS/@SEARCH_CITY"].value = arrParams[0];
			objDealForm["starRating"].value = arrParams[1];
		break;
		case "car":
			// "destination|vehicle class"
			objDealForm["offer/rental_cars/temp/CitySearch/PickUpSearchAirportString"].value = arrParams[0];
			objDealForm["offer/rental_cars/vehicle_class"].value = arrParams[1];
		break;
		default:
		
		break;
	}

	objTargetCol.className = "bookingDrop";
	objTargetCol.setAttribute("class","bookingDrop");
	objTargetDealInfo.className = "expanded";
	objTargetDealInfo.setAttribute("class","expanded");
	

	runZapatecJSCode(objTargetCol.innerHTML);
}


// This is to extract the in-line javascript code required for the new Zapatec calendars to work
function runZapatecJSCode(contents) {
	var arr1 = contents.split("GCA");
	for (var i=0; i < arr1.length; i++) {
		var strFoo = String(arr1[i]);
		
		if (strFoo.indexOf("GCZ") > -1) {
			var arr2 = strFoo.split("//GCZ");
			var strScript = String(arr2[0]);
			eval(strScript);
		}
	}
}

function promoSubmitForm(productForm) {
	var strFormId = "form_" +productForm;
	var objForm = document.getElementById(strFormId);

	var promoInternalRefId = objForm["PROMO_INTERNAL_REF_ID"].value;
	var promoInternalRefClickId = objForm["PROMO_INTERNAL_REF_CLICK_ID"].value;

	var actionBase = "";
	
	//NEW -- stanardized calendar fields, custom split inputs
	splitDates(productForm);
	
	actionBase = "/travel/airlines/lang/en-us/itinerary.asp";

	var urlParts = actionBase.split("?");
	var baseURL = urlParts[0];
	var qs = String(urlParts[1]).replace("undefined","");
	
	// Check for a trailing '&'
	if (qs.length > 1 && qs.substr(qs.length-1) != "&") {
		qs += "&";
	}
	
	// Assemble final action URL
	objForm.action = baseURL + "?" + qs + "irefid=" + promoInternalRefId + "&irefclickid=" + promoInternalRefClickId;
		
	objForm.submit();

}

function splitDates(productForm) {
	//NEW -- stanardized calendar fields, custom split inputs
	var strFormId = "form_" +productForm;
	var strStartDateId = "cal_start_" +productForm + "_ctl";
	var strEndDateId = "cal_end_" +productForm + "_ctl";
	var objDateForm = document.getElementById(strFormId)
	var strStartDate = objDateForm[strStartDateId].value;
	var strEndDate = objDateForm[strEndDateId].value;

	var arrDateFields = {
		"air_deal":["DepartureMonth","DepartureDay","DepartureYear","ReturnMonth","ReturnDay","ReturnYear"],
		"air_opq":["DepartureMonth","DepartureDay","DepartureYear","ReturnMonth","ReturnDay","ReturnYear"]
	};
	
	var arrDate = strStartDate.split("/");
	objDateForm[arrDateFields[productForm][0]].value = (lpad(String(arrDate[0]),1,"0"));
	objDateForm[arrDateFields[productForm][1]].value = String(arrDate[1]);
	objDateForm[arrDateFields[productForm][2]].value = String(checkTravelYear(arrDate[2]));
	var arrDate = strEndDate.split("/");
	objDateForm[arrDateFields[productForm][3]].value = (lpad(String(arrDate[0]),1,"0"));
	objDateForm[arrDateFields[productForm][4]].value = String(arrDate[1]);
	objDateForm[arrDateFields[productForm][5]].value = String(checkTravelYear(arrDate[2]));
	
	//' Fix for zero-based month
	if ((productForm.indexOf("air") > -1) || (productForm.indexOf("apc") > -1) || (productForm.indexOf("vac") > -1)) {
		objDateForm[arrDateFields[productForm][0]].value -= 1;
		objDateForm[arrDateFields[productForm][3]].value -= 1;
	}
	
}

function submitITLink() {
	var objITForm = document.getElementById("it_form");
	var strRefid = (objITForm["refid"].value !="" ? objITForm["refid"].value:"");
	if ((objITForm["directionFrom"].value != "") && (objITForm["directionTo"].value != "")) {
		objITForm.action = "http://" + strJBaseURL + "/insideTrack/flights/" +objITForm["directionFrom"].value + "-" + objITForm["directionTo"].value + ".html" + strRefid;
		objITForm.submit();
	}
}
