//start new script code
try{
		YAHOO.namespace("example.calendar");
		var htlDoaCal;
		var htlDodCal;
		var calArray = new Array(); // store calendar objects for use to show calendar.
}
catch(e){};

function initCal() {
	htlDoaCal = new WCT.calendar("htlDoaCal","cal1Container","calendarBoxArrive","chk_in","DOA");		 
	htlDodCal = new WCT.calendar("htlDodCal","cal2Container","calendarBoxDepart","chk_out","DOD");
 	htlDoaCal.addLinkedCal(htlDodCal);
	htlDodCal.addLinkedCal(htlDoaCal);	
	htlDoaCal.position("relative");
	htlDodCal.position("relative");
	calArray.push(htlDoaCal);
	calArray.push(htlDodCal);
}

//IE BACKGROUND IMAGE FLICKER FIX
	try {
		document.execCommand( "BackgroundImageCache", false, true );
	} catch( e ) { };
		

// Checks if browser is Netscape 2.0x since the options array properties don't work with Netscape 2.0x
function isBrowserSupp() {
    // Get the version of the browser
    version =  parseFloat( navigator.appVersion );

    if ( ( version >= 2.0 ) && ( version < 2.1 ) && ( navigator.appName.indexOf( "Netscape" ) != -1 ) ) {
        return false;
    }
    else {
		return true;
    }
	
	return true;
}

function isLeapYear(yrStr) {
	var leapYear=false;
	var year = parseInt(yrStr, 10);
	// every fourth year is a leap year
	if (year%4 == 0) {
	    leapYear=true;
		// unless it's a multiple of 100
	    if (year%100 == 0) {
	        leapYear=false;
		    // unless it's a multiple of 400
			if (year%400 == 0) {
	            leapYear=true;
            }
        }
    }
	return leapYear;
}

function getDaysInMonth(mthIdx, YrStr) {
	// all the rest have 31
	var maxDays=31
	// expect Feb. (of course)
	if (mthIdx==1) {
	    if (isLeapYear(YrStr)) {
	        maxDays=29;
        } else {
	        maxDays=28;
        }
    }
	// thirty days hath...
	if (mthIdx==3 || mthIdx==5 || mthIdx==8 || mthIdx==10) {
	    maxDays=30;
    }
	return maxDays;
}

function getYear(mthIdx){
	var today = new Date()
	var theYear = parseInt(today.getYear(),10)
	
	if (mthIdx < today.getMonth()) {
		theYear = (parseInt(today.getYear(), 10) + 1)
	}
	if(theYear<100){
		theYear = "19" + theYear
	} else {
		if((theYear-100) < 10){
			theYear = "0" + (theYear-100)
		} else {
			theYear = (theYear-100)+""
		}
		theYear = "20" + theYear
	}
	return theYear;
}

//the function which does some magic to the date fields
// return non-zero if it is the last day of the month
function adjustDate(mthIdx, Dt) {
	var value=0;
	var today = new Date()
	var theYear = parseInt(today.getYear(),10)

	if (mthIdx < today.getMonth()) {
		theYear = (parseInt(today.getYear(), 10) + 1)
	}
	if(theYear<100) {
	    theYear = "19" + theYear
	} else {
	    if((theYear-100) < 10){
		    theYear = "0" + (theYear-100)
	    } else {
	        theYear = (theYear-100)+""
		}
	    theYear = "20" + theYear
	}
	
	var numDays=getDaysInMonth(mthIdx, theYear);

	if (mthIdx==1) {
	    if (Dt.options.selectedIndex + 1 < numDays) {
	        return 0;
        } else {
	        Dt.options.selectedIndex=numDays - 1;
		    //check for leap year
			if (numDays==29) {
	            return 99;
            } else {
	            return 1;
            }
        }
    }
	
	if (Dt.options.selectedIndex + 1 < numDays) {
	    value=0;
    } else {
	    if (Dt.options.selectedIndex + 1 > numDays) {
	        Dt.options.selectedIndex--;
		    value=3;
        } else {
	        //index is 31 or 30
		    value=2;
        }
    }
	return value;
}

