﻿$(document).ready(function() {

    $("input[name='step2_btn']").click(function() {
        //alert($("input[name='step2_btn']:checked").val());

        if ($("input[name='step2_btn']:checked").val() == "no") {
            $("#step2_questions").show();
        } else {
            $("#step2_questions").hide();
        }

    });


    $("input[name='newPhone']").click(function() {
        if ($("input[name='newPhone']:checked").val() == "yes") {
            NewPhoneDialog();
        }
    });   

});


//open modual dialog to add a new phone request
function NewPhoneDialog() {
    $("#AddRecord").dialog({
        position: 'center',
        resizable: false,
        title: 'New Extension or Phone Unit Request',
        draggable: false,
        height: 440,
        width: 780,
        modal: true,
        overlay: { opacity: 0.5, background: "black" },
        buttons: { "Add this phone request": function() { SavePhone("new"); }, "Cancel": function() { $(this).dialog("destroy"); } },
        close: function() { $(this).dialog("destroy"); }
    });

    $("#AddRecord").show();
    $("#AddRecord").dialog("open");
}

//called from NewPhoneDialog()
function SavePhone(type) {

    if (type == "new") {
        $.ajax({
            type: "POST",
            url: "default.aspx/AddNewPhone",
            data: "{'typePhone':'" + $("select[id$='ddlTypeofPhone']").val() + "', " +
                   "'jackAvailable':'" + $("select[id$='ddlJackAvailable']").val() + "'," +
                   "'phoneNumberType':'" + $("select[id$='ddlTypePhoneNumber']").val() + "'," +
                   "'voicemail':'" + $("select[id$='ddlVoicemail']").val() + "'," +
                   "'firstName':'" + $("[id$='txtNewPhoneRequestFirstName']").val() + "'," +
                   "'lastName':'" + $("[id$='txtNewPhoneRequestLastName']").val() + "'," +
                   "'organization':'" + $("select[id$='ddlOrganization2']").val() + "'," +
                   "'organizationName':'" + $("select[id$='ddlOrganization2'] :selected").text() + "'," +
                   "'department':'" + $("select[id$='ddlDepartment2']").val() + "'," +
                   "'departmentName':'" + $("select[id$='ddlDepartment2'] :selected").text() + "'," +
                   "'division':'" + $("select[id$='ddlDivision2']").val() + "'," +
                   "'divisionName':'" + $("select[id$='ddlDivision2'] :selected").text() + "'," +
                   "'email':'" + $("[id$='txtNewPhoneRequestEmail']").val() + "'" + 
                  "}", //set method params
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                //this will cause a postback. In our page_load function we will update our grid view.
                //__doPostBack('<%=pnlUpdate.ClientID%>', '');

                //Update phone request list. 
                PopulatePhoneRequestList(msg.d);
                
                
                //close dialog
                $("#AddRecord").dialog("close");
            },
            error: function(xhr, msg) {
                var response = JSON.parse(xhr.responseText);
                if (response.Message) {
                    alert(response.Message); //error callback
                }

            }

        });
    } else {
        //type must be update.
        $.ajax({
            type: "POST",
            url: "default.aspx/UpdateRecord",
            data: "{'recordID':'" + $("[id$='lblRecordID']").html() + "'," +
                                "'extension':'" + $("[id$='txtExtension']").val() + "'," +
                                "'len':'" + $("[id$='txtLen']").val() + "'," +
                                "'phonePartID':'" + $("select[id$='ddlPhonePart']").val() + "'," +
                                "'namePhone': '" + encodeMyHtml($("[id$='txtNamePhone']").val()) + "'," +
                                "'voicemail': '" + $("select[id$='ddlVoicemail']").val() + "'," +
                                "'vmAttn': '" + encodeMyHtml($("[id$='txtVMAttn']").val()) + "'," +
                                "'switchID': '" + $("select[id$='ddlSwitch']").val() + "'," +
                                "'buildingID': '" + $("select[id$='ddlBuilding']").val() + "'," +
                                "'floor': '" + $("select[id$='ddlFloor']").val() + "'," +
                                "'cablePair': '" + $("[id$='txtCablePair']").val() + "'" +
                                "}", //set method params
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                //this will cause a postback. In our page_load function we will update our grid view.
                __doPostBack('<%=pnlUpdate.ClientID%>', '');

                //close dialog
                $("#AddRecord").dialog("close");
            },
            error: function(xhr, msg) {
                var response = JSON.parse(xhr.responseText);
                if (response.Message) {
                    alert(response.Message); //error callback
                }
            }

        }); //end ajax call

    } //end if type==new
} //end SaveRecord()

function PopulatePhoneRequestList(msg) {

    if (msg == "") {
        //no records exist any longer. Hide Container.
        $('#Container').fadeOut();
    } else {
        $('#Container').setTemplateURL('javascript/PhoneRequestTable.htm');
        $('#Container').processTemplate(msg);
        $('#Container').fadeIn();
    }

}

//delete a phone request from the list.
function DeletePhoneRequest(id) {

    $.ajax({
        type: "POST",
        url: "default.aspx/DeleteNewPhone",
        data: "{'id':'" + id + "'}", //set method params
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            //this will cause a postback. In our page_load function we will update our grid view.
            //__doPostBack('<%=pnlUpdate.ClientID%>', '');

            //Update phone request list. 
            PopulatePhoneRequestList(msg.d);


            //close dialog
            //$("#AddRecord").dialog("close");
        },
        error: function(xhr, msg) {
            var response = JSON.parse(xhr.responseText);
            if (response.Message) {
                alert(response.Message); //error callback
            }

        }

    });
}
