function regstrationfrmchk(frm)
{
    len=frm.elements.length;
    for(i=0;i<len;++i)
    {
        //alert(frm.elements[i].name);
    }
    
    
    if(frm.name.value=="")
    {
        alert("Please Enter Your Name");
        frm.name.focus();
        return false;
    }
    trimname=trim(frm.name.value);
    if(trimname.length<1)
    {
        alert("Please Enter Your Name");
        frm.name.value="";
        frm.name.focus();
        return false;
    }
    
    if(frm.sex.value=="")
    {
        alert("Please Select a Sex");
        frm.sex.focus();
        return false;
    }
    if(frm.age.value=="")
    {
        alert("Please Select an Age");
        frm.age.focus();
        return false;
    }
    
    if(isNaN(frm.age.value))
    {
        alert("Age Must be a Number");
        frm.age.focus();
        return false;
    }
    if(frm.occupation.value=="")
    {
        alert("Please Select an Occupation");
        frm.occupation.focus();
        return false;
    }
    if(frm.income.value=="")
    {
        alert("Please Select Your Income");
        frm.income.focus();
        return false;
    }
    if(!emailCheck (frm))
    {
        frm.email.focus();  
        return false;
    }
    if(frm.address1.value=="")
    {
        alert("Please Enter Your Address");
        frm.address1.focus();
        return false;
    }
    
    if(frm.townorcity.value=="")
    {
        alert("Please Give Your City");
        frm.townorcity.focus();
        return false;
    }
    
    if(frm.county.value=="")
    {
        alert("Please Select Your County");
        frm.county.focus();
        return false;
    }
    if(frm.country.value=="")
    {
        alert("Please Give Your Country");
        frm.country.focus();
        return false;
    }
        
    if(!postcodechk(frm))
    {
            return false;
    }
    
    if((frm.dayphone.value=="") && (frm.evephone.value=="") && (frm.mobilephone.value==""))
    {
        alert("Please Give any one of the Phone Number");
        frm.dayphone.focus();
        return false;
    }
    $username=trim(frm.username.value);
    if((frm.username.value=="") || ($username.length<1))
    {
        alert("Please give a Valid Username");
        frm.username.focus();
        return false;
    }
    if(frm.password.value=="")
    {
        alert("Please give a Password");
        frm.password.focus();
        return false;
    }
    if(frm.cpassword.value=="")
    {
        alert("Please give a Confirm Password");
        frm.cpassword.focus();
        return false;
    }
    if(trim(frm.password.value)!=trim(frm.cpassword.value))
    {
        alert("Password and Confirm Password should be same");  
        frm.password.focus();
        return false;
    }
    
    
}


