var	loginAJAX = new lilAJAX('/lib/login/processLogin.php');
loginAJAX.getSession();

function sendLogin() {
	document.getElementById('login_error').innerHTML = '';
	loginAJAX.getXMLAsync('checkLogin', returnLogin, document.login_Login.email.value, document.login_Login.password.value);
}
function returnLogin(result) {
	var error = result.getElementsByTagName('error')[0].firstChild.data;
	var errorMsg = result.getElementsByTagName('errorMsg')[0].firstChild.data;
	var sessionName = result.getElementsByTagName('sessionName')[0].firstChild.data;
	var sessionId = result.getElementsByTagName('sessionId')[0].firstChild.data;
	if(error!=0) {
		document.getElementById('login_error').innerHTML = '<b>'+errorMsg+'</b>';
	}
	else {
		if(sessionName!=0) {
			window.location.href=window.location.href+'?'+sessionName+'='+sessionId;
		}
		else {
			window.location.reload();
		}
	}
}

function sendCreateAccount() {
	loginAJAX.getXMLAsync('processCreateAccount', returnCreateAccount, document.login_CreateAccount.DisplayName.value, document.login_CreateAccount.Email.value, document.login_CreateAccount.Password.value);
}
function returnCreateAccount(result) {
	var error = result.getElementsByTagName('error')[0].firstChild.data;
	var errorMsg = result.getElementsByTagName('errorMsg')[0].firstChild.data;
	var message = result.getElementsByTagName('message')[0].firstChild.data;
	if(error==1) {
		document.getElementById('emailError').innerHTML = errorMsg;
	}
	else {
		getLogin();;
	}
}

function getCreateAccount() {
	loginAJAX.getTextAsync('showCreateAccount', setCreateAccount);
}
function setCreateAccount(result) {
	document.getElementById('login_login').innerHTML=result;
}

function getLogin() {
	loginAJAX.getTextAsync('showLogin', setLogin);
}
function setLogin(result) {
	document.getElementById('login_login').innerHTML=result;
}

function logout() {
	loginAJAX.getTextAsync('logout', returnLogout);
}
function returnLogout(result) {
	window.location.reload();
}

function getForgotPassword() {
	loginAJAX.getTextAsync('showForgotPassword', setForgotPassword);
}
function setForgotPassword(result) {
	document.getElementById('login_login').innerHTML=result;
}

function sendForgotPassword() {
	loginAJAX.getXMLAsync('processForgotPassword', returnForgotPassword, document.login_ForgotPassword.Email.value);
}
function returnForgotPassword(result) {
	var error = result.getElementsByTagName('error')[0].firstChild.data;
	var errorMsg = result.getElementsByTagName('errorMsg')[0].firstChild.data;
	var message = result.getElementsByTagName('message')[0].firstChild.data;
	if(error>0) {
		document.getElementById('emailError').innerHTML = errorMsg;
	}
	else {
		document.getElementById('login_login').innerHTML=message;
	}
}


