﻿var noProcessingSitId = 7;

function validateme(user,method) {
    try {
    var validated = true;
    var message = "";
    var counter = 0; var index;
    var checked = false;
    var noprocessing = false;
    
    // if this is add, require
    //  first and last name
    //  region and bargaining unit
    //  one form of email
    //  if checkchange, require check comments
    // if this is remove only, require
    //  first and last name
    //  region and bargaining unit 
    //  one or more email access positions
    var removeDataEntered = someRemoveDataEntered();
    if (removeDataEntered || document.getElementById("ctl00_ContentPlaceHolder1_rblAccess_2").checked) {
        // Remove request only, or one of the required fields is used but not all 
        counter = 0;
        while (document.getElementById("ctl00_ContentPlaceHolder1_cblRemoveLists_" + counter) != null) {
            if (document.getElementById("ctl00_ContentPlaceHolder1_cblRemoveLists_" + counter).checked)
                checked = true;
            counter += 1; }
        if (!checked) {            
            validated = false;
            if (message.indexOf("At least one (remove) position must be checked") == -1)
                message += "\nAt least one (remove) position must be checked*cblRemoveLists_0"; } 
        if (document.getElementById("ctl00_ContentPlaceHolder1_ddlRRegions").selectedIndex == 0) {
            validated = false;
            if (message.indexOf("A region is required in the Remove section") == -1)
                message += "\nA region is required in the Remove section*ddlRRegions"; }  
        if (document.getElementById("ctl00_ContentPlaceHolder1_ddlRBargUnits").selectedIndex == 0) {
            validated = false;
            if (message.indexOf("A bargaining Unit is required in the Remove section") == -1)
                message += "\nA bargaining Unit is required in the Remove section*ddlRBargUnits"; } 
        if (document.getElementById("ctl00_ContentPlaceHolder1_txtRemoveLName").value=="Last Name" ||
            document.getElementById("ctl00_ContentPlaceHolder1_txtRemoveLName").value=="") {
            validated = false;
            if (message.indexOf("A last name is required in the Remove section") == -1)
                message += "\nA last name is required in the Remove section*txtRemoveLName"; }
        if (document.getElementById("ctl00_ContentPlaceHolder1_txtRemoveFName").value=="First Name" ||
            document.getElementById("ctl00_ContentPlaceHolder1_txtRemoveFName").value=="") {
            validated = false;
            if (message.indexOf("A first name is required in the Remove section") == -1)
                message += "\nA first name is required in the Remove section*txtRemoveFName"; }
    } 
    
    // confirm action (by administrator)
    if (method == "confirm") {
        // When the situation requires no processing, some of the validation
        // can be ignored
        var ddlSit = document.getElementById("ctl00_ContentPlaceHolder1_ddlSituation");
        var sit = ddlSit.options[ddlSit.selectedIndex].value;
        if (sit == noProcessingSitId) {
          noprocessing = true;
        }
        var notEligible = isNotEligible();
        var emailDistResult = hasValidDistributionEmail();
        //isOnlyRequestorEmailRequired();
        if (emailDistResult != "" && !document.getElementById("ctl00_ContentPlaceHolder1_rblAccess_2").checked && !noprocessing) {
            if (emailDistResult == "Invalid")
                if (message.indexOf("There is an invalid Email address in the distribution list") == -1) {
                    message += "\nThere is an invalid Email address in the distribution list*txtEmail1";
                    validated = false;
                }
            if (emailDistResult == "None") 
                if (message.indexOf("An Email address is required in the Email distribution list") == -1)
                /* 
                    var onlyRequestorEmailReqd;
                    var onlyRequestorEmailFound;
                    var requestorIsLL;
                */
                    if (!onlyRequestorEmailReqd) {
                        message += "\nAn Email address is required in the Email distribution list*txtEmail1"; 
                        validate = false; 
                    }
        } 
        if (document.getElementById("ctl00_ContentPlaceHolder1_ddlSituation").selectedIndex == 0 &&
            !document.getElementById("ctl00_ContentPlaceHolder1_rblAccess_2").checked) {
            validated = false;
            if (message.indexOf("An outcome / situation must be selected") == -1)
                message += "\nAn outcome / situation must be selected*ddlSituation"; }
        // add another condition for failing the following validation: This isn't a "not eligible"
        if (document.getElementById("ctl00_ContentPlaceHolder1_lblSSNLast4").innerText == "" &&
            !document.getElementById("ctl00_ContentPlaceHolder1_rblAccess_2").checked && 
            !notEligible && !noprocessing) {
            validated = false;
            if (message.indexOf("The Local Leader name must be verified") == -1)
                message += "\nThe Local Leader name must be verified*lblSSNLast4"; } 
        // add another condition for failing the following validation: This isn't a "not eligible"
        if (document.getElementById("ctl00_ContentPlaceHolder1_txtUserId").value == "" &&
            !document.getElementById("ctl00_ContentPlaceHolder1_rblAccess_2").checked && 
            !notEligible && !noprocessing) {
            validated = false;
            if (message.indexOf("A MyMEA UserID is required in the Add/Change request") == -1)
                message += "\nA MyMEA UserID is required in the Add/Change request*txtUserId"; }
        /* ### There should not be a requirement to have a UserID for a Remove candidate
        if (document.getElementById("ctl00_ContentPlaceHolder1_txtRemUserId").value == "" &&
            document.getElementById("ctl00_ContentPlaceHolder1_rblAccess_2").checked) {
            validated = false;
            if (message.indexOf("A MyMEA UserID is required in the Remove request") == -1)
                message += "\nA MyMEA UserID is required in the Remove request*txtRemUserId"; } */
        // add another condition for failing the following validation: This isn't a "not eligible"
        if (document.getElementById("ctl00_ContentPlaceHolder1_txtPassword").value == "" &&
            document.getElementById("ctl00_ContentPlaceHolder1_rblAccess_0").checked && 
            !notEligible && !noprocessing) {
            validated = false;
            if (message.indexOf("A MyMEA account Password is required") == -1)
                message += "\nA MyMEA account Password is required*txtPassword"; }
        /* ### There should not be a requirement to have a UserID for a Remove candidate
        if ((document.getElementById("ctl00_ContentPlaceHolder1_txtRemUserId").value == "") && 
            (removeDataEntered || document.getElementById("ctl00_ContentPlaceHolder1_rblAccess_2").checked)) {
            validated = false; 
            if (message.indexOf("A MyMEA UserID is required in the Remove request") == -1) 
                message += "\nA MyMEA UserID is required in the Remove request*txtPassword"; } */
    }
        
    if (!document.getElementById("ctl00_ContentPlaceHolder1_rblAccess_2").checked) {
        // Add or change request
        checked = false;
        counter = 0;
        // filter to check for valid email addresses
        var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        while (document.getElementById("ctl00_ContentPlaceHolder1_cblAddLists_" + counter) != null) {
            if (document.getElementById("ctl00_ContentPlaceHolder1_cblAddLists_" + counter).checked)
                checked = true;
            counter += 1; }
        if (!checked) {            
            validated = false;
            if (message.indexOf("At least one (add) position must be checked") == -1)
                message += "\nAt least one (add) position must be checked*cblAddLists_0"; } 
        if (document.getElementById("ctl00_ContentPlaceHolder1_rblAccess_1").checked && 
            document.getElementById("ctl00_ContentPlaceHolder1_txtChangeComments").value == "") {
            validated = false;
            if (message.indexOf("Comments must be entered for the change") == -1)
                message += "\nComments must be entered for the change*txtChangeComments"; }
        if (document.getElementById("ctl00_ContentPlaceHolder1_txtAddHomeEmail").value=="" && 
            document.getElementById("ctl00_ContentPlaceHolder1_ddlPreferredContact").selectedIndex==1) {
            validated = false;
            if (message.indexOf("Home Email is preferred, but a Home Email is not specified") == -1)
                message += "\nHome Email is preferred, but a Home Email is not specified*txtAddHomeEmail"; }
        if (document.getElementById("ctl00_ContentPlaceHolder1_txtWorkEmail").value=="" && 
            document.getElementById("ctl00_ContentPlaceHolder1_ddlPreferredContact").selectedIndex==0) {
            validated = false;
            if (message.indexOf("Work Email is preferred, but a Work Email is not specified") == -1)
                message += "\nWork Email is preferred, but a Work Email is not specified*txtWorkEmail"; }
        // ###### 9/3/09 Added validation to check for valid email
        if (document.getElementById("ctl00_ContentPlaceHolder1_ddlPreferredContact").selectedIndex==0 &&
            document.getElementById("ctl00_ContentPlaceHolder1_txtWorkEmail").value != "") {
            if (!filter.test(document.getElementById("ctl00_ContentPlaceHolder1_txtWorkEmail").value)) {
              validated = false;
              if (message.indexOf("The Work Email entered is not a valid email address") == -1) {
                message += "\nThe Work Email entered is not a valid email address*txtWorkEmail";
              }
            }  
        }
        if (document.getElementById("ctl00_ContentPlaceHolder1_ddlPreferredContact").selectedIndex==1 &&
            document.getElementById("ctl00_ContentPlaceHolder1_txtAddHomeEmail").value != "") {
            if (!filter.test(document.getElementById("ctl00_ContentPlaceHolder1_txtAddHomeEmail").value)) {
              validated = false;
              if (message.indexOf("The Home Email entered is not a valid email address") == -1) {
                message += "\nThe Home Email entered is not a valid email address*txtAddHomeEmail";
              }
            }  
        }
        if (document.getElementById("ctl00_ContentPlaceHolder1_ddlBargUnits").selectedIndex == 0) {
            validated = false;
            if (message.indexOf("A bargaining Unit is required in the Add section") == -1)
                message += "\nA bargaining Unit is required in the Add section*ddlBargUnits"; }
        if (document.getElementById("ctl00_ContentPlaceHolder1_ddlRegions").selectedIndex == 0) {
            validated = false;
            if (message.indexOf("A region is required in the Add section") == -1)
                message += "\nA region is required in the Add section*ddlRegions"; } 
        if (document.getElementById("ctl00_ContentPlaceHolder1_txtAddLName").value=="Last Name" ||
            document.getElementById("ctl00_ContentPlaceHolder1_txtAddLName").value=="") {
            validated = false;
            if (message.indexOf("A last name is required in the Add section") == -1)
                message += "\nA last name is required in the Add section*txtAddLName"; }
        if (document.getElementById("ctl00_ContentPlaceHolder1_txtAddFName").value=="First Name" ||
            document.getElementById("ctl00_ContentPlaceHolder1_txtAddFName").value=="") {
            validated = false;
            if (message.indexOf("A first name is required in the Add section") == -1)
                message += "\nA first name is required in the Add section*txtAddFName"; }
            
        if (removeDataEntered) { 
            // See if one of the required fields is used but not all 
            counter = 0; 
            checked = false;
            while (document.getElementById("ctl00_ContentPlaceHolder1_cblRemoveLists_" + counter) != null) {
                if (document.getElementById("ctl00_ContentPlaceHolder1_cblRemoveLists_" + counter).checked)
                    checked = true;
                counter += 1; }
            if (!checked) {
                validated = false;
                if (message.indexOf("At least one (remove) position must be checked") == -1)
                    message += "\nAt least one (remove) position must be checked*cblRemoveLists_0"; } 
            if (document.getElementById("ctl00_ContentPlaceHolder1_ddlRBargUnits").selectedIndex == 0) {
                validated = false;
                if (message.indexOf("A bargaining Unit is required in the Remove section") == -1)
                    message += "\nA bargaining Unit is required in the Remove section*ddlRBargUnits"; }
            if (document.getElementById("ctl00_ContentPlaceHolder1_ddlRRegions").selectedIndex == 0) {
                validated = false;
                if (message.indexOf("A region is required in the Remove section") == -1)
                    message += "\nA region is required in the Remove section*ddlRRegions"; }    
            if (document.getElementById("ctl00_ContentPlaceHolder1_txtRemoveLName").value=="Last Name" ||
                document.getElementById("ctl00_ContentPlaceHolder1_txtRemoveLName").value=="") {
                validated = false;
                if (message.indexOf("A last name is required in the Remove section") == -1)
                    message += "\nA last name is required in the Remove section*txtRemoveLName"; }
            if (document.getElementById("ctl00_ContentPlaceHolder1_txtRemoveFName").value=="First Name" ||
                document.getElementById("ctl00_ContentPlaceHolder1_txtRemoveFName").value=="") {
                validated = false;
                if (message.indexOf("A first name is required in the Remove section") == -1)
                    message += "\nA first name is required in the Remove section*txtRemoveFName"; }
        }
    } 
    dirty = false;
    return validated ? "" : message; 
	} catch (err) {
		alert(err.description + ' in function .validateme.');
    }
}

