
function disabletext(e){
		if(e==null){
			e=event;
			es=e.srcElement;
			ns=false;
		}else{
			ns=true;
			es=e.target;
		}
		 list = ',dt,bdt,gb,ndt,sdt,dows,title,';
	if(typeof es == 'object'&& list.indexOf(','+es.className+',') != -1){
	return false;
	}
}
var ignoreClick=false;
function reEnable(){
	if(ignoreClick){
		ignoreClick=false;
	}else if(g_fCalLoaded){
		CC();
		hideDiv();
	}
	return true;
}
document.onmousedown=disabletext;
document.onclick=reEnable;
/*
a=[];
a[0]="name"; // name
a[1]=['names','nam']; // names or numberRangeStart
a[2]=['values','valu']; // values or numberRangeEnd
a[3]='valu'; // selected
a[4]=''; // onchange
a[5]=true; // number range
zInputSelectBox(a);
*/
function zInputSelectBox(a){
	var c='';var s='';var n=a[1].split("\t");var v=a[2].split("\t");
	if(a[4]!=null) c=a[4];
	if(a[6]!=null) s=a[6];
	var b=['<select id="'+a[0]+'" name="'+a[0]+'" onchange="'+c+'" style="'+s+'" size="1">'];
	if(a[5]){
		for(var i=a[1];i<=a[2];i++){
			var s='';if(a[3]==i) s=' selected="selected"';
			b.push('<option value="'+i+'" '+s+'>'+i+'</option>');
		}
	}else{
		for(var i=0;i<n.length;i++){
			var s='';if(v[i]==a[3]) s+=' selected="selected"';
			b.push('<option value="'+v[i]+'" '+s+'>'+n[i]+'</option>');
		}
	}
	b.push('</select>');
	return b.join('');
}

function elliminateDups(array1){
	for (j=0; j<array1.length; j++){
		for (k=0; k<array1.length; k++){
			if((array1[j] == array1[k])&& (j != k)){
			array1[j] = "";
			}
		}
	}
	return array1;	
}

function fixText(myString){
	myString = makeEnglish(myString);	
	myString = isAlphabet(myString);
	myString = myString.toLowerCase();
	return myString;
}


function formatTheArray(myArray){
	var useThisArray = [];
	for(i=0;i < myArray.length; i++){
	useThisArray[i] = fixText(myArray[i]);
	}
	
return useThisArray;	
}


function disableEnter(e){
	if(document.getElementById("box").style.display=="none") return true;
var key;

     if(window.event)
          key = window.event.keyCode;     //IE
     else
          key = e.which;     //firefox

     if(key == 13 || key == 40 || key ==38){
          return false;
	 }else{
          return true;
	 }
}

var selIndex=0;
function keyboard(e, obj){
	var keynum;
	var numcheck;
	if(!selIndex){
		selIndex=0;
	}
	if(window.event){
		keynum = e.keyCode;
	}else{
		keynum = e.which;
	}
	if(obj.value.length > 2){	
		var doc = document.getElementById("box");
		var allLinks = doc.getElementsByTagName('a');
		//arrNewLink
		if(keynum == 13){
			// enter
			if(doc.style.display=="block"){
				textToForm = document.getElementById("lid"+arrNewLink[selIndex]).innerHTML;
				putIntoForm(textToForm, formName);
				hideDiv(formName);
			}
		}else if(keynum == 40){
			//down
			selIndex++;
			selIndex=Math.min(selIndex,arrNewLink.length-1);
		}else if(keynum==38){
			// up	
			selIndex--;
			selIndex=Math.max(0,selIndex);
		}else{
			return;	
		}
		var firstBlock=-1;
		for(i=0;i<arrNewLink.length;i++){
			var c=document.getElementById('lid'+arrNewLink[i]);
			if(firstBlock==-1 && c.style.display=="block"){
			//	firstBlock=i;	
			}
			if(c.style.display=="none"){
			//	selIndex++;	
			}
			if(i==selIndex){
				c.className="linkSelected";
			}else{
				c.className="box-link";
			}
		}
	}
}	


function hideDiv(name){
	document.getElementById("box").style.display="none";
}

	

function isAlphabet(elem){
	var alphaExp = /^[a-zA-Z0-9 ]+$/;
	if(elem.match(alphaExp)){
		return elem;
	}else{
		elem = elem.slice(0, -1)
		return elem;
	}
}



