var reRemoveWWW = /^www\./
var strHostname = location.hostname.replace(reRemoveWWW, "");
var never = new Date();
never.setTime(never.getTime() + (365*24*60*60*1000));

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 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 SetCookie (name, value) {  
  var argv = SetCookie.arguments;  
  var argc = SetCookie.arguments.length;  
  var expires = (argc > 2) ? argv[2] : null;  
  var path = (argc > 3) ? argv[3] : null;  
  var domain = (argc > 4) ? argv[4] : null;  
  var secure = (argc > 5) ? argv[5] : false;  
  document.cookie = name + "=" + value +          
    ((expires == null) ? ""         : ("; expires=" + expires.toGMTString())) + 
    ((path == null)    ? "; path=/" : ("; path=" + path)) +  
    ((domain == null)  ? ""         : ("; domain=" + domain)) +    
    ((secure == true)  ? "; secure" : "");
}
  
function DeleteCookie (name) {  
  var exp = new Date();  
  exp.setTime (exp.getTime() - 1);  
  var cval = GetCookie (name);  
  document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

function GetChip (cookiename, name) {  
  var cookie=GetCookie(cookiename)
    if (cookie != null){
    var arg=name+"=";  
    var alen=arg.length;  
    var i = cookie.indexOf(arg); 
      if (i>=0) {
        var j = cookie.indexOf("&", i);
        if (j>=0) {
          return cookie.substring(i+alen,j)
        } else {
        return cookie.slice(i+alen);
      }
    } else return null
  } else return null      
}

function SetChip(cookiename, name, value){
   var argv = SetChip.arguments;  
   var argc = SetChip.arguments.length;  
   var expires = (argc > 2) ? argv[3] : never; 
   var cookie=GetCookie(cookiename);
   var arg=name+"=";
   if (cookie==null) cookie = "";
   var i = cookie.indexOf(arg);
   var trail =""; 
   if (i>=0) {               
     var j = cookie.indexOf("&", i); 
     if (j>=0) trail=cookie.slice(j);  
     SetCookie(cookiename, cookie.substring(0,i)+arg+value+trail, expires, '/', strHostname);    
   } else {                             
     SetCookie(cookiename, cookie+'&'+arg+value, expires, '/', strHostname);    
   } 
}

function DeleteChip(cookiename, name){
  var cookie=GetCookie(cookiename);
  if (cookie != null) {
    var arg=name+"=";
    var i = cookie.indexOf(arg);
    var trail ="";
    if (i>=0) {              
      var j = cookie.indexOf("&", i);  
      if (j>=0) {
        trail=cookie.slice(j+1);     
        SetCookie(cookiename, cookie.substring(0,i)+trail, never);
        return 1
      } else {
        SetCookie(cookiename, cookie.substring(0,i-1), never);
          return 1;
        }
    } else return null        
  } else return null
}

// build array of querystring values
var qs = new Array();
var querystring = unescape(document.location.search);
if (querystring != "") {
  var varArray = querystring.substring(
                   querystring.lastIndexOf("?") + 1,
                   querystring.length
                 ).split("&");
} else {
  var varArray = Array();
}
for (var ii = 0; ii < varArray.length; ii++) {
  if (varArray[ii] != "") {
    var varValueArray = varArray[ii].split("=");
    if (varValueArray.length == 1) {
      varValueArray[1] = '';
    }
    if (typeof qs[varValueArray[0]] != "undefined" && varValueArray[0] != "") {
      if (typeof qs[varValueArray[0]] == "object") {
        qs[varValueArray[0]].push(varValueArray[1]);
      } else {
        if (qs[varValueArray[0]] != varValueArray[1]) {
          var valueArray = new Array(qs[varValueArray[0]],varValueArray[1]);
          qs[varValueArray[0]] = valueArray;
        }
      }
    } else {
      qs[varValueArray[0]] = varValueArray[1];
    }
  }
}