var elems = new Array();
var m_a = "@";
var gm_p = "mailto:";

function pm(domain, name)
{
    document.write(name + m_a + domain + ".ru");
}

function gm(domain, name)
{
    document.location.href = gm_p + name + m_a + domain + ".ru";

    return false;
}

function elem(id)
{
    if(elems[id] == undefined)
        elems[id] = document.getElementById(id);

    return elems[id];
}

function number(value)
{
    return (value.search(/^[\d\.]+$/) == -1 ? 0 : Number(value));
}

function toFloat(value, n)
{
    if(n == undefined) n = 2;

    return Math.round(Number(value) * Math.pow(10, n)) / Math.pow(10, n);
}

function form_delete(oElem)
{
    while(oElem.nodeName != "FORM")
    {
        if(!oElem)
            return false;

        oElem = oElem.parentNode;
    }

    var query = "";

    if(confirm("Вы уверены, что хотите удалить? "))
    {
        for(var i = 0, len = oElem.elements.length; i < len; i++)
        {
            elem = oElem.elements[i];

            if(elem.name)
            {
                if(elem.name == "id" || (elem.name.search(/^ids\[/) != -1
                    && ((elem.type == "checkbox" || elem.type == "radio") && elem.checked)))
                        query += (query != "" ? "&" : "") + elem.name + "=" + elem.value;
            }
        }

        if(query == "")
        {
            alert("Не выбраны записи для удаления");
        }
        else
        {
            document.location.href = oElem.action + (oElem.action.search(/\?/) == -1 ? "?" : "&") + "action=delete&" + query;
        }
    }

    return true;
}

function check_all(oForm, checked)
{
    for(var i = 0, len = oForm.elements.length; i < len; i++)
    {
        elem = oForm.elements[i];

        if(elem.type == "checkbox" != -1 && !elem.disabled)
            elem.checked = checked;
    }
}

function parent_node(oElem)
{
    oElem = oElem.parentNode;

    if(oElem.nodeName == "TD")
    {
        oElem = oElem.parentNode;
    }

    return oElem;
}

function remove_node(oElem)
{
    if(confirm("Вы уверены? "))
    {
        oElem = (!oElem ? window.event.srcElement : oElem.target);
        oElem = parent_node(oElem);
        oElem.parentNode.removeChild(oElem);
    }
}

function clean_form(oElem)
{
    for(var i = 0, len = oElem.childNodes.length; i < len; i++)
    {
        var oChild = oElem.childNodes[i];

        if(oChild.nodeType == 1)
        {
            switch (oChild.nodeName)
            {
                case "SELECT": oChild.options[0].selected = true; break;
                case "INPUT": oChild.value = ""; break;
                case "TD": clean_form(oChild); break;
            }
        }
    }
}

function dublicate(oElem)
{
    var parent = parent_node(oElem);

    clean_form(parent.parentNode.appendChild(parent.cloneNode(true)));

    oElem.innerHTML = " &minus; ";
    oElem.onclick = remove_node;
}

function dialog(path, width, height)
{
    return window.open(path, "", "width=" + width + ",height=" + height + ",location=no,status=no,resizable,alwaysRaised,dependent,scrollbars");
}

function Gallery(data, size)
{
    switch ((typeof data).toString())
    {
        case "object":
            this.oParent = data.parentNode.parentNode;

            var match = document.location.href.match(/class=([^\&]+)/);

            dialog("?class=Files&method=gallery&f=" + match[1] + "&callback=Gallery" + (size != undefined ? "&size=" + size : ""), 550, 380);
            break;

        case "string":
            var oFirstTD = false, oImg = false;
            var tags = 0;

            for(var i = 0, len = this.oParent.childNodes.length; i < len; i++)
            {
                var oElem = this.oParent.childNodes[i];

                if(oElem.nodeType == 1)
                {
                    if(oFirstTD === false)
                    {
                        oFirstTD = oElem;

                        for(var j = 0, clen = oElem.childNodes.length; j < clen; j++)
                            if(oElem.childNodes[j].nodeType == 1)
                                oImg = oElem.childNodes[j];
                    }

                    tags++;
                }
            }

            if(tags == 1)
            {
                var oTD = document.createElement("TD");
                oTD.className = "image";
                this.oParent.appendChild(oTD);

                var oIMG = document.createElement("IMG");
                oIMG.setAttribute("src", data);
                oTD.appendChild(oIMG);

                this.oParent.insertBefore(oTD, oFirstTD);
            }
            else
            {
                oImg.src = data;
            }

            var parts = data.split(/\//);

            document.forms["myform"].gallery.value = parts[parts.length - 1];
            break;
    }
}

