var strServletUrl;
var strPortalName;
var strTypeOfProcessing;

var DateFactor  = 60*1000*60*24;
var JavaSysDate = new Date();

var MinimumNoOfNights = 1;
var MaximumNoOfNights = 31;

var AddDaysToCurrent = 0;

var NumRooms;
var NumAdults;
var NumChild;
var CheckIn;
var CheckOut;

var childActive;

var varStartNo='1';
var varEndNo;

function logOutAgentReservationScreens(){

		document.user.step.value=13;
		document.user.action  = 'http://bookings.roomsnet.com/servlets/CANARY/CANARY_AgentHome';
		document.user.target  = '';		
		document.user.submit();
		
}


// Destination filtering function 
function fnFillDestinationsTest(filterBy)
{	
	
	var CountryCode = document.form1.selCountry ? document.form1.selCountry.options[document.form1.selCountry.selectedIndex].value : document.form1.hidAffCountryCode ? document.form1.hidAffCountryCode.value : "";
	var StateCode = document.form1.selState ? document.form1.selState.options[document.form1.selState.selectedIndex].value : document.form1.hidAffStateCode ? document.form1.hidAffStateCode.value :"";
	var CityCode = document.form1.selCity ? document.form1.selCity.options[document.form1.selCity.selectedIndex].value : document.form1.hidAffCityCode ? document.form1.hidAffCityCode.value :"";
	var CatCode = document.form1.sel_hot_cat ? document.form1.sel_hot_cat.options[document.form1.sel_hot_cat.selectedIndex].value : "";
	var HotelCode = document.form1.selHotel ? document.form1.selHotel.options[document.form1.selHotel.selectedIndex].value : document.form1.hidAffHotelCode ? document.form1.hidAffHotelCode.value :"";
	var refresh = false;
	if(filterBy == 'country')
	{
		if(document.form1.selState){document.form1.selState.selectedIndex = 0;StateCode = "All"; refresh = true;}
		if(document.form1.selCity){document.form1.selCity.selectedIndex = 0;CityCode = "All"; refresh = true;}
		if(document.form1.sel_hot_cat){document.form1.sel_hot_cat.selectedIndex = 0;CatCode = "All"; refresh = true;}		
		if(document.form1.selHotel){document.form1.selHotel.selectedIndex = 0;HotelCode = "All"; refresh = true;}
		if(!refresh){return;}
	}
	else if(filterBy == 'state')
	{		 
		if(document.form1.selCity){document.form1.selCity.selectedIndex = 0;CityCode = "All"; refresh = true;}
		if(document.form1.sel_hot_cat){document.form1.sel_hot_cat.selectedIndex = 0;CatCode = "All"; refresh = true;}				
		if(document.form1.selHotel){document.form1.selHotel.selectedIndex = 0;HotelCode = "All"; refresh = true;}
		if(!refresh){return;}
	}else if(filterBy == 'city'){
	
		if(document.form1.sel_hot_cat){document.form1.sel_hot_cat.selectedIndex = 0;CatCode = "All"; refresh = true;}				
		if(document.form1.selHotel){document.form1.selHotel.selectedIndex = 0;HotelCode = "All"; refresh = true; }
			
	}else if(filterBy == 'catagory')
	{
		if(document.form1.selHotel){document.form1.selHotel.selectedIndex = 0;HotelCode = "All";}else{return;}
	}
	else
	{
		return;
	}
	var aff = '';
	if(document.form1.affcode)
	{
		aff = '&affcode='+document.form1.affcode.value;
	}
	document.location  = strServletUrl+ strPortalName+ '_EntryOfSearchCriteria?CtryCd='+CountryCode+'&StateCd='+StateCode+'&CityCd='+CityCode+'&CatCode='+CatCode+'&HotelCd='+HotelCode+aff;
}

// Destination filtering function 
function fnFillDestinationsAgent(filterBy)
{	
	var CountryCode = document.form1.selCountry ? document.form1.selCountry.options[document.form1.selCountry.selectedIndex].value : document.form1.hidAffCountryCode ? document.form1.hidAffCountryCode.value : "";
	var StateCode = document.form1.selState ? document.form1.selState.options[document.form1.selState.selectedIndex].value : document.form1.hidAffStateCode ? document.form1.hidAffStateCode.value :"";
	var CityCode = document.form1.selCity ? document.form1.selCity.options[document.form1.selCity.selectedIndex].value : document.form1.hidAffCityCode ? document.form1.hidAffCityCode.value :"";
	var CatCode = document.form1.sel_hot_cat ? document.form1.sel_hot_cat.options[document.form1.sel_hot_cat.selectedIndex].value : "";	
	var HotelCode = document.form1.selHotel ? document.form1.selHotel.options[document.form1.selHotel.selectedIndex].value : document.form1.hidAffHotelCode ? document.form1.hidAffHotelCode.value :"";
	var refresh = false;
	if(filterBy == 'country')
	{
		if(document.form1.selState){document.form1.selState.selectedIndex = 0;StateCode = "All"; refresh = true;}
		if(document.form1.selCity){document.form1.selCity.selectedIndex = 0;CityCode = "All"; refresh = true;}
		if(document.form1.sel_hot_cat){document.form1.sel_hot_cat.selectedIndex = 0;CatCode = "All"; refresh = true;}				
		if(document.form1.selHotel){document.form1.selHotel.selectedIndex = 0;HotelCode = "All"; refresh = true;}
		if(!refresh){return;}
	}
	else if(filterBy == 'state')
	{		 
		if(document.form1.selCity){document.form1.selCity.selectedIndex = 0;CityCode = "All"; refresh = true;}
		if(document.form1.sel_hot_cat){document.form1.sel_hot_cat.selectedIndex = 0;CatCode = "All"; refresh = true;}				
		if(document.form1.selHotel){document.form1.selHotel.selectedIndex = 0;HotelCode = "All"; refresh = true;}
		if(!refresh){return;}
	}
	else if(filterBy == 'city')
	{
		if(document.form1.sel_hot_cat){document.form1.sel_hot_cat.selectedIndex = 0;CatCode = "All"; refresh = true;}					
		if(document.form1.selHotel){document.form1.selHotel.selectedIndex = 0;HotelCode = "All";}else{return;}
	}
	else if(filterBy == 'catagory')
	{
		if(document.form1.selHotel){document.form1.selHotel.selectedIndex = 0;HotelCode = "All";}else{return;}
	}
	else
	{
		return;
	}
	
	document.form1.CtryCd.value=CountryCode;
	document.form1.StateCd.value=StateCode;
	document.form1.CityCd.value=CityCode;
	document.form1.HotelCd.value=HotelCode;	
	document.form1.CatCode.value=CatCode;	
	document.form1.step.value='1';
	document.form1.action  = strServletUrl+ strPortalName+ '_AgentHome';
	document.form1.submit();
}