//function isOnlyRequestorEmailRequired() {
    
//}

//function onlyReqEmail_callback(res) {
//    onlyRequestorEmailReqd = (res.value == 1);
//}

function hasValidDistributionEmail() {
    try {
    // make sure there is at least one valid distribution email
    // 1. Not all emails are blank, 'unknown', or contain 'not found'
    var boolFound = false;
    var boolIsValid = true;
    for (x=1;x<=4;x++) 
        boolFound = boolFound || 
            ((document.getElementById("ctl00_ContentPlaceHolder1_txtEmail" + x).value != "") && 
             (document.getElementById("ctl00_ContentPlaceHolder1_txtEmail" + x).value != "unknown") &&
             (document.getElementById("ctl00_ContentPlaceHolder1_txtEmail" + x).value.indexOf("not found") == -1));
    // boolFound = boolFound ||
    //    (document.getElementById("ctl00_ContentPlaceHolder1_txtOtherEmail").value != "");
    // 2. The emails that don't fit #1 (a) have no spaces and (b) have an '@'
//    for (x=1;x<=4;x++) 
//        if ((document.getElementById("ctl00_ContentPlaceHolder1_txtEmail" + x).value != "") && 
//            (document.getElementById("ctl00_ContentPlaceHolder1_txtEmail" + x).value != "unknown") && 
//            (document.getElementById("ctl00_ContentPlaceHolder1_txtEmail" + x).value.indexOf("not found") == -1))
//            if ((document.getElementById("ctl00_ContentPlaceHolder1_txtEmail" + x).value.indexOf(" ") > -1) ||
//                (document.getElementById("ctl00_ContentPlaceHolder1_txtEmail" + x).value.indexOf("@") == -1))
//                boolIsValid = false;
    for (x=1;x<=4;x++) {
      var txt = document.getElementById("ctl00_ContentPlaceHolder1_txtEmail" + x).value;
      if ((txt != "") && (txt != "unknown") && (txt.indexOf("not found") == -1))
        if (getInvalidEmail(txt).length > 0) {
            boolIsValid = false;
        }
    }
    // var txtOther = document.getElementById("ctl00_ContentPlaceHolder1_txtOtherEmail").value;
    // boolIsValid = boolIsValid && 
    //          ((txtOther == "") || (getInvalidEmail(txtOther.length == 0)));
    if (!boolIsValid)
        return "Invalid";
    if (!boolFound)
        return "None";
    return ""; 
	} catch (err) {
		alert(err.description + ' in function .noaddorchange.');
  }
}

