﻿//Global Variables
var hidePanel;
var popupID;
var selectedPlatfrom;
var selectedLetter;
var wantOrHave;

/***********************************************
*                                              *
* Popup Panel Display Function                 *
*                                              *
*                                              *
***********************************************/
function CallService(popupType, panelToHide, popupPanelID) {
    //Determine which type of modal is calling the webservice
    switch (popupType) {
        case "updateAddress":
            var url = "/WebServices/ModalPopupActions.asmx/UpdateUsersAddress";
            var dataString = "{'address1':'" + $(".address1").val() + "','address2':'" + $(".address2").val() + "','address3':'" +
                $(".address3").val() + "','townCity':'" + $(".townCity").val() + "','county':'" +
                $(".county option:selected").text() + "'}";
            hidePanel = "#" + panelToHide;
            popupID = "#" + popupPanelID;
            break;
        case "updateEmail":
            var url = "/WebServices/ModalPopupActions.asmx/UpdateUsersEmail";
            var dataString = "{'newEmail':'" + $("#_uiNewEmailTxt").val() + "'}";
            hidePanel = "#" + panelToHide;
            popupID = "#" + popupPanelID;
            break;
        case "updateAvatar":
            var selectedImage = $(".imgFade").attr("rel");
            var url = "/WebServices/ModalPopupActions.asmx/ChangeAvatarToSelected";
            var dataString = "{'avatarID':'" + selectedImage + "'}";
            hidePanel = "#" + panelToHide;
            popupID = "#" + popupPanelID;
            break;
        case "addToDB":
            var url = "/WebServices/ModalPopupActions.asmx/SendEmailRequestToAddItemToDB";
            var dataString = "{'userEmail':'" + $("#_uiEmailDBTxt").val() + "','title':'" + $("#_uiTitleTxt").val() + "','platform':'" + 
                $("#_uiPlatformsDBDdl option:selected").text() + "','isProfile':'false'}";
            hidePanel = "#" + panelToHide;
            popupID = "#" + popupPanelID;
            break;
        case "addToDBProfile":
            var url = "/WebServices/ModalPopupActions.asmx/SendEmailRequestToAddItemToDB";
            var dataString = "{'userEmail':'" + $(".userEmail").val() + "','title':'" + $(".userTitle").val() + "','platform':'" +
                $(".userPlatform option:selected").text() + "','isProfile':'true'}";
            hidePanel = "#" + panelToHide;
            popupID = "#" + popupPanelID;
            break;
        case "addGame":
            var url = "/WebServices/ModalPopupActions.asmx/AddItemToUsersProfile";
            var hasOrWant;
            var hasVal = $("#_uiHasRad:checked").val();
            if (hasVal === "_uiHasRad") {
                hasOrWant = "Has";
            }
            var wantVal = $("#_uiWantRad:checked").val();
            if (wantVal === "_uiWantRad") {
                hasOrWant = "Wants";
            }
            var dataString = "{'platformID':'" + $("#_uiPlatfromDdl option:selected").val() + "','swapItemID':'" +
                $("#_uiGameDdl option:selected").val() + "','isHasOrWants':'" + hasOrWant + "'}";
            hidePanel = "#" + panelToHide;
            popupID = "#" + popupPanelID;
            break;
        case "removeGame":
            var url = "/WebServices/ModalPopupActions.asmx/DeleteSelectedItemFromProfile";
            var hasOrWant;
            var hasVal = $("#_uiDelHaveRad:checked").val();
            if (hasVal === "_uiDelHaveRad") {
                hasOrWant = "Has";
            }
            var wantVal = $("#_uiDelWantRad:checked").val();
            if (wantVal === "_uiDelWantRad") {
                hasOrWant = "Wants";
            }
            var dataString = "{'gameID':'" + $("#_uiDelGameDdl option:selected").val() + "','haveOrWant':'" + hasOrWant + "'}";
            hidePanel = "#" + panelToHide;
            popupID = "#" + popupPanelID;
            break;
        case "applyToSwap":
            var url = "/WebServices/ModalPopupActions.asmx/ProcessSwapApplication";
            var dataString = "{'offeredItemID':'" + $("#_uiOfferingDDL option:selected").val() + "','requestedItemID':'" + $("#_uiRequestingDDL option:selected").val()
                + "','responderUsername':'" + $("#_uiUsernameLbl").text() + "'}";
            hidePanel = "#" + panelToHide;
            popupID = "#" + popupPanelID;
            break;
        case "cancelSwap":
            var url = "/WebServices/ModalPopupActions.asmx/CancelRequestedSwapApplication";
            var dataString = "{}";
            hidePanel = "#" + panelToHide;
            popupID = "#" + popupPanelID;
            break;
        case "denySwap":
            var url = "/WebServices/ModalPopupActions.asmx/DenyReceivedSwapApplication";
            var dataString = "{}";
            hidePanel = "#" + panelToHide;
            popupID = "#" + popupPanelID;
            break;
        case "acceptSwap":
            var url = "/WebServices/ModalPopupActions.asmx/ConfirmReceivedSwapApplication";
            var dataString = "{'isChecked':'" + $("#_uiAgreeChk").attr('checked') + "'}";
            hidePanel = "#" + panelToHide;
            popupID = "#" + popupPanelID;
            break;
        case "confirmSent":
            var url = "/WebServices/ModalPopupActions.asmx/ConfirmSwapItemSent";
            var dataString = "{}";
            hidePanel = "#" + panelToHide;
            popupID = "#" + popupPanelID;
            break;
        case "confirmReceived":
            var url = "/WebServices/ModalPopupActions.asmx/ConfirmSwapItemReceived";
            var dataString = "{'feedback':'" + $("#_uiFeedbackTxt").text() + "','selectedBonusPoint':'" + $("#_uiBonusPntLstRbl input:checked").val() + "'}";
            hidePanel = "#" + panelToHide;
            popupID = "#" + popupPanelID;
            break;
        case "addFriend":
            var url = "/WebServices/ModalPopupActions.asmx/AddFriendToList";
            var dataString = "{}";
            hidePanel = "#" + panelToHide;
            popupID = "#" + popupPanelID;
            break;
    }
    //Perform AJAX call with data specific to the modal used
    $("#jQueryLoad").removeClass("hide");
    $("#jQueryLoad").addClass("loading");
    $.ajax({
        type: "POST",
        url: url,
        cache: false,
        data: dataString,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: OnSuccess,
        error: OnError,
        complete: OnComplete
    });
}

