// JavaScript Document
var DHTML = 0, DOM = 0, MS = 0, NS = 0, OP = 0;

function DHTML_init() {
 if (window.opera) {
     OP = 1;
 }
 if(document.getElementById) {
   DHTML = 1;
   DOM = 1;
 }
 if(document.all && !OP) {
   DHTML = 1;
   MS = 1;
 }
if(document.layers && !OP) {
   DHTML = 1;
   NS = 1;
 }
}

function getElem(p1,p2,p3) {
 var Elem;
 if(DOM) {
   if(p1.toLowerCase()=="id") {
     if (typeof document.getElementById(p2) == "object")
     Elem = document.getElementById(p2);
     else Elem = void(0);
     return(Elem);
   }
   else if(p1.toLowerCase()=="name") {
     if (typeof document.getElementsByName(p2) == "object")
     Elem = document.getElementsByName(p2)[p3];
     else Elem = void(0);
     return(Elem);
   }
   else if(p1.toLowerCase()=="tagname") {
     if (typeof document.getElementsByTagName(p2) == "object" || (OP && typeof document.getElementsByTagName(p2) == "function"))
     Elem = document.getElementsByTagName(p2)[p3];
     else Elem = void(0);
     return(Elem);
   }
   else return void(0);
 }
 else if(MS) {
   if(p1.toLowerCase()=="id") {
     if (typeof document.all[p2] == "object")
     Elem = document.all[p2];
     else Elem = void(0);
     return(Elem);
   }
   else if(p1.toLowerCase()=="tagname") {
     if (typeof document.all.tags(p2) == "object")
     Elem = document.all.tags(p2)[p3];
     else Elem = void(0);
     return(Elem);
   }
   else if(p1.toLowerCase()=="name") {
     if (typeof document[p2] == "object")
     Elem = document[p2];
     else Elem = void(0);
     return(Elem);
   }
   else return void(0);
 }
 else if(NS) {
   if(p1.toLowerCase()=="id" || p1.toLowerCase()=="name") {
   if (typeof document[p2] == "object")
     Elem = document[p2];
     else Elem = void(0);
     return(Elem);
   }
   else if(p1.toLowerCase()=="index") {
    if (typeof document.layers[p2] == "object")
     Elem = document.layers[p2];
    else Elem = void(0);
     return(Elem);
   }
   else return void(0);
 }
}

function getCont(p1,p2,p3) {
   var Cont;
   if(DOM && getElem(p1,p2,p3) && getElem(p1,p2,p3).firstChild) {
     if(getElem(p1,p2,p3).firstChild.nodeType == 3)
       Cont = getElem(p1,p2,p3).firstChild.nodeValue;
     else
       Cont = "";
     return(Cont);
   }
   else if(MS && getElem(p1,p2,p3)) {
     Cont = getElem(p1,p2,p3).innerText;
     return(Cont);
   }
   else return null;
}

function getAttr(p1,p2,p3,p4) {
   var Attr;
   if((DOM || MS) && getElem(p1,p2,p3)) {
     Attr = getElem(p1,p2,p3).getAttribute(p4);
     return(Attr);
   }
   else if (NS && getElem(p1,p2)) {
       if (typeof getElem(p1,p2)[p3] == "object")
        Attr=getElem(p1,p2)[p3][p4]
       else
        Attr=getElem(p1,p2)[p4]
         return Attr;
       }
   else return null;
}

function setCont(p1,p2,p3,p4) {
   if(DOM && getElem(p1,p2,p3) && getElem(p1,p2,p3).firstChild)
     getElem(p1,p2,p3).firstChild.nodeValue = p4;
   else if(MS && getElem(p1,p2,p3))
     getElem(p1,p2,p3).innerText = p4;
   else if(NS && getElem(p1,p2,p3)) {
     getElem(p1,p2,p3).document.open();
     getElem(p1,p2,p3).document.write(p4);
     getElem(p1,p2,p3).document.close();
   }
}

var lastBorderColor = null;
var lastObject      = null;
function setBorderColor(p1,p2,p3,p4) {
    if(p1 == null && lastObject != null) {
        lastObject.style.borderColor = lastBorderColor;
        lastObject = null;
        lastBorderColor = null;
    } else if(DOM || MS || NS) {
        elem = getElem(p1,p2,p3);
        if(typeof elem == "object" && typeof elem.style == "object" && elem != lastObject) {
            if(lastBorderColor!=null && lastObject!=null) {
                lastObject.style.borderColor = lastBorderColor;
            }
            if(p4 != null) {
                lastBorderColor = elem.style.borderColor;
                lastObject      = elem;
                elem.style.borderColor = p4;
            }
        }
    }
}

