function GetCookie(name) 
{
    var index = document.cookie.indexOf(name + "=");
    if (index == -1) return null;
    index = document.cookie.indexOf("=", index) + 1;
    var endstr = document.cookie.indexOf(";", index);
    if (endstr == -1) endstr = document.cookie.length;
    return unescape(document.cookie.substring(index, endstr));
}

function SetCookie(name,value,expir)
{  
	if (expir == null)
	{
		document.cookie = name + "=" + escape (value) + "; path=/";
	}
	else
	{
		document.cookie = name + "=" + escape (value) + "; expires=" + expir.toUTCString() + "; path=/";
	}
}

function setDictionaryCookie(_cookiename,_key,_value,_expires,_path,_domain,_secure)
{
	cookievalue = GetCookie(_cookiename);
	if (cookievalue == null) {
		cookievalue = escape (_key) + "=" + escape (_value);
	} else {
		var keyValuePairs = new Array();
		for(var i=0; i < cookievalue.split("&").length; i++) {
			keyValuePairs[i] = cookievalue.split("&")[i];
		}
		cookievalue = "";
		var findKey = false;
		for(var j=0; j < keyValuePairs.length; j++) {
			if (j > 0){
				cookievalue += "&";
			}
			if(keyValuePairs[j].split("=")[0] == _key) {
				keyValuePairs[j] = escape (_key) + "=" + escape (_value);
				findKey = true;
			}
			cookievalue += keyValuePairs[j];
		}
		if(!findKey){
			cookievalue += "&" + escape (_key) + "=" + escape (_value);
		}
	}
	document.cookie = _cookiename + "=" + cookievalue +
	((_expires) ? "; expires=" + _expires.toGMTString() : "") +
	((_path) ? "; path=" + _path : "") +
	((_domain) ? "; domain=" + _domain : "") +
	((_domain) ? "; secure" : "");
}

function getDictionaryCookie(_cookiename,_key)
{
	cookievalue = GetCookie(_cookiename);
	if (cookievalue == null) {
		return null;
	} else {
		var keyValuePairs = new Array();
		for(var i=0; i < cookievalue.split("&").length; i++) {
			keyValuePairs[i] = cookievalue.split("&")[i];
		}
		var keyValue = null;
		for(var j=0; j < keyValuePairs.length; j++) {
			if(keyValuePairs[j].split("=")[0] == _key) {
				keyValue = keyValuePairs[j].split("=")[1];
			}
		}
		if(keyValue != null){
			return keyValue;
		} else {
			return null;
		}
	}
}

function DeleteCookie(name)
{  
	var exp = new Date();  
	exp.setTime (exp.getTime() - 1);  
	var cval = GetCookie(name);  
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

function getCookieVal(offset)
{
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1) endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}
