		
			var xmlhttp=false;		
			try 
			{
				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			} 
			catch (e) 
			{
				try 
				{
					xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (E) {
					xmlhttp = false;
				}
			}	
			if (!xmlhttp && typeof XMLHttpRequest!='undefined') 
			{
				xmlhttp = new XMLHttpRequest();
			}
			
		function Subcribe(mailAddress)
		{
			if ((mailAddress == null)||(mailAddress == ""))
			{
				alert("Please Enter the Email Address");
				return;	
			}
			else
			{
				if(mailAddress.search(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/) == -1)
				{
					alert("Please Enter a valid Email Address");
					return;	
				}
				else
				{
					try
					{	
						xmlhttp.open("POST","Holiday/NewsLetter.aspx?pstrEmail="+mailAddress,true);	
						xmlhttp.onreadystatechange=function() 
						{		
							if (xmlhttp.readyState==4) 
							{						
								if(xmlhttp.status==200)
								{								
									var response=xmlhttp.responseText;
									var intSStart=response.indexOf("MSGSTART:");
									var intSEnd=response.indexOf(":MSGEND");
									var strMessage=response.slice(intSEnd+2,response.length-1);
									if(intSStart!=-1 && intSEnd!=-1)
									{							
										var strMessage=response.slice(intSStart+9,intSEnd);
										alert(strMessage);
									}

										
								}				
							}
						}
						xmlhttp.send(null);							
					}
					catch(e)
					{
					
					}			
				}
			}
		}
		
		function daysAfter(n){return xc_bq(getCurrentDate(),n)};
		
		function ShowDriverAge(pbolIsVisible)
		{
			if(pbolIsVisible)
			{
				try
				{
					(document.getElementById('_tdDriverAgeTitle')).style.display = 'inline';
					(document.getElementById('_tdDriverAge')).style.display = 'inline';
				}
				catch( e )
				{
				
				}
			}
			else
			{
				(document.getElementById('_tdDriverAgeTitle')).style.display = 'none';
				(document.getElementById('_tdDriverAge')).style.display = 'none';
			}
		}
		
		function textChange(object)
			{

				
				document.getElementById(object).className="date";
			}
			
			function focusout(object)
			{


				if(document.getElementById(object).value=="")
				{
					document.getElementById(object).value="dd/mm/yyyy"
					document.getElementById(object).className="datetext";
				}
			}
			
/*			function SetDefaultDateValue()
			{
					if(document.getElementById("txtDepartDate")!=null)
						document.getElementById("txtDepartDate").value="dd/mm/yyyy"
					if(document.getElementById("txtReturnDate")!=null)
						document.getElementById("txtReturnDate").value="dd/mm/yyyy"
			}*/
			
			function setSignInDate(conf_name,target_field,ref_field,default_date,hoder_id,dx,dy,mode,target_feild)
			{
				//debugger;
				//xcModPath="script";
				xcModPath = "./";
				xcWindowTemplate="/script/xc2_template.html";
				xcDateFormat ='dd/mm/yyyy';
				var returnDate = "";
				var departureDate = "";
				/*if(window.document.getElementById('_hdReturn') != null)
				{
					returnDate = window.document.getElementById('_hdReturn').value;
				}
				else
				{
					returnDate = "";
				}
				
				var departureDate;
				if(window.document.getElementById('_hdDeparture') != null)
				{
					departureDate = window.document.getElementById('_hdDeparture').value;
				}
				else
				{
					departureDate = "3";
				}*/
				
				departureDate = "3";
				setRange("conf",daysAfter(departureDate),returnDate);


				//showCustomCalendar("conf",target_field,ref_field,default_date,hoder_id,dx,dy,mode,target_feild);
				showCustomCalendar("conf",target_field,ref_field,default_date,hoder_id,dx,dy,mode,target_feild);
				target_field.className="date";
				ref_field.className="date";
				
			}
			function setSignInDateHotel(conf_name,target_field,ref_field,default_date,hoder_id,dx,dy,mode,target_feild)
			{
				
				//debugger;
				//xcModPath="script";
				xcModPath = "./";
				xcWindowTemplate="/script/xc2_template.html";
				xcDateFormat ='dd/mm/yyyy';
				var returnDate ="";
				var departureDate = "";
				/*if(window.document.getElementById('_hdReturn') != null)
				{
					returnDate = window.document.getElementById('_hdReturn').value;
				}
				else
				{
					returnDate = "";
				}
				
				var departureDate;
				if(window.document.getElementById('_hdDeparture') != null)
				{
					departureDate = window.document.getElementById('_hdDeparture').value;
				}
				else
				{
					departureDate = "3";
				}*/
				
				if(trHotelDateBox!=null)
				{
					var chBox = document.getElementById('cbHotelDates');
					var rbnCar = document.getElementById('rbnCar');
					if(chBox!=null && chBox.checked)
					{
						returnDate = window.document.getElementById('txtReturnDate').value;
						departureDate = window.document.getElementById('txtDepartDate').value;
						setRange("conf",departureDate,returnDate);
					} else
						setRange("conf",daysAfter(departureDate),returnDate);

					
				}else
				{
					setRange("conf",daysAfter(departureDate),returnDate);
				}

				//showCustomCalendar("conf",target_field,ref_field,default_date,hoder_id,dx,dy,mode,target_feild);
				showCustomCalendar("conf",target_field,ref_field,default_date,hoder_id,dx,dy,mode,target_feild);
				//showCalendar("conf",target_field,ref_field,default_date,hoder_id,dx,dy,mode);
				target_field.className="date";
				ref_field.className="date";

				
			}
								
			
			function displaySeasons(value)
			{

				value ++;
				value --;
				 switch(value)
				{
					case 1:	
							if(document.getElementById('tblRoom2')!=null)
							{
								(document.getElementById('tblRoom2')).style.display = 'none';
							}
							if(document.getElementById('tblRoom3')!=null)
							{
								(document.getElementById('tblRoom3')).style.display = 'none';
							}
							break;
					case 2:	
							if(document.getElementById('tblRoom2')!=null)
							{
								(document.getElementById('tblRoom2')).style.display = 'inline';
							}
							if(document.getElementById('tblRoom3')!=null)
							{
								(document.getElementById('tblRoom3')).style.display = 'none';
							}
							
							break;
					case 3: 
						   	if(document.getElementById('tblRoom2')!=null)
							{
								(document.getElementById('tblRoom2')).style.display = 'inline';
							}
						   	if(document.getElementById('tblRoom3')!=null)
							{
								(document.getElementById('tblRoom3')).style.display = 'inline';
							}
							break;
				}
			}

				//Set the txtDepartDate and txtReturnDate
				function SetDefaultDate()
				{
					//Bopo pop up
					//bopoPopup();
				
					//debugger;
					MM_preloadImages() ;
					
					var td = Today();
					var sd1 = td.split("/");
					var x = new Date(sd1[2] ,sd1[0] -1 ,sd1[1] );

					var departureDate = Date.UTC(x.getYear(),x.getMonth(),x.getDate(),0,0,0) + 1000*60*60*24*14;
					var returnDate = Date.UTC(x.getYear(),x.getMonth(),x.getDate(),0,0,0) + 1000*60*60*24*28;

					var dtDeparture = new Date(departureDate);
					var dtReturn = new Date(returnDate);
					
					if((document.getElementById('rbnFlight') != null)&&(document.getElementById('rbnFlight').checked))
					{
						SetPackageType(0)
					}
					else
					{
						if((document.getElementById('rbnFlightHotel') != null)&&(document.getElementById('rbnFlightHotel').checked))
						{
							SetPackageType(4)
						}
						else
						{
							if((document.getElementById('rbnHotel') != null)&&(document.getElementById('rbnHotel').checked))
							{
								SetPackageType(1)
							}
							else
							{
								if((document.getElementById('rbnFlightCar') != null)&&(document.getElementById('rbnFlightCar').checked))
								{
									SetPackageType(5)
								}
								else
								{
									if((document.getElementById('rbnCar') != null)&&(document.getElementById('rbnCar').checked))
									{
										SetPackageType(2)
									}
									else
									{
										SetPackageType(3)
									}
								}
							}
						}
					}				
					
					
				}
		function MM_preloadImages() { //v3.0
		  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
		    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
		    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
		}
		
		function bopoPopup() {
			var theURL = 'http://www.directflights.com.au/Bopo/bopoPopup.html';
			var width  = 380;
			var height = 450;

			newWindow = window.open(theURL,'newWindow','toolbar=no,menubar=no,resizable=no,scrollbars=no,status=no,location=no,width='+width+',height='+height);
		}


				function padCalenderData(strDate, nLength, cChar){
					var str = strDate;
					var cTemp = str;
					if(nLength>str.length)
					{
						cTemp = "";
						var nExtraLen = nLength - str.length;
						for( var i = 0; i < nExtraLen; i++ )
						{
							cTemp += cChar;
						}
						cTemp += strDate;
					}
					else{
						//alert("String Long than pad request");
					}
					return cTemp;
				}

				function callCalendar(conf_name,target_field,ref_field,default_date,hoder_id,dx,dy,mode)
				{
			
					//debugger;
					xcModPath="script";
					xcWindowTemplate="./script/xc2_template.html";
					xcDateFormat ='dd/mm/yyyy';
					target_field.className="date";
					var returnDate ="";
					var departureDate ="";
					/*if(window.document.getElementById('_hdReturn') != null)
					{
						returnDate = window.document.getElementById('_hdReturn').value;
					}
					else
					{
						returnDate = "";
					}
					
					var departureDate;
					if(window.document.getElementById('_hdDeparture')!= null )
					{
						departureDate = window.document.getElementById('_hdDeparture').value;
						
					}
					else
					{
						departureDate = "3";
					//}*/
					
					departureDate = window.document.getElementById('txtDepartDate').value;
					setRange("conf",departureDate,returnDate);	
					//setRange("conf",daysAfter(departureDate),returnDate);
						
					showCalendar("conf",target_field,ref_field,default_date,hoder_id,dx,dy,mode);
				}
				
				function callCalendarHotel(conf_name,target_field,ref_field,default_date,hoder_id,dx,dy,mode)
				{
			
					//debugger;
					xcModPath="script";
					xcWindowTemplate="./script/xc2_template.html";
					xcDateFormat ='dd/mm/yyyy';
					target_field.className="date";
					var returnDate = "";
					var departureDate = "";
					/*if(window.document.getElementById('_hdReturn') != null)
					{
						returnDate = window.document.getElementById('_hdReturn').value;
					}
					else
					{
						returnDate = "";
					}
					
					var departureDate;
					if(window.document.getElementById('_hdDeparture') != null)
					{
						departureDate = window.document.getElementById('_hdDeparture').value;
					}
					else
					{
						departureDate = "3";
					}*/
					
					if(trHotelDateBox!=null)
					{
						var chBox = document.getElementById('cbHotelDates');
						var rbnCar = document.getElementById('rbnCar');
						if(chBox!=null && chBox.checked)
						{
							returnDate = window.document.getElementById('txtReturnDate').value;
							departureDate = window.document.getElementById('txtHotelCheckIn').value;
							setRange("conf",departureDate,returnDate);
						} 
						else
						{
							
							departureDate = window.document.getElementById('txtHotelCheckIn').value;
							setRange("conf",departureDate,returnDate);
							
						}

					}
					else
					{
						setRange("conf",daysAfter(departureDate),returnDate);
					}



					showCalendar("conf",target_field,ref_field,default_date,hoder_id,dx,dy,mode);
				}
				//xcDateFormat ='dd/mm/yyyy';
				//setRange("conf",daysAfter(0),"");
			
				function HotelDetails(action)
				{
					if(document.getElementById('lblRoom')!=null)
					{
						(document.getElementById('lblRoom')).style.display = action;
					}
					if(document.getElementById('tdRoomTitle')!=null)
					{
						(document.getElementById('tdRoomTitle')).style.display = action;
					}
					if(document.getElementById('rowNoOfRooms') && action =='inline' )
					{
					
						(document.getElementById('rowNoOfRooms')).style.visibility = 'visible';
					}
					if(document.getElementById('rowNoOfRooms') && action =='none' )
					{
					
						(document.getElementById('rowNoOfRooms')).style.visibility = 'hidden';
					}
					/*if(document.getElementById('trHotelDateCheckBox'))
					{
						(document.getElementById('trHotelDateCheckBox')).style.display = action;
					}
					if(document.getElementById('trHotelDateBox'))
					{
						(document.getElementById('trHotelDateBox')).style.display = action;
					}*/
				}
				function TimeBox(action)
				{
					if(document.getElementById('tdPickupTimeLbl')!=null)
					{
						(document.getElementById('tdPickupTimeLbl')).style.visibility= action;
					}
					if(document.getElementById('tdPickupTimeLst')!=null)
					{
						(document.getElementById('tdPickupTimeLst')).style.visibility = action;
					}
					if(document.getElementById('tdReturnTimelbl'))
					{
						(document.getElementById('tdReturnTimelbl')).style.visibility = action;
					}
					if(document.getElementById('tdReturnTimelbl'))
					{
						(document.getElementById('tdReturnTimelbl')).style.visibility = action;
					}
					if(document.getElementById('tdReturnTimeLst'))
					{
						(document.getElementById('tdReturnTimeLst')).style.visibility = action;
					}					
				}
				function DepartBox(action)
				{
					if(document.getElementById('tdDeptLable')!=null)
					{
						(document.getElementById('tdDeptLable')).style.visibility = action;
					}
					if(document.getElementById('tdDeptNone')!=null)
					{
						(document.getElementById('tdDeptNone')).style.visibility = action;
					}
					if(document.getElementById('tdDeptList'))
					{
						(document.getElementById('tdDeptList')).style.visibility = action;
					}
				}
				
				function FlightClass(action)
				{
					
					if(document.getElementById('trClassRowDetail')!=null)
					{
						(document.getElementById('trClassRowDetail')).style.display = action;
					}
					/*
					if(document.getElementById('trClassRow1')!=null)
					{
					
						(document.getElementById('trClassRow1')).style.display = action;
						alert(action);
						
					}
					if(document.getElementById('trClassRow2'))
					{
						(document.getElementById('trClassRow2')).style.display = action;
					}*/
				}
				function SetPackageType(pintPackageType)
				{

					var value;
					if(document.getElementById('ddlHotelRooms')!=null)
						value = document.getElementById('ddlHotelRooms').value;
					displaySeasons(value);
					hotelDatesCheckChange();
					if(document.getElementById('_hdPackageType') != null)
					{
						(document.getElementById('_hdPackageType')).value = pintPackageType;
					}
					var intPackageType = Number(pintPackageType);
				
					switch(intPackageType)
					{
						case 0:
						{

							HotelDetails('none');
							DepartBox('visible');	
							FlightClass('inline');	
							TimeBox('hidden');
							ShowDriverAge(false);
											
							if(document.getElementById('rowFlight') != null)
							{
								(document.getElementById('rowFlight')).style.display = 'none';
							}
							if(document.getElementById('tblRoom2')!=null)
							{
								(document.getElementById('tblRoom2')).style.display = 'none';
							}
							if(document.getElementById('tblRoom3')!=null)
							{
								(document.getElementById('tblRoom3')).style.display = 'none';
							}
							
							if(document.getElementById('trHotelDateBox'))
							{
								(document.getElementById('trHotelDateBox')).style.display = 'none';
							}
							if(document.getElementById('trHotelDateCheckBox'))
							{
								(document.getElementById('trHotelDateCheckBox')).style.display = 'none';
							}
							if(document.getElementById('tblPassengers') != null)
							{
								(document.getElementById('tblPassengers')).style.display = 'inline';
							}	
							if(document.getElementById('rowFlight') != null)
							{
								(document.getElementById('rowFlight')).style.display = 'inline';
							}
							if(document.getElementById('rowPreferredAirline') != null)
							{
								(document.getElementById('rowPreferredAirline')).style.display = 'inline';
							}
							if(document.getElementById('trFlightDateBox') != null)
							{
								(document.getElementById('trFlightDateBox')).style.display = 'inline';
							}
							
							

								
							break;
						}
						case 1:
						{

							HotelDetails('inline');
							DepartBox('hidden');
							FlightClass('none');	
							TimeBox('hidden');
							ShowDriverAge(false);
							
							if(document.getElementById('rowFlight') != null)
							{
								(document.getElementById('rowFlight')).style.display = 'none';
							}
							if(document.getElementById('rowPreferredAirline') != null)
							{
								(document.getElementById('rowPreferredAirline')).style.display = 'none';
							}
							if(document.getElementById('trFlightDateBox') != null)
							{
								(document.getElementById('trFlightDateBox')).style.display = 'none';
							}
							if(document.getElementById('trHotelDateCheckBox'))
							{
								(document.getElementById('trHotelDateCheckBox')).style.display = 'none';
							}
							if(document.getElementById('tblPassengers') != null)
							{
								(document.getElementById('tblPassengers')).style.display = 'inline';
							}
							if(document.getElementById('trHotelDateBox'))
							{
								(document.getElementById('trHotelDateBox')).style.display = 'inline';
							}
							
							

							break;
						}
						case 2:
						{

							HotelDetails('none');
							DepartBox('hidden');
							FlightClass('none');	
							TimeBox('visible');
							ShowDriverAge(true);
							
							if(document.getElementById('rowFlight') != null)
							{
								(document.getElementById('rowFlight')).style.display = 'none';
							}
							if(document.getElementById('tblRoom2')!=null)
							{
								(document.getElementById('tblRoom2')).style.display = 'none';
							}
							if(document.getElementById('tblRoom3')!=null)
							{
								(document.getElementById('tblRoom3')).style.display = 'none';
							}
							if(document.getElementById('tblPassengers') != null)
							{
								(document.getElementById('tblPassengers')).style.display = 'none';
							}
							if(document.getElementById('rowPreferredAirline') != null)
							{
								(document.getElementById('rowPreferredAirline')).style.display = 'none';
							}
							if(document.getElementById('trFlightDateBox') != null)
							{
								(document.getElementById('trFlightDateBox')).style.display = 'none';
							}
							if(document.getElementById('trHotelDateCheckBox'))
							{
								(document.getElementById('trHotelDateCheckBox')).style.display = 'none';
							}
							if(document.getElementById('trHotelDateBox'))
							{
								(document.getElementById('trHotelDateBox')).style.display = 'inline';
							}

							break;
						}
						case 3:
						{
							
							HotelDetails('inline');
							DepartBox('visible');
							FlightClass('inline');	
							TimeBox('hidden');
							ShowDriverAge(true);
							
							if(document.getElementById('tblPassengers') != null)
							{
								(document.getElementById('tblPassengers')).style.display = 'inline';
							}
							if(document.getElementById('rowFlight') != null)
							{
								(document.getElementById('rowFlight')).style.display = 'inline';
							}
							if(document.getElementById('rowPreferredAirline') != null)
							{
								(document.getElementById('rowPreferredAirline')).style.display = 'inline';
							}
							if(document.getElementById('trFlightDateBox') != null)
							{
								(document.getElementById('trFlightDateBox')).style.display = 'inline';
							}
							if(document.getElementById('trHotelDateCheckBox'))
							{
								(document.getElementById('trHotelDateCheckBox')).style.display = 'inline';
							}

							break;
						}
						case 4:
						{
							HotelDetails('inline');
							DepartBox('visible');
							FlightClass('inline');
							TimeBox('hidden');	
							ShowDriverAge(false);
							
							if(document.getElementById('tblPassengers') != null)
							{
								(document.getElementById('tblPassengers')).style.display = 'inline';
							}
							if(document.getElementById('rowFlight') != null)
							{
								(document.getElementById('rowFlight')).style.display = 'inline';
							}
							if(document.getElementById('rowPreferredAirline') != null)
							{
								(document.getElementById('rowPreferredAirline')).style.display = 'inline';
							}
							if(document.getElementById('trFlightDateBox') != null)
							{
								(document.getElementById('trFlightDateBox')).style.display = 'inline';
							}
							if(document.getElementById('trHotelDateCheckBox'))
							{
								(document.getElementById('trHotelDateCheckBox')).style.display = 'inline';
							}
	
							break;
						}
						case 5:
						{
							HotelDetails('none');
							DepartBox('visible');
							FlightClass('inline');	
							TimeBox('hidden');
							ShowDriverAge(true);
							
							if(document.getElementById('tblRoom2')!=null)
							{
								(document.getElementById('tblRoom2')).style.display = 'none';
							}
							if(document.getElementById('tblRoom3')!=null)
							{
								(document.getElementById('tblRoom3')).style.display = 'none';
							}
							if(document.getElementById('trHotelDateCheckBox'))
							{
								(document.getElementById('trHotelDateCheckBox')).style.display = 'none';
							}
							if(document.getElementById('trHotelDateBox'))
							{
								(document.getElementById('trHotelDateBox')).style.display = 'none';
							}
							if(document.getElementById('rowFlight') != null)
							{
								(document.getElementById('rowFlight')).style.display = 'inline';
							}
							if(document.getElementById('rowPreferredAirline') != null)
							{
								(document.getElementById('rowPreferredAirline')).style.display = 'inline';
							}
							if(document.getElementById('trFlightDateBox') != null)
							{
								(document.getElementById('trFlightDateBox')).style.display = 'inline';
							}
							

							break;
						}
						case 6:
						{
							HotelDetails('none');
							if(document.getElementById('tblRoom2')!=null)
							{
								(document.getElementById('tblRoom2')).style.display = 'none';
							}
							if(document.getElementById('tblRoom3')!=null)
							{
								(document.getElementById('tblRoom3')).style.display = 'none';
							}
							if(document.getElementById('tblPassengers') != null)
							{
								(document.getElementById('tblPassengers')).style.display = 'inline';
							}								
							if(document.getElementById('rowFlight') != null)
							{
								(document.getElementById('rowFlight')).style.display = 'inline';
							}
							
							if(document.getElementById('rowPreferredAirline') != null)
							{
								(document.getElementById('rowPreferredAirline')).style.display = 'inline';
							}
							break;
						}
					}
				}
				function hotelDatesCheckChange()
				{
					var chBox = document.getElementById('cbHotelDates');
					var trHotelDateBox = document.getElementById('trHotelDateBox');
					
					if(trHotelDateBox!=null)
					{
						if(chBox!=null && chBox.checked)
						{
							trHotelDateBox.style.display = 'inline';
						}else
						{
							trHotelDateBox.style.display = 'none';
						}
					}
					
					if(document.getElementById('txtHotelCheckIn')!=null && document.getElementById('txtDepartDate')!=null)
					{
						document.getElementById('txtHotelCheckIn').value = document.getElementById('txtDepartDate').value;
					}
					if(document.getElementById('txtHotelCheckOut')!=null && document.getElementById('txtReturnDate')!=null)
					{
						document.getElementById('txtHotelCheckOut').value = document.getElementById('txtReturnDate').value;
					}
					
				}
				function popUp(text, textBoxNo) {
					txtBox = text;
					textBoxId = textBoxNo;
					URL = "FindCity.aspx";
					var lbolIsIncludeDomestic = (document.getElementById('rbnCar').checked);
					win = open(URL + '?IsIncludeDomestic=' + lbolIsIncludeDomestic, 'FindCity', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=420,height=570,left = 340,top = 237');
				}
				function goToOffer(baseAPC,destinationAPC,airLinecode,startDate,endDate,basecity,destination,currency,amount)
					{
				//	goToOffer(base,destination,airLinecode,startDate,endDate)

					poupwin=window.open('FlightOffers.aspx?BaseCityAPC='+baseAPC+'&DestinationAPC='+destinationAPC+'&AirLineCode='+airLinecode+'&StartDate='+startDate+'&EndDate='+endDate+'&BaseCity='+basecity+'&Destination='+destination+'&Currency='+currency+'&Amount='+amount , 'TopOffer', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=525,height=600,left=120,top=80');
					//window.open('Gate247Offer.aspx');

					}

				function setDateFrom()
				{
					var datefrom1 = document.mainForm.setDate.value.split("/");
					document.mainForm.txtDepartDate.value = datefrom1[1] + "/" + datefrom1[0] + "/" + datefrom1[2];
				}

				function Today()
				{
					var dd = new Date();
					return((dd.getMonth()+1) + "/" + dd.getDate() + "/" + dd.getFullYear());
				}

				function showDateCal1()
				{
					var controlStr ="AppendOrReplace=Replace;AppendChar=';';CloseOnSelect=Yes;ReturnData=Date;Title=Calendar;InlineX=500;InlineY=270;CurrentDate=Today;SelectAfter=Today;SelectBefore=\"\";AllowWeekends=Yes;Resizable=No;CallFunction=setDateFrom();PopupX=200;PopupY=220;Nav=Yes;SmartNav=Yes;Fix=Yes;";show_calendar('mainForm.setDate',null,null, null,null, controlStr);
				}

				function setDateTo()
				{
					var dateto = document.mainForm.setDate.value.split("/");
					document.mainForm.txtReturnDate.value = dateto[1] + "/" + dateto[0] +  "/" + dateto[2];
				}

				function showDateCal2()
				{
					var controlStr ="AppendOrReplace=Replace;AppendChar=';';CloseOnSelect=Yes;ReturnData=Date;Title=Calendar;InlineX=500;InlineY=270;CurrentDate=Today;SelectAfter=Today;SelectBefore=\"\";AllowWeekends=Yes;Resizable=No;CallFunction=setDateTo();PopupX=200;PopupY=220;Nav=Yes;SmartNav=Yes;Fix=Yes;";show_calendar('mainForm.setDate',null,null, null,null, controlStr);
				}

				function trim(inputString)
				 {
					// Removes leading and trailing spaces from the passed string. Also removes
					// consecutive spaces and replaces it with one space. If something besides
					// a string is passed in (null, custom object, etc.) then return the input.
					if (typeof inputString != "string") { return inputString; }
					var retValue = inputString;
					var ch = retValue.substring(0, 1);
					while (ch == " ")
					{
						 // Check for spaces at the beginning of the string
						retValue = retValue.substring(1, retValue.length);
						ch = retValue.substring(0, 1);
					}
					ch = retValue.substring(retValue.length-1, retValue.length);
					while (ch == " ")
					{	// Check for spaces at the end of the string
						retValue = retValue.substring(0, retValue.length-1);
						ch = retValue.substring(retValue.length-1, retValue.length);
					}
					while (retValue.indexOf("  ") != -1)
					{	// Note that there are two spaces in the string - look for multiple spaces within the string
						retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
					}
					return retValue; // Return the trimmed string back to the user
				}

				function clickSearchOptions(control){
//					debugger;
					var hotelOptionsControl = document.getElementById("pnlHotelOptions");
					if(control!=null){
						var strMatch = new String()
						var optionValue = control.value;
						strMatch = "Hotel";
						arr = optionValue.match(strMatch);

						//Hotel included search
						if(arr!=null){
							if(hotelOptionsControl!=null){
								hotelOptionsControl.style.visibility="visible";
								(eval("document.all.divLblRoom1")).style.visibility = 'visible';
								selectRoomAllocation();
							}
						}
						else{
							(eval("document.all.divLblRoom1")).style.visibility = 'hidden';
							if(hotelOptionsControl!=null){
								hotelOptionsControl.style.visibility="hidden"
								selectRoomAllocation();
								(eval("tdRoom2")).style.display = 'inline';
								(eval("document.all.divRoom2" )).style.visibility = 'hidden';

								(eval("tdRoom3")).style.display = 'inline';
								(eval("document.all.divRoom3" )).style.visibility = 'hidden';
								var room1Control = document.getElementById("lblRoom1");
								if(room1Control!=null)
									lblRoom1.style.visibility="hidden"
							}
						}
					}
					else{
						(eval("document.all.divLblRoom1")).style.visibility = 'hidden';
						if(hotelOptionsControl!=null){
							hotelOptionsControl.style.visibility="hidden"
							selectRoomAllocation();
						}
					}
				}

				function selectRoomAllocation(){
//					debugger;
					var roomControl = document.mainForm.ddlHotelRooms;
					var rooms;
					rooms = 1;
					if(roomControl!=null){
						rooms = roomControl.value;
					}

					displaySeasons(rooms);

					var room1Control = document.mainForm.lblRoom1;
					if(room1Control!=null){
						if(rooms>1)
							lblRoom1.style.visibility="visible"
						else
							lblRoom1.style.visibility="hidden"
					}
	//

				}
				
				
				
				//function ValidateControls(source, arguments)
				function ValidateControls()
				{
					//debugger;
					//Hotel dates selecting check box
					 var cbHotelDates = document.getElementById('cbHotelDates');
					 //hotel only radion button
					 var rbnHotel = document.getElementById('rbnHotel');
					 //Car only radio button
					 var rbnCar = document.getElementById('rbnCar');
					 // require at least one radio button be selected
					  var radioSelected = false;
					 
					  for (i = 0;  i < document.mainForm.searchOption.length;  i++)
					  {
						if (document.mainForm.searchOption[i].checked)
							radioSelected = true;
					  }
					  if (!radioSelected)
					  {
						alert("Please select a search option for a customise package");
						//arguments.IsValid = false;
						return false;
					  }

					var departure;
					var arrival;

					//departure = document.getElementById('txtFrom');
					arrival = document.getElementById('txtTo');
					if(document.getElementById('ddlDepartureCity') != null)
					{
						depdd = document.getElementById('ddlDepartureCity');
						if(document.getElementById('ddlDepartureCity').value == 0)
						{
							alert("Please Select a Departing City");
							return false;
						}
					}
					else
					{
						depdd = document.getElementById('ddlDepcity');
						if(document.getElementById('ddlDepcity').value == "Seperator")
						{
							alert("Please Select a Valid Departing City");
							return false;
						}
					}
					if (arrival!= null)
					{
						//if (departure.value == "" || departure.value.length == 0)
						//	{
							//alert("Please Enter the Departing City");
							//arguments.IsValid = false;
							//_hdArgument.value=false;
							//return false;
						//}
						if((arrival.value == "") || (arrival.value.length == 0))
						{
							alert("Please Enter the Arriving City");
							//arguments.IsValid = false;
							return false;
						}

						if ((depdd != null)&&(depdd.value == arrival.value)&&!rbnCar.checked &&!rbnHotel.checked )
						{
							alert("Departing city and Arriving city cannot be the same");
							//arguments.IsValid = false;
							return false;
						}
						if ((arrival.value.length<3) && (arrival.value.length>0))
						{
							alert("Please Enter Valid Code for Arriving City");
							return false;
						}
						//if ((departure.value.length<3) && (departure.value.length>0))
						//{
						//	alert("Please Enter Valid Code for Arriving City");
						//	return false;
						//}
					}
					
					if(!rbnHotel.checked && !rbnCar.checked)
					{
						if(document.mainForm.txtDepartDate.value=="")// || document.mainForm.txtReturnDate.value=="")
						{
							alert("Please Enter the Departure Date");
							//arguments.IsValid = false;
							return false;
						}else{
							if(!isDate(document.mainForm.txtDepartDate.value, 'DepatureDate'))
							{
								return false;
							}
							if (!isGraterThanToday('txtDepartDate'))
							{
								alert('Departure Date has to be greater than Current Date');
								//arguments.IsValid = false;
								return false;
							}

						}

						if(!isDate(document.mainForm.txtReturnDate.value,'ReturnDate'))
						{
							//arguments.IsValid = false;
							return false;
						}
						if(!isGraterThanToday('txtReturnDate'))
						{
							alert('Returning Date has to be greater than Current Date');
							//arguments.IsValid = false;
							return false;
						}
					}
					//Validate Hotel check in  check out dates if different hotel dates selected or hotel only serch selected
					//Check in date
					if(cbHotelDates.checked || rbnHotel.checked || rbnCar.checked)
					{
						if(!isDate(document.mainForm.txtHotelCheckIn.value,'Hotel Check-in'))
						{
			
							return false;
						}
						if(!isGraterThanToday('txtHotelCheckIn'))
						{
							alert('Hotel Check-in Date has to be greater than Current Date');
	
							return false;
						}
						//Check out date
						if(!isDate(document.mainForm.txtHotelCheckOut.value,'Hotel Check-out'))
						{
			
							return false;
						}
						if(!isGraterThanToday('txtHotelCheckOut'))
						{
							alert('Hotel Check-out Date has to be greater than Current Date');
	
							return false;
						}
					}
					
					if((document.getElementById('_txtDriverAge') != null)&&((document.getElementById('_tdDriverAgeTitle')).style.display == 'inline'))
					{
						if( document.getElementById("_txtDriverAge").value == "")
						{
							alert(" Please enter driver age.");
							document.getElementById("_txtDriverAge").focus();
							return false;
						}
						else
						{
							if(document.getElementById("_txtDriverAge").value.search(/^[0-9]{1,2}$/) == -1)	
							{
								alert("Please enter valid driver age");
								document.getElementById("_txtDriverAge").focus();	
								return false;
							}
							else
							{
								var lintDriverAge = Number(document.getElementById("_txtDriverAge").value);
								if((lintDriverAge < 21)||(lintDriverAge > 65))
								{
									alert("Please enter a valid lead driver age. Drivers between 21 and 65 can book online. Drivers under 21 or over 65 may be subject to restrictions and/or driver surcharge.");
									return false;
								}
							}
						}
					}
					
					//triming
					var str = document.mainForm.txtDepartDate.value;
					document.mainForm.txtDepartDate.value =trim(str);
					var str = document.mainForm.txtReturnDate.value;
					document.mainForm.txtReturnDate.value =trim(str);

					var sd1 = document.mainForm.txtDepartDate.value.split("/");
					var sd2 = document.mainForm.txtReturnDate.value.split("/");

					var x = new Date(sd1[2] ,sd1[1] -1 ,sd1[0] );
					var y = new Date(sd2[2] ,sd2[1] -1 ,sd2[0] );

					var difference = Date.UTC(y.getYear(),y.getMonth(),y.getDate(),0,0,0) - Date.UTC(x.getYear(),x.getMonth(),x.getDate(),0,0,0);
					var nights = difference/1000/60/60/24;
					if( nights < 0)
					{
						alert("Return date has to be greater than Departure date");
						//arguments.IsValid = false;
						return false;
					}

					//var departDate;
					//var returnDate;

					//departDate = document.mainForm.txtDepartDate.value;
					//returnDate = document.mainForm.txtReturnDate.value;

					//if(departDate>returnDate){
					//	alert("Please select a valid date range.");
					//	arguments.IsValid = false;
					//	return;
					//}
				}


				
				
				
				
				
				
				//On Text Change
				function setText(txtBoxName)
				{
					//debugger;
					var letter = new String(document.getElementById(txtBoxName).value);
					letter =trim(letter.toString());
					document.getElementById(txtBoxName).value =letter;
				}
				
				//the validate controls eirlier below this
				
				//On Text Change
				//function setText(txtBoxName)
				//{
					//debugger;
				//	var letter = new String(document.getElementById(txtBoxName).value);
				//	letter =trim(letter.toString());
				//	document.getElementById(txtBoxName).value =letter;
				//}

				function trim(inputString)
				{
					//debugger;
					// Removes leading and trailing spaces from the passed string. Also removes
					// consecutive spaces and replaces it with one space. If something besides
					// a string is passed in (null, custom object, etc.) then return the input.
					if (typeof inputString != "string") { return inputString; }
					var retValue = inputString;
					var ch = retValue.substring(0, 1);
					while (ch == " ") { // Check for spaces at the beginning of the string
						retValue = retValue.substring(1, retValue.length);
						ch = retValue.substring(0, 1);
					}
					ch = retValue.substring(retValue.length-1, retValue.length);
					while (ch == " ") { // Check for spaces at the end of the string
						retValue = retValue.substring(0, retValue.length-1);
						ch = retValue.substring(retValue.length-1, retValue.length);
					}
					while (retValue.indexOf("  ") != -1) { // Note that there are two spaces in the string - look for multiple spaces within the string
						retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
					}
					return retValue; // Return the trimmed string back to the user
				} // Ends the "trim" function

				function checkDate(txtBoxName, fieldName)
				{
					
					var dtStr =document.getElementById(txtBoxName).value;
					document.getElementById(txtBoxName).value =trim(dtStr);
					dtStr =trim(dtStr);
					/*if((fieldName =='ReturnDate') && (document.mainForm.ddlTicketType.selectedIndex != 1))
					{
						document.mainForm.txtReturnDate.value = "";
					}*/

					if(!isDate(dtStr.toString(), fieldName))
					{
						return false;
					}else
					{
						if(!isGraterThanToday(txtBoxName)){
							alert(fieldName+' is less than Today');
							return false;
						}
					}

				}

				function isGraterThanToday(txtBoxName)
				{

					var td = Today();
					var sd1 = td.split("/");
					var sd2 = document.getElementById(txtBoxName).value.split("/");

					var x = new Date(sd1[2] ,sd1[0] -1 ,sd1[1] );
					var y = new Date(sd2[2] ,sd2[1] -1 ,sd2[0] );

					var difference = Date.UTC(y.getYear(),y.getMonth(),y.getDate(),0,0,0) - Date.UTC(x.getYear(),x.getMonth(),x.getDate(),0,0,0);
					var nights = difference/1000/60/60/24;
					if( nights < 0)
					{
						//alert("End date has to be grater than Start date");
						return false;
					}
					return true;
				}

				//----------------------  Date Validation ----------------------------------------------------------------
				/**
				* DHTML date validation script for dd/mm/yyyy. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
				*/
				// Declaring valid date character, minimum year and maximum year
				var dtCh= "/";
				var minYear=1900;
				var maxYear=2100;

				function isInteger(s)
				{
					var i;
					for (i = 0; i < s.length; i++){
						// Check that current character is number.
						var c = s.charAt(i);
						if (((c < "0") || (c > "9"))) return false;
					}
					// All characters are numbers.
					return true;
				}

				function stripCharsInBag(s, bag)
				{
					var i;
					var returnString = "";
					// Search through string's characters one by one.
					// If character is not in bag, append to returnString.
					for (i = 0; i < s.length; i++){
						var c = s.charAt(i);
						if (bag.indexOf(c) == -1) returnString += c;
					}
					return returnString;
				}

				function daysInFebruary (year)
				{
					// February has 29 days in any year evenly divisible by four,
					// EXCEPT for centurial years which are not also divisible by 400.
					return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
				}
				function DaysArray(n)
				{
					for (var i = 1; i <= n; i++)
					{
						this[i] = 31
						if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
						if (i==2) {this[i] = 29}
					}
				return this
				}
				function isDate(dtStr, fieldName){
					var temp =new String(dtStr);
					dtStr=temp.substring(0,10);
					temp=temp.substring(10);
					/*
					if (temp.lenght!=0)
					{
						if (temp!= " 00:00:00")
						{
							alert("Ilegal Charaters in "+fieldName);
						}
					}*/
					var daysInMonth = DaysArray(12)
					var pos1=dtStr.indexOf(dtCh)
					var pos2=dtStr.indexOf(dtCh,pos1+1)
					var strDay=dtStr.substring(0,pos1)
					var strMonth=dtStr.substring(pos1+1,pos2)
					var strYear=dtStr.substring(pos2+1)
					strYr=strYear
					if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
					if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
					for (var i = 1; i <= 3; i++) {
						if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
					}
					month=parseInt(strMonth)
					day=parseInt(strDay)
					year=parseInt(strYr)
					if (pos1==-1 || pos2==-1){
						alert("The date format should be : dd/mm/yyyy in "+fieldName )
						return false
					}
					if (strMonth.length<1 || month<1 || month>12){
						alert("Please enter a valid month for "+fieldName)
						return false
					}
					if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
						alert("Please enter a valid day for "+fieldName)
						return false
					}
					if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
						alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear+" for "+fieldName)
						return false
					}
					if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false)
					{
						alert("Please enter a valid date for "+fieldName)
						return false
					}
				return true
				}
				function ChkOnewayClicked()
				{
					if(document.mainForm.ddlTicketType.value == 1)
					{
						document.mainForm.txtReturnDate.value = "";
					}
				}
