
function getElements() {
  var elements = new Array();
  for (var i = 0; i < arguments.length; i++)   {
    var element = arguments[i];
        if (typeof element == 'string')
      element = document.getElementById(element);

    if (arguments.length == 1)
      return element;

    elements.push(element);
  }
  return elements;
}
function tabselected (tabId, tablistId) 
{
	var tab = getElements(tabId);
  var tabSubClassName = tab.className.substring(0, tab.className.indexOf('-'));
  var tablist = getElements(tablistId).getElementsByTagName('div');
  for (var i=0; i < tablist.length; i++)
  {
    if (tablist[i].id == tab.id)
    {
      tab.className = tabSubClassName + '-selected';
		} 
		else 
		{
      tablist[i].className=tabSubClassName +'-unselected';
		};
  }
}
function paneselected (paneId, panelistId) 
{
	var pane = getElements(paneId);
  var panelist = getElements(panelistId).getElementsByTagName('div');
  for (var i=0; i < panelist.length; i++)
		{
			if (panelist[i].id == pane.id) 
			{
      pane.className='pane-selected';
			} 
			else 
			{
      panelist[i].className ='pane-unselected';   
			}
		}
}
/*****************************************************************************/

  var now = new Date();
  var month = new Date(fixYear(now.getFullYear()), fixMonth(now.getMonth()), now.getDate());
  var months = new Array( "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep","Oct", "Nov", "Dec" );
	
	function fixYear( year )
  {
      return( year < 1000 ? year + 1900 : year );
  }
  function fixMonth( month )
  {
      return( month < 0 ? month + 12 : (month > 11 ? month - 12 : month) );
  }      
  function getNumberDays( d )
  {
          switch( d.getMonth() + 1 )
          {
            case 1: case 3: case 5: case 7:
            case 8: case 10: case 12:
              return( 31 );
            case 4: case 6: case 9: case 11:
              return( 30 );
            case 2:
              return( 28 + ( d.getFullYear % 4 == 0 ? 1 : 0 ) );
          }
  }
  
	function compareDate (dobj1, dobj2)
	{
			if (dobj1.getFullYear() == dobj2.getFullYear())
			{
				if (dobj1.getMonth() == dobj2.getMonth())
				{
					return (dobj1.getDate() < dobj2.getDate())
				}else
				{
					return (dobj1.getMonth() < dobj2.getMonth())
				}	
					
			}else
			{
				return (dobj1.getFullYear() < dobj2.getFullYear())
			}
	}   
  function setDateOption(month, dobj)
  {  
			var numDays = getNumberDays( month );
      var startDate  = month.getDate();
     
      dobj.length = numDays;
      for( var i = 0 ; i < numDays ; i++ )
      {
				dobj.options[i].value = i + 1;
				dobj.options[i].text = i + 1;
				if (startDate == i+1)
        {
					dobj.options[i].selected = true;
				}
			}
   }
    
		function chgDate(yobj, mobj, dobj)
		{
			var nobj = document.forms[0].nights;
			var outdmyobj = document.forms[0].checkout;
			inputdateobj = document.forms[0].inputdate;	
			var rtn = getCheckin(yobj, mobj, dobj);
			inputdateobj.value = rtn;	
			chgNights(nobj, yobj, mobj, dobj, outdmyobj);
    }
    function chgMonth(yobj, mobj, dobj)
    {
				var y = fixYear(parseInt(yobj.options[yobj.selectedIndex].value));
				var m = fixMonth(parseInt(mobj.options[mobj.selectedIndex].value));
				month = new Date(y, m, 1); 
				mobj.selectedIndex = month.getMonth();
				mobj.options[mobj.selectedIndex].value = month.getMonth(); 
				mobj.options[mobj.selectedIndex].text = months[month.getMonth()]; 
				setDateOption(month, dobj);
				dobj.selectedIndex = month.getDate()-1;
				dobj.options[dobj.selectedIndex].value = month.getDate(); 
				dobj.options[dobj.selectedIndex].text = month.getDate(); 
				
				var nobj = document.forms[0].nights;
				var outdmyobj = document.forms[0].checkout;
				inputdateobj = document.forms[0].inputdate;
				nobj.value = '1';
				var rtn = getCheckin(yobj, mobj, dobj)	
				inputdateobj.value = rtn;	
				chgNights(nobj, yobj, mobj, dobj, outdmyobj);
				
    }
    function chgYear(yobj, mobj, dobj)
    {
				var y = fixYear(parseInt(yobj.options[yobj.selectedIndex].value));
				month = new Date(y, 0, 1);
				mobj.selectedIndex = month.getMonth();
				mobj.options[mobj.selectedIndex].value = month.getMonth(); 
				mobj.options[mobj.selectedIndex].text = months[month.getMonth()];
				setDateOption(month, dobj); 
				dobj.selectedIndex = month.getDate()-1;
				dobj.options[dobj.selectedIndex].value = month.getDate(); 
				dobj.options[dobj.selectedIndex].text = month.getDate();
				
				var nobj = document.forms[0].nights;
				var outdmyobj = document.forms[0].checkout;
				inputdateobj = document.forms[0].inputdate;
				nobj.value = '1';
				var rtn = getCheckin(yobj, mobj, dobj)
				inputdateobj.value = rtn;		
				chgNights(nobj, yobj, mobj, dobj, outdmyobj); 
    }
          
    function getCheckout(nobj, inyobj, inmobj, indobj)
    {
			var n = parseInt(nobj.options[nobj.selectedIndex].value);
			var ind = parseInt(indobj.options[indobj.selectedIndex].value);
			var inm = parseInt(inmobj.options[inmobj.selectedIndex].value);
			var iny = parseInt(inyobj.options[inyobj.selectedIndex].value);
			var numDaysinM = getNumberDays(month);
			var outDate =((ind + n)>numDaysinM ? (ind + n)%numDaysinM : (ind + n));
			var outMonth = ( (ind + n) > numDaysinM ? fixMonth(inm + 1) : inm );	
			var outYear = ( outMonth < inm ? fixYear(iny + 1):iny);
			return (outDate + ' ' +  months[outMonth] + ' ' + outYear);    
    } 
    function chgNights(nobj, inyobj, inmobj, indobj, outdmyobj)
    {
			var input = getCheckout(nobj, inyobj, inmobj, indobj);
			outdmyobj.value = input;
    }
    
    function LZ(x) {return(x<0||x>9?"":"0")+x}
    function getDateString(y_obj,m_obj,d_obj) 
		{
			var y = y_obj.options[y_obj.selectedIndex].value;
			var mNum = parseInt(m_obj.options[m_obj.selectedIndex].value) + 1;
			var m = LZ(mNum.toString());
			var d = LZ(d_obj.options[d_obj.selectedIndex].value);

			var str = d+'/'+m+'/'+y;
			return (str)
		}
		function getCheckin(inyobj, inmobj, indobj)
		{
			var inputdateval = getDateString(inyobj, inmobj, indobj);
			return (inputdateval);
		}
    function plusDate(days, startDate)
    {
			var numDaystartM = getNumberDays(startDate);
			var startD = startDate.getDate();
			var startM = startDate.getMonth();
			var startY = startDate.getFullYear();
			var plusD =((startD + days)>numDaystartM ? (startD + days)%numDaystartM : (startD + days));
			var plusM = ((startD + days)>numDaystartM ? fixMonth(startM + 1) : startM);	
			var plusY = (plusM < startM ? fixYear(startY + 1): startY);
			var plusDate = new Date (fixYear(plusY), fixMonth(plusM), plusD);
			return (plusDate);    
    }
    function DateOBJ2String(date_obj) 
		{
			var dateD = date_obj.getDate();
			var dateM = date_obj.getMonth() + 1;
			var dateY = date_obj.getFullYear();
			var y = dateY.toString();
			var m = LZ(dateM.toString());
			var d = LZ(dateD.toString());
			var str = m+'/'+d+'/'+y;
			return (str)
		}
    
    function verifyDate(formobj)
    {
			var inDobj = formobj.inDT;
			var inMobj = formobj.inMTH;
			var inYobj = formobj.inYR;
			var ind = parseInt(inDobj.options[inDobj.selectedIndex].value);
			var inm = parseInt(inMobj.options[inMobj.selectedIndex].value);
			var iny = parseInt(inYobj.options[inYobj.selectedIndex].value);
			var checkin = new Date (fixYear(iny), fixMonth(inm), ind);
			var today = new Date();
			
			var checkoutDate = formobj.checkout;
			var chkoutArr = new Array();
			chkoutArr = (checkoutDate.value).split(" ");
			var outd = parseInt(chkoutArr[0]);
			var outmn = chkoutArr[1];
			var i = 0
			while (months[i] != outmn)
			{
				i = i + 1
			}
			var outm = i;					
			var outy = parseInt(chkoutArr[2]);
			var checkout = new Date (fixYear(outy), fixMonth(outm), outd);
			var today28 = plusDate(28, today);
			
			//if (compareDate(checkin, today))
			//{
				//alert ("Check in date is before today date. Please re-select date"); 
				//return false;
			//} 
    
			//if (compareDate(today28, checkout))
			//{
				//alert ("Check out date is after in-4-week date. Please re-select check in date and/or re-select number of nights to stay"); 
				//return false;
			//}
			
			return true
    }

