/*-----  Common -----------------------------------*/
window.onerror = HandleError;


function HandleError(message, url, line) {
    var req;
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
    }

    message += "  (at " + line + ")";
    t_url = "ax?operator=gui_log&url=" + url + "&err=" + message;

    req.open("GET", t_url, true); 
    req.send(null);

    //sv(url,"url", "log");
    //sv(message + "  (at " + line + ")" ,"message", "log");
    //parent.frames["log"].es("dispatch")
    //return true;
}

function noenter(){
    return !(window.event && window.event.keyCode == 13);
}

function setActiveLW(){
    parent.frames["footer"].idleTime.value=60;
}

function disableBtnImg(n, f){
    var obj = null;
    if (f == null)
        obj = document.getElementById(n);
    else  if (parent.frames[f] !=null)
        obj = parent.frames[f].document.getElementById(n);
    if ( obj == null) return;
    if (document.all)
        obj.style.filter = "alpha(opacity=45)";
    else
        obj.style.MozOpacity = 0.45;
}

function enableBtnImg(n, f){
    var obj = null;
    if (f == null)
        obj = document.getElementById(n);
    else  if (parent.frames[f] !=null)
        obj = parent.frames[f].document.getElementById(n);
    if ( obj == null) return;
    if (document.all)
        obj.style.filter = "";
    else
        obj.style.MozOpacity = "";  
}

function msgbox(op){
    var url = "msgbox.jsp?op=" + op;
    if (document.all)
        showModalDialog(url, this,
            "font-family:Verdana; font-size:12; dialogWidth:23em; dialogHeight:10em;status:no");
    else{
        window.open (url, "msgbox", "width=280, height=90,resizable"); 
    }
}

function inputbox(title, name, obj, fn, nu){
    var url = "inputbox.jsp?title=" + title + "&name=" + name + "&obj=" + obj + "&fn=" + fn + "&nu=" + nu;
    return window.open (url, "inputbox", "width=330, height=180,resizable"); 
    //return showModalDialog(url, this,
    //                       "font-size:11; dialogWidth:330px; dialogHeight:200px;status:no");
}

function inputbox2(title, name, obj, fn, nu){
    var url = "inputbox2.jsp?title=" + title + "&name=" + name + "&obj=" + obj + "&fn=" + fn + "&nu=" + nu;
    return window.open (url, "inputbox", "width=330, height=180,resizable"); 
    //return showModalDialog(url, this,
    //                       "font-size:11; dialogWidth:330px; dialogHeight:200px;status:no");
}

function replaceAll(varb, replaceThis, replaceBy) {	
   newvarbarray=varb.split(replaceThis);
   newvarb=newvarbarray.join(replaceBy);	
   return newvarb;
}

//----- get object
function gb(n, f){
    var obj = null;
    if (f == null)
        obj = document.getElementById(n);
    else if (parent.frames[f] !=null)
        obj = parent.frames[f].document.getElementById(n);
    return obj;
}

//----- get value
function gv(n, f){
    var obj = null;
    if (f == null)
        obj = document.getElementById(n);
    else  if (parent.frames[f] !=null)
        obj = parent.frames[f].document.getElementById(n);
    if ( obj != null)
        return obj.value;
    else
        return "";
}

//----- set value
function sv(v, n, f){
    var obj = null;
    if (f == null)
        obj = document.getElementById(n);
    else
        obj = parent.frames[f].document.getElementById(n);
    if ( obj != null) obj.value = v;
}

//----- set class name
function sc(c, n, f){
    var obj = null;
    if (f == null)
        obj = document.getElementById(n);
    else
        obj = parent.frames[f].document.getElementById(n);
    if ( obj != null) obj.className = c;
}

//----- get class name
function gc(n, f){
    var obj = null;
    if (f == null)
        obj = document.getElementById(n);
    else
        obj = parent.frames[f].document.getElementById(n);
    if ( obj != null)
        return obj.className;
    else
        return "";
}

//----- get innerHTML
function gh(n, f){
    var obj = null;
    if (f == null)
        obj = document.getElementById(n);
    else
        obj = parent.frames[f].document.getElementById(n);
    if ( obj != null)
        return obj.innerHTML;
    else
        return "";
}

//----- set innerHTML
function sh(h, n, f){
    var obj = null;
    if (f == null)
        obj = document.getElementById(n);
    else
        obj = parent.frames[f].document.getElementById(n);
    if ( obj != null) obj.innerHTML = h;
}

//----- set image
function sm(m, n, f){
    var obj = null;
    if (f == null)
        obj = document.getElementById(n);
    else
        obj = parent.frames[f].document.getElementById(n);
    if ( obj != null) obj.src =m;
}

//----- get checkbox value
function gk(n, f){
    var obj = null;
    if (f == null)
        obj = document.getElementById(n);
    else
        obj = parent.frames[f].document.getElementById(n);
    if ( obj != null)
        return obj.checked;
    else
        return false;
}

//----- set checkbox value
function sk(v, n, f){
    var obj = null;
    if (f == null)
        obj = document.getElementById(n);
    else
        obj = parent.frames[f].document.getElementById(n);
    if ( obj != null) obj.checked = v;
}

//----- execute focuse
function ef(n, f){
    var obj = null;
    if (f == null)
        obj = document.getElementById(n);
    else
        obj = parent.frames[f].document.getElementById(n);
    if ( obj != null && obj.type != "hidden") obj.focus();
}

//----- execute submite
function es(n, f){
    var obj = null;
    if (f == null)
        obj = document.forms[n];
    else
        obj = parent.frames[f].document.forms[n];
    if ( obj != null) obj.submit();//else alert( n + "  of  " + f);
}

