﻿// Ham thu vien lien quan moduleID
ModuleUtils = {

    // ModuleID_Search_List_XMl_fPage_pPage_Index_Category_Tablink_fDetail_ArticleId_Path_flag
    GetModuleID: function(collectionParam) {
        var arr = collectionParam.split('||');
        return arr[0];
    },
    GetFuncSearch: function(collectionParam) {
        var arr = collectionParam.split('||');
        return arr[1];
    },
    GetFuncList: function(collectionParam) {
        var arr = collectionParam.split('||');
        return arr[2];
    },
    GetXmlList: function(collectionParam) {
        var arr = collectionParam.split('||');
        return arr[3];
    },
    GetNumberOfRecordFirstPage: function(collectionParam) {
        var arr = new Array();
        arr = collectionParam.split('||');
        return arr[4];
    },
    GetNumberOfRecordPerPage: function(collectionParam) {
        var arr = new Array();
        arr = collectionParam.split('||');
        // alert(arr[5]);
        return arr[5];
    },
    GetFuncPaging: function(collectionParam) {
        var arr = collectionParam.split('||');
        return arr[6];
    },
    GetCategory: function(collectionParam) {
        var arr = collectionParam.split('||');
        return arr[7];
    },
    GetTabLink: function(collectionParam) {
        var arr = collectionParam.split('||');
        return arr[8];
    },
    GetFuncDetail: function(collectionParam) {
        var arr = collectionParam.split('||');
        return arr[9];
    },
    GetArticleID: function(collectionParam) {
        var arr = collectionParam.split('||');
        return arr[10];
    },
    GetXmlDetail: function(collectionParam) {
        var arr = collectionParam.split('||');
        return arr[11];
    },
    GetFlag: function(collectionParam) {
        var arr = collectionParam.split('||');
        return arr[12];
    },
    GetOrder: function(collectionParam) {
        var arr = collectionParam.split('||');
        return arr[13];
    },
    GetOrderBy: function(collectionParam) {
        var arr = collectionParam.split('||');
        return arr[14];
    },
    GetFloorID: function(collectionParam) {
        var arr = collectionParam.split('||');
        return arr[15];
    },
    SetFlag: function(NewFlag, ModuleID) {
        // var ObjectModuleName = '#ObjectModuleID' + ModuleID;
        // var OldCollectionParam = $(ObjectModuleName).value();
        //var NewCollectionParam=
        // $(ObjectModuleName).html(NewCollectionParam);

    }

}
var Pretab = AGBB.request("tabid");
AGBB.App = $.extend({
    Domain: 'Files',
    layout: 'TSS',
    path: '/DesktopModules/AG.Article',
    skin: 'TSS',
    XmlDetail: '/ArticleFiles/Portal0/',
    version: '1.0',
    modules: {},
    currentPage: false,
    maxModuleId: 0,
    currentModule: null,
    configPath: '.xml',
    option: {},
    tabid: '67',
    init: function(ID, moduleID) {
        if (typeof (AGBB.allLinks) == 'undefined') {
            AGBB.allLinks = {};
            //var ArticleList = "#ContentAGBB" + moduleID;
            //ArticleList

            var ContentAGBB = '#ArticleList' + moduleID;
            //alert(ContentAGBB);
            var loader = jQuery('<div ><img src="' + '/Portals/0/Images/Icon/loading.gif" alt="loading..." /></div>')
				        .css({ position: "absolute", top: "1em", left: "1em" })
				        .appendTo(ContentAGBB)
				        .hide();
            jQuery().ajaxStart(function() {
                loader.show();
            }).ajaxStop(function() {
                loader.hide();
            }).ajaxError(function(a, b, e) {
                //throw e;
            });
        };
        //  AGBB.App.loadTemplate(Template, moduleID);
    },
    TemplatePath: '/App/Template/',
    loadTemplate: function(template, moduleID) {
        var ContentAGBB = "ContentAGBB" + moduleID;
        AGBB.loadData(ContentAGBB, AGBB.App.path + AGBB.App.TemplatePath + template + '.htm');
    },
    setTemplate: function(NewTempalte, moduleID) {
        var url = location.hash.replace('#', '');
        if (url.length > 0) {
            var i = url.indexOf(moduleID)
            if (i == -1) {
                var temp = location.hash.replace('#', '');
                location.hash = '#' + temp + ',' + NewTempalte + '_' + moduleID;
            }
            else {
                var newURL = StringUtils.ReplaceById(NewTempalte, moduleID, url);
                if (newURL.length > 0) {
                    //alert("new " + newURL);
                    location.hash = '#' + newURL;
                }

            }
        }
        else {
            location.hash = '#' + NewTempalte + '_' + moduleID;
        }
    },
    loadPage: function(moduleID, Page) {
        // alert("2");
        try {
            AGBB.App.configPath = Page + '.xml';
            $.extend(AGBB.App, AGBB.xmlModuleID(AGBB.App.path + '/App/Page/' + AGBB.App.configPath, 'page', moduleID));
            var ContentAGBB = "ContentAGBB" + moduleID;
            AGBB.loadData(ContentAGBB, AGBB.App.path + '/App/layout/' + this.layout + '.htm');
            $.each(AGBB.App.regions, function(i, item) {
                if (item.name != null && item.name != '')
                    AGBB.loadData(item.id, AGBB.App.path + '/App/' + item.path + '/' + item.name + '.htm');
            });
            var includeJs = "includeJs" + moduleID;
            $.each(AGBB.App.controls, function(i, item) {
                if (item.jsControl != null && item.jsControl != '') {
                    if (item.jsData != null && item.jsData != '') {
                        AGBB.loadjs(includeJs, AGBB.App.path + '/App/region/' + item.path + '/' + item.jsData + '.js', function() { AGBB.loadjs('includeJs', AGBB.path + '/App/region/' + item.path + '/' + item.jsControl + '.js', function() { }); });
                    }
                    else {
                        AGBB.loadjs(includeJs, AGBB.App.path + '/App/region/' + item.path + '/' + item.jsControl + '.js', function() { });
                    }
                }
            });
        }
        catch (err) {
        }

    },
    LoadAllData: function(ModuleID) {
       
       var ObjectModuleName = '#ObjectModuleID' + ModuleID;
       // var ObjectModuleName = '#ObjectModuleID1';
        var CollectionParam = $(ObjectModuleName).text();
        //alert(CollectionParam);
        var FuncList = ModuleUtils.GetFuncList(CollectionParam);
        var FuncSearch = ModuleUtils.GetFuncSearch(CollectionParam);


        var URL = ModuleUtils.GetXmlList(CollectionParam);
        var Page = "1";

       // alert("coo" + CollectionParam + FuncList + FuncSearch);
        //load innite search
        switch (FuncSearch) {
            case 'SearchBySymbol': AGBB.InnitSearch.SearchBySymbol(ModuleID); break;
            case 'SearchByBeginDateEndDate': AGBB.InnitSearch.SearchByBeginDateEndDate(ModuleID); break;
            case 'SearchByFloor': AGBB.InnitSearch.SearchByFloor(ModuleID); break;
            case 'SearchBySource': AGBB.InnitSearch.SearchBySource(ModuleID); break;
            case 'SearchAdvanced': AGBB.InnitSearch.SearchAdvanced(ModuleID); break;
            case 'SearchByDayMonthYear': AGBB.InnitSearch.SearchByDayMonthYear(ModuleID); break;
            case 'SearchMarketCalendar': AGBB.InnitSearch.SearchMarketCalendar(ModuleID); break;

            case 'SearchByCategory': AGBB.InnitSearch.SearchByCategory(ModuleID); break;
            default: break;
        }

        //Load ham list
        switch (FuncList) {
            case 'LoadData1': AGBB.ArticleList.LoadData1(URL, Page, ModuleID); break;
            case 'LoadDataNoPaging1': AGBB.ArticleList.LoadDataNoPaging1(URL, Page, ModuleID); break;
            case 'LoadHomePage': AGBB.ArticleList.LoadHomePage(URL, Page, ModuleID); break;
            case 'LoadArticleListHome': AGBB.ArticleList.LoadArticleListHome(URL, Page, ModuleID); break;
            case 'LoadArticleListNoSource': AGBB.ArticleList.LoadArticleListNoSource(URL, Page, ModuleID); break;
            case 'LoadArticleTitleLead': AGBB.ArticleList.LoadArticleTitleLead(URL, Page, ModuleID); break;
            case 'LoadHomeListTitle': AGBB.ArticleList.LoadHomeListTitle(URL, Page, ModuleID); break;
            case 'LoadLichSuKien': AGBB.ArticleList.LoadLichSuKien(URL, Page, ModuleID); break;
            case 'ALDateTitleSource': AGBB.ArticleList.ALDateTitleSource(URL, Page, ModuleID); break;
            case 'ALDateSourceTitle': AGBB.ArticleList.ALDateSourceTitle(URL, Page, ModuleID); break;
            case 'ALTitleLeadSourceDate': AGBB.ArticleList.ALTitleLeadSourceDate(URL, Page, ModuleID); break;


            default:
                break;
        }

    },

    // Ngôn ngữ
    language: ($.cookie('language') == 'en') ? 'en' : 'vi',
    // Mã chứng khoán
    symbol: ($.cookie('symbol') == null) ? '-1' : $.cookie('symbol'),
    getSymbol: function() {
        if (AGBB.App.page == "-1") {
            AGBB.App.symbol = "ABT";
            AGBB.App.setTab();
        };
    },
    setSymbol: function(Symbol) {
        AGBB.App.symbol = Symbol;
        $.cookie('symbol', AGBB.App.symbol);
    },
    setTemplateDetail: function(ArticleId, Path, ModuleId) {
        var ObjectModuleName = '#ObjectModuleID' + ModuleId;
        var CollectionParam = $(ObjectModuleName).text();
        AGBB.ArticleDetail.LoadData1(ArticleId, Path, ModuleId);


    },
    goToDetail: function(uRL, articleID, UrlDetail) {
        // alert("@");
        var URL = "http://" + location.host + "\/" + uRL + "#TinTuc_Detail,," + articleID + ",," + UrlDetail;
        document.location.href = URL;
    },

    setCurrentPage: function(CurrentPage, NumberOfItemPerPage, ModuleID) {
        var ObjectModuleName = '#ObjectModuleID' + ModuleID;
        var CollectionParam = $(ObjectModuleName).text();
        var FuncSearch = ModuleUtils.GetFuncSearch(CollectionParam);
        var FuncList = ModuleUtils.GetFuncList(CollectionParam);
    }
});