function changeOptionDate(inM,inD) {
	// Dynamically add/remove dates according to the selected month
	var o_days = new Array(31, ((getYear(inM.options.selectedIndex) % 4 == 0 && getYear(inM.options.selectedIndex) % 100 != 0) || getYear(inM.options.selectedIndex) % 400 == 0 ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); // Set the days for each month

	if (inD.options.length >o_days[inM.options.selectedIndex]) {
		for (var i = 31; i >= o_days[inM.options.selectedIndex]; i--) {
			inD.options[i] = null;
		}
	}
	if (inD.options.length <o_days[inM.options.selectedIndex]) {
		for (var i = inD.options.length+1; i <=o_days[inM.options.selectedIndex]; i++) {
			inD.options[i-1] = new Option(i,i);
		}
	}
}
						  
//changes departure month when arrival month is changed
function amadChange(inM,inD,outM,outD) {
	
	if (!isBrowserSupp()) {
	    return;
    }

	changeOptionDate(inM,inD);
	var res = adjustDate(inM.options.selectedIndex, inD);
	if (res != 0) {
	    outD.options.selectedIndex=0;

		if (outM.options.selectedIndex==11) {
            outM.options.selectedIndex=0
        } else {
            outM.options.selectedIndex=inM.options.selectedIndex + 1;
        }
    } else {
		outM.options.selectedIndex = inM.options.selectedIndex;
	    outD.options.selectedIndex = inD.options.selectedIndex+1;
    }
	return;
}

function dmddChange(outM,outD) {
	
	if (!isBrowserSupp()) {
	    return;
    }

	adjustDate(outM.options.selectedIndex,outD);
	return;
}

function varNewWindow(url, width, height) {
	var w = 800, h = 600; // Assume

	if (document.all || document.layers) {
		w = screen.availWidth;
		h = screen.availHeight;
	}

	if (width == null) {
		width = 450;
	}

	if (height == null) {
		height = 350;
	}

	var leftPos = (w-width)/2, topPos = (h-height)/2;

	var win = window.open('', '', "resizable=1,toolbar=0,status=0,scrollbars=1,width=" + width + ",height=" + height + ",top=" + topPos + ",left=" + leftPos);
	win.focus();
//	win.document.write('<HTML><BODY bgcolor="#FFFFFF"><TABLE border=0 width="100%" height="100%"><TR><TD width="100%" height="100%" align=center valign=middle><font FACE="Verdana, Arial, MS Sans Serif, Helvetica, Geneva" size="-1"><B>Just a moment...</B><BR>&nbsp;</FONT></TD></TR></TABLE></BODY></HTML>');

	win.location.href = url;
}

function newWindow(url) {
	
	urlWindow = window.open(url, 'AirportCodes', 'width=450,height=350');
	urlWindow.focus;
}

function setRadioBtn (theForm,radioObjName,valOfBtnToSet) {
	for (var i = 0; i < theForm[radioObjName].length; i++) {
		if (theForm[radioObjName][i].value == valOfBtnToSet) theForm[radioObjName][i].checked=true;
	}
}

function reload_page() {
	var newWin = window.location;
	var url = newWin.search;
	var queryString = url.substring(url.indexOf('?')+1);
	var params = queryString.split('&');
	var newURL;

	//populate the array with keys & values
	for (var i=0; i<params.length; i++) {
		var key = params[i].substring(0,params[i].indexOf('='));
		var value = params[i].substring(params[i].indexOf('=')+1);
		if ((key == 'clear_cache' && (value == 'Y' || value == 'N' || value == ''))) {
			var myBoolean = 1;
		}
	}
	
	if (myBoolean != 1) {  
		newURL = newWin.href + "&clear_cache=Y";
	} else {
		newURL = newWin.href;
	}
	newWin.replace(newURL);
}

//new power search javascript code

var currentPaneStyle = 0;
var currentTab = 0;

function tabstrip() {
   this.tabs = new Array();
   this.add = addTab;
   this.write = writeTabstrip;
}

function tab(caption,content,tabNumber) {
  this.setId = setId;
  this.caption = caption;
  this.content = content;
  this.write = writeTab;
  this.writeContent = writePane;
}

function addTab(tab) {
  tab.setId("tab" + this.tabs.length);
  this.tabs[this.tabs.length] = tab;
}

function setId(id) {
  this.id = id;
}

function writePane() {
  document.write("<div class='pane tableWidth' style='block' id='pn_" + this.id + "'>");
  document.write("<table width='100%' border='0' cellpadding='0' cellspacing='0'>");
  document.write("<tr class='mainTable'>");
  document.write("<td background='http://images.wctravel.com/images-general/powersearch/tbl_main_leftM.gif' width='8'><img src='http://images.wctravel.com/images-general/null.gif' width='8' height='6' border='0'></td>");
  document.write("<td width='100%'><img src='http://images.wctravel.com/images/space.gif' width='1' height='6' border='0'></td>");
  document.write("<td background='http://images.wctravel.com/images-general/powersearch/tbl_main_rightM_in.gif'  width='5'><img src='http://images.wctravel.com/images-general/null.gif' width='5' height='6' border='0'></td>");
  document.write("<td background='http://images.wctravel.com/images-general/powersearch/tbl_main_rightM_out.gif' class='unselected' width='2'><img src='http://images.wctravel.com/images-general/null.gif' width='2' height='6' border='0'></td>");
  document.write("</tr><tr class='mainTable'>");
  document.write("<td background='http://images.wctravel.com/images-general/powersearch/tbl_main_leftM.gif' width='8'><img src='http://images.wctravel.com/images-general/null.gif' width='8' height='1' border='0'></td>");
  document.write("<td width='100%' class='innerTableLine'>");
  document.write("<table width='100%' border='0' cellspacing='1' cellpadding='1'>");
  document.write("<tr class='innerTableBg'>");
  document.write("<td class='innerTable'>");
  document.write("<table width='100%' border='0' cellspacing='0' cellpadding='3'>");
  document.write("<tr>");
  // HERE IS WHERE THE BOX WITH ALL THE FORMS ARE GENERATED //
  document.write("<td width='100%'>" + this.content + "</td>");
    // HERE IS WHERE THE BOX WITH ALL THE FORMS ARE GENERATED //
  document.write("<td><img src='http://images.wctravel.com/images/space.gif' width='8' height='1' border='0'></td>");
  document.write("</tr>");
  document.write("</table>");
  document.write("</td>");
  document.write("</tr>");
  document.write("</table>");
  document.write("</td>");
  document.write("<td background='http://images.wctravel.com/images-general/powersearch/tbl_main_rightM_in.gif' width='5'><img src='http://images.wctravel.com/images-general/null.gif' width='5' height='1' border='0'></td>");
  document.write("<td background='http://images.wctravel.com/images-general/powersearch/tbl_main_rightM_out.gif' class='unselected' width='2'><img src='http://images.wctravel.com/images-general/null.gif' width='2' height='1' border='0'></td>");
  document.write("</tr>");
  document.write("<tr class='mainTable'>");
  document.write("<td background='http://images.wctravel.com/images-general/powersearch/tbl_main_bt_left.gif' width='8'><img src='http://images.wctravel.com/images-general/null.gif' width='8' height='1' border='0'></td>");
  document.write("<td width='100%'><img src='http://images.wctravel.com/images-general/powersearch/tbl_main_rightM_in.gif' width='1' height='1' border='0'></td>");
  document.write("<td width='5'><img src='http://images.wctravel.com/images-general/powersearch/tbl_main_rightM_in.gif' width='5' height='1' border='0'></td>");
  document.write("<td background='http://images.wctravel.com/images-general/powersearch/tbl_main_rightM_out.gif' class='unselected' width='2'><img src='http://images.wctravel.com/images-general/null.gif' width='2' height='1' border='0'></td>");
  document.write("</tr>");
  document.write("<tr class='mainTable'>");
  document.write("<td width='8'><img src='http://images.wctravel.com/images-general/powersearch/tbl_main_bt_left.gif' width='8' height='6' border='0'></td>");
  document.write("<td width='100%' background='http://images.wctravel.com/images-general/powersearch/tbl_main_btM.gif'><img src='http://images.wctravel.com/images-general/null.gif' height='6' border='0'></td>");
  document.write("<td width='5'><img src='http://images.wctravel.com/images-general/powersearch/tbl_main_bt_right_in.gif' width='5' height='6' border='0'></td>");
  document.write("<td width='2'><img src='http://images.wctravel.com/images-general/powersearch/tbl_main_bt_right_out.gif' width='2' height='6' border='0'></td>");
  document.write("</tr>");
  document.write("</table>");
  document.write("</div>");
}

function writeTab() {
	document.write("<td style='padding: 1px 1px 0px 1px;'>");
	document.write("<div class='unselectedTab tabSize' id='" + this.id + "' onclick='showPane(this)'>");
	document.write("<table width='100%' height='100%' border='0' cellspacing='0' cellpadding='0'><tr>");
	document.write("<td class='leftTop'><img src='http://images.wctravel.com/images-general/powersearch/null.gif'></td>");
	document.write("<td class='tab'><img src='http://images.wctravel.com/images-general/powersearch/null.gif'></td>");
	document.write("<td class='rightTop'><img src='http://images.wctravel.com/images-general/powersearch/null.gif'></td></tr>");
	document.write("<tr><td rowspan='2' class='leftTabBorder'></td></tr>");
	document.write("<tr>");
	document.write("<td align='center' class='tabs'>" + this.caption + "</td>");
	document.write("<td class='rightTabBorder'><img src='http://images.wctravel.com/images-general/powersearch/null.gif'></td>");
	document.write("</tr></table>");
	document.write("</div>");
	document.write("</td>");
// document.write("<td class='tabs' align='center'><div class='tabs' id='" + this.id + "' onclick='showPane(this)'>" + this.caption + "</div></td>");
}

  // HERE IS WHERE THE TABS GET CALLED //
function writeTabstrip() {
  document.write("<table border='0' cellspacing='0' cellpadding='0'><tr>");
  for(var i = 0; i < this.tabs.length; i++) {
    this.tabs[i].write();
  }
  document.write("</tr></table>");
  
  for(var k = 0; k < this.tabs.length; k++) {
    this.tabs[k].writeContent();
  }
  initiate();
}

function ShowHide(obj, visibility) {
	if(document.getElementById){
		divs = document.getElementsByTagName("div");
   		divs[obj].style.visibility = visibility;
	}
}

function currencyWindow(curr) {
	currWindow = window.open(curr, 'CurrConverter', 'width=500,height=400');
	currWindow.focus;
}

function writeSessionCookie (cookieName, cookieValue) {
  if (testSessionCookie()) {
    document.cookie = escape(cookieName) + "=" + escape(cookieValue) + "; path=/";
    return true;
  }
  else return false;
}

function getCookieValue (cookieName) {
  var exp = new RegExp (escape(cookieName) + "=([^;]+)");
  if (exp.test (document.cookie + ";")) {
    exp.exec (document.cookie + ";");
    return unescape(RegExp.$1);
  }
  else return false;
}

function testSessionCookie () {
  document.cookie ="testSessionCookie=Enabled";
  if (getCookieValue ("testSessionCookie")=="Enabled")
    return true 
  else
    return false;
}

function hotelCheckBox(chkbox)
{
	if (chkbox.checked == true){
		if (!getCookieValue("HID")) {
			// no cookie present.  Set new cookie
			writeSessionCookie("HID",chkbox.value);
		}
		else{
			//append current value to cookie
			var cookieVal = getCookieValue("HID");
			if (window.RegExp) {
				var htlregstr = cookieVal;
				var reg1 = new RegExp(htlregstr);
				if (!reg1.test(chkbox.value)){
					cookieVal = cookieVal + "|"+chkbox.value;
					writeSessionCookie("HID",cookieVal);
				}
			}
		}
	}
	else{
	// remove hotel value from cookie
			var reg1str = getCookieValue("HID");
			if (reg1str){
				var newString = reg1str.replace(chkbox.value,'');
				if (window.RegExp) {
					newString = newString.replace(/(\|$)|(^\|)/g,'');
					newString = newString.replace(/(\|\|)/g,'|');
				}
				writeSessionCookie("HID",newString);			 
			}
	}
}	

function resizeIframe(frameid,width,height){
	var currentfr = document.all? document.all[frameid] : document.getElementById(frameid);
	if (currentfr){
		currentfr.style.display="block";
		if(width && height)
		{
			currentfr.height = height;
			currentfr.width  = width;
		}
		else
		{
			if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax
				currentfr.height = currentfr.contentDocument.body.offsetHeight+FFextraHeight;
		
			else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax
				currentfr.height = currentfr.Document.body.scrollHeight;
		}
	}
}

function customRange(input) {
		if(input.value == "mm/dd/yyyy" || input.value == "dd.mm.yyyy" || input.value == "dd/mm/yyyy")
		{
			input.value = '';
		}
		return { minDate: ($('#chk_in').val() && (input.id =='chk_out') ? $('#chk_in').datepicker("getDate").addDays(1) : new Date()), 
		maxDate: ( new Date().addDays(330))};
	}

	function populateFormDate(id,dateObj)
	{
		var prefix=null;
		
		/* for products that uses doa* and dod* for dates */
		if(id == "chk_in")
			prefix="doa";
		else
			prefix="dod";		
			
		/* Populate hidden input fields with values if they exists */
		if($("#"+prefix+"_mm,#"+prefix+"_dd,#"+prefix+"_yy").length > 0)
		{
			var dateStr =  $.datepicker.formatDate('mm/dd/yy',dateObj);
			var dateArray = dateStr.split("/");
			$("#"+prefix+"_mm").attr({ value: dateArray[0]});
			$("#"+prefix+"_dd").attr({ value: dateArray[1]});
			$("#"+prefix+"_yy").attr({ value: dateArray[2]});
		}
		
	}

function validateWctDate(value, element) {
	var check = false;
	var re = /^\d{1,2}(\/|\.)\d{1,2}(\/|\.)\d{4}$/;		
	var regexpResult = re.exec(value);
	if(regexpResult && regexpResult.length>0){
		var delimiter = regexpResult[1];
		var adata = value.split(delimiter);
		var mm = parseInt(adata[1],10);
		var gg = parseInt(adata[0],10);
		var aaaa = parseInt(adata[2],10);
		var xdata = new Date(aaaa,mm-1,gg);
		// checking for dd/mm/yyyy
		if ( ( xdata.getFullYear() == aaaa ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == gg ) )
			check = true;
		else{
			// reverse month/day to see if we get a valid match
			// checking for mm/dd/yyyy
			xdata = new Date(aaaa,gg-1,mm);
			if ( ( xdata.getFullYear() == aaaa ) && ( xdata.getMonth () == gg - 1 ) && ( xdata.getDate() == mm ) )				
				check = true;
			else
				check = false;
		}
	} else {
            if(value = 'mm/dd/aaaa'){
                check = true;
            }else{
		check = false;
            }
        }
	return this.optional(element) || check;
}









