﻿Ajax_Class = function() { };
////////////////////////////////////
Ajax_Class.prototype = {

    //AJAX-ROUTING//////////////////////////////////////////
    Init: function () {
        hash = window.location.hash.replace("#", "");
        if (hash == "") {
            Gui.LoadHomeLayout();
        }
    },

    RouteQueryString: function (hash) {

        queryString = hash;
        queryString = decodeURIComponent(queryString);
        GlobalVariable.QueryString = decodeURIComponent(GlobalVariable.QueryString);

        if (queryString != GlobalVariable.QueryString) {

            //Set GlobalVariable
            GlobalVariable.QueryString = queryString;

            //Set variables from queryString
            pageIndex = "" + Ajax.GetQueryString(queryString, "h");
            mainItem = "" + Ajax.GetQueryString(queryString, "a");
            GlobalVariable.SubItem = "" + Ajax.GetQueryString(queryString, "b");
            GlobalVariable.SearchTime = "" + Ajax.GetQueryString(queryString, "g");
            GlobalVariable.SearchProvince = "" + Ajax.GetQueryString(queryString, "c");
            GlobalVariable.SearchDistrict = "" + Ajax.GetQueryString(queryString, "d");
            GlobalVariable.SearchCost = "" + Ajax.GetQueryString(queryString, "e");
            GlobalVariable.SearchKeyword = "" + Ajax.GetQueryString(queryString, "f");
            maSo = "" + Ajax.GetQueryString(queryString, "i");
            static = "" + Ajax.GetQueryString(queryString, "static");

            //Analyze and process
            if ((static != "") && (static != "undefined")) {
                //Load Static Layout 
                Gui.LoadStaticMainLayout(static);
            }
            else {
                if (maSo == "0")
                //Load Category Layout
                    Gui.LoadCategoryLayout(mainItem, GlobalVariable.SubItem, "0", pageIndex);
                else
                //Load Detail By MaSo
                    Gui.LoadCategoryLayout(mainItem, GlobalVariable.SubItem, maSo, pageIndex);
            }
        }

    },

    //AJAX-ANCHOR//////////////////////////////////////////
    SetQueryString: function (a, b, c, d, e, f, g, h, i) {
        //a: MainItemId
        //b: SubItemId
        //c: SearchProvince
        //d: SearchDistrict
        //e: SearchCost
        //f: SearchKeyword
        //g: SearchTime
        //h: PageIndex
        //i: MaSo

        queryString = "!&a=" + a + "&b=" + b + "&c=" + c + "&d=" + d + "&e=" + e + "&f=" + f + "&g=" + g + "&h=" + h + "&i=" + i;
        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();