//Javascript File
AGBB.Search = {
    GetUrlByBeginDateEndDate: function(pageNumber, ModuleID) {
        var ObjectModuleName = '#ObjectModuleID' + ModuleID;
        var CollectionParam = $(ObjectModuleName).text();
        var NumberOfItemPerPage = ModuleUtils.GetNumberOfRecordPerPage(CollectionParam);
        var SetOfCategoryID = ModuleUtils.GetCategory(CollectionParam);
        var obj_BeginDate = document.getElementById('Article_BeginDate' + ModuleID);
        var obj_EndDate = document.getElementById('Article_EndDate' + ModuleID);
        var dBegin = obj_BeginDate.value;
        var dEnd = obj_EndDate.value;
        if (dBegin == '') {
            dBegin = '1/1/1900';
        }
        else {
            dBegin = DateUtils.ConvertVietNameseToEnglish(obj_BeginDate.value);
        }
        if (dEnd == '') {
            dEnd = '1/1/2100';
        }
        else {
            dEnd = DateUtils.ConvertVietNameseToEnglish(obj_EndDate.value);
        }
        var strURL = '/DesktopModules/AG.TinTuc/App/Handler/ALD.ashx?page=' + pageNumber + '&CategoryID=' + SetOfCategoryID + '&NumberOfItemPerPage=' + NumberOfItemPerPage + '&BeginDate=' + dBegin + '&Enddate=' + dEnd;
        return strURL;
    },
    SearchByBeginDateEndDate: function(pageNumber, ModuleID) {
        var URl = AGBB.Search.GetUrlByBeginDateEndDate(pageNumber, ModuleID);
        //var FuncList = ModuleUtils.GetFuncList(CollectionParam);
        AGBB.ArticleList.LoadData1(URl, pageNumber, ModuleID);
        //        
        //        }
    },
    SearchPriceBoardByDate: function(pageNumber, ModuleID) {
        var date = $("#ddlMonth" + ModuleID).val() + '/' + $("#ddlDay" + ModuleID).val() + '/' + $("#ddlYear" + ModuleID).val();
        var Url = "/DesktopModules/AG.Article/App/Handler/PriceBoardOTC_SD.ashx?Date=" + date;
        // alert(Url);
        AGBB.ArticleList.LoadBangThamKhaoGiaOTC(Url, '1', ModuleID);
    },
    FillDateToCombo: function(date, ModuleID) {
        var currentTime = new Date(date);
        var month = currentTime.getMonth() + 1;
        var day = currentTime.getDate();
        var year = currentTime.getFullYear();
        //alert("nam:" + year + "thang:" + month + "Year:" +day);
        var i = 1;
        var j = 1;
        var k = 2005;
        var contentDay = '';
        var contentMonth = '';
        var contentYear = '';
        for (i = 1; i < parseInt(day); i++) {
            contentDay += '<option value="';
            contentDay += i;
            contentDay += '">';
            contentDay += i;
            contentDay += '</option>';
        }
        contentDay += '<option value="' + day + '" selected="selected" >' + day + '</option>';

        for (i = parseInt(day) + 1; i < 31; i++) {
            contentDay += '<option value="';
            contentDay += i;
            contentDay += '">';
            contentDay += i;
            contentDay += '</option>';
        }
        $("#ddlDay" + ModuleID).html(contentDay);

        for (j = 1; j < parseInt(month); j++) {
            contentMonth += '<option value="';
            contentMonth += j;
            contentMonth += '">';
            contentMonth += j;
            contentMonth += '</option>';
        }
        contentMonth += '<option value="' + month + '" selected="selected" >' + month + '</option>';
        for (j = parseInt(month) + 1; j <= 12; j++) {
            contentMonth += '<option value="';
            contentMonth += j;
            contentMonth += '">';
            contentMonth += j;
            contentMonth += '</option>';
        }
        //alert("year" + contentMonth);
        $("#ddlMonth" + ModuleID).html(contentMonth);

        for (k = 2007; k < year; k++) {
            contentYear += '<option value="';
            contentYear += k;
            contentYear += '">';
            contentYear += k;
            contentYear += '</option>';
        }
        contentYear += '<option value="' + year + '" selected="selected" >' + year + '</option>';
        $("#ddlYear" + ModuleID).html(contentYear);
    }

}