// Normal & affiliate search function
function fnSearch(type)
{

	var CountryCode = 'All';
	var CountryDesc = 'All';
	var StateCode = 'All';
	var StateDesc = 'All';	
	var CityCode = 'All';
	var CityDesc = 'All';
	var HotelCode = 'All';
	var HotelDesc = 'All';

	var OrderVal = getOrderValue();
	
	
	if(document.form1.selCountry)
	{
		CountryCode = document.form1.selCountry.options[document.form1.selCountry.selectedIndex].value;
		if(CountryCode != 'All')
		{
			CountryDesc = document.form1.selCountry.options[document.form1.selCountry.selectedIndex].text;
		}
	}
	if(document.form1.hidAffCountry)
	{
		CountryCode = document.form1.hidAffCountryCode.value;
		CountryDesc = document.form1.hidAffCountryDesc.value;
	}
	
	
	if (document.form1.selState) 
	{
		StateCode = document.form1.selState.options[document.form1.selState.selectedIndex].value;
		if(StateCode != 'All')
		{
			StateDesc=document.form1.selState.options[document.form1.selState.selectedIndex].text;
		}
	}
	
	if(document.form1.hidAffStateCode)
	{
		StateCode = document.form1.hidAffStateCode.value;
		StateDesc = document.form1.hidAffStateDesc.value;
	}
	
	if (document.form1.selCity) 
	{
		CityCode = document.form1.selCity.options[document.form1.selCity.selectedIndex].value;
		if(CityCode != 'All')
		{
			CityDesc=document.form1.selCity.options[document.form1.selCity.selectedIndex].text;
		}
		
	} 
	if(document.form1.hidAffCityCode)
	{
		
		CityCode = document.form1.hidAffCityCode.value;
		CityDesc = document.form1.hidAffCityDesc.value;
	}
	
	
	
	if(document.form1.selHotel)
	{
		HotelCode = document.form1.selHotel.options[document.form1.selHotel.selectedIndex].value;
		if(HotelCode!='All')
		{
			HotelDesc = document.form1.selHotel.options[document.form1.selHotel.selectedIndex].text;
		}
	}
	if(document.form1.hidAffHotelCode)
	{
		HotelCode = document.form1.hidAffHotelCode.value;
		HotelDesc = document.form1.hidAffHotelDesc.value;
	}


	if(!CheckInDateAfterToday())
	{		
		setDate(document.form1, AddDaysToCurrent);
//		setDeparture(document.form1,MinimumNoOfNights);
//		setDuration();
		alert("The arrival date should be greater than or same as today's date.");
		return;
	}

/*	
	if(!CheckOutDateAfterCheckInDate())
	{
		setDate(document.form1, AddDaysToCurrent);
		setDeparture(document.form1,MinimumNoOfNights);	
		setDuration();
		alert("Please select a valid check-out date. Check-in date should be prior to check-out.");
		return;
	}
	
	
	if(!NoOfNightsLessMax())
	{
		setDate(document.form1, AddDaysToCurrent);
		setDeparture(document.form1,MinimumNoOfNights);
		setDuration();
		alert("Bookings cannot be greater than "+MaximumNoOfNights+" day(s)");
		return;
	}
	
	if(!NoOfNightsGreatMin())
	{
		setDate(document.form1, AddDaysToCurrent);
		setDeparture(document.form1,MinimumNoOfNights);
		setDuration();
		alert("Bookings cannot be less than "+MinimumNoOfNights+" day(s)");
		return;
	}
	
	
*/
	
	if(Number(document.form1.selRooms.options[document.form1.selRooms.selectedIndex].value)>Number(document.form1.selAdults.options[document.form1.selAdults.selectedIndex].value))
	{
		document.form1.selRooms.selectedIndex=0;
		document.form1.selAdults.selectedIndex=0;
		alert("Number of rooms cannot be greater than number of adults");
		return;
	}
	
	var aff = '';
	if(document.form1.affcode)
	{
		aff = '&affcode='+document.form1.affcode.value;
	}
		
	var CheckInDate=document.form1.selStartDate.options[document.form1.selStartDate.selectedIndex].value+'-'+document.form1.selStartMonth.options[document.form1.selStartMonth.selectedIndex].value+'-'+document.form1.selStartYear.options[document.form1.selStartYear.selectedIndex].value;
//	var CheckOutDate=document.form1.selEndDate.options[document.form1.selEndDate.selectedIndex].value+'-'+document.form1.selEndMonth.options[document.form1.selEndMonth.selectedIndex].value+'-'+document.form1.selEndYear.options[document.form1.selEndYear.selectedIndex].value;
	var NumNights=document.form1.selNights.options[document.form1.selNights.selectedIndex].value;
	var NumRooms=document.form1.selRooms.options[document.form1.selRooms.selectedIndex].value;
	var NumAdults=document.form1.selAdults.options[document.form1.selAdults.selectedIndex].value;
	
	
	var CatCode= "All";
	
	if(document.form1.sel_hot_cat){
	
		CatCode = document.form1.sel_hot_cat.options[document.form1.sel_hot_cat.selectedIndex].value;    
		
    }

	
	
	x_date=getDateAdded(getCheckInDate(), NumNights);


	var zero_str_date1="";
	if(Number(document.form1.selStartDate.options[document.form1.selStartDate.selectedIndex].value)<10){
	zero_str_date1="0";
	}else{
	zero_str_date1="";
	}
	var zero_str_month1="";
	if(Number(document.form1.selStartMonth.options[document.form1.selStartMonth.selectedIndex].value)<10){
	zero_str_month1="0";
	}else{
	zero_str_month1="";
	}


	var zero_str_date="";
	if(x_date.getDate()<10){
	zero_str_date="0";
	}else{
	zero_str_date="";
	}
	var zero_str_month="";
	if((x_date.getMonth()+1)<10){
	zero_str_month="0";
	}else{
	zero_str_month="";
	}




	var mk_year = x_date.getYear().toString();
	if (mk_year.length == 3) {
     	mk_year = '20' + mk_year.substr(1,3) + '';
 		}

	var CheckOutDate=zero_str_date+x_date.getDate()+'-'+zero_str_month+(x_date.getMonth()+1)+'-'+ mk_year;
	
//	var CheckOutDate=zero_str_date+x_date.getDate()+'-'+zero_str_month+(x_date.getMonth()+1)+'-'+x_date.getYear();
	
	
	
	
	
	if(document.form1.selChild)
		var NumChild=document.form1.selChild.options[document.form1.selChild.selectedIndex].value;
	else
		var NumChild='0';
	if(type=='AGENT')
	{
		document.form1.CtryCd.value=CountryCode;
		document.form1.StateCd.value=StateCode;
		document.form1.CityCd.value=CityCode;
		document.form1.HotelCd.value=HotelCode;	
		document.form1.Order.value=OrderVal;	
		document.form1.CtryDes.value=CountryDesc;	
		document.form1.StateDes.value=StateDesc;	
		document.form1.CityDes.value=CityDesc;			
		document.form1.HotelDes.value=HotelDesc;	
		document.form1.CheckIn.value=CheckInDate;	
		document.form1.CheckOut.value=CheckOutDate;	
		document.form1.Nights.value=NumNights;	
		document.form1.Rooms.value=NumRooms;	
		document.form1.Adults.value=NumAdults;	
		document.form1.Child.value=NumChild;
		document.form1.CatCode.value=CatCode;
		document.form1.step.value='20';
		document.form1.target='';
		document.form1.action  = strServletUrl+ strPortalName+ '_AgentHome';
		document.form1.submit();
	}
	else
	{	
		target='';
		location  = strServletUrl + strPortalName + '_ChildAgeBreakdown?Type=' + strTypeOfProcessing+ '&Order='+OrderVal+'&CtryCd='+CountryCode+'&CtryDes='+CountryDesc+'&StateCd='+StateCode+'&StateDes='+StateDesc+'&CityCd='+CityCode+'&CityDes='+CityDesc+'&HotelCd='+HotelCode+'&HotelDes='+HotelDesc+'&CheckIn='+CheckInDate+'&CheckOut='+CheckOutDate+'&Nights='+NumNights+'&Rooms='+NumRooms+'&Adults='+NumAdults+'&Child='+NumChild+aff+'&CatCode='+CatCode+'&StartNo='+varStartNo+'&EndNo='+varEndNo;		
	}
}

function CheckInDateAfterToday_1()
{   
	return getDateDifference(JavaSysDate, getCheckInDate()) < -1 ? false : true;
}


function setStartEndNo(strStartNo,strEndNo,strAgeList,Type){

if(Type=="AGENT"){
	
	document.form1.step.value='2';	
	document.form1.StartNo.value=strStartNo;
	document.form1.EndNo.value=strEndNo;
	document.form1.action  = strServletUrl+ strPortalName+'_AgentHome?'+strAgeList;
	document.form1.submit();
	
	}
	
}

