﻿var displayerror=true

function getXMLconn() {
	if (window.XMLHttpRequest) {
		// If IE7, Mozilla, Safari, etc: Use native object
		return new XMLHttpRequest();
	}
	else {
		if (window.ActiveXObject) {
			// ...otherwise, use the ActiveX control for IE5.x and IE6
			return new ActiveXObject('Microsoft.XMLHTTP');
		}
		else {
			alert('Your browser does not support XMLHTTP.');
			return null;
		}
	}
}

function httpget(page,callback) {
	debug('<br/>calling page get: ' + page + ' - ' + '' + ' | ')
	var xmlcaller=getXMLconn()
	if (xmlcaller != null) {
		if (typeof (callback) == 'undefined') {
			xmlcaller.open('GET', page, false);
			xmlcaller.setRequestHeader('If-Modified-Since', 'Tue, 11 Jul 2000 18:23:51 GMT');
			xmlcaller.send('');
			if (xmlcaller.status!=200 && displayerror) {
				alert('The system was unable to retrieve the relevant list');
				document.write(xmlcaller.responseText);
				return;
			}
			return xmlcaller.responseText;
			xmlcaller = null
		}
		else {
			xmlcaller.open('GET', page, true);
			xmlcaller.setRequestHeader('If-Modified-Since', 'Tue, 11 Jul 2000 18:23:51 GMT');
			xmlcaller.onreadystatechange = function () { xmlhttpreturn(callback,xmlcaller) };
			xmlcaller.send('');
		}
	}
	else {
	}
}
function httppost(page, post, callback) {
	debug('<br/>calling page POST: ' + page + ' | ')
	var xmlcaller=getXMLconn()
	if (xmlcaller != null) {
		if (typeof (callback) == 'undefined') {
			xmlcaller.open('POST', page, false);
			xmlcaller.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			xmlcaller.setRequestHeader('If-Modified-Since', 'Tue, 11 Jul 2000 18:23:51 GMT');
			xmlcaller.send(post);
			return xmlcaller.responseText;
			xmlcaller = null
		}
		else {
			xmlcaller.open('POST', page, true);
			xmlcaller.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			xmlcaller.setRequestHeader('If-Modified-Since', 'Tue, 11 Jul 2000 18:23:51 GMT');
			xmlcaller.onreadystatechange = function () { xmlhttpreturn(callback,xmlcaller) };
			xmlcaller.send(post);
		}
	}
	else {
		alert('Your browser does not support XMLHTTP.');
	}
}
function xmlhttpreturn(callbackfunc,xmlcaller) {
	if (xmlcaller.readyState == 4) {
		if (xmlcaller.status == 200) {
			debug('<br/>--- return: | <b>' + xmlcaller.status + '</b>')
			callbackfunc(xmlcaller);
		}
		else {
			if (displayerror) {
				alert('The system was unable to retrieve the relevant list');
				document.write(xmlcaller.responseText);
			}
		}
	}
	xmlcaller=null

}
function doc(id) {
	return document.getElementById(id);
}

var loggedon;

function doLogin() {
	loggedon = false;
	result = httppost('login.aspx', '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.aspx?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)
}

function debug(txt) {
	return


	debugdiv = doc('debug_div')
	if (!debugdiv) {
		debugdiv = document.createElement('DIV')
		debugdiv.id = 'debug_div'
		debugdiv.style.border='1px solid'
		document.documentElement.appendChild(debugdiv)
	}
	debugdiv.innerHTML += txt
}