function setBgColor(id, color) {
    elem = getElem("id", id, null);
    if(typeof elem == "object" && typeof elem.bgColor == "string") {
        elem.bgColor = color;
    }
}

function setBgColor(elem, color) {
    if(typeof elem == "object" && typeof elem.bgColor == "string") {
        elem.bgColor = color;
    }
}

function showCursorPosition(textarea, id, mLength) {
    var txt = textarea.value;
    var erg = txt.split("\n");
    var len = txt.length;
    var pos = -1;
    if(typeof document.selection != "undefined") { // FOR MSIE
        range_sel = document.selection.createRange();
        range_obj = textarea.createTextRange();
        range_obj.moveToBookmark(range_sel.getBookmark());
        range_obj.moveEnd('character',len);
        pos = len - range_obj.text.length;
    } else if(typeof textarea.selectionStart != "undefined") { // FOR MOZILLA
        pos = textarea.selectionStart;
    }
    if(pos != -1) {
        var ind = 0;
        var lng = 0;
        for(;ind<erg.length;ind++) {
            lng = erg[ind].length + 1;
            if(pos < lng)
                break;
            pos -= lng;
        }
        ind++; pos++;
        setCont(
            "id", id, null, 
            ind + ":" + pos + 
            " - " + len
        ); // ind = ROW, pos = COLUMN, len = TEXT LENGTH
    }
    var tLength = textarea.value.length;
    if (tLength > mLength){
        textarea.value = textarea.value.substr(0, mLength);
        return false;
    }
    return true;
}

DHTML_init();

/*******************************************************************************
* JPMS Functions
*******************************************************************************/
var changed   = false;
var inDataChg = false;
var maxUsed   = false;
var Content   = null;

function JPMS_ACTION(action, openModule) {
    if(changed || action!="back") {
        if(openModule) {
            document.jpms_input_form.open_module.value = openModule;
        } else {
            document.jpms_input_form.open_module.value = 
            document.jpms_input_form.this_module.value;
        }
        document.jpms_input_form.action.value = action;
        document.jpms_input_form.submit();
    } else {
        if(openModule) {
            document.jpms_open_form.open_module.value = openModule;
        } else {
            document.jpms_open_form.open_module.value = 
            document.jpms_input_form.this_module.value;
        }
        document.jpms_open_form.action.value = action;
        document.jpms_open_form.submit();
    }
    return false;
}

function JPMS_INPUT_CHANGED() {
    if(!changed)
        changed = true;
}

var last_div = null;

var object_lst = new Array();

function JPMS_VIEW_DIV(id, relative, v) {
    var arr = object_lst[id];
    var elem = null;
    if(arr == null) {
        elem = getElem("id",id,null);
        object_lst[id] = new Array();
        object_lst[id][0] = elem;
        object_lst[id][1] = true;
    } else {
        elem = arr[0];
        if(!arr[1] && !v)
            return;
    }
    if(elem != null && typeof elem == "object" && typeof elem.style == "object") {
        if(last_div!=null) {
            last_elem = getElem("id",last_div,null);
            if(typeof last_elem == "object" && typeof last_elem.style == "object") {
                last_elem.style.visibility = "hidden";
                last_elem.style.position = "absolute";
            }
        }
        elem.style.visibility = "visible";
        if(relative)
        elem.style.position = "relative";
        last_div = id;
    }
}

function JPMS_HIDE_DIV(id, v) {
    var arr = object_lst[id];
    var elem = null;
    if(arr == null) {
        elem = getElem("id",id,null);
        object_lst[id] = new Array();
        object_lst[id][0] = elem;
        object_lst[id][1] = v;
    } else {
        elem = arr[0];
        arr[1] = v;
    }
    if(elem != null && typeof elem == "object" && typeof elem.style == "object") {
        elem.style.visibility = "hidden";
        elem.style.position = "absolute";
    }
}

function JPMS_OPEN_WINDOW(name_, url_, width_, height_, noScrollbars) {
    x = 150;
    y = 100;
    scrollbars = ",scrollbars=yes";
    if(typeof screen == "object"){
        x = (screen.width-width_)/2;
        y = (screen.height-height_)/3;
    }
    if(noScrollbars) {
        scrollbars = ",scrollbars=no";
    }
    window_ = window.open(
        url_, name_, "left=" + x + ",top=" + y + ",width=" + width_ + ",height=" + 
        height_ + ",menubar=no,resizable=no" + scrollbars + ",status=no,toolbar=no");
    window_.focus();
}