function FHcheckrequired(which) 
{
			if(document.FltHtlSearch.FHDestFrom.value=="Please Enter Departure Airport")
			{
				alert("Enter Atleast Three Characters of Departure Airport Code Or Name.")
				document.FltHtlSearch.FHDestFrom.focus();
				return false;
			}
			else
			{
				if(document.FltHtlSearch.FHDestFrom.value.length<3)
				{
						alert("Enter Atleast Three Characters of Departure Airport Code Or Name.")
						document.FltHtlSearch.FHDestFrom.focus();
						return false;
				}
			}
			if(document.FltHtlSearch.FHDestTo.value=="Please Enter Your Destination")
			{
				alert("Enter Atleast Three Characters of Arrival Airport Code Or Name.")
				document.FltHtlSearch.FHDestTo.focus();
				return false;
			}
			else
			{
				if(document.FltHtlSearch.FHDestTo.value.length<3)
				{
					alert("Enter Atleast Three Characters of Arrival Airport Code Or Name.")
					document.FltHtlSearch.FHDestTo.focus();
					return false;
				}
			}
			document.getElementById("FH_no_of_adult").value=document.FltHtlSearch.FHAdult.value;
			document.getElementById("FH_no_of_child").value=document.FltHtlSearch.FHChild.value;
			document.getElementById("FH_no_of_infant").value=document.FltHtlSearch.FHInfant.value;
			document.getElementById("FH_SngRoom").value=document.getElementById("FHSngRoom").value;
			document.getElementById("FH_TwnRoom").value=document.getElementById("FHTwnRoom").value;
			document.getElementById("FH_DblRoom").value=document.getElementById("FHDblRoom").value;
			document.getElementById("FH_TplRoom").value=document.getElementById("FHTplRoom").value;
			
			
			if(document.FltHtlSearch.FHrequiredFirstName.value=="")
			{
				alert("All fields marked * are mandatory.\nPlease ensure that mandatory information is properly entered.");
				document.FltHtlSearch.FHrequiredFirstName.focus();
				return false;
			}
			if(document.FltHtlSearch.FHrequiredLastName.value=="")
			{
				alert("All fields marked * are mandatory.\nPlease ensure that mandatory information is properly entered.");
				document.FltHtlSearch.FHrequiredLastName.focus();
				return false;
			}
			if(document.FltHtlSearch.FHrequiredPhone.value=="")
			{
				alert("All fields marked * are mandatory.\nPlease ensure that mandatory information is properly entered.");
				document.FltHtlSearch.FHrequiredPhone.focus();
				return false;
			}
			if(document.FltHtlSearch.FHrequiredEmail.value=="")
			{
				alert("All fields marked * are mandatory.\nPlease ensure that mandatory information is properly entered.");
				document.FltHtlSearch.FHrequiredEmail.focus();
				return false;
			}
			if(document.FltHtlSearch.FHrequiredConfEmail.value=="")
			{
				alert("All fields marked * are mandatory.\nPlease ensure that mandatory information is properly entered.");
				document.FltHtlSearch.FHrequiredConfEmail.focus();
				return false;
			}
			if(fHDateValidation()==false)
			{
						return false;
			}
			if (document.FltHtlSearch.FHrequiredConfEmail.value!="")
			{
				if (document.FltHtlSearch.FHrequiredEmail.value!=document.FltHtlSearch.FHrequiredConfEmail.value)
				{
					alert("Email address must be same")
					document.FltHtlSearch.FHrequiredEmail.focus();
					return false;
				}
			}
			return emailCheck(document.FltHtlSearch.FHrequiredEmail.value);
}