function putIntoForm(linkSelected, formName){
	var arrP=linkSelected.split(", ");
	var arrCity=new Array();
	for(i=0;i<arrP.length;i++){
		if(i+1!=arrP.length){
			arrCity.push(arrP[i]);
		}
	}
	var city=arrCity.join(", ");
	var code=arrP[arrP.length-1];
	var found=false;
	if(code != linkSelected && code != ''){
		var c=document.hotelSearchForm.hotel_search_country;
		for(i=0;i<c.options.length;i++){
			if(c.options[i].text==code.substr(0,21)){
				c.selectedIndex=i;
				found=true;
				break;
			}
		}		
		if(!found){
			for(i=0;i<c.options.length;i++){
				if(c.options[i].value=='US'){
					c.selectedIndex=i;
					break;
				}
			}			
		}	
	}
	if(found){
		document.getElementById(formName).value = city;
	}else{
		document.getElementById(formName).value = linkSelected;
	}
}
function buildBox(obj, arrResults){
	selIndex=0;
	//alert(obj.name);
	var arrP=findPos(obj);
	var b=document.getElementById("box");
	b.style.position="absolute";
	b.style.left=arrP[0]+"px";
	b.style.top=(arrP[1]+arrP[3])+"px";
	
	formName = obj.id;
	var v="";
	var doc = document.getElementById("box");
	class1='class="linkSelected" ';
	arrNewLink=[];
	for (j=0; j < arrResults.length; j++){
	v=v+'<a id="lid'+j+'" '+class1+' href="javascript:putIntoForm(\''+arrResults[j]+'\', \''+formName+'\'); hideDiv(\''+formName+'\');" >'+arrResults[j]+'</a>';
		class1='class="box-link" ';	
		arrNewLink.push(j);
	}
	document.getElementById("box").style.display="block";
	document.getElementById("box").innerHTML=v;
}

	
function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);

	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/-/g, "\-");
	var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

function checkAjax(e, obj, type){
var keynum;
	if(window.event){
	keynum = e.keyCode;
	}else{
	keynum = e.which;	
	}
	if(obj.value.length > 2){
		if(keynum !=13 && keynum !=40 && keynum!=38){
		callAjax(obj,type);
		}	
	}else{
		hideDiv();
	}
}

var daysToOffset=0;
document.write('<div id="box" style="display:none; position:absolute; background-color:##FFFFFF; z-index:110; width:271px; height:250px; overflow:auto; float:left; border:1px solid ##CCCCCC;"></div>');
function addTab(myID){
elementArr = getElementsByClassName(document, "*", "checkBox");
	for(i=0; i<elementArr.length; i++){
			elementArr[i].checked=false;	
		}
		
oldTabArr = getElementsByClassName(document, "a", "tabSelected");
oldTab = oldTabArr[0];
newTab = document.getElementById(myID);
oldTab.className="tabUnselect";
newTab.className="tabSelected";
searchType1 = document.getElementById("searchType");
searchType1.value = myID;
	daysToOffset=0;
	if(myID =="hotelTab"){
	daysToOffset=1;
	}
	planeArr = getElementsByClassName(document, "*", "plane");
		for(j=0; j < planeArr.length; j++){
			if(myID == "planeTab"){
			planeArr[j].style.display="block";	
			}else{
			planeArr[j].style.display="none";
			}
		}
		
	
	addressArr = getElementsByClassName(document, "*", "address");
		for(k=0; k<addressArr.length; k++){
		addressArr[k].style.display="none";	
		}
		
	hotelArr = getElementsByClassName(document, "*", "hotel");
		for(i=0; i<hotelArr.length; i++){
			if(myID == "hotelTab"){
			hotelArr[i].style.display="block";	
			}else{
			hotelArr[i].style.display="none";	
			}
		}
	
	carArr = getElementsByClassName(document, "*", "car");
		for(z=0; z< carArr.length; z++){
			if(myID == "carTab"){
			carArr[z].style.display="inline";
			}else{
			carArr[z].style.display="none";
			}
		}

}

function addClass(className){
elementArr = getElementsByClassName(document, "*", className);
		for(i=0; i<elementArr.length; i++){
		elementArr[i].style.display="inline";
		}
}


function removeClass(className){
	elementArr = getElementsByClassName(document, "*", className);
		for(i=0; i<elementArr.length; i++){
		elementArr[i].style.display="none";
		}
	
}

function formatCheckbox(obj){
	elementArr = getElementsByClassName(document, "*", "checkBox");
	for(i=0; i<elementArr.length; i++){
		if(elementArr[i] != obj){
		elementArr[i].checked=false;
		}
	}
	if((obj.id == "nearAdd") && (obj.checked)){
	addClass('address');
	}else{
	removeClass('address');
	}
}


function carDropOffFun(obj1){
	element1 = document.getElementById("differentLocation");
	if(obj1.checked){
	element1.style.display="inline";
	}
	if(obj1.checked==false){
	element1.style.display="none";	
	}
	
}

function resetForm(o){o.focus();}

function makeEnglish(elem){
	var elem1 = elem;
	var alphaExp = /^[a-zA-Z ]+$/;
	if(elem.match(alphaExp)){
		return elem;
	}else{
		var englishList = "A,A,A,A,A,A,AE,C,E,E,E,E,I,I,I,I,ETH,N,O,O,O,O,O,O,U,U,U,U,Y,THORN,s,a,a,a,a,a,a,ae,c,e,e,e,e,i,i,i,i,eth,n,o,o,o,o,o,o,u,u,u,u,y,thorn,y,OE,oe,S,s,Y,f";		 
		var foreignList="À,Á,Â,Ã,Ä,Å,Æ,Ç,È,É,Ê,Ë,Ì,Í,Î,Ï,Ð,Ñ,Ò,Ó,Ô,Õ,Ö,Ø,Ù,Ú,Û,Ü,Ý,Þ,ß,à,á,â,ã,ä,å,æ,ç,è,é,ê,ë,ì,í,î,ï,ð,ñ,ò,ó,ô,õ,ö,ø,ù,ú,û,ü,ý,þ,ÿ,Œ,œ,Š,š,Ÿ,ƒ";		
		var arrEnglish = englishList.split( "," );
		var arrForeign = foreignList.split( "," );
		for(e = 0; e < elem.length; e ++){
			for(f=0; f < arrForeign.length; f++){				
				if (elem1.charAt(e) == arrForeign[f]){
					myChar = elem1.charAt(e);
					if (!(myChar.match(alphaExp))){
						pattern = new RegExp(arrForeign[f]);
						elem1 = elem1.replace(pattern, arrEnglish[f]);
					}
				}
			}
		}
		return elem1;
	}
}