function setCookie(c_name,value,expiredays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name + '=' +escape(value)+';path=/'+
((expiredays==null) ? '' : ';expires='+exdate.toGMTString());
}
function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    {
    c_start=c_start + c_name.length+1;
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    }
  }
return "";
}

function framesonload(dateobj, formobj)
{
  var indobj = formobj.inDT;
  var inmobj = formobj.inMTH;
  var inyobj = formobj.inYR;
  var inputdateobj = formobj.inputdate;
  var nobj = formobj.nights;
  var outdmyobj = formobj.checkout;
  var mpobj = formobj.maxp;
  var starobj = formobj.star;
  
  var startDate  = dateobj.getDate();
  var startMonth = dateobj.getMonth();
  var startYear = dateobj.getFullYear();
  
  inyobj.selectedIndex = 0;
  nobj.selectedIndex = 0;
  mpobj.value = '';
  starobj.selectedIndex = 0;
  
  var sCurrentSearch = getCookie('startDate');
  if (sCurrentSearch!=null && sCurrentSearch!="" && sCurrentSearch!=" ")
  {
      startDate = getCookie('startDate');
      startMonth = getCookie('startMonth');
      nobj.selectedIndex = getCookie('nights');
      starobj.selectedIndex = getCookie('stars');
      mpobj.value = getCookie('maxp');
      
      var cookiedateobj = new Date (fixYear(startYear), fixMonth(startMonth), startDate);
      
			if (compareDate (cookiedateobj, dateobj))
			{
				startDate  = dateobj.getDate();
				startMonth = dateobj.getMonth();
				nobj.selectedIndex = 0;
				mpobj.value = '';
				starobj.selectedIndex = 0;
				
				indobj.selectedIndex = startDate - 1;
				inmobj.selectedIndex = startMonth;
				var rtn = getCheckin(inyobj, inmobj, indobj);
				inputdateobj.value = rtn
				var input = getCheckout(nobj, inyobj, inmobj, indobj);
				outdmyobj.value = input;  
				
			}
			else
			{
				indobj.selectedIndex = startDate - 1;
				inmobj.selectedIndex = startMonth;
				var rtn = getCheckin(inyobj, inmobj, indobj);
				inputdateobj.value = rtn
				var input = getCheckout(nobj, inyobj, inmobj, indobj);
				outdmyobj.value = input;  
				
				search('ilivedeals');
			}    
   }; 
  
  indobj.selectedIndex = startDate - 1;
  inmobj.selectedIndex = startMonth;
	var rtn = getCheckin(inyobj, inmobj, indobj);
  inputdateobj.value = rtn
  var input = getCheckout(nobj, inyobj, inmobj, indobj);
  outdmyobj.value = input;  
}

