$(document).ready(function() {
    if ($("#ctl00_ContentPlaceHolder1_EDDL_InstitutionID >option:selected").text() != "") {
        if ($("#ctl00_ContentPlaceHolder1_EDDL_InstitutionID >option:selected").text() != "---Select Institution---") {
            populateEmail();
        }
    }



    $('<div id="busy"><img src="images/ajax-loader.gif" />Please wait...</div>')
        .ajaxStart(function() {
            centerWait();
            $(this).show();
        })
        .ajaxStop(function() { $(this).hide(); })
        .appendTo('body');


    $('table.itemPlaceholderContainer tbody tr:odd').addClass('odd');
    $('table.itemPlaceholderContainer tbody tr:even').addClass('even');
    $('#txtSubmit').click(function() {
        if (checkPhone()) {
            $('#txtMsgBox').css({ visibility: "hidden" });
        }
    });
    $('#txtCancel').click(function() {
        $('#txtMsgBox').css({ visibility: "hidden" });
        $('#ctl00_ContentPlaceHolder1_txtMsgPhone').val('');
    });
    $('#ctl00_ContentPlaceHolder1_txtMsgPhone').blur(function() {
        var isGood = IsNumeric($(this).val());
        var myVal = $(this).val().length;

        if (isGood != true && myVal != 0) {
            alert("The value may only contain numeric charaters");
            $("#txtRendZip").focus();
            $("#txtRendZip").select();
        }
        else {
            if (myVal > 10 && myVal != 0) {
                alert("The value must be a a maximum of 10 numeric characters");
                $("#txtRendZip").focus();
                $("#txtRendZip").select();
            }
            if (myVal < 10 && myVal != 0) {
                alert("The value must be a a minimum of 10 numeric characters");
                $("#txtRendZip").focus();
                $("#txtRendZip").select();
                ctl00_ContentPlaceHolder1_EngagementSummary1_lblCode
            }
        }
    });

    $("#butTxtMsgCP").click(function() {
        var engCode = $("#ctl00_ContentPlaceHolder1_EngagementSummary1_lblCode").text();
        $('input'["#meetingID"]).val(engCode);
        //alert("You have clicked my button " + engCode + "");
        $("body").addClass("greyOut");

        $("#txtMessageCP").css({ visibility: "visible" });
        $("#usrToGetMsg").css({ visibility: "visible" });

    });
    $("#txtMsgCPClose").click(function() {
        $("#txtMessageCP").css({ visibility: "hidden" });
        $("#usrToGetMsg").css({ visibility: "hidden" });
        $("#sendMsg").css({ visibility: "hidden" });
        $("body").removeClass("greyOut");
    });
    $("#btnSendText").click(function() {
        $("#txtMessageCP").css({ visibility: "visible" });
        $("#usrToGetMsg").css({ visibility: "hidden" });
        $("#sendMsg").css({ visibility: "visible" });
    });
    $("#btnWhoToSendTo").click(function() {
        var engCode = $("#ctl00_ContentPlaceHolder1_EngagementSummary1_lblCode").text();
        $('input'["#meetingID"]).val(engCode);
        //alert("You have clicked my button " + engCode + "");
        $("body").addClass("greyOut");
        $("#txtMessageCP").css({ visibility: "visible" });
        $("#usrToGetMsg").css({ visibility: "visible" });
        $("#sendMsg").css({ visibility: "hidden" });
    });

    $("#txtBxMsg").keyup(function() {
        var myLen = $(this).val().length;
        if (myLen > 159) {
            alert("This message must be less than 160 characters");
            $(this).select;
        }
    });


    $("#btnSendIt").click(function() {
        var myMessage = $("#txtBxMsg").val();
        //var myMsgFrom = $("#smsTxtFrom").val();
        var myEventID = getEventID();
        //alert(myEventID);
        var mySubject = $("#smsSubject").val();
        //var mySendTo = $("#smsTo").val();
        var myNums;
        myNums = getNumbers();
        //var myKey = "bd0a3656-27c9-48f3-a7b6-19a6b7bafb18";

        /*if (myMsgFrom == "") {
            myMsgFrom = "mklein@rrhealthcare.com";
        }*/
        var myDTO = { 'subject': mySubject, 'msg': myMessage, 'numbers': myNums, 'eventID': myEventID };
        var toPass = JSON.stringify(myDTO);
        //SendText(ByVal subject As String, ByVal msg As String, ByVal numbers As String, ByVal eventID As String)
        // data: $.toJSON(myParam),
        $.ajax({
            type: "POST",
            dataType: "json",
            url: "Invitations.aspx/SendText",
            data: toPass,
            contentType: "application/json; charset=utf-8",
            success: function() { alert("Message has been sent"); },
            failure: function() { alert("Uh oh there was a problem with sending the text message"); }

        });

    });

    $('#btnTxtMsgAdmin').hover(
        function() {
            $(this).css({ backgroundColor: "#AfffDCC" });
        },
        function() {
            $(this).css({ backgroundColor: "#DADADA" });

        });
    $('#editInsitute').hover(
        function() {
            $(this).css({ backgroundColor: "#B3D9FF" });
        },
        function() {
            $(this).css({ backgroundColor: "#F0F0F0" });

        });
    $('#editEvent').hover(
        function() {
            $(this).css({ backgroundColor: "#B3D9FF" });
        },
        function() {
            $(this).css({ backgroundColor: "#F0F0F0" });

        });
    $('#btnDeleteAtnde').hover(
        function() {
            $(this).css({ backgroundColor: "#B3D9FF" });
        },
        function() {
            $(this).css({ backgroundColor: "#F0F0F0" });

        });

    $('#butTxtMsgCP').hover(
        function() {
            $(this).css({ backgroundColor: "#B3D9FF" });
        },
        function() {
            $(this).css({ backgroundColor: "#F0F0F0" });

        });
    $('#returnTAL').hover(
        function() {
            $(this).css({ backgroundColor: "#B3D9FF" });
        },
        function() {
            $(this).css({ backgroundColor: "#F0F0F0" });

        });
    $('#returnTAL').click(function() {
        var eventID = $('#ctl00_ContentPlaceHolder1_hidEngagementID').val();

        var myURL = "Invitations.aspx?EngagementID=" + eventID;
        //alert(myURL );
        location.href = myURL;
    });

    $('#editEvent').click(function() {
        var eventID = $('#ctl00_ContentPlaceHolder1_hidEngagementID').val();

        var myURL = "Engagements.aspx?eventID=" + eventID;
        //alert(myURL );
        location.href = myURL;
    });

    $('#btnTxtMsgAdmin').click(function() {
        var pn;

        pn = $("#ctl00_ContentPlaceHolder1_UserProfile1_fvUserAddEdit_CellPhoneTextBox").val();
        pn = pn.replace(/[^a-zA-Z 0-9]+/g, '');
        $("#txtMsgBoxAdmin").css({ visibility: "visible" });
        $('#txtMsgPhoneAdmin').val(pn);

        $("body").addClass("greyOut");


    });

    $('#txtCancelAdmin').click(function() {
        $("#txtMsgBoxAdmin").css({ visibility: "hidden" });
        $("body").removeClass("greyOut");
    });

    $('#txtSubmitAdmin').click(function() {
        // (ByRef phone As String, ByRef meetingID As String, ByRef msgFName As String, ByRef msgLNaame As String)
        var myEventID = $("#ctl00_ContentPlaceHolder1_hidEngagementID").val();
        //alert(myEventID);
        var myFname = $("#ctl00_ContentPlaceHolder1_UserProfile1_fvUserAddEdit_FirstNameTextBox").val();
        // alert(myFname);
        var myLname = $("#ctl00_ContentPlaceHolder1_UserProfile1_fvUserAddEdit_LastNameTextBox").val();
        // alert(myLname);
        var myPhone = $("#txtMsgPhoneAdmin").val();
        // alert(myPhone);
        var myDTO = { 'phone': myPhone, 'meetingID': myEventID, 'msgFName': myFname, 'msgLNaame': myLname };
        var toPass = JSON.stringify(myDTO);

        $.ajax({
            type: "POST",
            dataType: "json",
            url: "EngagementRegistration.aspx/addMsgUser",
            data: toPass,
            contentType: "application/json; charset=utf-8",
            success: function() {
                if ("success") {
                    alert("The request has been saved");
                    $("#txtMsgBoxAdmin").css({ visibility: "hidden" });
                    $("body").removeClass("greyOut");
                }
                else {
                    alert('There was alert problem saving the request');
                }
            }

        });
    });


    $('#btnAddTextMssg').hover(
        function() {
            $(this).css({ backgroundColor: "#AFBDCC" });
        },
        function() {
            $(this).css({ backgroundColor: "#DADADA" });

        });

    $('#btnAddTextMssg').click(function() {
        //var pn;

        //pn = $("#ctl00_ContentPlaceHolder1_UserProfile1_fvUserAddEdit_CellPhoneTextBox").val();
        // pn = pn.replace(/[^a-zA-Z 0-9]+/g, '');
        $("#txtMsgBoxAdmin").css({ visibility: "visible" });
        //$('#txtMsgPhoneAdmin').val(pn);

        $("body").addClass("greyOut");


    });

    $('.smsRemove').click(function() {
        if ($(this).prev('.smsNumber').is('.good')) {
            $(this).prev('.smsNumber').removeClass("good");
        }
        else {
            $(this).prev('.smsNumber').addClass("good");
        }

    });

    $('#btnDeleteAtnde').click(function() {
        var myEventID = $("#ctl00_ContentPlaceHolder1_hidEngagementID").val();

        var myDTO = { 'eventID': myEventID };
        var toPass = JSON.stringify(myDTO);

        $.ajax({
            type: "POST",
            dataType: "json",
            url: "invitations.aspx/isNotComplete",
            data: toPass,
            contentType: "application/json; charset=utf-8",
            success: function(result) {
                if (result.d == false) {
                    alert("This Event has been completed, attendee's may not be deleted");

                }
                else {
                    centerbtnDeleteAtnde();
                    loadbtnDeleteAtnde();

                }
            }

        });


    });
    $("#btnDeleteCancel").click(function() {
        disablebtnDeleteAtnde();
    });

    $('#btnDeleteSubmit').click(function() {
        // Public Shared Function deleteAllInvitations(ByVal eventID As String) As String
        var myEventID = $("#ctl00_ContentPlaceHolder1_hidEngagementID").val();

        var myDTO = { 'eventID': myEventID };
        var toPass = JSON.stringify(myDTO);

        $.ajax({
            type: "POST",
            dataType: "json",
            url: "invitations.aspx/deleteAllInvitations",
            data: toPass,
            contentType: "application/json; charset=utf-8",
            success: function() {
                if ("success") {
                    alert("The invitee's have been deleted");
                    disablebtnDeleteAtnde();
                    window.location.reload();
                }
                else {
                    alert(success);
                }
            }

        });

    });

    $("#editInsitute").click(function() {
        centerAddHost();
        loadAddHost();
    });

    $("#exitEdit ").click(function() {
        if (isNewHost != true) {
            disableAddHost();
        }
        else {
            if (confirm("This form must be filled out in order to request an engagement! Are you sure you want to cancel?")) {
                $('#ctl00_ContentPlaceHolder1_txtUserEmail').val("");
                disableAddHost();
            }
            else {

            }
        }

    });

    $("#editHostCancel").hover(
        function() {
            $(this).css({ backgroundColor: "#AFBDCC" });
        },
        function() {
            $(this).css({ backgroundColor: "#DADADA" });

        });
    $("#editHostSubmit").click(function() {
        editHostSubmit();
    });
    $("#editHostSubmit").hover(
        function() {
            $(this).css({ backgroundColor: "#AFBDCC" });
        },
        function() {
            $(this).css({ backgroundColor: "#DADADA" });

        });

    $("#editHostCancel").click(function() {
        if (isNewHost != true) {
            disableAddHost();
        }
        else {
            if (confirm("This form must be filled out in order to request an engagement! Are you sure you want to cancel?")) {
                $('#ctl00_ContentPlaceHolder1_txtUserEmail').val("");
                disableAddHost();
            }
            else {

            }
        }

    });

    $("#btnIssueCert").click(function() {
        var name = $("#ctl00_ContentPlaceHolder1_C_EvaluationsV11_ddlAttendee option:selected").text();
        var strA = name.split(',');
        var billCode = $("#ctl00_ContentPlaceHolder1_EngagementInfo1_lblBillingCode").text();
        fname = strA[1];
        lname = strA[0];

        //alert(fname + " " + lname + "</ br>" + "Activity: " + topic + "</ br>" + "Held at: " + location);
        //alert(billCode);

        //Public Shared Function issueCert(ByVal fname As String, ByVal lname As String, ByVal billCode As String, ByVal topic As String, _
        //                                  ByVal location As String, ByVal eventDate As String) As String

        var myDTO = { 'fname': fname, 'lname': lname, 'billingCode': billCode };
        var toPass = JSON.stringify(myDTO);
        var name;
        var degree;
        $.ajax({
            type: "POST",
            dataType: "json",
            url: "Engagements.aspx/issueCertCheck",
            data: toPass,
            contentType: "application/json; charset=utf-8",
            success: function(result) {
                if (result.d == "fail") {
                    alert("There was an undisclosed error.");

                }
                else {
                    centercertIssue();
                    var resultA = result.d.split(';');
                    loadcertIssue(name, resultA[0], resultA[1]);
                }
            }
        });
    });
    $('#cancelIssueCert').click(function() {
        disablecertIssue();
    });

    $('#certIssueExit').click(function() {
        disablecertIssue();
    });
    $('#printCertExit').click(function() {
        disablecertPrint();
    });

    $("#submitIssueCert").click(function() {
        var name = $("#ctl00_ContentPlaceHolder1_C_EvaluationsV11_ddlAttendee option:selected").text();
        var strA = name.split(',');
        var cityState = $("#ctl00_ContentPlaceHolder1_EngagementInfo1_lblCityState").text();
        var location = $("#ctl00_ContentPlaceHolder1_EngagementInfo1_lblCityState").text();
        var topic = $("#ctl00_ContentPlaceHolder1_EngagementInfo1_lblTopic").text();
        var eventDate = $("#ctl00_ContentPlaceHolder1_EngagementInfo1_lblDate").text();
        var email = $("#certEmail").val();
        var saveEmail = $('input[name=Checkbox1]:checked').val();
        var degree = $("#userDegree").val();
        if (saveEmail == "on") {
            saveEmail = true;
        }
        else {
            saveEmail = false;
        }
        //alert(saveEmail);
        fname = strA[1];
        lname = strA[0];

        //alert(fname + " " + lname + "</ br>" + "Activity: " + topic + "</ br>" + "Held at: " + location);
        var billCode = $("#ctl00_ContentPlaceHolder1_EngagementInfo1_lblBillingCode").text();
        //alert(billCode);

        //Public Shared Function issueCert(ByVal fname As String, ByVal lname As String, ByVal billCode As String, ByVal topic As String, _
        //                                  ByVal location As String, ByVal eventDate As String) As String

        var myDTO = { 'fname': fname, 'lname': lname, 'billCode': billCode, 'topic': topic, 'location': location, 'eventDate': eventDate, 'eMail': email, 'saveEmail': saveEmail, 'degree': degree };
        var toPass = JSON.stringify(myDTO);

        $.ajax({
            type: "POST",
            dataType: "json",
            url: "Engagements.aspx/issueCert",
            data: toPass,
            contentType: "application/json; charset=utf-8",
            success: function(result) {
                if (result.d == "success") {
                    alert("The Certificate has been sent.");
                    disablecertIssue();
                }
                else {
                    if (result.d == "Issued") {
                        var isIssued = confirm("This certificate has already been issued.  Would you like to re-issued it now?");
                        if (isIssued) {
                            reIssueCert();

                        }
                        else {

                        }
                    }
                    else {

                        alert("There was an issue durring the processing of this request, the message returned was: " + result.d);
                    }
                }
            }

        });
    });

    $("#btnPrintCert").click(function() {
        var name = $("#ctl00_ContentPlaceHolder1_C_EvaluationsV11_ddlAttendee option:selected").text();
        var strA = name.split(',');
        var billCode = $("#ctl00_ContentPlaceHolder1_EngagementInfo1_lblBillingCode").text();
        fname = strA[1];
        lname = strA[0];
        //Public Shared Function issueCert(ByVal fname As String, ByVal lname As String, ByVal billCode As String, ByVal topic As String, _
        //                                  ByVal location As String, ByVal eventDate As String) As String

        var myDTO = { 'fname': fname, 'lname': lname, 'billingCode': billCode };
        var toPass = JSON.stringify(myDTO);
        var name;
        var degree;

        $.ajax({
            type: "POST",
            dataType: "json",
            url: "Engagements.aspx/issueCertCheck",
            data: toPass,
            contentType: "application/json; charset=utf-8",
            success: function(result) {
                if (result.d == "fail") {
                    alert("There was an undisclosed error.");

                }
                else {
                    centerPrintCert();
                    var resultA = result.d.split(';');
                    loadPrintCert(name, resultA[1]);
                }
            }
        });
        if (popupStatus == 0) {
            $("body").addClass("greyOut");
            $("#PrintCertForm").fadeIn("fast");
            popupStatus = 1;
        }

    });
    $("#printCertCancel").click(function() {
        disablecertPrint();
    });

    $("#printCertSubmit").click(function() {
        var name = $("#ctl00_ContentPlaceHolder1_C_EvaluationsV11_ddlAttendee option:selected").text();
        var strA = name.split(',');
        var cityState = $("#ctl00_ContentPlaceHolder1_EngagementInfo1_lblCityState").text();
        var location = $("#ctl00_ContentPlaceHolder1_EngagementInfo1_lblCityState").text();
        var topic = $("#ctl00_ContentPlaceHolder1_EngagementInfo1_lblTopic").text();
        var eventDate = $("#ctl00_ContentPlaceHolder1_EngagementInfo1_lblDate").text();
        fname = strA[1];
        lname = strA[0];


        var saveDegree = $('input[name=Checkbox1]:checked').val();
        var degree = $("#certDegreeSpan").val();
        if (saveDegree == "on") {
            saveDegree = true;
        }
        else {
            saveDegree = false;
        }
        var billCode = $("#ctl00_ContentPlaceHolder1_EngagementInfo1_lblBillingCode").text();
        //alert(billCode);

        //printCert(ByVal fname As String, ByVal lname As String, ByVal billCode As String, ByVal topic As String, _
        //                                  ByVal location As String, ByVal eventDate As String, ByVal degree As String, _
        //                                   ByVal saveDegreeA As Boolean) As String
        var myDTO = { 'fname': fname, 'lname': lname, 'billCode': billCode, 'topic': topic, 'location': location, 'eventDate': eventDate, 'degree': degree, 'saveDegreeA': saveDegree };
        var toPass = JSON.stringify(myDTO);

        $.ajax({
            type: "POST",
            dataType: "json",
            url: "Engagements.aspx/printCert",
            data: toPass,
            contentType: "application/json; charset=utf-8",
            success: function(result) {
                if (result.d == "fail") {
                    alert("There was an unknown error in creating or retrieving this cert.");

                }
                else {
                    var winRef = window.open("certs/" + result.d);

                }
            }
        });
        disablecertPrint();
    });

    $('#selectCertClose').click(function() {
        $("body").removeClass("greyOut");
        disableSelectCert();
    });

    $('#ctl00_ContentPlaceHolder1_txtUserEmail').blur(




        function() {









            var email = $('#ctl00_ContentPlaceHolder1_txtUserEmail').val();
            var validEmail = validateEmail(email, 1, 1);
            if (validEmail == true) {
                centerAddHost();
                loadAddHost();
















            }
            else {
































                $('#ctl00_ContentPlaceHolder1_txtUserEmail').val("");








            }























        });




});