// Copyright (c)2005-2007 Matt Kruse (javascripttoolbox.com)
var Position = (function(){
  var pos = {};
  pos.$VERSION = 1.0;
  pos.get = function(o){
    var fixBrowserQuirks = true;
    var left = 0;
    var top = 0;
    var width = 0;
    var height = 0;
    var parentNode = null;
    var offsetParent = null;
    offsetParent = o.offsetParent;
    var originalObject = o;
    var el = o; 
    while (el.parentNode!=null){
      el = el.parentNode;
      if (el.offsetParent==null){
      }else{
        var considerScroll = true;
        if (fixBrowserQuirks && window.opera){
          if (el==originalObject.parentNode || el.nodeName=="TR"){
            considerScroll = false;
          }
        }
        if (considerScroll){
          if (el.scrollTop && el.scrollTop>0){
            top -= el.scrollTop;
          }
          if (el.scrollLeft && el.scrollLeft>0){
            left -= el.scrollLeft;
          }
        }
      }
      if (el == offsetParent){
        left += o.offsetLeft;
		
        if (el.clientLeft && el.nodeName!="TABLE"){ 
          left += el.clientLeft;
        }
        top += o.offsetTop;
        if (el.clientTop && el.nodeName!="TABLE"){
          top += el.clientTop;
        }
        o = el;
        if (o.offsetParent==null){
          if (o.offsetLeft){
            left += o.offsetLeft;
          }
          if (o.offsetTop){
            top += o.offsetTop;
          }
        }
        offsetParent = o.offsetParent;
      }
    }
    if (originalObject.offsetWidth){
      width = originalObject.offsetWidth;
    }
    if (originalObject.offsetHeight){
      height = originalObject.offsetHeight;
    }
    return [left, top, width, height];
  };
  return pos;
})();

function findPos(obj){
	return Position.get(obj);
}