function checkrequired(which) 
{
		if(document.FlightSearch.FDestFrom.value=="Please Enter Departure Airport")
		{
			alert("Enter Atleast Three Characters of Departure Airport Code Or Name.")
			document.FlightSearch.FDestFrom.focus();
			return false;
		}
		else
		{
			if(document.FlightSearch.FDestFrom.value.length<3)
			{
					alert("Enter Atleast Three Characters of Departure Airport Code Or Name.")
					document.FlightSearch.FDestFrom.focus();
					return false;
			}
		}
		if(document.FlightSearch.FDestTo.value=="Please Enter Your Destination")
		{
			alert("Enter Atleast Three Characters of Arrival Airport Code Or Name.")
			document.FlightSearch.FDestTo.focus();
			return false;
		}
		else
		{
			if(document.FlightSearch.FDestTo.value.length<3)
			{
				alert("Enter Atleast Three Characters of Arrival Airport Code Or Name.")
				document.FlightSearch.FDestTo.focus();
				return false;
			}
		}
		document.getElementById("F_no_of_adult").value=document.FlightSearch.FAdult.value;
		document.getElementById("F_no_of_child").value=document.FlightSearch.FChild.value;
		document.getElementById("F_no_of_infant").value=document.FlightSearch.FInfant.value;
		if(document.FlightSearch.FrequiredFirstName.value=="")
		{
		alert("All fields marked * are mandatory.\nPlease ensure that mandatory information is properly entered.");
		document.FlightSearch.FrequiredFirstName.focus();
		return false;
		}
		if(document.FlightSearch.FrequiredLastName.value=="")
		{
		alert("All fields marked * are mandatory.\nPlease ensure that mandatory information is properly entered.");
		document.FlightSearch.FrequiredLastName.focus();
		return false;
		}
		if(document.FlightSearch.FrequiredPhone.value=="")
		{
		alert("All fields marked * are mandatory.\nPlease ensure that mandatory information is properly entered.");
		document.FlightSearch.FrequiredPhone.focus();
		return false;
		}
		if(document.FlightSearch.FrequiredEmail.value=="")
		{
		alert("All fields marked * are mandatory.\nPlease ensure that mandatory information is properly entered.");
		document.FlightSearch.FrequiredEmail.focus();
		return false;
		}
		if(document.FlightSearch.FrequiredConfEmail.value=="")
		{
		alert("All fields marked * are mandatory.\nPlease ensure that mandatory information is properly entered.");
		document.FlightSearch.FrequiredConfEmail.focus();
		return false;
		}
		if(fDateValidation()==false)
		{
					return false;
		}	
		if (document.FlightSearch.FrequiredConfEmail.value!="")
		{
			if (document.FlightSearch.FrequiredEmail.value!=document.FlightSearch.FrequiredConfEmail.value)
			{
				alert("Email address must be same")
				document.FlightSearch.FrequiredEmail.focus();
				return false;
			}
		}
return emailCheck(document.FlightSearch.FrequiredEmail.value);
}




function fDateValidation(){

	currDate=new Date();
	
	var CurDate= new Date(document.FlightSearch.hFBookYr.value, document.FlightSearch.hFBookMon.value, document.FlightSearch.hFBookDD.value);
	var Dptdate= new Date(document.FlightSearch.FDptMonYr.value.substr(2,4), document.FlightSearch.FDptMonYr.value.substr(0,2), document.FlightSearch.FDptDate.value);
	var retDate= new Date(document.FlightSearch.FRetMonYr.value.substr(2,4), document.FlightSearch.FRetMonYr.value.substring(0,2), document.FlightSearch.FRetDate.value);
		var DD=new Date();
		var D =new Date(DD.getFullYear(),DD.getMonth(),DD.getDate()+1);		
		if(Dptdate<=D)
		{
		alert("IF DEPARTURE IS WITHIN 48 HOURS, PLEASE CONTACT OUR RESERVATIONS DEPARTMENT ON 0844 482 1078 ");
		document.FlightSearch.FDptDateDDMMYY.focus();
		return false;
		}		
//To Check the Return Date is greater Than the Depart Date

		if(retDate<=Dptdate)
		{
		alert("Return Date Must be greater than Depart date");
		document.FlightSearch.FRetDateDDMMYY.focus();
		return false;
		}			
}