// Hotel booking link search function
function fnSearchLink()
{	
	var HotelCode=document.form1.HotelCode.value;
	var HotelDesc=document.form1.HotelName.value;
	if(!CheckInDateAfterToday())
	{
		setDate(document.form1, AddDaysToCurrent);
		setDeparture(document.form1,MinimumNoOfNights);
		setDuration();
		alert("The arrival date should be greater than or same as today's date.");
		return;
	}
	
	if(!CheckOutDateAfterCheckInDate())
	{
		setDate(document.form1, AddDaysToCurrent);
		setDeparture(document.form1,MinimumNoOfNights);
		setDuration();
		alert("The departure date should be greater than arrival date");
		return;
	}
	
	if(!NoOfNightsLessMax())
	{
		setDate(document.form1, AddDaysToCurrent);
		setDeparture(document.form1,MinimumNoOfNights);
		setDuration();
		alert("Bookings cannot be greater than "+MaximumNoOfNights+" day(s)");
		return;
	}
	
	if(!NoOfNightsGreatMin())
	{
		setDate(document.form1, AddDaysToCurrent);
		setDeparture(document.form1,MinimumNoOfNights);
		setDuration();
		alert("Bookings cannot be less than "+MinimumNoOfNights+" day(s)");
		return;
	}

	if(Number(document.form1.selRooms.options[document.form1.selRooms.selectedIndex].value)>Number(document.form1.selAdults.options[document.form1.selAdults.selectedIndex].value))
	{
		document.form1.selRooms.selectedIndex=0;
		document.form1.selAdults.selectedIndex=0;
		alert("Number of rooms cannot be greater than number of adults");
		return;
	}
	
	var CheckInDate=document.form1.selStartDate.options[document.form1.selStartDate.selectedIndex].value+'-'+document.form1.selStartMonth.options[document.form1.selStartMonth.selectedIndex].value+'-'+document.form1.selStartYear.options[document.form1.selStartYear.selectedIndex].value;
	var CheckOutDate=document.form1.selEndDate.options[document.form1.selEndDate.selectedIndex].value+'-'+document.form1.selEndMonth.options[document.form1.selEndMonth.selectedIndex].value+'-'+document.form1.selEndYear.options[document.form1.selEndYear.selectedIndex].value;
	var NumNights=document.form1.selNights.options[document.form1.selNights.selectedIndex].value;
	var NumRooms=document.form1.selRooms.options[document.form1.selRooms.selectedIndex].value;
	var NumAdults=document.form1.selAdults.options[document.form1.selAdults.selectedIndex].value;
	if(document.form1.selChild)
		var NumChild=document.form1.selChild.options[document.form1.selChild.selectedIndex].value;
	else
		var NumChild='0';
	
	document.location  = strServletUrl + strPortalName + '_SearchResults?Type=OBJECT&Order=HOTEL_NAME&CtryCd=All&CtryDes=All&StateCd=All&StateDes=All&CityCd=All&CityDes=All&HotelCd='+HotelCode+'&HotelDes='+HotelDesc+'&CheckIn='+CheckInDate+'&CheckOut='+CheckOutDate+'&Nights='+NumNights+'&Rooms='+NumRooms+'&Adults='+NumAdults+'&Child='+NumChild+"&HotelBookingLink=true";
	//document.location  = strServletUrl + strPortalName + '_SearchResults?Type=OBJECT&Order=HOTEL_NAME&CtryCd='+CountryCode+'&CtryDes='+CountryDesc+'&StateCd='+StateCode+'&StateDes='+StateDesc+'&CityCd='+CityCode+'&CityDes='+CityDesc+'&HotelCd='+HotelCode+'&HotelDes='+HotelDesc+'&CheckIn='+CheckInDate+'&CheckOut='+CheckOutDate+'&Nights='+NumNights+'&Rooms='+NumRooms+'&Adults='+NumAdults+'&Child='+NumChild;
}

// Second screen - result sorting function 
function fnChangeSort(Ord,CountryCode,CountryDesc,StateCode,StateDesc,CityCode,CityDesc,HotelCode,HotelDesc,CheckInDate,CheckOutDate,NumNights,NumRooms,NumAdults,NumChild,CatCode,AgeRange)
{	
//	alert(document.form1.step.value);
	var aff = '';
	if(document.form1.affcode)
	{
		aff = '&affcode='+document.form1.affcode.value;
	}
	if(document.form1.type.value=='AGENT')
	{	
		document.form1.CtryCd.value=CountryCode;
		document.form1.StateCd.value=StateCode;
		document.form1.CityCd.value=CityCode;
		document.form1.HotelCd.value=HotelCode;	
		document.form1.Order.value=Ord;	
		document.form1.CtryDes.value=CountryDesc;	
		document.form1.StateDes.value=StateDesc;	
		document.form1.CityDes.value=CityDesc;			
		document.form1.HotelDes.value=HotelDesc;	
		document.form1.CheckIn.value=CheckInDate;	
		document.form1.CheckOut.value=CheckOutDate;	
		document.form1.Nights.value=NumNights;	
		document.form1.Rooms.value=NumRooms;	
		document.form1.Adults.value=NumAdults;	
		document.form1.Child.value=NumChild;
		document.form1.CatCode.value=CatCode;
		document.form1.step.value='2';
		document.form1.StartNo.value=varStartNo;
		document.form1.EndNo.value=varEndNo;		
		document.form1.action  = strServletUrl+ strPortalName+ '_AgentHome?'+AgeRange;
		document.form1.submit();
	}
	else
	{
		document.location  = strServletUrl + strPortalName + '_SearchResults?Type=OBJECT&CtryCd='+CountryCode+'&CtryDes='+CountryDesc+'&StateCd='+StateCode+'&StateDes='+StateDesc+'&CityCd='+CityCode+'&CityDes='+CityDesc+'&HotelCd='+HotelCode+'&HotelDes='+HotelDesc+'&CheckIn='+CheckInDate+'&CheckOut='+CheckOutDate+'&Nights='+NumNights+'&Rooms='+NumRooms+'&Adults='+NumAdults+'&Order='+Ord+'&Child='+NumChild+aff+'&CatCode='+CatCode+'&StartNo='+varStartNo+'&EndNo='+varEndNo+AgeRange;
	}
}	

// date validation and drop down controll functions
function NoOfNightsLessMax()
{
	return getDateDifference(getCheckInDate(),getCheckOutDate())>MaximumNoOfNights ? false : true;
}

function NoOfNightsGreatMin()
{
	return getDateDifference(getCheckInDate(),getCheckOutDate())<MinimumNoOfNights ? false : true;
}

function CheckInDateAfterToday()
{ 
	return getDateDifference(JavaSysDate, getCheckInDate()) < AddDaysToCurrent ? false : true;
}

function CheckOutDateAfterCheckInDate(obj)
{
	return getDateDifference(getCheckInDate(),getCheckOutDate()) < 0 ? false : true;
}

function getCheckInDate()
{
	return new Date(document.form1.selStartYear.options[document.form1.selStartYear.selectedIndex].value, document.form1.selStartMonth.options[document.form1.selStartMonth.selectedIndex].value-1, document.form1.selStartDate.options[document.form1.selStartDate.selectedIndex].value);
}

function getCheckOutDate()
{
	return new Date(document.form1.selEndYear.options[document.form1.selEndYear.selectedIndex].value, document.form1.selEndMonth.options[document.form1.selEndMonth.selectedIndex].value-1, document.form1.selEndDate.options[document.form1.selEndDate.selectedIndex].value);
}

function getDateAdded(date, add)
{
	return new Date(date.getTime()+(DateFactor*add));
}

function getDateDifference(date1, date2)
{
	return (date2.getTime()-date1.getTime())/DateFactor;
}

function displayBlankNights()
{
	if(document.form1.selNights.options.length != (MaximumNoOfNights+1))
	{
		document.form1.selNights.options[MaximumNoOfNights] = new Option("--","--");
	}
	document.form1.selNights.selectedIndex = MaximumNoOfNights;
}

function getJSysDate()
{
	JavaSysDate = getDateAdded(new Date(document.form1.selStartYear.options[document.form1.selStartYear.selectedIndex].value, document.form1.selStartMonth.options[document.form1.selStartMonth.selectedIndex].value-1, document.form1.selStartDate.options[document.form1.selStartDate.selectedIndex].value),-AddDaysToCurrent);	
}

function setDate(obj, add)
{
	var cdate = getDateAdded(JavaSysDate, add);
	obj.selStartDate.selectedIndex = cdate.getDate()-1;
	obj.selStartMonth.selectedIndex = cdate.getMonth();
}

