/**
   * validation js
   */

function echeck(str) {

        var at="@"
        var dot="."
        var lat=str.indexOf(at)
        var lstr=str.length
        var ldot=str.indexOf(dot)
        if (str.indexOf(at)==-1){
                alert("Invalid Email Address")
                return false
        }

        if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
                alert("Invalid Email Address")
                return false
        }

        if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
                        alert("Invalid Email Address")
                        return false
        }

                if (str.indexOf(at,(lat+1))!=-1){
                        alert("Invalid Email Address")
                        return false
                }

                if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
                        alert("Invalid Email Address")
                        return false
                }

                if (str.indexOf(dot,(lat+2))==-1){
                        alert("Invalid Email Address")
                        return false
                }
        
                if (str.indexOf(" ")!=-1){
                        alert("Invalid Email Address")
                        return false
                }

                return true                                     
        }

// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

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++)
                {   
                                // Check that current character isn't whitespace.
                                var c = s.charAt(i);
                                if (bag.indexOf(c) == -1) returnString += c;
                }
                return returnString;
}

function checkTenDigitPhone(strPhone){
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length == minDigitsInIPhoneNumber);
}

function checkInternationalPhone(strPhone){
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function checkNumberValues( checkStr ) {
        var validChars = '0123456789';
        for (i = 0;  i < checkStr.length;  i++) {
                if ( validChars.indexOf( checkStr.charAt(i) ) == -1 ) {
                        return false;
                }
        }
}

function ValidateForm( form ){
        // check Name
        var name = form.contact
        if ((name.value==null)||(name.value=="")){
                                        alert("Please enter your Name")
                                        name.focus()
                                        return false
        }
        
        var comp = form.company
        if ((comp.value==null)||(comp.value=="")){
                                        alert("Please enter your Company")
                                        comp.focus()
                                        return false
        }
        
        // check email
        var emailID=form.email
        
        if ((emailID.value==null)||(emailID.value=="")){
                                        alert("Please enter your Email Address")
                                        emailID.focus()
                                        return false
        }
        if (echeck(emailID.value)==false){
                                        emailID.value=""
                                        emailID.focus()
                                        return false
        }
        
        // check phone
        var Phone=form.phone
        
        if ((Phone.value==null)||(Phone.value=="")){
                                        alert("Please enter your Phone Number")
                                        Phone.focus()
                                        return false
        }
        if (checkTenDigitPhone(Phone.value)==false){
                                        alert("Please enter a Valid Phone Number")
                                        Phone.value=""
                                        Phone.focus()
                                        return false
        }
        
        return true
        }
        

