var svmDom = "";

function getExpdateGMTString(killDate) {
	expdate	= new Date();
	FixCookieDate (expdate); //	Correct	for	Mac	date bug - call	only once for given	Date object!
	eval("dt = expdate.getTime() " + (killDate?"-":"+") + "31536000000");
	expdate.setTime(dt);	// 1 year from now
	//	expdate.setTime(expdate.getTime() + 3600000 * 2);	// 2 hours from now	
	return expdate.toGMTString();
}										 


function SetCookie(name,value) {
	var killDate = (value==null);
	value = (value==null?"":value);
  document.cookie = name + "=" + escape (value) + "; expires=" + getExpdateGMTString(killDate) +
    ((svmDom.length>0) ? "; domain=" + svmDom : "");
}

function SetDomain(path){
	svmDom = path
}

function getCookieVal (offset) {
  var endstr = document.cookie.indexOf ("; ", offset);
  if (endstr ==	-1)
	endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset,	endstr));
}

function FixCookieDate (date) {
  var base = new Date(0);
  var skew = base.getTime(); 
  if (skew > 0)	 // Except on the Mac -	ahead of its time
		date.setTime (date.getTime() - skew);
}

function GetCookie (name) {
  var arg =	name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i	= 0;
  while	(i < clen) {
	var	j =	i +	alen;
	if (document.cookie.substring(i, j)	== arg)
	  return getCookieVal (j);
	i =	document.cookie.indexOf(" ", i)	+ 1;
	if (i == 0)	break;
  }
  return null;
}

function GetSubCookie (subcookieName) {
  var fullCookie= new String();
  fullCookie=GetCookie(cookieName);
  if (fullCookie!=null)	{
	var	arg	= subcookieName	+ "=";
	var	alen = arg.length;
	var	clen = fullCookie.length;
	var	i=0
	while (i < clen) {
	  var j	= i	+ alen;
	  if (fullCookie.substring(i, j) ==	arg)
		return getSubCookieVal (fullCookie,	j);
	  i	= fullCookie.indexOf(" ", i) + 1;
	  if (i	== 0) break;
	}
  }
  return null;
}

function getSubCookieVal (fullCookie, offset) {
  var endstr = fullCookie.indexOf ("; ", offset);
  if (endstr ==	-1)
	endstr = fullCookie.length;
  return unescape(fullCookie.substring(offset, endstr));
}

function RemoveSubCookie(fullCookie, subcookieName){
   if (fullCookie!=null) {
	  var arg =	subcookieName +	"=";
	  var alen = arg.length;
	  var clen = fullCookie.length;
	  var i=0
	  while	(i < clen) {
		 var j = i + alen;
		 if	(fullCookie.substring(i, j)	== arg)	{
			var	endstr = fullCookie.indexOf	(";", i);
			if (endstr == -1)
			   return fullCookie.substring(0,i)
			return fullCookie.substring(0,i) + fullCookie.substring(endstr +2,fullCookie.length);
		 }
		 i = fullCookie.indexOf(" ", i)	+ 1;
		 if	(i == 0) break;
	  }
	  return fullCookie;
   }
}

function SetSubCookie (subcookieName,value)	{

  var fullCookie= new String();
  fullCookie=GetCookie(cookieName);
  if (fullCookie!=null)
	fullCookie=RemoveSubCookie(fullCookie,subcookieName);
  else
	fullCookie="";
  value = fullCookie + "; " + subcookieName + "=" + value + "; " //juan-added first ";"
  SetCookie(cookieName,value);

}





	
