function CookieEx(){
     this.getCookie=function(key){
	    var arg = key + "=";
	    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 this.getCookieVal(j); 
		    i = document.cookie.indexOf(" ",i) + 1;
		    if (i == 0) break;
	    }
	    return null;

    };

    this.setCookie=function (key,value){
	    var expdate = new Date();
	    var argv = this.setCookie.arguments;
	    var argc = this.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;
	    if(expires!=null) expdate.setTime(expdate.getTime() + ( expires * 1000 ));
	    document.cookie = key + "=" + escape(value) +((expires == null) ? "" : ("; expires="+ expdate.toGMTString())) +((path == null) ? "" : ("; path=" + path)) +((domain == null) ? "" : ("; domain=" + domain)) +((secure == true) ? "; secure" : ""); 
    };

    this.getCookieVal=function (offset){
	    var endstr = document.cookie.indexOf (";", offset);
	    if (endstr == -1) endstr = document.cookie.length;
	    return unescape(document.cookie.substring(offset,endstr));
    };

    this.delCookie=function (name){ 
	    var exp = new Date(); 
	    exp.setTime (exp.getTime() - 1); 
	    var cval = this.getCookie(name); 
	    document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString(); 
    };
}