function setDeparture(obj, add)
{
	var cdate = getDateAdded(getCheckInDate(), add);
	
	if((cdate.getDate()-1) > obj.selEndDate.length-1)
	{
		obj.selEndDate.options[obj.selEndDate.length]=new Option(obj.selEndDate.length+1,obj.selEndDate.length+1);		
	}
	
	obj.selEndDate.selectedIndex = cdate.getDate()-1;	
	
	obj.selEndMonth.selectedIndex = cdate.getMonth();
	
	var strDate = ""+cdate.getYear()+"";
	var chkYear = "";
	if(strDate.length==3)
	{
		chkYear = "20"+strDate.substring(1,3)+"";
	}	
	else
	{
		chkYear = strDate;
	}
	
	for(i=0; i<obj.selEndYear.options.length; i++)
	{
		if(obj.selEndYear.options[i].value == chkYear)
		{
			obj.selEndYear.selectedIndex = i;
		}
	}
	setDays(obj.selEndDate, obj.selEndMonth, obj.selEndYear);
}

function setDuration()
{
	var deference = getDateDifference(getCheckInDate(),getCheckOutDate());

	if(deference <= 0 || deference > 30)
	{
		displayBlankNights();
	}	
	else
	{
		document.form1.selNights.selectedIndex = deference-1;
	}
}

function setDays(objD, objM, objY)
{
  var y = objY.options[objY.selectedIndex].value;
  var m = objM.selectedIndex;
  var d;
  if ( (m == 3) || (m == 5) || (m == 8) || (m == 10) ) 
  {
    days = 30;
  }
  else if (m == 1) 
  {
    if ( (Math.floor(y/4) == (y/4)) && ((Math.floor(y/100) != (y/100)) || (Math.floor(y/400) == (y/400))) )
    {
      days = 29;
    }
    else
    {
      days = 28;
    }
  }
  else 
  {
    days = 31;
  }

  if (days > objD.length) 
  {
    for (i = objD.length; i < days; i++) 
    {
      objD.length = days;
			
      objD.options[i].text = i + 1;
      objD.options[i].value = i + 1;
    }		
  }
  if (days < objD.length) 
  {
    objD.length = days;
    if (objD.selectedIndex == -1) 
    {
      objD.selectedIndex = days - 1;
    }
  }
}

function adjustdate()
{
	setDeparture(document.form1,document.form1.selNights.selectedIndex+1);
}
// end date functions

// Opens rate break down window for hotel + roomDesc + mealpaln
function  fnShowRatesBreakDown(HotelCode,StartRoomTypeCount,EndRoomTypeCount,SourceCode)
{
 var RoomSelected=0;
 var RoomDetails='';
 var ChildAge='';
 
 if(Number(NumRooms)>1)
 {	
	 for(var i=Number(StartRoomTypeCount);i<=Number(EndRoomTypeCount);i++)
	 {
		if(Number(document.form1.elements['selRooms'+HotelCode+i].options[document.form1.elements['selRooms'+HotelCode+i].selectedIndex].value)>0)
		{ 
			if(document.form1.elements['selChild'+HotelCode+i])
				RoomDetails=RoomDetails+':'+HotelCode+';'+document.form1.elements['hid_RatesPlan'+HotelCode+i].value+';'+CheckIn+';'+CheckOut+';'+document.form1.elements['selRooms'+HotelCode+i].options[document.form1.elements['selRooms'+HotelCode+i].selectedIndex].value+';'+document.form1.elements['selAdults'+HotelCode+i].options[document.form1.elements['selAdults'+HotelCode+i].selectedIndex].value+';'+document.form1.elements['selChild'+HotelCode+i].options[document.form1.elements['selChild'+HotelCode+i].selectedIndex].value+';'+SourceCode;	
			else
				RoomDetails=RoomDetails+':'+HotelCode+';'+document.form1.elements['hid_RatesPlan'+HotelCode+i].value+';'+CheckIn+';'+CheckOut+';'+document.form1.elements['selRooms'+HotelCode+i].options[document.form1.elements['selRooms'+HotelCode+i].selectedIndex].value+';'+document.form1.elements['selAdults'+HotelCode+i].options[document.form1.elements['selAdults'+HotelCode+i].selectedIndex].value+';'+'0'+';'+SourceCode;				
				
			RoomSelected=1;
		}	
	 }
 }
 else
 {	 
		RoomDetails=RoomDetails+':'+HotelCode+';'+document.form1.elements['hid_RatesPlan'+HotelCode+EndRoomTypeCount].value+';'+CheckIn+';'+CheckOut+';'+'1'+';'+NumAdults+';'+NumChild+';'+SourceCode;	
		RoomSelected=1;		
		
 }	
 
 var aff = '';
if(document.form1.affcode)
{
	aff = '&affcode='+document.form1.affcode.value+'&WebLogicSession='+document.form1.WebLogicSession.value;
}	
 
 
 ChildAge= document.form1.strChildAge.value;
 
 if(RoomSelected==1)
 {
  window.open(strServletUrl+strPortalName +"_RatesBreakDown?RoomDet="+RoomDetails+aff+'&ChildAge='+ChildAge,'rateswin','width=780,top=50,left=10,height=250,directories=no,location=no,menubar=no,scrollbars=yes,status=no,toolbar=no,resizable=yes');
 }	
 else
 {
		alert('Please select a room');
 }	
 
}

// from second to third function
function fnMakeBooking(HotelCode,StartRoomTypeCount,EndRoomTypeCount,SourceCode)
{
   var RoomSelected=0;	 
	 var TotNumChild=0;	
	 document.form1.RoomDetails.value='';	
	 document.form1.RequestStatus.value='NO';	
   
	 if(Number(NumRooms)>1)
	 {	
	 	var nRooms = 0;
	 	var nAdults = 0;
		 for(var i=Number(StartRoomTypeCount);i<=Number(EndRoomTypeCount);i++)
		 {
		 	nRooms = nRooms + Number(document.form1.elements['selRooms'+HotelCode+i].options[document.form1.elements['selRooms'+HotelCode+i].selectedIndex].value);
		 	nAdults = nAdults + Number(document.form1.elements['selAdults'+HotelCode+i].options[document.form1.elements['selAdults'+HotelCode+i].selectedIndex].value);
		 	
			if(document.form1.elements['selRooms'+HotelCode+i].options[document.form1.elements['selRooms'+HotelCode+i].selectedIndex].value>0)
			{						 
				if(document.form1.elements['selChild'+HotelCode+i])
				{
				  TotNumChild=Number(TotNumChild)+Number(document.form1.elements['selChild'+HotelCode+i].options[document.form1.elements['selChild'+HotelCode+i].selectedIndex].value);
					document.form1.RoomDetails.value=document.form1.RoomDetails.value+':'+HotelCode+';'+document.form1.elements['hid_RatesPlan'+HotelCode+i].value+';'+CheckIn+';'+CheckOut+';'+document.form1.elements['selRooms'+HotelCode+i].options[document.form1.elements['selRooms'+HotelCode+i].selectedIndex].value+';'+document.form1.elements['selAdults'+HotelCode+i].options[document.form1.elements['selAdults'+HotelCode+i].selectedIndex].value+';'+document.form1.elements['selChild'+HotelCode+i].options[document.form1.elements['selChild'+HotelCode+i].selectedIndex].value+';'+SourceCode;	
				}
				else
				{
					document.form1.RoomDetails.value=document.form1.RoomDetails.value+':'+HotelCode+';'+document.form1.elements['hid_RatesPlan'+HotelCode+i].value+';'+CheckIn+';'+CheckOut+';'+document.form1.elements['selRooms'+HotelCode+i].options[document.form1.elements['selRooms'+HotelCode+i].selectedIndex].value+';'+document.form1.elements['selAdults'+HotelCode+i].options[document.form1.elements['selAdults'+HotelCode+i].selectedIndex].value+';0;'+SourceCode;	
				}
				RoomSelected=1;
			}	
		 }
			
		 if(nRooms == 0)
		 {
		 	alert("Please select a room.");
		 	return;
		 }
		 
		 if(nAdults == 0)
		 {
		 	alert("Please select number of adults per room.");
		 	return;	
		 }
		 
		 if(Number(nRooms) > Number(nAdults))
		 {
		 	alert("Number of rooms cannot be greater than number of adults");
		 	return;
		 }
			
		 if(Number(nRooms) != Number(NumRooms) || Number(nAdults) != Number(NumAdults) || Number(TotNumChild) != Number(NumChild))
		 {
			if(!confirm("Your search criteria specified "+NumRooms+" room(s) and "+(Number(NumAdults)+Number(NumChild))+" person(s). Click 'OK' to continue or 'Cancel' to go back and change."))
		 	{
				document.form1.RoomDetails.value='';
		 		return;
		 	}
		 }	
	 }
	 else
	 {
		  var nRooms = 1;
			var nAdults=NumAdults;
			TotNumChild=NumChild;
			document.form1.RoomDetails.value=document.form1.RoomDetails.value+':'+HotelCode+';'+document.form1.elements['hid_RatesPlan'+HotelCode+EndRoomTypeCount].value+';'+CheckIn+';'+CheckOut+';'+'1'+';'+NumAdults+';'+NumChild+';'+SourceCode;	
			RoomSelected=1;					
	 }	
	 
	 if(RoomSelected==1)
	 {				
		document.form1.HotelCode.value=HotelCode;
		document.form1.CheckInDate.value=CheckIn;
		document.form1.CheckOutDate.value=CheckOut;
		document.form1.hidTotalNumRooms.value=nRooms;
		document.form1.hidTotalNumAdults.value=nAdults;
		document.form1.hidTotalNumChild.value=TotNumChild;
		if(document.form1.NextAc)
		{
			document.form1.action=document.form1.NextAc.value;
		}
		
		document.form1.submit(); 
	 }	
	 else
	 {
			alert('Please select a room');
			return;
	 }
}