function trim(sString) 
{ 
  sTrimmedString = ""; 
  if (sString != "") 
  { 
        var iStart = 0; 
        var iEnd = sString.length - 1; 
        var sWhitespace = " \t\f\n\r\v";
        while (sWhitespace.indexOf(sString.charAt(iStart)) != -1) 
        { 
             iStart++; 
             if (iStart > iEnd) 
             break; 
          } 
                      
      // If the string not just whitespace 
          if (iStart <= iEnd) 
          { 
             while (sWhitespace.indexOf(sString.charAt(iEnd)) != -1) 
                iEnd--; 
               sTrimmedString = sString.substring(iStart,++iEnd); 
          } 
       } 
                   return sTrimmedString; 
}
//for potcode validation
function postcodechk(frm){ //check postcode format is valid
    var frm=frm;
    var test = frm.postcode.value;

    var size = 0;

        test = test.toUpperCase(); //Change to uppercase

        test = test.replace(/\s/g, "");
        test = test.replace(/^([A-Z]{1,2}[0-9]{1,2}|[A-Z]{3}|[A-Z]{1,2}[0-9][A-Z])([0-9][A-Z]{2})/,"$1 $2");

        size = test.length

        frm.postcode.value = test; //write back to form field

        if (size == 0){ //Code length rule

            alert("You must enter a valid Post Code");

            frm.postcode.focus();

            return false;

        }

        if (size < 6 || size > 8){ //Code length rule

            alert(test + " is not a valid postcode - wrong length");

            frm.postcode.focus();

            return false;

        }

        if (!(isNaN(test.charAt(0)))){ //leftmost character must be alpha character rule

            alert(test + " is not a valid postcode - cannot start with a number");

            frm.postcode.focus();

            return false;

        }

        if (isNaN(test.charAt(size-3))){ //first character of inward code must be numeric rule

            alert(test + " is not a valid postcode - alpha character in wrong position");

            frm.postcode.focus();

            return false;

        }

        if (!(isNaN(test.charAt(size-2)))){ //second character of inward code must be alpha rule

            alert(test + " is not a valid postcode - number in wrong position");

            frm.postcode.focus();

            return false;

        }

        if (!(isNaN(test.charAt(size-1)))){ //third character of inward code must be alpha rule

            alert(test + " is not a valid postcode - number in wrong position");

            frm.postcode.focus();

            return false;

        }

        if (!(test.charAt(size-4) == " ")){//space in position length-3 rule

            alert(test + " is not a valid postcode - no space or space in wrong position");

            frm.postcode.focus();

            return false;

        }

        count1 = test.indexOf(" ");count2 = test.lastIndexOf(" ");

        if (count1 != count2){//only one space rule

            alert(test + " is not a valid postcode - only one space allowed");

            frm.postcode.focus();

            return false;

        }

    return true;

}


function emailCheck (frm) {
var len = frm.elements.length;
var j=0;
    for(var i=0;i<len;i++){
        if(frm.elements[i].name=='email')
        {
            emailStr=frm.elements[i].value;
        }
    }

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];

// Start by checking that only basic ASCII characters are in the strings (0-127).

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 loginformcheck(frm)
{
    if(frm.username.value=="")
    {
        alert("Please enter the user name");
        frm.username.focus();
        return false;
    }
    if(frm.password.value=="")
    {
        alert("Please enter the Password");
        frm.password.focus();
        return false;
    }
}


function surfpincheck(frm)
{
    if(frm.surfpin.value=="")
    {
        alert("Please Enter a Valid Surfpin Number");
        frm.surfpin.focus();
        return false;
    }
    if(isNaN(frm.surfpin.value))
    {
        alert("Surfpin Number Should be a Numeric Value");
        frm.surfpin.value="";
        frm.surfpin.focus();
        return false;
    }
    var surflen
    surflen=trim(frm.surfpin.value);
    surflen=surflen.length;
    if(surflen<1)
    {
        alert("Please Enter a Valid Surfpin Number");
        frm.surfpin.value="";
        frm.surfpin.focus();
        return false;
    }
}


