var edit = 0;
var selected = 0;
function initialize_onscreen()
{
    selected=0;
    edit = 0;
    $$('.onscreen_edit_input').removeEvent("blur");
    $$('.onscreen_edit_input').addEvent('blur', function(e)
    {
        $$('.onscreen_edit_input').setStyle('display','none');
        $$('.onscreen_edit_title').setStyle('display','');
        selected=0;
        edit = 0;
    });

    $$('.onscreen_edit_title').removeEvent("mouseover");
    $$('.onscreen_edit_title').addEvent('mouseover', function(e)
    {
        if (this.getStyle("font-color")!=="#ffffff")
            this.highlight("#ffffff","#cccccc");
        this.setStyle("border-bottom","1px solid #ddd");
    });
    $$('.onscreen_edit_title').removeEvent("mouseout");
    $$('.onscreen_edit_title').addEvent('mouseout', function(e)
    {
        this.highlight("#cccccc","#ffffff");
        this.setStyle("border-bottom","1px dotted #ddd");
    });
}


function get_siteconfig()
{
    var myRequest = new Request.HTML({
        url: 'modules/siteconfig/ajax/siteconfig.php',
        method: 'get',
        update: 'out_block_top',
        evalScripts: true,
        onRequest: function()
        {
        },
        onComplete: function()
        {
        }
    }).send();

}

function getStyle_(elem, name) {
    // Если необходимое свойство содержится в аттрибуте style[]
    // тогда, оно является текущим
    if (elem.style[name])
        return elem.style[name];

    // Вычисляем значение стиля используя метод IE
    else if (elem.currentStyle)
        return elem.currentStyle[name];

    // или W3C метод, если таковой имеется
    else if (document.defaultView && document.defaultView.getComputedStyle) {
        name = name.replace(/([A-Z])/g,"-$1");
        name = name.toLowerCase();

        var s = document.defaultView.getComputedStyle(elem,"");
        return s && s.getPropertyValue(name);
    } else
        return null;
}

function createObject() {
    var request_type;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        request_type = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        request_type = new XMLHttpRequest();
    }
    return request_type;
}

var http = createObject();
var id_const;

function set_param(id) {
    var descr = document.getElementById('d'+id).value;
    var caption = document.getElementById('c'+id).value;
    var value = document.getElementById('v'+id).value;
    var part = document.getElementById('p'+id).value;
    http.open('get', './modules/siteconfig/ajax/siteconfig.php?action=set&id='+id+'&descr='+descr+'&caption='+caption+'&value='+value+'&part='+part);
    id_const = id;
    http.onreadystatechange = change_edit;

    http.send(null);
}

function add_param() {
    var descr = document.getElementById('dnew').value;
    var caption = document.getElementById('cnew').value;
    var value = document.getElementById('vnew').value;
    var part = document.getElementById('pnew').value;
    http.open('get', './modules/siteconfig/ajax/siteconfig.php?action=add&descr='+descr+'&caption='+caption+'&value='+value+'&part='+part);
    http.onreadystatechange =  re;
    http.send(null);
//document.location = document.location;
}

function del_param(id) {
    http.open('get', './modules/siteconfig/ajax/siteconfig.php?action=del&id='+id);
    http.onreadystatechange =  re;
    http.send(null);
}


function refresh(part) {
    //  document.getElementById('out_block_top').innerHTML = "<img src='images/skin/ajax_loader.gif' />";
    var part_ = part.value;
    http.open('get', './modules/siteconfig/ajax/siteconfig.php?action=refresh&part='+part_);
    http.onreadystatechange =  re;
    http.send(null);
//document.location = document.location;
}

function re() {
    if(http.readyState == 4){
        var response = http.responseText;
        document.getElementById('out_block_top').innerHTML = response;
    }
}

function editable(id)
{
    var descr = document.getElementById('d'+id);
    var caption = document.getElementById('c'+id);
    var value = document.getElementById('v'+id);
    var part = document.getElementById('p'+id);
    var descr_ = document.getElementById('d_'+id);
    var caption_ = document.getElementById('c_'+id);
    var value_ = document.getElementById('v_'+id);
    var part_ = document.getElementById('p_'+id);
    if (descr_.value!==descr.value)
        descr.style.backgroundColor="#ffffcc"; else descr.style.backgroundColor="";
    if (caption_.value!==caption.value)
        caption.style.backgroundColor="#ffffcc"; else caption.style.backgroundColor="";
    if (value_.value!==value.value)
        value.style.backgroundColor="#ffffcc"; else value.style.backgroundColor="";
    if (part_.value!==part.value)
        part.style.backgroundColor="#ffffcc"; else part.style.backgroundColor="";
}

