var f_firstName, f_lastName, f_email, f_company, f_title, f_phone, f_howYouHeardMenu, f_interestMenu;

function setFormFieldVars(formRef){	
    //alert(formRef.first_name);	
    if (formRef.first_name!= null) {
		f_firstName = formRef.first_name.value;
	}
	
    if (formRef.last_name != null) {
		f_lastName = formRef.last_name.value;
	}
	
	if (formRef.email != null) {
		f_email = formRef.email.value;
	}
	
	if (formRef.company != null) {
		f_company = formRef.company.value;
	}
	
    if (formRef.title != null) {
		f_title = formRef.title.value;
	}	

	if (formRef.phone != null) {
		f_phone = formRef.phone.value;
	}	
	
	if (formRef.howYouHeard != null) {
		f_howYouHeardMenu = formRef.howYouHeard;	
	}	
	
	if (formRef["00N30000000iBVV"]!= null) {
		f_interestMenu = formRef["00N30000000iBVV"];
	}	
	if (formRef.industry != null) {
		f_industry = formRef.industry;	
	}	
	
	
}


	
function validateForm(formRef) {
	//test if any of the required fields are blank
	//validateRequired should always be an inline function embedded on the page with the form 
	//	-- (since each form is slightly unique even tho many form field names are shared in Sales Force)
	if (!validateRequired(formRef)){
		return false;
	}
	//test if any of the fields have bad data
	if (!validateFields(formRef)){
		return false;
	}				
	formRef.submit();
}

/****
function validateContactForm(formRef) {
	//test if any of the required fields are blank
	if (!validateContactRequired(formRef)){
		return false;
	}
	//test if any of the fields have bad data
	if (!validateFields(formRef)){
		return false;
	}				
	formRef.submit();
}
***/


/*************
function validateRequired(formRef){
	var fields = new Array();
	var valid = true;
	//required fields
	var firstName = formRef.first_name.value;
	var lastName = formRef.last_name.value;
	var email = formRef.email.value;
	var company = formRef.company.value;
	var title = formRef.title.value;
	var phone = formRef.phone.value;
	
	var howYouHeardMenu = formRef.howYouHeard;
	//var interestMenu = formRef.interest;
	
	var interestMenu = formRef["00N30000000iBVV"];
	
	if (isEmpty(firstName)) {
		fields[fields.length] = "First Name";
		valid = false;
	}
	if (isEmpty(lastName)) {
		fields[fields.length] = "Last Name";
		valid = false;
	}
	if (isEmpty(email)) {
		fields[fields.length] = "Email";
		valid = false;
	}
	if (isEmpty(company)) {
		fields[fields.length] = "Company Name";
		valid = false;
	}
	if (isEmpty(title)) {
		fields[fields.length] = "Title";
		valid = false;
	}
	if (isEmpty(phone)) {
		fields[fields.length] = "Phone";
		valid = false;
	}
	
	if (howYouHeardMenu.selectedIndex == 0){
		fields[fields.length] = "How you heard about Jobster";
		valid = false;
	}
	
	if (interestMenu.selectedIndex == 0){
		fields[fields.length] = "Your interest in Jobster";
		valid = false;
	}
	
	
	if (valid) {
		return true;
	} else {
		showRequiredError(fields);
		return false;
	}
	
}
***********/

function validateFields(formRef){	
	var fields = new Array();
	var valid = true;
	var email;
	if (formRef.email.value != null) {
		email = formRef.email.value;
		
		//alert(!isEmail(email));		
		if (!isEmail(email)) {
			fields[fields.length] = "Invalid Email";
			valid = false;
		}	
	}		

	if (valid){
		return true;
	} else {
		showDataError(fields);
		return false;
	}
}

function validateDemoForm(formRef) {
	//test if any of the required fields are blank
	
	if (!validateDemoRequired(formRef)){
		return false;
	}
	//test if any of the fields have bad data
	if (!validateFields(formRef)){
		return false;
	}
	
	//document.cookie = "reg=1; expires="+expiration_date.toGMTString();
	setCookie("reg", "1");
	formRef.submit();
	
}

function setCookie(name, value) {	
	var expiration_date = new Date( new Date().getTime() + (180 * 1000 * 60 * 60 * 24) );	
	//var expiration_date = new Date( new Date().getTime() + (180 * 1000 * 60 * 60 * 24) );	
	document.cookie = name + "=" + value + "; expires="+expiration_date.toGMTString();	
}

function validateWebcastForm(formRef) {
	
	//test if any of the required fields are blank
	if (!validateWebcastRequired(formRef)){
		return false;
	}
	//test if any of the fields have bad data
	if (!validateFields(formRef)){
		return false;
	}
		
	if (formRef.emailOptOut != null) {		
		//alert(formRef.emailOptOut.checked);		
		formRef.doNotCall.value = formRef.emailOptOut.value;
		formRef.doNotCall.checked = formRef.emailOptOut.checked;
		//alert(formRef.doNotCall.checked);		
		//return false;
	}
	
	//set cookie
	var expiration_date = new Date( new Date().getTime() + (180 * 1000 * 60 * 60 * 24) );	
	document.cookie = "erewebcastreg=1; expires="+expiration_date.toGMTString();
	formRef.submit();
	
}

