/*************************************************************************
 * License
 *
 * The contents of this file are subject to the trakm8 End User License
 * Agreement (EULA ) .  You may not copy or use this file, in either
 * source code or executable form, except in compliance with the EULA. By 
 * accessing, opening, copying or using this file you are accepting and 
 * agreeing to the terms of the EULA. You  may obtain a copy of the EULA    
 * at http://www.trakm8.com.
 *
 * Software distributed under the EULA is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the EULA
 * for the specific language governing rights and limitations under the
 * EULA.
 *
 * Copyrights
 * 
 * Copyright (c) 1999-2007  trakm8 Limited. All Rights Reserved. Contact
 * information for trakm8 Limited is available at http://www.trakm8.com/.
 *
 ************************************************************************/
 
function cursor_wait() 
{
	document.body.style.cursor = 'wait';
}

function cursor_clear() 
{
	document.body.style.cursor = 'default';
}

function login() 
{	
	try
	{
		debugHelper.Message(_FUNC(arguments.callee)+":"+"entered");
		var username = document.getElementById("username").value;
		var password = document.getElementById("password").value;
		if(username == "")
		{
			debugHelper.Message("invalid username");
			document.getElementById("message_text").innerText = "Invalid Username";
			return;
		}

		if(password == "")
		{
			debugHelper.Message("invalid password");
			document.getElementById("message_text").innerText = "Invalid Password";
			return;
		}
		
		cursor_wait();

		document.getElementById("message_text").innerText = "Logging In...";
		debugHelper.Message("logging in as \'"+username+"\'...");
		x_login(username, password, parseLoginResult);
	}
    catch(ex)
    {	
		debugHelper.Exception(ex.message);
    }
}

function login_email() 
{
	try
	{
		debugHelper.Message(_FUNC(arguments.callee)+":"+"entered");
		var email_address = document.getElementById("login_email_address").value;
		x_loginEmail(email_address, parseLoginEmailResult);
		debugHelper.Message("sending password reminder for"+email_address);
	}
    catch(ex)
    {	
		debugHelper.Exception(ex.message, document.URL,document.lastModified, document.referrer);
    }
}

function parseLoginEmailResult(result) 
{
	try
	{
		debugHelper.Message(_FUNC(arguments.callee)+":"+"entered");

		eval("var loginemailarray = " + result);
		if (loginemailarray['error_no']) 
		{
			if (loginemailarray['error_no'] == "251") 
			{
				document.getElementById("forgot_message_text").innerText = "Invalid email format";
			} 
			else if (loginemailarray['error_no'] == "255") 
			{
				document.getElementById("forgot_message_text").innerText = "Email address does not exist";
			}	 
		} 
		else 
		{
			document.getElementById("forgot_message_text").innerText = "Email has been sent to your email address. Press Login to return";
		}
	}
    catch(ex)
    {	
		debugHelper.Exception(ex.message, document.URL,document.lastModified, document.referrer);
    }
}

function parseLoginResult(result) 
{
	try
	{
		debugHelper.Message(_FUNC(arguments.callee)+":"+"entered");
		debugHelper.Message("Login request complete");
		cursor_clear();
		eval("var loginarray = " + result);
		if (loginarray['error_no']) 
		{
			debugHelper.Message("error number = "+loginarray['error_no']);
			if (loginarray['error_no'] == "1") 
			{
				debugHelper.Message("invalid username");
				document.getElementById("message_text").innerText = "Invalid Username";
			}

			if (loginarray['error_no'] == "2") 
			{
				debugHelper.Message("invalid password");
				document.getElementById("message_text").innerText = "Invalid Password";
			}
		} 
		else 
		{
			session_id = loginarray['session_id'];
			debugHelper.Message("Login successful [session = " +session_id+"]" );
			popUpWindow('popup.php?session_id='+session_id+(js_debug?"&debug":""), 100, 100, 780, 520);
		}
	}
    catch(ex)
    {			
	    debugHelper.Exception(ex.message, document.URL,document.lastModified, document.referrer);
    }
}

