﻿var objTest = new proTest();
var objBody = new proBody();
var objTab = new proTab();
var objControl = new proControl();

function showLogin() {
    $('.cscDialog').dialog({ modal: true });
    $('.cscDialog').dialog({ overflow: 'hidden' });
    $('.cscDialog').dialog({ show: 'blind' });
    $('.cscDialog').dialog('option', 'height', 248);
    $('.cscDialog').dialog('option', 'width', 428);
    $('.cscDialog').bind('dialogclose', function(event, ui) { refresh(); });
    $('.cscDialog').dialog('option', 'hide', 'blind');
    ifrAllFOS.location = 'Login.aspx?st=filexec_com';
}
function showRegister() {
    $('.cscDialog').dialog({ modal: true });
    $('.cscDialog').dialog({ overflow: 'hidden' });
    $('.cscDialog').dialog({ show: 'blind' });
    $('.cscDialog').dialog('option', 'height', 268);
    $('.cscDialog').dialog('option', 'width', 448);
    $('.cscDialog').bind('dialogclose', function(event, ui) { refresh(); });
    $('.cscDialog').dialog('option', 'hide', 'blind');
    ifrAllFOS.location = 'Register.aspx?st=filexec_com';
}
function hideLogin() {
    $('.cscDialog').dialog('option', 'hide', 'blind');
    refresh();
}
 //--- Body