function someRemoveDataEntered() {
    try {
    var hasData = false;
    var checked = false;
    var counter = 0;
    hasData = (document.getElementById("ctl00_ContentPlaceHolder1_txtRemoveLName").value!="Last Name" &&
        document.getElementById("ctl00_ContentPlaceHolder1_txtRemoveLName").value!="");
    hasData = hasData || (document.getElementById("ctl00_ContentPlaceHolder1_txtRemoveFName").value!="First Name" &&
        document.getElementById("ctl00_ContentPlaceHolder1_txtRemoveFName").value!="");
    hasData = hasData || (document.getElementById("ctl00_ContentPlaceHolder1_ddlRBargUnits").selectedIndex > 0);
    hasData = hasData || (document.getElementById("ctl00_ContentPlaceHolder1_ddlRRegions").selectedIndex > 0);
    while (document.getElementById("ctl00_ContentPlaceHolder1_cblRemoveLists_" + counter)) {
            if (document.getElementById("ctl00_ContentPlaceHolder1_cblRemoveLists_" + counter).checked)
                checked = true;
            counter += 1; }
    return hasData || checked;
	} catch (err) {
		alert(err.description + ' in function .someRemoveDataEntered.');
    }
}

function someAddDataEntered() {
    try {
    var hasData = false;
    var checked = false;
    var counter = 0;
    hasData = (document.getElementById("ctl00_ContentPlaceHolder1_txtAddLName").value!="Last Name" &&
        document.getElementById("ctl00_ContentPlaceHolder1_txtAddLName").value!="");
    hasData = hasData || (document.getElementById("ctl00_ContentPlaceHolder1_txtAddFName").value!="First Name" &&
        document.getElementById("ctl00_ContentPlaceHolder1_txtAddFName").value!="");
    hasData = hasData || (document.getElementById("ctl00_ContentPlaceHolder1_ddlBargUnits").selectedIndex > 0);
    hasData = hasData || (document.getElementById("ctl00_ContentPlaceHolder1_ddlRegions").selectedIndex > 0);
    hasData = hasData || (document.getElementById("ctl00_ContentPlaceHolder1_txtChangeComments").value != "");
    hasData = hasData || (document.getElementById("ctl00_ContentPlaceHolder1_txtAddHomeEmail").value!="");
    hasData = hasData || (document.getElementById("ctl00_ContentPlaceHolder1_txtWorkEmail").value!="");
    hasData = hasData || (document.getElementById("ctl00_ContentPlaceHolder1_txtUserId").value != "");
    hasData = hasData || (document.getElementById("ctl00_ContentPlaceHolder1_txtPassword").value != "");
    while (document.getElementById("ctl00_ContentPlaceHolder1_cblAddLists_" + counter)) {
            if (document.getElementById("ctl00_ContentPlaceHolder1_cblAddLists_" + counter).checked)
                checked = true;
            counter += 1; }
    // ensure correct "mode" is selected in radio button list
    if (hasData) {
        if (document.getElementById("ctl00_ContentPlaceHolder1_txtChangeComments").value != "" ||
            document.getElementById("ctl00_ContentPlaceHolder1_rblAccess_1").checked)
            document.getElementById("ctl00_ContentPlaceHolder1_rblAccess_1").checked = true;
        else
            document.getElementById("ctl00_ContentPlaceHolder1_rblAccess_0").checked = true;
    }
    return hasData || checked;
	} catch (err) {
		alert(err.description + ' in function .someAddDataEntered.');
    }
}

