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){
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    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 checkInternationalPhone(strPhone){
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function ValidateForm(){
	var fn=document.FormName.firstname;
	var ln=document.FormName.lastname;
	var ad=document.FormName.address;
	var ct=document.FormName.city;
	var st=document.FormName.state;
	var zp=document.FormName.zip;
	var co=document.FormName.country;
	var em=document.FormName.email;
	var ph=document.FormName.phone;

	if ((fn.value==null)||(fn.value=="")){
		alert("Please enter your first name")
		fn.focus()
		return false
	}
	if ((ln.value==null)||(ln.value=="")){
		alert("Please enter your Last Name")
		ln.focus()
		return false
	}
	if ((ad.value==null)||(ad.value=="")){
		alert("Please enter your address")
		ad.focus()
		return false
	}
	if ((ct.value==null)||(ct.value=="")){
		alert("Please enter your city")
		ct.focus()
		return false
	}

	if ((st.value==null)||(st.value=="")){
		alert("Please enter your state")
		st.focus()
		return false
	}

	if ((zp.value==null)||(zp.value=="")){
		alert("Please enter your zip code")
		zp.focus()
		return false
	}

	if ((co.value==null)||(co.value=="")){
		alert("Please enter your country")
		co.focus()
		return false
	}

	if ((em.value==null)||(em.value=="")){
		alert("Please enter your email address")
		em.focus()
		return false
	}
	
	if (echeck(em.value)==false){
		alert("Please enter a valid email address")
//		em.value=""
		em.focus()
		return false
	}

	if ((ph.value==null)||(ph.value=="")){
		alert("Please enter your phone number")
		ph.focus()
		return false
	}
	
	validType = false;
	for (i = 0; i < 5; i++) {
		if (document.FormName.Type[i].checked == true){
			validType = true;
		}
	}
	if (!validType){
		alert("Please select one of: INDIVIDUAL / RETAILER / CONTRACT / PRESS OR OTHER")
		return false
	}

	validreferral = false;
	for (i = 0; i < 4; i++) {
		if (document.FormName.referral[i].checked == true){
			validreferral = true;
		}
	}
	if (!validreferral){
		alert("Please select one of: TRADE SHOW / WEB / RETAIL STORE / OR OTHER")
		return false
	}

	return true
 }