﻿
$(document).ready(function () {

    var activeTarget,
      $window = $(window),
      position = {},
      nav = $('body > .topbar li a'),
      targets = nav.map(function () {
          return $(this).attr('href');
      }),
      offsets = $.map(targets, function (id) {
          return $(id).offset().top;
      });


    function setButton(id) {
        nav.parent("li").removeClass('active');
        $(nav[$.inArray(id, targets)]).parent("li").addClass('active');
    }

    $("body").bind("click", function (e) {
        $('a.menu').parent("li").removeClass("open");
    });

    $("a.menu").click(function (e) {
        var $li = $(this).parent("li").toggleClass('open');
        return false;
    });

    //Load Defaults

    com.loadBlogs();
    com.loadKeywords();
    com.loadMonths();

});

var com = (function ($) {
    var pub = {};


    pub.loadBlogs = function (keywordId) {
        var baseURL = $("#hdnBaseURL").attr("value");
        if (keywordId === null) {
            keywordId = "";
        }
        var data = {};
        data.keywordId = keywordId;
        $.ajax({
            url: baseURL + "/public3/blogList",
            type: "Post",
            dataType: 'json',
            data: JSON.stringify(data),
            contentType: 'application/json; charset=utf-8',
            success: function (data) {
                $("#divArticles").empty();
                if (data !== null && data.length >= 1) {
                    helper.cleanDates(data);
                    $("#tmplArticles").tmpl(data).appendTo("#divArticles");
                    //Google Plus button
                    (function () {
                        var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
                        po.src = 'https://apis.google.com/js/plusone.js';
                        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
                    })();

                    //Hookup events
                    //pub.hookupEvents();
                }
                else {
                    $("#divArticles").append("No blogs found");
                }
            }
        });
    };

    pub.loadBlogsByMonth = function (dateCreated) {
        var baseURL = $("#hdnBaseURL").attr("value");
        if (dateCreated === null) {
            pub.loadBlogs();
            return;
        }

        var data = {};
        data.dateCreated = dateCreated;
        $.ajax({
            url: baseURL + "/public3/blogListByMonth",
            type: "Post",
            dataType: 'json',
            data: JSON.stringify(data),
            contentType: 'application/json; charset=utf-8',
            success: function (data) {
                $("#divArticles").empty();
                if (data !== null && data.length >= 1) {
                    helper.cleanDates(data);
                    $("#tmplArticles").tmpl(data).appendTo("#divArticles");

                    //Google Plus button
                    (function () {
                        var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
                        po.src = 'https://apis.google.com/js/plusone.js';
                        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
                    })();

                    //Hookup events
                    //pub.hookupEvents();
                }
                else {
                    $("#divArticles").append("No blogs found");
                }
            }
        });
    };

    pub.loadKeywords = function () {
        var baseURL = $("#hdnBaseURL").attr("value");
        $.ajax({
            url: baseURL + "/public3/CategoryList",
            type: "Get",
            dataType: 'json',
            contentType: 'application/json; charset=utf-8',
            success: function (data) {
                if (data !== null) {
                    $("#tmplKeyword").tmpl(data).appendTo("#menuKeyword");
                    //bind event
                    $("#menuKeyword").delegate(".keywordItem", "click", function (event) {
                        event.preventDefault();
                        var keywordId = $(this).attr("val");
                        //alert($(this).attr("val"));
                        pub.loadBlogs(keywordId);
                    });
                }
            },
            error: function (data) {

            }
        });
    };

    pub.loadMonths = function () {
        var baseURL = $("#hdnBaseURL").attr("value");
        $.ajax({
            url: baseURL + "/public3/GetMonthlyList",
            type: "Get",
            dataType: 'json',
            contentType: 'application/json; charset=utf-8',
            success: function (data) {
                if (data !== null) {
                    helper.cleanDates(data);
                    //$("#menuMonths").empty();
                    $("#tmplMonths").tmpl(data).appendTo("#menuMonths");
                    //bind event
                    $("#menuMonths").delegate(".monthItem", "click", function (event) {
                        event.preventDefault();
                        var dateCreated = $(this).attr("val");
                        //alert($(this).attr("val"));
                        pub.loadBlogsByMonth(dateCreated);
                    });
                }
            },
            error: function (data) {

            }
        });
    };

    return pub;
})($);

var helper = (function ($) {
    var pub = {};

    pub.cleanDates = function (data) {
        $(data).each(function (index, itm) {
            if (itm.DateCreated !== null) {
                itm.DateCreated = dateFormat(new Date(parseInt(itm.DateCreated.substr(6))), 'mm/dd/yyyy');
            }
        });
    };

    return pub;
})($);