function myRequest() {
    try {
    this.BargUnitAdd = "";
    //this.BargUnitIdAdd = 0;
    this.BargUnitIdAdd = "";
    this.BargUnitRemove = "";
    //this.BargUnitIdRemove = 0;
    this.BargUnitIdRemove = "";
    this.FNameAdd = "";
    this.FNameRemove = "";
    this.HomeEmail = "";
    this.IsChange = 0;
    this.LNameAdd = "";
    this.LNameRemove = "";
    this.MidInitAdd = "";
    this.MidInitRemove = "";
    this.PrefContactMethod = 0;
    //this.RegionAdd = 0;
    //this.RegionRemove = 0;
    this.RegionAdd = "";
    this.RegionRemove = "";
    this.ReqEmail = "";
    this.ReqName = "";
    this.ReqPhoneNumber = "";
    this.WhatChanged = "";
    this.WorkEmail = "";
    this.PositionsAdded = "";
    this.PositionsRemoved = "";
    this.SSNLast4 = "";
    this.HasWebAccess = 0;
    this.HasEmail = 0;
    this.userId = "";
    this.password = "";
    this.remUserId = "";
    this.Situation = 0;
    this.MyMEAEmail = "";
    this.distEmail1 = "";
    this.distEmail2 = "";
    this.distEmail3 = "";
    this.distEmail4 = "";
    this.distOtherEmail = "";
    this.Notes = "";
    this.RemoveOnly = 0;
	} catch (err) {
		alert(err.description + ' in function .myRequest.');
    }
}