/********************************************************/
/******** Ends the document ready portion ***************/
/********************************************************/
var popupStatus = 0;
var selectedHost = "";
var isNewHost = false;


function IsNumeric(strString)
//  check for valid numeric strings 
{
    var strValidChars = "0123456789";
    var strChar;
    var blnResult = true;

    if (strString.length == 0) return false;

    //  test strString consists of valid characters listed above
    for (i = 0; i < strString.length && blnResult == true; i++) {
        strChar = strString.charAt(i);
        if (strValidChars.indexOf(strChar) == -1) {
            blnResult = false;
        }
    }
    return blnResult;

}

function checkPhone() {
    var isGood = IsNumeric($('#ctl00_ContentPlaceHolder1_txtMsgPhone').val());
    var myVal = $('#ctl00_ContentPlaceHolder1_txtMsgPhone').val().length;

    if (isGood != true && myVal != 0) {
        alert("The value may only contain numeric charaters");
        $("#txtRendZip").focus();
        $("#txtRendZip").select();
        return false;
    }
    else {
        if (myVal > 10 && myVal != 0) {
            alert("The value must be a a maximum of 10 numeric characters");
            $("#txtRendZip").focus();
            $("#txtRendZip").select();
            return false;
        }
        if (myVal < 10 && myVal != 0) {
            alert("The value must be a a minimum of 10 numeric characters");
            $("#txtRendZip").focus();
            $("#txtRendZip").select();
            return false;
        }
    }
    return true;
}

