﻿Ajax_Class = function() { };
////////////////////////////////////
Ajax_Class.prototype = {

    //AJAX-ROUTING//////////////////////////////////////////
    Init: function() {

        hash = window.location.hash.replace('#', '');
        if (hash == "") {
            Gui.LoadHomeLayout();
        }
    },

    RouteQueryString: function(hash) {

        queryString = hash;

        if (GlobalVariable.QueryString != queryString) {

            //Set GlobalVariable
            GlobalVariable.QueryString = queryString;

            //Get variables from queryString
            func = "" + Ajax.GetQueryString(queryString, "f");
            mainItem = "" + Ajax.GetQueryString(queryString, "m");
            subItem = "" + Ajax.GetQueryString(queryString, "s");
            pageIndex = "" + Ajax.GetQueryString(queryString, "p");
            code = "" + Ajax.GetQueryString(queryString, "c");
            key = "" + Ajax.GetQueryString(queryString, "k");
            GlobalVariable.Tmp = "" + Ajax.GetQueryString(queryString, "t");

            //Rename MainItemName
            switch (mainItem) {
                case "NhaDat": GlobalVariable.MainItemName = "Nhà Đất"; break;
                case "MayVanPhong": GlobalVariable.MainItemName = "Máy Văn Phòng"; break;
                case "PhuongTien": GlobalVariable.MainItemName = "Phương Tiện"; break;
                case "NhanSu": GlobalVariable.MainItemName = "Nhân Sự"; break;
                case "DacBiet": GlobalVariable.MainItemName = "Dịch Vụ Đặc Biệt"; break;
            }

            //Rename Function for call
            switch (func) {
                case "0": func = "Gui.ViewByMaSo('" + code + "','" + key + "')"; break;
                case "1": func = "Gui.SearchTemplate(" + pageIndex + ")"; break;
                case "2": func = "Gui.ManageTemplate(" + pageIndex + ")"; break;
                case "9": Gui.LoadWebIntroduce(); return false;
                case "8": Gui.LoadWebContact(); return false;
                case "7": Gui.LoadWebFee(); return false;
                case "6": Gui.LoadWebInstruction(); return false;
            }

            //Analyze and process
            if (mainItem != GlobalVariable.MainItem) {
                GlobalVariable.MainItem = mainItem;
                GlobalVariable.SubItem = subItem;
                Gui.LoadUserLayout(func, Gui.LoadMenuLayout);
            }
            else {
                if (subItem != GlobalVariable.SubItem) {
                    GlobalVariable.SubItem = subItem;
                    if ($("#C-Main-Content").length > 0) {
                        eval(GlobalVariable.MainItem + ".ReloadLeftMenuFilter('" + subItem + "');");
                        eval(func);
                    }
                    else {
                        Gui.LoadUserLayout(func, Gui.LoadMenuLayout);
                    }
                }
                else {
                    if ($("#C-Main-Content").length > 0) {
                        eval(func);
                    }
                    else {
                        Gui.LoadUserLayout(func, Gui.LoadMenuLayout);
                    }
                }
            }

        }

    },

    //AJAX-ANCHOR//////////////////////////////////////////
    SetQueryString: function(f, m, s, p, t, c, k) {
        queryString = "&f=" + f + "&m=" + m + "&s=" + s + "&p=" + p + "&t=" + t + "&c=" + c + "&k=" + k;
        GlobalVariable.QueryString = queryString;
        $.history.load(queryString);
    },

    GetQueryString: function(queryString, variable) {
        var vars = queryString.split("&");
        for (var i = 0; i < vars.length; i++) {
            var pair = vars[i].split("=");
            if (pair[0] == variable) {
                return pair[1];
            }
        }
    }
};

var Ajax = new Ajax_Class();