function myAccount() {
    try {
    this.userId = "";
    this.firstName = "";
    this.lastName = "";
    this.description = "";
    this.ssnLast4 = "";
    this.password = "";
    this.offices = "";
    this.bargUnit = "";
    this.action = ""; 
    this.reqid = "";
    } catch (err) {
        alert(err.description + ' in function .myAccount.');
    }
}

function createAccount(fname, lname, unit, ssnLast4, reqId, cbListPrefix) {
    try {
    account.firstName = fname;
    account.lastName = lname;
    account.bargUnit = unit;
    account.ssnLast4 = ssnLast4;
    account.reqid = reqId;
     
    counter = 0;
    while (document.getElementById(cbListPrefix + eval(counter)) != null) {
        if (document.getElementById(cbListPrefix + eval(counter)).checked) 
            account.offices += document.getElementById("cbAddLabel" + eval(counter)).innerHTML + "+";
            account.offices = account.offices.replace("Local Association ", "");
            // account.offices += document.getElementById(cbListPrefix + eval(counter)).label.innerText + "+";
        counter += 1; 
    }
    if (account.offices.length > 0)
        account.offices = account.offices.substring(0, account.offices.length - 1);
        
    return account;
    
    } catch (err) {
        alert(err.description + ' in function .createAccount.');
    }
}

