﻿
function createCookie(name,value,days)
{
    var expires;
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		expires = "; expires="+date.toGMTString();
	}
	else 
	    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 item = ca[i].split("¬");
        for (j=0;j < item.length;j++)
        {
		    var v = item[j].split(",");
            if (nameEQ == v[0]) 
	            return v[1] + ',' + v[2];
        }
	}
	return null;
}

function GetElements()
{
    var x = document.getElementsByTagName("input");
    var valores;
    
    for(i =0; i < x.length;i++)
    {
        name = x[i].id;
        if (name.indexOf("__VIEWSTATE") == -1 && name.indexOf("undefined__EVENTVALIDATION") == -1 && name.indexOf("Array"))
            if (document.getElementById(name) != null)
                valores = valores + name + ',' + document.getElementById(name).checked + ',' + document.getElementById(name).disabled + '¬';
    }
    
    var se = document.getElementsByTagName("select"); 
    for(i =0; i < se.length;i++)
    {
        name = se[i].id;
        if (document.getElementById(name) != null)
        {
            var op = '';
            for(w = 0; w < document.getElementById(name).length; w++)
                if(document.getElementById(name).options[w].selected && document.getElementById(name).options[w].value != '')
                    op += document.getElementById(name).options[w].value + '§';

           valores = valores + name + ',' + op + ',' + document.getElementById(name).disabled + '¬';
        }
    }
    createCookie('ppkcookie',valores,1);
}

function SetElements()
{
    var x = document.getElementsByTagName("input");
    var cont = 0;

    for(i=0;i<x.length;i++)
    {
        name = x[i].id;
        if (document.getElementById(name) != null && readCookie(name) != null)
        {
           var valor = readCookie(name);
           var sit = valor.split(",")
           document.getElementById(name).checked = sit[0] == 'true'?true:false;
           document.getElementById(name).disabled = sit[1] == 'true'?true:false;
        }
    }

    var se = document.getElementsByTagName("select"); 
    for(k =0; k < se.length;k++)
    {
        name = se[k].id;
        if (document.getElementById(name) != null)
        {
            var valor = readCookie(name);
            if (valor  != null)
            {
                var sit = valor.split(",")
                document.getElementById(name).disabled = false;
       
                for(var i = 0; i < document.getElementById(name).length; i++)
                {
                   var lista = sit[0].split("§");
                   
                   for(var j = 0; j < lista.length; j++)
                   {
                        lista[j] = lista[j].replace(/\D/g,""); //chrome concatena caracteres estranhos por isso permetimos somente numero

                        if (lista[j] != '')
                        {
                            if (document.getElementById(name).options[i].value == lista[j])
                            {
                                document.getElementById(name).options[0].selected = false;
                                document.getElementById(name).options[i].selected = true;
                            }
                        }
                    }
                }
            }
        }
    }
}