var strValue="";
var arrNewLink=[];
var suggCount=0;
var ajaxStartCount=0; // store number of ajax requests
var ajaxEndCount=0; // store number of completed ajax requests
var ajaxSuccess=false;
var ajaxArrResults=[]; // array to hold results
var ajaxArrCleanResults=[]; // array to hold results
var previousThreeLetters="";
function callAjax(obj,type){	
	// only process the input currently being typed into 
	strValue=obj.value;
	strValue = fixText(strValue);	
	// proceed with ajax request if 3 or more characters were typed and the current results haven't been received.
	if(strValue.length >= 3){
		if(previousThreeLetters != strValue.substr(0,3)){
			threeLettersChanged=true;
		}
		previousThreeLetters=strValue.substr(0,3);
		if(ajaxStartCount == ajaxEndCount && !threeLettersChanged){
			// three letters are the same and ajax request was already completed
			if(ajaxSuccess){
				// make a copy of the results
				var arrNew=[];
				arrNewLink=[];
				var firstIndex=-1;
				var resetSelect=false;
				// move the results from arrTemp to arrNew that have the same beginning characters as strValue
				for(i=0;i<ajaxArrCleanResults.length;i++){
					var aib=document.getElementById("lid"+i);
					if(ajaxArrCleanResults[i].substr(0, strValue.length) == strValue){
						arrNew.push(ajaxArrResults[i]);
						if(aib!=null){
							arrNewLink.push(i);
							if(aib.className=="linkSelected"){
								selIndex=arrNewLink.length-1;
							}
							aib.style.display="block";
							if(firstIndex==-1){
								firstIndex=arrNewLink.length-1;
							}
						}
					}else{
						if(aib!=null){
							aib.style.display="none";
							if(aib.className=="linkSelected"){
								resetSelect=true;
								aib.className="box-link";
							}
						}
					}
				}
				if(resetSelect && firstIndex!=-1){
					selIndex=firstIndex;
					document.getElementById("lid"+arrNewLink[firstIndex]).className="linkSelected";
					
				}
				if(arrNew.length > 0){
					if(arrNewLink.length == 0){
						buildBox(obj, arrNew);
					}else if(document.getElementById("box").style.display=="none"){
						document.getElementById("box").style.display="block";
						for(i=0;i<arrNewLink.length;i++){
							if(i==0){
								selIndex=i;//arrNewLink[i];
								document.getElementById("lid"+arrNewLink[i]).className="linkSelected";
							}else{
								document.getElementById("lid"+arrNewLink[i]).className="box-link";
							}
						}
					}
				}else{
					hideDiv();
				}
			}
		}else{
			selIndex=0;
			// 3 letters changed or ajax request not performed yet
			// multiple ajax requests are prevented unless the first 3 letters change and old requests are always ignored
			var req = null;  
			// use right ajax object for IE or other browser
			if(window.XMLHttpRequest){ 
			  req = new XMLHttpRequest();  
			}else if (window.ActiveXObject){ 
			  req = new ActiveXObject('Microsoft.XMLHTTP');  
			}
			req.onreadystatechange = function(){  
				if(req.readyState == 4){
					ajaxEndCount++;
					if(req.status == 200){
						var ajaxArrResults=req.responseText.split("\n");
						arrLen= ajaxArrResults.length;
						//arrLen--;
						ajaxArrResults.splice(arrLen,1);
						//alert(ajaxArrResults);
						//ajaxArrResults=makeEnglish(ajaxArrResults);
						//ajaxArrResults=isAlphabet(ajaxArrResults);
						//ajaxArrResults= elliminateDups(ajaxArrResults);
						if(ajaxArrResults.length > 0){
							buildBox(obj, ajaxArrResults); 
							aN=[];
							var fb=null;
							var fbi=-1;
							var fixB=false;
							var foundB=false;
							for(var i=0;i<ajaxArrResults.length;i++){
								var cb=document.getElementById('lid'+i);
								if(cb.innerHTML.substr(0, strValue.length).toLowerCase() != strValue){
									if(fb==null){
										fb=cb;
										fbi=i;
									}
									cb.style.display="none";
									if(cb.className=="linkSelected"){
										fixB=true;
										cb.className="box-link";
									}
								}else if(cb.className=="linkSelected"){
									foundB=true;
								}
							}
							if(fixB && fb!=null){
								fb.className="linkSelected";
								selIndex=fbi;
							}
							if(!foundB && ajaxArrResults.length>0){
								var cb=document.getElementById('lid0');
								cb.className="linkSelected";
								selIndex=0;
								
								
							}
						}
						// store cleaned values in separate array of results so we can do easy string comparison later
						ajaxArrCleanResults=formatTheArray(ajaxArrResults);
						ajaxSuccess=true;
					}else{ 
						ajaxStartCount=0;
						ajaxEndCount=0;
						previousThreeLetters="";
						ajaxSuccess = false;
						ajaxArrResults= new Array();
						resetForm(obj);
					} 
				} 
			};
			
			// reset the ajax request status variables
			threeLettersChanged=false;
			ajaxSuccess=false;
			ajaxStartCount++;
			// build 3 letter file name 
			if(type && type != null){
				var fileName = strValue.substr(0,3)+"_"+type+".txt";
			}else{
				var fileName = strValue.substr(0,3)+"_ac.txt";
			}
			var randomNumber = Math.random()*1000;
			// request the file from new directory /icity/
			req.open("GET","/traveldata/"+fileName, true);  
			// do ajax request
			req.send(null);  
		}
	}	
} 
var zz, zv, d, fTSR;
var gBF=false;
var g_MINY = 1601;
var g_MAXY = 4500;
var g_month = 0;
var g_day = 0;
var g_year = 0;
var g_yLow = 1990;
var g_eC=null;
var g_eCV="";
var g_dFmt=GetDateFmt();
var g_fnCB=null;
var g_e2=null;

var rgMC = new Array(12);

rgMC[0] = 31;rgMC[1] = 28;rgMC[2] = 31;rgMC[3] = 30;rgMC[4] = 31;rgMC[5] = 30;rgMC[6] = 31;rgMC[7] = 31;rgMC[8] = 30;rgMC[9] = 31;rgMC[10] = 30;rgMC[11] = 31;

d = new Date();
fTSR=0;
zv = d.getTime();
zz = "&zz="+zv;

function GetDowStart(){return 0;}
function GetDateFmt(){return "mmddyy";}
function GetDateSep(){return "/";}

function GetInputDate(t,f){
  var l = t.length;
  if(0 == l) return false;
  var cSp = '\0';
  var sSp1 = "";
  var sSp2 = "";
  for(var i = 0; i < t.length; i++){
    var c = t.charAt(i);
    if(c == ' ' || isdigit(c)) continue;
    else if(cSp == '\0' && (c == '/' || c == '-' || c == '.')){
      cSp = c;
      sSp1 = t.substring(i+1,l);
    }
    else if(c == cSp) sSp2 = t.substring(i+1,l);
    else if(c != cSp) return false;
  }
  if(0 == sSp1.length) return false;
  var m;
  var d;
  var y; 
  if(f=="mmddyy"){
    m = atoi(t);
    d = atoi(sSp1);
    if(0 != sSp2.length) y = atoi(sSp2);
    else y = DefYr(m,d);
  }
  else if(f=="ddmmyy"){
    m = atoi(sSp1);
    d = atoi(t);
    if(0 != sSp2.length) y = atoi(sSp2);
    else y = DefYr(m,d);
  }else{
    if(0 == sSp2.length) return false;
    m = atoi(sSp1);
    d = atoi(sSp2);
    y = atoi(t);
  }
  if(y < 100){
    y = 1900+y;
    while(y < g_yLow) y = y+100;
  }
  if(y < g_MINY || y > g_MAXY || m < 1 || m > 12) return false;
  if(d < 1 || d > GetMonthCount(m,y)) return false;
  g_month = m;
  g_day = d;
  g_year = y;
  return true;
}