function txtMsgCP() {
    var engCode = $("#ctl00_ContentPlaceHolder1_EngagementSummary1_lblCode").text();
    alert("You have clicked my button " + engCode + "");
    $("#txtMessageCP").css({ visibility: "visible" });
}

function getNumbers() {
    var rawRow = "";
    $("span.good").each(function() {
        rawRow += $(this).text();
        rawRow += " ";
    });

    //alert(rawRow);
    return rawRow;
}

function getEventID() {
    var rawRow = "";
    $("span.smsEventID").each(function() {
        rawRow = $(this).text();

    });

    //alert(rawRow);
    return rawRow;
}

function centerbtnDeleteAtnde() {
    //request data for centering
    var windowWidth = document.documentElement.clientWidth;
    var windowHeight = document.documentElement.clientHeight;

    var popupHeight = $("#deleteAll").height();
    var popupWidth = $("#deleteAll").width();
    //centering
    $("#deleteAll").css({
        "position": "absolute",
        "top": windowHeight / 2 - popupHeight / 2,
        "left": windowWidth / 2 - popupWidth / 2
    });
    //only need force for IE6

    $("#backgroundPopup").css({
        "height": "100%", "z-index": "18"
    });

}

function centerWait() {
    //request data for centering
    var windowWidth = document.documentElement.clientWidth;
    var windowHeight = document.documentElement.clientHeight;

    var popupHeight = $("#deleteAll").height();
    var popupWidth = $("#deleteAll").width();
    //centering
    $("#busy").css({
        "position": "absolute",
        "top": windowHeight / 2 - popupHeight / 2 + 10,
        "left": windowWidth / 2 - popupWidth / 2 + 100
    });

}
function centerPrintCert() {
    //request data for centering
    var windowWidth = document.documentElement.clientWidth;
    var windowHeight = document.documentElement.clientHeight;

    var popupHeight = $("#deleteAll").height();
    var popupWidth = $("#deleteAll").width();
    //centering
    $("#busy").css({
        "position": "absolute",
        "top": windowHeight / 2 - popupHeight / 2 + 10,
        "left": windowWidth / 2 - popupWidth / 2 + 100
    });

}
function loadPrintCert(name, degree) {
    //loads popup only if it is disabled  

    popupStatus = 1;
    $('#certDegreeSpan').val(degree);
    $('#certNameSpan').html(name);

}
function loadcertIssue(name, email, degree) {
    //loads popup only if it is disabled  
    if (popupStatus == 0) {
        $("#backgroundPopup").css({
            "opacity": "0.5"
        });
        $("#backgroundPopup").fadeIn("fast");
        $("#certIssue").fadeIn("fast");
        popupStatus = 1;
        $('#certEmail').val(email);
        $('#userDegree').val(degree);
        $('#nameSpan').html(name);
    }
}
function disablecertPrint() {
    //disables popup only if it is enabled
    if (popupStatus == 1) {
        $("#backgroundPopup").fadeOut("fast");
        $("body").removeClass("greyOut");
        $("#PrintCertForm").fadeOut("fast");
        popupStatus = 0;
    }
}
function disablecertIssue() {
    //disables popup only if it is enabled
    if (popupStatus == 1) {
        $("#backgroundPopup").fadeOut("fast");
        $("#certIssue").fadeOut("fast");
        popupStatus = 0;
    }
}


