﻿jQuery(document).ready(function() {
    goldSale.loadGameList();
    jQuery("#ddlGameList").change(goldSale.loadServerList);
    jQuery("#ddlServerList").change(goldSale.loadProducts);
});
var goldSale = {
    loadGameList: function() {
        var data = { MethodName: "GetGoldGameList", Time: new Date().getTime() };
        goldSale.ajax(data, goldSale.processGameList);
    },
    loadServerList: function(gameCode) {
        if (this.value != undefined) {
            gameCode = this.value;
        }
        var data = { MethodName: "GetServerList", GameCode: gameCode, Time: new Date().getTime() };
        goldSale.ajax(data, goldSale.processServerList);
    },
    loadProducts: function() {
        if (this.value == undefined || !/[0-9](,[0-9]){1,}/.test(this.value)) {
            jQuery("#ddlProductList").html("<option value=\"-1\">--Choose product--</option>");
            return;
        }
        var data = { MethodName: "GetProductList", ServerCode: this.value, MoneyType: "USD", Time: new Date().getTime() };
        goldSale.ajax(data, goldSale.processProductList);
    },
    ajax: function(data, callBack) {
        jQuery.ajax({
            url: "/Ajax.aspx",
            type: "post",
            dataType: "text",
            data: data,
            beforeSend: function() {
                jQuery("#Tip").show();
            },
            success: callBack,
            error: function() {
                jQuery("#Tip").hide();
            },
            complete: function() {
                jQuery("#Tip").hide();
            }
        });
    },
    processGameList: function(data) {
        if (data != "") {
            var select = jQuery("#ddlGameList");
            if (select != null) {
                select.html("");
                var jsonObj = jQuery.parseJSON(data);
                jQuery.each(jsonObj, function(index, item) {
                    select.append("<option value=\"" + item.Code + "\">" + item.Name + "</option>");
                });
                var gameCode = jQuery('#ddlGameList option:selected').val();
                if (typeof gameCode == 'undefined' || !(/^\d{3}$/.test(gameCode))) {
                    gameCode = '013';
                }
                goldSale.loadServerList(gameCode);
            }

        }
    },
    processServerList: function(data) {
        if (data != "") {
            if (goldSale.serverList == "") return;
            var select = jQuery("#ddlServerList");
            if (select != null) {
                select.html("<option value=\"-1\">--Choose your server--</option>");
                var jsonObj = jQuery.parseJSON(data);
                jQuery.each(jsonObj, function(index, item) {
                    select.append("<option value=\"" + item.Code + "\">" + item.Name + "</option>");
                });
            }

        }
    },
    processProductList: function(data) {
        if (data != "") {
            var select = jQuery("#ddlProductList");
            if (select != null) {
                select.html("<option value=\"-1\">--Choose product--</option>");
                var temp = data.split('|');
                var jsonObj = jQuery.parseJSON(temp[0]);
                jQuery.each(jsonObj, function(index, item) {
                    select.append("<option value=\"" + item.Guid + "\">" + item.Name + " -> " + item.Price + "</option>");
                });
                jQuery("<input type=\"hidden\" value=\"" + temp[1] + "\" id=\"GameNameOther\" />").insertAfter(select);
            }

        }
    },
    redirect: function() {
        var id = jQuery("#ddlProductList option:selected").val();
        var serverCode = jQuery("#ddlServerList option:selected").val();
        var nameOther = jQuery("#GameNameOther").val();
        if (id == "-1") return;
        var form = "<form id=\"FormQuickOrder\" method=\"post\" action=\"/GoldOrderInfo.aspx\">";
        form += "<input type=\"hidden\" name=\"QuickOrder\" id=\"QuickOrder\" value=\"QuickOrder\" />";
        form += "<input type=\"hidden\" name=\"NameOther\" id=\"NameOther\" value=\"" + nameOther + "\" />";
        form += "<input type=\"hidden\" value=\"" + serverCode + "\" id=\"ServerCode\" name=\"ServerCode\" />";
        form += "<input type=\"hidden\" value=\"" + id + "\" id=\"ProductId\" name=\"ProductId\" /></form>";
        jQuery("#Tip").append(form);
        jQuery("#FormQuickOrder").submit();
    }
}