function checkCreateAccount() {
	var err = false;
	if(document.login_CreateAccount.DisplayName.value.length<2) {
		document.getElementById('DisplayName').style.color='#EE0000';
		document.login_CreateAccount.DisplayName.style.borderColor='#EE0000';
		err = true;
	}
	else {
		document.getElementById('DisplayName').style.color='#000000';
		document.login_CreateAccount.DisplayName.style.borderColor='#444444';
	}

	var validEmail='FALSE';
	var x = document.login_CreateAccount.Email.value;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x)) validEmail='TRUE';
	if(validEmail=='FALSE') {
		document.getElementById('emailError').innerHTML = 'E-mail format is unrecognized';
		document.getElementById('Email').style.color='#EE0000';
		document.login_CreateAccount.Email.style.borderColor='#EE0000';
		err = true;
	}
	else {
		document.getElementById('emailError').innerHTML = '';
		document.getElementById('Email').style.color='#000000';
		document.login_CreateAccount.Email.style.borderColor='#444444';
	}
	if(document.login_CreateAccount.Password.value != document.login_CreateAccount.RePassword.value) {
		document.getElementById('passError').innerHTML = 'Passwords do not match';
		document.getElementById('Password').style.color='#EE0000';
		document.login_CreateAccount.Password.style.borderColor='#EE0000';
		document.getElementById('RePassword').style.color='#EE0000';
		document.login_CreateAccount.RePassword.style.borderColor='#EE0000';
		err = true;
		var passError = true;
	}
	else {
		document.getElementById('passError').innerHTML = '';
		document.getElementById('Password').style.color='#000000';
		document.login_CreateAccount.Password.style.borderColor='#444444';
		document.getElementById('RePassword').style.color='#000000';
		document.login_CreateAccount.RePassword.style.borderColor='#444444';
	}
	if(document.login_CreateAccount.Password.value.length<4) {
		document.getElementById('passError').innerHTML = 'Enter 4 characters or more';
		document.getElementById('Password').style.color='#EE0000';
		document.login_CreateAccount.Password.style.borderColor='#EE0000';
		document.getElementById('RePassword').style.color='#EE0000';
		document.login_CreateAccount.RePassword.style.borderColor='#EE0000';
		err = true;
	}
	else if(!passError){
		document.getElementById('passError').innerHTML = '';
		document.getElementById('Password').style.color='#000000';
		document.login_CreateAccount.Password.style.borderColor='#444444';
		document.getElementById('RePassword').style.color='#000000';
		document.login_CreateAccount.RePassword.style.borderColor='#444444';
	}
	if(err==true) {
		//alert('Please correct the fields in red.');
	}
	else {
		sendCreateAccount();
	}
	return false;
}

function checkForgotPassword() {
	var err = false;
	var validEmail='FALSE';
	var x = document.login_ForgotPassword.Email.value;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x)) validEmail='TRUE';
	if(validEmail=='FALSE') {
		document.getElementById('emailError').innerHTML = 'E-mail format is unrecognized';
		document.login_ForgotPassword.Email.style.borderColor='#EE0000';
		err = true;
	}
	else {
		document.getElementById('emailError').innerHTML = '';
		document.login_ForgotPassword.Email.style.borderColor='#444444';
	}
	if(err==true) {
		//return false;
	}
	else {
		sendForgotPassword();
	}
	return false;
}

function showChatColors(programID) {
	anchorname = 'a_ChatColor';
	var coordinates = new Object();
	coordinates = getAnchorPosition(anchorname);
	document.getElementById('div_ChatColorChooser').style.left=coordinates.x;
	document.getElementById('div_ChatColorChooser').style.top=coordinates.y-210;
	document.getElementById('div_ChatColorChooser').style.visibility='visible';
}

function chooseChatColor(ColorID) {
	loginAJAX.call('chooseChatColor', ColorID);
	document.getElementById('div_ChatColorChooser').style.visibility='hidden';
	getLogin();
}

function sendConfirmAccount(UID, Email) {
	loginAJAX.getTextAsync('ConfirmAccount', returnConfirmAccount, UID, Email);
}

function returnConfirmAccount(result) {
	document.getElementById('login_login').innerHTML=result;
}

function getMessages() {
	loginAJAX.getTextAsync('getMessages', setMessages);
}
function setMessages(result) {
	document.getElementById('login_login').innerHTML=result;
}

var SelectedMessageID = 0;
function getMessage(MessageID) {
	if(SelectedMessageID) {
		document.getElementById('mid'+SelectedMessageID).style.background='white';
	}
	document.getElementById('mid'+MessageID).style.background='#CCCCCC';
	SelectedMessageID = MessageID;
	loginAJAX.getTextAsync('getMessage', setMessage, MessageID);
}
function setMessage(result) {
	document.getElementById('div_Message').innerHTML=result;
}

function deleteMessage(MessageID) {
	SelectedMessageID = 0;
	loginAJAX.getTextAsync('deleteMessage', getMessages, MessageID);
}


function showReplyToMessage(UserID, MessageID) {
	loginAJAX.getTextAsync('getReplyToMessage', setReplyToMessage, UserID, MessageID);
	anchorname = 'a_reply';
	var coordinates = new Object();
	coordinates = getAnchorPosition(anchorname);
	document.getElementById('div_ReplyToMessage').style.left=coordinates.x-140;
	document.getElementById('div_ReplyToMessage').style.top=coordinates.y-215;
	document.getElementById('div_ReplyToMessage').style.visibility='visible';
}
function setReplyToMessage(result) {
	document.getElementById('div_ReplyToMessage').innerHTML=result;
}