function Hcheckrequired(which) {

if(document.HotelSearch.HDestTo.value=="Please Enter Your Destination")
{
	alert("Enter Atleast Three Characters of Arrival Airport Code Or Name.")
	document.HotelSearch.HDestTo.focus();
	return false;
}
else
{
	if(document.HotelSearch.HDestTo.value.length<3)
	{
		alert("Enter Atleast Three Characters of Arrival Airport Code Or Name.")
		document.HotelSearch.HDestTo.focus();
		return false;
	}
}
document.getElementById("H_SngRoom").value=document.HotelSearch.HSngRoom.value;
document.getElementById("H_TwnRoom").value=document.HotelSearch.HTwnRoom.value;
document.getElementById("H_DblRoom").value=document.HotelSearch.HDblRoom.value;
document.getElementById("H_TplRoom").value=document.HotelSearch.HTplRoom.value;
if(hValidateSearch()==false)
{
			return false;
}	

if(document.HotelSearch.HrequiredFirstName.value=="")
{
alert("All fields marked * are mandatory.\nPlease ensure that mandatory information is properly entered.");
document.HotelSearch.HrequiredFirstName.focus();
return false;
}
if(document.HotelSearch.HrequiredLastName.value=="")
{
alert("All fields marked * are mandatory.\nPlease ensure that mandatory information is properly entered.");
document.HotelSearch.HrequiredLastName.focus();
return false;
}
if(document.HotelSearch.HrequiredPhone.value=="")
{
alert("All fields marked * are mandatory.\nPlease ensure that mandatory information is properly entered.");
document.HotelSearch.HrequiredPhone.focus();
return false;
}
if(document.HotelSearch.HrequiredEmail.value=="")
{
alert("All fields marked * are mandatory.\nPlease ensure that mandatory information is properly entered.");
document.HotelSearch.HrequiredEmail.focus();
return false;
}
if(document.HotelSearch.HrequiredConfEmail.value=="")
{
alert("All fields marked * are mandatory.\nPlease ensure that mandatory information is properly entered.");
document.HotelSearch.HrequiredConfEmail.focus();
return false;
}
if (document.HotelSearch.HrequiredConfEmail.value!="")
{
	if (document.HotelSearch.HrequiredEmail.value!=document.HotelSearch.HrequiredConfEmail.value)
	{
		alert("Email address must be same")
		document.HotelSearch.HrequiredEmail.focus();
		return false;
	}
}
return emailCheck(document.HotelSearch.HrequiredEmail.value);
}

function emailCheck (emailStr) {
var checkTLD=1;
var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
var matchArray=emailStr.match(emailPat);
if (matchArray==null) {
alert("Email address seems incorrect (check @ and .'s)");
//document.FlightSearch.requiredEmail.focus()
return false;
}
var user=matchArray[1];
var domain=matchArray[2];
for (i=0; i<user.length; i++) {
if (user.charCodeAt(i)>127) {
alert("Ths username contains invalid characters.");
return false;
   }
}
for (i=0; i<domain.length; i++) {
if (domain.charCodeAt(i)>127) {
alert("Ths domain name contains invalid characters.");
return false;
   }
}
if (user.match(userPat)==null) {
alert("The username doesn't seem to be valid.");
return false;
}
var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {
for (var i=1;i<=4;i++) {
if (IPArray[i]>255) {
alert("Destination IP address is invalid!");
return false;
   }
}
return true;
}
var atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for (i=0;i<len;i++) {
if (domArr[i].search(atomPat)==-1) {
alert("The domain name does not seem to be valid.");
return false;
   }
}
if (checkTLD && domArr[domArr.length-1].length!=2 && 
domArr[domArr.length-1].search(knownDomsPat)==-1) {
alert("The address must end in a well-known domain or two letter " + "country.");
return false;
}
if (len<2) {
alert("This address is missing a hostname!");
return false;
}
return true;
}
function remove_XS_whitespace(item)
{
  var tmp = "";
  var item_length = item.value.length;
  var item_length_minus_1 = item.value.length - 1;
  for (index = 0; index < item_length; index++)
  {
    if (item.value.charAt(index) != ' ')
    {
      tmp += item.value.charAt(index);
    }
    else
    {
      if (tmp.length > 0)
      {
        if (item.value.charAt(index+1) != ' ' && index != item_length_minus_1)
        {
          tmp += item.value.charAt(index);
        }
      }
    }
  }
  item.value = tmp;
}
function checkfields(event,in_id,validation_type) 
{
	var key = null;
	if (window.event) 
	{
		//ie
		key = window.event.keyCode;
	}
	 else if (event.which)
	 {	    
		//Mozilla,Safari
		key = event.which;
	 }

	if (key != null) 
	{
		if(validation_type=='string_data')
		{	
			if ((key  > 64 && key  < 91) || (key  > 96 && key  < 123) || (key==32)) 
			{
			event.returnValue = true; 
			} 
			else 
		{
			event.returnValue = false;
		}			
		}
		if(validation_type=='num_data')
		{
		
			if (key >= 48 && key <= 57)	 
			{
			event.returnValue = true; 
			} 
			else 
		    {			
			event.returnValue = false;
		     }
			
		}
		if(validation_type=='add_data')
		{
		
			if ((key > 32 && key < 48) || (key > 57 && key < 65) || (key > 90 && key < 97) || (key == 126) || (key == 124) || (key == 125) || (key == 123))
			{
			event.returnValue = false; 
			} 
			else 
		    {			
			event.returnValue = true;
		    }
			
		}

	}
}

