Vamos a ir por partes. Para que te funcionara como tú lo pusiste la función colbor() (o colbor1()) debería tener un return para que devolviera un string con el color. Es decir, sería algo así:
Código Javascript
:
Ver originalfunction colbor(){
// ...
return '#FFF';
}
Entonces al devolver el color el color del borde cambiaría. Pero sin embargo tú estás guardando ese valor en una cookie. Si vas a necesitar para algo esa cookie bien, pero si sólo la usas para saber cuál es el color que quieren poner es más fácil que uses return.
La variable favcolor tendría que funcionar, porque es ahí donde se guarda la información del color, ¿no? Pero sin embargo no funciona porque al poner la palabra var delante de una variable está queda restringida al ámbito donde fue creada, sin embargo sin la palabra var la variable es global. Esto se ve mejor con un ejemplo:
Código Javascript
:
Ver originalvar str = 'Hola';
// aquí da igual poner var, puesto que no está declarada
// en ningún ámbito específico y por tanto la variable es global
function abc(){
var cad = 'ABC'; // aquí la variable lleva var, no existirá fuera de la función
cadena = 'DEF' // aquí la variable no lleva var, existirá en todo el documento (es global)
alert(cad); // 'ABC', porque aquí sí existe
alert(cadena); // 'DEF'
}
alert(str); // 'Hola'
alert(cad); // undefined, porque aquí ya no existe
alert(cadena); // 'DEF'
Por último, que en el otro post se me olvidó decirlo, en funciones donde el número de argumentos es variable se declaran sin ninguno. Es decir, una función que por ejemplo devuelva el número más grande que se le pase como argumento (por ejemplo), sería así:
Código Javascript
:
Ver originalfunction max(){
// aquí el código necesario
}
alert(max(2,3,4));
alert(max(8,34,1,250));
// ...
Espero que lo hayas entendido. Si necesitas más ejemplos dímelo.
Saludos (: