
//cookie support
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}


//function to read GET params
function getURLparameters() {
    var parameterArray = unescape(self.location.search).substring(1).split( "&");
    
    if (self.location.search.indexOf("=") == -1) {
//     loadXML(parameterArray);
        return null;
    }
    for (var i=0;i<parameterArray.length;i++) {
        parameterArray[i] = parameterArray[i].split("=");
    }
    return parameterArray;
}

//check if there was an error login into reserved area
function checkLoginReservedAreaError(){
    var params = getURLparameters();
    if(params == null){return false;}
    for (var i=0;i<params.length;i++) {
        var tag = params[i][0];
        var value_tag = params[i][1];
        if(tag == 'erro' && value_tag == 1){
            log_error_msg = document.getElementById('log_error_msg').value;
            alert(log_error_msg);
        } 
        if(tag == 'erro' && value_tag != 1){
            log_error_msg = document.getElementById('log_gen_error_msg').value;
            alert(log_error_msg + '( ' +  value_tag + ' )' );
        }
    }
}

//storing preferences into cookie
var cookie_name = 'gtec_preferences';
var expire_days = 1000;
var initial_cookie_val = 'remember_login=false';
var remember_checkbox_id ='remember_pass_chbx';
var input_username_id = 'username';
var input_password_id='password';

function _initializeSettingsCookie(){
    createCookie(cookie_name, initial_cookie_val, expire_days);
}

function writeSettingsToCookie(remember, username, password){
    if( remember ){
        var value_cookie = 'remember_login=true';
        var username_tag = 'login='+username;
        var password_tag = 'passwd='+password;
        value_cookie = value_cookie + '#' + username_tag + '#' +password_tag
    }
    else{
        var value_cookie = 'remember_login=false';
    }
    createCookie(cookie_name, value_cookie, expire_days);
}

function initializeSettingsCookie(){
    var cookie_value = readCookie(cookie_name);
    if(cookie_value == null){
        _initializeSettingsCookie();
    }
}

function getCookieValues(){
    var cookie_value = readCookie(cookie_name);
    items = cookie_value.split('#');
    out = new Array();
    for (var i=0;i<items.length;i++) {
        item = items[i];
        item_slipt = item.split('=');
        tag = item_slipt[0];
        value_tag = item_slipt[1];
        out[tag] = value_tag;
    }
    return out;
}

function setUpLoginForm(){
    values = getCookieValues();
    remember_login = values['remember_login'];
    login = values['login'];
    password = values['passwd'];
    if( remember_login == undefined){
        _initializeSettingsCookie();
    }
    if( remember_login == 'true' ){
        document.getElementById(remember_checkbox_id).checked = true;
        if( login != undefined){ document.getElementById(input_username_id).value = login;}
        if( password != undefined){ document.getElementById(input_password_id).value = password;}
    }
    else{
        document.getElementById(remember_checkbox_id).checked = false;
    }

}

function setCookieOnSubmit(){
    var is_to_remember = document.getElementById(remember_checkbox_id).checked;
    if(is_to_remember){
        login = document.getElementById(input_username_id).value;
        password = document.getElementById(input_password_id).value;
        writeSettingsToCookie(true, login, password);
    }
    else{
        writeSettingsToCookie(false, '', '');
    }
}

//executing on load event
window.onload = function (){
    //checking if there is cookie, if not create with default sets
    initializeSettingsCookie();

    //setting up login form preferences
    setUpLoginForm();

    //checking for error on login into reserved area
    checkLoginReservedAreaError();
}