function txtKeywordKeyPress(f,key)
{
 if(key=="num")
 {
  var re = /^[0-9]*$/;
  if (!re.test(f.value))
  {  
   f.value = f.value.replace(/[^0-9]/g,"");
  }
 }
 else if (key=="str")
 {
  var re = /^[a-z]*$/;
  if (!re.test(f.value))
  {  
   f.value = f.value.replace(/[^A-Z]/g,"");
  }
} 
}

function UperCase(Textboxid)
{
var txtval=Textboxid
var abc
abc=document.getElementById(txtval).value.toUpperCase()
document.getElementById(txtval).value=document.getElementById(txtval).value.toUpperCase()
}

function LowerCase(Textboxid)
{
var txtval=Textboxid
var abc
abc=document.getElementById(txtval).value.toLowerCase()
document.getElementById(txtval).value=document.getElementById(txtval).value.toLowerCase()
}


function fHDateValidation()
{
	var CurDate= new Date(document.FltHtlSearch.hFHBookYr.value, document.FltHtlSearch.hFHBookMon.value, document.FltHtlSearch.hFHBookDD.value);
	var Dptdate= new Date(document.FltHtlSearch.FHDptMonYr.value.substr(2,4), document.FltHtlSearch.FHDptMonYr.value.substr(0,2), document.FltHtlSearch.FHDptDate.value);
	var retDate= new Date(document.FltHtlSearch.FHRetMonYr.value.substr(2,4), document.FltHtlSearch.FHRetMonYr.value.substr(0,2), document.FltHtlSearch.FHRetDate.value);

//To check Depart Date is not Less than the Current Date
		var DD=new Date();
		var D =new Date(DD.getFullYear(),DD.getMonth(),DD.getDate()+1);
		
		if(Dptdate<=D)
		{
		alert("IF DEPARTURE IS WITHIN 48 HOURS, PLEASE CONTACT OUR RESERVATIONS DEPARTMENT ON 0800 496 1776 & 0207 147 9914");
		document.FltHtlSearch.FHDptDateDDMMYY.focus();
		return false;
		}
//To Check the Return Date is greater Than the Depart Date
		if(retDate<=Dptdate)
		{
		alert("Return Date Must be greater than Depart date");
		document.FltHtlSearch.FHRetDateDDMMYY.focus();
		return false;
		}
			
}

function hValidateSearch() 
{
        var DFrom=0
		var twnRoom,dblRoom,sngRoom,tplRoom,total
		if(hDateValidation()==false)
		{
			
			return false;
		}	
		twnRoom=new Number(document.HotelSearch.HTwnRoom.value)
		dblRoom=new Number(document.HotelSearch.HDblRoom.value)
		sngRoom=new Number(document.HotelSearch.HSngRoom.value)
		tplRoom=new Number(document.HotelSearch.HTplRoom.value)
		total=(twnRoom+dblRoom+sngRoom+tplRoom)
		if(total<1)
		{
		alert("Please select a room type")
		document.HotelSearch.HSngRoom.value;
		return false;
		}
return true;
}

function hDateValidation()
{
	var CurDate= new Date(document.HotelSearch.hHBookYr.value, document.HotelSearch.hHBookMon.value, document.HotelSearch.hHBookDD.value);
	var Dptdate= new Date(document.HotelSearch.HDptMonYr.value.substring(2,7), document.HotelSearch.HDptMonYr.value.substring(0,2), document.HotelSearch.HDptDate.value);
	var RetDate= new Date(document.HotelSearch.HRetMonYr.value.substring(2,7), document.HotelSearch.HRetMonYr.value.substring(0,2), document.HotelSearch.HRetDate.value);

//To check Depart Date is not Less than the Current Date
		var DD=new Date();	
		var D =new Date(DD.getFullYear(),DD.getMonth(),DD.getDate()+1);
		
		if(Dptdate<=D)
		{
		alert("IF DEPARTURE IS WITHIN 48 HOURS, PLEASE CONTACT OUR RESERVATIONS DEPARTMENT ON 0800 496 1776 & 0207 147 9914 ");
		document.HotelSearch.HDptDateDDMMYY.focus();
		return false;
		}
//To Check the Return Date is greater Than the Depart Date
    	if(RetDate<=Dptdate)
		{
		alert("Return Date Must be greater than Depart date");
		document.HotelSearch.HRetDateDDMMYY.focus();
		return false;
		}
					
}

