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" : "");
}

function getCookie(name)
{
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1)
    {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
    {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

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";
    }
}

function setCookieArray(name){
    this.length = setCookieArray.arguments.length - 1;
    for (var i = 0; i < this.length; i++){
        data = setCookieArray.arguments[i + 1];
        setCookie(name + i, data);
    }        
}

function getCookieArray(name){
    var i = 0;
    while (getCookie(name + i) != null) {
        this[i] = getCookie(name + i);
        i++; this.length = i;
    }
}

function getCookieArray_old(name){
    var i = 0;
    while (getCookie(name + i) != null) {
        this[i + 1] = getCookie(name + i);
        i++; this.length = i;
    }
}

function addtoCookieArray(name){
    var tobeadded = addtoCookieArray.arguments.length - 1;
    var ckiary = new getCookieArray(name);
    for (var i = 0; i < tobeadded; i++){
    	data = addtoCookieArray.arguments[i+1];
    	idx = ckiary.length + i;
    	setCookie(name+idx,data);
    }
}

function deleteCookieArray(name){
    var i=0;
    while(getCookie(name + i) != null){
    	deleteCookie(name + i);
    	i++;
    }
}

function appendCookie(name,newdata){
    var old_cookie = getCookie(name);
    if (old_cookie != null && old_Cookie != ""){
    	var fresh_data = escape(old_cookie + "," + newdata);
    	setCookie(name, fresh_data);
    }
}

function removeCookieArrayItem(ckiname, removeitem){
   var ckiary = new getCookieArray(ckiname); 
   var newary = new Array();
   var newarysize = 0;
   
   for (var i = 0; i < ckiary.length; i++){
   	var ckiary_info = ckiary[i].split(",");
   	if (ckiary_info[0] != removeitem){
   	  newarysize = newary.push(ckiary[i]);
        }
   } 
   deleteCookieArray(ckiname);
   for (var j = 0; j < newarysize; j++){ 
   	if (j == 0)
   	  var temp = new setCookieArray(ckiname , newary[j]);
   	else
   	  addtoCookieArray(ckiname, newary[j]);
   }
}


