/*sfHover = function() {
	var sfEls = document.getElementById("nav2").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);
*/
//Mailing list
var xmlHttp;

function processEntry(mlName, mlEmail, target) {
	if (isValidSubmission(mlName, mlEmail)) {
		xmlHttp = GetXmlHttpObject();
		if (xmlHttp == null) {
			alert("Browser does not support HTTP Request");
			return;
		}
		
		var url = "process.php?n=" + escape(mlName) + "&e=" + escape(mlEmail) + "&sid=" + newGuid();
		xmlHttp.open("GET", url, true);
		
		xmlHttp.onreadystatechange = function() {
			if(xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
				//alert(http.responseText);
				var myDiv = document.getElementById(target);
				myDiv.innerHTML = xmlHttp.responseText;
			}
		}
		xmlHttp.send(null);
	} else {
		alert("Invalid submission.\n\nPlease enter a name and valid email address.");
	}
}

function processLogin(username, pwd, target) {
	var url = "login.php";
	var params = "username=" + username + "&pwd=" + pwd;
	
	if (isValidLogin(username, pwd)) {
		xmlHttp = GetXmlHttpObject();
		if (xmlHttp == null) {
			alert("Browser does not support HTTP Request");
			return;
		}
		
		xmlHttp.open("POST", url, true);
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", params.length);
		xmlHttp.setRequestHeader("Connection", "close");
		
		xmlHttp.onreadystatechange = function() {
			if(xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
				//alert(http.responseText);
				if (xmlHttp.responseText.length > 0) {
					var myDiv = document.getElementById(target);
					myDiv.innerHTML = xmlHttp.responseText;
				} else {
					location.href="members-loggedin.htm";
				}
			}
		}
		xmlHttp.send(params);
	} else {
		alert("Please enter a username and password.");
	}
}

function processMemberInfo(username, pwd, email, mid, uid, target) {
	var url = "adduser.php";
	var params = "username=" + username + "&pwd=" + pwd + "&email=" + email + "&mid=" + mid + "&uid=" + uid;
	
	if (isValidMemberInfo(username, pwd, email)) {
		xmlHttp = GetXmlHttpObject();
		if (xmlHttp == null) {
			alert("Browser does not support HTTP Request");
			return;
		}
		
		xmlHttp.open("POST", url, true);
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", params.length);
		xmlHttp.setRequestHeader("Connection", "close");
		
		xmlHttp.onreadystatechange = function() {
			if(xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
				//alert(http.responseText);
				var myDiv = document.getElementById(target);
				myDiv.innerHTML = xmlHttp.responseText;
			}
		}
		xmlHttp.send(params);
	} else {
		alert("Please enter a username, password and email address.");
	}
}

function GetXmlHttpObject() {
	var xmlHttp = null;
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	} catch (e) {
		//Internet Explorer
		try {
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	
	return xmlHttp;
}

function processUserInfo(a) {
	if (isValidMemberInfo(a.username.value, a.pwd.value, a.useremail.value)) {
		return true;
	} else {
		alert("Please enter a username, password and email address.");
		return false;
	}
}

function newGuid() {
	var g = "";
    for(var i = 0; i < 32; i++) {
    	g += Math.floor(Math.random() * 0xF).toString(0xF) + (i == 8 || i == 12 || i == 16 || i == 20 ? "-" : "")
	}
    return g;
}

function isValidSubmission(name, email) {
	if (name.length <= 0) {
		return false;
	} else {
		if (checkMail(email)) {
			return true
		} else {
			return false;
		}
	}
}

function isValidLogin(username, pwd) {
	if ((username.length <= 0) || (pwd.length <= 0)) {
		return false;
	} else {
		return true;
	}
}

function isValidMemberInfo(username, pwd, email) {
	if ((username.length <= 0) || (pwd.length <= 0) || (email.length <= 0)) {
		return false;
	} else {
		return true;
	}
}

function isValidRFP(a) {
	var msg = "";
	if (a.txtRFPName.value == "") {
		msg += "Please enter a name.\n";
	}
	if (a.txtRFPCompany.value == "") {
		msg += "Please enter a company.\n";
	}
	if (!checkMail(a.txtRFPEmail.value)) {
		msg += "Please enter a valid email.\n";
	}
	if (!checkExpire(a.txtRFPDate.value)) {
		msg += "Please enter a valid date.\n";
	}
	if (a.file_upload.value == "") {
		msg += "Please enter a RFP file.";
	}
	
	if (msg.length > 0) {
		alert(msg);
		return false;
	} else {
		return true;
	}
}

function validJoinForm(a) {
	var msg = "";
	if (a.company.value == "") {
		msg += "Please enter a company name.\n";
	}

	if (a.contactname.value == "") {
		msg += "Please enter a contact name.\n";
	}

	if (a.contactpositiontitle.value == "") {
		msg += "Please enter a position title.\n";
	}

	if (a.contactaddress1.value == "") {
		msg += "Please enter an address.\n";
	}

	if (a.contactphone.value == "") {
		msg += "Please enter a phone number.\n";
	}

	if (!checkMail(a.contactemail.value)) {
		msg += "Please enter a valid email address.\n";
	}

	if (a.signer.value == "") {
		msg += "Please enter name of signer.\n";
	}

	if (a.signature.value == "") {
		msg += "Please enter an acknowledgement signature.\n";
	}

	if (!checkExpire(a.ackdate.value)) {
		msg += "Please enter a valid acknowledgement date.\n";
	}

	if (a.reviewedname.value == "") {
		msg += "Please enter a reviewed name.\n";
	}

	if (a.reviewedcompany.value == "") {
		msg += "Please enter a review company name.\n";
	}

	if (!checkExpire(a.revieweddate.value)) {
		msg += "Please enter a valid reviewed date.\n";
	}

	if (msg.length > 0) {
		alert(msg);
		return false;
	} else {
		return true;
	}
}

function checkExpire(date) {
	//var filter = /^([0]?[1-12])+\/([0]?[1-31])+\/([0-9]{4}|[0-9]{2})$/;
	var filter = /^([0]?[1-9]|[1][0-2])[.\/-]([0]?[1-9]|[1|2][0-9]|[3][0|1])[.\/-]([0-9]{4}|[0-9]{2})$/;
	if (filter.test(date)) return true;
	else return false;
}

function checkMail(email) {
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(email)) return true;
	else return false;
}

function checkForgotMail(a) {
	if (!checkMail(a.emailaddress.value)) {
		alert("Please enter a valid email address.");
		return false;
	} else {
		return true;
	}
}

function checkLogin(a) {
	if (!isValidLogin(a.username.value, a.pwd.value)) {
		alert("Please enter a username and password.");
		return false;
	}
}