//Success Function
function OnSuccess(data, status) {
    $("#jQueryLoad").removeClass("loading");
    $("#jQueryLoad").addClass("hide");
    $("#_uiTestLbl").html(data.d);
    $(hidePanel).addClass("hide");
    $("#" + data.d).removeClass("hide");
    //if (data.d != "_uiSwapItemAlreadyAdded") {
        $.fn.colorbox({ width: "575px", inline: true, href: popupID });
    //}
}

//Error Function - Depreciated
function OnError(request, status, error) {
    $("#jQueryLoad").removeClass("loading");
    $("#jQueryLoad").addClass("hide");
    $("#_uiTestLbl").html(request.statusText);
}

function OnComplete() {
    $("#_uiCauseRebindBtn").trigger('click');    
}

function GetSelectedAvatar(clickedLinkbutton) {
    var imageID = $(clickedLinkbutton).children().attr("id");
    $.ajax({
        type: "POST",
        url: "/WebServices/ModalPopupActions.asmx/ShowCurrentSelectedAvatarImage",
        cache: false,
        data: "{'selectedImgID':'" + imageID + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: ReloadAvatarPopup,
        error: ReloadAvatarError
    });
}

function ReloadAvatarPopup(data, status) {
    $(".imgFade").removeClass("imgFade");
    $("#" + data.d).addClass("imgFade");
    $.fn.colorbox({ width: "575px", inline: true, href: "#listAvatars" });
}

function ReloadAvatarError(request, status, error) {
    $("#jQueryLoad").removeClass("loading");
    $("#jQueryLoad").addClass("hide");
}

function RefreshAddItemDropDownList(selectedPlatfromID, selectedLetter) {
    $.ajax({
        type: "POST",
        url: "/WebServices/ModalPopupActions.asmx/RefreshAddItemDDL",
        cache: false,
        data: "{'isAddItem':'true','PlatfromID':'"+ selectedPlatfromID +"','Letter':'"+ selectedLetter +"'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: BindAddDDL,
        error: BindAddDDLError
    });
}

function BindAddDDL(data, status) {
    $("#jQueryLoad").removeClass("loading");
    $("#jQueryLoad").addClass("hide");
    //Remove any existing options from DDL
    $(".inputBox").removeOption(/./).addOption("", "--- Select a Game ---");
    for (var key in data.d) {
        if (data.d.hasOwnProperty = key) {
            var platformID = data.d[key].ID;
            var title = data.d[key].title;
            //Append the new option to the DDL
            $(".inputBox").addOption(platformID, title, false);
        }
    }
}

function BindAddDDLError(request, status, error) {
    $("#jQueryLoad").removeClass("loading");
    $("#jQueryLoad").addClass("hide");
}

function RefreshDeleteItemDropDownList(hasorWantItem) {
    switch (hasorWantItem) {
        case "has":
            var dataString = "{'hasOrWants':'has'}";
            break;
        case "want":
            var dataString = "{'hasOrWants':'want'}";
            break;
    }

    $.ajax({
        type: "POST",
        url: "/WebServices/ModalPopupActions.asmx/RefreshDeleteItemDDL",
        cache: false,
        data: dataString,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: BindDeleteDDL,
        error: BindDeleteDDLError
    });
}

function BindDeleteDDL(data, status) {
    //Remove any existing options from DDL
    $(".inputBo").removeOption(/./).addOption("", "--- Select a Game ---");
    for (var key in data.d) {
        if (data.d.hasOwnProperty = key) {
            var platformID = data.d[key].ID;
            var title = data.d[key].title;
            //Append the new option to the DDL
            $(".inputBo").addOption(platformID, title, false);
        }
    }
}

function BindDeleteDDLError(request, status, error) {

}


