﻿var ie6 = document.all && document.getElementById;
var globalContext = 0;
var winObj;
var gblVarFocus = false;
function chkInitVal(id, id2,wh) {   
    if (document.getElementById(id2).value == 0) {
        if (isNullvalue('txtName') || isNullvalue('txtLName'))
            return false;
        else if (isNullvalue2('txtTitle')) {
            alert("Please enter Title.");
            return false;
        }
        empsz = getRadioSelected('SrvSz');
        if (empsz == "<error>") {
            alert("Please select Employer size.");
            return false;
        }
        else if (empsz == "<ok>") empsz = "";

        srvind = getRadioSelected('SrvInd');
        if (srvind == "<error>") {
            alert("Please select your Industry.");
            return false;
        }
        if (wh == 1) {
            if (valPhoneChanged(document.getElementById('txtPhone'))) {
                return false;
            }
        }
        else if (srvind == "<ok>") srvind = "";
        valN = "";
        var typ = document.getElementById("hdnType").value;
        if (typ != "Reference") {
            if (!isvalidEmail(document.getElementById("txtEmail"))) return false;
        }        
        if (document.getElementById('txtNote') != null) valN = document.getElementById('txtNote').value;
        document.getElementById(id).value = document.getElementById('txtName').value + "<::>"
         + document.getElementById('txtLName').value + "<::>" + document.getElementById('txtEmail').value
         + "<::>" + document.getElementById('txtTitle').value + "<::>" + document.getElementById('txtComp').value
         + "<::>" + document.getElementById('txtPhone').value + "<::>" + empsz + "<::>" + srvind + "<::>" + document.getElementById('txtExt').value
         + "<::>" + valN;
    }
    else {
        
        return initSurveyResult(document.getElementById(id), wh);
    }
}

function isNullvalue(id) {
    if (document.getElementById(id).value == "") {
        document.getElementById(id).focus();
        alert("Please enter your name.");
        return true;
    }
}

function isNullvalue2(id) {
    if (document.getElementById(id).value == "") {
        document.getElementById(id).focus();        
        return true;
    }
}

function isSendTo(obj) {
    document.getElementById('txtName').value = "";
    document.getElementById('txtLName').value = "";
    document.getElementById('txtEmail').value = "";
    document.getElementById('txtTitle').value = "";

    document.getElementById('hdnIsSend').value = "0";

    document.getElementById('lblName').style.visibility = "hidden";
    document.getElementById('chere').style.visibility = "hidden";
}

function getSelected(obj) {      
    index = obj.selectedIndex;
    return obj.options[index].value;
}
function getSelectedText(obj) {
    index = obj.selectedIndex;
    return obj.options[index].text;
}

function getRadioSelected(id) {
    var i = 0;
    id = id + "_";
    var ids = id + i;        
    if (document.getElementById(ids) != null) {
        while (document.getElementById(ids)) {
            if (document.getElementById(ids).checked) {
                lbl = document.getElementById(ids).parentNode.getElementsByTagName('label');
                return lbl[0].innerHTML;
            }
            i++;
            ids = id + i;
        }
    }
    else return "<ok>";
    return "<error>";
}
function getRadioSelectedValue(id) {
    var i = 0;
    id = id + "_";
    var ids = id + i;
    if (document.getElementById(ids) != null) {
        while (document.getElementById(ids)) {
            if (document.getElementById(ids).checked) {
                return document.getElementById(ids).value;
            }
            i++;
            ids = id + i;
        }
    }
    else return "<ok>";
    return "<error>";
}
function getRadioSelected2(id) {
    var i = 0;
    id = id + "_";
    var ids = id + i;    
    if (document.getElementById(ids) != null) {
        while (document.getElementById(ids)) {                        
            if (document.getElementById(ids).checked) {                
                lbl = document.getElementById(ids).parentNode.getElementsByTagName('label');
                return lbl[0].innerHTML;
            }
            i++;
            ids = id + i;
        }
    }
    return "input-req";
}
function getCheckBoxSelected2(id) {
    var i = 0;
    id = id + "_";
    var ids = id + i;
    if (document.getElementById(ids) != null) {
        while (document.getElementById(ids)) {
            if (document.getElementById(ids).checked) {
                lbl = document.getElementById(ids).parentNode.getElementsByTagName('label');
                return lbl[0].innerHTML;
            }
            i++;
            ids = id + i;
        }
    }
    return "input-req";
}

