var ie = document.all ? 1 : 0;
var ns6_up = (document.getElementById && !document.all) ? 1 : 0;
var ns4 = document.layers ? 1 : 0;

function setToolTipProperties(argToolTip, argLeft, argTop, argWidth, argText) {
	if (!ns4) {
		argToolTip.style.left = argLeft;
		argToolTip.style.top  = argTop;
		argToolTip.style.width  = argWidth;
		argToolTip.innerHTML = argText;
		
		if (argText.length > 0) {
			argToolTip.style.visibility = 'visible';
		} else {
			argToolTip.style.visibility = 'hidden';
		}
	} else {
		argToolTip.left = argLeft;
		argToolTip.top  = argTop;
		argToolTip.width  = argWidth;
		with(argToolTip.document) { 
			open(); 
			write(	'<table border="0" cellpadding="1" cellspacing="0" bgcolor="#000000" width="200">' +
					'	<tr>' +
					'		<td>' +
					'			<table border="0" cellpadding="2" cellspacing="0" bgcolor="#FFFFE7" width="100%">' +
					'				<tr>' +
					'					<td>' +
					'						<font size="1" face="Arial,Helvetica">' + argText + '</font>' +
					'					</td>' +
					'				</tr>' +
					'			</table>' +
					'		</td>' +
					'	</tr>' +
					'</table>' ); 
			close(); 
		}
		argToolTip.innerHTML = argText
		
		if (argText!='') {
			argToolTip.visibility = 'visible';
		} else {
			argToolTip.visibility = 'hidden';
		}
	}
}

function showToolTip(argElementName, argText, argEvent) {
	var oToolTip;
	var tooltipWidth, minToolTipVisibleHeight, posLeft, posTop;
	
	tooltipWidth = 200;
	minToolTipVisibleHeight = 100;
		
	if (ie) {
		oToolTip = eval("document.all." + argElementName);
		
		//posLeft = argEvent.clientX + document.body.scrollLeft - argEvent.offsetX + 15;
		//posTop = argEvent.clientY + document.body.scrollTop - argEvent.offsetY + 15;
		
		posLeft = argEvent.clientX + document.body.scrollLeft + 5;
		posTop = argEvent.clientY + document.body.scrollTop + 10;
	} else if (ns4) {
		oToolTip = document.layers[argElementName];
		
		posLeft = argEvent.pageX + 5;
		posTop = argEvent.pageY + 5;
		
		if ((posLeft + tooltipWidth) > (window.innerWidth + window.pageXOffset)) {
			posLeft = window.innerWidth + window.pageXOffset - tooltipWidth - 10;
		}
		
		if ((posTop + minToolTipVisibleHeight) > (window.innerHeight + window.pageYOffset)) {
			posTop = window.innerHeight + window.pageYOffset - minToolTipVisibleHeight;
		}
	} else { 
		oToolTip = eval("document.getElementById('" + argElementName + "')");
		
		posLeft = argEvent.pageX + 5;
		posTop = argEvent.pageY + 5;
		
		if (posLeft > (window.innerWidth + window.pageXOffset - tooltipWidth - 20)) {
			posLeft =  window.innerWidth + window.pageXOffset - tooltipWidth - 20;
		}


		if (posTop > (window.innerHeight + window.pageYOffset - minToolTipVisibleHeight)) {
			posTop =  window.innerHeight + window.pageYOffset - minToolTipVisibleHeight;
		}
	}
	
	if (!oToolTip) return;
	if (argText.length == 0) return true;
	
	setToolTipProperties(oToolTip, posLeft, posTop, tooltipWidth, argText);
	
	return true;
}

function hideToolTip(argElementName) {
	var oToolTip;
	
	if (ie) { oToolTip = eval("document.all." + argElementName); } 
	else if (ns4) { oToolTip = document.layers[argElementName]; } 
	else { oToolTip = eval("document.getElementById('" + argElementName + "')"); }
	
	if (!oToolTip) return;
	
	setToolTipProperties(oToolTip, 0, 0, 0, '');
	
	return true;
}

function Asias_Best() {
      window.open
           ('http://www.asiahotels.com/AsiasBest.asp','xyz','toolbar=no,location=no,directories=no,status=yes,menubar=no,resizable=no,copyhistory=no,scrollbars=yes,width=600,height=265');
      }

function Local_Rate(xHotel) {
	window.open('http://www.asiahotels.com/LocalRates.asp?hotel='+xHotel,'xyz','toolbar=no,location=no,directories=no,status=yes,menubar=no,resizable=yes,copyhistory=no,scrollbars=yes,width=720,height=500');
}