function DefYr(m,d){
  var dt = new Date();
  var yCur = (dt.getYear() < 1000) ? 1900+dt.getYear() : dt.getYear();
  if(m-1 < dt.getMonth() || (m-1 == dt.getMonth() && d < dt.getDate())) return 1+yCur;
  else return yCur;
}

function atoi(s){
  var t = 0;
  for(var i = 0; i < s.length; i++){
    var c = s.charAt(i);
    if(!isdigit(c)) return t;
    else t = t*10 + (c-'0');
  }
  return t;
}

function isdigit(c){return(c >= '0' && c <= '9');}
function GetMonthCount(m,y){
  var c = rgMC[m-1];
  if((2 == m) && IsLeapYear(y)) c++;
  return c;
}
function IsLeapYear(y){
  if(0 == y % 4 && ((y % 100 != 0) || (y % 400 == 0))) return true;
  else return false;
}
var previousCalendarField="";
function ShowCalendar(eP,eD,eDP,dmin,dmax,fnCB){
    g_eC=eD;
    g_eCV=eD.value;
	g_e2=eDP;
	DoLoad();
	var dF=document.getElementById('CalFrame');	
	var wF=dF;
  dM2=new Date(dmax);
  if(eDP!=null){
	// subtract one day from dmax when 
	dM2=new Date(dM2-86400000); 
  }
  SetMinMax(new Date(dmin),dM2);
  g_fnCB=fnCB;

  if(eD==g_eC && ("block"==dF.style.display && previousCalendarField==eP)){
    if(g_eCV != eD.value && GetInputDate(eD.value,g_dFmt)){
      g_eCV=eD.value;
      SetInputDate(g_day,g_month,g_year);
      SetDate(g_day,g_month,g_year);
    }else{ 
      dF.style.display="none";
	}
  }else{
    if(GetInputDate(eD.value,g_dFmt)){
      SetInputDate(g_day,g_month,g_year);
      SetDate(g_day,g_month,g_year);
	  
    }else if(null != eDP && GetInputDate(eDP.value,g_dFmt)){
      SetInputDate(g_day,g_month,g_year);
      SetDate(g_day,g_month,g_year);
    }else{
      var dt=new Date(dmin);
      SetInputDate(-1,-1,-1);
      SetDate(dt.getDate(),dt.getMonth()+1,dt.getFullYear());
    }
    var eL=0;var eT=0;
	var arrP=findPos(eP);
	eL=arrP[0];
	eT=arrP[1];
    var eH=arrP[3];
	var dF2=document.getElementById('CalFrame');
    if("none"==dF.style.display)
      dF.style.display="block";
    dF2.style.left=eL+"px";
    dF2.style.top=eT+eH+"px";
  }
	previousCalendarField=eP;
}

function setDateOffset(formElement, amonth,aday,ayear){
	myDate = new Date(parseInt(ayear), parseInt(amonth)-1, parseInt(aday)+daysToOffset);
	formElement.value=(myDate.getMonth()+1)+'/'+myDate.getDate()+'/'+myDate.getFullYear();
}

function SetDateP(d,m,y){
  var ds=GetDateSep();
  g_eC.focus();
  if("mmddyy"==g_dFmt) g_eC.value=m+ds+d+ds+y;
  else if("ddmmyy"==g_dFmt) g_eC.value=d+ds+m+ds+y;
  else g_eC.value=y+ds+m+ds+d;  
  if(g_e2!=null){
  	setDateOffset(g_e2, m,d,y);
  }  
  g_eCV=g_eC.value;
  if(null != g_fnCB && "" != g_fnCB)
    eval(g_fnCB);
}

function GetDOW2(d,m,y){
  var dt=new Date(y,m-1,d);
  return(dt.getDay()+(7-GetDowStart()))%7;
}

function LoadMonths(n){
  var dt=new Date();
  var m=dt.getMonth()+1;
  var y=dt.getFullYear();
  var rg=new Array(n);
}
LoadMonths(12);
var g_fCalLoaded=false;
var wp=window;
document.write('<div id="CalFrame" class="dayTable" onmousedown="ignoreClick=true;disabletext(event)" style="display:none;"><div class="header"><span><a id="Prev" href="javascript:PC();">&lt;</a></span><span class="title" id="Title"></span><span><a id="Next" href="javascript:NC();">&gt;</a></span></div><div class="dow">');
var lss='SMTWTFS';
for(i=0;i<7;i++)document.write('<span class="dows">'+lss.substr(i,1)+'</span>');
document.write('</div><div id="MonthImg" style="position:relative; float:left; left:0px; top:0px; width:100px; height:120px;" >');
for(i=0;i<42;i++){
		document.write('<a id="d'+i+'" href="javascript:void(0);">'+(i+1)+'</a>');
	}
document.write('</div></div>');
var cf=document.getElementById('CalFrame');
bdc=[];
var dMin;var dMax, dMinYear, dMaxYear;
var XOff=2;var YOff=1;
var XSize=20;var YSize=18;

