

var imageURL = 'images/';
var siteURL ="./";

//
// Write dropdown menu for US states.
//
function write_statesDropdown() {

document.writeln('<select name="wm_state" class="contactForm">');   
document.writeln('    <option selected id="None" value="">Select a State</option>');
document.writeln('    <option id="AL" value="AL">Alabama (AL)</option>');
document.writeln('    <option id="AK" value="AK">Alaska (AK)</option>');
document.writeln('    <option id="AZ" value="AZ">Arizona (AZ)</option>');
document.writeln('    <option id="AR" value="AR">Arkansas (AR)</option>');             
document.writeln('    <option id="CA" value="CA">California (CA)</option>');
document.writeln('    <option id="CO" value="CO">Colorado (CO)</option>');
document.writeln('    <option id="CT" value="CT">Connecticut (CT)</option>');
document.writeln('    <option id="DE" value="DE">Delaware (DE)</option>');
document.writeln('    <option id="DC" value="DC">District of Columbia (DC)</option>');    
document.writeln('    <option id="FL" value="FL">Florida (FL)</option>');
document.writeln('    <option id="GA" value="GA">Georgia (GA)</option>');
document.writeln('    <option id="GU" value="GU">Guam (GU)</option>');
document.writeln('    <option id="HI" value="HI">Hawaii (HI)</option>');
document.writeln('   <option id="ID" value="ID">Idaho (ID)</option>');
document.writeln('   <option id="IL" value="IL">Illinois (IL)</option>');
document.writeln('   <option id="IN" value="IN">Indiana (IN)</option>');
document.writeln('   <option id="IA" value="IA">Iowa (IA)</option>');
document.writeln('   <option id="KS" value="KS">Kansas (KS)</option>');
document.writeln('   <option id="KY" value="KY">Kentucky (KY)</option>');
document.writeln('   <option id="LA" value="LA">Louisiana (LA)</option>');
document.writeln('   <option id="ME" value="ME">Maine (ME)</option>');
document.writeln('   <option id="MD" value="MD">Maryland (MD)</option>');
document.writeln('   <option id="MA" value="MA">Massachusetts (MA)</option>');
document.writeln('   <option id="MI" value="MI">Michigan (MI)</option>');
document.writeln('   <option id="MN" value="MN">Minnesota (MN)</option>');
document.writeln('   <option id="MS" value="MS">Mississippi (MS)</option>');
document.writeln('   <option id="MO" value="MO">Missouri (MO)</option>');
document.writeln('   <option id="MT" value="MT">Montana (MT)</option>');
document.writeln('   <option id="NE" value="NE">Nebraska (NE)</option>');
document.writeln('   <option id="NV" value="NV">Nevada (NV)</option>');
document.writeln('   <option id="NH" value="NH">New Hampshire (NH)</option>');
document.writeln('   <option id="NJ" value="NJ">New Jersey (NJ)</option>');
document.writeln('   <option id="NM" value="NM">New Mexico (NM)</option>');
document.writeln('   <option id="NY" value="NY">New York (NY)</option>');
document.writeln('   <option id="NC" value="NC">North Carolina (NC)</option>');
document.writeln('   <option id="ND" value="ND">North Dakota (ND)</option>');
document.writeln('   <option id="OH" value="OH">Ohio (OH)</option>');
document.writeln('   <option id="OK" value="OK">Oklahoma (OK)</option>');
document.writeln('   <option id="OR" value="OR">Oregon (OR)</option>');
document.writeln('   <option id="PA" value="PA">Pennyslvania (PA)</option>');
document.writeln('   <option id="PR" value="PR">Puerto Rico (PR)</option>');
document.writeln('   <option id="RI" value="RI">Rhode Island (RI)</option>');
document.writeln('   <option id="SC" value="SC">South Carolina (SC)</option>');
document.writeln('   <option id="SD" value="SD">South Dakota (SD)</option>');
document.writeln('   <option id="TN" value="TN">Tennessee (TN)</option>');
document.writeln('   <option id="TX" value="TX">Texas (TX)</option>');
document.writeln('   <option id="UT" value="UT">Utah (UT)</option>');
document.writeln('   <option id="VT" value="VT">Vermont (VT)</option>');
document.writeln('   <option id="VA" value="VA">Virginia (VA)</option>');
document.writeln('   <option id="VI" value="VI">Virgin Islands (VI)</option>');
document.writeln('    <option id="WA" value="WA">Washington (WA)</option>');
document.writeln('    <option id="WV" value="WV">West Virginia (WV)</option>');
document.writeln('    <option id="WI" value="WI">Wisconsin (WI)</option>');
document.writeln('    <option id="WY" value="WY">Wyoming (WY)</option>');
document.writeln('</select>');
}


