


var jusessName="CFOJUSESS";
var jusessSep=":-_";

function frameBuster() {
//alert("login JS frameBuster");
    if ( top != self ) {
        top.location.href = unescape(window.location.pathname);
    }
}

function loginPageInit() {
//alert("login JS loginPageInit");
    frameBuster();
    populateLoginForm(document.loginform);
    document.loginform.userid.focus();
}

function handleEnter (field, evt) { 
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode);

//Commented by karunakar , its preventing to select the text with EnterKey.
   /* if ( (charCode == 13) || (charCode == 3) ){
      if ( field.type == "password" ) {
          var isFormValid = loginSubmit(document.loginform);
          if ( isFormValid ) {
              document.loginform.submit();
              return true;
          }
      }

	  var i;
	  for (i = field.form.elements.length-1; i >=0 ; --i) {
	      if (field == field.form.elements[i]) {
              ++i;
	        break;
            }
        }
        
	  while ( field.form.elements[i].type == "hidden" ) {
            i = (i + 1) % field.form.elements.length;
        }           
        var formElement = field.form.elements[i];

        if ( formElement.type == "submit" ) {
            var isFormValid = loginSubmit(document.loginform);
            if ( isFormValid ) {
                document.loginform.submit();
            }
        } else { 
            formElement.focus();
        }
        
	  return false;

    } else {
	  return true;
    }*/
}

//Function to check whether element clicked is form element
function checkel(which){ 
    if (which.style&&intended.test(which.tagName)) {
        if (ns6&&eventobj.nodeType==3) {
            eventobj=eventobj.parentNode.parentNode
        }
        
        return true
    
    } else {
        return false
    }
}


//Function to highlight form element
var highlightcolor="#FFFF99";
var ns6=document.getElementById&&!document.all;
var previous='';
var eventobj;
//Regular expression to highlight only form elements
var intended=/INPUT|TEXTAREA|SELECT|OPTION/

function highlight(evt){ 
    eventobj=ns6? evt.target : event.srcElement;
    if (previous!=''){
        if (checkel(previous)) {
            previous.style.backgroundColor='';
        }
    }

    highlightField(eventobj);

}

function highlightField(formObj) { 
    if (checkel(formObj)) {
        formObj.style.backgroundColor=highlightcolor;
    }
    previous=formObj;
}


function isRequired(str) { 
    if ( str == null ) {
        return false;
    }

    var isReq=false;
    for ( var i=str.length - 1; i >= 0 ; --i ) {
        var c = str.charAt(i);
        if ( (c != ' ') && (c != '\n') && (c != '\t') ) {
            isReq=true;
            break;
        }
    }
        
    return isReq;
}

function isEmpty(str) {
//alert("login JS isEmpty");
    return (! isRequired(str) );
}


function validateForm(formObj)
{
//alert("login JS validateForm");
    var isValid=true;
    var errmsg="";
    var focusField;
    
    if ( isEmpty(formObj.userid.value) )
    {
        errmsg += "Username is a required field.  Please enter your username.\n";
        isValid=false;
        focusField=formObj.userid;
    }
    
    if ( isEmpty(formObj.passwd.value) )
    {
        errmsg += "Password is a required field.  Please enter your password.\n";
        isValid=false;
        if ( focusField == null )
        {
            focusField=formObj.passwd;
        }
    }
    
    if (! isValid )
    {
        alert(errmsg);
        focusField.focus();
    }
    
    return isValid;
}//~function validateForm(fo...

function loginSubmit(formObj)
{
//alert("login JS loginSubmit");
    sendLoginSession(formObj);
    var formValid = validateForm(formObj);
    return formValid;
}

//This is to create CFOJUESS cookie for.
//For code comments RememberMe filter on server.
//Code avoided here for secu...
function sendLoginSession(formObj)
{
//alert("login JS sendLoginSession");
    var sessVal
    try
    {
        sessVal = getLoginSessionValue(formObj);
    }
    
    catch (e)
    {
    }
    
    var domainid =formObj.domainid.value;
    if(formObj.rememberme.checked)
    {
        setCookie(jusessName,sessVal,null,'/',domainid,false);
    }
}//~function sendLoginSessio...

function getLoginSessionValue(formObj)
{
//alert("login JS getLoginSessionValue");
    var uid = formObj.userid.value;
    var p   = formObj.passwd.value;
    var rme = ( (formObj.rememberme.checked) ? "1" : "0" );
    var envid   = formObj.envid.value;
    
    return eSF(uid + jusessSep + p + jusessSep + rme+ jusessSep +envid);
}

function populateLoginForm(formObj)
{
//alert("login JS populateLoginForm");
    var juVal = getCookie(jusessName);
    if (! isEmpty(juVal) )
    {
        var decryptVal = dSF(juVal);
        var juValArr = decryptVal.split(jusessSep);
        formObj.userid.value=juValArr[0];
        if ( juValArr[2] == "1" )
        {
            formObj.rememberme.checked = true;
        }
    }//~if (! isEmpty(juVal) )...
}//~function populateLoginFo...


function logoutConfirm() {
//alert("login JS logoutConfirm");
    var doLogout = confirm("Please confirm you would like to logout.\r\n\r\nPress OK to logout. Press Cancel to remain logged in.");
    if ( doLogout ) {
        return true;
    } else {
        return false;
    }    
}
