﻿function _see(p_id,p_err,p_vld) { setElementByIdError(p_id,p_err); if (p_vld) _ge(p_id).focus(); }
function _sene(p_id) { if (hasElementByIdError(p_id)) setElementByIdNoError(p_id); }

function _fi(id,name,vlds,valid) { var self = this; this.id = id; this.name = name; this.vlds = vlds; this.valid = valid; this.isVld = function() { for (var i = 0; i < this.vlds.length; i++) { if (!this.vlds[i].isVld()) { this.valid = false; _ge(this.id).title = this.vlds[i].msg; return false; } } this.valid = true; _ge(this.id).title = ""; return true; } }
function _fiv(vld,msg) { var self = this; this.vld = vld; this.msg = msg; this.isVld = function() { return eval(this.vld); } }

function _fld_rst(p_field) { p_field.style.backgroundColor = "#FFFFFF"; }
function _fld_vld(p_field) { var l_field; for (var i = 0; i < g_fi.length; i++) { if (g_fi[i].id == p_field.id) l_field = g_fi[i]; } if (!l_field) return ; if (l_field.isVld()) { _sene(p_field.id); p_field.style.backgroundColor = "#00CC00"; } else p_field.style.backgroundColor = "#FF0000"; }
function _frm_vld() { if (!g_fi) return true; var vld = true; for (var i = 0; i < g_fi.length; i++) { _sene(g_fi[i].id); _ge(g_fi[i].id).title = ""; _ge(g_fi[i].id).style.backgroundColor = "#FFFFFF"; for (var j = 0; j < g_fi[i].vlds.length; j++) { if (!g_fi[i].vlds[j].isVld()) { _see(g_fi[i].id,g_fi[i].vlds[j].msg,vld); vld = false; break; } } } return vld; }

function hasElementByIdError(id)
{
    if(_he(id) && _ge(id).parentNode && _ge(id).parentNode.className == "frm_err")
        return true;

    return false;
}

function setElementByIdError(id,error)
{
    if(!_he(id))
        return ;
    
    var element = _ge(id);
    
    var elements = new Array(element.parentNode.childNodes.length);
    for (var i = 0; i < element.parentNode.childNodes.length; i++)
        elements[i] = element.parentNode.childNodes[i];
    
    var divError = document.createElement("div");
    divError.className = "frm_err";
    element.parentNode.appendChild(divError);
    for (var i = 0; i < elements.length; i++)
        divError.appendChild(elements[i]);
    
    var divErrorDescription = document.createElement("div");
    divErrorDescription.className = "frm_err_dsc";
    divErrorDescription.innerHTML = error;;
    divError.appendChild(divErrorDescription);
}

function setElementByIdNoError(id)
{
    if(!_he(id))
        return ;
    
    var element = _ge(id);
    var elementError = element.parentNode;
    var elementParent = element.parentNode.parentNode;
    
    while (elementError.childNodes.length > 0)
    {
        if (elementError.childNodes[0].className == "frm_err_dsc")
            elementError.removeChild(elementError.childNodes[0]);
        else
            elementParent.appendChild(elementError.childNodes[0]);
    }
    
    elementParent.removeChild(elementError);
}

function order(column, ascension)
{
    _ge("ORDER").value = column;
    _ge("ASCENSION").value = ascension;
    _ge("RESULTS").submit();
}

function paging(start, count)
{
    _ge("START").value = start;
    _ge("COUNT").value = count;
    _ge("RESULTS").submit();
}