function getCheckBoxSelected(id) {
    var i = 0;
    id = id + "_";
    var ids = id + i;
    if (document.getElementById(ids) != null) {
        while (document.getElementById(ids)) {
            if (document.getElementById(ids).checked) {
                lbl = document.getElementById(ids).parentNode.getElementsByTagName('label');
                return lbl[0].innerHTML;
            }
            i++;
            ids = id + i;
        }
    }
    else return "<ok>";
    return "<error>";
}

function aConfirm(str) {
    
    if (navigator.appName == 'Microsoft Internet Explorer') {
        execScript('n = msgbox("' + str + '","4132")', "vbscript");
        return (n == 6);
    }
    else {
        
        return displayPop(document.getElementById("lbSubmit"));
        
    }
}

function initSurveyResult(obj, wh) {
    var arrFld = document.getElementById("hdnField").value.split("<::>");
    
    var typ=document.getElementById("hdnType").value;
    if (isSave(obj.value) && typ == "Reference") {
        return true;
    }
    var per = "";
    obj.value = "";
    var total = 0, ctr = 0;
    for (i = 0; i < arrFld.length; i++) {
        if (arrFld[i] == "RdBtn") {
            val = initRBtn(i, 1);
            if (val == "input-req" && wh == 1) {
                alert("You missed one required question, please verify.");
                return false;
            }
            else if (val == "input-req")
                val = "";

            obj.value = obj.value + "<::>" + val;
        }
        else if (arrFld[i] == "ChBox") {
            val = initChBox(i);
            if (val == "input-req" && wh == 1) {
                return false;
            }
            else if (val == "input-req")
                val = "";
            obj.value = obj.value + "<::>" + val;
        }
        else if (arrFld[i] == "DropDown") {
            val = initDropDown(i);
            if (val == "input-req" && wh == 1) {

                return false;
            }
            else if (val == "input-req")
                val = "";
            obj.value = obj.value + "<::>" + val;
        }
        else if (arrFld[i] == "FreeForm") {
            val = initFreeForm(i);

            if (val == "input-req" && wh == 1) {
                alert("You missed one required question, please verify.");
                return false;
            }
            else if (val == "input-req")
                val = "";
            obj.value = obj.value + "<::>" + val;
        }
        else if (arrFld[i] == "Per") {

            val = parseInt(initTextBox(ctr));

            if (!isNaN(val))
                total = total + val;
            else
                val = 0;
            per = per + "<::>" + val;
            ctr++;
        }

    }

    isPer = document.getElementById("1_Per");
    if (total != 200 && ctr != 0 && isPer != null) {
        alert("Your total should equal 100%. \nPlease edit.");
        return false;
    }
    else if (isPer != null) {
        obj.value = per + "<::>" + obj.value;
    }
    
    if (wh == 1) {
        if (document.getElementById("hdnPro") != null) {
            retP = aConfirm(document.getElementById("hdnPro").innerHTML);
            if (retP == "FF") {
                return false;
            }
            else {
                
                val = retP ? "Yes" : "No";
                obj.value = obj.value + "<::>" + val;
                
            }
        }        
    }
    else if (wh == 2 || wh == 0) {
        obj.value = obj.value + "<::>FF";
    }

}

function savePop(ans) {    
    obj = document.getElementById('hdnValues');
    obj.value = obj.value + "<::>" + (ans == 1 ? "Yes" : "No");
    obj.value = obj.value + "<::>FF";  
    ctl = document.getElementById("btnSubmit");    
    ctl.click();
}

function initRBtn(i, wh) {
    id = i + "_RdBtn";    
    ids = id + "_Req";
    
    if (document.getElementById(ids) != null) {
        return getRadioSelected2(ids);
    }
    
    return getRadioSelected(id);
}

function initChBox(i) {
    id = i + "_ChBox";
    ids = id + "_Req";
    if (document.getElementById(ids) != null) {
        return getRadioSelected2(ids);
    }
    return getCheckBoxSelected(id);
}