var prevUrlHistory = '';
setInterval('checkUrlHistory()', 1000);
function checkUrlHistory() {
    var temp = location.hash.replace('#', '');
    //alert("temp: " + temp + "privious : " + prevUrlHistory);
    if (temp == '' && prevUrlHistory != '') {
        history.go(-1);
    }
    else
        if (prevUrlHistory != temp) {
        prevUrlHistory = temp;
        var arrTTDN = new Array();
        arrTTDN = temp.split(',');
        if (arrTTDN[0] != 'htm') {
            AGBB.App.page = arrTTDN[0];
            $.cookie('page', AGBB.App.page);
        }

        AGBB.App.AriticleID = arrTTDN[1];
        $.cookie('articleID', AGBB.App.AriticleID);
        AGBB.App.UrlDetail = arrTTDN[2];
        $.cookie('urlTinTucDetail', AGBB.App.UrlDetail);
        var _tabidd = AGBB.request("tabid");
        if (_tabidd == '67') {

            $.cookie('articleID', '');
            $.cookie('urlTinTucDetail', '');
            //location.href ="http://" + document.location.host + "/tabid/67/default.aspx";
        }
        if (arrTTDN[0] != '' && arrTTDN[1] != '' && arrTTDN[2] != '') {
            $.cookie('page', "TinTuc_Detail");
            // alert(temp);
            AGBB.App.AriticleID = arrTTDN[1];
            $.cookie('articleID', AGBB.App.AriticleID);
            AGBB.App.UrlDetail = arrTTDN[2];
            $.cookie('urlTinTucDetail', AGBB.App.UrlDetail);
        }
        else {

        }
        if (AGBB.App.page != 'TrangChu_KetQuaDauGia_Page' || AGBB.App.page != 'TrangChu_LichDauGia_Page' || arrTTDN[0] != 'htm') {
            AGBB.App.loadPage();
        }

        var _Page = AGBB.App.page;

        switch (_Page) {
            case 'TinTuc_ChungKhoanTheGioi_Page':
                tabmain(2, 9);
                break;
            case 'TinTuc_KinhTe_Page':
                tabmain(3, 9);
                break;
            case 'TinTuc_TaiChinhTienTe_Page':
                tabmain(4, 9);
                break;
            case 'TinTuc_BatDongSan_Page':
                tabmain(5, 9);
                break;
            case 'TinTuc_DocNhieuNhat_Page':
                tabmain(6, 9)
                break;
            default:
                break;
        }
    }
};

