// JavaScript Document
// used for trial requests

function submitform()  {
	var sErrStr, sFieldName;
	sErrStr = "";
	sFieldName = "";
	var first_name = trim(document.frm.first_name.value);
	if (first_name == "")  {
		sErrStr += "Please Enter First Name\n";
		if (sFieldName == "")
			sFieldName = "first_name";
	}
/*salutation mods 9/4/07 APH*/
	if (document.frm.salutation.options[document.frm.salutation.selectedIndex].value == '')
  { sErrStr += 'Please Select a Salutation \n';
	if (sFieldName == '')	
	sFieldName = 'salutation';
  }	
var last_name = trim(document.frm.last_name.value);
	if (last_name == "")  {
		sErrStr += "Please Enter Last Name\n";
		if (sFieldName == "")
			sFieldName = "last_name";
	}
	var title = trim(document.frm.title.value);
	if (title == '')
  { sErrStr += 'Please Enter Title \n';
	if (sFieldName == '')	
	sFieldName = 'title';
}
var email = trim(document.frm.email.value);
	if (email == "")  {
		sErrStr += "Please Enter Email\n";
		if (sFieldName == "")
			sFieldName = "email";
	}
	else if (!emailCheck(document.frm.email.value))  { 
		sErrStr += "Enter Valid Email Address\n"
		if (sFieldName == "")
			sFieldName = "email"
	}
//var email2 = trim(document.frm.email2.value);
//	if (email2 != email)  {
//		sErrStr += "Please Confirm Email Address\n";
//		if (sFieldName == "")
//			sFieldName = "email2";
//	}

//Added Business Phone 3/27 PH
var phone = trim(document.frm.phone.value);
	if (phone == "")  {
		sErrStr += "Please Enter Phone\n";
		if (sFieldName == "")
			sFieldName = "phone";
	}

<!--Disabled 3 box US Phone Set here PH
/*var businessPhoneAreaCode = trim(document.frm.businessPhoneAreaCode.value);
	if (businessPhoneAreaCode == "")  {
		sErrStr += "Please Enter Business Area Code\n";
		if (sFieldName == "")
			sFieldName = "businessPhoneAreaCode";
	}
var businessPhonePrefix = trim(document.frm.businessPhonePrefix.value);
	if (businessPhonePrefix == "")  {
		sErrStr += "Please Enter Business Prefix Code\n";
		if (sFieldName == "")
			sFieldName = "businessPhonePrefix";
	}
var businessPhoneLast4Digits = trim(document.frm.businessPhoneLast4Digits.value);
	if (businessPhoneLast4Digits == "")  {
		sErrStr += "Please Enter Business Number\n";
		if (sFieldName == "")
			sFieldName = "businessPhoneLast4Digits";
	}
if(businessPhoneAreaCode != "" && businessPhonePrefix != "" && businessPhoneLast4Digits != "")
{
	if(!phoneValidation(document.frm.businessPhoneAreaCode,document.frm.businessPhonePrefix,document.frm.businessPhoneLast4Digits,'Business Phone Number'))
		return false;
}*/var company = trim(document.frm.company.value);
	if (company == '')
  { sErrStr += 'Please Enter Company \n';
	if (sFieldName == '')	
	sFieldName = 'company';
}

///////////////////////////////
var city = trim(document.frm.city.value);
	if (company == '')
  { sErrStr += 'Please Enter City \n';
	if (sFieldName == '')	
	sFieldName = 'city';
}
//var state = trim(document.frm.state.value);
var state = trim (document.frm.elements['00N70000002ShkP'].value); //state field for sf
	if (state == '')
  { sErrStr += 'Please Enter State \n';
	if (sFieldName == '')	
	sFieldName = 'state';
}
//////////////////////////////

//if (document.frm.country.options[document.frm.country.selectedIndex].value == "")  {
if (document.frm.elements['00N70000002Shk5'].options[document.frm.elements['00N70000002Shk5'].selectedIndex].value == "")  {	//Country field for SF
		sErrStr += "Please Select Country\n";
		if (sFieldName == "")
			sFieldName = "country";
	}
var zip = trim(document.frm.zip.value);
	if (zip == "")  {
		sErrStr += "Please Enter Zip\n";
		if (sFieldName == "")
			sFieldName = "zip";
	}
/*	
if (document.frm.numUsers.options[document.frm.numUsers.selectedIndex].value == '') 
 {	sErrStr += 'Please Select Expected Number of Users \n'; 
 if (sFieldName == '') 
 sFieldName = 'numUsers';
 }*/
if(document.frm.email)
{
	if(trim(document.frm.email.value) != "")
	{
		if (!emailCheck(document.frm.email.value))
		{ 
			sErrStr += "Enter Valid E-mail Address\n"
			if (sFieldName == "")
				sFieldName = "email"
		}
	}
}
if(document.frm.email)
{
	if(trim(document.frm.email.value) != trim(document.frm.email2.value))
	{
       sErrStr += "Please Confirm Email Address\n"
       if (sFieldName == "")
				sFieldName = "email"
	}
}
if(document.frm.businessPhoneAreaCode && document.frm.businessPhonePrefix && document.frm.businessPhoneLast4Digits)
{
	if(trim(document.frm.businessPhoneAreaCode.value) != "" || trim(document.frm.businessPhonePrefix.value) != "" || trim(document.frm.businessPhoneLast4Digits.value) != "")
	{
		if(!phoneValidation(document.frm.businessPhoneAreaCode,document.frm.businessPhonePrefix,document.frm.businessPhoneLast4Digits,'Business Phone Number'))
			return false;
	}
}
if(document.frm.homePhone1 && document.frm.homePhone2 && document.frm.homePhone3)
{
	if(trim(document.frm.homePhone1.value) != "" || trim(document.frm.homePhone2.value) != "" || trim(document.frm.homePhone3.value) != "")
	{
		if(!phoneValidation(document.frm.homePhone1,document.frm.homePhone2,document.frm.homePhone3,'Home Phone Number'))
			return false;
	}
}
if(document.frm.faxNumber1 && document.frm.faxNumber2 && document.frm.faxNumber3)
{
	if(trim(document.frm.faxNumber1.value) != "" || trim(document.frm.faxNumber2.value) != "" || trim(document.frm.faxNumber3.value) != "")
	{
		if(!phoneValidation(document.frm.faxNumber1,document.frm.faxNumber2,document.frm.faxNumber3,'Fax Phone Number'))
			return false;
	}
}
if(document.frm.cellPhoneNumber1 && document.frm.cellPhoneNumber2 && document.frm.cellPhoneNumber3)
{
	if(document.frm.cellPhoneNumber1.value != "" || document.frm.cellPhoneNumber2.value != "" || document.frm.cellPhoneNumber3.value != "")
	{
		if(!phoneValidation(document.frm.cellPhoneNumber1,document.frm.cellPhoneNumber2,document.frm.cellPhoneNumber3,'Cell Phone Number'))
			return false;
		if (document.frm.CellPhoneCarrier.options[document.frm.CellPhoneCarrier.selectedIndex].value == "")  {
			sErrStr += "Please Select Cell Phone Carrier\n";
			if (sFieldName == "")
				sFieldName = "CellPhoneCarrier";
		}
	}
	if((document.frm.CellPhoneCarrier.options[document.frm.CellPhoneCarrier.selectedIndex].value != "") &&  (document.frm.cellPhoneNumber1.value == "" || document.frm.cellPhoneNumber2.value == "" || document.frm.cellPhoneNumber3.value == ""))
		{
			if(!phoneValidation(document.frm.cellPhoneNumber1,document.frm.cellPhoneNumber2,document.frm.cellPhoneNumber3,'Cell Phone Number'))
			return false;
		}
}
if(document.frm.instantMessenger)
	{
		if(document.frm.instantMessenger.type != "hidden")
		{
			if(trim(document.frm.instantMessenger.value) != "")
			{
				if (document.frm.InstantMessengerCarrier.options[document.frm.InstantMessengerCarrier.selectedIndex].value == "")  {
						sErrStr += "Please Select Instant Message Carrier\n";
						if (sFieldName == "")
							sFieldName = "InstantMessengerCarrier";
					}
			}
			if(document.frm.InstantMessengerCarrier.options[document.frm.InstantMessengerCarrier.selectedIndex].value != "" && trim(document.frm.instantMessenger.value) == "")
			{
					sErrStr += "Please Select Instant Messenger\n";
					if (sFieldName == "")
						sFieldName = "instantMessenger";
			}
		}
	}
	if (sErrStr != "")
	{
		alert("Following are the required fields:- \n"+sErrStr);
		for (i=0;i<document.frm.elements.length;i++)
		{
			if (document.frm.elements[i].name == sFieldName)
				document.frm.elements[i].focus();
		}
		return false;
	}
		return true;
}
function openSendWindow (num1, num2, num3, carrier)
{
	if(document.frm.formID)
		formID=document.frm.formID.value;
	if(document.frm.cellPhoneNumber1 && document.frm.cellPhoneNumber2 && document.frm.cellPhoneNumber3)
	{
		if(!phoneValidation(document.frm.cellPhoneNumber1,document.frm.cellPhoneNumber2,document.frm.cellPhoneNumber3,'Cell Phone Number'))
		return false;
			var cellCarrier=document.frm.CellPhoneCarrier.options[document.frm.CellPhoneCarrier.selectedIndex].value
			if (cellCarrier != "")
			{
				var url = "http://www.stun1.com/stun/manageforms/sendTestSMSMessage.php?phone="+num1+""+num2+""+num3+"&carrier="+cellCarrier+"&formID="+formID;
				var url1 = "http://www.stun1.com/stun/manageforms/sendTestSMSMessage1.php?phone="+num1+""+num2+""+num3+"&carrier="+cellCarrier+"&formID="+formID;
				document.frames["I1"].location.replace(url);
				MM_openBrWindow(url1,"sendWin","scrollbars=no,resize=no,width=400,height=200");
			}
			else	{
				alert("Please select carrier for Cell Phone.");
				//return false;
			}
	}
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function emailCheck(emailStr)
{
	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) {
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	if (user.match(userPat)==null) {
	    return false
	}
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		  for (var i=1;i<=4;i++) {
		    if (IPArray[i]>255) {
				return false
		    }
	    }
	    return true
	}
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		return false
	}
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 ||
	    domArr[domArr.length-1].length>4) {
		return false
	}
	if (len<2) {
	   return false
	}
	return true;
}
function ltrim(s)
{
	return s.replace(/^\s*/,"")
}
function rtrim(s)
{
	return s.replace(/\s*$/,"");
}
function trim(s)
{
	return rtrim(ltrim(s));
}
function isDigit(c)
{   return ((c >= "0") && (c <= "9"))
}
function isEmpty(s)
{   
	s=trim(s);
	return ((s == null) || (s.length == 0))
}
function warnEmpty (theField, s)
{   
	theField.focus();
	alert("Please enter " +s);
	return false;
}
function checkEmpty (theField, s)
{
   if(isEmpty(theField.value)) return warnEmpty (theField, s);
   else return true;
}
function isWhitespace (s)
{   var i;
	var whitespace = " \t\n\r";
    // Is s empty?
    if (isEmpty(s)) return true;
    // Search through string's characters one by one
    // until we find a non-whitespace character.
    // When we do, return false; if we don't, return true.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (whitespace.indexOf(c) == -1) return false;
    }
    // All characters are whitespace.
    return true;
}
function isInteger (s)
{   var i;
    if (isEmpty(s)) 
       if (isInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);
    // Search through string's characters one by one
    // until we find a non-numeric character.
    // When we do, return false; if we don't, return true.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (!isDigit(c)) return false;
    }
    // All characters are numbers.
    return true;
}
function phoneValidation(area,firstdigits,lastdigits,fromPhone)
{
	if (area.value == null || area.value.length == 0)
	{
		alert("Please fill in your "+ fromPhone +" area code.");
		area.focus()
		return false;
	}
	else
	{
		if (area.value.length	< 3)
		{
			alert("Your  "+ fromPhone +" area code must be 3 digits.");
			area.focus();
			return false;
		}
		var PhoneArea = area.value;
		var FirstPhone = PhoneArea.substring(0, 1);
		if ((FirstPhone == 0) || (FirstPhone == 1))
		{
			alert("International area codes beginning with " + FirstPhone + " are not allowed.");
			area.focus();
			return false;
		}
		if (isInteger(area.value) == false){
			alert("No letters allowed in your "+ fromPhone +".");
			area.focus();
			return false;		
		}
	}
	if (firstdigits.value == null || firstdigits.value.length == 0)
	{
		alert("Please fill in your "+ fromPhone +" prefix.");
		firstdigits.focus()
		return false;
	}
	else
	{
		if (firstdigits.value.length	< 3)
		{
			alert("Your "+ fromPhone +" prefix must be 3 digits.");
			firstdigits.focus();
			return false;
		}
		if (isInteger(firstdigits.value) == false){
			alert("No letters allowed in your "+ fromPhone +".");
			firstdigits.focus();
			return false;		
		}
	}
	if (lastdigits.value == null || lastdigits.value.length == 0)
	{
		alert("Please fill in your "+ fromPhone +" suffix.");
		lastdigits.focus()
		return false;
	}
	else
	{
		if (lastdigits.value.length	< 4)
		{
			alert("Your "+ fromPhone +" suffix must be 4 digits.");
			lastdigits.focus();
			return false;
		}
		if (isInteger(lastdigits.value) == false){
			alert("No letters allowed in your "+ fromPhone +".");
			lastdigits.focus();
			return false;		
		}
	}
	if (area.value == 111 || area.value == 222 || area.value == 333 || area.value == 444 || area.value == 555 || area.value == 666 || area.value == 777 || area.value == 888 || area.value == 999)
	{
		alert("Your "+ fromPhone +" area code is not valid.");
		area.focus()
		return false;
	}
	if (firstdigits.value == 000 && lastdigits.value == 0000 || firstdigits.value == 111 && lastdigits.value == 1111 || firstdigits.value == 222 && lastdigits.value == 2222 || firstdigits.value == 333 && lastdigits.value == 3333 || firstdigits.value == 444 && lastdigits.value == 4444 || firstdigits.value == 555 && lastdigits.value == 5555 || firstdigits.value == 666 && lastdigits.value == 6666 || firstdigits.value == 777 && lastdigits.value == 7777 || firstdigits.value == 888 && lastdigits.value == 8888 || firstdigits.value == 999 && lastdigits.value == 9999)
	{
		alert("Your "+ fromPhone +" number is not valid.");
		firstdigits.focus()
		return false;
	}
	if (lastdigits.value == 0000)
	{
		alert("Your "+ fromPhone +" suffix is not valid.");
		lastdigits.focus()
		return false;
	}
	return true;
}
