/************************************************************
Библиотека функций для упрощения работы с ключиками (cookies).

set_cookie(keyname,keyvalue,days) - записывает ключик
get_cookie(keyname) - читает указанный ключик
del_cookie(keyname) - удаляет указанный ключик
show_all_cookies() - показывает все ключики alert-ом

Подключается к HTML в Netscape 3+, IE 4+ при помощи тега:
<SCRIPT SRC="cookielib.js" TYPE="text/JavaScript"></SCRIPT>

Copyright (c) 1999 SNK Software.
URL: http://www.book.ru/snk
E-mail: skorzh@email.com
************************************************************/

/*
"Служебная" функция. Читает ключики и создает массив.
*/
function read_cookie() {
// Создаем и заполняеи массив для каждого ключика 
var cokList = document.cookie.split("; ");
// Создаем массив для хранения ключиков в виде имя-значение 
var cokArray = new Array(); 
// А затем заполняем его
for (var i=0; i<cokList.length; i++) {
 // Разбиваем ключик на имя и значение 
 var name = cokList[i].split("=");
 // Заполняем очередной элемент массива 
 cokArray[unescape(name[0])] = unescape(name[1]);
 } //Конец цикла for
return cokArray;
} //Конец read_cookie

/*
Последовательно выводит все ключики в виде ИМЯ=ЗНАЧЕНИЕ
через функцию "alert". Удобно для тестирования.
*/
function show_all_cookies() {
var z;
var mycookies = read_cookie();
for (z in mycookies) {
 alert(z+"="+mycookies[z]);
 } //Конец цикла for
} //Конец show_all_cookies

/*
Записывает ключик. Принимает три аргумента:
keyname - уникальное имя (идентификатор) ключика
keyvalue - значение для этого ключика
days - количество дней, которое ключик будет храниться
*/
function set_cookie(keyname,keyvalue,days) {
var today = new Date();
var tomorrow = new Date();
tomorrow.setDate(days+tomorrow.getDate());
document.cookie=keyname+"="+keyvalue+"; expires="+tomorrow.toGMTString()+";"
} //Конец set_cookie

/*
Возвращает значение, записанное в ключике, имя которого
задается аргументом keyname. Если такого нет, возвращает null.
*/
function get_cookie(keyname) {
var z;
var mycookies = read_cookie();
for (z in mycookies) {
 if (z=keyname) return mycookies[z];
 }
return null;
} //Конец get_cookie

/*
Удаляет ключик по имени, заданному в keyname.
*/
function del_cookie(keyname) {
set_cookie(keyname,"",-1)
} //Конец del_cookie
