function validateZIP(field) {
var valid = "0123456789-";
var hyphencount = 0;

if (field.length!=5 && field.length!=10) {
//alert("Please enter your 5 digit or 5 digit+4 zip code.");
//if (field.length!=10 || field.length<10 ) {
//alert("Please enter your 5 digit+4 zip code like '12345-6789'.");
return false;
}
for (var i=0; i < field.length; i++) {
temp = "" + field.substring(i, i+1);
if (temp == "-") hyphencount++;
if (valid.indexOf(temp) == "-1") {
//alert("Invalid characters in your zip code.  Please try again.");
return false;
}
if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-")) {
//alert("The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'.   Please try again.");
return false;
   }
}
return true;
}

function newDateCheck(date1,date2)
		{
			var bufArray1 = date2.split("-");
			var effDateMonth1 = bufArray1[1]; 
			var effDateDay1 = bufArray1[0]; 
			var effDateYear1 = bufArray1[2];

			var bufArray = date1.split("-");
			var effDateMonth = bufArray[1]; 
			var effDateDay = bufArray[0]; 
			var effDateYear = bufArray[2];
			
			if((effDateYear1<effDateYear) || (effDateMonth1<effDateMonth) || (effDateDay1<effDateDay))
				{
				return false;
				}
			else
				{
					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;
}

//************email validation
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)");
return false;
}
var user=matchArray[1];
var domain=matchArray[2];
for (i=0; i<user.length; i++) {
if (user.charCodeAt(i)>127) {
alert("The username in your email contains invalid characters.");
return false;
   }
}
for (i=0; i<domain.length; i++) {
if (domain.charCodeAt(i)>127) {
alert("The domain name  in your email contains invalid characters.");
return false;
   }
}
if (user.match(userPat)==null) {
alert("The username in your email 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 in your email 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 email 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;
}

//*****************************required
function checkrequired(which) {

var pass=true;
if (document.images) {
for (i=0;i<which.length;i++) {
var tempobj=which.elements[i];
if(tempobj.type=="text"||tempobj.type=="textarea"){
	remove_XS_whitespace(tempobj);
}

if (tempobj.name.substring(0,8)=="required") {
if (((tempobj.type=="text"||tempobj.type=="textarea") && tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s" && tempobj.selectedIndex==0)) {
	pass=false;
	break;
         }
      }
   }
}
if (!pass) {
	shortFieldName=tempobj.name.substring(8,30).toUpperCase();
	alert("Please make sure all fields have been completed.");
	tempobj.focus();
	return false;
}
else
	if(emailCheck(which.elements['requiredEMail'].value)){
		return true;
	}
	else{
		return false;
	}

}

function validatetrav(which){
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if(tempobj.type=="text"||tempobj.type=="textarea"){
			remove_XS_whitespace(tempobj);
		}
	}
	var emailcheck;
	if(document.traveler.txtfname.value == ""){
		alert("Please Enter First Name");
		document.traveler.txtfname.focus();
		return false;
	}
	if(document.traveler.txtlname.value == ""){
		alert("Please Enter Last Name");
		document.traveler.txtlname.focus();
		return false;
	}
	if(document.traveler.txtphone.value == ""){
		alert("Please Enter Phone no.");
		document.traveler.txtphone.focus();
		return false;
	}
	if(document.traveler.txtemail.value == ""){
		alert("Please Enter email address");
		document.traveler.txtemail.focus();
		return false;
	}else{
		emailcheck=emailCheck(document.traveler.txtemail.value);
	}
	if(document.traveler.txtadd1P.value == ""){
		alert("Please Enter Address.");
		document.traveler.txtadd1P.focus();
		return false;
	}
	if(document.traveler.txtcityP.value == ""){
		alert("Please Enter City Name");
		document.traveler.txtcityP.focus();
		return false;
	}
	return emailcheck;
	//return false;
}
function currentDate()
{
var mydate=new Date()
var year=mydate.getYear()
if (year < 1000)
year+=1900
var day=mydate.getDay()
var month=mydate.getMonth()+1
if (month<10)
month="0"+month
var daym=mydate.getDate()
if (daym<10)
daym="0"+daym
var curDate=daym+"-"+month+"-"+year;
return curDate;
}
function currentDate1()
{
var mydate=new Date()
var year=mydate.getYear()
if (year < 1000)
year+=1900
var day=mydate.getDay()
var month=mydate.getMonth()+1
if (month<10)
month="0"+month
var daym=mydate.getDate()
//if (daym<10)
//daym="0"+daym
var curDate=daym+"-"+month+"-"+year;
return curDate;
}
function dateCheck(date1,date2)
		{
			var d1=date1.split('-');
			var d2=date2.split('-');
			if(d1[2]<d2[2])
				{
						return true;
				}
			else if(d1[1]<d2[1])
					{
						return true;
					}
			else if(d1[0]<=d2[0])
					{
						return true;
					}
			else
				{
					return false;
				}
		}

function dateValidation(userdate)
{
//var dob=day+'-'+month+'-'+year;
	var curDate=new Date();
	var cury=curDate.getFullYear();
	var curm=curDate.getMonth()+1;
	if(curm<10)
	{
		curm="0"+curm;
	}
	var curd=curDate.getDate();
	
	if(curd<10)
	{
		curd="0"+curd;
	}
	var date=userdate.split('-');
	
	if(date[2]<=cury)
	{
		if(date[1]<=curm)
		{
			if(date[1]<curm)
			{
				return true;
				exit;
			}
		
			if(date[0]<=curd)
			{
				return true;
			}
			else
			{
				if(date[2]==cury)
				{
					return false;
				}
			}

		}
		else
		{
			if(date[2]==cury)
			{
				return false;
			}
		}
	return true;
	}

	else
	{
		return false;
	}
}

