/*
Работа с куками.
*/
var Cookies;//массив с куками
var files_idold=0;

//разбор кук. Если стоит 2 одинаковых возьмется последняя для совместимости с php
function ParseCookies(){
    if(document.cookie)
        Cooks=document.cookie.split("; ");
    else
        Cooks=new Array();
    n=0;Cookies=new Array();
    for(var j=0;j<Cooks.length;j++){
        var a=Cooks[j].split("=");
        key=a[0];
        if(a[1])value=unescape(a[1]); else value="";
        flag=-1;
        for(var i=0;i<n;i++){
            if(Cookies[i][0]==key)flag=i;
        };
        if(flag==-1){
            Cookies[n]=new Array(key,value);
            n++;
        }
        else{
            Cookies[flag]=new Array(key,value);
        };
    }
};

//получение значения куки из массива
function GetCookie(name,def){
    for (var i=0; i < Cookies.length; i++){
        if(Cookies[i][0]==name){
            return Cookies[i][1];
        };
    };
    if(!def)def="";
    return def;
};

//установка куки.
function SetCookie (name, value) {
    var argv = SetCookie.arguments;
    var argc = SetCookie.arguments.length;

    value=escape(value);
    if(value.length>3500)return false;//защита от переполнения

    //время действия
    var expires;
    if(argc > 2){
        var time=new Date(), sec=time.getTime()/1000;sec+=argv[2];time.setTime(sec*1000);             
        expires=time;
    }
    else{
        expires=null;
    };
    //путь
    var path = (argc > 3) ? argv[3] : "/";
    //домен
    var domain = (argc > 4) ? argv[4] : null;

    document.cookie=name+"="+value+
                    ((expires == null) ? "" : ("; expires="+expires.toGMTString()))+
                    ((path == null) ? "" : ("; path=" + path))+
                    ((domain == null) ? "" : ("; domain=" + domain));
    ParseCookies();
    return true;
};

function checkinvert(form,str){
    for(i=0; i<form.length; i++)
    if(form[i].type=='checkbox'){
        name=form[i].name;
        if(name.indexOf(str)==0)
        form[i].checked = !form[i].checked;
    };
    return false;
};

/* Функция не запоминает позиции дерева*/
function ShowMenu(name,id,namec){
    el=document.getElementById(name);
	if(el){
		show=(el.style.display=='none')?0:1;
        el.style.display = show?'none':'';
        el2=document.getElementById('showhidden'+namec+id);
        el2.innerHTML=(show)?document.getElementById(namec+'deep_open').innerHTML:document.getElementById(namec+'deep_close').innerHTML;
    };
}

/* Функция запоминает позиции дерева с помощью кук*/
function ShowMenuMem(name,id,namec){
    str=GetCookie(namec,"");
    elem=str.split(",");
    str='';show=0;
    for(i=0;i<elem.length;i++){
		if(elem[i]=='')continue;
        if(elem[i]!=id)str+=elem[i]+','; else show=1;
    };
    if(!show)str=str+id;
    el=document.getElementById(name);
	if(el){
		show=(el.style.display=='none')?0:1;
        el.style.display = show?'none':'';
        el2=document.getElementById('showhidden'+namec+id);
        el2.innerHTML=(show)?document.getElementById(namec+'deep_open').innerHTML:document.getElementById(namec+'deep_close').innerHTML;
    };
    SetCookie(namec, str);
}

/* Скрывает файлы */
function HiddenFilesList(size){
	el=document.getElementById("listfiles");
	el.style.height=size+'px';
	//el.style.display = 'none';
}

/* помечает текущий файл */
function SelectFile(id){
	el=document.getElementById("file"+files_idold);
	if(el){
		el.style.fontWeight='normal';
		el.style.backgroundColor='';
	};
	el=document.getElementById("file"+id);
	if(el){
		el.style.backgroundColor='#FF00FF';
		el.style.fontWeight='bold';
	}
	files_idold=id;
}

ParseCookies();

