function AddState() {
			document.bcard.state.value="";
			if(document.bcard.country.value=="UNITED STATES")
				data='<select class="form" name="dpdState" onblur="returnState(this.options[this.selectedIndex].value)" width=200><option value="" selected >Choose One<option value="ALBERTA">ALBERTA<option value="ALASKA">ALASKA<option value="ALABAMA">ALABAMA<option value="ARKANSAS">ARKANSAS<option value="AMERICAN SAMOA">AMERICAN SAMOA<option value="ARIZONA">ARIZONA<option value="BRITISH COLUMBIA (CANADA)">BRITISH COLUMBIA (CANADA)<option value="CALIFORNIA">CALIFORNIA<option value="COLORADO">COLORADO<option value="CONNECTICUT">CONNECTICUT<option value="DISTRICT OF COLUMBIA">DISTRICT OF COLUMBIA<option value="DELAWARE">DELAWARE <option value="FLORIDA">FLORIDA<option value="FEDERATED STATES OF MICRONESIA">FEDERATED STATES OF MICRONESIA<option value="GEORGIA">GEORGIA<option value="GUAM">GUAM<option value="HAWAII">HAWAII<option value="IOWA">IOWA<option value="IDAHO">IDAHO<option value="ILLINOIS">ILLINOIS<option value="INDIANA">INDIANA<option value="ME">MAINE <option value="MI">MICHIGAN <option value="MN">MINNESOTA <option value="MO">MISSOURI <option value="KANSAS">KANSAS<option value="KENTUCKY">KENTUCKY<option value="LOUISIANA">LOUISIANA<option value="MASSACHUSETTS">MASSACHUSETTS<option value="MANITOBA">MANITOBA<option value="MARYLAND">MARYLAND<option value="MAINE">MAINE<option value="MARSHALL ISLANDS">MARSHALL ISLANDS<option value="MICHIGAN">MICHIGAN<option value="MINNESOTA">MINNESOTA<option value="MISSOURI">MISSOURI<option value="NORTHERN MARIANA ISLANDS">NORTHERN MARIANA ISLANDS<option value="MISSISSIPPI">MISSISSIPPI<option value="MONTANA">MONTANA<option value="NEW BRUNSWICK">NEW BRUNSWICK<option value="NORTH CAROLINA">NORTH CAROLINA<option value="NORTH DAKOTA">NORTH DAKOTA <option value="NEBRASKA">NEBRASKA<option value="NEWFOUNDLAND">NEWFOUNDLAND<option value="NEW HAMPSHIRE">NEW HAMPSHIRE<option value="NEW JERSEY">NEW JERSEY<option value="NEW MEXICO">NEW MEXICO<option value="NOVA SCOTIA">NOVA SCOTIA <option value="NORTHWEST TERRITORIES">NORTHWEST TERRITORIES<option value="NEVADA">NEVADA<option value="NEW YORK">NEW YORK <option value="OHIO">OHIO <option value="OKLAHOMA">OKLAHOMA<option value="ONTARIO   (CANADA)">ONTARIO   (CANADA)<option value="OREGON">OREGON<option value="PENNSYLVANIA">PENNSYLVANIA<option value="PRINCE EDWARD ISLAND">PRINCE EDWARD ISLAND<option value="QUEBEC">QUEBEC<option value="PUERTO RICO">PUERTO RICO<option value="PALAU">PALAU<option value="RHODE ISLAND">RHODE ISLAND<option value="SOUTH CAROLINA">SOUTH CAROLINA<option value="SOUTH DAKOTA">SOUTH DAKOTA<option value="SASKATCHEWAN">SASKATCHEWAN<option value="TENNESSEE">TENNESSEE<option value="TEXAS">TEXAS<option value="UTAH">UTAH<option value="VIRGINIA">VIRGINIA<option value="VIRGIN ISLANDS">VIRGIN ISLANDS<option value="VERMONT">VERMONT<option value="WASHINGTON">WASHINGTON<option value="WISCONSIN">WISCONSIN<option value="WEST VIRGINIA">WEST VIRGINIA<option value="WYOMING">WYOMING<option value="YUKON TERRITORY">YUKON TERRITORY</option></select>';
			else if((document.bcard.country.value=="INDIA"))
					data='<select class="form" name="dpdState" onblur="returnState(this.options[this.selectedIndex].value)"> <option value="" selected >Choose One <option value="Andaman and Nicobar Islands">Andaman and Nicobar Islands <option value="Andhra Pradesh">Andhra Pradesh <option value="Arunachal Pradesh">Arunachal Pradesh <option value="Assam">Assam <option value="Bihar">Bihar <option value="Chandigarh">Chandigarh <option value="Dadra and Nagar Haveli">Dadra and Nagar Haveli <option value="Daman and Diu">Daman and Diu <option value="Delhi">Delhi <option value="Goa">Goa <option value="Gujarat">Gujarat <option value="Haryana">Haryana <option value="Himachal Pradesh">Himachal Pradesh <option value="Jammu and Kashmir">Jammu and Kashmir <option value="Karnataka">Karnataka <option value="Kerala">Kerala <option value="Lakshadweep">Lakshadweep <option value="Madhya Pradesh">Madhya Pradesh <option value="Maharashtra">Maharashtra <option value="Manipur">Manipur <option value="Meghalaya">Meghalaya <option value="Mizoram">Mizoram <option value="Nagaland">Nagaland <option value="Orissa">Orissa <option value="Pondicherry">Pondicherry <option value="Punjab">Punjab <option value="Rajasthan">Rajasthan <option value="Sikkim">Sikkim <option value="Tamil Nadu">Tamil Nadu <option value="Tripura">Tripura <option value="Uttar Pradesh">Uttar Pradesh <option value="West Bengal">West Bengal</option></select>';
				else
					data='<input class="form" type=text name=txtState1 id=txtState maxlength=40 onblur=returnState(this.value) style=font-family:arial; font-size:8pt;>';
		//if IE 4+
		if (document.all){
			dcontent.innerHTML=data;
		}
		//else if NS 4
		else if (document.layers){
				document.ns4dcontent.document.ns4dcontent2.
				document.write('<form name="nsform"><font face=arial size="1">'+data+'</font></form>');
				document.ns4dcontent.document.ns4dcontent2.
				document.close();
			}
			//else if NS 6 (supports new DOM)
			else if (document.getElementById){
				rng = document.createRange();
				el = document.getElementById("dcontent");
				rng.setStartBefore(el);
				htmlFrag = rng.createContextualFragment(data);
				while (el.hasChildNodes())
				el.removeChild(el.lastChild);
				el.appendChild(htmlFrag);
			}
	}

	function onloadState(){
		str=document.bcard.country;
		if((str=="UNITED STATES")||(str=="INDIA")){
			if (document.all)
					selectState(document.bcard.dpdState, document.bcard.state.value);
					//else if NS 4
				else if (document.layers)
						selectState(document.ns4dcontent.document.ns4dcontent2.document.nsform.dpdState, document.bcard.state.value);
					//else if NS 6 (supports new DOM)
					else if (document.getElementById)
						selectState(document.bcard.dpdState, document.bcard.state.value);
		} else {
			if (document.all)
					document.bcard.state.value=document.bcard.txtState.value;
				//else if NS 4
				else if (document.layers)
						document.ns4dcontent.document.ns4dcontent2.document.nsform.state.value=document.bcard.txtState1.value;
					//else if NS 6 (supports new DOM)
					else if (document.getElementById)
						document.bcard.state.value=document.bcard.txtState1.value;
		}
	}

	function selectState(fld, str){
		for(i=0; i<	fld.options.length;i++)
			if(fld.options[i].value==str)
				fld.options[i].selected=true;
	document.bcard.state.value=str;
	}
	function returnState(str){
		document.bcard.state.value=str;
	}


	function checkfrm() {

		if(document.bcard.firstname.value == "") {

			alert("Please enter your First Name");
			document.bcard.firstname.focus();
			return false;

		}

	if(document.bcard.lastname.value=="")
	{
	alert("Please enter your Last Name");
	document.bcard.lastname.focus();
	return false;
	}

	if(document.bcard.company.value=="")
	{
	alert("Please enter your Company Name");
	document.bcard.company.focus();
	return false;
	}
	if(document.bcard.email.value=="")
	{
	alert("Please enter your Email Address");
	document.bcard.email.focus();
	return false;
	}
	if(document.bcard.address1.value=="")
	{
	alert("Please enter your Address");
	document.bcard.address1.focus();
	return false;
	}
	if(document.bcard.city.value=="")
	{
	alert("Please enter your City");
	document.bcard.city.focus();
	return false;
	}
	if(document.bcard.country.value=="")
	{
	alert("Please select your Country");
	document.bcard.country.focus();
	return false;
	}
	if (document.bcard.country.value == "UNITED STATES" || document.bcard.country.value == "INDIA")
		document.bcard.state.value=document.bcard.dpdState.options[document.bcard.dpdState.selectedIndex].value;
	else
		document.bcard.state.value=document.bcard.txtState.value;	
	if (document.bcard.country.value == "UNITED STATES" || document.bcard.country.value == "INDIA")
		{   
			if (document.bcard.state.value=="")
			{
				alert("Please select your State");
				document.bcard.dpdState.focus();
				return false;
			}
		}
		else
		{   
			if (document.bcard.txtState1.value=="")
			{
				alert("Please select your State");
				document.bcard.txtState1.focus();
				return false;
			}
		}
	
	if(document.bcard.zipcode.value=="")
	{
	alert("Please enter your Postal Code");
	document.bcard.zipcode.focus();
	return false;
	}
	if(document.bcard.phone.value=="")
	{
	alert("Please enter your Phone Number");
	document.bcard.phone.focus();
	return false;
	}
	
	if (!(emailCheck(document.bcard.email.value))){
			alert("Please enter a valid Email address");
			document.bcard.email.focus();
			return;
		}	

	if (document.bcard.email.value !=  "")
	{
	  var nameArr= (document.bcard.email.value).split("@");	
	  if (nameArr[0] == "info" || nameArr[0] == "support" || nameArr[0] == "noc" || nameArr[0] == "news" || nameArr[0] == "usenet" || nameArr[0] == "www" || nameArr[0] == "ftp" || nameArr[0] == "uucp" || nameArr[0] == "request" || nameArr[0] == "ftc.gov" || nameArr[0] == "webmaster" || nameArr[0] == "postmaster" || nameArr[0] == "hostmaster" || nameArr[0] == "jobs" || nameArr[0] == "sales" || nameArr[0] == "marketing" || nameArr[0] == "subscribe" || nameArr[0] == "unsubscribe" || nameArr[0] == "admin" || nameArr[0] == "administrator" || nameArr[0] == "administration" || nameArr[0] == "remove" ||	nameArr[0] == "root" ||	nameArr[0] == "investor" || nameArr[0] == "investorrelations" || nameArr[0] == "media" || nameArr[0] == "users" || nameArr[0] == "feedback" || nameArr[0] == "test" || nameArr[0] == "service" || nameArr[0] == "contact" || nameArr[0] == "acquisitions" || nameArr[0] == "accounts" || nameArr[0] == "company" || nameArr[0] == "advertising" || nameArr[0] == "inquiry")
	  {
	     alert('General email addresses (e.g., info@, sales@, support@) are not allowed. Please enter a email address assigned to a specific user.');
	     document.bcard.email.focus();
	     return;
	  }
	     
    }
    
    	
	if(document.bcard.zipcode.value != "")	
		{
			var valid = "0123456789";
			var ok = "yes";
			var temp;
			for (var i=0; i<document.bcard.zipcode.value.length; i++) {
				temp = "" + document.bcard.zipcode.value.substring(i, i+1);
				if (valid.indexOf(temp) == "-1") ok = "no";
			}
			if (document.bcard.country.value=="UNITED STATES")
			{
				if (ok == "no")
				{
					alert("Please enter postal code in digits");
					document.bcard.zipcode.focus();
					return; 
				}
				zip=ignoreSpaces(document.bcard.zipcode.value," ");
				if (zip.length != 5)
				{
					alert("UNITED STATES postal code should be 5 digits");
					document.bcard.zipcode.focus();
					return; 
				}
			}		
		}	
		if (validate(document.bcard.phone)){
			document.bcard.phone.focus();
			return;
		}			
	   if(document.bcard.address1.value != "")
		{
		  if ((document.bcard.address1.value.length) > 60)
		  {
		   alert("Street Address1 should be a maximum of 60 characters");
	       document.bcard.address1.focus();
	       return false;
	      }
	    }
	    if(document.bcard.address2.value != "")
		{
		  if ((document.bcard.address2.value.length) > 60)
		  {
		   alert("Street Address2 should be a maximum of 60 characters");
	       document.bcard.address2.focus();
	       return false;
	      }
	    }
	    if(document.bcard.phone.value != "")
		{
		  if ((document.bcard.phone.value.length) > 17)
		  {
		   alert("phone number should be a maximum of 17 digits");
	       document.bcard.address2.focus();
	       return false;
	      }
	    }
		
	document.bcard.submit();
}