function productaddition(frm)
{
    if(frm.neworold.value=="")
    {
        alert("Please Select New or Old");
        frm.neworold.focus();
        return false;
        
    }
    if(!postcodechk(frm))
    {
            return false;
    }
    if(frm.makename.value=="")
    {
        alert("Please Enter A Make Name");
        frm.makename.focus();
        return false;
    }
    if(frm.modelname.value=="")
    {
        alert("Please Select A Model Name");
        frm.modelname.focus();
        return false;
        
    }
    if(frm.year.value=="")
    {
        alert("Please Select An Year");
        frm.year.focus();
        return false;
    }
    if(frm.registerno.value=="")
    {
        alert("Please Enter Your Vehicle");
        frm.registerno.focus();
        return false;
    }
    if(frm.transmission.value=="")
    {
        alert("Please Select A Transmission Type");
        frm.transmission.focus();
        return false;
    }
    if(frm.fuel.value=="")
    {
        alert("Please Select A Fuel Type");
        frm.fuel.focus();
        return false;
    }
    if(frm.basiccolor.value=="")
    {
        alert("Please Select Your Vehicle Color");
        frm.basiccolor.focus();
        return false;
    }
    if(frm.mileage.value=="")
    {
        alert("Please Give the Mileage");
        frm.mileage.focus();
        return false;
    }
    if(isNaN(frm.mileage.value))
    {
        alert("Mileage Should be a Numeric Value");
        frm.mileage.value="";
        frm.mileage.focus();
        return false;
    }
    if(frm.price.value=="")
    {
        alert("Please Give the Price");
        frm.price.focus();
        return false;
    }
    if(isNaN(frm.price.value))
    {
        alert("Price Should be a Numeric Value");
        frm.price.value="";
        frm.price.focus();
        return false;
    }
    if(frm.privateorpublic.value=="")
    {
        alert("Please Select A Private or Public");
        frm.privateorpublic.focus();
        return false;
    }
    var old=false;
    for(i=0;i<frm.elements.length;i++)
    {
        //alert(frm.elements[i].name);
            if(frm.elements[i].name=='oldimage')
            {
                
                old=true;
            }
    }

    if(old==true)
    {
        if((frm.library.checked!=true) && (frm.imagefield.value=="") && (frm.oldimage.checked!=true))
        {
            //if(frm.imagefield.value=="")  
            //{
                alert("Please Give Your Vehicle Image");
                frm.imagefield.focus();
                return false;
            //}
                
        }
    }
    else
    {
        if((frm.library.checked!=true) && (frm.imagefield.value=="") )
        {
            //if(frm.imagefield.value=="")  
            //{
                alert("Please Give Your Vehicle Image");
                frm.imagefield.focus();
                return false;
            //}
                
        }
    }
    
    if(frm.description.value=="")
    {
        alert("Please Give a Brief information About Your Vehicle");
        frm.description.focus();
        return false;
    }
    
    if(frm.contactperson.value=="")
    {
        alert("Please Give Contact Person Name");
        frm.contactperson.focus();
        return false;
    }
    if(frm.contactphone.value=="")
    {
        alert("Please Give Contact Phone Number");
        frm.contactphone.focus();
        return false;
    }
    
}

function searchform(frm)
{
    if(frm.makename.value=="")
    {
        alert("Please Select a Make Name");
        frm.makename.focus();
        return false;
    }
    if(frm.modelname.value=="")
    {
        alert("Please Select a Model Name");
        frm.modelname.focus();
        return false;
    }
    if(frm.postcode.value != "" && !postcodechk(frm))
    {
            return false;
    }
    
}

function dealersearchfrmchk(frm)
{
    //alert("Length="+frm.dealerfor[1].value);
    var flag;
    for(i=0;i<frm.dealerfor.length;i++)
    {
        if(frm.dealerfor[i].selected==true)
        {
            if(frm.dealerfor[i].value!="")
            {
                flag=1;
            }
            
        }
    }
    
    if(flag!=1)
    {
            alert("Please Select a Make Name");
            frm.dealerfor.focus();
            return false;
    }
    if(frm.dealerinfo.value=="" && frm.postcode.value=="")
    {
        alert("Please enter the Dealer Information or the Postal code");
        frm.dealerinfo.focus();
        return false;
    }
}

function quicksearch(frm)
{
    if(frm.search.value=="")
    {
        alert("Please Enter the Value to Search");
        frm.search.focus();
        return false;
    }

}

function contactus(frm)
{
    if(frm.Contact_Name.value=="")
    {
        alert("Please Enter Your Name");
        frm.Contact_Name.focus();
        return false;
    }
    if(frm.Contact_Email.value=="")
    {
        alert("Please Enter Your Email Address");
        frm.Contact_Email.focus();
        return false;
    }   
    
    if(!emailCheck_contactus (frm))
    {
        frm.Contact_Email.focus();  
        return false;
    }
    
    if(frm.User_Comments.value=="")
    {
        alert("Please Enter Your Comments");
        frm.User_Comments.focus();
        return false;
    }       
}



function emailCheck_contactus (frm) {
var len = frm.elements.length;
var j=0;
    for(var i=0;i<len;i++){
        if(frm.elements[i].name=='Contact_Email')
        {
            emailStr=frm.elements[i].value;
        }
    }

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];

// Start by checking that only basic ASCII characters are in the strings (0-127).

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;
}