function validateDemoRequired(formRef){
	var fields = new Array();
	var valid = true;
	//required fields
	var firstName = formRef.first_name.value;
	var lastName = formRef.last_name.value;
	var email = formRef.email.value;
	var company = formRef.company.value;
	var title = formRef.title.value;
	var phone = formRef.phone.value;
	var interestMenu = formRef["00N30000000iBVV"];
	
	//var howYouHeardMenu = formRef.howYouHeard;
	//var interestMenu = formRef.interest;
	
	if (isEmpty(firstName)) {
		fields[fields.length] = "First Name";
		valid = false;
	}
	if (isEmpty(lastName)) {
		fields[fields.length] = "Last Name";
		valid = false;
	}
	if (isEmpty(title)) {
		fields[fields.length] = "Title";
		valid = false;
	}
	if (isEmpty(company)) {
		fields[fields.length] = "Company Name";
		valid = false;
	}
	if (isEmpty(email)) {
		fields[fields.length] = "Email";
		valid = false;
	}
	if (isEmpty(phone)) {
		fields[fields.length] = "Phone";
		valid = false;
	}
	if (interestMenu.selectedIndex == 0){
		fields[fields.length] = "Your interest in Jobster";
		valid = false;
	}
	
	if (valid) {
		return true;
	} else {
		showRequiredError(fields);
		return false;
	}
	
}

function validateWebcastRequired(formRef){
	var fields = new Array();
	var valid = true;
	//required fields
	var firstName = formRef.first_name.value;
	var lastName = formRef.last_name.value;
	var email = formRef.email.value;
	var company = formRef.company.value;
	var title = formRef.title.value;
	var phone = formRef.phone.value;
	
	//var howYouHeardMenu = formRef.howYouHeard;
	var interestMenu = formRef["00N30000000iBVV"];
	
	if (isEmpty(firstName)) {
		fields[fields.length] = "First Name";
		valid = false;
	}
	if (isEmpty(lastName)) {
		fields[fields.length] = "Last Name";
		valid = false;
	}
	if (isEmpty(title)) {
		fields[fields.length] = "Title";
		valid = false;
	}
	if (isEmpty(company)) {
		fields[fields.length] = "Company Name";
		valid = false;
	}
	if (isEmpty(email)) {
		fields[fields.length] = "Email";
		valid = false;
	}
	if (isEmpty(phone)) {
		fields[fields.length] = "Phone";
		valid = false;
	}
	/*
	if (interestMenu.selectedIndex == 0){
		fields[fields.length] = "Your interest in Jobster";
		valid = false;
	}	*/
	
	if (valid) {
		return true;
	} else {
		showRequiredError(fields);
		return false;
	}
	
}

function showRequiredError(fields){
	var msg = "Please complete the following required field(s):   \n\n";
	for (var i=0; i<fields.length; i++){
		msg += "     " + fields[i] + "\n";
	}
	alert(msg);
}
function showDataError(fields){
	var msg = "Please fix the error in the following field(s):   \n\n";
	for (var i=0; i<fields.length; i++){
		msg += "     " + fields[i] + "\n";
	}
	alert(msg);
}

//check for valid email
function isEmail(str) {
	/*
	var pattern = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
	var regex = new RegExp(pattern);
	var output = regex.test(str);
	*/
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var regex = new RegExp(filter);
	var output = regex.test(str);
		
	/*
	if (output) alert('Good email!');
	else alert('Bad email!');
	*/
		
	return output;
}
//check if string is empty
function isEmpty(str) {
	var strTemp = str;
	strTemp = trimWhitespace(strTemp);
	
	if(strTemp.length > 0){
		return false;
	} else {
		return true;
	}
	
}

//check if selection has been made
function checkSelChanged(selField) {
	//check form type?		
	if (selField.selectedIndex == 0){
		return false;
	} else return true;
}
	

//remove any whitespace at the beginning or end of a string
function trimWhitespace(str) {
	var pattern = "^(\s*)$";
	var regex = new RegExp(pattern);
    //check for all spaces
	if(regex.test(str)) {
		str = str.replace(regex, '');
		if(str.length == 0) {
			return str;
		}
	}

	//check for leading & trailing spaces
	pattern = "^(\s*)([\W\w]*)(\b\s*$)";
	regex = new RegExp(pattern);
	//regex = new RegExp(objReg);
	if(regex.test(str)) {
		//remove leading and trailing whitespace characters
		str = str.replace(regex, '$2');
	}
	return str;
}

function updateComments(menu, otherTextField){
	var selectedVal = menu.options[menu.selectedIndex].value;
	if (selectedVal == "Other"){
		document.forms[0].elements[otherTextField].value = "";
		document.getElementById(otherTextField).style.display = "block";
	} else {
		document.forms[0].elements[otherTextField].value =  selectedVal;
		document.getElementById(otherTextField).style.display = "none";
	}
//alert(document.forms[0].elements[otherTextField].value);
}