var req;

function loadXMLDoc(url) {
if (window.XMLHttpRequest) {
	req = new XMLHttpRequest();
	req.onreadystatechange = processReqChange;
	req.open("GET", url, true);
	req.send(null);
}
else if (window.ActiveXObject) {
	req = new ActiveXObject("Microsoft.XMLHTTP");
	if (req){
		req.onreadystatechange = processReqChange;
		req.open("GET", url, true);
		req.send();
		}
	}
}

function checkName(input, response) {
var span;
if (response != '') { 
if (response == '1') {
span = document.getElementById('username-error');
span.innerHTML = 'User Name \'' + input + '\' is taken.<br>Please try another.<br>\n';
}
else {
span = document.getElementById('username-error');
span.innerHTML = '';
}
}
else {
url	= 'http://storiesonline.net/user/checkReg.php?q=' + input;
loadXMLDoc(url);
}
}

function checkEmail(input, response) {
var span;
if (response != '') { 
if (response == '1') {
span = document.getElementById('email-error');
span.innerHTML = 'Email Address is already registered.<br><a href="resend.php?email=' + input + '">Get your account activation info</a><br>\n';
}
else if (response == '2') {
span = document.getElementById('email-error');
span.innerHTML = input;
}
else {
span = document.getElementById('email-error');
span.innerHTML = '';
}
}
else {
url	= 'http://storiesonline.net/user/checkReg.php?e=' + input;
loadXMLDoc(url);
}
}

function processReqChange() {
if (req.readyState == 4) {
if (req.status == 200) {
response = req.responseXML.documentElement;
method = response.getElementsByTagName('method')[0].firstChild.data;
result = response.getElementsByTagName('result')[0].firstChild.data;
fdata = response.getElementsByTagName('fdata')[0].firstChild.data;
eval(method + '(fdata, result)');
}
}
}


function validate() {
formError = false;
var nameFormat = /^[A-Za-z0-9\_-]+$/;
var emailFormat = /^[A-Za-z0-9\_-]*\.*[A-Za-z0-9\_-]*\.*[A-Za-z0-9\_-]*\.*[A-Za-z0-9\_-]+@[A-Za-z0-9\_-]*\.*[A-Za-z0-9\_-]*\.*[A-Za-z0-9\_-]*\.*[A-Za-z0-9\_-]+\.[A-Za-z]+$/;
var user_id = document.user.username.value;
var pass1 = document.user.pass1.value;
var pass2 = document.user.pass2.value;
var email1 = document.user.email1.value;
var email2 = document.user.email2.value;
var uspan = document.getElementById('username-error');
var pspan = document.getElementById('password-error');
var espan = document.getElementById('email-error');

if (user_id == '') {
formError = true;
uspan.innerHTML = 'Error! You need a User Name<br>\n';
}
else if (user_id.length < 4) {
formError = true;
uspan.innerHTML = 'Error! User Name too short<br>\n';
}
else if (!nameFormat.exec(user_id)) {
formError = true;
uspan.innerHTML = 'Error! Invalid User name<br>\n';
}
else {
uspan.innerHTML = "";
}

if (pass1 == '') {
formError = true;
pspan.innerHTML = 'Error! You need a password<br>\n';
}
else if (pass1.length < 4) {
formError = true;
pspan.innerHTML = 'Error! Password too short<br>\n';
}
else if (pass1 != pass2) {
formError = true;
pspan.innerHTML = 'Error! Password confirmation failed<br>\n';
}
else {
pspan.innerHTML = '';
}

if (email1 == '') {
formError = true;
espan.innerHTML = 'Error! Email address required<br>\n';
}
else if (email1 != email2) {
formError = true;
espan.innerHTML = 'Error! Email confirmation failed<br>\n';
}
else if (!emailFormat.exec(email1)) {
formError = true;
espan.innerHTML = 'Error! Invalid Email Address<br>\n';
}
else {
espan.innerHTML = '';
}

if (!formError) { return true;}
else { return false;}
}

