﻿var news = {
    page_size: 20,
    MyStringTable: '',
    class_id: '',
    title_css:'',
    current_page: '',
    prev_page: '',
    next_page: '',
    num_results: '',
    list_area: '',
    page_10: '',
    number_pager: '',
    page_item: 10,

    UTCtoISO: function(jsonDate) {
        try
          {
            jsonDate = jsonDate.split('(')[1].split(')')[0];
          }
        catch(err)
          {
            jsonDate = jsonDate;
          }

         utc = jsonDate.substring(0,13);
        
        var dt = new Date((utc * 1));
        return dt.format("yyyy-mm-dd");
    },


    NewsList: function(datas, status) {

        var obj = datas.Rows;
        var i = 0;
        var elem = $(".ContentListArea ul");
        var str = "";
        var total_count = 0;
        var total_page = 1;

        //content           
        $(elem).html("");
        for (i = 0; i < obj.length; i++) {
            total_count = obj[i].TotalCount;

            $("#divMain .BoxContainer .BoxBD .BoxContent. .BoxContentNarrowPadding .ContentTitle h1").text(news.MyStringTable["NEWS_TITLE"].replace("#ClassName#", obj[i].ClassName));
            $("#divMain .BoxContainer .BoxBD .BoxContent. .BoxContentNarrowPadding .ContentTitle").addClass(news.title_css);

            str = "<li>" + news.list_area + "</li>";

            str = str.replace("#StartTime#", news.UTCtoISO(obj[i].StartTime));

            str = str.replace("#NewsLink#", "content.aspx?p=" + news.current_page + "&news_id=" + obj[i].NewsID + "&c=" + (news.page_size * (news.current_page - 1) + (i + 1)) + "&t=" + total_count + "&tc=" + news.title_css);

            var max_len = 120;
            if (obj[i].CategoryName != "" && obj[i].CategoryName != null) {
                max_len = max_len - obj[i].CategoryName.len();
                if (max_len < obj[i].Title.len()) {
                    str = str.replace("#Title#", "【" + obj[i].CategoryName + "】 " + obj[i].Title.sub(max_len) + '...');
                }
                else {
                    str = str.replace("#Title#", "【" + obj[i].CategoryName + "】 " + obj[i].Title.sub(max_len));
                }
            }
            else {
                str = str.replace("#Title#", "　" + obj[i].Title.sub(max_len));
            }
            $(elem).append(str);
        }

        total_page = Math.ceil(total_count / news.page_size);


        // num results
        elem = $("#divPagePagination .Num_results");
        str = news.num_results;
        str = str.replace("#TotalCount#", total_count);
        str = str.replace('#CurrentPage#', news.current_page);
        str = str.replace('#TotalPage#', total_page);
        $(elem).html(str);

        // pager
        elem = $("#divPagePagination .Pagination");
        var s_prev_page = "";
        var s_next_page = "";
        var s_prev10 = "";
        var s_next10 = "";
        if (news.current_page > 1) {
            s_prev_page = news.prev_page.replace("#HiperLink#", 'javascript:news.GetData(' + (news.current_page - 1) + ')');
        }

        if (news.current_page < total_page) {
            s_next_page = news.next_page.replace("#HiperLink#", 'javascript:news.GetData(' + (news.current_page + 1) + ')');
        }

        var t
        if (news.current_page > news.page_item) {
            t = parseInt(parseInt(parseInt(news.current_page / news.page_item) - 1) * news.page_item) + 1;
            s_prev10 = news.page_10.replace("#HiperLink#", 'javascript:news.GetData(' + t + ')');
        }

        var rem = total_page % news.page_item;
        if (rem == 0)
            rem = news.page_item;

        if (news.current_page <= (total_page - rem)) {
            t = (1 + parseInt(news.current_page / news.page_item)) * parseInt(news.page_item) + 1;
            s_next10 = news.page_10.replace("#HiperLink#", 'javascript:news.GetData(' + t + ')');
        }
        var start_num = 1;
        var end_num = 1;
        var s_pager = "";
        if (total_page <= news.page_item) {
            end_num = total_page;
        }
        else {
            start_num = 1 + (parseInt((news.current_page - 1) / news.page_item) * news.page_item);
            end_num = (parseInt((news.current_page - 1) / news.page_item) + 1) * news.page_item;
            if (end_num > total_page)
                end_num = total_page;
        }

        for (var j = start_num; j <= end_num; j++) {
            if (j == news.current_page)
            { s_pager += '&nbsp;<li  class="Selected">' + news.number_pager + '</li>'; }
            else
            { s_pager += "&nbsp;<li>" + news.number_pager + "</li>"; }
            s_pager = s_pager.replace("#HiperLink#", 'javascript:news.GetData(' + (j) + ')');
            s_pager = s_pager.replace("#Number#", j);
        }

        if (s_prev_page == "")
            s_prev_page = '<li class="Disabled">' + news.MyStringTable["PREV_PAGE"] + '</li>';
            
        if (s_next_page == "")
            s_next_page = '<li class="Disabled">' + news.MyStringTable["NEXT_PAGE"] + '</li>';

        str = '&nbsp;' + s_prev_page + s_prev10 +  s_pager + s_next10 + '&nbsp;' + s_next_page;

        $(elem).html(str);


    },

    GetData: function(c_p) {
        news.current_page = c_p;
        $.getJSON('../generic_handlers/news.ashx', { 'strFunction': 'getNewsList', 'class_id': news.class_id, 'page_size': news.page_size, 'p': parseInt(news.current_page) }, news.NewsList);
    },

    ReplaceLocalString: function() {
        news.list_area = '<img src="../images/default/common/link_active.png">#StartTime# <a href="#NewsLink#">#Title#</a>';
        news.num_results = news.MyStringTable["NUM_RESULTS_TEXT"];
        news.prev_page = '<li><a href="#HiperLink#" rel="Prev">' + news.MyStringTable["PREV_PAGE"] + '</a></li>';
        news.next_page = '<li><a href="#HiperLink#" rel="Next">' + news.MyStringTable["NEXT_PAGE"] + '</a></li>';
        news.page_10 = '&nbsp;<li class="Skip"><a href="#HiperLink#">...</a></li>';
        news.number_pager = '<a href="#HiperLink#">#Number#</a>'; 
    }

};
