var connector = zXmlHttp.createRequest();
var themeName = readCookie("site_theme");

function hilite(element){
    element.className = "menu_tab_hlt";
    element.childNodes[1].className = "menu_link_active";
}

function unlite(element){
    element.className = "menu_tab";
    element.childNodes[1].className = "menu_link";
}

function nameEntry(){
    var target = document.getElementById("entry_name");
    var source = document.getElementById("name_input");
    target.innerHTML = '<b>' + source.value + '</b>';
}

function lite(element){
    var base = element.className.split(" ");
    element.className = (base.length < 2)?base[0] + " back":base[0];
}

function edit(act, id){
    var editor_path = "editor.php?act=" + act + "&do=edit&id=" + id;
    window.open(editor_path, "Editor", "width=800, height=700, location=no, resizable=no, toolbar=no, statusbar=no");
}

function placeWindow(){
    var coords = {w: ((screen.availWidth - window.outerWidth) / 2), 
                 h: ((screen.availHeight - window.outerHeight) / 2)};
    
    window.moveTo(coords.w, coords.h);
}

function readCookie(name) {
    var cookieValue = "";
    var search = name + "=";
    if(document.cookie.length > 0) { 
        offset = document.cookie.indexOf(search);
        if (offset != -1) { 
            offset += search.length; 
            end = document.cookie.indexOf(";", offset);            
            if (end == -1) end = document.cookie.length;
            cookieValue = unescape(document.cookie.substring(offset, end))
        } 
    }
    return cookieValue;
}

function setTitle(str){
    var site_name = readCookie("site_name");
    document.title = readCookie("site_name") + str;
}
/*
function handleNode(id){
    var themeName = readCookie("site_theme");
    child = document.getElementById(id).firstChild;
    while(par = child.parentNode){
        img = document.getElementById(par.id + '_img');
        if(par.className == "hidden"){
            par.className = "shown";
            img.src = "themes/" + themeName + "/images/minus_ar.gif";
            
        }else if(par.className == "shown"){
            par.className = "hidden";
            img.src = "themes/" + themeName + "/images/plus_ar.gif";
            
        }
        
        child = par;
    }
    if(sub = document.getElementById(id + '_sub')){
        img = document.getElementById(id + '_sub_img');
        if(sub.className == "hidden"){
            sub.className = "shown";
            img.src = "themes/" + themeName + "/images/minus_ar.gif";
        }else if(sub.className == "shown"){
            sub.className = "hidden";
            img.src = "themes/" + themeName + "/images/plus_ar.gif";
        }
    }
}
*/

function handleNode(id){    
    var themeName = readCookie("site_theme");
    child = document.getElementById(id).firstChild;
    if(sub = document.getElementById(id + '_sub')){
        img = document.getElementById(id + '_sub_img');
        if(sub.className == "hidden"){
            sub.className = "shown";
            img.src = "themes/" + themeName + "/images/minus_ar.gif";
        }
        else if(sub.className == "shown"){
            sub.className = "hidden";
            img.src = "themes/" + themeName + "/images/plus_ar.gif";
        }
    }
    while(par = child.parentNode){
        img = document.getElementById(par.id + '_img');
        if(par.className == "hidden"){
            par.className = "shown";
            img.src = "themes/" + themeName + "/images/minus_ar.gif";
            
        }
        
        child = par;
    }
}

function updateCart(formName){
    var url ='session.php';
    var method = "POST";
    var params = '';
    var form = document.getElementById(formName);
    for(var i = 0; i < form.length; i++){
        params += "&" + form[i].name + "=" + form[i].value;
    }
    var oXmlHttp = zXmlHttp.createRequest();
    oXmlHttp.onreadystatechange = function(){
        var result = document.getElementById("response");
        if (oXmlHttp.readyState == 4){
            if (oXmlHttp.status == 200){
                result.innerHTML = oXmlHttp.responseText;
            }else{
                result.innerHTML = "Problem retrieving XML data";
            }
        }
    }
    oXmlHttp.open(method, url, true);
    oXmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    oXmlHttp.send(params);
}

function deleteNode(id){
    var structureTable = document.getElementById("structure");
    var fullId = id.split("_");
    var entryName = document.getElementById(id).childNodes[3].childNodes[3].text;
    if(confirm("Точно удалить запись \"" + entryName + "\"?")){
        connector.onreadystatechange = function(){
            if (connector.readyState == 4){
                if (connector.status == 200){
                    structureTable.innerHTML = connector.responseText;
                }else{
                    alert("Problem retrieving XML data");
                }
            }
        }
        url = "actions.php?action=delete&table=" + fullId[0] + "&id=" + fullId[1];
        connector.open("GET", url, true);
        connector.send(null);
    }
}

function reOrder(id, updown){
    var structureTable = document.getElementById("structure");
    var fullId = id.split("_");
    connector.onreadystatechange = function(){
        if (connector.readyState == 4){
            if (connector.status == 200){
                structureTable.innerHTML = connector.responseText;
            }else{
                alert("Problem retrieving XML data");
            }
        }
    }
    var url = "actions.php?action=reOrder&table=" + fullId[0] + "&id=" + fullId[1] + "&updown=" + updown;
    connector.open("GET", url, true);
    connector.send(null);
}

function reDraw(){
    var structureTable = document.getElementById("structure");
    connector.onreadystatechange = function(){
        if (connector.readyState == 4){
            if (connector.status == 200){
                structureTable.innerHTML = connector.responseText;
            }else{
                alert("Problem retrieving XML data");
            }
        }
    }
    var url = "actions.php?action=reDraw";
    connector.open("GET", url, true);
    connector.send(null);
}

function addEntry(pid){
    var fullPid = pid.split("_");
    var editor_path = "editor.php?act=" + fullPid[0] + "&do=add&pid=" + fullPid[1];
    window.open(editor_path, "Editor", "width=800, height=700, toolbar=no, statusbar=no");
}

function keep(elem)
{
    elem.checked = (elem.checked)?false:true;
}
