//	HOW TO USE
//	add:
//		<script language="JavaScript" src="/JavaScript/Travx.iTravel2000/Calendar/popcalendar.js"></script>
//		<script language="JavaScript" src="/JavaScript/Travx.iTravel2000/Calendar/lw_layers.js"></script>
//		<script language="JavaScript" src="/JavaScript/Travx.iTravel2000/Calendar/lw_menu.js"></script>
//		<script language="JavaScript" src="/JavaScript/Travx.iTravel2000/Calendar/date.js"></script>
//		<script language="JavaScript" src="/JavaScript/Travx.iTravel2000/QuickSearchBar.js"></script>
//	call:
//		QuickSearchBarInit() in the body.onload event to proper initialize controls on the QuickSearchBar
//
//---------------------------------------------------------------------------------------------------------			

	function QuickSearchBarInit()
	{
		
		SetSelectedProductActive();
		SetChildAgeLists();
		SetDepartureCities();
		//GetCityDepart(commonForm.p_departCity);
		GetCityDepart(commonForm.fh_departCity);
		OnewayChange();
		FillCruiseDuration();
	}

	function GetCityDepart(obj)
	{
		obj.options.length = 1;
		
		obj.options[1]	= new Option("Fredericton", "YFC");
		obj.options[2]	= new Option("Halifax", "YHZ");
		obj.options[3]	= new Option("Hamilton", "YHM");
		obj.options[4]	= new Option("Kitchener", "YKF");
		obj.options[5]	= new Option("London(Ontario)", "YXU");
		obj.options[6]	= new Option("Moncton", "YQM");
		obj.options[7]	= new Option("Montreal(Trudeau)", "YUL");
		obj.options[8]	= new Option("Ottawa", "YOW");
		obj.options[9]	= new Option("Quebec City", "YQB");
		obj.options[10]	= new Option("St-Johns", "YYT");
		obj.options[11] = new Option("Sudbury", "YSB");
		obj.options[12] = new Option("Thunder Bay", "YQT");
		obj.options[13] = new Option("Toronto", "YYZ");
		obj.options[14] = new Option("Windsor", "YQG");

	}

	function GetCityDest(obj)
	{


	}

	
	/*
	function onChangeCountry(obj)
	{
		if(obj.name == "h_destCountry")
		{	
			ChangeCity(commonForm.h_destCity, obj.value);
		}
		else if(obj.name == "fh_destCountry")
		{
			ChangeCity(commonForm.fh_destCity, obj.value);
		}							
	}
	*/
	function ShowChildRow(prefix)
	{
		if(prefix==null) return false;
		document.getElementById(prefix +'_childAgeRow').style.display = "none";
		var childList = document.getElementById(prefix +'_children');
		if(childList.selectedIndex>0)
		{
			ShowChildColumn(1, childList.selectedIndex, prefix);
			document.getElementById(prefix +'_childAgeRow').style.display = "inline";
		}
	}
	
	function ShowChildColumn(index,	count, prefix)
	{
		for(i=1	; i<=count;	i++)
		{
			fieldName =	prefix + '_colChild' +i	;
			document.getElementById(fieldName).style.display = "inline";
		}
		for(i=count+1 ;	i<=4; i++)
		{
			fieldName =	prefix + '_colChild' +i	;
			document.getElementById(fieldName).style.display = "none";
		}
	}
	function setChildCombo(prefix)
	{
		if (prefix==null) return false;
		for(child = 1 ; child <=4 ; child++)
		{
			document.getElementsByName(prefix + '_child' + child + 'Age')[0].options[0] = new Option("",-1);
			document.getElementsByName(prefix + '_child' + child + 'Age')[0].options[1] = new Option("<1",0);
			
			for(i=1 ; i < 14 ; i++)
			{
				document.getElementsByName(prefix + '_child' + child + 'Age')[0].options[i+1] = new Option(i,i);
			}
		}
	}

	function onChildrenChange(obj)
	{
		var idMask		= null;
		
		if(obj.name == "h_children")
		{
			idMask = "childAgesHotels";
		}	
		else if(obj.name == "fh_children")
		{
			idMask = "childAgesFlightHotel";
		}
		else if(obj.name == "f_children")
		{
			idMask = "childAgesFlight";
		}
		else
		{
			return;
		}	
		
		if(obj.value < 1)
		{
			document.getElementById(idMask).style.display = "none";
		}
		else
		{	
			document.getElementById(idMask).style.display = "inline";
			
		}

		var row = 1;
		var col = 1;

		for(i=1; i < obj.options.length; i++)
		{
			if(col > 3)
			{
				row = 2;
				col = 1;
			}		
			
			if(i <= obj.value)
			{
				document.getElementById(idMask + "Row" + row + "Col" + col).style.display = "inline";
			}
			else
			{
				document.getElementById(idMask + "Row" + row + "Col" + col).style.display = "none";
			}					
		
			col++;
		}
	}

	function SetChildAgeLists()
	{
		for(i=1; i <= 4; i++)
		{
			document.getElementsByName("h_child" + i + "Age")[0].options[1] = new Option("<1", 0);
			document.getElementsByName("fh_child" + i + "Age")[0].options[1] = new Option("<1", 0);
			document.getElementsByName("f_child" + i + "Age")[0].options[1] = new Option("<1", 0);
			
			for(j=1; j < 18; j++)
			{
				document.getElementsByName("h_child" + i + "Age")[0].options[j+1] = new Option(j,j);
				document.getElementsByName("fh_child" + i + "Age")[0].options[j+1] = new Option(j,j);
				document.getElementsByName("f_child" + i + "Age")[0].options[j+1] = new Option(j,j);
			}
		}

		onChildrenChange(commonForm.h_children);
		onChildrenChange(commonForm.fh_children);
		onChildrenChange(commonForm.f_children);
		DoIncludeHotel() ;
	}

	function DoIncludeHotel()
	{
		document.getElementById('f_travelers').style.display = commonForm.f_includeHotel.checked?"inline":"none";
		if(commonForm.searchtype.checked && commonForm.f_includeHotel.checked)
		{
			commonForm.searchtype.checked = false ;
			OnewayChange();
		}
		commonForm.searchtype.disabled = commonForm.f_includeHotel.checked ;
	}

	function SetSelectedProductActive()
	{
		if (commonForm.product == null)
			return;

		var productSelected = null;
		
		for(i=0; i < commonForm.product.length; i++)
		{
			if(commonForm.product[i].checked)
			{
				productSelected = i;
			}
		}
		
		if(productSelected == null)
		{
			productSelected = 0;
		}

		if (commonForm.product.length != null)
			commonForm.product[productSelected].click();
		else
			commonForm.product.click();
	}

	function onProductChange(index)
	{
		if(bShow)
			hideCalendar();

		
		for(i=0; i < 6; i++)
		{
			if(document.getElementById("qsearch" + (i+1)) != null)
			{
				document.getElementById("qsearch" + (i+1)).style.display = "none";
			}	
		}

		/*for(i=0; i < commonForm.product.length; i++)
		{
			if(commonForm.product[i].checked)
			{
				if(document.getElementById("qsearch" + (i+1)) != null)
				{
					document.getElementById("qsearch" + (i+1)).style.display = "inline";
					document.commonForm.q_currentTab.value=i ;
				}	
			}
			else
			{
				if(document.getElementById("qsearch" + (i+1)) != null)
				{
					document.getElementById("qsearch" + (i+1)).style.display = "none";
				}	
			}	
		}*/
		
		if(document.getElementById("qsearch" + (index+1)) != null)
		{
			document.getElementById("qsearch" + (index+1)).style.display = "inline";
			document.commonForm.q_currentTab.value=index ;
		}
	}