function change_edit()
{
    var id = id_const;
    var descr = document.getElementById('d'+id);
    var caption = document.getElementById('c'+id);
    var value = document.getElementById('v'+id);
    var part = document.getElementById('p'+id);
    var descr_ = document.getElementById('d_'+id);
    var caption_ = document.getElementById('c_'+id);
    var value_ = document.getElementById('v_'+id);
    var part_ = document.getElementById('p_'+id);
    var row = document.getElementById('r'+id);
    descr.style.backgroundColor="";
    caption.style.backgroundColor="";
    value.style.backgroundColor="";
    part.style.backgroundColor="";
    descr_.value=descr.value;
    caption_.value=caption.value;
    value_.value=value.value;
    if (part_.value!==part.value)
    {
        row.style.display = 'none';
        if(!document.getElementById(part.value))
        {
            var input = document.createElement('input');
            var parts_line = document.getElementById('parts_line');
            input.type = 'button';
            input.value = part.value;
            input.id = part.value;
            parts_line.appendChild(input);

        }
    }
    part_.value=part.value;

}


function getCookie(name) {
    var cookie = " " + document.cookie;
    var search = " " + name + "=";
    var setStr = null;
    var offset = 0;
    var end = 0;
    if (cookie.length > 0) {
        offset = cookie.indexOf(search);
        if (offset != -1) {
            offset += search.length;
            end = cookie.indexOf(";", offset)
            if (end == -1) {
                end = cookie.length;
            }
            setStr = unescape(cookie.substring(offset, end));
        }
    }
    return(setStr);
}


function set_up(elem,event)
{
    var table = elem.getAttribute('data-table');
    var field = elem.getAttribute('data-field');
    var keyfield = elem.getAttribute('data-keyfield');
    var value = elem.value;
    var id = elem.getAttribute('data-id');
    if ($('ttl_'+table+field+id)!==null)
        $('ttl_'+table+field+id).innerHTML = value;
    value = value.replace('+','<plus>');
    value = escape(value);
    http.open('get', './modules/siteconfig/ajax/siteconfig.php?action=set_up&id='+id+'&table='+table+'&field='+field+'&keyfield='+keyfield+'&value='+value);
    http.send(null);

    var key = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
    if (key == 13)
    {
        //onScreenEdit(table+field+id,'true');
        $('val_'+table+field+id).setStyle('display','none');
        $('ttl_'+table+field+id).setStyle('display','block');
    }
    return table+id;
}

function root_editor(root)
{
     var type = root?'root':'noroot';
    http.open('get', './modules/siteconfig/ajax/siteconfig.php?'+type);
    http.onreadystatechange =  re;
    http.send(null);
}

function language_editor(lang_id)
{
    http.open('get', './modules/siteconfig/ajax/siteconfig.php?language_id='+lang_id);
    http.onreadystatechange =  re;
    http.send(null);
}