//Secound to third requestbooking function
function fnMakeRequestBooking(HotelCode,StartRoomTypeCount,EndRoomTypeCount,SourceCode)
{
     var RoomSelected=0;	 
	 var TotNumChild=0;	
	 document.form1.RoomDetails.value='';	
	 document.form1.RequestStatus.value='YES';	
   
	 if(Number(NumRooms)>1)
	 {	
	 	var nRooms = 0;
	 	var nAdults = 0;
		 for(var i=Number(StartRoomTypeCount);i<=Number(EndRoomTypeCount);i++)
		 {
		 	nRooms = nRooms + Number(document.form1.elements['selRooms'+HotelCode+i].options[document.form1.elements['selRooms'+HotelCode+i].selectedIndex].value);
		 	nAdults = nAdults + Number(document.form1.elements['selAdults'+HotelCode+i].options[document.form1.elements['selAdults'+HotelCode+i].selectedIndex].value);
		 	
			if(document.form1.elements['selRooms'+HotelCode+i].options[document.form1.elements['selRooms'+HotelCode+i].selectedIndex].value>0)
			{						 
				if(document.form1.elements['selChild'+HotelCode+i])
				{
				  TotNumChild=Number(TotNumChild)+Number(document.form1.elements['selChild'+HotelCode+i].options[document.form1.elements['selChild'+HotelCode+i].selectedIndex].value);
					document.form1.RoomDetails.value=document.form1.RoomDetails.value+':'+HotelCode+';'+document.form1.elements['hid_RatesPlan'+HotelCode+i].value+';'+CheckIn+';'+CheckOut+';'+document.form1.elements['selRooms'+HotelCode+i].options[document.form1.elements['selRooms'+HotelCode+i].selectedIndex].value+';'+document.form1.elements['selAdults'+HotelCode+i].options[document.form1.elements['selAdults'+HotelCode+i].selectedIndex].value+';'+document.form1.elements['selChild'+HotelCode+i].options[document.form1.elements['selChild'+HotelCode+i].selectedIndex].value+';'+SourceCode;	
				}
				else
				{
					document.form1.RoomDetails.value=document.form1.RoomDetails.value+':'+HotelCode+';'+document.form1.elements['hid_RatesPlan'+HotelCode+i].value+';'+CheckIn+';'+CheckOut+';'+document.form1.elements['selRooms'+HotelCode+i].options[document.form1.elements['selRooms'+HotelCode+i].selectedIndex].value+';'+document.form1.elements['selAdults'+HotelCode+i].options[document.form1.elements['selAdults'+HotelCode+i].selectedIndex].value+';0;'+SourceCode;	
				}
				RoomSelected=1;
			}	
		 }
			
		 if(nRooms == 0)
		 {
		 	alert("Please select a room.");
		 	return;
		 }
		 
		 if(nAdults == 0)
		 {
		 	alert("Please select number of adults per room.");
		 	return;	
		 }
		 
		 if(Number(nRooms) > Number(nAdults))
		 {
		 	alert("Number of rooms cannot be greater than number of adults");
		 	return;
		 }
			
		 if(Number(nRooms) != Number(NumRooms) || Number(nAdults) != Number(NumAdults) || Number(TotNumChild) != Number(NumChild))
		 {
			if(!confirm("Your search criteria specified "+NumRooms+" room(s) and "+(Number(NumAdults)+Number(NumChild))+" person(s). Click 'OK' to continue or 'Cancel' to go back and change."))
		 	{
				document.form1.RoomDetails.value='';
		 		return;
		 	}
		 }	
	 }
	 else
	 {
		  var nRooms = 1;
			var nAdults=NumAdults;
			TotNumChild=NumChild;
			document.form1.RoomDetails.value=document.form1.RoomDetails.value+':'+HotelCode+';'+document.form1.elements['hid_RatesPlan'+HotelCode+EndRoomTypeCount].value+';'+CheckIn+';'+CheckOut+';'+'1'+';'+NumAdults+';'+NumChild+';'+SourceCode;	
			RoomSelected=1;					
	 }	
	 
	 if(RoomSelected==1)
	 {				
		document.form1.HotelCode.value=HotelCode;
		document.form1.CheckInDate.value=CheckIn;
		document.form1.CheckOutDate.value=CheckOut;
		document.form1.hidTotalNumRooms.value=nRooms;
		document.form1.hidTotalNumAdults.value=nAdults;
		document.form1.hidTotalNumChild.value=TotNumChild;
		if(document.form1.NextAc)
		{
			document.form1.action=document.form1.NextAc.value;
		}
		
		document.form1.submit(); 
	 }	
	 else
	 {
			alert('Please select a room');
			return;
	 }
}



// open search again window 
function  fnShowSearchAgain(HotCode, HotelName, Country, City)
{ 
	var ext = '';
	if(document.form1.affcode)
	{
		ext = '&affcode='+document.form1.affcode.value+'&WebLogicSession='+document.form1.WebLogicSession.value;
	}
	if(document.form1.type.value=='AGENT')
	{
		ext = '&WebLogicSession='+document.form1.WebLogicSession.value;
		window.open(strServletUrl+ strPortalName+ '_AgentHome?HotelCd='+HotCode+'&HotelName='+HotelName+'&Country='+Country+'&City='+City+'&step=7'+ext,'rateswin','width=800,top=50,left=0,height=290,scrollbars=1');
	}
	else
	{
		window.open(strServletUrl+ strPortalName+ '_EntryOfSearchCriteria?HotelCd='+HotCode+'&HotelName='+HotelName+'&Country='+Country+'&City='+City+'&type=2'+ext,'rateswin','width=800,top=50,left=0,height=290,scrollbars=1');		
	}
}







// open hotel info page
function  fnShowHotelPage(HotUrl)
{
  if(HotUrl=='' || HotUrl=='-' || HotUrl=='http://')
		alert("Sorry. The hotel page is not available at the moment!");
	else	
		window.open(HotUrl);
}