function proBody() {
}
proBody.prototype.initBody = function() {
    var strEvent = objTest.addEvent('objBody.initBody()', '1', 'Bdy');
    //try { getMap(); } catch (err) { }
    objTest.showResult();
}
proBody.prototype.showModal = function(strUrl) {
    var strEvent = objTest.addEvent('objBody.showModal(' + strUrl + ')');
    try {
        var height = 490;
        var width = 615;
        var strOptions = 'dialogWidth=' + width + ',dialogHeight=' + height + ',edge:raised;center:1;resizable:0;status:0,left=' + ((window.screen.availWidth - width) / 2) + ',top=' + ((window.screen.availHeight - height) / 2);
        var wndPop = window.showModalDialog(strUrl, "#1", strOptions);
        refreshDelayed();
    } catch (err) { objTest.showIssue(err); }
    objTest.showResult();
}
proBody.prototype.showPopUp = function(strUrl, strAnchor) {
    var strEvent = objTest.addEvent('objBody.showPopUp(' + strUrl + ',' + strAnchor + ')');
    try {
        var height = 600;
        var width = 800;
        if (strAnchor.toLowerCase() == 'inserttable') {
            height = 210;
            width = 425;
        }
        if (strAnchor.toLowerCase() == 'insertimage') {
            height = 140;
            width = 375;
        }
        var strOptions = 'width=' + width + ',height=' + height + ',resizable=1,scrollbars=1,toolbar=0,status=1,left=' + ((window.screen.availWidth - width) / 2) + ',top=' + ((window.screen.availHeight - height) / 2);
        var wndPop = window.open(strUrl, strAnchor, strOptions);
        wndPop.focus();
    } catch (err) { objTest.showIssue(err); }
    objTest.showResult();
}
proBody.prototype.showMenu = function(elmLis) {
    var strEvent = objTest.addEvent('objBody.showMenu');
    try {
        if (!elmLis.childNodes || elmLis.childNodes.length == 0) { return; }
        for (var idx = 0; idx < elmLis.childNodes.length; idx++) {
            var elmUl = elmLis.childNodes[idx];
            if (getNodeName(elmUl) == 'UL') {
                switch (elmUl.className) {
                    case 'cscMenuTSub':
                        this.showMenuH(elmUl);
                        break
                    case 'cscMenuCSub':
                        this.showMenuC(elmUl);
                        break
                    case 'cscMenuVSub':
                        this.showMenuV(elmUl);
                        break
                }
            }
        }
    } catch (err) { objTest.showIssue(err); }
}
proBody.prototype.showMenuH = function(elmUl) {
    var strEvent = objTest.addEvent('objBody.showMenuH');
    setLeft(elmUl, '-1');
    if (blnIx) { setToogle(elmUl, ''); }
    setTop(elmUl, elmUl.parentNode.clientHeight);
}
proBody.prototype.showMenuC = function(elmUl) {
    var strEvent = objTest.addEvent('objBody.showMenuC');
    setLeft(elmUl, '-112');
    if (blnIx) { setToogle(elmUl, ''); }
    setTop(elmUl, elmUl.parentNode.clientHeight);
}
proBody.prototype.showMenuV = function(elmUl) {
    var strEvent = objTest.addEvent('objBody.showMenuV');
    if (blnIx) {
        elmUl.style.top = elmUl.parentNode.style.top - 1;
        elmUl.style.left = elmUl.parentNode.style.left + elmUl.parentNode.style.width;
    } else {
    }
}
//--- Tab
function proTab() {
}
proTab.prototype.changeTab = function(elmObj, elmNext, strTabId, strControlPk, strControlTypePk, strSepParm, blnCheck) {
    var strEvent = objTest.addEvent('objTab.changeTab(' + getId(elmObj) + ',' + getId(elmNext) + ',' + strTabId + ',' + strControlPk + ',' + strControlTypePk + ',' + strSepParm + ',' + blnCheck + ')', '1', 'Ctb');
    try {
        //if (getContinue(objControl.getDirty()), 'Your changes have not been saved. Do you want to continue?') {
            objComm.sendRsp(elmObj, strTabId, strControlPk, strControlTypePk, strSepParm, '');
            this.showTab(elmNext);
        //}
    } catch (err) { objTest.showIssue(err); }
    objTest.showResult();
}
proTab.prototype.showTab = function(elmLis) {
    var strEvent = objTest.addEvent('objTab.showTab(' + getId(elmLis) + ')');
    try {
        if (!elmLis) { return ''; }
        var elmUl = elmLis.parentNode;
        for (var idx = 0; idx < elmUl.childNodes.length; idx++) {
            if (elmUl.childNodes[idx].className == cscTabOpen) {
                setClassName(elmUl.childNodes[idx], cscTabClosed);
            }
        }
        setClassName(elmLis, cscTabOpen);
    } catch (err) { objTest.showIssue(err); }
}
//--- Control
function proControl() {
    this.elmDiv = undefined;
    this.strDateId = 'CldGOSP';
}
proControl.prototype.initControl = function(strIdHdn) {
    var strEvent = objTest.addEvent('objControl.initControl(' + strIdHdn + ')');
    this.setFocus();
}
proControl.prototype.showTree = function(elmImg) {
    var strEvent = objTest.addEvent('objControl.showTree(' + getId(elmImg) + ')');
    try {
        if (getClassName(elmImg).indexOf('Close') >= 0) {
            setSrc(elmImg, getSrc(elmImg).replace('Close', 'Open'));
            setClassName(elmImg, getClassName(elmImg).replace('Close', 'Open'));
        } else {
            setSrc(elmImg, getSrc(elmImg).replace('Open', 'Close'));
            setClassName(elmImg, getClassName(elmImg).replace('Open', 'Close'));
        }
        blnBubble = true;
    } catch (err) { objTest.showIssue(err); }
}
proControl.prototype.showList = function(elmLi) {
    var strEvent = objTest.addEvent('objControl.showList');
    try {
        if (!elmLi.childNodes || elmLi.childNodes.length == 0) { return; }
        for (var idx = 0; idx < elmLi.childNodes.length; idx++) {
            var elmUl = elmLi.childNodes[idx];
            if (getNodeName(elmUl) == 'UL') {
                setToogle(elmUl, '');
            }
        }
    } catch (err) { objTest.showIssue(err); }
}
proControl.prototype.setGridRow = function(elmTr, strHdnId, strClassName) {
    var strEvent = objTest.addEvent('objControl.setGridRow(' + strId + ' ' + strHdnId + ' ' + strClassName + ')');
    if (getClassName(elmTr) == cscGridRowSelected) {
        switch (strClassName) {
            case cscGridRowSelected:
                strClassName = cscGridRow;
                break
            case cscGridRowOver:
                strClassName = cscGridRowSelected;
                break
            case cscGridRow:
                strClassName = cscGridRowSelected;
                break
        }
    }
    //setInnerHTML(strHdnId, getIdPre(getId(elmTr)));
    setClassName(elmTr, strClassName);
}
//--- Change
proControl.prototype.changePad = function(elmObj, strTabId, strControlPk, strControlTypePk, strSepParm, strKey, strValue, strPageNo) {
    var strEvent = objTest.addEvent('objControl.changePad(' + getId(elmObj) + ',' + strTabId + ',' + strControlPk + ',' + strControlTypePk + ',' + strSepParm + ',' + strKey + ',' + strValue + ',' + strPageNo + ')', '1', 'Cpd');
    try {
        if (!isNOE(strKey)) { objXML.setValue(elmObj, strValue); }
        objComm.sendRsp(elmObj, strTabId, strControlPk, strControlTypePk, strSepParm, strPageNo);
    } catch (err) { objTest.showIssue(err); }
    objTest.showResult();
}
//--- Form functions
proControl.prototype.setFocus = function() {
    var strEvent = objTest.addEvent('objControl.setFocus()');
    try {
        elmObjs = document.getElementsByTagName("input"); var elmObj;
        for (var idx = elmObjs.length; idx >= 0; idx--) { // Backwards
            if (elmObjs[idx]) {
                if (elmObjs[idx].type == 'text' || elmObjs[idx].type == 'password') { elmObj = elmObjs[idx]; }
            }
        }
        if (elmObj) { elmObj.focus(); }
    } catch (err) { } //--- Nada 
}
proControl.prototype.focusBox = function(elmObj) {
    var strEvent = objTest.addEvent('objControl.focusBox(' + getId(elmObj) + ')');
    try {
        if (!elmObj) { return ''; } //--- Defense
        if (elmObj.type == 'text' || elmObj.type == 'password') { elmObj.selectionStart = 0; }
        if (elmObj.type == 'text' || elmObj.type == 'password') { elmObj.selectionEnd = elmObj.value.length; }
        // 10/06 ? if (!this.elmDiv) { return ''; }
        // 10/06 ? if (getId(this.elmDiv) != getId(elmObj)) { setToogle(elmDiv, 'none'); }
        // 10/06 ? if (getInnerHTML(getId(this.elmDiv)).indexOf(strDateId) > 0) { setInnerHTML(getId(elmDiv), ''); } //Jack0611
    } catch (err) { objTest.showIssue(err); }
}
proControl.prototype.blurBox = function(elmObj) {
    var strEvent = objTest.addEvent('objControl.blurBox(' + getId(elmObj) + ')');
    try {
        objXML.setValue(elmObj, getValue(elmObj));
    } catch (err) { objTest.showIssue(err); }
}
proControl.prototype.blurTime = function(elmObj) {
    var strEvent = objTest.addEvent('objControl.blurTime(' + getId(elmObj) + ')');
    try {
        elmObj.value = checkTime(getValue(elmObj));
        var strId = getId(elmObj).replace('_Time', '');
        if (!isNothing(strId + '_Date')) {
            this.blurBox(elmNew('input', strId, document.getElementById(strId + '_Date').value + ' ' + elmObj.value));
        } else {
            this.blurBox(elmObj);
        }
    } catch (err) { objTest.showIssue(err); }
}
proControl.prototype.blurDate = function(elmObj) {
    var strEvent = objTest.addEvent('objControl.blurDate(' + getId(elmObj) + ')');
    try {
        elmObj.value = checkDate(getValue(elmObj));
        var strId = getId(elmObj).replace('_Date', '');
        if (!isNothing(strId + '_Time')) {
            this.blurBox(elmNew('input', strId, document.getElementById(strId + '_Time').value + ' ' + elmObj.value));
        } else {
            this.blurBox(elmObj);
        }
    } catch (err) { objTest.showIssue(err); }
}
proControl.prototype.clickRadioBox = function(elmObj) {
    var strEvent = objTest.addEvent('objControl.clickRadioBox(' + getId(elmObj) + ')');
    objXML.setValue(elmObj, getValue(elmObj));
}
proControl.prototype.clickGrid = function(elmObj) {
    var strEvent = objTest.addEvent('objControl.clickRadioGrid(' + getId(elmObj) + ')');
    if (!elmObj) { return ''; } //--- Defense
    elmObj = getElement(elmObj, 'rdo');
    elmObj.checked = true;
    objXML.setValue(elmObj, getValue(elmObj));
    //setClassName(elmObj, cscGridSel);
}
proControl.prototype.clickCheckBox = function(elmObj) {
    var strEvent = objTest.addEvent('objControl.clickCheckBox(' + getId(elmObj) + ')');
    objXML.setValue(elmObj, getValue(elmObj));
}
proControl.prototype.clickComboButton = function(elmObj, strValuePk) {
    var strEvent = objTest.addEvent('objControl.clickComboButton(' + getId(elmObj) + ', ' + strValuePk + ')');
    try {
        this.focusBox(elmObj);
        var elmTxt = this.setCombo(elmObj);
        setToogle(this.elmDiv, '');
        return elmTxt;
    } catch (err) { objTest.showIssue(err); }
}
proControl.prototype.clickDateButton = function(elmObj, strValuePk) {
    var strEvent = objTest.addEvent('objControl.clickDateButton(' + getId(elmObj) + ', ' + strValuePk + ')');
    try {
        this.clickComboButton(elmObj, strValuePk);
        setInnerHTML(this.elmDiv, '<div id="div' + this.strDateId + '"></div>');
        objComm.sendRsp(elmObj, 'div' + this.strDateId, '610', this.strDateId, '', '');
    } catch (err) { objTest.showIssue(err); }
}
proControl.prototype.clickCombo = function(elmObj, strValuePk) {
    var strEvent = objTest.addEvent('objControl.clickCombo(' + getId(elmObj) + ', ' + strValuePk + ')');
    try {
        if (!elmObj) { elmObj = elmDiv; }
        var elmTxt = this.clickComboButton(elmObj);
        if (isNOE(strValuePk)) { strValuePk = elmObj.options[elmObj.selectedIndex].text; }
        elmTxt.value = strValuePk;
    } catch (err) { objTest.showIssue(err); }
}
proControl.prototype.setCombo = function(elmObj) {
    var strEvent = objTest.addEvent('objControl.setCombo(' + getId(elmObj) + ')');
    try {
        if (!elmObj) { return undefined; }
        this.elmDiv = getElement(elmObj, 'div');
        return getElement(elmObj, 'txt');
    } catch (err) { objTest.showIssue(err); }
}
//--- Key press restrict
function onlyNumber(objEvent) {
    var intCharCode = getCharCode(objEvent);
    if (isChange(intCharCode, false, false, false)
    || isNumber(intCharCode, false, false, false)
    || intCharCode == 44 || intCharCode == 46) { return true; }
    return false;
}
function onlyDate(objEvent) {
    var intCharCode = getCharCode(objEvent);
    if (isChange(intCharCode, false, false, false)
    || isNumber(intCharCode, false, false, false)
    || intCharCode == 47) { return true; }
    return false;
}
function onlyTime() {
    objEvent = event;
    var intCharCode = getCharCode(objEvent);
    if (isChange(intCharCode, false, false, false)
    || isNumber(intCharCode, false, false, false)
    || intCharCode == 65 || intCharCode == 97
    || intCharCode == 80 || intCharCode == 112
    || intCharCode == 77 || intCharCode == 109
    || intCharCode == 58 || intCharCode == 32)
    { return true; }
    return false;
}
//--- Calendar
var intYear;
var intMonth;
function setNextPrevMonth(strId, intDirection) {
    var strEvent = objTest.addEvent('setNextPrevMonth(' + strId + ',' + intDirection + ')');
    try {
        var dt = new Date();
        if (intYear == undefined) { intYear = dt.getYear(); }
        if (intMonth == undefined) { intMonth = dt.getMonth(); }
        var datCurrent = new Date(intYear, intMonth, 1);
        addDays(datCurrent, (intDirection * 30));
        //addDays(datCurrent,  -datCurrent.getDay());
        for (var intWeek = 0; intWeek < 6; intWeek++) {
            for (var intDay = 0; intDay < 7; intDay++) {
                addDays(datCurrent, ((intWeek * 7) + intDay));
                setInnerHTML(strId + 'y' + intWeek + 'x' + intDay, datCurrent.getDate());
            }
        }
    } catch (err) { objTest.showIssue(err); }
}
function OpenDate(tdDate, e) {
    var strDate = tdDate.id.replace('td', 'div');
    if (document.getElementById(strDate).innerHTML.length > 0) {
        $('#' + strDate).dialog();
        $('#' + strDate).dialog('open');
        $('#' + strDate).dialog('option', 'height', 188);
        $('#' + strDate).dialog('option', 'width', 228);
        $('#' + strDate).dialog('option', 'position', [e.pageX - 50, e.pageY - 50]);
        //$('.cscDateL').mouseout(function() { Close(this); });
        //$('.cscDateS').mouseout(function() { Close(this); });
        //$(strDate).mouseover(function() { $(strDate).dialog('open'); });
        $('#' + strDate).mouseout(function() { $('#' + strDate).dialog('close'); });
    }
}

