/** Manejo de cookies *********************************************************/

/**
 * Recupera una cookie, retornando su valor.
 * @param name: Nombre de la cookie.
 * @return: Valor de la cookie especificada, NULL si la misma no existe.
 */
function getCookie(name)
{
   var dc = document.cookie;
   name += "=";

   if (dc.length > 0)
   {
      if ((begin = dc.indexOf(name)) != -1)
      {
         begin += name.length;
         if ((end = dc.indexOf(";",begin)) == -1) end = dc.length;
         return unescape(dc.substring(begin, end));
      }
   }
   return null;
}

/**
 * Crea una cookie.
 * @param name: Nombre de la cookie.
 * @param value: Valor de la cookie.
 * @param [expires]: Días de validéz de la cookie (por defecto, hasta el final de la sesión).
 * @param [path]: Camino para el cual la cookie es válida (por defecto, el camino del documento que hace la llamada).
 * @param [domain]: Dominio para el cual la cookie es válida (por defecto, el dominio del documento que hace la llamada).
 * @param [secure]: Booleano que indica si la trasnmisión de la cookie requiere una transmisión segura.
 *                  Al especificar el valor null, el argumento tomará su valor por defecto.
 */
function setCookie(name, value, expiredays, path, domain, secure)
{
   var date = new Date();
   date.setDate(date.getDate() + expiredays);

   document.cookie = name + "=" + escape(value) +
    (!expiredays ? "" : "; expires=" + date)    +
    (!path       ? "" : "; path=" + path)       +
    (!domain     ? "" : "; domain=" + domain)   +
    (!secure     ? "" : "; secure");
}

/**
 * Elimina una cookie.
 * @param name: Nombre de la cookie.
 * @param [path]: Camino de la cookie (el especificado al crear la cookie).
 * @param [domain]: Dominio de la cookie (el especificado al crear la cookie).
 */
function delCookie (name, path, domain)
{
   if (getCookie(name))
   {
      document.cookie = name + "=" +
       (!path   ? "" : "; path=" + path)     +
       (!domain ? "" : "; domain=" + domain) +
       "; expires=Thu, 01-Jan-70 00:00:01 GMT";
   }
}