// loading results to the second screen from search again window
function fnPassCriteria(HotCode)
{ 

	if(!CheckInDateAfterToday())
	{
		setDate(document.form1, AddDaysToCurrent);
		setDeparture(document.form1,MinimumNoOfNights);
		setDuration();
		alert("The arrival date should be greater than or same as today's date.");
		return;
	}
	
	if(!CheckOutDateAfterCheckInDate())
	{
	  	setDate(document.form1, AddDaysToCurrent);
		setDeparture(document.form1,MinimumNoOfNights);
		setDuration();
		alert("The check out date should be greater than check in date");
		return;
	}
	
	if(!NoOfNightsLessMax())
	{
	  	setDate(document.form1, AddDaysToCurrent);
		setDeparture(document.form1,MinimumNoOfNights);
		setDuration();
		alert("Bookings cannot be greater than "+MaximumNoOfNights+" day(s)");
		return;
	}
	
	if(!NoOfNightsGreatMin())
	{
	  	setDate(document.form1, AddDaysToCurrent);
		setDeparture(document.form1,MinimumNoOfNights);
		setDuration();
		alert("Bookings cannot be less than "+MinimumNoOfNights+" day(s)");
		return;
	}
	
	if(Number(document.form1.selRooms.options[document.form1.selRooms.selectedIndex].value)>Number(document.form1.selAdults.options[document.form1.selAdults.selectedIndex].value))
	{
		document.form1.selRooms.selectedIndex=0;
		document.form1.selAdults.selectedIndex=0;
		alert("Number of rooms cannot be greater than number of adults");
		return;
	}
	
	getJSysDate();
	
	var CheckInDate=document.form1.selStartDate.options[document.form1.selStartDate.selectedIndex].value+'-'+document.form1.selStartMonth.options[document.form1.selStartMonth.selectedIndex].value+'-'+document.form1.selStartYear.options[document.form1.selStartYear.selectedIndex].value;
	var CheckOutDate=document.form1.selEndDate.options[document.form1.selEndDate.selectedIndex].value+'-'+document.form1.selEndMonth.options[document.form1.selEndMonth.selectedIndex].value+'-'+document.form1.selEndYear.options[document.form1.selEndYear.selectedIndex].value;
	var NumNights=document.form1.selNights.options[document.form1.selNights.selectedIndex].value;
	var NumRooms=document.form1.selRooms.options[document.form1.selRooms.selectedIndex].value;
	var NumAdults=document.form1.selAdults.options[document.form1.selAdults.selectedIndex].value;
	var NumChild=0;
	if(document.form1.selChild)
	{
		NumChild=document.form1.selChild.options[document.form1.selChild.selectedIndex].value;
	}	

	var aff = '';
	if(document.form1.affcode)
	{
		aff = '&affcode='+document.form1.affcode.value;
	}
	
	var agent = false;
	if(document.form1.type)
	{
		if(document.form1.type.value=='AGENT')
		{
			agent = true;
		}
	}
	
	if(agent)
	{	
		window.opener.form1.CtryCd.value='All';
		window.opener.form1.StateCd.value='All';
		window.opener.form1.CityCd.value='All';
		window.opener.form1.HotelCd.value=HotCode;	
		window.opener.form1.Order.value='HOTEL_NAME';	
		window.opener.form1.CtryDes.value='All';	
		window.opener.form1.StateDes.value='All';	
		window.opener.form1.CityDes.value='All';			
		window.opener.form1.HotelDes.value=document.form1.HotelDes.value;	
		window.opener.form1.CheckIn.value=CheckInDate;	
		window.opener.form1.CheckOut.value=CheckOutDate;	
		window.opener.form1.Nights.value=NumNights;	
		window.opener.form1.Rooms.value=NumRooms;	
		window.opener.form1.Adults.value=NumAdults;	
		window.opener.form1.Child.value=NumChild;
		window.opener.form1.step.value='2';
		window.opener.form1.action  = strServletUrl+ strPortalName+ '_AgentHome';
		window.opener.form1.submit();
	}
	else
	{		
		window.opener.top.location=strServletUrl+strPortalName + '_SearchResults?Type=OBJECT&Order=HOTEL_NAME&CtryCd=All&CtryDes=All&StateCd=All&StateDes=All&CityCd=All&CityDes=All&HotelCd='+HotCode+'&HotelDes='+document.form1.HotelDes.value+'&CheckIn='+CheckInDate+'&CheckOut='+CheckOutDate+'&Nights='+NumNights+'&Rooms='+NumRooms+'&Adults='+NumAdults+'&Child='+NumChild+aff;
	}
	
	window.close();
}


function openPolicy(Url) {
 var pol = window.open(Url,'policy','location=0,menubar=0,status=0,resize=0,width=500,height=200,scrollbars=1');
 pol.focus();
}

function openDisclaimer(Url) {
 var dis = window.open(Url,'disclaimer','location=0,menubar=0,status=0,resize=0,width=480,height=170,scrollbars=0');
 dis.focus();
}


function openRoomsNetSite() {
 var sec = window.open('http://www.roomsnet.com');
 sec.focus(); 
}


function openFacilities(Url){
 var fas = window.open(Url,'Facilities','toolbar=0,loaction=0,status=0,menubar=0,scrollbars=1,width=400,height=200');
 fas.focus();
}

function openInfo(url)
{
	if(url=='-' || url=='' || url=='http://')
	{
		alert("Sorry. The link required does not exist!");
	}
	else
	{
		var info = window.open(url);
		info.focus();
	}
}


function openLocationMap(url)
{
	if(url=='-' || url=='' || url=='http://')
	{
		alert("Sorry. The link required does not exist!");
	}
	else
	{
		var info = window.open(url);
		info.focus();
	}
}


function clickHandle(obj)
{
 if(obj.keyCode==34 || obj.keyCode==39 || obj.keyCode==60 || obj.keyCode==62 || obj.keyCode==38) 
  obj.keyCode=0;
} 

function goToUrl(url)
{
	top.location = url;
}



function checkChildMax(hot_code,room_desc,count,startcount,child_para){


//	alert(hot_code +' / '+room_desc+' / '+count+' / '+startcount);	
	child=Number(child_para);
	Total=0;
	
	for(i=Number(startcount);i<=Number(num);i++){
	
		if(document.form1.elements['hidRoomDescCode_'+hot_code+i]){
		
			r_room_desc = document.form1.elements['hidRoomDescCode_'+hot_code+i].value;
			schild=document.form1.elements['selChild'+hot_code+i].options[document.form1.elements['selChild'+hot_code+i].selectedIndex].value;
			
			Total=Total+Number(schild);
			if(Total>child){
			document.form1.elements['selChild'+hot_code+count].selectedIndex=0;
			alert("Your search criteria only included "+child+" child(ren)");
			break;
			}
		}

	}

}



function check_same_room_desc(hot_code,room_desc,count,startcount){
 	var room_count=0;;
	num = document.form1.elements['hidRoomDescCount_'+hot_code].value;
	for(y=startcount;y<=num;y++){
		sroom=document.form1.elements['selRooms'+hot_code+y].options[document.form1.elements['selRooms'+hot_code+y].selectedIndex].value;
		if(sroom>0){
			r_room_desc = document.form1.elements['hidRoomDescCode_'+hot_code+y].value;
			if(r_room_desc==room_desc){
				room_count=Number(room_count)+Number(document.form1.elements['selRooms'+hot_code+y].options[document.form1.elements['selRooms'+hot_code+y].selectedIndex].value);
			}
		}
	}
	
	for(i=startcount;i<=num;i++){
		r_room_desc = document.form1.elements['hidRoomDescCode_'+hot_code+i].value;
		sroom=document.form1.elements['selRooms'+hot_code+i].options[document.form1.elements['selRooms'+hot_code+i].selectedIndex].value;
		if((i!=count) && (r_room_desc==room_desc)){
			se_ind = document.form1.elements['selRooms'+hot_code+i].selectedIndex;
			no=Number(document.form1.elements['hidNumRooms_'+hot_code+i].value)-Number(room_count);
			no = no+se_ind;
			document.form1.elements['selRooms'+hot_code+i].length=1;
			for(x=1;x<=no;x++){
				document.form1.elements['selRooms'+hot_code+i].options[document.form1.elements['selRooms'+hot_code+i].length]=new Option(x,x);
			}
			document.form1.elements['selRooms'+hot_code+i].selectedIndex=se_ind;
		}
	}
}

