var expdate	= new Date();
expdate.setYear	(expdate.getYear() + 10); // ten years later

function getCookieVal (offset) {
  var endstr = document.cookie.indexOf ("; ", offset);
  if (endstr ==	-1)
	endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset,	endstr));
}

function getCookie (name) {

  var value = null;
  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)
	  value =  getCookieVal (j);
	i =	document.cookie.indexOf(" ", i)	+ 1;
	if (i == 0)	break;
  }


  return value;
}

function getSubCookie (cookieName,subcookieName) {

  var 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 setSubCookie (cookieName,subcookieName,value)	{
	var fullCookie= new String();

	fullCookie=getCookie(cookieName);
	if (fullCookie!=null)
		fullCookie=RemoveSubCookie(fullCookie,subcookieName);
	else
		fullCookie="";
	value=fullCookie + subcookieName + "=" + value + "; ";

	setCookie(cookieName,value);
}

function setCookie(name,value) {
	document.cookie = name + "=\"" + escape(value) + "\"; expires=" + expdate.toGMTString() + "; path=/" + fetchPath(document.location);
}

function fetchPath(loc) {
	var	myURL =	loc	+ "";
	if(myURL.indexOf("file:///")!=-1)
		{
		 expdate	= new Date();
		expdate.setTime	(expdate.getTime() +  300000); // 5 mins later
		return "";
		}
	var	myPos =	myURL.indexOf( "/",	8 );
	var	myPth =	myURL.substring( myPos + 1 );
	myPos = myPth.indexOf( "?" );
	if (myPos != -1)
		myPth = myPth.substring( 0, myPos);

	myPos =	myPth.lastIndexOf( "/" );
	if ( myPos != -1 )
		return myPth.substring(	0, myPos );
	else
		return "";
}

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;
	}
}

