﻿var xmlhttp=null;
var callbackfunction;
var displayerror=true

function getXMLconn() {
	if (window.XMLHttpRequest) {
		// If IE7, Mozilla, Safari, etc: Use native object
		xmlhttp = new XMLHttpRequest();
	}
	else {
		if (window.ActiveXObject) {
			// ...otherwise, use the ActiveX control for IE5.x and IE6
			xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
		}
	}
}

function httpget(page,callback) {

	callbackfunction = callback;
	if (xmlhttp == null) getXMLconn()
	xmlhttp.onreadystatechange = function() { };
	if (xmlhttp != null) {
		if (typeof (callback) == 'undefined') {
			xmlhttp.abort()
			xmlhttp.open('GET', page, false);
			xmlhttp.setRequestHeader('If-Modified-Since', 'Tue, 11 Jul 2000 18:23:51 GMT');
			xmlhttp.send('');
			return xmlhttp.responseText;
			//xmlhttp = null
		}
		else {
			xmlhttp.abort()
			xmlhttp.open('GET', page, true);
			xmlhttp.setRequestHeader('If-Modified-Since', 'Tue, 11 Jul 2000 18:23:51 GMT');
			xmlhttp.onreadystatechange = xmlhttpreturn;
			xmlhttp.send('');
		}
	}
	else {
		alert('Your browser does not support XMLHTTP.');
	}
}
function httppost(page, post, callback) {

	callbackfunction = callback;
	if (xmlhttp == null) getXMLconn()
	xmlhttp.onreadystatechange = function() { };
	if (xmlhttp != null) {
		if (typeof (callback) == 'undefined') {
			xmlhttp.abort()
			xmlhttp.open('POST', page, false);
			xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			xmlhttp.setRequestHeader('If-Modified-Since', 'Tue, 11 Jul 2000 18:23:51 GMT');
			xmlhttp.send(post);
			return xmlhttp.responseText;
			//xmlhttp = null
		}
		else {
			xmlhttp.abort()
			xmlhttp.open('POST', page, true);
			xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			xmlhttp.setRequestHeader('If-Modified-Since', 'Tue, 11 Jul 2000 18:23:51 GMT');
			xmlhttp.onreadystatechange = xmlhttpreturn;
			xmlhttp.send(post);
		}
	}
	else {
		alert('Your browser does not support XMLHTTP.');
	}
}
function xmlhttpreturn() {
	if (xmlhttp.readyState == 4) {
		if (xmlhttp.status == 200) {
			callbackfunction();
			//xmlhttp=null
			//xmlhttp.abort()
		}
		else {
			if (displayerror) {
				alert('The system was unable to retrieve the relevant list');
				document.write(xmlhttp.responseText);
			}
		}
	}

}
function doc(id) {
	return document.getElementById(id);
}

var loggedon;

function doLogin() {
	loggedon = false;
	result = httppost('login.asp', 'action=dologin&emailcheck=' + escape(doc('emailcheck').value) + '&password=' + doc('password').value);
	if (result.indexOf('|') == -1) {
		alert('Problem logging in.')
		document.write(result);
		return
	}
	success = result.split('|')[0]
	message = result.split('|')[1]
	if (success == 1) {
		doc('logincontainer_div').innerHTML = message;
		loggedon = true;
		doc('maindiv').style.display='block'
	}
	else {
		doc('loginresult_div').innerHTML = message
	}
}
function showUserInfo() {
	doc('logincontainer_div').innerHTML = httpget('user_info.asp');
	doc('maindiv').style.display = 'block'
	loggedon = true;
}
function checkemailexists(addr) {
	if (!checkemail(addr)) {
		alert('Please enter a valid email address.');
		return false;
	}
	result = httpget('login.asp?action=checkmail&emailcheck=' + doc('emailcheck').value);
	if (result.indexOf('|') == -1) {
		alert('Problem validating email on the server.')
		document.write(result);
		return
	}
	success = result.split('|')[0]
	message = result.split('|')[1]
	if (success == 1) {
		doc('emailcheck_div').innerHTML = message;
	}
	else {
		doc('emailcheck_div').innerHTML = message
		doc('firstname').focus()
		doc('maindiv').style.display = 'block'
	}
}
function checkemail(addr) {
	emailreg = /^[a-zA-Z0-9_\-]+(\.[a-zA-Z0-9_\-]+)*@[a-zA-Z0-9_\-]+(\.[a-zA-Z0-9_\-]+)*\.[a-zA-Z0-9_\-]{2,4}$/
	return emailreg.test(addr)
}