function check_max_room(roomdesc,hot_code,count,rooms,m_status,startcount){
	room_count=0;
	var num = 0;
	for(var i=startcount;i<document.form1.elements.length;i++) {;
		if(document.form1.elements['hidRoomDescCode_'+hot_code+i]) {
		 num = num=num+1;} else {break;}
		}
		var y=startcount;
		while(y<Number(startcount)+Number(num)){ 
			sroom=document.form1.elements['selRooms'+hot_code+y].options[document.form1.elements['selRooms'+hot_code+y].selectedIndex].value;
			if(sroom>0){
				r_roomdesc = document.form1.elements['hidRoomDescCode_'+hot_code+y].value;
				if(r_roomdesc==roomdesc){
					room_count=Number(room_count)+Number(document.form1.elements['selRooms'+hot_code+y].options[document.form1.elements['selRooms'+hot_code+y].selectedIndex].value);
				}
			}
			y=Number(y)+1;
		}
	var i=startcount;
	while(i<Number(startcount)+Number(num)){ 
		r_roomdesc = document.form1.elements['hidRoomDescCode_'+hot_code+i].value;
		sroom=document.form1.elements['selRooms'+hot_code+i].options[document.form1.elements['selRooms'+hot_code+i].selectedIndex].value;
		if((i!=count) & (r_roomdesc==roomdesc)){
			se_ind = document.form1.elements['selRooms'+hot_code+i].selectedIndex;
			no=Number(document.form1.elements['hidNumRooms_'+hot_code+i].value)-Number(room_count);
			no = no+se_ind;
			document.form1.elements['selRooms'+hot_code+i].length=1;
			for(x=1;x<=no;x++){
				document.form1.elements['selRooms'+hot_code+i].options[document.form1.elements['selRooms'+hot_code+i].length]=
				new Option(x,x);
			}
			document.form1.elements['selRooms'+hot_code+i].selectedIndex=se_ind;
		}
		i=Number(i)+1;
	}
}

function fill_drop(hot_code,count,std_guest,add_adult,child){
	num = Number(document.form1.elements['selRooms'+hot_code+count].options[document.form1.elements['selRooms'+hot_code+count].selectedIndex].value)*(Number(std_guest)+Number(add_adult));
	name = 'selAdults'+hot_code+count ;
	document.form1.elements[name].length=1;
	for(i=1;i<=num;i++){ 
		document.form1.elements[name].options[i]=new Option(i,i);
	}
	sgnum = Number(document.form1.elements['selRooms'+hot_code+count].options[document.form1.elements['selRooms'+hot_code+count].selectedIndex].value)*std_guest;
	document.form1.elements[name].selectedIndex=sgnum;
	if(childActive)
	{
		if(child!=0) {
			num1 = Number(document.form1.elements['selRooms'+hot_code+count].options[document.form1.elements['selRooms'+hot_code+count].selectedIndex].value)*(Number(child));
			name = 'selChild'+hot_code+count ;
			document.form1.elements[name].length=1;
			for(i=1;i<=num1;i++){ 
				document.form1.elements[name].options[i]=new Option(i,i);
			}
			document.form1.elements[name].selectedIndex=0;
		}
	}
}

function check_max_num(hot_code,num,name,type){
	if(type==1){
		child_count=0;
		adult_count=document.form1.elements['selAdults'+hot_code+num].options[document.form1.elements['selAdults'+hot_code+num].selectedIndex].value;
		if(childActive)
		{
			child_count=document.form1.elements['selChild'+hot_code+num].options[document.form1.elements['selChild'+hot_code+num].selectedIndex].value;
		}
		a_num=Number(document.form1.elements['hidMaxNum'+hot_code+num].value)*Number(document.form1.elements['selRooms'+hot_code+num].options[document.form1.elements['selRooms'+hot_code+num].selectedIndex].value)
		max_num=Number(child_count)+Number(adult_count);
		if(Number(a_num)<Number(max_num)){
			alert("Cannot select more than "+a_num);
			if(childActive)
			{
				document.form1.elements[name+hot_code+num].selectedIndex=Number(a_num)-document.form1.elements['selChild'+hot_code+num].options[document.form1.elements['selChild'+hot_code+num].selectedIndex].value;
			}
			else
			{
				document.form1.elements[name+hot_code+num].selectedIndex=Number(a_num);
			}
		}
	}else{
		child_count=0;
		adult_count=document.form1.elements['selAdults'+hot_code+num].options[document.form1.elements['selAdults'+hot_code+num].selectedIndex].value;
		child_count=document.form1.elements['selChild'+hot_code+num].options[document.form1.elements['selChild'+hot_code+num].selectedIndex].value;
		a_num=Number(document.form1.elements['hidMaxNum'+hot_code+num].value)*Number(document.form1.elements['selRooms'+hot_code+num].options[document.form1.elements['selRooms'+hot_code+num].selectedIndex].value)
		max_num=Number(child_count)+Number(adult_count);
		if(Number(a_num)<Number(max_num)){
			 alert('Max # person(s) '+a_num);
			 document.form1.elements[name+hot_code+num].selectedIndex=Number(a_num)-document.form1.elements['selAdults'+hot_code+num].options[document.form1.elements['selAdults'+hot_code+num].selectedIndex].value;
		}
	}
}




function checkFields(NumFields){


var i=0;

	for(i=1;i<=Number(NumFields);i++){
	
		if(!isNumber(document.form1.elements['Age_'+i].value)){
			alert("Please enter valid age");
			document.form1.elements['Age_'+i].focus();
			return true;
		}
		
		if(Number(document.form1.elements['Age_'+i].value)<=0){
			alert("Please enter valid age");
			document.form1.elements['Age_'+i].focus();
		return true;
		}


		if(Number(document.form1.elements['Age_'+i].value)>=13){
			alert("Child age should be equal or less than to 12 years");
			document.form1.elements['Age_'+i].focus();
		return true;
		}
		
	}

}



function isNumber(Str){

var len=Str.length;
var status=false;
var i=1;
var j=0;
var k=0;


for(i=1;i<=len;i++){
	
	for(j=0;j<=9;j++){
	
		if( Str.substring(k,i)== j){

			 if(Str.substring(k,i) == ' '){
		         	status=false;
			 }else{		
			 	status=true;
				break;
			 }


			}else{
			 status=false;
			}
		
		}
		
	if (status==false){return false;}
	k++;		
	}

  return true;

}


function getOrderValue(){

if(document.form1.OrderBy){

		for(i=0;i<document.form1.OrderBy.length;i++){

			if((document.form1.OrderBy[i].checked == true) && (i==0)) return "TOTAL_RATE";
			if((document.form1.OrderBy[i].checked == true) && (i==1)) return "HOTEL_NAME";
			if((document.form1.OrderBy[i].checked == true) && (i==2)) return "STAR_RATING";
		
		}
	
	}else{
	
	return "TOTAL_RATE";
	
	}		 		
		
}


function changeCardType(){
	
	Obj = document.form1;
	
	if(Obj.selCreditCardType){
		if( (Obj.selCreditCardType.value == 'SO') || (Obj.selCreditCardType.value == 'SW') ){
		
   			Obj.txtCreditIssueNo.disabled = false;  
	    	Obj.selStartMonth.disabled = false;  
	    	Obj.selStartYear.disabled = false;  
	    	
	    }else{
	    
			Obj.txtCreditIssueNo.value = "";  
	    	Obj.selStartMonth.selectedIndex = 0;  
	    	Obj.selStartYear.selectedIndex = 0;  

		
			Obj.txtCreditIssueNo.disabled = true;  
	    	Obj.selStartMonth.disabled = true;  
	    	Obj.selStartYear.disabled = true;  
	    
	    }
	}

}


function checkCard(){

	Obj = document.form1;
    var issuelength=Obj.txtCreditCardNo.value;
    
    if(!isNumber(issuelength)){
    	alert("Please Enter Valid Credit Card Number");
    	return true;
    }
    
    if((issuelength.length<19) || (issuelength.length>19) ){
    	alert("Please Enter Valid Credit Card Number");
    	return true;
    }
    
    
	return false;

}



