﻿var fadeSpeed = 200;
var activitiesPage = tweetsPage = recentlyAddedPage = mostLovedPage = 0;
var fetchingActivitiesData = fetchingTwitterData = fetchingRecentlyAddedData = fetchingMostLovedData = false;
var stopActivities = stopTweets = stopRecentlyAdded = stopMostLoved = false;
var activitiesShow =  recentlyAddedShow = false;
var tweetsShow = mostLovedShow = true;
var loadingHtml = "<li class='loading' style='height:15px;text-align:center;'><img src='" + root + "content/images/ajax-loader.gif' width='16' height='11' alt='Loading, please wait' title='Loading, please wait'/></li>";

function GetNextTweets() {
    if (!stopTweets && !fetchingTwitterData) {
        fetchingTwitterData = true;
        $("div#twitterContent ul").append(loadingHtml);
        $.post(root + applicationUrl + "/Activity/GetTweetsForAssetParent", { slug: citySlug, page: (tweetsPage + 1) }, function (data) {
            if ($.trim(data).length == 0) {
                stopTweets = true;
            }
            $("div#twitterContent ul").append(data);
            $('input.star').rating();
            tweetsPage++;
            fetchingTwitterData = false;
            $("li.loading", "div#twitterContent ul").remove();
        });
    }
}
function GetNextActivities() {
    if (!stopActivities && !fetchingActivitiesData) {
        fetchingActivitiesData = true;
        $("div#activitiesContent ul").append(loadingHtml);
        $.post(root + applicationUrl + "/Activity/GetActivitiesForAsset", { slug: citySlug, page: (activitiesPage + 1) }, function (data) {
            if ($.trim(data).length == 0) {
                stopActivities = true;
            }
            $("div#activitiesContent ul").append(data);
            $('input.star').rating();
            activitiesPage++;
            fetchingActivitiesData = false;
            $("li.loading", "div#activitiesContent ul").remove();
        });
    }
}
function GetNextMostLovedAssets() {
    if (!stopMostLoved && !fetchingMostLovedData) {
        fetchingMostLovedData = true;
        $("div#mostLoved ul").append(loadingHtml);
        $.post(root + applicationUrl + "/" + regionNameSingle + "/MostLovedAssets/" + citySlug + "/" + (mostLovedPage + 1), function (data) {
            if ($.trim(data).length == 0) {
                stopMostLoved = true;
            }
            $("div#mostLoved ul").append(data);
            $('input.star').rating();
            mostLovedPage++;
            fetchingMostLovedData = false;
            $("li.loading", "div#mostLoved ul").remove();
        });
    }
}
function GetNextRecentlyAddedAssets() {
    if (!stopRecentlyAdded && !fetchingRecentlyAddedData) {
        fetchingRecentlyAddedData = true;
        $("div#recentlyAdded ul").append(loadingHtml);
        $.post(root + applicationUrl + "/" + regionNameSingle + "/RecentlyAddedAssets/" + citySlug + "/" + (recentlyAddedPage + 1), function (data) {
            if ($.trim(data).length == 0) {
                stopRecentlyAdded = true;
            }
            $("div#recentlyAdded ul").append(data);
            $('input.star').rating();
            recentlyAddedPage++;
            fetchingRecentlyAddedData = false;
            $("li.loading", "div#recentlyAdded ul").remove();
        });
    }
}

$(document).ready(function () {
    $('input.star').rating();
    GetNextTweets();
    $("#allCities").sSelect();
    $("#allCities").bind("change", function () {
        if ($.trim($(this).val()).length != 0) {
            window.location = root + applicationUrl + "/" + regionNameSingle + "/" + $(this).val();
        }
    });
    $("#activityStream").bind("click", function () {
        if (activitiesShow) {
            $("#tweets").fadeOut(fadeSpeed, function () {
                $("#activities").fadeIn(fadeSpeed);
                activitiesShow = false;
                tweetsShow = true;
            });
            $("#twitterStream").removeClass("selected");
            $(this).addClass("selected");
        }
    });
    $("#activitiesContent").bind("scroll", function () {
        if ($(this).isNearTheEnd(30)) {
            if (!fetchingActivitiesData) {
                GetNextActivities();
            }
        }
    });
    $("#activitiesContent").ajaxError(function (event, request, settings) {
        fetchingActivitiesData = false;
    });
    $("#twitterStream").bind("click", function () {
        if (tweetsShow) {
            $("#activities").fadeOut(fadeSpeed, function () {
                $("#tweets").fadeIn(fadeSpeed);
                tweetsShow = false;
                activitiesShow = true;
            });

            $("#activityStream").removeClass("selected");
            $(this).addClass("selected");
        }
    });
    $("#twitterContent").bind("scroll", function () {
        if ($(this).isNearTheEnd(30)) {
            if (!fetchingTwitterData) {
                GetNextTweets();
            }
        }
    });
    $("#twitterContent").ajaxError(function (event, request, settings) {
        fetchingActivitiesData = false;
    });

    $("#mostLovedStream").bind("click", function () {
        if (mostLovedShow) {
            $("#recentlyAdded").fadeOut(fadeSpeed, function () {
                $("#mostLoved").fadeIn(fadeSpeed);
                recentlyAddedShow = true;
                mostLovedShow = false;
            });

            $("#recentlyAddedStream").removeClass("selected");
            $(this).addClass("selected");
        }
    });
    $("#mostLoved").bind("scroll", function () {
        if ($(this).isNearTheEnd(30)) {
            if (!fetchingMostLovedData) {
                GetNextMostLovedAssets();
            }
        }
    });
    $("#mostLoved").ajaxError(function (event, request, settings) {
        fetchingMostLovedData = false;
    });
    $("#recentlyAddedStream").bind("click", function () {
        if (recentlyAddedShow) {
            $("#mostLoved").fadeOut(fadeSpeed, function () {
                $("#recentlyAdded").fadeIn(fadeSpeed);
                recentlyAddedShow = false;
                mostLovedShow = true;
            });

            $("#mostLovedStream").removeClass("selected");
            $(this).addClass("selected");
        }
    });
    $("#recentlyAdded").bind("scroll", function () {
        if ($(this).isNearTheEnd(30)) {
            if (!fetchingRecentlyAddedData) {
                GetNextRecentlyAddedAssets();
            }
        }
    });
    $("#recentlyAdded").ajaxError(function (event, request, settings) {
        fetchingRecentlyAddedData = false;
    });
});