function createMyRequest(method) {
  try {
    // request = new myRequest();
    var situationSelectIndex = 0;
    var counter = 0;
    var bargUnitAddSelectIndex = document.getElementById("ctl00_ContentPlaceHolder1_ddlBargUnits").selectedIndex;
    var bargUnitRemoveSelectIndex = document.getElementById("ctl00_ContentPlaceHolder1_ddlRBargUnits").selectedIndex;
    var regionAddSelectIndex = document.getElementById("ctl00_ContentPlaceHolder1_ddlRegions").selectedIndex;

    var regionRemoveSelectIndex = document.getElementById("ctl00_ContentPlaceHolder1_ddlRRegions").selectedIndex;
    if (isAdmin) situationSelectIndex = document.getElementById("ctl00_ContentPlaceHolder1_ddlSituation").selectedIndex;
    var preferredContact = document.getElementById("ctl00_ContentPlaceHolder1_ddlPreferredContact").selectedIndex;

    request.BargUnitAdd = document.getElementById("ctl00_ContentPlaceHolder1_ddlBargUnits").options[bargUnitAddSelectIndex].text;
    request.BargUnitIdAdd = document.getElementById("ctl00_ContentPlaceHolder1_ddlBargUnits").options[bargUnitAddSelectIndex].value;
    request.BargUnitRemove = document.getElementById("ctl00_ContentPlaceHolder1_ddlRBargUnits").options[bargUnitRemoveSelectIndex].text;
    request.BargUnitIdRemove = document.getElementById("ctl00_ContentPlaceHolder1_ddlRBargUnits").options[bargUnitRemoveSelectIndex].value;
    request.FNameAdd = document.getElementById("ctl00_ContentPlaceHolder1_txtAddFName").value;
    request.FNameRemove = document.getElementById("ctl00_ContentPlaceHolder1_txtRemoveFName").value;
    request.HomeEmail = document.getElementById("ctl00_ContentPlaceHolder1_txtAddHomeEmail").value;
    request.IsChange = document.getElementById("ctl00_ContentPlaceHolder1_rblAccess_1").checked;
    request.LNameAdd = document.getElementById("ctl00_ContentPlaceHolder1_txtAddLName").value;
    request.LNameRemove = document.getElementById("ctl00_ContentPlaceHolder1_txtRemoveLName").value;

    request.MidInitAdd = document.getElementById("ctl00_ContentPlaceHolder1_txtAddMI").value;
    request.MidInitRemove = document.getElementById("ctl00_ContentPlaceHolder1_txtRemoveMI").value;
    //request.PrefContactMethod = document.getElementById("ctl00_ContentPlaceHolder1_ddlPreferredContact").options[preferredContact].value;
    request.PrefContactMethod = preferredContact;
    request.RegionAdd = document.getElementById("ctl00_ContentPlaceHolder1_ddlRegions").options[regionAddSelectIndex].value;

    request.RegionRemove = document.getElementById("ctl00_ContentPlaceHolder1_ddlRRegions").options[regionRemoveSelectIndex].value;
    request.ReqEmail = document.getElementById("ctl00_ContentPlaceHolder1_txtRequestorEmail").value;
    request.ReqName = document.getElementById("ctl00_ContentPlaceHolder1_txtRequestorName").value;
    request.ReqPhoneNumber = document.getElementById("ctl00_ContentPlaceHolder1_txtRequestorPhone").value;
    if (document.getElementById("ctl00_ContentPlaceHolder1_txtChangeComments")) 
        request.WhatChanged = document.getElementById("ctl00_ContentPlaceHolder1_txtChangeComments").value;
    else
        request.WhatChanged = "";
    request.WorkEmail = document.getElementById("ctl00_ContentPlaceHolder1_txtWorkEmail").value;

    request.PositionsAdded = "";
    request.PositionsRemoved = "";
    // Added 5/24/2007 (see note below)
    var ary = new Array();
    var stringPos;
    var max;
    // ##### 9/3/09 Changed from innerText to innerHTML to work with firefox
    ary = document.getElementById("ctl00_ContentPlaceHolder1_h_lblChkboxValues").innerHTML.split("*");
    // ary = document.getElementById("ctl00_ContentPlaceHolder1_h_lblChkboxValues").innerText.split("*");
    // Zero out all digits for initialization. The strings will have a length equal to the maximum-valued element 
    // of the array
    max = getMax(ary);
    for (counter=0; counter<max; counter++) {
        request.PositionsAdded += "0";
        request.PositionsRemoved += "0";
    }
    counter = 0;
    while (document.getElementById("ctl00_ContentPlaceHolder1_cblAddLists_" + counter) != null) {
        if (document.getElementById("ctl00_ContentPlaceHolder1_cblAddLists_" + counter).checked) {
        /* SJP - 5/24/2007
           Before any inserts of positions can be done, the collection of position ID's (as perceived by the client)
           must be converted in such a way as to account for the "holes" in the client position list where certain
           positions were disabled. The client simply sees positions as numbered 1, 2, 3, 4, ... n with no holes.
           But, for Example: The reality is that PositionId 2 (in the database) is disabled. Therefore, if positions 1 and 2 
           (on the client) are checked, what really needs to happen is positions 1 and 3 need to be added for this request 
           detail. */
        /* Old way 
            request.PositionsAdded += "1";
         else request.PositionsAdded += "0"; */
        /* New way (the same change is made in the "Positions Removed" block that follows
           Replace the "0" in the PositionsAdded string at the location equal to the value at the location indexed by counter
         */
           stringPos = parseInt(ary[counter])-1;
           request.PositionsAdded = 
                request.PositionsAdded.substring(0, stringPos) + "1" + 
                request.PositionsAdded.substring(stringPos + 1, request.PositionsAdded.length); }
        counter += 1; 
    }
    counter = 0;
    while (document.getElementById("ctl00_ContentPlaceHolder1_cblRemoveLists_" + counter) != null) {
        if (document.getElementById("ctl00_ContentPlaceHolder1_cblRemoveLists_" + counter).checked) {
           stringPos = parseInt(ary[counter])-1;
           request.PositionsRemoved = 
                request.PositionsRemoved.substring(0, stringPos) + "1" + 
                request.PositionsRemoved.substring(stringPos + 1, request.PositionsRemoved.length); }
        counter += 1; 
    }
    if (method=="confirm" || method=="save") { 
        request.SSNLast4 = document.getElementById("ctl00_ContentPlaceHolder1_lblSSNLast4").innerText;
        request.HasWebAccess = document.getElementById("ctl00_ContentPlaceHolder1_chkHasWebAccess").checked; 
        request.userId = document.getElementById("ctl00_ContentPlaceHolder1_txtUserId").value;
        request.remUserId = document.getElementById("ctl00_ContentPlaceHolder1_txtRemUserId").value;
        request.password = document.getElementById("ctl00_ContentPlaceHolder1_txtPassword").value; 
        request.HasEmail = document.getElementById("ctl00_ContentPlaceHolder1_chkHasEmail").checked; 
        request.Situation = document.getElementById("ctl00_ContentPlaceHolder1_ddlSituation").options[situationSelectIndex].value;
        request.MyMEAEmail = document.getElementById("ctl00_ContentPlaceHolder1_lblMyMEAEmail").innerText; 
        request.distEmail1 = document.getElementById("ctl00_ContentPlaceHolder1_lblEmail1Title").innerText + "*" + 
            document.getElementById("ctl00_ContentPlaceHolder1_txtEmail1").value;
        request.distEmail2 = document.getElementById("ctl00_ContentPlaceHolder1_lblEmail2Title").innerText + "*" +
            document.getElementById("ctl00_ContentPlaceHolder1_txtEmail2").value;
        request.distEmail3 = document.getElementById("ctl00_ContentPlaceHolder1_lblEmail3Title").innerText + "*" +
            document.getElementById("ctl00_ContentPlaceHolder1_txtEmail3").value;
        request.distEmail4 = document.getElementById("ctl00_ContentPlaceHolder1_lblEmail4Title").innerText + "*" +
            document.getElementById("ctl00_ContentPlaceHolder1_txtEmail4").value;
        // request.distOtherEmail = document.getElementById("ctl00_ContentPlaceHolder1_txtOtherEmail").innerText;
        request.Notes = document.getElementById("ctl00_ContentPlaceHolder1_txtNotes").innerText; 
    }
    if (document.getElementById("ctl00_ContentPlaceHolder1_rblAccess_2").checked) 
        request.RemoveOnly = 1;
    return request;
	} catch (err) {
		alert(err.description + ' in function .createMyRequest.');
    }
}