function search(ifrmid)
{
	var recorded=new Date();
  setCookie('startDate',document.forms[0].inDT.selectedIndex+1,15);
  setCookie('startMonth',document.forms[0].inMTH.selectedIndex,15);
  setCookie('nights',document.forms[0].nights.selectedIndex,15);
  setCookie('stars',document.forms[0].star.selectedIndex,15);
  if (document.forms[0].maxp!=null && document.forms[0].maxp!="")
    {
    setCookie('maxp',document.forms[0].maxp.value,15);
    }
    else
		{
    setCookie('maxp','',15);
    }
  setCookie('recorded',recorded.toGMTString(),15);
	
  contentselected('please_wait_content'); 
  tabselected('live_deals','tabs');
  frames[ifrmid].search(parent.document.forms[0]);
  setTimeout('showlivedealspt2()', 100)
}

var checkinCalendar = new CalendarPopup('calendar');
checkinCalendar.setCssPrefix("CHECKIN");
var date = new Date();
date.setDate(date.getDate() - 1);
checkinCalendar.addDisabledDates(null,formatDate(date,"MM/dd/yyyy"));
date.setDate(date.getDate() + 29);
checkinCalendar.addDisabledDates(formatDate(date,"MM/dd/yyyy"), null);
checkinCalendar.setReturnFunction("setMultipleSelectValues");
  		