// Normal & affiliate search function
function fnNewAffSearch(type)
{

	var CountryCode = 'All';
	var CountryDesc = 'All';
	var StateCode = 'All';
	var StateDesc = 'All';	
	var CityCode = 'All';
	var CityDesc = 'All';
	var HotelCode = 'All';
	var HotelDesc = 'All';

	var OrderVal = getOrderValue();
	
	
	if(document.form1.selCountry)
	{
		CountryCode = document.form1.selCountry.options[document.form1.selCountry.selectedIndex].value;
		if(CountryCode != 'All')
		{
			CountryDesc = document.form1.selCountry.options[document.form1.selCountry.selectedIndex].text;
		}
	}
	if(document.form1.hidAffCountry)
	{
		CountryCode = document.form1.hidAffCountryCode.value;
		CountryDesc = document.form1.hidAffCountryDesc.value;
	}
	
	
	if (document.form1.selState) 
	{
		StateCode = document.form1.selState.options[document.form1.selState.selectedIndex].value;
		if(StateCode != 'All')
		{
			StateDesc=document.form1.selState.options[document.form1.selState.selectedIndex].text;
		}
	}
	
	if(document.form1.hidAffStateCode)
	{
		StateCode = document.form1.hidAffStateCode.value;
		StateDesc = document.form1.hidAffStateDesc.value;
	}
	
	if (document.form1.selCity) 
	{
		CityCode = document.form1.selCity.options[document.form1.selCity.selectedIndex].value;
		if(CityCode != 'All')
		{
			CityDesc=document.form1.selCity.options[document.form1.selCity.selectedIndex].text;
		}
		
	} 
	if(document.form1.hidAffCityCode)
	{
		
		CityCode = document.form1.hidAffCityCode.value;
		CityDesc = document.form1.hidAffCityDesc.value;
	}
	
	
	
	if(document.form1.selHotel)
	{
		HotelCode = document.form1.selHotel.options[document.form1.selHotel.selectedIndex].value;
		if(HotelCode!='All')
		{
			HotelDesc = document.form1.selHotel.options[document.form1.selHotel.selectedIndex].text;
		}
	}
	if(document.form1.hidAffHotelCode)
	{
		HotelCode = document.form1.hidAffHotelCode.value;
		HotelDesc = document.form1.hidAffHotelDesc.value;
	}


	if(!CheckInDateAfterToday())
	{		
		setDate(document.form1, AddDaysToCurrent);
//		setDeparture(document.form1,MinimumNoOfNights);
//		setDuration();
		alert("The arrival date should be greater than or same as today's date.");
		return;
	}

/*	
	if(!CheckOutDateAfterCheckInDate())
	{
		setDate(document.form1, AddDaysToCurrent);
		setDeparture(document.form1,MinimumNoOfNights);	
		setDuration();
		alert("Please select a valid check-out date. Check-in date should be prior to check-out.");
		return;
	}
	
	
	if(!NoOfNightsLessMax())
	{
		setDate(document.form1, AddDaysToCurrent);
		setDeparture(document.form1,MinimumNoOfNights);
		setDuration();
		alert("Bookings cannot be greater than "+MaximumNoOfNights+" day(s)");
		return;
	}
	
	if(!NoOfNightsGreatMin())
	{
		setDate(document.form1, AddDaysToCurrent);
		setDeparture(document.form1,MinimumNoOfNights);
		setDuration();
		alert("Bookings cannot be less than "+MinimumNoOfNights+" day(s)");
		return;
	}
	
	
*/
	
	if(Number(document.form1.selRooms.options[document.form1.selRooms.selectedIndex].value)>Number(document.form1.selAdults.options[document.form1.selAdults.selectedIndex].value))
	{
		document.form1.selRooms.selectedIndex=0;
		document.form1.selAdults.selectedIndex=0;
		alert("Number of rooms cannot be greater than number of adults");
		return;
	}
	
	var aff = '';
	if(document.form1.affcode)
	{
		aff = '&affcode='+document.form1.affcode.value;
	}
		
	var CheckInDate=document.form1.selStartDate.options[document.form1.selStartDate.selectedIndex].value+'-'+document.form1.selStartMonth.options[document.form1.selStartMonth.selectedIndex].value+'-'+document.form1.selStartYear.options[document.form1.selStartYear.selectedIndex].value;
//	var CheckOutDate=document.form1.selEndDate.options[document.form1.selEndDate.selectedIndex].value+'-'+document.form1.selEndMonth.options[document.form1.selEndMonth.selectedIndex].value+'-'+document.form1.selEndYear.options[document.form1.selEndYear.selectedIndex].value;
	var NumNights=document.form1.selNights.options[document.form1.selNights.selectedIndex].value;
	var NumRooms=document.form1.selRooms.options[document.form1.selRooms.selectedIndex].value;
	var NumAdults=document.form1.selAdults.options[document.form1.selAdults.selectedIndex].value;
	
	
	var CatCode= "All";
	
	if(document.form1.sel_hot_cat){
	
		CatCode = document.form1.sel_hot_cat.options[document.form1.sel_hot_cat.selectedIndex].value;    
		
    }

	
	
	x_date=getDateAdded(getCheckInDate(), NumNights);


	var zero_str_date1="";
	if(Number(document.form1.selStartDate.options[document.form1.selStartDate.selectedIndex].value)<10){
	zero_str_date1="0";
	}else{
	zero_str_date1="";
	}
	var zero_str_month1="";
	if(Number(document.form1.selStartMonth.options[document.form1.selStartMonth.selectedIndex].value)<10){
	zero_str_month1="0";
	}else{
	zero_str_month1="";
	}


	var zero_str_date="";
	if(x_date.getDate()<10){
	zero_str_date="0";
	}else{
	zero_str_date="";
	}
	var zero_str_month="";
	if((x_date.getMonth()+1)<10){
	zero_str_month="0";
	}else{
	zero_str_month="";
	}




	var mk_year = x_date.getYear().toString();
	if (mk_year.length == 3) {
     	mk_year = '20' + mk_year.substr(1,3) + '';
 		}

	var CheckOutDate=zero_str_date+x_date.getDate()+'-'+zero_str_month+(x_date.getMonth()+1)+'-'+ mk_year;
	
//	var CheckOutDate=zero_str_date+x_date.getDate()+'-'+zero_str_month+(x_date.getMonth()+1)+'-'+x_date.getYear();
	
	
	
	
	
	if(document.form1.selChild)
		var NumChild=document.form1.selChild.options[document.form1.selChild.selectedIndex].value;
	else
		var NumChild='0';
	if(type=='AGENT')
	{
		document.form1.CtryCd.value=CountryCode;
		document.form1.StateCd.value=StateCode;
		document.form1.CityCd.value=CityCode;
		document.form1.HotelCd.value=HotelCode;	
		document.form1.Order.value=OrderVal;	
		document.form1.CtryDes.value=CountryDesc;	
		document.form1.StateDes.value=StateDesc;	
		document.form1.CityDes.value=CityDesc;			
		document.form1.HotelDes.value=HotelDesc;	
		document.form1.CheckIn.value=CheckInDate;	
		document.form1.CheckOut.value=CheckOutDate;	
		document.form1.Nights.value=NumNights;	
		document.form1.Rooms.value=NumRooms;	
		document.form1.Adults.value=NumAdults;	
		document.form1.Child.value=NumChild;
		document.form1.CatCode.value=CatCode;
		document.form1.step.value='20';
		document.form1.target='';
		document.form1.action  = strServletUrl+ strPortalName+ '_AgentHome';
		document.form1.submit();
	}
	else
	{	
		target='';
		//location  = strServletUrl + strPortalName + '_ChildAgeBreakdown?Type=' + strTypeOfProcessing+ '&Order='+OrderVal+'&CtryCd='+CountryCode+'&CtryDes='+CountryDesc+'&StateCd='+StateCode+'&StateDes='+StateDesc+'&CityCd='+CityCode+'&CityDes='+CityDesc+'&HotelCd='+HotelCode+'&HotelDes='+HotelDesc+'&CheckIn='+CheckInDate+'&CheckOut='+CheckOutDate+'&Nights='+NumNights+'&Rooms='+NumRooms+'&Adults='+NumAdults+'&Child='+NumChild+aff+'&CatCode='+CatCode+'&StartNo='+varStartNo+'&EndNo='+varEndNo;
		location  = 'http://bookings.roomsnet.com/servlets/CANARY/CANARY_ChildAgeBreakdown?Type=' + strTypeOfProcessing+ '&Order='+OrderVal+'&CtryCd='+CountryCode+'&CtryDes='+CountryDesc+'&StateCd='+StateCode+'&StateDes='+StateDesc+'&CityCd='+CityCode+'&CityDes='+CityDesc+'&HotelCd='+HotelCode+'&HotelDes='+HotelDesc+'&CheckIn='+CheckInDate+'&CheckOut='+CheckOutDate+'&Nights='+NumNights+'&Rooms='+NumRooms+'&Adults='+NumAdults+'&Child='+NumChild+aff+'&CatCode='+CatCode+'&StartNo='+varStartNo+'&EndNo='+varEndNo;
	}
}