function validateSave() {
    // This is only used for SAVE purposes
    // Add a minimum, a Save must be done with a First Name, Last Name and Bargaining Unit
    try {
    var validSave = true;
    if (someAddDataEntered() && 
        (document.getElementById("ctl00_ContentPlaceHolder1_txtAddFName").value=="" ||
         document.getElementById("ctl00_ContentPlaceHolder1_txtAddLName").value=="" ||
         document.getElementById("ctl00_ContentPlaceHolder1_txtAddFName").value=="First Name" ||
         document.getElementById("ctl00_ContentPlaceHolder1_txtAddLName").value=="Last Name" ||
         document.getElementById("ctl00_ContentPlaceHolder1_ddlBargUnits").selectedIndex == 0)) 
         validSave = false;
    if (someRemoveDataEntered() && 
        (document.getElementById("ctl00_ContentPlaceHolder1_txtRemoveFName").value=="" ||
         document.getElementById("ctl00_ContentPlaceHolder1_txtRemoveLName").value=="" ||
         document.getElementById("ctl00_ContentPlaceHolder1_txtRemoveFName").value=="First Name" ||
         document.getElementById("ctl00_ContentPlaceHolder1_txtRemoveLName").value=="Last Name" ||
         document.getElementById("ctl00_ContentPlaceHolder1_ddlRBargUnits").selectedIndex == 0)) 
         validSave = false;
    return validSave;
	} catch (err) {
		alert(err.description + ' in function .validateSave.');
    }
}