function setMultipleSelectValues(y,m,d) 
{
	for (var i=0; i<document.forms[0].inDT.options.length; i++) 
	{
		if (document.forms[0].inDT.options[i].value==d) 
		{
			document.forms[0].inDT.selectedIndex=i;
		}
	}
	for (var i=0; i<document.forms[0].inMTH.options.length; i++) 
	{
		if (document.forms[0].inMTH.options[i].value==m-1) 
		{
			document.forms[0].inMTH.selectedIndex=i;
		}
	}
	for (var i=0; i<document.forms[0].inYR.options.length; i++) 
	{
		if (document.forms[0].inYR.options[i].value==y) 
		{
			document.forms[0].inYR.selectedIndex=i;
		}
	}
	var nobj = document.forms[0].nights;
	var inyobj = document.forms[0].inYR;
	var inmobj = document.forms[0].inMTH;
	var indobj = document.forms[0].inDT;
	
	var inputdateobj = document.forms[0].inputdate;
	var rtn = getCheckin(inyobj, inmobj, indobj);
	inputdateobj.value = rtn
	
	var outdmyobj =document.forms[0].checkout;	
	chgNights(nobj, inyobj, inmobj, indobj, outdmyobj);
}
		
var overtop =  '<div style="background-color:#d9edff;border:1px solid #63b3fd;margin:0px;padding:0px;">' + 
               '<form style="margin:2px;" id="searchform" name="searchform">' + 
               '<table border="0" cellpadding="0" cellspacing="0" style="margin:0px;padding:0px;width:818px;">' +
               '<tr><td colspan="5" style="padding:8px 0px 5px 0px;"><font size="2"><b>&nbsp;Advanced Search</b></font></td></tr>' +
               '<tr><td width="200" style="padding:5px 0px 5px 0px;"><font size="1">&nbsp;Check In Date:</font>' +
               '<div style="display:none">' +
               '<select name="inDT" id="inDT" onchange="chgDate(document.forms[0].inYR, document.forms[0].inMTH, document.forms[0].inDT);">';
                              
               
     var numDays = getNumberDays( month );
     for( var i = 0 ; i < numDays; i++ )
     { 
       overtop = overtop + '<option value="' + (i+1) + '"' + '>' + (i+1) + '</option>';
     }

