function ShowLoginMessage()
{
	var message = '';
	if (document.referrer.indexOf('/static_pages/specials.php') > -1){

		document.getElementById('login_attention').style.display = 'block';
		document.getElementById('login_message').innerHTML = 'You must be logged in as a member to view the Specials.';
	}
	else if (document.referrer.indexOf('/member/settings.php') > -1){
		document.getElementById('login_attention').style.display = 'block';
		document.getElementById('login_message').innerHTML = 'You must be logged in to proceed to members area.';
	}
}

var email;
function Login ()
{
	var pass = document.getElementById('pass').value;
	email = document.getElementById('email').value;

	if (email == ''){
		document.getElementById('email').focus();
		return;
	}
	if (pass == ''){
		document.getElementById('pass').focus();
		return;
	}

	SendLogin (pass, email);
}

function SendLogin (pass, email)
{
	var url = '/scripts/login.php?pass=' + pass + '&email=' + email + '&refer=' + document.getElementById('refer').value;
	ajaxRequest = createRequestObject();
	ajaxRequest.open('get', url);
	ajaxRequest.onreadystatechange = Callback_Login;
	ajaxRequest.send(null);

}
function Callback_Login ()
{
	if (ajaxRequest.readyState == 4){
		var response = ajaxRequest.responseText;
		if (response.indexOf('ok+') > -1){
			var splitString = response.split('+');
			var displayName =  splitString[1];
			var session = splitString[2];
			var cookieValues = displayName + '---' + email + '---' + session;
			setCookie( COOKIE_NAME_MEMBER, cookieValues, 1, '/', COOKIE_DOMAIN, false );
			var referer =  splitString[3];
			//	we send user to page they were at before having to login
			if ((referer != null) && (referer != '') && (referer.indexOf('login.php') < 0))
				top.location = referer;
			else if (GetQueryVariable('refer') != '')
				top.location = GetQueryVariable('refer');
			else if (window.faLogin && faLogin)
				top.location = '/admin/';
			else
				top.location = 'cart/index.php';
		}
		else{

			document.getElementById('email').focus();
			document.getElementById('login_attention').style.display = 'block';
			document.getElementById('login_attention').innerHTML = 'Invalid details - try again?';
		}
	}
}

var forgotAjaxRequest;
function ForgotPasswordSubmit ()
{
	var email = document.getElementById('emailForgot').value;
	var url = '/scripts/login_forgot.php?email=' + email;
	forgotAjaxRequest = createRequestObject();
	forgotAjaxRequest.open('get', url);
	forgotAjaxRequest.onreadystatechange = Callback_ForgotPasswordSubmit;
	forgotAjaxRequest.send(null);
}
function Callback_ForgotPasswordSubmit ()
{
	if (forgotAjaxRequest.readyState == 4){
		var response = forgotAjaxRequest.responseText;
		if (response == 'bad'){
			document.getElementById('emailForgot').focus();
			alert('Email address is not valid');
		}
		else if (response == 'ok'){
			alert('Password has been sent, please check your email Inbox');
		}
		else{
			alert('Unknown error - try again');
		}
	}
}


var user;
var pass;
var email;
var session;
function SubmitNewMember ()
{
	document.getElementById('attention').style.display = 'none';
	user = document.getElementById('newUsername').value;
	pass = document.getElementById('newPassword').value;
	email = document.getElementById('newEmail').value;
	if (email == ''){
		document.getElementById('newEmail').focus();
		document.getElementById('attention').style.display = 'block';
		document.getElementById('message').innerHTML = 'Missing your Email';
		return;
	}
	if (pass == ''){
		document.getElementById('newPassword').focus();
		document.getElementById('attention').style.display = 'block';
		document.getElementById('message').innerHTML = 'Missing your Password';
		return;
	}
	if (user == ''){
		document.getElementById('newUsername').focus();
		document.getElementById('attention').style.display = 'block';
		document.getElementById('message').innerHTML = 'Missing your Username';
		return;
	}

	SendNewMember (user, pass, email);
}

function SendNewMember (user, pass, email)
{
	var url = '/scripts/signup_newmember.php?user=' + user + '&pass=' + pass + '&email=' + email;
	ajaxRequest = createRequestObject();
	ajaxRequest.open('get', url);
	ajaxRequest.onreadystatechange = Callback_New;
	ajaxRequest.send(null);
}

function Callback_New ()
{
	if (ajaxRequest.readyState == 1){
		document.getElementById('attention').style.display = 'block';
		document.getElementById('message').innerHTML = 'Loading...';
	}
	else if (ajaxRequest.readyState == 4){
		var response = ajaxRequest.responseText;
		document.getElementById('message').className = 'message_bad';
		if (response.indexOf('ok-') > -1){
			document.getElementById('message').className = 'message_ok';
			document.getElementById('attention').style.display = 'block';
			document.getElementById('message').innerHTML = 'Successful registration - Welcome!.';
			var sessionIndex = response.indexOf('-');
			session =  response.substring(sessionIndex + 1);

			var cookieValues = user + '---' + email + '---' + session;
			setCookie( COOKIE_NAME_MEMBER, cookieValues, 1, '/', COOKIE_DOMAIN, false );

			var referer = getCookie(COOKIE_NAME_REFER);
			//	we send user to page they were at before having to login
			if ((referer != null) && (referer != '') && (referer.indexOf('login.html') < 0))
				top.location = referer;
			else
				top.location = 'cart/index.php';
		}
		else if (response.indexOf('bad-emailserver') > -1){
			document.getElementById('attention').style.display = 'block';
			document.getElementById('message').innerHTML = 'Invalid email address';
			document.getElementById('newEmail').focus();
		}
		else if (response.indexOf('invalid email') > -1){
			document.getElementById('attention').style.display = 'block';
			document.getElementById('message').innerHTML = 'Invalid email address';
			document.getElementById('newEmail').focus();
		}
		else if (response.indexOf('invalid displayname') > -1){
			document.getElementById('attention').style.display = 'block';
			document.getElementById('message').innerHTML = 'Invalid display name.';
			document.getElementById('newUsername').focus();
		}
		else if (response.indexOf('invalid password') > -1){
			document.getElementById('attention').style.display = 'block';
			document.getElementById('message').innerHTML = 'Password length too short. 6 or more characters are safer.';
			document.getElementById('newPassword').focus();
		}
		else if (response.indexOf('bad-alreadymember') > -1){
			document.getElementById('attention').style.display = 'block';
			document.getElementById('message').innerHTML = 'Already a signed-up member.';
			document.getElementById('newEmail').focus();
		}
		else if (response.indexOf('bad-failedsession') > -1){
			document.getElementById('attention').style.display = 'block';
			document.getElementById('message').innerHTML = 'We failed to create a Session for you - our fault.';
			document.getElementById('newEmail').focus();
		}
		else if (response.indexOf('bad-accountcreate') > -1){
			document.getElementById('attention').style.display = 'block';
			document.getElementById('message').innerHTML = 'We failed to create an Account for you - our fault.';
			document.getElementById('newEmail').focus();
		}
		else if (response.indexOf('bad-failedperson') > -1){
			document.getElementById('attention').style.display = 'block';
			document.getElementById('message').innerHTML = 'We failed to create a Person for you - our fault.';
			document.getElementById('newEmail').focus();
		}
	}
}
