/**
*
* File: Login.js
*
* Javascript for login page.
*  
*/
var iLogin = false;
window.onload = function() {
 	var currentPageName = window.location.href;
	var currentPageName2 = currentPageName.substr(currentPageName.lastIndexOf("/")+1,currentPageName.length);
	var currentPageName1 = currentPageName.substr(0,currentPageName.lastIndexOf("/"));
	
 	if(currentPageName2==''||currentPageName2=='ZumeLogin.jsp')
 	{
 		YAHOO.util.Dom.get('loginbody').className="";
 		HOME_PAGE = 'Start.jsp';
 	}
 	else
 	{
	 	if(var1=='null'||var1=='undefined'||var1=='')
	  	{
	  		YAHOO.util.Dom.get('loginbody').className="";
	  		currentPageName2 = currentPageName2.replace("?","~");
 			currentPageName2 = currentPageName2.replace("&","^");
 			HOME_PAGE = 'Start.jsp?redirect='+currentPageName2;
 		}
	  	else
	  	{
	  		iLogin = true;
	  		HOME_PAGE = 'Start.jsp';
	  		iUser(var1,var2);
	  	}
 		
 	}
 	
 	
}

/* Constants */
var USER_FIELD = 'uname';
var PASS_FIELD = 'pass';
var USER_COOKIE = 'UserName';
var LOGIN_SERVLET = 'MainServlet';
var LOGIN_METHOD = 'login';
var HOME_PAGE = 'Start.jsp';
var STATUS_NODE = 'LOGINSTATUS';
var VALID_STATUS = 'ValidUser';
var EXPIRATION_LENGTH = 2; /* 2 hours */

/* Login the user */
function loginUser()
{
  	var user = YAHOO.util.Dom.get(USER_FIELD).value;
	var pass = YAHOO.util.Dom.get(PASS_FIELD).value;
  
 	if (user == "" || pass == "")
	{
    	displayError("Please enter a username and password.")
	}
  	else
	{
    	var requestString = formatXmlRequest(LOGIN_METHOD, {username: user, password: pass});
    	var request = YAHOO.util.Connect.asyncRequest('POST', LOGIN_SERVLET, {success: loginSuccess, failure: loginFailure}, requestString);
  	}
  return false;
}
function iUser(var1,var2)
{
	var requestString = formatXmlRequest(LOGIN_METHOD, {rid: var1, si: var2});
    var request = YAHOO.util.Connect.asyncRequest('POST', LOGIN_SERVLET, {success: loginSuccess, failure: loginFailure}, requestString);

}
/* XML request completed successfully */
function loginSuccess(obj)
{
  var xmlDoc = obj.responseXML;
  var status = getXmlNodeValue(xmlDoc, STATUS_NODE);
  var pplid = getXmlNodeValue(xmlDoc, "PPLID");
  var failurl = getXmlNodeValue(xmlDoc, "FAILURL");
  if (status == VALID_STATUS)
  {
    /* Set a cookie and redirect. */
    try
    {
      var username = YAHOO.util.Dom.get(USER_FIELD).value;
      createCookie(USER_COOKIE, username, EXPIRATION_LENGTH);
      window.location = HOME_PAGE;
    }
    catch (e)
    {
    	if(iLogin)window.location = failurl;
      	loginFailure();
    }
  }
  else
  {
  	if(iLogin)window.location = failurl;
    /* Clear the user cookie, display an error and clear the password field. */
    YAHOO.util.Cookie.remove(USER_COOKIE);
    
    if(status == "ValidUserINIT")
    	displayError('Please complete your subscription payment before login.<br />If you have not able to complete it before,  <a href="../subscribe.php?pplid='+pplid+'">Click here</a> to try again.<br />Need more help? Please call us at ' + CONTACT_NUMBER + '.');
    else if(status == "ValidUserINACTIVE")
    	displayError('Your account is inactivated due to cancellation of subscription of service,  <a href="../subscribe.php?pplid='+pplid+'">Click here</a> to subscribe again.<br />Need more help? Please call us at ' + CONTACT_NUMBER + '.');
    else
    	displayError('The username or password you provided was not recognized.<br />If you forgot your password, <a href="#" onclick="return forgetPass()" title="Forget your password?">click here</a> to have us email it to you.<br />Need more help? Please call us at ' + CONTACT_NUMBER + '.');
    
    YAHOO.util.Dom.get(PASS_FIELD).value = '';
  }
}

/* XML request failed to complete or cookie could not be set. */
function loginFailure(obj)
{
  displayError("The service is temporarily unavailable. Please try again later.");
}

/* Displays an error message */
function displayError(err)
{
  var errorEl = YAHOO.util.Dom.getElementsByClassName('error')[0];
  errorEl.innerHTML = err;
  
  errorEl.style.display = 'block';
  YAHOO.util.Dom.getElementsByClassName('errorTop')[0].style.display = 'block';
  YAHOO.util.Dom.getElementsByClassName('errorBottom')[0].style.display = 'block';
}

/* Clears the error message display */
function clearError()
{
  var errorEl = YAHOO.util.Dom.getElementsByClassName('error')[0];
  errorEl.innerHTML = '';
  
  errorEl.style.display = 'none';
  YAHOO.util.Dom.getElementsByClassName('errorTop')[0].style.display = 'none';
  YAHOO.util.Dom.getElementsByClassName('errorBottom')[0].style.display = 'none';
}

/* Forget password functionality */
function forgetPass()
{
  var username = YAHOO.util.Dom.get(USER_FIELD).value;
 	
  /* Make sure there's a username to send an email to. */
 	if (username.match(/^\s*$/))
 	{
    displayError("Please enter a valid username.");
 	}
  else
  {
    window.location = 'sendemail.jsp?nam=' + username + '&mt=fp';
  }
  return false;
}

function forgotPwd()
{
	window.location = "forgotPassword.jsp";
}