<!--
// ******************************************************************
//  Funções para manipulação de COOKIES. 
//  Nas páginas HTML que forem utilizá-las, deve-se digitar:
//  <Script language=javascript src="COOKFUNC.js">
//  </Script>
//
// ******************************************************************
//
//	Função interna que retorna o valor de uma cookie
//
function getCookieVal (offset) {
  var endstr = document.cookie.indexOf(";", offset);
  if (endstr == -1)
	endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr));
}
//
//
//  Função que retorna o valor de uma determinada cookie .
//  Parâmetros:
//			name - Obj. tipo string que contém o nome da cookie.
//	A função retorna um obj. string contendo o valor da cookie, ou um 
//  "null" se a cookie não existir .
//
function GetCookie (name) {
  var CookArg = name + "=";
  var CookArgLen = CookArg.length;
  var CookLen = document.cookie.length;
  var i = 0;
  //while ((i < CookLen)||(i != 0)) {
  while (i < CookLen) {
    var j = i + CookArgLen;
    if (document.cookie.substring(i, j) == CookArg)
      return getCookieVal (j);
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) break; 
  }
  return null;
}
//
//	Função que cria ou atualiza uma cookie.
//	Parâmetros:
//			name  - Obj. tipo string que contém o nome da cookie.
//			value - Obj string que contém o valor da cookie (qualquer
//					caracter de string válido)
//			[expires] - Obj. data contendo a data de expiração da cookie. 
//					Caso seja omitida ou null, a cookie se expira no fim 
//					da sessão corrente.  
//			[path] - Obj. string que indica o "path" para o qual a cookie é válida.
//					Se omitida ou igual a null, utiliza o "path" do documento atual.
//			[domain] - Obj. string que indica o domínio para o qual a cookie é válida.
//					Se omitida ou igual a null, utiliza o domínio do documento atual.
//			[secure] - Valor (true/false) que indica quando a transmissão da cookie requer um HTTPS.
//
//	Os parâmetros entre "[]" são opcionais, podendo ser omitidos. 
//  Observe a ordem dos parâmetros e caso seja omitido algum, tome o cuidado de colocar um null no seu lugar.
//  Exemplos:
//
//      SetCookie ("myCookieName", "myCookieValue", null, "/");
//
//      SetCookie (myCookieVar, cookieValueVar, null, "/myPath", null, true);
//
function SetCookie (name,value,expires,path,domain,secure) {
  document.cookie = name + "=" + escape (value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
}
//
//	Função que remove uma cookie 
//	Parâmetros:
//			name - Obj string contendo o nome da cookie
//  (Ainda não implementados)!!
//			path - Obj string que contém o path da cookie a ser removida. Este deve 
//				ser o mesmo que foi usado para criar a cookie, ou omitido/null se nenhum
//				path foi especificado quando a cookie foi criada.
//			domain - Obj string que contém o domínio da cookie a ser removida. Este deve 
//				ser o mesmo que foi usado para criar a cookie, ou omitido/null se nenhum
//				domínio foi especificado quando a cookie foi criada.
//	  
function DeleteCookie (name,path,domain) {
  if (GetCookie(name)) {
    document.cookie = name + "=" +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

//
//  Exemplos 
/*
var expdate = new Date ();
expdate.setTime (expdate.getTime() + (24 * 60 * 60 * 1000)); // 24 hrs from now 
SetCookie ("ccpath", "http://www.hidaho.com/colorcenter/", expdate);
SetCookie ("ccname", "hIdaho Design ColorCenter", expdate);
SetCookie ("tempvar", "This is a temporary cookie.");
SetCookie ("ubiquitous", "This cookie will work anywhere in this domain",null,"/");
SetCookie ("paranoid", "This cookie requires secure communications",expdate,"/",null,true);
SetCookie ("goner", "This cookie must die!");
document.write (document.cookie + "<br>");
DeleteCookie ("goner");
document.write (document.cookie + "<br>");
document.write ("ccpath = " + GetCookie("ccpath") + "<br>");
document.write ("ccname = " + GetCookie("ccname") + "<br>");
document.write ("tempvar = " + GetCookie("tempvar") + "<br>");
*/
// -->
