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 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 showtab(tabID) {
	cLayer = document.all[tabID];
	cLayer.style.display='block';
}
function hidetab(tabID) {
	cLayer = document.all[tabID];
	cLayer.style.display='none';
}
function selTab(tabID) {
	var sTabs = String("US|CN|EU|CB|MX").split("|");
	if (tabID=='US') 
		showtab('addRC');
	else
		hidetab('addRC');
	for (var i=0; i<sTabs.length; i++) {
		if (sTabs[i]==tabID) {
			showtab(tabID+"Tab");
			showtab(tabID+"Data");
		} else {
			hidetab(sTabs[i]+"Tab");
			hidetab(sTabs[i]+"Data");
		}
	}
}
function clearTabSearchBox(strForm,CLT_Name) {
	eval("document.all['" + String(strForm) + "']['" + CLT_Name + "'].value=''");
}

function clearTabSearchRadio(CLT_Name) {
	var lCnt = eval("document.all['" + CLT_Name + "']").length;
	for (var ii=0; ii<lCnt; ii++)
		eval("document.all['" + CLT_Name + "']["+ii+"].checked=false");
}

function postTo(strProduct, strRegion, Loc_CTL, Loc_CTL_type,submitUrl) {
	var oForm = document.forms["QuickPick" + strRegion + strProduct];
	if(oForm["blnShowNonDHTMLTabs"].value == "false") {// only use for processing DHTML calendar dates
		var strDate = new String(oForm["vacation_date_departure_CTL_" + strRegion].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["vacation_date_return_CTL_" + strRegion].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]));
	}//end if blnShowNonDHTMLTabs is false
	if(String(Loc_CTL) != ""){
		var strSCText = "";
		if(Loc_CTL_type == "dropdown") {	// dropdown
		var intSCTextIndex = oForm[Loc_CTL + "_Text"].selectedIndex;
		strSCText = oForm[Loc_CTL + "_Text"][intSCTextIndex].value
		oForm[Loc_CTL].value = strSCText;
		} else {	// text
		strSCText = oForm[Loc_CTL +"_Text"].value
		}//end if for dropdown	
		if (strSCText != ""){
			oForm[Loc_CTL].value = strSCText;
		}
		else{
			var intRadioLen =  oForm[Loc_CTL +"_Radio"].length;
			for(var i = 0;i<intRadioLen;i++) { 
				if(oForm[Loc_CTL + "_Radio"][i].checked == true) {
					oForm[Loc_CTL].value = oForm[Loc_CTL + "_Radio"][i].value;
					break;
				} // end if for checked radio button	
			} //end of Radio button for loop
		} //end of else clause to read Radios
	} // end if for Loc_CTL exist 
	//alert("postTo: form action = " + oForm.action);
	oForm.action=submitUrl;
	oForm.submit();
}

var strMerchASPBase = "http://www.priceline.com/";

function merchSearchSubmit(productForm) {
	var strFormId = "merch_form_" +productForm;
	var objForm = document.forms[strFormId];
	
	var promoInternalRefId = objForm["PROMO_INTERNAL_REF_ID"].value;
	var promoInternalRefClickId = objForm["PROMO_INTERNAL_REF_CLICK_ID"].value;

	var actionBase = "";
	
	//NEW -- standardized calendar fields, custom split inputs
	splitDates(productForm);
	
	switch(productForm) {
		case "air_rtl":
			actionBase = strMerchASPBase +"travel/airlines/lang/en-us/itinerary.asp";
		break;
		case "htl_rtl":
			objForm.checkInDate.value = objForm["cal_start_htl_rtl_ctl"].value;
			objForm.checkOutDate.value = objForm["cal_end_htl_rtl_ctl"].value;
			actionBase = strMerchASPBase +"hotels/lang/en-us/itinerary.asp";
		break;
		case "car_rtl":
			actionBase = strMerchASPBase +"qp.asp?productid=8&OMC=O";
		break;
		case "vac_rtl":
			actionBase = strMerchASPBase +"vacations/lang/en-us/vacations_ver.asp";
		break;
		case "apc_rtl":
			actionBase = strMerchASPBase +"travel/airlines/lang/en-us/itinerary.asp";
		break;
		case "air_opq":
			actionBase = strMerchASPBase +"travel/airlines/lang/en-us/itinerary.asp";
		break;
		case "htl_opq":
			objForm.checkInDate.value = objForm["cal_start_htl_opq_ctl"].value;
			objForm.checkOutDate.value = objForm["cal_end_htl_opq_ctl"].value;
			actionBase = strMerchASPBase +"hotels/lang/en-us/itinerary.asp";
		break;
		case "car_opq":
			actionBase = strMerchASPBase +"qp.asp?productid=8&OMC=O";
		break;
		default:
			break;
	}
			

	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 = "merch_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_rtl":["DepartureMonth","DepartureDay","DepartureYear","ReturnMonth","ReturnDay","ReturnYear"],
		"htl_rtl":["CkInMonth","CkInDay","CkInYear","CkOutMonth","CkOutDay","CkOutYear"],
		"car_rtl":["OFFER/RENTAL_CARS/PICKUP/MONTH","OFFER/RENTAL_CARS/PICKUP/DAY","OFFER/RENTAL_CARS/PICKUP/YEAR","OFFER/RENTAL_CARS/DROPOFF/MONTH","OFFER/RENTAL_CARS/DROPOFF/DAY","OFFER/RENTAL_CARS/DROPOFF/YEAR"],
		"vac_rtl":["DepartureMonth","DepartureDay","DepartureYear","ReturnMonth","ReturnDay","ReturnYear"],
		"apc_rtl":["DepartureMonth","DepartureDay","DepartureYear","ReturnMonth","ReturnDay","ReturnYear"],
		"air_opq":["DepartureMonth","DepartureDay","DepartureYear","ReturnMonth","ReturnDay","ReturnYear"],
		"htl_opq":["CkInMonth","CkInDay","CkInYear","CkOutMonth","CkOutDay","CkOutYear"],
		"car_opq":["OFFER/RENTAL_CARS/PICKUP/MONTH","OFFER/RENTAL_CARS/PICKUP/DAY","OFFER/RENTAL_CARS/PICKUP/YEAR","OFFER/RENTAL_CARS/DROPOFF/MONTH","OFFER/RENTAL_CARS/DROPOFF/DAY","OFFER/RENTAL_CARS/DROPOFF/YEAR"]
	};
	
	var arrStartDate = strStartDate.split("/");
	objDateForm[arrDateFields[productForm][0]].value = (lpad(String(arrStartDate[0]),1,"0"));
	objDateForm[arrDateFields[productForm][1]].value = String(arrStartDate[1]);
	objDateForm[arrDateFields[productForm][2]].value = String(checkTravelYear(arrStartDate[2]));
	var arrEndDate = strEndDate.split("/");
	objDateForm[arrDateFields[productForm][3]].value = (lpad(String(arrEndDate[0]),1,"0"));
	objDateForm[arrDateFields[productForm][4]].value = String(arrEndDate[1]);
	objDateForm[arrDateFields[productForm][5]].value = String(checkTravelYear(arrEndDate[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;
	}
	
}