function DisplayTerms() {
       window.open('http://www.asiahotels.com/terms_and_condition.asp','terms','toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,copyhistory=no,scrollbars=No,width=680,height=350,top=250,left=180');
}


function OpenReview() {
       window.open('http://www.asiahotels.com/reviews.asp','reviews','toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,copyhistory=no,scrollbars=Yes,width=680,height=500,top=250,left=180');
}

function OpenPackage(xHotel) {
       window.open('/package/'+xHotel,'reviews','toolbar=no,location=yes,directories=no,status=no,menubar=no,resizable=no,copyhistory=no,scrollbars=Yes,width=680,height=500,top=250,left=180');
}

function OpenVideos(xCd) {       
    WindowF =  "resizable=no,scrollBars=no,menuBar=no,directories=no,toolBar=no,location=no,status=No,copyhistory=no,"; 
	WindowF +=  "width=830,height=420,screenX=200,screenY=200,top=200, left=250";
	var ErrorName = xCd;
	var newquotawin = window.open (ErrorName,  "Full_View" , WindowF);
	newquotawin.focus();
}


function room_view(what, what2, what3, what4) {					 
	reg3 = /`/gi;
	str3 = what2;
	what2 = str3.replace(reg3,"%27");
					
	reg3 = /#/gi;
	str3 = what2;
	what2 = str3.replace(reg3,"%23");
						
	reg3 = /&/gi;
	str3 = what2;
	what2 = str3.replace(reg3,"%26");
						
	reg3 = /&/gi;
	str3 = what3;
	what3 = str3.replace(reg3,"%26");
						
	WindowF =  "resizable=yes,scrollBars=yes,menuBar=no,directories=no,toolBar=no,location=no,status=No,"; 
	WindowF +=  "width=550,height=420,screenX=50,screenY=50,top=50, left=50";
	var ErrorName = "http://www.asiahotels.com/rooms_new.asp?room=" + what + "&caption=" + what2 + "&hotel=" + what3 + "&hotel_cd=" + what4 ;
	var newquotawin = window.open (ErrorName,  "Full_View" , WindowF);
	newquotawin.focus();
}


function DisplayCalendar(what) {   
   window.open('http://www.asiahotels.com/calendar.asp?what='+what,'calendar','titlebar=no,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,copyhistory=no,scrollbars=no,fullscreen=no,width=160,height=150,top=470,left=550');
}


function displayFormDate(x, what, what1, what2) {  

   /////////////////////
   //  CHECK IN DATE
   /////////////////////
   
   if (x=="IN"){
      opener.document.frmGethotel.outday1.options.selectedIndex=what-1;
      opener.document.frmGethotel.outmonth1.options.selectedIndex=what1-1;   
      if (what2<2){
         opener.document.frmGethotel.outyear1.options.selectedIndex=what2;
      }            
   }
   
   var oINyr = opener.document.frmGethotel.outyear1;
   var oINmo = opener.document.frmGethotel.outmonth1;
   var oINdy = opener.document.frmGethotel.outday1;
    
   var INDy = parseInt(oINdy.options[oINdy.selectedIndex].value);
   var INMo = parseInt(oINmo.options[oINmo.selectedIndex].value);
   var INYr = parseInt(oINyr.options[oINyr.selectedIndex].value);
     
   var chkIN = new Date(INYr, INMo-1, INDy)      
   var dayName = getDaysName(chkIN.getDay())
   
//   document.frmGethotel.tin.value = dayName;
   
   opener.document.getElementById('IN').innerHTML = dayName;
   document.frmGethotel.tin.value = dayName;
   
   /////////////////////
   // CHECK OUT DATE  //
   /////////////////////
   if (x=="OUT"){
      opener.document.frmGethotel.retday1.options.selectedIndex=what-1;
      opener.document.frmGethotel.retmonth1.options.selectedIndex=what1-1;   
      if (what2<2){
         opener.document.frmGethotel.retyear1.options.selectedIndex=what2;
      }                  
   }  
   
   var oOUTyr = opener.document.frmGethotel.retyear1;
   var oOUTmo = opener.document.frmGethotel.retmonth1;
   var oOUTdy = opener.document.frmGethotel.retday1;
    
   var OUTDy = parseInt(oOUTdy.options[oOUTdy.selectedIndex].value);
   var OUTMo = parseInt(oOUTmo.options[oOUTmo.selectedIndex].value);
   var OUTYr = parseInt(oOUTyr.options[oOUTyr.selectedIndex].value);
     
   var chkOUT = new Date(OUTYr, OUTMo-1, OUTDy)      
   var dayName = getDaysName(chkOUT.getDay())
                        
//   document.frmGethotel.tout.value = dayName;						
   opener.document.getElementById('OUT').innerHTML = dayName; 
  	
	document.frmGethotel.tout.value = dayName;
      
    //////////////////////  
   // number of nights
   //////////////////////
   var iDiff, iInSec, iMin, iHr, iDay;          
   iDiff = Date.parse(chkOUT.toString()) - Date.parse(chkIN.toString());
      	
   if (iDiff > 0) {
		iInSec = iDiff / 1000;
		iMin = iInSec / 60;
		iHr = iMin / 60;
		iDay = iHr / 24;					
//		opener.document.getElementById('NumNight').innerHTML = iDay + ' night(s)';			
		opener.document.getElementById('NumNight').innerHTML = iDay;			
   } else {        
//        opener.document.getElementById('NumNight').innerHTML = 2 + ' night(s)';
        opener.document.getElementById('NumNight').innerHTML = 2;
		determineCheckOutDate1();	
   }      
   self.close();
//   document.frmGethotel.submit();
}

function computeNumberOfNights() {

	var oINyr = document.frmGethotel.outyear1;
	var oINmo = document.frmGethotel.outmonth1;
	var oINdy = document.frmGethotel.outday1;
	
	var oOUTyr = document.frmGethotel.retyear1;
	var oOUTmo = document.frmGethotel.retmonth1;
	var oOUTdy = document.frmGethotel.retday1;
	
	var oNumNights = document.getElementById('NumNight').innerHTML;
	
	var INyr = parseInt(oINyr.options[oINyr.selectedIndex].value);
	var INmo = parseInt(oINmo.options[oINmo.selectedIndex].value);
	var INdy = parseInt(oINdy.options[oINdy.selectedIndex].value);
	
	var OUTyr = parseInt(oOUTyr.options[oOUTyr.selectedIndex].value);
	var OUTmo = parseInt(oOUTmo.options[oOUTmo.selectedIndex].value);
	var OUTdy = parseInt(oOUTdy.options[oOUTdy.selectedIndex].value);
	
	var oCheckInDate = new Date(INyr,INmo-1,INdy);
	var oCheckOutDate = new Date(OUTyr,OUTmo-1,OUTdy);
	var oCurrentDate = new Date();
	
	var iDiff, iInSec, iMin, iHr, iDay;	
	iDiff = Date.parse(oCheckOutDate.toString()) - Date.parse(oCheckInDate.toString());	
	
	if (iDiff > 0) {
		iInSec = iDiff / 1000;
		iMin = iInSec / 60;
		iHr = iMin / 60;
		iDay = iHr / 24;
				
//		document.getElementById('NumNight').innerHTML = iDay + ' night(s)';
		document.getElementById('NumNight').innerHTML = iDay;
//		document.getElementById('IN').innerHTML = getDaysName(oCheckInDate.getDay());
//	    document.getElementById('OUT').innerHTML = getDaysName(oCheckOutDate.getDay());
	} else {		    
//		document.getElementById('NumNight').innerHTML = 2 + ' night(s)';
		document.getElementById('NumNight').innerHTML = 2;
		determineCheckOutDate5();
	}		

//	alert ('Check in date: ' + oINdy.value + ' ' + getMonthName(oINmo.value) + ', ' + oINyr.value + '\n Check out date: ' + oOUTdy.value + ' ' + getMonthName(oOUTmo.value) + ', ' + oOUTyr.value) ;	

	document.frmGethotel.toutyear1.value 	= oINyr.value;
	document.frmGethotel.toutmonth1.value 	= oINmo.value;
	document.frmGethotel.toutday1.value 	= oINdy.value;
	document.frmGethotel.tretyear1.value 	= oOUTyr.value;
	document.frmGethotel.tretmonth1.value 	= oOUTmo.value;
	document.frmGethotel.tretday1.value 	= oOUTdy.value;	

	document.frmGethotel.tNumNight.value	= document.getElementById('NumNight').innerHTML;

	document.frmGethotel.submit();
}

function getMonthName(pMonth){     
   switch (pMonth) 
		{ 
		   case "1" : 
		      var monthName="Jan";
		      break; 
		   case "2" : 
		      var monthName="Feb";
		      break; 
		   case "3" : 
		      var monthName="Mar";
		      break; 
		   case "4" : 
		      var monthName="Apr";
		      break; 
		   case "5" : 
		      var monthName="May";
		      break;    
		   case "6" : 
		      var monthName="Jun";
		      break;    
		   case "7" : 
		      var monthName="Jul";
		      break;       
		   case "8" : 
		      var monthName="Aug";
		      break;       
		   case "9" : 
		      var monthName="Sep";
		      break;       
		   case "10" : 
		      var monthName="Oct";
		      break;       
		   case "11" : 
		      var monthName="Nov";
		      break;       
		   case "12" : 
		      var monthName="Dec";
		      break;       
	} 
   return monthName;
}

function getDaysName(pDay){     
   switch (pDay) 
		{ 
		   case 0 : 
		      var dayName="Sun";
		      break; 
		   case 1 : 
		      var dayName="Mon";
		      break; 
		   case 2 : 
		      var dayName="Tue";
		      break; 
		   case 3 : 
		      var dayName="Wed";
		      break; 
		   case 4 : 
		      var dayName="Thu";
		      break;    
		   case 5 : 
		      var dayName="Fri";
		      break;    
		   case 6 : 
		      var dayName="Sat";
		      break;       
		} 
   return dayName;
}

function determineCheckOutDate1() {    
	var iNumberOfNights = parseInt(opener.document.getElementById('NumNight').innerHTML);		
	var INyr = opener.document.frmGethotel.outyear1.options[opener.document.frmGethotel.outyear1.selectedIndex].value;
    var INmo = opener.document.frmGethotel.outmonth1.options[opener.document.frmGethotel.outmonth1.selectedIndex].value;
    var INdy = opener.document.frmGethotel.outday1.options[opener.document.frmGethotel.outday1.selectedIndex].value;      
	
	var oOUTyr = opener.document.frmGethotel.retyear1;
	
	var oCheckInDate = new Date(INyr,INmo-1,INdy);
	var oCheckOutDate = new Date(INyr,INmo-1,INdy);		
	var iCtr = 0;
	
	//set the oCheckInDate value based on the check-in date form value
	oCheckOutDate.setDate(parseInt(oCheckInDate.getDate()) + parseInt(iNumberOfNights));
	
	//set the drop-down lists selected values for Check-out date fields	
	opener.document.frmGethotel.retmonth1.options.selectedIndex = oCheckOutDate.getMonth();	
	opener.document.frmGethotel.retday1.options.selectedIndex = oCheckOutDate.getDate()-1;
	
	for(iCtr=0;iCtr<=oOUTyr.length;iCtr++) {
		if (oOUTyr.options[iCtr].value==oCheckOutDate.getFullYear()) {
			oOUTyr.options.selectedIndex = iCtr;
			break;
		}
	}
}

function determineCheckOutDate5(){    
	
	var iNumberOfNights = parseInt(document.getElementById('NumNight').innerHTML);
		
	var INyr = document.frmGethotel.outyear1.options[document.frmGethotel.outyear1.selectedIndex].value;
    var INmo = document.frmGethotel.outmonth1.options[document.frmGethotel.outmonth1.selectedIndex].value;
    var INdy = document.frmGethotel.outday1.options[document.frmGethotel.outday1.selectedIndex].value;      
	
	var oOUTyr = document.frmGethotel.retyear1;
	
	var oCheckInDate = new Date(INyr,INmo-1,INdy);
	var oCheckOutDate = new Date(INyr,INmo-1,INdy);
		
	var iCtr = 0;
//	var outin, retout;
	//set the oCheckInDate value based on the check-in date form value
	oCheckOutDate.setDate(parseInt(oCheckInDate.getDate()) + parseInt(2));
	
	//set the drop-down lists selected values for Check-out date fields	
	document.frmGethotel.retmonth1.options.selectedIndex = oCheckOutDate.getMonth();	
	document.frmGethotel.retday1.options.selectedIndex = oCheckOutDate.getDate()-1;
	document.getElementById('IN').innerHTML = getDaysName(oCheckInDate.getDay()); 	
	document.getElementById('OUT').innerHTML = getDaysName(oCheckOutDate.getDay()); 
	
//	document.getElementById('NumNight').innerHTML = ' 2 night(s)'
	document.getElementById('NumNight').innerHTML = '2';
		
	for(iCtr=0;iCtr<=oOUTyr.length;iCtr++) {
		if (oOUTyr.options[iCtr].value==oCheckOutDate.getFullYear()) {
			oOUTyr.options.selectedIndex = iCtr;
			break;
		}
	}
	return true;
}