//----- get tags
function gt(n, f){
    var obj = null;
    if (f == null)
        obj = document.getElementsByTagName(n);
    else
        obj = parent.frames[f].document.getElementsByTagName(n);
    return obj;
}

//----- get tags
function gr(n, f){
    var obj = null;
    if (f == null)
        obj = document.getElementsByName(n);
    else
        obj = parent.frames[f].document.getElementsByName(n);
    for (i = 0; i < obj.length; i++){
        if (obj[i].checked) return obj[i].value;
    }
    return null;
}

function isBtnAble(n, f){
    var obj = null;
    if (f == null)
        obj = document.getElementById(n);
    else
        obj = parent.frames[f].document.getElementById(n);

    if (obj == null)return false;

    if (document.all && obj.style.filter == "alpha(opacity=45)")
        return false;
    else if (document.all)
        return true;
    else if (obj.style.MozCapcity == 0.45)
        return false;
    else
        return true;
}

/*--------------------------------- menu common -----------------------------*/
var mspace = "\&nbsp;\&nbsp;\&nbsp;\&nbsp;\&nbsp;";
var line = '<TR><TD class="title" height="3" nowrap></TD></TR>';
    line +='<TR><TD colspan="2" style="background-color: #333399">';
    line +='<img src="/icons/spacer.gif" border=0 width="100%" height=1></TD></TR>';
    line +='<TR><TD colspan="2" style="background-color: #CCCCFF">';
    line +='<img src="/icons/spacer.gif" border=0 width="100%" height=1></TD></TR>';
    line +='<TR><TD class="title" height="3" nowrap></TD></TR>';

var menu_style  = 'class="title" '; 
    menu_style += 'onmouseover="this.style.background=\'#333399\';this.style.color=\'#ffffff\'" ';
    menu_style += 'onmouseout ="this.style.background=\'#9999EE\';this.style.color=\'#000000\'" ';
    menu_style += 'onclick="';

var html="";

html += '<TABLE   STYLE="border:1pt solid buttonshadow;BORDER-TOP-COLOR: #CCCCFF;';
html += 'BORDER-LEFT-COLOR: #CCCCFF; background: #9999EE" ';
html += 'WIDTH="115"  HEIGHT="100%" CELLPADDING="0" CELLSPACING="0">';
html += '<TR><TD class="title" height="3" nowrap></TD></TR>';

function getOffsetTop(elm) {
    var mOffsetTop = elm.offsetTop;
    var mOffsetParent = elm.offsetParent;
	
    while(mOffsetParent){
        mOffsetTop += mOffsetParent.offsetTop;
        mOffsetParent = mOffsetParent.offsetParent;
    }
    return mOffsetTop ;
}

function getOffsetLeft(elm) {
    var mOffsetLeft = elm.offsetLeft;
    var mOffsetParent = elm.offsetParent;	
    while(mOffsetParent) {
        mOffsetLeft += mOffsetParent.offsetLeft;
        mOffsetParent = mOffsetParent.offsetParent;
    }
    return mOffsetLeft;
}

function dateStr (dt) {
    var str ="";   
    str += (dt.getMonth() < 9 ? '0' : '');
    str += (dt.getMonth() + 1) + "/";
    str += (dt.getDate() < 10 ? '0' : '');
    str +=  dt.getDate() + "/";
    str +=  dt.getFullYear();
    return str;
}

function timeStr (dt) {
    var str ="";
    str += (dt.getHours() < 10 ? '0' : '');
    str +=  dt.getHours() + ":";
    str += (dt.getMinutes() < 10 ? '0' : '');
    str +=  dt.getMinutes() + ":";
    str += (dt.getSeconds() < 10 ? '0' : '');
    str +=  dt.getSeconds();
    return str;
}

function isDate(dtStr) {
    var dtStr_arr = dtStr.split( '/' );
    if (dtStr_arr.length != 3){ 
        alert ("Invalid date format: '" + dtStr + "'.\nFormat accepted is mm/dd/yyyy.");
        return false;
    }	
    var nDate = new Date( dtStr );
    var ndtStr = nDate.toGMTString();
    var ndtStr_arr = ndtStr.split( ' ' );
    if ( parseInt(ndtStr_arr[1], 10) != parseInt(dtStr_arr[1], 10)) {
       alert ("Invalid date! Format accepted is mm/dd/yyyy.");
       return false;
    } else {
        return true;
    }
}

function getBodyHeight(){
    if (window.innerHeight)
        return window.innerHeight; 
    else
        return document.body.clientHeight; 
}

function getBodyWidth(){
    if (window.innerWidth)
        return window.innerWidth; 
    else
        return document.body.clientWidth; 
}

function onCtrlKey(){
    if (document.all)
        return window.event.ctrlKey; 
    //else if (event.modifiers == 2)
    //    return true; 
    else
        return false;
}

function onShiftKey(){
    if (document.all)
        return window.event.shiftKey; 
    //else if (event.modifiers == 2)
    //    return true; 
    else
        return false;
}
/*--------Ajax-----------------*/
var regAjax;
function initRequest() {
    if (window.XMLHttpRequest) {
        regAjax = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        regAjax = new ActiveXObject("Microsoft.XMLHTTP");
    }
}

function getAjax(param) {
    var url = "ax?operator=" + param;
    initRequest();
    regAjax.onreadystatechange = processRequestAjax;
    regAjax.open("GET", url, true); 
    regAjax.send(null);
}
function processRequestAjax() { 
    if (regAjax.readyState == 4) {
        if (regAjax.status == 200) {  
            var result = regAjax.responseXML.getElementsByTagName("result")[0].childNodes[0].nodeValue;
            execAjax(result);
        }
    }
}


