Código:
/////////////////// CONFIGURACION ////////////////////////////////////
var separador = "$" //caracter separador de campos en el texto de la cookie
var numElementos = 1 //numero de campos en el searchfield
/////////////////// DATOS QUE SE MOSTRARAN ///////////////////////////
function Mostrar(texto, searchfield){
var pieza = null
var i = 0
if(CojerCookie(texto) != null) {
texto = CojerCookie(texto)
pieza = texto.split(separador)
for(i = 0; i < pieza.length; i++)
if (pieza[i] != null) {
searchfield.elements[ i ].value = pieza[ i ]
}
}
}
/////////////////////////DATOS QUE SE GUARDARAN /////////////////////////////////////
function JuntarPiezas( searchfield ) {
var entero = ''
//inserta en un string cada elemento, separados por el caracter separado
for ( contador = 0; contador < numElementos - 1; contador++) {
entero += searchfield.elements[ contador ].value + separador
}
//inserta el ultimo elemento
entero += searchfield.elements[ numElementos - 1 ].value
IntroducirCookie(entero)
}
////////////////////////////////// FIN DE VARIABLES A CAMBIAR /////////////////////////////////
function CojerValorCookie(indice) {
//indice indica el comienzo del valor
var galleta = document.cookie
//busca el final del valor, dado por ;, a partir de indice
var finDeCadena = galleta.indexOf(";", indice)
//si no existe el ;, el final del valor lo marca la longitud total de la cookie
if (finDeCadena == -1)
finDeCadena = galleta.length
return unescape(galleta.substring(indice, finDeCadena))
}
function CojerCookie(texto) {
var galleta = document.cookie
//construye la cadena con el texto del valor
var arg = texto + "="
var alen = arg.length //longitud del texto del valor
var glen = galleta.length //longitud de la cookie
var i = 0
while (i < glen) {
var j = i + alen //posiciona j al final del texto del valor
if (galleta.substring(i, j) == arg) //si en la cookie estamo ya en texto del valor
return CojerValorCookie(j) //devuleve el valor, que esta a partir de j
i = galleta.indexOf(" ", i) + 1 //pasa al siguiente
if (i == 0)
break //fin de la cookie
}
return null //no se encuentra el texto del valor
}
function GuardarCookie (texto, valor, caducidad) {
if(!caducidad)
caducidad = Caduca(0)
//crea la cookie: incluye el texto, la caducidad y la ruta donde esta guardada
//cada valor esta separado por ; y un espacio
document.cookie = texto + "=" + escape(valor) + "; expires=" + caducidad + "; path=/"
}
function Caduca(dias) {
var hoy = new Date() //coge la fecha actual
var msEnXDias = eval(dias) * 24 * 60 * 60 * 1000 //pasa los dias a mseg.
hoy.setTime(hoy.getTime() + msEnXDias) //fecha de caducidad: actual + caducidad
return (hoy.toGMTString())
}
function BorrarCookie(texto) {
//para borrar la cookie, se le pone una fecha del pasado mediante Caduca(-1)
document.cookie = texto + "=; expires=" + Caduca(-1) + "; path=/"
}
function IntroducirCookie(texto) {
//establece la cookie: la caducidad es de 1 dias
var _1dias = Caduca(1) //crea la fecha de caducidad si 1 dias
if (texto != "")
GuardarCookie("Datos", texto, _1dias)
}
function MostrarMiCookie() {
Mostrar('Datos', document.searchfield)
}
window.onload = MostrarMiCookie;
if (document.captureEvents) { //N4 requiere invocar la funcion captureEvents
document.captureEvents(Event.LOAD)
}