function loadbtnDeleteAtnde() {
    //loads popup only if it is disabled  
    if (popupStatus == 0) {
        $("#backgroundPopup").css({
            "opacity": "0.5"
        });
        $("#backgroundPopup").fadeIn("fast");
        $("#deleteAll").fadeIn("fast");
        popupStatus = 1;
    }
}
function disablebtnDeleteAtnde() {
    //disables popup only if it is enabled
    if (popupStatus == 1) {
        $("#backgroundPopup").fadeOut("fast");
        $("#deleteAll").fadeOut("fast");
        popupStatus = 0;
    }
}
function weLoadHost(uEmail) {
    //var email = $('#ctl00_ContentPlaceHolder1_txtUserEmail').val();
    $('#ctl00_ContentPlaceHolder1_txtUserEmail').val(uEmail);
    var validEmail = validateEmail(uEmail, 1, 1);
    if (validEmail == true) {
        centerAddHost();
        loadAddHost();
    }
    else {
        $('#ctl00_ContentPlaceHolder1_txtUserEmail').val("");
    }
}

function centerAddHost() {
    //request data for centering
    var windowWidth = document.documentElement.clientWidth;
    var windowHeight = document.documentElement.clientHeight;

    var popupHeight = $("#editHost").height();
    var popupWidth = $("#editHost").width();
    //centering
    $("#editHost").css({
        "position": "absolute",
        "top": windowHeight / 2 - popupHeight / 2 + 50,
        "left": windowWidth / 2 - popupWidth / 2 + 100
    });

}