function initDropDown(i) {
    id = i + "_DropDown";
    ids = id + "_Req";
    if (document.getElementById(ids) != null) {
        ret = getSelected(ids);
        if (ret == "") return "input-req";
        else return ret;
    }
    return getSelected(id);
}

function initFreeForm(i) {
    id = i + "_FreeForm";
    ids = id + "_Req";
    if (document.getElementById(ids) != null) {
        if (document.getElementById(ids).value == "")
            return "input-req";
        else
            return document.getElementById(ids).value;
    }
    
    if (document.getElementById(id) != null)
        return document.getElementById(id).value;
    else return "";
}

function initTextBox(i) {
    id = i + "_Per";
    if (document.getElementById(id) != null)
        return document.getElementById(id).value;
    else return "";
}


function valEmailChanged() {
    me = document.getElementById('txtEmail');
    var re = /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/;
    if (re.test(me.value)) { return false; }
    alert("Invalid email format");
    me.value = "";
    me.focus();
    return true;
}
function valPhoneChanged(me) {
    var re = /^\(?(\d{3})\)?[\.\-\/ ]?(\d{3})[\.\-\/ ]?(\d{4})$/;
    var sp = me.value.split("ex");
    var val = re.exec(strTrim(sp[0]));
    var flag = false;
    if (val) {
        me.value = "(" + val[1] + ") " + val[2] + "-" + val[3];
        flag = false;
    } else {
        if (me.value == "")
            alert("Please enter phone number.");
        else
            alert(me.value + " isn't a valid phone number");
        flag = true;
        me.value = "";
        me.focus();
    }
    return flag;
}

function strTrim(str) {
    return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}
function findPos(id) {
    var obj = document.getElementById(id)
    var curleft = curtop = 0;
    if (obj.offsetParent) {
        curleft = obj.offsetLeft
        curtop = obj.offsetTop
        while (obj = obj.offsetParent) {         
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        }
    }

    return curtop;
}

function assignBorderH(h) {

    document.getElementById('lborder').height = h;
    document.getElementById('rborder').height = h;
}

function isTriggerShow(i, sel, li) {   
    if (document.getElementById('hdnTrigger') != null)
        objT = document.getElementById('hdnTrigger').value;
    
    if (i != 0) {   
	     
        idA = li.split(",");
        for (ctr = 0; ctr < idA.length; ctr++) {                                
            ids = "dv_" + idA[ctr];
            ids2 = "dvL_" + idA[ctr];            
            if (idA[ctr] == sel) {
                if (document.getElementById(ids) != null) {
                    document.getElementById(ids).style.visibility = "visible";
                    document.getElementById(ids).style.height = "48px";
                    document.getElementById(ids2).style.visibility = "visible";
                    document.getElementById(ids2).style.height = "13px";
                    li = objT.split("<::>");
                    if (li.length>1)
                        document.getElementById('hdnTrigger').value = sel + "<::>" + li[1];
                    else
                        document.getElementById('hdnTrigger').value = sel + "<::>" + objT;
                    
                }

            }
            else {
                if (document.getElementById(ids) != null) {
                    document.getElementById(ids).style.visibility = "hidden";
                    document.getElementById(ids2).style.visibility = "hidden";
                    document.getElementById(ids).style.height = "1px";
                    document.getElementById(ids2).style.height = "1px";
                    li = objT.split("<::>");
                    if (li.length > 1)
                        document.getElementById('hdnTrigger').value = li[1];
                }
              
            }
        }        
    }
    else {        
        if (document.getElementById('hdnTrigger') != null) {
            li = objT.split("<::>");	    
            if (li.length > 1)
                isTriggerShow(1, li[0], li[1]);
            else {
                i++;
                id = i + "_RdBtn";
                val = getRadioSelectedValue(id);                
                isTriggerShow(1, val, li[0]);
            }
            
        }
    }
}

var imagePath = '../Images/';

var ie = document.all;
var dom = document.getElementById;
var ns4 = document.layers;

var textCtl;

function popVal() {
    if (document.getElementById("hdnPro") != null) {
        document.getElementById("tpContent").innerHTML = document.getElementById("hdnPro").innerHTML;
        document.getElementById("tpContent").innerHTML += getTable();

    }
}