overtop = overtop + '</select>';
overtop = overtop + '<select name="inMTH" id="inMTH" onchange="chgMonth(document.forms[0].inYR, document.forms[0].inMTH, document.forms[0].inDT);">';

   for( var i = 0 ; i <= 11 ; i++ )
   {
     overtop = overtop + '<option value="' + i + '"' + '>' + months[i] + '</option>' ;
   }
           
overtop = overtop + '</select>' +
          '<select name="inYR" id="inYR" onchange="chgYear(document.forms[0].inYR, document.forms[0].inMTH, document.forms[0].inDT);">'
  
   var startYear  = fixYear(month.getFullYear());
   var endYear = fixYear(startYear + 1);
   overtop = overtop + '<option value="' + startYear + '"' + '>' + startYear + '</option>';
   overtop = overtop + '<option value="' + endYear + '">' + endYear + '</option>';
	

overtop = overtop + '</select>' + 
         '</div>' + 
         '<input name="inputdate" id="inputdate" type="text" size="8" maxlength="10" readOnly="true" value="">' + '</input>';
         
				 
var overtop2 =  '</td>' + 
                '<td width="90">' +
                '<font size="1">Nights </font>'+
                '<select name="nights" id="nights" onchange="chgNights(document.forms[0].nights, document.forms[0].inYR, document.forms[0].inMTH, document.forms[0].inDT, document.forms[0].checkout);">';


	  for( var i = 0 ; i <=27 ; i++ )
           {
             overtop2 = overtop2 + '<option value="' + (i+1) + '"' + '>' + (i+1) + '</option>' ;
           }
					
overtop2 = overtop2 + '</select>' + 
          '</td> ' +
          '<td width="205">' +
          '<font size="1">Check Out Date: </font>';
          
overtop2 = overtop2 + '<input name="checkout" id="checkout" type="text" readOnly="true" size="9" maxlength="10" value="">' + '</input>' + 
           '</td>' + 
           '<td width="120">' +
           '<font size="1">Max. Price </font>' +
           '<input id="maxp" name="maxp" type="text" size="3" maxlength="4" value=""></input>' +
           '</td>' +
           '<td width="200">' +
           '<font size="1">Min. Rating </font>' +
           '<select name="star" id="star">' +
					 '<option value="2">2 star &amp; below</option>' +
					 '<option value="2.5">2.5 star</option>' +
					 '<option value="3">3 star</option>' +
					 '<option value="3.5">3.5 star</option>' +
					 '<option value="4">4 star</option>' +
					 '<option value="4.5">4.5 star</option>' +
					 '<option value="5">5 star</option>' +
				'</select>' +
		'</td><td width="5">';
		
var overtop3 = '</td>' + 
               '</tr>' +    
               '</table>' + 									
               '</form>' + 
               '</div>';		

function isNumber(str)
{
	var notNum = isNaN(str);
	return (!(notNum));
}
function verifyMaxPrice(str)
{
 if (isNumber(str))
 {
	return true;
 }else
 {
	alert ('Max Price is not a number. Please re-enter amount');
	return false;   
 } 
}	
function convertCheckinDate2hrIndex(formobj)
{
			var inDobj = formobj.inDT;
			var inMobj = formobj.inMTH;
			var inYobj = formobj.inYR;
			var ind = parseInt(inDobj.options[inDobj.selectedIndex].value);
			var inm = parseInt(inMobj.options[inMobj.selectedIndex].value);
			var iny = parseInt(inYobj.options[inYobj.selectedIndex].value);
			var checkin = new Date (fixYear(iny), fixMonth(inm), ind);
				
			var today = new Date();
			var numDaysMth = getNumberDays(today);
			var today27 = plusDate(27, today);
			
			if ( fixMonth(today.getMonth()) == fixMonth(today27.getMonth()) )
			{ 
				var i = ind - today.getDate();
			}else
			{
				if ( fixMonth(inm) == fixMonth(today.getMonth()) )
				{
					var i = ind - today.getDate();
				}else
				{
					var i = (numDaysMth - today.getDate()) + ind  	
				}
			}  
			return i;
}