function centercertIssue() {
    //request data for centering
    var windowWidth = document.documentElement.clientWidth;
    var windowHeight = document.documentElement.clientHeight;

    var popupHeight = $("#certIssue").height();
    var popupWidth = $("#certIssue").width();
    //centering
    $("#certIssue").css({
        "position": "absolute",
        "top": windowHeight / 2 - popupHeight / 2,
        "left": windowWidth / 2 - popupWidth / 2
    });
}
function setHostName() {
    var selectedHost = $("#ctl00_ContentPlaceHolder1_txtUserEmail").val();
    //alert(selectedHost);
    var myDTO = { 'instID': selectedHost };
    var toPass = JSON.stringify(myDTO);

    $.ajax({
        type: "POST",
        dataType: "json",
        url: "Engagements.aspx/getHostInfo",
        data: toPass,
        contentType: "application/json; charset=utf-8",
        success: function(result) {
            if (result.d == "epic fail") {
                alert("An unspecified error has occurred, please try again.  If this problem continues please contact your administrator.");

            }
            else {
                var strArray = [];
                var hostInfo = result.d;
                strArray = hostInfo.split(";");
                var ddlVal = strArray[11];
                var hostID = strArray[0] + " - " + strArray[1];
		$("#ctl00_ContentPlaceHolder1_HidInsID").val(ddlVal);
               // $('#ctl00_ContentPlaceHolder1_EDDL_InstitutionID').append($('<option> </option>').val(strArray[11]).html(hostID));
                //$('#ctl00_ContentPlaceHolder1_EDDL_InstitutionID').val(hostID);
                ClearOptions(document.aspnetForm.ctl00_ContentPlaceHolder1_EDDL_InstitutionID);
                AddToOptionList(document.aspnetForm.ctl00_ContentPlaceHolder1_EDDL_InstitutionID, strArray[11], strArray[0])
                //$('#pnlEditInstitution.ClientID').attr("visible", true);
            }
        }
    });
}
function loadAddHost() {
    //loads popup only if it is disabled  
    if (popupStatus == 0) {
        $("#backgroundPopup").css({
            "opacity": "0.5"
        });
        $("#backgroundPopup").fadeIn("fast");
        $("body").addClass("greyOut");
        $("#editHost").fadeIn("fast");

        popupStatus = 1;
    }
    var selectedHost = $("#ctl00_ContentPlaceHolder1_txtUserEmail").val();
    //alert(selectedHost);
    var myDTO = { 'instID': selectedHost };
    var toPass = JSON.stringify(myDTO);

    $.ajax({
        type: "POST",
        dataType: "json",
        url: "Engagements.aspx/getHostInfo",
        data: toPass,
        contentType: "application/json; charset=utf-8",
        success: function(result) {
            if (result.d == "True") {
                alert("The entered email is not in our records.  Please fill in the requested information.");
                isNewHost = true;
                populateEditForm("");



            }
            else {


                populateEditForm(result.d);
                alert("Please verify and change any information that is out of date.");

            }
        }

    });

}