//if (dom) {
//    document.write("<div id='rProm' class='popup'><br><br><span id='tpContent'>No</span></div>");
//    
//}
function getTable() {
    strp = "";
    strp = "<br><br><br><table class='tblPop' align='center'><tr><td><input type='button' id='btnYes' onblur='changeGlobal(false)' onfocus='changeGlobal(true)' value='Yes' onclick='savePop(1);'/></td><td><input type='button' value='No' onclick='savePop(0);' onblur='changeGlobal(false)' onfocus='changeGlobal(true)'/></td></tr></table>";
    return strp;
}
//var crossPU = (dom) ? document.getElementById("rProm").style : document.rProm;

function displayPop(ctl) {
   
    var leftpos = 0
    var toppos = 0
    
    textCtl = ctl;    
    aTag = ctl
    do {        
        aTag = aTag.offsetParent;
        leftpos += aTag.offsetLeft;
        toppos += aTag.offsetTop;
    } while (aTag.tagName != "BODY");
    xsize = ctl.offsetLeft + leftpos + 230;    
    if (xsize > document.body.offsetWidth) {
        
        crossPU.left = (ctl.offsetLeft + leftpos - 170) + "px";
        
    }
    else {

        crossPU.left = (ctl.offsetLeft + leftpos-100) + "px";
    }
    popVal();
    crossPU.top = (ctl.offsetTop + toppos + ctl.offsetHeight-300) + "px";
    crossPU.visibility = (dom || ie) ? "visible" : "show";
    
    hideElement('SELECT', document.getElementById("rProm"));
    hideElement('APPLET', document.getElementById("rProm"));    
    return "FF";  
}
function hideElement(elmID, overDiv) {
    if (ie) {
        for (i = 0; i < document.all.tags(elmID).length; i++) {
            obj = document.all.tags(elmID)[i];
            if (!obj || !obj.offsetParent) {
                continue;
            }
            // Find the element's offsetTop and offsetLeft relative to the BODY tag.
            objLeft = obj.offsetLeft;
            objTop = obj.offsetTop;
            objParent = obj.offsetParent;
            while (objParent.tagName.toUpperCase() != "BODY") {
                objLeft += objParent.offsetLeft;
                objTop += objParent.offsetTop;
                objParent = objParent.offsetParent;
            }
            objHeight = obj.offsetHeight;
            objWidth = obj.offsetWidth;
            if ((overDiv.offsetLeft + overDiv.offsetWidth) <= objLeft);
            else if ((overDiv.offsetTop + overDiv.offsetHeight) <= objTop);
            else if (overDiv.offsetTop >= (objTop + objHeight + obj.height));
            else if (overDiv.offsetLeft >= (objLeft + objWidth));
            else {
                obj.style.visibility = "hidden";
            }
        }
    }
}
if (document.body){
document.body.onclick = function(e) {
    if (gblVarFocus)
        return true;
    else if(document.getElementById("btnYes"))  {
        document.getElementById("btnYes").focus();
        return false;
    }
}
}

function changeGlobal(isFocus) {
    gblVarFocus = isFocus;
}

function saveUpdate(id,wh) {
    return initSurveyResult(document.getElementById(id), wh);
}
function isSave(val) {
    var arr = val.split("<::>");    
    l = arr.length - 1;
    if (arr[l] == "FF")
        return true;
    else
        return false;
}