function getHexRGBColor(a) {
    a = a.replace(/\s/g, "");
    var c = a.match(/^rgb\((\d{1,3}[%]?),(\d{1,3}[%]?),(\d{1,3}[%]?)\)$/i);
    if (c) {
        a = "";
        for (var b = 1; b <= 3; b++) a += Math.round((c[b][c[b].length - 1] == "%" ? 2.55 : 1) * parseInt(c[b], 10)).toString(16).replace(/^(.)$/, "0$1")
    } else a = a.replace(/^#?([\da-f])([\da-f])([\da-f])$/i, "$1$1$2$2$3$3");
    return a
};

function nemedColor2Hex(a) {
    return {
        aliceblue: "#f0f8ff",
        antiquewhite: "#faebd7",
        aqua: "#00ffff",
        aquamarine: "#7fffd4",
        azure: "#f0ffff",
        beige: "#f5f5dc",
        bisque: "#ffe4c4",
        black: "#000000",
        blanchedalmond: "#ffebcd",
        blue: "#0000ff",
        blueviolet: "#8a2be2",
        brown: "#a52a2a",
        burlywood: "#deb887",
        cadetblue: "#5f9ea0",
        chartreuse: "#7fff00",
        chocolate: "#d2691e",
        coral: "#ff7f50",
        cornflowerblue: "#6495ed",
        cornsilk: "#fff8dc",
        crimson: "#dc143c",
        cyan: "#00ffff",
        darkblue: "#00008b",
        darkcyan: "#008b8b",
        darkgoldenrod: "#b8860b",
        darkgray: "#a9a9a9",
        darkgreen: "#006400",
        darkkhaki: "#bdb76b",
        darkmagenta: "#8b008b",
        darkolivegreen: "#556b2f",
        darkorange: "#ff8c00",
        darkorchid: "#9932cc",
        darkred: "#8b0000",
        darksalmon: "#e9967a",
        darkseagreen: "#8fbc8f",
        darkslateblue: "#483d8b",
        darkslategray: "#2f4f4f",
        darkturquoise: "#00ced1",
        darkviolet: "#9400d3",
        deeppink: "#ff1493",
        deepskyblue: "#00bfff",
        dimgray: "#696969",
        dodgerblue: "#1e90ff",
        feldspar: "#d19275",
        firebrick: "#b22222",
        floralwhite: "#fffaf0",
        forestgreen: "#228b22",
        fuchsia: "#ff00ff",
        gainsboro: "#dcdcdc",
        ghostwhite: "#f8f8ff",
        gold: "#ffd700",
        goldenrod: "#daa520",
        gray: "#808080",
        green: "#008000",
        greenyellow: "#adff2f",
        honeydew: "#f0fff0",
        hotpink: "#ff69b4",
        indianred: "#cd5c5c",
        indigo: "#4b0082",
        ivory: "#fffff0",
        khaki: "#f0e68c",
        lavender: "#e6e6fa",
        lavenderblush: "#fff0f5",
        lawngreen: "#7cfc00",
        lemonchiffon: "#fffacd",
        lightblue: "#add8e6",
        lightcoral: "#f08080",
        lightcyan: "#e0ffff",
        lightgoldenrodyellow: "#fafad2",
        lightgrey: "#d3d3d3",
        lightgreen: "#90ee90",
        lightpink: "#ffb6c1",
        lightsalmon: "#ffa07a",
        lightseagreen: "#20b2aa",
        lightskyblue: "#87cefa",
        lightslateblue: "#8470ff",
        lightslategray: "#778899",
        lightsteelblue: "#b0c4de",
        lightyellow: "#ffffe0",
        lime: "#00ff00",
        limegreen: "#32cd32",
        linen: "#faf0e6",
        magenta: "#ff00ff",
        maroon: "#800000",
        mediumaquamarine: "#66cdaa",
        mediumblue: "#0000cd",
        mediumorchid: "#ba55d3",
        mediumpurple: "#9370d8",
        mediumseagreen: "#3cb371",
        mediumslateblue: "#7b68ee",
        mediumspringgreen: "#00fa9a",
        mediumturquoise: "#48d1cc",
        mediumvioletred: "#c71585",
        midnightblue: "#191970",
        mintcream: "#f5fffa",
        mistyrose: "#ffe4e1",
        moccasin: "#ffe4b5",
        navajowhite: "#ffdead",
        navy: "#000080",
        oldlace: "#fdf5e6",
        olive: "#808000",
        olivedrab: "#6b8e23",
        orange: "#ffa500",
        orangered: "#ff4500",
        orchid: "#da70d6",
        palegoldenrod: "#eee8aa",
        palegreen: "#98fb98",
        paleturquoise: "#afeeee",
        palevioletred: "#d87093",
        papayawhip: "#ffefd5",
        peachpuff: "#ffdab9",
        peru: "#cd853f",
        pink: "#ffc0cb",
        plum: "#dda0dd",
        powderblue: "#b0e0e6",
        purple: "#800080",
        red: "#ff0000",
        rosybrown: "#bc8f8f",
        royalblue: "#4169e1",
        saddlebrown: "#8b4513",
        salmon: "#fa8072",
        sandybrown: "#f4a460",
        seagreen: "#2e8b57",
        seashell: "#fff5ee",
        sienna: "#a0522d",
        silver: "#c0c0c0",
        skyblue: "#87ceeb",
        slateblue: "#6a5acd",
        slategray: "#708090",
        snow: "#fffafa",
        springgreen: "#00ff7f",
        steelblue: "#4682b4",
        tan: "#d2b48c",
        teal: "#008080",
        thistle: "#d8bfd8",
        tomato: "#ff6347",
        turquoise: "#40e0d0",
        violet: "#ee82ee",
        violetred: "#d02090",
        wheat: "#f5deb3",
        white: "#ffffff",
        whitesmoke: "#f5f5f5",
        yellow: "#ffff00",
        yellowgreen: "#9acd32"
    }
    [a.toLowerCase()] || null
};

function inversion(a) {
    a = nemedColor2Hex(a) || a;
    a = getHexRGBColor(a);
    a = a.match(/^#?([\dabcdef]{2})([\dabcdef]{2})([\dabcdef]{2})$/i);
    if (!a) return false;
    for (var b = 1, c = "#"; b <= 3; b++) c += (255 - parseInt(a[b], 16)).toString(16).toUpperCase().replace(/^(.)$/, "0$1");
    return c
};

function onScreenEdit(name,focus)
{
    var val = $('val_'+name);
    var ttl = $('ttl_'+name);
    var but = $('but_'+name);
    var size = ttl.getSize();
    val.readOnly=0;

    if (ttl.style.display == 'none')
    {
        if ((focus=='false'&&edit==0)||focus===true)
        {
            ttl.setStyle('border','none');
            if (edit==0||focus===true)
            {
                ttl.setStyle('display','block');
                val.setStyle('display','none');
                but.setStyle('display','none');
            }
            else  ttl.setStyle('border','1px inset #dadada');
            if (ttl.style.border!=='none')
                ttl.setStyle('border','none');
            selected=0;
            edit=0;
        }

    }
    else
    if (selected==0||focus===true)
    {
        ttl.setStyle('display','none');
        val.setStyle('display','block');
        //      but.setStyle('display','block');
        val.setStyle('color',getStyle_(ttl.parentNode,'color'));

        val.setStyle('font',getStyle_(ttl.parentNode,'font'));

        val.setStyle('font-size',getStyle_(ttl.parentNode,'font-size'));
        val.setStyle('font-family',getStyle_(ttl.parentNode,'font-family'));
        val.setStyle('font-weight',getStyle_(ttl.parentNode,'font-weight'));

        val.setStyle('text-align',getStyle_(ttl.parentNode,'text-align'));
        val.setStyle('line-height',getStyle_(ttl.parentNode,'line-height'));
        val.setStyle('padding-left',getStyle_(ttl,'padding-left'));
        val.setStyle('padding-right',getStyle_(ttl,'padding-right'));
        val.setStyle('padding-bottom',getStyle_(ttl,'padding-top'));
        val.setStyle('padding-bottom',getStyle_(ttl,'padding-bottom'));
        if (getStyle_(ttl.parentNode,'text-align')=='left')
        {
            val.setStyle('margin-left',getStyle_(ttl,'margin-left')-1);
            val.setStyle('margin-right',0);
        }
        if (getStyle_(ttl.parentNode,'text-align')=='right')
        {
            val.setStyle('margin-left',0);
            val.setStyle('margin-right',getStyle_(ttl,'margin-right')-1);
        }
        val.setStyle('margin-top',getStyle_(ttl,'margin-top')-1);
        val.setStyle('margin-bottom',getStyle_(ttl,'margin-bottom'));
        val.setStyle('border-left',getStyle_(ttl,'border-left'));
        val.setStyle('border-right',getStyle_(ttl,'border-right'));
        val.setStyle('border-top',getStyle_(ttl,'border-top'));
        val.setStyle('border-bottom',getStyle_(ttl,'border-bottom'));
        val.setStyle('float',getStyle_(ttl.parentNode,'float'));
        val.setStyle('width',size.x);
        val.setStyle('height',getStyle_(ttl,'height'));
        val.setStyle('background','none');

        if (focus==true)
            val.focus();
        selected=1;
    }



    return focus;

}
