function GetCookieLength (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){
            var endstr = document.cookie.indexOf (";", j);
            if (endstr == -1)
                endstr = document.cookie.length;
            return endstr - i;
        }
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) break;
    }
    return 0;
}


function SetCookie (name,value,expires,path,domain,secure) {
	//alert("Cookie set for " + name + " : " +  value);
    var newCookie = name + "=" + escape (value) +

        ((expires) ? "; expires=" + expires.toGMTString() : "") +

        ((path) ? "; path=" + path : "") +

        ((domain) ? "; domain=" + domain : "") +

        ((secure) ? "; secure" : "");
    var newLength = (name + '=' + escape(value)).length;
    var oldLength = GetCookieLength(name);
    var chtml_urllength = GetCookieLength('chtml_url');
    var predictedmaxsize = document.cookie.length + (newLength - oldLength) + (512 - chtml_urllength);
    if (predictedmaxsize >= 4096)
        return 0;
    document.cookie = newCookie;
    return 1;
}