function setCookie(name, value, expire, path) {
	var e = isNaN(expire) ? 0 : expire;
	var curDate = new Date();
	var cookieExpire = new Date(Date.parse(curDate.toUTCString()) + e * 24 * 60 * 60 * 1000);
	var cookiePath = path ? '; path=' + path : '';
	document.cookie = name + '=' + escape(value) + (e ? ('; expires=' + cookieExpire.toUTCString()) : '') + cookiePath;
}

function getCookie(name) {
	var search = name + '=';
	if (document.cookie.length > 0) {
		offset = document.cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = document.cookie.indexOf(';', offset);
			if (end == -1) end = document.cookie.length;
			return unescape(document.cookie.substring(offset, end));
		}
	}
	return '';
}

function StrToArray(_str, _separator){
    var massive = new Array();
    var tmp = null;
    var v = null;
    
    if (_str.length > 0) {
        while (_str.length > 0) {
            tmp = _str.indexOf(_separator);
            if (tmp > 0) {
                v = _str.substring(0, tmp);
                massive[massive.length] = v;
                _str = _str.substring(tmp + 1, _str.length);
            }
            else {
                if (_str.length > 0) {
                    massive[massive.length] = _str;
                }
                //return massive;
                break;
            }
        }
    }
    return massive;
}

function ArrayToStr(_array, _separator){
    var string = '';
    for (var i = 0; i < _array.length; i++) {
        if (string == '') {
            string += _array[i];
        }
        else {
            string += _separator + _array[i];
        }
    }
    return string;
}


function filter_set_cookie(cookie_name,id){
	if(cookie_name && id){
		cookie_str = getCookie(cookie_name);

		if(cookie_str){
			var arCookie = StrToArray(cookie_str, ';');
			var is_exist = false;
			var newCookie = new Array();
			
			
			for (var i = 0; i < arCookie.length; i++) {
				if (arCookie[i] == id) {
					delete(arCookie[i]);
					is_exist = true;
				}
				
				if(arCookie[i]){
					newCookie[newCookie.length] = arCookie[i]
				}
			}
			
			if (!is_exist) {
				newCookie[newCookie.length] = id;
			}
			
			strNewCookie = ArrayToStr(newCookie, ';');
			setCookie(cookie_name, strNewCookie, null, '/');
			
			
		}else{
			setCookie(cookie_name, id, null, '/');
		}	
	}	
}