// JavaScript Document
// Validation and automation for contact/contact.cfm & contact/contact_sm.cfm
// Written by Charles Eichmann | charei1 [a@t] regent.edu

function updateNameTo(formName) {
	var selectedNameToValue = formName.mailto.options[formName.mailto.selectedIndex].text;
	formName.nameto.value = selectedNameToValue;
	if(selectedNameToValue == "Web Publisher") {showdiv('contact_reminder');
	} else {hidediv('contact_reminder');}
}

function updateFields(frmName) {
	var selectedRelationship = frmName.relationship.value;
	//var oldMailTo = frmName.mailto.selectedIndex;
	//var $qry_str = location.search.substring(1);
	if(selectedRelationship == "prospective student") {
		switchid('prospecttable');
		if(queryString('f') == 'g') {
			if(frmName.mailto.options[2].selected != true) {
				frmName.mailto.options[frmName.mailto.selectedIndex].selected = false;
				frmName.mailto.options[2].selected = true;
			}
		}
	} else if(selectedRelationship == "current student") {
		switchid('studenttable');
	} else {
		hideallids();
	}
}

function cleanTxtInput(text) {
	return text.replace(/[@#$%&\*'"+=\(\),.<>?\[\]{};:]/g, "");
}

function validate(frmName) {
	//var email_address_pattern = /^.+@.+\..+$/;
	var email_address_pattern = /^([a-z0-9_\-\.]+)*[a-z0-9]@[a-z][\w\.-]*[a-z0-9]\.[a-z][a-z\.]*[a-z]$/i;
	var selectedRelationship = frmName.relationship.options[frmName.relationship.selectedIndex].text;
	var studentIDpattern = /^[Bb0Hh]0[0-9]{7}$/;
	if (frmName.namefirst.value == "") {
		//alert("You have missed a required field.\nPlease enter your first name.");
		var name_var=prompt('You have missed a required field.\nPlease enter your first name.','');
		frmName.namefirst.value = (name_var) ? name_var : frmName.namefirst.value;
		frmName.send.focus();
		return false;
	}
	if (frmName.namelast.value == "") {
		//alert("You have missed a required field.\nPlease enter your last name.");
		var name_var=prompt('You have missed a required field.\nPlease enter your last name.','');
		frmName.namelast.value = (name_var) ? name_var : frmName.namelast.value;
		frmName.send.focus();
		return false;
	}
	if (frmName.email.value == "") {
		//alert("You have missed a required field.\nPlease enter your email address.");
		var name_var=prompt('You have missed a required field.\nPlease enter your email address.','');
		frmName.email.value = (name_var) ? name_var : frmName.email.value;
		frmName.send.focus();
		return false;
	}
	if (frmName.email.value.search(email_address_pattern) == -1) {
		//alert("Please enter your email address in the correct format.");
		var name_var=prompt('Please enter your email address in the correct format.', frmName.email.value);
		frmName.email.value = (name_var) ? name_var : frmName.email.value;
		frmName.send.focus();
		return false;
	}
	if (selectedRelationship == "current student" && frmName.studentid.value != "") {
		if(frmName.studentid.value.search(studentIDpattern) == -1) {
			var name_var=prompt('Your student ID is entered incorrectly.\nPlease enter your ID like: B0012345.', frmName.studentid.value);
			frmName.studentid.value = (name_var) ? name_var : frmName.studentid.value;
			frmName.send.focus();
			return false;
		}
	}
	/* Dissabled due to unsolvable mis-behavior
	if (frmName.message.value == "") {
		alert("You have missed a required field.\nPlease enter your message.");
		frmName.message.focus();
		return false;
	}
	*/
	return true;
}

function switchid(id){hideallids();showdiv(id);}

function hideallids(){for (var i=0;i<ids.length;i++){hidediv(ids[i]);}}
function showallids(){for (var i=0;i<ids.length;i++){showdiv(ids[i]);}}

function hidediv(id) {if (document.getElementById) {document.getElementById(id).style.display = 'none';}
	else {if (document.layers) {document.id.display = 'none';}else {document.all.id.style.display = 'none';}}
}

function showdiv(id) {if (document.getElementById) {document.getElementById(id).style.display = '';}
	else {if (document.layers) {document.id.display = '';}else {document.all.id.style.display = '';}}
}
function PageQuery(q) {
	if(q.length > 1) this.q = q.substring(1, q.length);
	else this.q = null;
	this.keyValuePairs = new Array();
	if(q) {
		for(var i=0; i < this.q.split("&").length; i++) {
			this.keyValuePairs[i] = this.q.split("&")[i];
		}
	}
	this.getKeyValuePairs = function() { return this.keyValuePairs; }
	this.getValue = function(s) {
		for(var j=0; j < this.keyValuePairs.length; j++) {
			if(this.keyValuePairs[j].split("=")[0] == s)
				return this.keyValuePairs[j].split("=")[1];
		}
		return false;
	}
	this.getParameters = function() {
		var a = new Array(this.getLength());
		for(var j=0; j < this.keyValuePairs.length; j++) {
			a[j] = this.keyValuePairs[j].split("=")[0];
		}
		return a;
	}
	this.getLength = function() { return this.keyValuePairs.length; }	
}
function queryString(key){
	var page = new PageQuery(window.location.search); 
	return unescape(page.getValue(key)); 
}