var g_dC=-1;var g_mC=-1;var g_yC=-1;
var g_dI=-1;var g_mI=-1;var g_yI=-1;

function DoLoad(){
	var arrP=findPos(document.getElementById('MonthImg'));
	arrP=[0,0,0,0];
	for(i=0;i<7;i++){
		for(j=0;j<6;j++){
			var t=j*7+i;
			var b=document.getElementById('d'+t);
			b.day=t+1;
			b.onclick=BC;
			b.className="dt";
			b.style.left=(arrP[0]+XOff+XSize*i-1)+"px";
			b.style.top=(arrP[1]+YOff+YSize*j)+"px";
			bdc[t]=b;
		}
	}
}

function TC(e){
	if(e==null){
		e=event;
		es=e.srcElement;
		ns=false;
	}else{
		ns=true;
		es=e.target;
	}
	if(es.className=="dt"){
		var dt=new Date();
		SetDateP(dt.getDate(),dt.getMonth()+1,dt.getFullYear());
		var c=document.getElementById("CalFrame");
		c.style.display="none";
	}
	if(ns){

		e.stopPropagation();
	}else{
		e.cancelBubble=true;
	}
}

function BC(e){
	if(e==null){
		e=event;
		es=e.srcElement;
		ns=false;
	}else{
		ns=true;
		es=e.target;
	}
	if(es.className=="gb" || es.className=="dt"){
		var iDay = es.day;
		iDay-=GetDOW(1,g_mC,g_yC);
		SetDateP(iDay,g_mC,g_yC);
		var c=document.getElementById("CalFrame");
		c.style.display="none";
	}
	if(ns){
		e.stopPropagation();
	}else{
		e.cancelBubble=true;
	}
}

function CC(){
	var c=document.getElementById("CalFrame");
	c.style.display="none";
}

function NC(){
if(g_mC==12) SetDate(g_dC,1,g_yC+1);
else SetDate(g_dC,g_mC+1,g_yC);
}

function PC(){
if(g_mC==1) SetDate(g_dC,12,g_yC-1);
else SetDate(g_dC,g_mC-1,g_yC);
}

function SetInputDate(day,month,year){g_dI = day;g_mI = month;g_yI = year;}

function FmtTitle(str){
var r=str.charAt(0);
for(i=1;i<str.length;i++) r=r+"&nbsp;"+str.charAt(i);
return r;		
}
function SetMinMax(min2,max2){
	dMin=min2;
	dMinYear=dMin.getFullYear();
	if(dMinYear < 1000){
		dMinYear+=1900;
	}
	
	dMax=max2;
	dMaxYear=dMax.getFullYear();
	if(dMaxYear < 1000){
		dMaxYear+=1900;
	}
}

function SetDate(day, month, year){
if( year>dMaxYear || (year==dMaxYear&&month>(dMax.getMonth()+1)) ){
	return;
}
if( year<dMinYear || (year==dMinYear&&month<(dMin.getMonth()+1)) ){
	return;
}
daysInMonth=GetMonthCount(month,year);
startDay=GetDOW(1,month,year);
for(var i=0;i<42;i++){
	var c=document.getElementById('d'+i);
	if(startDay>i){
		c.innerHTML="";
	}else if(i>=startDay+daysInMonth){
		c.innerHTML="";
	}else{
		c.innerHTML=(i-startDay)+1;	
	}
}
document.getElementById('Title').innerHTML=FmtTitle(rgMN[month-1])+'&nbsp;&nbsp;'+FmtTitle(year.toString());
var dt=new Date();
var s,n,v,d;
if( year<dMinYear || (year==dMinYear&&month<=(dMin.getMonth()+1)) ){n="hdr";v="none";}else{n="hdrA";v="block";}
document.getElementById('Prev').style.display=v;

if( year>dMaxYear || (year==dMaxYear&&month>=(dMax.getMonth()+1)) ){n="hdr";v="none";}else{n="hdrA";v="block";}
document.getElementById('Next').style.display=v;

var i=0;
var iMin=GetDOW(1,month,year);
var iMax=GetMonthCount(month,year)+GetDOW(1,month,year);
for(;i<iMin;i++){ bdc[i].className="ndt";bdc[i].onclick=function(){ return false; }}

if( year<dMinYear || (year==dMinYear&&month<(dMin.getMonth()+1)) || year>dMaxYear || (year==dMaxYear&&month>(dMax.getMonth()+1)) ){
	for(;i<iMax;i++){ bdc[i].className="bdt"; bdc[i].onclick=BC;}
}else if(month==(dMin.getMonth()+1)&&year==dMinYear){
	iBox=dMin.getDate()+GetDOW(1,dMin.getMonth()+1,dMinYear)-1;
	
	for(;i<iMax;i++){
		if(i<iBox){
		n="bdt";bdc[i].onclick=function(){ return false;}}else{
		n="dt";bdc[i].onclick=BC;}
		bdc[i].className=n;
	}
}else if(month==(dMax.getMonth()+1)&&year==dMaxYear){
	iBox=dMax.getDate()+GetDOW(1,dMax.getMonth()+1,dMaxYear)-1;
	for(;i<iMax;i++){
		if(i<iBox+1){n="dt";bdc[i].onclick=BC;}else{n="bdt";bdc[i].onclick=function(){ return false;}}
		bdc[i].className=n;
	}
}else{
	for(;i<iMax;i++){bdc[i].className="dt"; bdc[i].onclick=BC;}
}

for(;i<42;i++){
bdc[i].className="ndt";}
if(-1!=g_dI&&month==g_mI&&year==g_yI){
	iBox=g_dI+GetDOW(1,g_mI,g_yI)-1;
	bdc[iBox].className="gb";
}

g_dC=day;
g_mC=month;
g_yC=year;
}