/**
 * DHTML phone number validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

// 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 trim(s)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not a whitespace, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (c != " ") returnString += c;
    }
    return returnString;
}


/**
 * DHTML date validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */
// Declaring valid date character, minimum year and maximum year
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

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++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}



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){
var bracket=3
strPhone=trim(strPhone)
if(strPhone.indexOf("+")>1) return false
if(strPhone.indexOf("-")!=-1)bracket=bracket+1
if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false
var brchr=strPhone.indexOf("(")
if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false
if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}



/**
 * DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

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 E-mail ID")
		   return false
		}

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

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

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

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

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

 		 return true					
	}

function validZip(zip)
{
    if (zip.match(/^[0-9]{5}$/)) {
        return true;
    }
    
    zip=zip.toUpperCase();
     
    if (zip.match(/^[A-Z][0-9][A-Z][0-9][A-Z][0-9]$/)) {
        return true;
    }
    if (zip.match(/^[A-Z][0-9][A-Z].[0-9][A-Z][0-9]$/)) {
        return true;
    }
    return false;
}

function ValidateForm(){
	
	var eventDate=document.contactForm.wm_event_date
	var eventLoc=document.contactForm.wm_event_loc
	var goals=document.contactForm.wm_goals
	
	var first_name=document.contactForm.wm_name_first
	var last_name=document.contactForm.wm_name_last
	var company=document.contactForm.wm_company
	var title=document.contactForm.wm_title

	var address=document.contactForm.wm_streetaddr
	var city=document.contactForm.wm_city
	var state=document.contactForm.wm_state
	var zip_code=document.contactForm.wm_zip_code

	var emailID=document.contactForm.wm_email
	var Phone=document.contactForm.wm_phone

	var fee=document.contactForm.wm_fee


	if ((eventDate.value==null)||(eventDate.value=="")){
		alert("Please enter a date(s) for your event.")
		eventDate.focus()
		return false
	}
	else if ((eventLoc.value==null)||(eventLoc.value=="")){
		alert("Please enter the location of your event.")
		eventLoc.focus()
		return false
	}
	else if ((goals.value==null)||(goals.value=="")){
		alert("Please enter a brief description of your organization and your goals for this event.")
		goals.focus()
		return false
	}
	else if ((first_name.value==null)||(first_name.value=="")){
		alert("Please enter your first name.")
		first_name.focus()
		return false
	}
	else if ((last_name.value==null)||(last_name.value=="")){
		alert("Please enter your last name.")
		last_name.focus()
		return false
	}
	else if ((company.value==null)||(company.value=="")){
		alert("Please enter the name of your company or organization.")
		company.focus()
		return false
	}
	else if ((title.value==null)||(title.value=="")){
		alert("Please enter your title.")
		title.focus()
		return false
	}
	else if ((address.value==null)||(address.value=="")){
		alert("Please enter your address.")
		address.focus()
		return false
	}
	else if ((city.value==null)||(city.value=="")){
		alert("Please enter the name of your city.")
		city.focus()
		return false
	}
	else if ((state.value==null)||(state.value=="")){
		alert("Please select a state.")
		state.focus()
		return false
	}
	else if ((zip_code.value==null)||(zip_code.value=="")){
		alert("Please enter your zip or postal code.")
		zip_code.focus()
		return false
	}
	else if (validZip(zip_code.value)==false){
		alert("Please a valid zip or postal code.")
		zip_code.focus()
		return false
	}
	else if ((Phone.value==null)||(Phone.value=="")){
		alert("Please enter your phone number.")
		Phone.focus()
		return false
	}
	else if (checkInternationalPhone(Phone.value)==false){
		alert("Please enter a valid phone number.")
		Phone.value=""
		Phone.focus()
		return false
	}
	else if ((emailID.value==null)||(emailID.value=="")){
		alert("Please enter your email address.")
		emailID.focus()
		return false
	}
	else if (echeck(emailID.value)==false){
		alert("Please enter a valid email address.")
		emailID.value=""
		emailID.focus()
		return false
	}
	else if ((fee.value==null)||(fee.value=="")){
		alert("Please enter the fee that you expect to pay for a speaker.")
		fee.focus()
		return false
	}

	return true

 }
