function SubmitForm(){
ValidateForm();
//document.Upload.Submit.value = "Uploading...";
//document.Upload.Submit.disabled = true;
//document.Upload.submit();
}

function show(obj) {
//Show the Progress Bar	
eval("document.all." + obj + ".style.display='block'");
}

//Get Security Code Session Variable
var xmlHttp
var SesSecurityCode;

function GetSecurityCode(){
//alert ("function GetSecurityCode accessed")
xmlHttp=GetXmlHttpObject()
  if (xmlHttp==null) {
  alert ("Browser does not support HTTP Request")
  return
  } 
var url="scripts/GetSecurityCodeSession.asp"
url=url+"?rid="+Math.random()
xmlHttp.onreadystatechange=stateChanged 
xmlHttp.open("GET",url,false)
xmlHttp.send(null)
} 

function stateChanged() { 
//  ResultsString = DataReceived & "|" & ShipToCompany & "|" & ShipToContact & "|" & ShipToAddress & "|" & _
//  ShipToCity & "|" & ShipToState & "|" & ShipToZip & "|" & ShipToPhoneNumber & "|" & EmailAddress & "|" & _
//  EmailAddress2 & "|" & EmailAddress3

  if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
  var ResultString=xmlHttp.responseText;
	ResultsArray=ResultString.split("|");
		if(ResultsArray[0]=='0'){
		SesSecurityCode=0;
		//alert ("SecurityCode = "+SesSecurityCode);
		//return SesSecurityCode;
		}
		if(ResultsArray[0]=='1'){
		SesSecurityCode=ResultsArray[1];
		//alert ("SecurityCode = "+SesSecurityCode);
		//return SesSecurityCode;
		}
  } 
} 

function GetXmlHttpObject() { 
var objXMLHttp=null
  if (window.XMLHttpRequest) {
  objXMLHttp=new XMLHttpRequest()
  }
  else if (window.ActiveXObject) {
  objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
  }
return objXMLHttp
}

function ValidateForm() {
MsgStr = "Please correct the following error(s):\n\n";
var CanSubmit = false;
var ErrorCount = 0

// Check First Name
var field = Upload.FName; // text field
var str = field.value; // text string
var reg1 = /^[a-zA-Z0-9&@#:_' -]*$/; // AlphaNumeric only
	if (reg1.test(str)) { // if syntax is valid
		if (str.length == 0) { // if string length is zero
		ErrorCount=ErrorCount+1
		MsgStr += ErrorCount+". First Name is required!\n"; // Message Text
		CanSubmit = false;
		} else {
		CanSubmit = true;
		}
	} else { // if syntax is NOT valid
	ErrorCount=ErrorCount+1
	MsgStr += ErrorCount+". First Name is invalid! "; // Message Text
	MsgStr += "Enter Letters, Numbers, Spaces only.\n"; // Message Text
	CanSubmit = false;
	//return false;
	}

// Check Last Name
var field = Upload.LName; // text field
var str = field.value; // text string
var reg1 = /^[a-zA-Z0-9&@#:_' -]*$/; // AlphaNumeric only
	if (reg1.test(str)) { // if syntax is valid
		if (str.length == 0) { // if string length is zero
		ErrorCount=ErrorCount+1
		MsgStr += ErrorCount+". Last Name is required!\n"; // Message Text
		CanSubmit = false;
		} else {
		CanSubmit = true;
		}
	} else { // if syntax is NOT valid
	ErrorCount=ErrorCount+1
	MsgStr += ErrorCount+". Last Name is invalid! "; // Message Text
	MsgStr += "Enter Letters, Numbers, Spaces only.\n"; // Message Text
	CanSubmit = false;
	//return false;
	}

// Check Email
var field = Upload.Email; // text field
var str = field.value; // text string
str = str.replace(/\.\./g,'.'); //Remove double periods
//var reg1 = /^[a-zA-Z0-9&@#:_' -]*$/; // AlphaNumeric only
var reg1 = /^\w+\.*-*\w*\.*-*\w*@\w+\.*-*\w*\.*-*\w*\.\w+$/;
	if (reg1.test(str)) { // if syntax is valid
		if (str.length == 0) { // if string length is zero
		ErrorCount=ErrorCount+1
		MsgStr += ErrorCount+". Email is required!\n"; // Message Text
		CanSubmit = false;
		} else {
		CanSubmit = true;
		}
	} else { // if syntax is NOT valid
	ErrorCount=ErrorCount+1
	MsgStr += ErrorCount+". Email is invalid! "; // Message Text
	MsgStr += "Format is you@yourisp.com.\n"; // Message Text
	CanSubmit = false;
	//return false;
	}

// Check PDFFile
var field = Upload.PDFFile; // text field
var str = field.value; // text string
//var reg1 = /^[a-zA-Z0-9:\\\. _&-]*$/; // AlphaNumeric only
var reg1 = /^[a-zA-Z0-9:\\\.& _-]*$/; // AlphaNumeric only
	if (reg1.test(str)) { // if syntax is valid
		if (str.length == 0) {
		ErrorCount=ErrorCount+1
		MsgStr += ErrorCount+". PDF document is required!\n"; // Message Text
		CanSubmit = false;
		} else {
		CanSubmit = true;
		var StrLen = str.length;
		var FileExt = str.substr(StrLen-4,4);
		var FileExt = FileExt.toLowerCase();
			if (FileExt != '.pdf') {
			ErrorCount=ErrorCount+1;
			MsgStr += ErrorCount+". Not a valid File Type for the PDF document!\n"; // Message Text
			CanSubmit = false;
			} else {
			CanSubmit = true;
			}
		}
	} else { // if syntax is NOT valid
	ErrorCount=ErrorCount+1
	MsgStr += ErrorCount+". PDF document File Name is invalid! Enter letters and numbers only.\n"; // Message Text
	MsgStr += "    Rename the file and try to upload again.\n";
	CanSubmit = false;
	//return false;
	}

// Check Security Code
GetSecurityCode();
var field = Upload.SecurityCode; // text field
var str = field.value; // text string
var reg1 = /^[a-zA-Z0-9]*$/; // AlphaNumeric only
	if (reg1.test(str)) { // if syntax is valid
		if (str.length == 0) { // if string length is zero
		ErrorCount=ErrorCount+1
		MsgStr += ErrorCount+". Security Code is required!\n"; // Message Text
		CanSubmit = false;
		} else {
		CanSubmit = true;
			if(str!=SesSecurityCode){
			ErrorCount=ErrorCount+1
			MsgStr += ErrorCount+". The Security Code does NOT match!\n"; // Message Text
			MsgStr += "Session = "+SesSecurityCode+" .\n"; // Message Text
			CanSubmit = false;
			}else{
			CanSubmit = true;
			}
		}
	} else { // if syntax is NOT valid
	ErrorCount=ErrorCount+1
	MsgStr += ErrorCount+". Security Code is invalid! "; // Message Text
	MsgStr += "Enter Letters and Numbers only.\n"; // Message Text
	CanSubmit = false;
	//return false;
	}

	if (ErrorCount>0){
	CanSubmit = false;
	//document.Upload.Submit.value = "Submit";
	//document.Upload.Submit.disabled = false;
	}
	if (!CanSubmit) {
	alert(MsgStr);
	return false;
	}
	if (CanSubmit) {
  var field = Upload.Submit;
	field.value = "Uploading...";
  field.disabled = true;
	show('showProgress');
  progress_update();		// start progress bar
	document.Upload.submit();
	return false;
	}
//return CanSubmit;
}