function emailCheck (emailStr) {
    emailStr = emailStr.toLowerCase();
	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("This username in email address contains invalid characters.");
	return false;
	   }
	}

	for (i=0; i<domain.length; i++) {
	if (domain.charCodeAt(i)>127) {
	//alert("This domain name in email address contains invalid characters.");
	return false;
	   }
	}

	if (user.match(userPat)==null) {
	//alert("The username in email address 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 in email 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 email address 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("The email address is missing a hostname!");
	return false;
	}
	
	return true;
	}
	
	function ignoreSpaces(string,dlmtr) 
	{
		var temp = "";
		string = '' + string;
		splitstring = string.split(dlmtr);
		for(i = 0; i < splitstring.length; i++)
		temp += splitstring[i];
		return temp;
	}

	function validate(field) {
		//var valid = "0123456789-zxcvbnmasdfghjklqwertyuiopZXCVBNMASDFGHJKLQWERTYUIOP() ";
		var letters = "-zxcvbnmasdfghjklqwertyuiopZXCVBNMASDFGHJKLQWERTYUIOP() ";
		var valid = "0123456789";
		var ok = "yes";
		var temp;
		for (var i=0; i<field.value.length; i++) {
			temp = "" + field.value.substring(i, i+1);
			if (valid.indexOf(temp) == "-1") ok = "no";
		}
				
		usphone = stripCharsInBag(field.value,letters);
	
		if (document.bcard.country.value == "UNITED STATES" || document.bcard.country.value == "CANADA")
		{
			if (usphone.length != 10)
			{
				alert(document.bcard.country.value + " phone number should be a 10 digit number");
				field.value = usphone;
				return true;
			}
			else
			{
				field.value = usphone;
				return false;
			}	
		}
		else if (usphone.length <= 10)
		{
			alert("Please enter a valid phone number");
			field.value = usphone;
			return true;
		}
		else
		{
			field.value = usphone;
			return false;
		}
}

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;
    }
    var str1 = "01";
    var str = returnString;
    var a = str.length;
    for (i = 0; i < a; i++)
	{   
        // removing leading 0's and 1's
        var c = str.charAt(i);
        if (str1.indexOf(c) == -1)
        {
			returnString = str.substring(i, a);
			break;
         }
    }
    return returnString;
}