function saveReference(str) {
    var val = new Array();
    var srvid = document.getElementById("hdnSrvId").value;
    fname = document.getElementById("txtName");
    if (fname) {
        
        if (isNullvalue('txtName') || isNullvalue('txtLName')) {
            
            return false;
        }
        
        empsz = getRadioSelected('SrvSz');
        
        if (empsz == "<error>") {
            alert("Please select Employee size.");
            return false;
        }
        else if (empsz == "<ok>") empsz = "";

        srvind = getRadioSelected('SrvInd');        
        if (srvind == "<error>") {            
            alert("Please select your Industry.");
            return false;
        }

        if (valPhoneChanged(document.getElementById('txtPhone'))) {
            
            return false;
        }
        var typ = document.getElementById("hdnType").value;
        if (typ != "Reference") {
            if (!isvalidEmail(document.getElementById("txtEmail"))) return false;
        }
        
        val[0] = srvid;
        val[1] = fname.value;
        val[2] = document.getElementById("txtLName").value;
        val[3] = document.getElementById("txtTitle").value;
        val[4] = document.getElementById("txtPhone").value;
        val[5] = document.getElementById("txtEmail").value;
        val[6] = document.getElementById("txtComp").value;
        val[7] = document.getElementById("txtNote").value;
        
        val[8] = document.getElementById("txtExt").value;
        size = getRadioSelected('SrvSz');         
        industry = getRadioSelected('SrvInd');
        if (size == "<ok>") size = "";
        if (industry == "<ok>") industry = "";
        val[9] = size;
        val[10] = industry;
        val[11] = document.getElementById("hdnIsSend").value;
        val[12] = "0";        
        if (document.getElementById("chkResult")) {
            val[12] = document.getElementById("chkResult").checked ? "1" : "0";
        }        
        WebSrv.WService.refUpdateContact(val, saveReferenceResult);
    }
    else {
        openActPopUp(str);
    }
    
//openActPopUp
}

function saveReferenceResult(result) {
    var arr = result.split("<::>");
    var qstr = "";
    if (arr.length == 2)
        qstr = "id=" + arr[0] + "&srv=" + arr[1];
    openActPopUp("AddActivity.aspx?" + qstr);
}

function openActPopUp(str) {
    
    if (ie6) {
        var ret = window.showModalDialog(str, 'name', 'dialogHeight=525px;dialogWidth=675px;status=no;toolbar=0;location=no;menubar=0;scrollbars=no;resizable=no;modal=yes;');
        if (ret)
            window.close();
    }
    else {    
        openRequestedPopup(str);        
    }
}


function openRequestedPopup(str) {
    
    var centerWidth = (window.screen.width - 680) / 2;
    var centerHeight = (window.screen.height - 545) / 2;
    
    if (winObj == null || winObj.closed) {
        winObj = window.open(str, 'name', 'height=545,width=680,left=' + centerWidth + ',top=' + centerHeight + ',toolbar=0,location=no,directories=0,status=0,menubar=0,scrollbars=no,resizable=no,modal=yes');        
    }
    else if (winObj.closed) {
    winObj = null; 
        
    }
    else {
        winObj.focus();
    };

}

function aspSaveText(objT, li, ref, wc) {
    var str = new Array("", "", "");
    str[0] = li;
    str[1] = ref;
    str[2] = objT.value;
    WebSrv.WService.refUpdateValue(str, wService);
}

function wService(retval) {
    
}

function computeSum(obj, i) {
    var idt = "";
    var id = i + "_Per";
    var total = 0;
    var ctr = i;

    while (document.getElementById(id) != null) {        
        val = parseInt(document.getElementById(id).value);
        if (isNaN(val))
            val = 0;
        else if (val > 100 || val < 1)
            val = 0;
        else if (val != 0)
            document.getElementById(id).style.backgroundColor = "lightblue";
        document.getElementById(id).value = val;    
        total = total + val;
        ctr++;
        id = ctr + "_Per";
        
    }
    ctr--;
    idt = ctr + "_Per";   
    total = total - val;
    ctr = i - 1;
    id = ctr + "_Per";
    
    while (document.getElementById(id) != null) {
        val = parseInt(document.getElementById(id).value);
        if (isNaN(val))
            val = 0;
        else if (val > 100 || val < 1)
            val = 0;
        else if (val != 0)
            document.getElementById(id).style.backgroundColor = "lightblue";
        document.getElementById(id).value = val;
        total = total + val;
        ctr--;
        id = ctr + "_Per";

    }
    document.getElementById(idt).style.fontWeight = "bold";
    if (total != 100) {
        document.getElementById(idt).style.backgroundColor = "red";        
    }
    else {
        document.getElementById(idt).style.backgroundColor = "lightblue";
    }
    document.getElementById(idt).value = total;
}

function isvalidEmail(emObj) {
    if (emObj.value == "") {
        emObj.focus();
        alert("Email required!");
        return false;
        
    }

    var re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
    if (re.test(emObj.value)) { return true; }
    alert("Invalid email address!");
    emObj.value = "";
    emObj.focus();
    return false;
}
