﻿function PerformAsyncServerCall(type, serverURL, parameters, state) {

    $.ajax({
        type: type,
        url: serverURL,
        data: parameters,
        async: true,
        cache: false,
        success: function(returnedData) {
            PerformPostAsyncServerCall(returnedData, state);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert("Error occurred during ajax call.");
        }
    });
}

function PerformPostAsyncServerCall(returnedData, state) {

    if ("LoadMovie" == state) {
        LoadMovieCallBack(returnedData);
    }
    else if ("LoadSearchedSermon" == state) {
        LoadSearchedSermonCallBack(returnedData);
    }
    else if ("PersistSermonDetails" == state) {
        PersistSermonDetailsCallBack(returnedData);
    }
    else if ("LoadSermonDetailsXml" == state) {
        LoadSermonDetailsXmlCallBack(returnedData);
    }
    else if ("LoadSermonByType" == state) {
        LoadSermonByTypeCallBack(returnedData);
    }
    else if ("LoadEvents" == state) {
        LoadEventsCallBack(returnedData);
    }
    else if ("LoadPhotosByGroup" == state) {
        LoadPhotosByGroupCallBack(returnedData);
    }
    else if ("LoadPhotoGroups" == state) {
        LoadPhotoGroupsCallBack(returnedData);
    }
    else {
        alert("Unknown AJAX callback: " + state);
    }
}


function LoadSearchedSermonCallBack(returnedData) {
    $(".searchSermonResults").children(".searchSermonResult:first-child").css({ borderTop: "solid 1px #B7B7B7" });
    $(".searchSermonResults").children(".searchSermonResult:last-child").css({ borderBottom: "none" });
    $("div#innerSearchResultHolder").html(returnedData);
    $("div#innerSearchResultHolder").css({ display: "" });
}

function LoadMovieCallBack(returnedData) {

    $("div#innerPlayerHolder").html(returnedData);
    $("div#innerPlayerHolder").css({ display: "" });
}

function PersistSermonDetailsCallBack(returnedData) {
    alert("Function PersistSermonDetailsCallBack: " + returnedData);
}

function LoadSermonByTypeCallBack(returnedData) {
    $("div#allSermons").text(returnedData);

    TransformerVideoXml();
    ConfigureJCarousel();
}


