function LTrim(STRING)
{
	while(STRING.charAt(0)==" ")
	{
		STRING = STRING.replace(STRING.charAt(0),"");
	}
	return STRING;
}
function IsEmail1(oObject1) {	
	var emailStr=oObject1;
	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];

	if (user.match(userPat)==null) 
	{
    	alert("Email address seems to be invalid.");
    	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 domainArray=domain.match(domainPat);
	if (domainArray==null) 
	{
		alert("The domain name doesn't seem to be valid.");
	    return false;
	}
	var atomPat=new RegExp(atom,"g");
	var domArr=domain.match(atomPat);
	var len=domArr.length;
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>4) 
	{
   		alert("The address must end in a three-four letter domain, or two letter country.");
	   return false;
	}

	if (len<2) 
	{
	   var errStr="This address is missing a hostname.";
	   alert(errStr);
	   return false;
	}
	return true;
}
// Validation Starts Here //

function BillingDetails()
{
	var fm;
	fm = document.checkout;
	if(LTrim(fm.txtfirstname.value)=="")
	{
		alert("Please enter first name.");
		fm.txtfirstname.focus();
		return false;
	}
	if(LTrim(fm.txtlastname.value)=="")
	{
		alert("Please enter last name.");
		fm.txtlastname.focus();
		return false;
	}
	if(LTrim(fm.txtaddress1.value)=="")
	{
		alert("Please enter address1.");
		fm.txtaddress1.focus();
		return false;
	}		
	if(LTrim(fm.txttown.value)=="")
	{
		alert("Please enter town.");
		fm.txttown.focus();
		return false;
	}
	if(LTrim(fm.txtcounty.value)=="")
	{
		alert("Please enter country.");
		fm.txtcounty.focus();
		return false;
	}
	if(LTrim(fm.txtpostcode.value)=="")
	{
		alert("Please enter postcode.");
		fm.txtpostcode.focus();
		return false;
	}
	if(LTrim(fm.txttelephone.value)=="")
	{
		alert("Please enter telephone number.");
		fm.txttelephone.focus();
		return false;
	}
	var digits="0123456789.-()+ ";
	var temp;
	if(LTrim(fm.txttelephone.value)!="")
	{
		for (var i=0;i<fm.txttelephone.value.length;i++)
		{
			temp=fm.txttelephone.value.substring(i,i+1);
			if (digits.indexOf(temp)==-1)
			{
				alert("Please enter correct telephone number.");
				fm.txttelephone.focus();
				return false;
			}
		}
	}

	if(LTrim(fm.txtemail.value)=="")
	{
		alert("Please enter email.");
		fm.txtemail.focus();
		return false;
	}	
	if(fm.txtemail.value != "")
	{
		var val1 = IsEmail1(fm.txtemail.value)
		if(val1 == false)
		{
			fm.txtemail.focus();
			return false;	
		}
	}		
}

function ShippingDetails()
{
	var fm;
	fm = document.checkout;
	if(LTrim(fm.stxtfirstname.value)=="")
	{
		alert("Please enter first name.");
		fm.stxtfirstname.focus();
		return false;
	}
	if(LTrim(fm.stxtlastname.value)=="")
	{
		alert("Please enter last name.");
		fm.stxtlastname.focus();
		return false;
	}
	if(LTrim(fm.stxtaddress1.value)=="")
	{
		alert("Please enter address1.");
		fm.stxtaddress1.focus();
		return false;
	}		
	if(LTrim(fm.stxttown.value)=="")
	{
		alert("Please enter town.");
		fm.stxttown.focus();
		return false;
	}
	if(LTrim(fm.stxtcounty.value)=="")
	{
		alert("Please enter country.");
		fm.stxtcounty.focus();
		return false;
	}
	if(LTrim(fm.stxtpostcode.value)=="")
	{
		alert("Please enter postcode.");
		fm.stxtpostcode.focus();
		return false;
	}
	if(LTrim(fm.stxttelephone.value)=="")
	{
		alert("Please enter telephone number.");
		fm.stxttelephone.focus();
		return false;
	}
	
	var digits="0123456789.-()+ ";
	var temp;
	if(LTrim(fm.stxttelephone.value)!="")
	{
		for (var i=0;i<fm.stxttelephone.value.length;i++)
		{
			temp=fm.stxttelephone.value.substring(i,i+1);
			if (digits.indexOf(temp)==-1)
			{
				alert("Please enter correct telephone number.");
				fm.stxttelephone.focus();
				return false;
			}
		}
	}
		 
	if(LTrim(fm.stxtemail.value)=="")
	{
		alert("Please enter email.");
		fm.stxtemail.focus();
		return false;
	}	
	if(fm.stxtemail.value != "")
	{
		var val1 = IsEmail1(fm.stxtemail.value)
		if(val1 == false)
		{
			fm.stxtemail.focus();
			return false;	
		}
	}	
}

function ContactUs()
{	
	var fm;
	fm = document.contactus;
	if(LTrim(fm.txtname.value)=="")
	{
		alert("Please enter name.");
		fm.txtname.focus();
		return false;		
	}
	if(LTrim(fm.txtemailadd.value)=="")
	{
		alert("Please enter email address.");
		fm.txtemailadd.focus();
		return false;		
	}
	if(fm.txtemailadd.value != "")
	{
		var val1 = IsEmail1(fm.txtemailadd.value)
		if(val1 == false)
		{
			fm.txtemailadd.focus();
			return false;	
		}
	}
	if(LTrim(fm.txtcode.value)=="")
	{
		alert("Please enter security code.");
		fm.txtcode.focus();
		return false;		
	}		
}

// End //
