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 getCookieVal(offset){
   var endstr=document.cookie.indexOf(";", offset);
   if(endstr==-1) endstr=document.cookie.length;
   return unescape(document.cookie.substring(offset,endstr));
}

function setCookie(name, value){
   var exp=new Date(2100,1,1);
   document.cookie=name+"="+escape(value)+";expires="+exp.toGMTString()+";path=/";
}

function setTempCookie(name, value){
   document.cookie=name+"="+escape(value)+";path=/";
}

function getObjectCookie(name) {
   var temp = getCookie(name);
   var final = eval('(' + temp + ')');
   return final;
}

function expireCookie(name){
   var exp=new Date();
   exp.setTime(exp.getTime()-1);
   var cval=getCookie(name);
   //in the domain we use the same cookie
   document.cookie=name+"="+cval+";expires="+exp.toGMTString()+";path=/";
}