function disableAddHost() {
    //disables popup only if it is enabled
    if (popupStatus == 1) {
        $("#backgroundPopup").fadeOut("fast");
        $("#editHost").fadeOut("fast");
        $("body").removeClass("greyOut");
        popupStatus = 0;
    }
    if (isNewHost == true) { isNewHost = false; }
}

function populateEditForm(hostInfo) {
    //alert(hostInfo);
    if (hostInfo == "") {
        $("#ehEmail").val($('#ctl00_ContentPlaceHolder1_txtUserEmail').val());
    }
    else {
        var strArray = [];
        strArray = hostInfo.split(";");
        $("#ehName").val(strArray[0]);
        $("#ehAffiliation").val(strArray[1]);
        $("#ehStreet1").val(strArray[2]);
        $("#ehStreet2").val(strArray[3]);
        $("#ehCity").val(strArray[4]);
        $("#ehState").val(strArray[5]);
        $("#ehZip").val(strArray[6]);
        $("#ehFax").val(strArray[7]);
        $("#ehOPhone").val(strArray[8]);
        $("#ehEmail").val(strArray[9]);
        $("#ehEmail").val(strArray[9]);
        $("#ehCellPhone").val(strArray[10]);
        var hostID = strArray[0] + ", " + strArray[1];
        $("#ctl00_ContentPlaceHolder1_EDDL_InstitutionID >option").remove();
        $('#ctl00_ContentPlaceHolder1_EDDL_InstitutionID').append($('<option> </option>').val(strArray[11]).html(hostID));
        $('#pnlEditInstitution.ClientID').attr("visible", true);
    }
    /*
    for(i = 0, x = strArray.length; i < x; i++)
    {
    alert(strArray[i]);
    }
    */
}
function validateHost() {
    if ($('#ehName').val() == "") {
        alert("The Name field must be filled out");
        return false;
    }
    if ($('#ehAffiliation').val() == "") {
        alert("The Afflilation field must be filled out");
        return false;
    }
    if ($('#ehStreet1').val() == "") {
        alert("The Street Address field must be filled out");
        return false;
    }
    if ($('#ehCity').val() == "") {
        alert("The City field must be filled out");
        return false;
    }
    if ($('#ehCity').val() == "") {
        alert("The City field must be filled out");
        return false;
    }
    if ($('#ehState').val() == "") {
        alert("The State field must be filled out");
        return false;
    }
    if ($('#ehZip').val() == "") {
        alert("The Zip field must be filled out");
        return false;
    }
    if ($('#ehOPhone').val() == "") {
        alert("The Office Phone field must be filled out");
        return false;
    }
    return true;
}
function editHostSubmit() {
    /* Public Shared Function submitHostEdit(ByVal sName As String, ByVal sAffiliation As String, ByVal sStreet1 As String, ByVal sStreet2 As String, _
    ByVal sCity As String, ByVal sState As String, ByVal sZip As String, ByVal sFax As String, _
    ByVal sOPhone As String, ByVal sEmail As String, ByVal instID As String) As String
    */
    //var selectedHost = $("#ctl00_ContentPlaceHolder1_EDDL_InstitutionID").val();
    if (validateHost() == true) {
        var sName = $("#ehName").val();
        var sAffiliation = $("#ehAffiliation").val();
        var sStreet1 = $("#ehStreet1").val();
        var sStreet2 = $("#ehStreet2").val();
        var sCity = $("#ehCity").val();
        var sState = $("#ehState").val();
        var sZip = $("#ehZip").val();
        var sFax = $("#ehFax").val();
        var sOPhone = $("#ehOPhone").val();
        var sEmail = $("#ehEmail").val();
        var sCellPhone = $("#ehCellPhone").val();


        var myDTO = { 'sName': sName, 'sAffiliation': sAffiliation, 'sStreet1': sStreet1, 'sStreet2': sStreet2, 'sCity': sCity, 'sState': sState, 'sZip': sZip, 'sFax': sFax, 'sOPhone': sOPhone, 'sEmail': sEmail, 'instID': selectedHost, 'sCellPhone': sCellPhone };
        var toPass = JSON.stringify(myDTO);

        $.ajax({
            type: "POST",
            dataType: "json",
            url: "Engagements.aspx/submitHostEdit",
            data: toPass,
            contentType: "application/json; charset=utf-8",
            success: function(result) {
                if (result.d == "SavedNew") {
		    $("#ctl00_ContentPlaceHolder1_txtUserEmail").val(sEmail);
                    setHostName();
                    disableAddHost();
                    isNewHost = false;
                }
                else {
                    if (result.d != "Success") {
                        alert("There was an error in saving the host information.  The error returned was : " + result.d);
                        disableAddHost();

                    }
                    else {

                        alert("The new information has been successfully saved");
                        $("#ctl00_ContentPlaceHolder1_txtUserEmail").val(sEmail);
                        disableAddHost();
                    }


                }
            }

        });
    }
}