function ValidDate(day,month,year){
if( year<dMinYear || (year==dMinYear&&month<(dMin.getMonth()+1)) || (year==dMinYear&&month==(dMin.getMonth()+1)&&day<dMin.getDate()) ) return false;
else if( year>dMaxYear || (year==dMaxYear&&month>(dMax.getMonth()+1)) || (year==dMaxYear&&month==(dMax.getMonth()+1)&&day>dMax.getDate()) ) return false;
else return true;
}

function GetMonthCount(month,year){
var c=rgMC[month-1];
if((2==month)&&IsLeapYear(year)) c++;
return c;
}

function IsLeapYear(year){return( 0==year%4 && ((year%100!=0)||(year%400==0)) );}

function GetDOW(day,month,year){
var dt=new Date(year,month-1,day);
return (dt.getDay()+(7-GetDowStart()))%7;
}

var rgMN=new Array(12);
rgMN[0]="JAN";
rgMN[1]="FEB";
rgMN[2]="MAR";
rgMN[3]="APR";
rgMN[4]="MAY";
rgMN[5]="JUN";
rgMN[6]="JUL";
rgMN[7]="AUG";
rgMN[8]="SEP";
rgMN[9]="OCT";
rgMN[10]="NOV";
rgMN[11]="DEC";

var rgMC=new Array(12);
rgMC[0]=31;
rgMC[1]=28;
rgMC[2]=31;
rgMC[3]=30;
rgMC[4]=31;
rgMC[5]=30;
rgMC[6]=31;
rgMC[7]=31;
rgMC[8]=30;
rgMC[9]=31;
rgMC[10]=30;
rgMC[11]=31;
g_fCalLoaded=true;





var lsh = "" ;
var dtCh= "/";
var minYear=2004;
var maxYear=2100;
/* old form here*/

function hotelSetDates(){
	return;
	var v=document.hotelSearchForm.hotel_search_start_date.value;
	var p=v.indexOf("/");
	if(p==1){
		document.hotelSearchForm.doa_mm.value="0"+v.substr(0,1);
	}else{
		document.hotelSearchForm.doa_mm.value=v.substr(0,2);
	}
	var p2=v.substr(p+1,v.length).indexOf("/");
	if(p2==1){
		document.hotelSearchForm.doa_dd.value="0"+""+v.substr(p2+p,1);
	}else{
		document.hotelSearchForm.doa_dd.value=v.substr(p+1,2);
	}
	document.hotelSearchForm.doa_yy.value=v.substr(p2+p+2,4);
	v=document.hotelSearchForm.hotel_search_end_date.value;
	var p=v.indexOf("/");
	if(p==1){
		document.hotelSearchForm.dod_mm.value="0"+v.substr(0,1);
	}else{
		document.hotelSearchForm.dod_mm.value=v.substr(0,2);
	}
	var p2=v.substr(p+1,v.length).indexOf("/");
	if(p2==1){
		document.hotelSearchForm.dod_dd.value="0"+""+v.substr(p2+p,1);
	}else{
		document.hotelSearchForm.dod_dd.value=v.substr(p+1,2);
	}
	document.hotelSearchForm.dod_yy.value=v.substr(p2+p+2,4);
}
function hotelChildChange(inN){
	document.getElementById("divAge1").style.display = 'none';
	document.getElementById("divAge2").style.display = 'none';
	document.getElementById("divAge3").style.display = 'none';
	document.getElementById("divAge4").style.display = 'none';
	if (inN == 0){
		document.getElementById("multichild").style.display = 'none';
		document.getElementById("multichildLabel").style.display = 'none';
	}else{
		document.getElementById("multichild").style.display = 'block';
		document.getElementById("multichildLabel").style.display = 'block';
		for(var i = 0; i < inN; i++)	{
			document.getElementById("divAge"+(i+1)).style.display = 'block';
		}
	}
}
// offset the dates after they are selected
daysToOffset=1;