function hasValidLoginInfoForDist() {
  if (document.getElementById("ctl00_ContentPlaceHolder1_rblAccess_0").checked) 
      return (document.getElementById("ctl00_ContentPlaceHolder1_txtUserId").value != "");
  else 
      return true;
}

function hasValidLoginInfo() {
    try {
    if (isNotEligible()) {
        // don't need userid and password if the ll is not eligible 
        return true;
    } else {
        if (document.getElementById("ctl00_ContentPlaceHolder1_rblAccess_0").checked) 
            return (document.getElementById("ctl00_ContentPlaceHolder1_txtUserId").value != "") && 
                   (document.getElementById("ctl00_ContentPlaceHolder1_txtPassword").value != "");
        if (document.getElementById("ctl00_ContentPlaceHolder1_rblAccess_1").checked) 
            return (document.getElementById("ctl00_ContentPlaceHolder1_txtUserId").value != "");
        else 
            return true;
    }
    } catch (err) {
        alert(err.description + ' in function .hasValidLoginInfo.');
    }
}

function isNotEligible() {
    // check to see if anything like the "not eligible" selection was made from Situation list
    var sitList = document.getElementById("ctl00_ContentPlaceHolder1_ddlSituation");
    var sitListString = sitList.options[sitList.selectedIndex].text;
    return ((sitListString.indexOf('not eligible') > -1) || 
            (sitListString.indexOf('non-eligible') > -1) ||
            (sitListString.indexOf('not Eligible') > -1) || 
            (sitListString.indexOf('non-Eligible') > -1))
}

function getMax(ary) {
    try {
    // return the maximum-valued element in the input array
    var n;
    var max=0;
    for (n=0; n<ary.length; n++) {
        if (parseInt(ary[n]) > max)
            max = parseInt(ary[n]);
    }
    return max;
	} catch (err) {
		alert(err.description + ' in function .getMax.');
    }
}