function reIssueCert() {
    var name = $("#ctl00_ContentPlaceHolder1_C_EvaluationsV11_ddlAttendee option:selected").text();
    var strA = name.split(',');
    var cityState = $("#ctl00_ContentPlaceHolder1_EngagementInfo1_lblCityState").text();
    var location = $("#ctl00_ContentPlaceHolder1_EngagementInfo1_lblCityState").text();
    var topic = $("#ctl00_ContentPlaceHolder1_EngagementInfo1_lblTopic").text();
    var eventDate = $("#ctl00_ContentPlaceHolder1_EngagementInfo1_lblDate").text();
    var email = $("#certEmail").val();
    var saveEmail = $('input[name=Checkbox1]:checked').val();
    var degree = $('#userDegree').val();
    if (saveEmail == "on") {
        saveEmail = true;
    }
    else {
        saveEmail = false;
    }
    //alert(saveEmail);
    fname = strA[1];
    lname = strA[0];

    //alert(fname + " " + lname + "</ br>" + "Activity: " + topic + "</ br>" + "Held at: " + location);
    var billCode = $("#ctl00_ContentPlaceHolder1_EngagementInfo1_lblBillingCode").text();
    //alert(billCode);

    //Public Shared Function issueCert(ByVal fname As String, ByVal lname As String, ByVal billCode As String, ByVal topic As String, _
    //                                  ByVal location As String, ByVal eventDate As String) As String

    var myDTO = { 'fname': fname, 'lname': lname, 'billCode': billCode, 'topic': topic, 'location': location, 'eventDate': eventDate, 'eMail': email, 'saveEmail': saveEmail, 'degree': degree };
    var toPass = JSON.stringify(myDTO);


    $.ajax({
        type: "POST",
        dataType: "json",
        url: "Engagements.aspx/reIssueCert",
        data: toPass,
        contentType: "application/json; charset=utf-8",
        success: function(result) {
            if (result.d == "success") {
                alert("The Certificate has been sent.");
                disablecertIssue();
            }
            else {
                if (result.d == "Issued") {
                    var isIssued = confirm("This certificate has already been issued.  Would you like to re-issued it now?");
                    if (isIssued) {

                    }
                    else {

                    }
                }
                else {

                    alert("There was an issue durring the processing of this request, the message returned was: " + result.d);
                }
            }
        }

    });
}


