// Управление cookie документа
function Cookie()
{
	this.$cookies = new Array();
	// Собираем все cookie документа
	var cookies = document.cookie.split(/; /g);
	if (!cookies)
		return;
	for (var i = 0; i < cookies.length; i++)
	{
		if (cookies[i].indexOf("=") == -1)
			continue;
		this.$cookies.push({name:cookies[i].substring(0, cookies[i].indexOf("=")), value:decodeURIComponent(cookies[i].substring(cookies[i].indexOf("=") + 1))});
	}
}

Cookie.prototype.Set = function (Name/* String */, Value/* Object */, Expires/* Integer секунды */)
{
	if (!Expires)
		Expires = 0;
	var exists = false;
	for (var i = 0; i < this.$cookies.length; i++)
	{
		if (this.$cookies[i].name == Name)
		{
			this.$cookies[i].value = Value;
			this.$cookies[i].expires = Expires;
			exists = true;
			break;
		}
	}
	if (!exists)
		this.$cookies.push({name:Name, value:Value, expires:Expires});
	this.Save();
}

Cookie.prototype.Get = function (Name/* String */)
{
	for (var i = 0; i < this.$cookies.length; i++)
	{
		if (this.$cookies[i].name == Name)
			return this.$cookies[i].value;
	}
	return null;
}

Cookie.prototype.Save = function ()
{
	for (var i = 0; i < this.$cookies.length; i++)
	{
		var expiresDate = new Date();
		expiresDate.setTime(expiresDate.getTime() + (this.$cookies[i].expires * 1000));
		if (this.$cookies[i].expires && this.$cookies[i].expires != 0)
			document.cookie = this.$cookies[i].name + "=" + encodeURIComponent(this.$cookies[i].value) + "; expires=" + expiresDate.toGMTString();
		else
			document.cookie = this.$cookies[i].name + "=" + encodeURIComponent(this.$cookies[i].value);
	}
}
