/*
* cookies
*/
function setCookie ( name, value, exp_y, exp_m, exp_d, path, domain, secure )
{
  var cookie_string = name + "=" + escape ( value );

  if ( exp_y )
  {
    var expires = new Date ( exp_y, exp_m, exp_d );
    cookie_string += "; expires=" + expires.toGMTString();
  }

  if ( path )
        cookie_string += "; path=" + escape ( path );

  if ( domain )
        cookie_string += "; domain=" + escape ( domain );
  
  if ( secure )
        cookie_string += "; secure";
        
  document.cookie = cookie_string;
}

function deleteCookie ( cookie_name )
{
  var cookie_date = new Date ( );  // current date & time
  cookie_date.setTime ( cookie_date.getTime() - 1 );
  document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
}

function getCookie ( cookie_name )
{
  var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );


  if ( results ) {
    return ( unescape ( results[2] ) );
  } else
    return null;
}

function loginProcess(action) {
    if ( action == "forgotPassword" ) {
        document.loginForm.action = "retrievePassword.do?username=" + document.loginForm.username.value;
        window.location.href = document.loginForm.action;
        return false;
    } else {
        if (document.loginForm.rememberMe.checked == true) {
            var d = new Date();
            var curr_year = d.getFullYear()+1;
            setCookie ( "username", document.loginForm.username.value, curr_year, 01, 01 );
            setCookie ( "password", document.loginForm.password.value, curr_year, 01, 01 );
        } else {
            deleteCookie("username");
            deleteCookie("password");
            deleteCookie("logoutFlag");
        }
    }
    document.loginForm.submit()
}

function rememberPassword(checkbox) {
    if (checkbox.checked == false) {
        deleteCookie("username");
        deleteCookie("password");
        deleteCookie("logoutFlag");
    }      
}

function checkPasswordLogin() {
    try {       
        document.loginForm.userSessionID.value=getCookie("userSessionID");                
        var usrname = getCookie ( "username");
        var pwd = getCookie ( "password");
        if (usrname != null && usrname != "" && pwd != null && pwd != "") {
            document.loginForm.username.value = usrname;
            document.loginForm.password.value = pwd;
            document.loginForm.rememberMe.checked = true;
            var logoutFlag = getCookie ( "logoutFlag");
            if (logoutFlag != "true") {
                document.loginForm.submit();
            } else {
                deleteCookie("logoutFlag");
            }    
        } else {
            document.loginForm.rememberMe.checked = false;
        }
    } catch(e1) {}
}
    
function checkPassword() {
    document.loginForm.userSessionID.value=getCookie("userSessionID");                
    var usrname = getCookie ( "username");
    var pwd = getCookie ( "password");
    deleteCookie("logoutFlag");
    if (usrname != null && usrname != "" && pwd != null && pwd != "") {
        document.loginForm.username.value = usrname;
        document.loginForm.password.value = pwd;
        document.loginForm.rememberMe.checked = true;
    } else {
        document.loginForm.rememberMe.checked = false;
    }
}

function logoutProcess() {
    setCookie ( "logoutFlag", "true");
}

function ForcedLogout() {
    if (document.loginForm.username.value != "" && document.loginForm.password.value != "") {
       if (document.loginForm.forced.value != 'y' && document.loginForm.forcedLogout.value != 'y') {
        if (confirm("Someone may be using your user name to access this website.\nClick OK to log on and to log that person off.")) {
            document.loginForm.forced.value='y';
            document.loginForm.submit();
        } else {
            setCookie ("logoutFlag", "true");
            document.loginForm.forcedLogout.value='y';
        }
      }
    } else {
        alert("Someone is using your user name to access this website. Please contact IGM support at sales@informagm.com if the problem persists."); 
        setCookie ("logoutFlag", "true");
        document.loginForm.forcedLogout.value='y';
    }
}
