




function first_name(input, extraalert){
var field = document.getElementById(input);
if(!extraalert){
	var extraalert = "";
}
if (field.value=="")
	{
		alert(extraalert+"\nPlease enter a First Name");
		field.focus();
		return false;
		}
		else return true;
}


function last_name(input, extraalert){
var field = document.getElementById(input);
if(!extraalert){
	var extraalert = "";
}
if (field.value=="")
	{
		alert(extraalert+"\nPlease enter a Last Name");
		field.focus();
		return false;
		}
		else return true;
}

function email(input, extraalert){
var field = document.getElementById(input);
if(!extraalert){
	var extraalert = "";
}
if (field.value=="")
	{
		alert(extraalert+"\nPlease enter a E-Mail Address");
		field.focus();
		return false;
		}
		else {
		var emailA = field.value;
  var str = new String(emailA);
  var result = true;
  rExp = /[!\"£$%\^&*()-+=<>,\'#?\\|¬`\/\[\]]/
  if( rExp.test(str) )
  result = false;
  if( str.indexOf('.') == -1 || str.indexOf('@') == -1 )
  result = false;
  if( str.slice(str.lastIndexOf('.')+1,str.length).length < 2 )
  result = false;
  if( str.slice(0,str.indexOf('@')).length < 1 )
  result = false;
  if( str.slice(str.indexOf('@')+1,str.lastIndexOf('.')).length < 1 )
  result = false;
		
	if( !result )
	{
	alert(extraalert+"\nInvalid email address" );
	field.focus();
	return false;
	}
	else return true;
		}
}


function title(input, extraalert){
var field = document.getElementById(input);
if(!extraalert){
	var extraalert = "";
}
if (field.value=="")
	{
		alert(extraalert+"\nPlease enter a Job Title");
		field.focus();
		return false;
		}
		else return true;
}


function company(input, extraalert){
var field = document.getElementById(input);
if(!extraalert){
	var extraalert = "";
}
if (field.value=="")
	{
		alert(extraalert+"\nPlease enter a Company Name");
		field.focus();
		return false;
		}
		else {
		var companyA = field.value;
  var str = new String(companyA);
  var result = true;
  rExp = /&/
  if( rExp.test(str) )
  result = false;
 
	if( !result )
	{
	alert(extraalert+"\nPlease type out 'AND' instead of using the '&' sign" );
	field.focus();
	return false;
	}
	else return true;
		}
}


function industry(input, extraalert){
var field = document.getElementById(input);
if(!extraalert){
	var extraalert = "";
}
if (field.value=="")
	{
		alert(extraalert+"\nPlease select a Industry");
		field.focus();
		return false;
		}
		else return true;
}


function employees(input, extraalert){
var field = document.getElementById(input);
	if(!extraalert){
		var extraalert = "";
	}

	if (field.value=="")
		{
			alert(extraalert+"\nPlease select a Employee count");
			field.focus();
			return false;
		}
	else return true;
}


function zip(input, extraalert){

var field = document.getElementById(input);

if(!extraalert){

	var extraalert = "";

}

if (field.value=="")

	{

		alert(extraalert+"\nPlease enter the Zip Code");

		field.focus();

		return false;

		}

		else {

			if(field.value.search(/^(\d{5}|\d{9}|\d{5}-\d{4}|[a-z]\d[a-z]\s*\d[a-z]\d)$/i)==-1 && field.value.length == 6){

				alert("The zip code you entered is not valid.\r\nPlease re-enter the zip code.");

	  			field.focus();

			 	return false;

			}else if(field.value.search(/\d{5}/)==-1 && field.value.length != 6)

     		{ 

			alert("The zip code you entered is not valid.\r\nPlease re-enter the zip code with up to 5 digits\r\nxxxxx");

	  		field.focus();

			 return false;

    		 }

	 else return true;

    }

}

function street(input, extraalert){
var field = document.getElementById(input);
if(!extraalert){
	var extraalert = "";
}
if (field.value=="")
	{
		alert(extraalert+"\nPlease enter an Address");
		field.focus();
		return false;
		}
		else return true;
}


function city(input, extraalert){
var field = document.getElementById(input);
if(!extraalert){
	var extraalert = "";
}
if (field.value=="")
	{
		alert(extraalert+"\nPlease enter a City Name");
		field.focus();
		return false;
		}
		else return true;
}


function state(input, extraalert){
var field = document.getElementById(input);
if(!extraalert){
	var extraalert = "";
}
if (field.value=="")
	{
		alert(extraalert+"\nPlease enter a State Name");
		field.focus();
		return false;
		}
		else return true;
}


function country(input, extraalert){
var field = document.getElementById(input);
if(!extraalert){
	var extraalert = "";
}
if (field.value=="")
	{
		alert(extraalert+"\nPlease enter a Country");
		field.focus();
		return false;
		}
		else return true;
}


function phone(input, extraalert){
var field = document.getElementById(input);
if(!extraalert){
	var extraalert = "";
}
if (field.value=="")
	{
		alert(extraalert+"\nPlease enter a Phone Number");
		field.focus();
		return false;
		}
		else {
		
		if(field.value.search(/\d{3}\-\d{3}\-\d{4}/)==-1)
   {
			if(field.value.search(/\d{10}/)==-1)
     { alert(extraalert+"\nThe phone number you entered is not valid.\r\nPlease enter a phone number with the format \r\nxxx-xxx-xxxx.");
	  field.focus();
	  return false;
     }
				 	else return true;
				}
	   else return true;
		}
}


function MarketingSource(input, extraalert){
var field = document.getElementById(input);
if(!extraalert){
	var extraalert = "";
}
if (field.value=="")
	{
		alert(extraalert+"\nPlease let us know how you heard about this eSeminar");
		field.focus();
		return false;
		}
		else return true;
}


function fax(input, extraalert){
var field = document.getElementById(input);
if(!extraalert){
	var extraalert = "";
}
if (field.value=="")
						{
						return true;
						}
		else {
		if (field.value.search(/\d{3}\-\d{3}\-\d{4}/)==-1)
   			{
						if(field.value.search(/\d{10}/)==-1)
			    { alert(extraalert+"\nThe fax number you entered is not valid.\r\nPlease enter a fax number with the format \r\nxxx-xxx-xxxx.");
	  	   	field.focus();
	  		return false;
			} 
			return true;
			}
			return true;
		}
}



function currentclient(input, extraalert){
var field = document.getElementById(input);
if(!extraalert){
	var extraalert = "";
}
if (field.value=="")
	{
		alert(extraalert+"\nSelect 'Yes' if your Company is a current client, otherwise please select 'No'");
		field.focus();
		return false;
		}
		else return true;
}



function bill_cardholdername(input, extraalert){
var field = document.getElementById(input);
if(!extraalert){
	var extraalert = "";
}
if (field.value=="")
	{
		alert(extraalert+"\nPlease enter the Card Holders name \r\n'As it appers on the card'");
		field.focus();
		return false;
		}
		else return true;
}




function bill_address(input, extraalert){
var field = document.getElementById(input);
if(!extraalert){
	var extraalert = "";
}
if (field.value=="")
	{
		alert(extraalert+"\nPlease enter the billing street address");
		field.focus();
		return false;
		}
		else return true;
}



function bill_city(input, extraalert){
var field = document.getElementById(input);
if(!extraalert){
	var extraalert = "";
}
if (field.value=="")
	{
		alert(extraalert+"\nPlease enter the billing City");
		field.focus();
		return false;
		}
		else return true;
}


function bill_state(input, extraalert){
var field = document.getElementById(input);
if(!extraalert){
	var extraalert = "";
}
if (field.value=="")
	{
		alert(extraalert+"\nPlease select the billing State");
		field.focus();
		return false;
		}
		else return true;
}






function bill_zip(input, extraalert){
var field = document.getElementById(input);
if(!extraalert){
	var extraalert = "";
}
if (field.value=="")

	{

		alert(extraalert+"\nPlease enter the Zip Code");

		field.focus();

		return false;

		}

		else {

			if(field.value.search(/^(\d{5}|\d{9}|\d{5}-\d{4}|[a-z]\d[a-z]\s*\d[a-z]\d)$/i)==-1 && field.value.length == 6){

				alert("The zip code you entered is not valid.\r\nPlease re-enter the zip code.");

	  			field.focus();

			 	return false;

			}else if(field.value.search(/\d{5}/)==-1 && field.value.length != 6)

     		{ 

			alert("The zip code you entered is not valid.\r\nPlease re-enter the zip code with up to 5 digits\r\nxxxxx");

	  		field.focus();

			 return false;

    		 }

	 else return true;

    }

}



function bill_cardtype(input, extraalert){
var field = document.getElementById(input);
if(!extraalert){
	var extraalert = "";
}
if (field.value=="")
	{
		alert("Please select the card type");
		field.focus();
		 return false;
		}
else return true;
}




function bill_phone(input, extraalert){
var field = document.getElementById(input);
if(!extraalert){
	var extraalert = "";
}
if (field.value=="")
	{
		alert(extraalert+"\nPlease enter a Phone Number");
		field.focus();
		return false;
		}
		else {
		
		if(field.value.search(/\d{3}\-\d{3}\-\d{4}/)==-1)
   {
			if(field.value.search(/\d{10}/)==-1)
     { alert(extraalert+"\nThe phone number you entered for the Contact Phone Number is not valid.\r\nPlease enter a phone number with the format \r\nxxx-xxx-xxxx.");
	  field.focus();
	  return false;
     }
				 	else return true;
				}
	   else return true;
		}
}


function bill_cardnum(input, type, extraalert){
var field = document.getElementById(input);
var fieldtype = document.getElementById(type);
if(!extraalert){
	var extraalert = "";
}
if (field.value=="")
	{
		alert(extraalert+"\nPlease enter the credit card number");
		field.focus();
		 return false;
		}
else 		
{ var cardNumber = field.value;
	 var cardType = fieldtype.value;
  var isValid = false;
  var ccCheckRegExp = /[^\d -]/;
  isValid = !ccCheckRegExp.test(cardNumber);
		if (!isValid) { 
		alertTag = "The Card number may only contain numbers, spaces or dashes";}

  if (isValid)
  { var cardNumbersOnly2 = cardNumber.replace(/-/g,"");
    var cardNumbersOnly = cardNumbersOnly2.replace(/ /g,"");
    var cardNumberLength = cardNumbersOnly.length;
    var lengthIsValid = false;
    var prefixIsValid = false;
    var prefixRegExp;
    switch(cardType)
    {
      case "Master Card":
        lengthIsValid = (cardNumberLength == 16);
        prefixRegExp = /^5[1-5]/;
        break;

      case "Visa":
        lengthIsValid = (cardNumberLength == 16 || cardNumberLength == 13);
        prefixRegExp = /^4/;
        break;

      case "Amex":
        lengthIsValid = (cardNumberLength == 15);
        prefixRegExp = /^3(4|7)/;
        break;

      default:
        prefixRegExp = /^$/;
    }

    prefixIsValid = prefixRegExp.test(cardNumbersOnly);
    isValid = prefixIsValid && lengthIsValid;
				if (!isValid) { 
				alertTag = "The Card Number does not follow the Card Type format";}
  }

  if (isValid)
  {
    var numberProduct;
    var numberProductDigitIndex;
    var checkSumTotal = 0;

    for (digitCounter = cardNumberLength - 1; 
      digitCounter >= 0; 
      digitCounter--)
    {
      checkSumTotal += parseInt (cardNumbersOnly.charAt(digitCounter));
      digitCounter--;
      numberProduct = String((cardNumbersOnly.charAt(digitCounter) * 2));
      for (var productDigitCounter = 0;
        productDigitCounter < numberProduct.length; 
        productDigitCounter++)
      {
        checkSumTotal += 
          parseInt(numberProduct.charAt(productDigitCounter));
      }
    }

    isValid = (checkSumTotal % 10 == 0);
				if (!isValid) { 
				alertTag = "The credit card number you entered is not valid.\r\nPlease re-enter the card number with the format \r\nxxxx-xxxx-xxxx-xxxx\r\n\r\nIf this error continues please call 1-800-504-6070 for help";}
  }
	
		if(!isValid){
		 alert(extraalert+"\n"+alertTag);
		 field.focus();
	  return false;
			}
		
		if(isValid) {
		return true;
		}
}
}



function bill_cardexdate(input, extraalert){
	var field = document.getElementById(input);
	if(!extraalert){
	var extraalert = "";
}
if (field.value=="")
	{
		alert("Please enter the credit card experation date");
		field.focus();
		return false;
		}
else 		
{
if(field.value.search(/\d{2}\/\d{2}/)==-1)
     { alert("Please enter credit card experation date in the format mm/yy");
	  field.focus();
	  return false;;
     }
	 else return true;
    }
}


function duplicate_email(input, count, extraalert){
	if(!extraalert){
	var extraalert = "";
}

for(i=1; i <= count; i++){
var field = document.getElementById(input+i);
var fieldvalue = field.value.toUpperCase();
var nextNum = i+1;

for(e=i+1; e <= count; e++){
var field2 = document.getElementById(input+e);
var field2value = field2.value.toUpperCase();
if(fieldvalue == field2value){
alert('Attendee #'+i+' email is the same as Attendee #'+e+'\n -Please enter a unique email for all attendees.');
field2.focus();
return false;
}
}
}
return true;
}

function comparePass(input1,input2){
var field1 = document.getElementById(input1);
var field2 = document.getElementById(input2);
if(!extraalert){
	var extraalert = "";
}
if (field1.value != field2.value)
	{
		alert(extraalert+"\nPassword 1 does not match password 2.\n\nPlease re-enter the password");
		field2.focus();
		return false;
		}
		else return true;
}