function setDMY(num)
{
	if(num=='FH')
		{
			setDatMonYear(document.FltHtlSearch.FHDptDateDDMMYY,document.FltHtlSearch.FHDptYr,document.FltHtlSearch.FHDptMon,document.FltHtlSearch.FHDptDate,document.FltHtlSearch.FHDptMonYr,document.FltHtlSearch.FHRetDateDDMMYY,document.FltHtlSearch.FHRetYr,document.FltHtlSearch.FHRetMon,document.FltHtlSearch.FHRetDate,document.FltHtlSearch.FHRetMonYr,document.FltHtlSearch.FHDptMonthName,document.FltHtlSearch.FHRetMonthName);
		}
		if(num=='F')
		{
			setDatMonYear(document.FlightSearch.FDptDateDDMMYY,document.FlightSearch.FDptYr,document.FlightSearch.FDptMon,document.FlightSearch.FDptDate,document.FlightSearch.FDptMonYr,document.FlightSearch.FRetDateDDMMYY,document.FlightSearch.FRetYr,document.FlightSearch.FRetMon,document.FlightSearch.FRetDate,document.FlightSearch.FRetMonYr,document.FlightSearch.FDptMonthName,document.FlightSearch.FRetMonthName);		
		}
		if(num=='H')
		{			
			setDatMonYear(document.HotelSearch.HDptDateDDMMYY,document.HotelSearch.HDptYr,document.HotelSearch.HDptMon,document.HotelSearch.HDptDate,document.HotelSearch.HDptMonYr,document.HotelSearch.HRetDateDDMMYY,document.HotelSearch.HRetYr,document.HotelSearch.HRetMon,document.HotelSearch.HRetDate,document.HotelSearch.HRetMonYr,document.HotelSearch.HDptMonthName,document.HotelSearch.HRetMonthName);
		}
}

function setDatMonYear(DptDateDDMMYY,DptYr,DptMon,DptDate,DptMonYr,RetDateDDMMYY,RetYr,RetMon,RetDate,RetMonYr,DptMonName,RetMonName)
{
	
	var DepMMYY="";
	var RetMMYY="";
	var Dep=document.getElementById(DptDateDDMMYY.id).value;
	var Depdate=Dep.split("/");
	var year=Depdate[2];
	var mon=Depdate[1];
	var day=Depdate[0];
	
	monn=parseInt(mon);
	var monName=getMonthNameString(monn);
	document.getElementById(DptMonName.id).value=monName;
		
	var Ret=document.getElementById(RetDateDDMMYY.id).value;
	var Repdate=Ret.split("/");
	var year1=Repdate[2];
	var mon1=Repdate[1];
	var day1=Repdate[0];
	
	monnn=parseInt(mon1);
	var monName1=getMonthNameString(monnn);
	document.getElementById(RetMonName.id).value=monName1;	
	
	if(mon<=10)
		{
		DepMMYY="0"+(mon-1)+year;
		
		document.getElementById(DptDate.id).value=day;
		document.getElementById(DptMonYr.id).value=DepMMYY;
		}
		else
		{
		DepMMYY=(mon-1)+year;
		document.getElementById(DptDate.id).value=day;
		document.getElementById(DptMonYr.id).value=DepMMYY;
		}
		document.getElementById(DptYr.id).value=year;
		document.getElementById(DptMon.id).value=mon;
	
	if(mon1<=10)
		{
		RetMMYY="0"+(mon1-1)+year1;
		document.getElementById(RetDate.id).value=day1
		document.getElementById(RetMonYr.id).value=RetMMYY;
		}
		else
		{
		RetMMYY=(mon1-1)+year1
		document.getElementById(RetDate.id).value=day1
		document.getElementById(RetMonYr.id).value=RetMMYY;
		}
		document.getElementById(RetYr.id).value=year1;
		document.getElementById(RetMon.id).value=mon1;	
}
function getMonthNameString(num)
{
	var ll=num;
	if(ll==1)
	return "Jan"
	if(ll==2)
	return "Feb"
	if(ll==3)
	return "Mar"
	if(ll==4)
	return "Apr"
	if(ll==5)
	return "May"
	if(ll==6)
	return "Jun"
	if(ll==7)
	return "Jul"
	if(ll==8)
	return "Aug"
	if(ll==9)
	return "Sep"
	if(ll==10)
	return "Oct"
	if(ll==11)
	return "Nov"
	if(ll==12)
	return "Dec"
}// JScript File