function validateDate(as_type) {
	var dateValid = true ;
	if (as_type == 'start') {
		var la_date = document.hotelSearchForm.hotel_search_start_date.value.split("/") ;
		var ls_dateStr = document.hotelSearchForm.hotel_search_start_date.value ;
		dateValid = isDate(ls_dateStr) ;
		if (! dateValid) {
			document.hotelSearchForm.hotel_search_start_date.focus();
		}
	} else {
		var la_date = document.hotelSearchForm.hotel_search_end_date.value.split("/") ;
		var ls_dateStr = document.hotelSearchForm.hotel_search_end_date.value ;
		dateValid = isDate(ls_dateStr) ;
		if (! dateValid) {
			document.hotelSearchForm.hotel_search_end_date.focus();
		}
	}
	return dateValid ;
}
function validateCountry() {
	if(document.hotelSearchForm.hotel_search_state){
		stateField = document.hotelSearchForm.hotel_search_state ;
		stateValue = stateField.options[stateField.selectedIndex].value ;
		if (stateValue != "") {
			document.hotelSearchForm.hotel_search_country.selectedIndex=1;
			return true;	
		}
	}
	if(document.hotelSearchForm.hotel_search_country){
	countryField = document.hotelSearchForm.hotel_search_country ;
	countryValue = countryField.options[countryField.selectedIndex].value ;
	if (isBlank(countryValue) ) {
		validationMessage = 'You must select a country.' ;
		document.hotelSearchForm.hotel_search_country.focus();
		return false ;
	} else {
		return true ;
	}
	}else{
		return true;
	}
}

function validateState() {
	if(document.hotelSearchForm.hotel_search_state){
		stateField = document.hotelSearchForm.hotel_search_state ;
		stateValue = stateField.options[stateField.selectedIndex].value ;
		if (stateValue == "") {
			countryField = document.hotelSearchForm.hotel_search_country ;
			countryValue = countryField.options[countryField.selectedIndex].value ;
			
			if(countryValue == 'US') {
				validationMessage = "When selecting United States, you must select a State." ;
				document.hotelSearchForm.hotel_search_state.focus();
				return false ;
			} else {
				return true ;
			}
		} else {
			return true ;
		}
	}else{
		return true;
	}
}

function validateCity() {
	if(document.hotelSearchForm.hotel_search_city){
		if (isBlank(document.hotelSearchForm.hotel_search_city.value) ) {
			validationMessage = 'You must enter a city name.' ;
			document.hotelSearchForm.hotel_search_city.focus();
			return false ;
		} else {
			return true ;
		}
	}else{
		return true;
	}
}

function checkCountry() {
	var v1=document.getElementById("hotelSearchForm");
	if(v1!=null && document.hotelSearchForm.hotel_search_country!=null){
	countryField = document.hotelSearchForm.hotel_search_country ;
	countryValue = countryField.options[countryField.selectedIndex].value ;
	}
}

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this;
}

function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		validationMessage = "Please enter a valid date in the format of: mm/dd/yyyy." ;
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		validationMessage = "Please enter a valid date in the format of: mm/dd/yyyy." ;
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		validationMessage = "Please enter a validate date in the format of: mm/dd/yyyy." ;
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		validationMessage = "Please enter a valid 4 digit year between "+minYear+" and "+maxYear+"." ;
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		validationMessage = "Please enter a validate date in the format of: mm/dd/yyyy." ;
		return false
	}
return true
}

function AC_AddExtension(src, ext)
{
if (src.indexOf('?') != -1)
return src.replace(/\?/, ext+'?'); 
else
return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
var str = '<object ';
for (var i in objAttrs)
str += i + '="' + objAttrs[i] + '" ';
str += '>';
for (var i in params)
str += '<param name="' + i + '" value="' + params[i] + '" /> ';
str += '<embed ';
for (var i in embedAttrs)
str += i + '="' + embedAttrs[i] + '" ';
str += ' ></embed></object>';

document.write(str);
}

function AC_FL_RunContent(){
var ret = 
AC_GetArgs
(  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
, "application/x-shockwave-flash"
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
var ret = 
AC_GetArgs
(  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
, null
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
var ret = new Object();
ret.embedAttrs = new Object();
ret.params = new Object();
ret.objAttrs = new Object();
for (var i=0; i < args.length; i=i+2){
var currArg = args[i].toLowerCase();    

switch (currArg){	
case "classid":
break;
case "pluginspage":
ret.embedAttrs[args[i]] = args[i+1];
break;
case "src":
case "movie":	
args[i+1] = AC_AddExtension(args[i+1], ext);
ret.embedAttrs["src"] = args[i+1];
ret.params[srcParamName] = args[i+1];
break;
case "onafterupdate":
case "onbeforeupdate":
case "onblur":
case "oncellchange":
case "onclick":
case "ondblClick":
case "ondrag":
case "ondragend":
case "ondragenter":
case "ondragleave":
case "ondragover":
case "ondrop":
case "onfinish":
case "onfocus":
case "onhelp":
case "onmousedown":
case "onmouseup":
case "onmouseover":
case "onmousemove":
case "onmouseout":
case "onkeypress":
case "onkeydown":
case "onkeyup":
case "onload":
case "onlosecapture":
case "onpropertychange":
case "onreadystatechange":
case "onrowsdelete":
case "onrowenter":
case "onrowexit":
case "onrowsinserted":
case "onstart":
case "onscroll":
case "onbeforeeditfocus":
case "onactivate":
case "onbeforedeactivate":
case "ondeactivate":
case "type":
case "codebase":
ret.objAttrs[args[i]] = args[i+1];
break;
case "width":
case "height":
case "align":
case "vspace": 
case "hspace":
case "class":
case "title":
case "accesskey":
case "name":
case "id":
case "tabindex":
ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
break;
default:
ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
}
}
ret.objAttrs["classid"] = classid;
if (mimeType) ret.embedAttrs["type"] = mimeType;
return ret;
}