function centerIssueCert() {
    //request data for centering
    var windowWidth = document.documentElement.clientWidth;
    var windowHeight = document.documentElement.clientHeight;

    var popupHeight = $("#certIssue").height();
    var popupWidth = $("#certIssue").width();
    //centering
    $("#certIssue").css({
        "position": "absolute",
        "top": windowHeight / 2 - popupHeight / 2 + 600,
        "left": windowWidth / 2 - popupWidth / 2 + 100
    });

}


function validateEmail(addr, man, db) {
    if (addr == '' && man) {
        if (db) alert('An email address is required');
        return false;
    }
    if (addr == '') return true;
    var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
    for (i = 0; i < invalidChars.length; i++) {
        if (addr.indexOf(invalidChars.charAt(i), 0) > -1) {
            if (db) alert('The email address contains invalid characters');
            return false;
        }
    }
    for (i = 0; i < addr.length; i++) {
        if (addr.charCodeAt(i) > 127) {
            if (db) alert("The email address contains non ascii characters.");
            return false;
        }
    }

    var atPos = addr.indexOf('@', 0);
    if (atPos == -1) {
        if (db) alert('The email address must contain an @');
        return false;
    }
    if (atPos == 0) {
        if (db) alert('The email address must not start with @');
        return false;
    }
    if (addr.indexOf('@', atPos + 1) > -1) {
        if (db) alert('The email address must contain only one @');
        return false;
    }
    if (addr.indexOf('.', atPos) == -1) {
        if (db) alert('The email address must contain a period in the domain name');
        return false;
    }
    if (addr.indexOf('@.', 0) != -1) {
        if (db) alert('The period must not immediately follow @ in email address');
        return false;
    }
    if (addr.indexOf('.@', 0) != -1) {
        if (db) alert('The period must not immediately precede @ in email address');
        return false;
    }
    if (addr.indexOf('..', 0) != -1) {
        if (db) alert('Two periods must not be adjacent in email address');
        return false;
    }
    var suffix = addr.substring(addr.lastIndexOf('.') + 1);
    if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') {
        if (db) alert('There is an invalid primary domain in email address');
        return false;
    }
    return true;
}
function populateEmail() {
    var hostInfo = $("#ctl00_ContentPlaceHolder1_EDDL_InstitutionID >option:selected").text();
    var hostInfoA = hostInfo.split(' - ');
    //alert(hostInfoA[1]);
    var myDTO = { 'sName': hostInfoA[0], 'sAffiliation': hostInfoA[1] };
    var toPass = JSON.stringify(myDTO);
    //getHostEmail(ByVal sName As String, ByVal sAffiliation As String)
    $.ajax({
        type: "POST",
        dataType: "json",
        url: "Engagements.aspx/getHostEmail",
        data: toPass,
        contentType: "application/json; charset=utf-8",
        success: function(result) {
            if (result.d == "fail") {
                alert("There was an unspecified error in retriving the host email");
            }
            else {
                var email = result.d;
                $('#ctl00_ContentPlaceHolder1_txtUserEmail').val(email);
            }
        }
    });
}
function ClearOptions(OptionList) {

    // Always clear an option list from the last entry to the first
    for (x = OptionList.length; x >= 0; x--) {
        OptionList[x] = null;
    }
}


function AddToOptionList(OptionList, OptionValue, OptionText) {
    // Add option to the bottom of the list
    OptionList[OptionList.length] = new Option(OptionText, OptionValue);
}
