/*
cookie_action = действие, призводимое с cookie (write,read,remove)
cookie_name = имя
cookie_value = значение
cookie_expires = через сколько минут удалить
cookie_domain = домен
cookie_path = путь
*/

function fn_cookie(cookie_action, cookie_name, cookie_value, cookie_expires, cookie_domain, cookie_path)
{
var time_0 = new Date();
var time_1 = new Date();
var i, start_pos, end_pos;
	if (cookie_action == 'write' || cookie_action == 'add' || cookie_action == 'create') //запись и изменение cookie
	{
		time_1.setTime(time_0.getTime()+cookie_expires*60*1000); //Установка времени существования cookie
		if (cookie_domain) //Если домен определен, занести его в cookie
		{
			cookie_domain="; domain="+cookie_domain;
		}
		else
		{
			cookie_domain="";
		}
		if (cookie_path) //Если путь определен, занести его в cookie
		{
			cookie_path="; path="+cookie_path;
		}
		else
		{
			cookie_path="";
		}
		document.cookie = cookie_name+"="+cookie_value+"; expires="+time_1.toGMTString()+cookie_domain+cookie_path;
		return document.cookie; //вернуть из программы cookie
	}
	if (cookie_action == 'read' || cookie_action == 'value' || cookie_action == 'view') //Чтение cookie
	{
		start_pos = document.cookie.indexOf(cookie_name + '=', 0);
		if (start_pos < 0)
		{
			cookie_value = '';
		}
		else
		{
			start_pos = start_pos + cookie_name.length + 1
			end_pos = document.cookie.indexOf(";", start_pos);
			if (end_pos < 0){end_pos = document.cookie.length};
			cookie_value = document.cookie.substring(start_pos, end_pos);
		}
		return cookie_value; //вернуть значение
	}
	if (cookie_action == 'remove' || cookie_action == 'delete' || cookie_action == 'clear') //если удалить
	{
		time_1.setTime(time_0.getTime()-1000); //установить время на секунду раньше
		document.cookie = cookie_name+"=remove; expires="+time_1.toGMTString()+";"; //записать его в cookie
		return;
	}
}
/*
открытие cookie с заданным именем, ели оно не существует
*/
function create_cookie(cookie_name, cookie_value, cookie_expires)
{
	cookie_val=fn_cookie('read', cookie_name);
	if (cookie_val)
	{
	}
	else
	{
		if (cookie_name.substr(0,6) == "random")
		{
			rnd = parseInt(Math.random() * 999999999, 0);
			fn_cookie('write', cookie_name, rnd, cookie_expires);
		}
		else
		{
			fn_cookie('write', cookie_name, cookie_value, cookie_expires);
		}
	}
}

