function getCookie (name) {
    var arg = name + "=";
    var pieces = document.cookie.split(';');
    for(var i = 0; i < pieces.length; i++) {
      	var cook = pieces[i];
      	while (cook.charAt(0) == ' ') {
      		cook = cook.substring(1, cook.length);
      	}
      	if (cook.indexOf(arg) == 0) {
      		return cook.substring(arg.length, cook.length);
      	}
    }
    return null;
}

function setCookie (name, value, expires, path) {
	var cstr = name + "=" + escape(value);
	if (expires != null) {
		cstr += "; expires=" + expires.toGMTString();
	}
	if (path != null) {
		cstr += "; path=" + path;
	}
	document.cookie = cstr;
}

function deleteCookie(name) {
    var cval = getCookie (name);   
    if (cval == null) {
    	return;
    }    
    var exp = new Date(); 
    exp.setTime (exp.getTime() - 1000 * 60 * 60 * 24); 
	setCookie(name, "", exp);
}
   
function loadCookie(login_remember) {        
    if (login_remember != true)
        return;
    
    var id = getCookie("gc3_user_id");
    var pwd = getCookie("gc3_user_pwd");  
    var auto = getCookie("gc3_user_auto");
    
    if (id != null && pwd != null) {
        document.login.rememberme.checked = true;
        document.login.username.value = id;
        document.login.userpassword.value = pwd;
        if(auto != 'false')
           document.login.submit();
    }  
}

function loadCookieOnLogout(login_remember) {  
    
    if (login_remember != true)
        return;
    
    var id = getCookie("gc3_user_id");
    var pwd = getCookie("gc3_user_pwd");  
    
    if (id != null && pwd != null) {        
        show ('remember_me');
        document.logout.rememberme.checked = false;
    }  else {        
        hide ('remember_me');
    }
}

function checkIfCookieExists() {        
    var id = getCookie("gc3_user_id");
    var pwd = getCookie("gc3_user_pwd");  
    if (null == pwd || null == id)
        return false;
    return true;        
}

function updateCookieOnLogin(rememberme){     
    if (rememberme && rememberme.checked == true){        
        var un = document.login.username.value;
        var p = document.login.userpassword.value;
      
        var exp = new Date ();
        exp.setTime(exp.getTime() + (365 * 24 * 3600 * 1000));
        setCookie('gc3_user_id',un,exp);    
        setCookie('gc3_user_pwd',p,exp);  
    } else {
        deleteCookie('gc3_user_id');
        deleteCookie('gc3_user_pwd');
        deleteCookie('gc3_user_auto');
    }
}

function updateCookieOnLogout(){     
    if (document.logout.rememberme && document.logout.rememberme.checked == true){
        var exp = new Date ();
        exp.setTime(exp.getTime() + (365 * 24 * 3600 * 1000));
        setCookie('gc3_user_auto','false', exp, "/")
    }    
    else {
        var exp = new Date ();
        exp.setTime(exp.getTime() + (365 * 24 * 3600 * 1000));
        setCookie('gc3_user_auto','true', exp, "/")
    }       
}