// Commont functions of QSbar and HomePage

	function DoCountryChange(prefix)
	{
		if(prefix==null) return false;
		
		var countryListbox = document.getElementsByName(prefix + '_destCountry')[0] ;
		var cityListbox = document.getElementsByName(prefix + '_destCity')[0] ;
		
		if(countryListbox.value == 0)
		{
			document.getElementById(prefix + '_destCityOtherRow').style.display = "inline";
			document.getElementById(prefix + '_destCityRow').style.display = "none";			
		}
		else
		{
			ChangeCity(cityListbox ,countryListbox.selectedIndex);
			document.getElementById(prefix + '_destCityOtherRow').style.display = "none";
			document.getElementById(prefix + '_destCityRow').style.display = "inline";			
		}
	}


	function ClearValues()
	{
		document.commonForm.destCityCode.value = '' ;
		document.commonForm.destCityName.value = '' ;
		document.commonForm.departDate.value = '' ;
		document.commonForm.returnDate.value = '' ;
		document.commonForm.departTime.value = '' ;
		document.commonForm.returnTime.value = '' ;
		document.commonForm.adults.value = '' ;
		document.commonForm.children.value = '' ;
		document.commonForm.childAges.value = '' ;
		document.commonForm.departCityCode.value= '' ;
		document.commonForm.departCityName.value = '' ;
		if(document.commonForm.destCountry != null)	document.commonForm.destCountry.value ='' ;
		if(document.commonForm.destHotel!=null)		document.commonForm.destHotel.value='' ;
	}
	
	function AssignSearchValue(prefix)
	{
		if(prefix==null) return false;
		ClearValues();
		
		//Departure city
		if(document.getElementsByName(prefix + '_departCity')[0]!=null)
		{
			document.commonForm.departCityCode.value = document.getElementsByName(prefix +'_departCity')[0].value ; 
			if((document.getElementsByName(prefix +'_departCity'))[0].type == 'text')
			{
				document.commonForm.departCityName.value = document.getElementsByName(prefix +'_departCity')[0].value ; 
			}
			else
			{
				var deptCity = document.getElementsByName(prefix +'_departCity')[0]; 
				document.commonForm.departCityName.value = deptCity.options[deptCity.selectedIndex].text; 
			}
		}
		
		
		//Departure date
		document.commonForm.departDate.value = document.getElementsByName(prefix +'_departDate')[0].value ; 
		
		var datepart = document.getElementsByName(prefix +'_departDate')[0].value.split("/");
		var deptDate = new Date(datepart[2], datepart[0]-1, datepart[1],23,59,59);
		
		
		//Return date
		if(prefix=='p')
		{
			var duration = document.getElementsByName(prefix +'_duration')[0].value ;
			var returnDate = new Date()
			returnDate.setTime(deptDate.getTime()+(parseInt(duration) * (1000 * 60 * 60 * 24)));
			document.commonForm.returnDate.value = (returnDate.getMonth()+1)  + "/" + returnDate.getDate()  + "/" + (returnDate.getYear()) ;
		}
		else
		{
			document.commonForm.returnDate.value = document.getElementsByName(prefix +'_returnDate')[0].value ; 
		}
		
		//Departure time
		if(document.getElementsByName(prefix + '_departTime')[0]!=null)
		{
			document.commonForm.departTime.value = document.getElementsByName(prefix +'_departTime')[0].value ; 
		}
		if(document.getElementsByName(prefix + '_returnTime')[0]!=null)
		{
			document.commonForm.returnTime.value = document.getElementsByName(prefix +'_returnTime')[0].value ; 
		}
		
		
		//Assign child age and adult passenger
		if("h,fh,".indexOf(prefix + ",") > -1 || (prefix=='f' && commonForm.f_includeHotel.checked))
		{
			document.commonForm.adults.value = document.getElementsByName(prefix +'_adults')[0].value ; 
			document.commonForm.children.value = document.getElementsByName(prefix +'_children')[0].value ; 
			if(parseInt(document.commonForm.children.value)>0)
			{
				GetChildAges(prefix) ; 
			}
		}
		
		//Destination country
		if("h,fh,".indexOf(prefix + ",") > -1)
		{
			document.commonForm.destCountry.value = document.getElementsByName(prefix +'_destCountry')[0].value ; 
		}
		else if(prefix =="p")
		{
			var dests = document.getElementsByName(prefix +'_destCity')[0].options[document.getElementsByName(prefix +'_destCity')[0].selectedIndex].text.split(',');
			if(document.getElementsByName(prefix +'_destCity')[0].value.length !=3)
				document.commonForm.destCountry.value = document.getElementsByName(prefix +'_destCity')[0].value ; 
			else
				document.commonForm.destCountry.value = dests[1] ;
				
		}
		
		//Hotel ID
		if(prefix == 'p')
		{
			hotels = document.getElementsByName(prefix +'_destHotel')[0] ; 
			if(hotels.selectedIndex>0)
			{
				document.commonForm.destHotel.value = hotels.value;
			}
		}
		
		//Destination City
		if((document.getElementsByName(prefix +'_destCity'))[0].type == 'text')
		{
			document.commonForm.destCityCode.value = document.getElementsByName(prefix +'_destCity')[0].value ; 
			document.commonForm.destCityName.value = document.getElementsByName(prefix +'_destCity')[0].value ; 
		}
		else
		{
			if(prefix != "p" && document.getElementsByName(prefix +'_destCountry')[0].value==0) 
			{
				//It means user selected other city and type in the destination city name
				document.commonForm.destCityCode.value = document.getElementsByName(prefix +'_destCityOther')[0].value ; 
				document.commonForm.destCityName.value = document.getElementsByName(prefix +'_destCityOther')[0].value; 
			}
			else
			{
				document.commonForm.destCityCode.value = document.getElementsByName(prefix +'_destCity')[0].value ; 
				var destCity = document.getElementsByName(prefix +'_destCity')[0]; 
				document.commonForm.destCityName.value = destCity.options[destCity.selectedIndex].text; 
				
				if(prefix == "p" && document.commonForm.destCityCode.value.length !=3)
				{
					document.commonForm.destCityCode.value = "0" ;
					document.commonForm.destCityName.value = "All Cities" ;
				}
			}
		}
	}
	
	function GetChildAges(prefix)
	{
		var ages = "";
		var totalChild = document.getElementsByName(prefix +'_children')[0].value ;
		
		for(child=1 ; child <=totalChild ; child++)
		{
			//ages.push(document.getElementsByName(prefix +'_child' + child + 'Age')[0].selectedIndex-1);
			ages+= (document.getElementsByName(prefix +'_child' + child + 'Age')[0].selectedIndex-1) + "," ;
		}
		if(ages.length >0 ) ages = ages.substring(0,ages.length-1);
		//document.commonForm.childAges.value = ages.join(",");		
		document.commonForm.childAges.value = ages.split(",");		
	}
	
	function ValidateChildAge(prefix)
	{
		
		var childList = document.getElementsByName(prefix +'_children')[0] ;
		
		var isChildProvide=true;
		if(childList.value>0)
		{
			if(parseInt(childList.value) >=1 && document.getElementsByName(prefix +'_child1Age')[0].selectedIndex == 0)
			{
				isChildProvide=false;
				document.getElementsByName(prefix +'_child1Age')[0].className = "error_control";
			}
			else
				document.getElementsByName(prefix +'_child1Age')[0].className = "";
			
			if(parseInt(childList.value) >=2 && document.getElementsByName(prefix +'_child2Age')[0].selectedIndex == 0)
			{
				isChildProvide=false;
				document.getElementsByName(prefix +'_child2Age')[0].className = "error_control";
			}
			else
				document.getElementsByName(prefix +'_child2Age')[0].className = "";
				
			if(parseInt(childList.value) >=3 && document.getElementsByName(prefix +'_child3Age')[0].selectedIndex == 0)
			{
				isChildProvide=false;
				document.getElementsByName(prefix +'_child3Age')[0].className = "error_control";
			}
			else
				document.getElementsByName(prefix +'_child3Age')[0].className = "";
				
			if(parseInt(childList.value) >=4 && document.getElementsByName(prefix +'_child4Age')[0].selectedIndex == 0)
			{
				isChildProvide=false;
				document.getElementsByName(prefix +'_child4Age')[0].className = "error_control";
			}
			else
				document.getElementsByName(prefix +'_child4Age')[0].className = "";
		}
		
		return isChildProvide;
	}
	
	function ValidateInput(prefix , returnRequired)
	{
		var message = '' ;
		var dateMessage = '' ;
		var todaysPackage = false ;
		
		if(prefix==null) return false;
		
		if(prefix!='h')
		{
			if(document.getElementsByName(prefix +'_departCity')[0].value.length == 0 ||
			(document.getElementsByName(prefix +'_departCity')[0].value == document.getElementsByName(prefix +'_departCity')[0].defaultValue))
			{
				message += 'Please enter/select Departing city.\n' ;
				document.getElementsByName(prefix +'_departCity')[0].className = "error_control";
			}/*
			else
			{
				document.getElementsByName(prefix +'_departCity')[0].className="";
			} */
			else if(document.getElementsByName(prefix +'_departCity')[0].type=="select-one" 
				&& document.getElementsByName(prefix +'_departCity')[0].selectedIndex == 0)
			{
				message += 'Please select Departing city.\n' ;
				document.getElementsByName(prefix +'_departCity')[0].className = "error_control";
			}
			else
			{
				document.getElementsByName(prefix +'_departCity')[0].className = "";
			}
		}
		var curDate = new Date();
		var deptDate = null;
		var rtnDate = null;
		var wrongDate = false;

//		if(document.getElementsByName(prefix +'_departDate')[0].value.length == 0 ||
//		(document.getElementsByName(prefix +'_departDate')[0].value == document.getElementsByName(prefix +'_departDate')[0].defaultValue))
		
		if(document.getElementsByName(prefix +'_departDate')[0].value.length == 0 ||
		(document.getElementsByName(prefix +'_departDate')[0].value == 'mm/dd/yyyy'))
		{
			message += 'Please choose Departing Date.\n' ;
			document.getElementsByName(prefix +'_departDate')[0].className = "error_control";
		}
		else
		{
			document.getElementsByName(prefix +'_departDate')[0].className="";
			var datepart = document.getElementsByName(prefix +'_departDate')[0].value.split("/");
			deptDate = new Date(datepart[2], datepart[0]-1, datepart[1],curDate.getHours(),curDate.getMinutes(),curDate.getSeconds());
		}
		
		if(prefix!='p' && !(prefix=='f' && returnRequired != null && returnRequired == false))
		{
			if(document.getElementsByName(prefix +'_returnDate')[0].value.length == 0 ||
			(document.getElementsByName(prefix +'_returnDate')[0].value == document.getElementsByName(prefix +'_returnDate')[0].defaultValue))
			{
				message += 'Please choose Return Date.\n' ;
				document.getElementsByName(prefix +'_returnDate')[0].className = "error_control";
			}
			else
			{
				document.getElementsByName(prefix +'_returnDate')[0].className="";
				var datepart = document.getElementsByName(prefix +'_returnDate')[0].value.split("/");
				rtnDate = new Date(datepart[2], datepart[0]-1, datepart[1],curDate.getHours(),curDate.getMinutes(),curDate.getSeconds());
			}
		} 
		else if(returnRequired != null && returnRequired == false)
		{
			document.getElementsByName(prefix +'_returnDate')[0].className="";
		}

		if(deptDate!=null && 
			curDate.getDate()==deptDate.getDate() && 
			curDate.getMonth()==deptDate.getMonth() && 
			curDate.getYear()==deptDate.getYear()  
			&& (prefix == 'p' || prefix == 'f'))
		{
			todaysPackage = true ;
		}
		else if(deptDate!=null && curDate>deptDate)
		{
			dateMessage = 'The date you have selected is before the current date';
			wrongDate = true ;
			document.getElementsByName(prefix +'_departDate')[0].className = "error_control";
		}
		//else if(deptDate!=null && rtnDate!=null && deptDate == rtnDate)
		else if(deptDate!=null && rtnDate!=null && prefix !='f' &&
			document.getElementsByName(prefix +'_departDate')[0].value ==
			document.getElementsByName(prefix +'_returnDate')[0].value )
		{
			dateMessage = 'The dates you have selected can not be the same';
			wrongDate = true ;
			document.getElementsByName(prefix +'_returnDate')[0].className = "error_control";
		}
		else if(deptDate!=null && rtnDate!=null && deptDate>rtnDate)
		{
			dateMessage = 'Please verify that your dates are correct';
			wrongDate = true ;
			document.getElementsByName(prefix +'_returnDate')[0].className = "error_control";
		}
		
		if(prefix!='h' && prefix!='fh')
		{
			if((document.getElementsByName(prefix +'_destCity'))[0].type == 'text')
			{
				if((document.getElementsByName(prefix +'_destCity')[0].value==document.getElementsByName(prefix +'_destCity')[0].defaultValue)||
				document.getElementsByName(prefix +'_destCity')[0].value.length==0)
				{
					document.getElementsByName(prefix +'_destCity')[0].className = "error_control";
					message+="Please enter your desire Destination city name/airport code.\n";
				}
				else
				{
					document.getElementsByName(prefix +'_destCity')[0].className="";
				}
			}
			else
			{
				if(prefix!='p')
				{
					if (document.getElementsByName(prefix +'_destCountry')[0].value==0) 
					{
						//It means user selected other city and type in the destination city name
						if((document.getElementsByName(prefix +'_destCityOther')[0].value==document.getElementsByName(prefix +'_destCityOther').DefaultValue)||
						document.getElementsByName(prefix +'_destCityOther')[0].value.length==0)
						{
							document.getElementsByName(prefix +'_destCityOther')[0].className = "error_control";
							message+="Please enter your desire Destination city name/airport code.\n";
						}
						else
						{
							document.getElementsByName(prefix +'_destCityOther')[0].className="";
						}
					}
					else
					{
						if(document.getElementsByName(prefix +'_destCity')[0].selectedIndex == 0)
						{
							document.getElementsByName(prefix +'_destCity')[0].className = "error_control";
							message+="Please select your desire Destination city.\n";
						}
						else
						{
							document.getElementsByName(prefix +'_destCity')[0].className="";
						}
					}
				}
			}
		}
		if(prefix=='h' || prefix=='fh')
		{
			if(parseInt(document.getElementsByName(prefix +'_adults')[0].value)<=0)
			{
				message += ""
			}
		}
		
		if(prefix=='h' || prefix=='fh' || (prefix=='f' && commonForm.f_includeHotel.checked))
		{
			
			if(parseInt(document.getElementsByName(prefix +'_children')[0].value)>0)
			{
				if(!ValidateChildAge(prefix))
				{
					message += 'Please provide age of each children traveling.' ;
				}
			}
		}		
		
		//Below here Logic needs to be added for QuickSearchBar.
		
		if(message.length>0)		
		{
			alert(message);
			return false;
		}
		else if(wrongDate)
		{
			alert(dateMessage);	
			return false;
		}
		else if(todaysPackage)
		{
			alert("Unfortunately due to the short timeframe for the issuing of tickets, we are unable to search your dates. Please adjust your dates or call our itravel2000 representative at 1-800-859-2920 for your lastminute booking.");
			return false;
		}
		else
		{
			return true;
		}
			
	}
	
	function SearchFlightHotel()
	{
		hideCalendar();
		if(ValidateInput('fh'))
		{
			//assignement
			AssignSearchValue('fh');
			NavigateTo('FlightHotelResult');
			return true;
		}
		else
			return false;
	}

	function DoPackageSearch()
	{
		hideCalendar();
		if(ValidateInput('p'))
		{
			//assignement
			AssignSearchValue('p');
			NavigateTo('p_SearchResults');
			return true;
		}
		else
			return false;		
	}
	
	function DoHotelSearch()
	{
		hideCalendar();
		if(ValidateInput('h'))
		{
			//assignement
			AssignSearchValue('h');
			NavigateTo('h_HotelResults');
			return true;
		}
		else
			return false;		
	}
	
	function DoCruisesSearch()
	{
		var supplierName = null
		for(i=0 ; i<document.commonForm.c_supplier.length ; i++)
		{
			if(document.commonForm.c_supplier[i].checked)
			{
				supplierName = document.commonForm.c_supplier[i].value ;
				break;
			}
		}
		if(supplierName!=null)
		{
			NavigateTo(supplierName + "Cruises.aspx")
		}
		//NavigateTo('CruisesResult');
		//need to put the actual urls
	}
	
	function DoFlightSearch(returnRequired)
	{
		hideCalendar();
		if(ValidateInput('f', returnRequired))
		{
			//assignement
			AssignSearchValue('f');
			if(commonForm.f_includeHotel !=null && commonForm.f_includeHotel.checked)
			{
				NavigateTo('FlightHotelResult');
			}
			else
			{
				commonForm.tm_productType.value = "Flights";
				NavigateTo('GatewaySearch', null, 'appName=Flights');
			}
			return true;
		}
		else
			return false;
	}
		
	function DoCarsSearch()
	{
		hideCalendar();
		if(ValidateInput('c'))
		{
			//assignement
			commonForm.tm_productType.value = "Cars";
			AssignSearchValue('c');
			NavigateTo('GatewaySearch', null, 'appName=Cars');
			return true;
		}
		else
			return false;
	}

	function ReloadPackage(controlName)
	{
		if(controlName!=null && controlName == 'departCity')
		{
			var destCities =new Array();

			if(commonForm.p_departCity.selectedIndex > 0)
			{
				destCities = GetDestinationCities(commonForm.p_departCity.options[commonForm.p_departCity.selectedIndex].text) ;
				
				commonForm.p_destCity.options.length=0;
				
				if(destCities!=null)
				{
					for(i= 0 ; i < destCities.length ; i++)
					{
						commonForm.p_destCity.options[i] = new Option(destCities[i][0],destCities[i][1].toString().toUpperCase());
					}
				}
			}
			else
			{
				commonForm.p_departCity.selectedIndex = 0 ;
			}
		}
		else if(controlName!=null && controlName == 'destCity')
		{
			var destHotels =new Array();
			var destHotelValues =new Array();

			destHotels = GetCityHotels(commonForm.p_destCity.value) ;
			commonForm.p_destHotel.options.length=1;
			if(destHotels!=null)
			{
				for(i= 1 ; i <= destHotels.length ; i++)
				{
					commonForm.p_destHotel.options[i] = new Option(destHotels[i-1][0],destHotels[i-1][1]);
				}
			}
		}
	}		
	
	function SetDepartureCities()
	{
		var departCities = new Array();
		var departCityValues = new Array();
		var prevDepartCity ;
		
		if(document.commonForm.departCityCode!=null)
		{
			prevDepartCity = document.commonForm.departCityCode.value ;
		}
		
		departCities = GetDepartureCities(departCities) ;
		
		if(departCities!=null)
		{
			document.commonForm.p_departCity.options.length=1;
			for(i= 1 ; i <= departCities.length ; i++)
			{
				document.commonForm.p_departCity.options[i] = new Option(departCities[i-1][0],departCities[i-1][1]);
			}
		}
		document.commonForm.p_destCity.selectedIndex = 0;
		
		if(SetActiveDepartureCity()) 
		{
			ReloadPackage('departCity');
	    }
		if(prevDepartCity!=null && prevDepartCity!= 'Please select one' && prevDepartCity !='')
		{
			document.commonForm.p_departCity.value = prevDepartCity;
			var destCity = document.commonForm.destCityCode.value ;
			var destCountry = document.commonForm.destCountry.value ;

			if(destCity == "0" || destCity.toUpperCase() == "ALLCITIES" ) destCity = destCountry ;
			
			ReloadPackage('departCity');
			if(destCity!=null && destCity.length > 0)
			{
				document.commonForm.p_destCity.value = destCity.toUpperCase();
				if(document.commonForm.p_destCity.selectedIndex > 0)
				{
					ReloadPackage('destCity');
				}
				else
				{	
					document.commonForm.p_destCity.selectedIndex = 0 ;
					if(SetActiveDepartureCity()) 
					{
						ReloadPackage('departCity');
					}
				}
			}
			else if(destCountry!=null && destCountry.length > 0)
			{
				document.commonForm.p_destCity.value = destCountry.toUpperCase();
			}
		}
		
	}
	
	function SetActiveDepartureCity()
	{
		
		/*if(document.commonForm.tm_gateway.value != "")
		{
			for(i=0; i < document.commonForm.p_departCity.options.length; i++)
			{
				if(document.commonForm.tm_gateway.value == document.commonForm.p_departCity.options[i].text)
				{
					
					document.commonForm.p_departCity.options[i].selected = true;
					return true;
				}
			}
		}*/
		return false;
	}
	
	function OnewayChange()
	{
		commonForm.f_returnDate.disabled = commonForm.searchtype.checked ;
		commonForm.f_returnTime.disabled = commonForm.searchtype.checked ;
		commonForm.f_returnCal.disabled = commonForm.searchtype.checked ;
	}
	
	function FillCruiseDuration()
	{
		var month_names = new Array(12);
		month_names[0] = "January";
		month_names[1] = "February";
		month_names[2] = "March";
		month_names[3] = "April";
		month_names[4] = "May";
		month_names[5] = "June";
		month_names[6] = "July";
		month_names[7] = "August";
		month_names[8] = "September";
		month_names[9] = "October";
		month_names[10] = "November";
		month_names[11] = "December";

		var curDate = new Date() ;
		document.commonForm.cs_departDate.options.length=1;
		var curMonth = curDate.getMonth();
		var curYear = curDate.getFullYear();
		
		for(i=0 ; i < 23 ; i++)
		{
			if(curMonth >=12) 
			{ curMonth=0 ; curYear++ ;}
			document.commonForm.cs_departDate.options[i] = 
				new Option(month_names[curMonth] + " " + curYear ,(curMonth+1) + "X" + curYear);
			curMonth++;
		}
	}
	
	function DoCruiseSearch()
	{
	
		if(commonForm.cs_destination.value == "-99" && commonForm.cs_cruiseline.value == "-99")
		{
			commonForm.cs_destination.className = "error_control";
			commonForm.cs_cruiseline.className = "error_control";
			document.getElementById('error_msg').innerHTML = "Destination or Cruise Line must have value other than 'All'."
			return false;
		}
		else
		{
			commonForm.cs_destination.className = "";
			commonForm.cs_cruiseline.className = "";
		}
		var depDate = commonForm.cs_departDate.value.split('/');
		window.location.href ="http://www.galileocruiseplus.com/cruises/cruises.jsp?" + 
		"cobrand=33911&" +
		"destination=" + commonForm.cs_destination.value + "&" +
		"dur=" + commonForm.cs_duration.value + "&" +
		"date=" + commonForm.cs_departDate.value + "&" +
		"cruiseline=" + commonForm.cs_cruiseline.value + "&" ;
	}
	
	function DoAdvanceCruiseSearch()
	{
		if(commonForm.cs_destination.value == "-99" && commonForm.cs_cruiseline.value == "-99")
		{
			commonForm.cs_destination.className = "error_control";
			commonForm.cs_cruiseline.className = "error_control";
			document.getElementById('error_msg').innerHTML = "Destination or Cruise Line must have value other than 'All'."
			return false;
		}
		else
		{
			commonForm.cs_destination.className = "";
			commonForm.cs_cruiseline.className = "";
		}
		
		if(commonForm.cs_departDate.value == commonForm.cs_departDate.defaultValue)
		{
			commonForm.cs_departDate.className = "error_control";
			document.getElementById('error_msg').innerHTML = "Please pick the Sailing Date."
			return false;
		}
		else
		{
			var curDate = new Date();
			var datepart = commonForm.cs_departDate.value.split("/");
			var deptDate = new Date(datepart[2], datepart[0]-1, datepart[1],curDate.getHours(),curDate.getMinutes(),curDate.getSeconds());
		
			if(curDate>deptDate)
			{
				commonForm.cs_departDate.className = "error_control";
				document.getElementById('error_msg').innerHTML = "Sailing Date can not be the today's date."
				return false;
			}
			commonForm.cs_departDate.className = "";
		}
		var depDate = commonForm.cs_departDate.value.split('/');
		
		window.location.href ="http://www.galileocruiseplus.com/cruises/cruises.jsp?" + 
		"cobrand=33911&as=1&" +
		"ship=" + commonForm.cs_ships.value + "&" +
		"ord=" + commonForm.cs_order.value + "&" +
		"dport=" + commonForm.cs_departPort.value + "&" +
		"prange=" + commonForm.cs_priceRange.value + "&" +
		"destination=" + commonForm.cs_destination.value + "&" +
		"dur=" + commonForm.cs_duration.value + "&" +
		"sort=" + commonForm.cs_sortBy.value + "&" +
		"date=" + depDate[1] +"/"+ depDate[0] +"/"+ depDate[2] + "&" +
		"cruiseline=" + commonForm.cs_cruiseline.value + "&" ;
	}