﻿//
$().ready(function() {
    var game = $('#game').val();
    var website = $('#hdn_site').val();
    //$("#levelload").show();

    $.get(g_url.power, { game: game, website: website }, function(data) {

    //$("#levelload").hide();
    
        var list = $.xml2json(data).Table;

        var arr1 = [];
        var arr2 = [];

        for (var index = 0, len = list.length; index < len; index++) {
            var obj1 = list[index];
            arr1.push(String.format("<option id=\"{0}\" value=\"{1}\" title=\"{2}\">{1}</option>", obj1.webtime, obj1.startlevel, obj1.price));
        }

        for (var index = (list.length - 1); index >= 0; index--) {
            var obj2 = list[index];
            arr2.push(String.format("<option id=\"{0}\" value=\"{1}\" title=\"{2}\">{1}</option>", obj2.webtime, obj2.endlevel, obj2.price));
        }

        $("#curddl").empty().append(arr1.join(''));
        $("#endddl").empty().append(arr2.join(''));

        //初始化货币
        if ($("#inittype").length && $("#currency").length && $("#inittype").val().length) {
            $("#currency>option").each(function(index, el) {
                if ($(el).text() == $("#inittype").val()) {
                    $(el).attr("selected", true);
                }
            });
            //$(String.format("#currency>option[value='{0}']", $("#inittype").val())).attr("selected", true);
        }

        if (getPageName().toLowerCase() == 'aion-eu-package' || getPageName().toLowerCase() == 'aion-eu-skill' || getPageName().toLowerCase() == 'aion-us-package' || getPageName().toLowerCase() == 'aion-us-skill') {
        
            calcLevelPrice(); //计算价格时间
        }
        
    });

    bindPackage(); //打包代练绑定  
});

//
function calcLevelPrice() {

    var l1 = parseInt($("#curddl>option:selected").text(), 10);
    var l2 = parseInt($("#endddl>option:selected").text(), 10);

    if (l1 >= l2) {
    
        alert("endlevel must larger than startlevel!");

        $('#curddl').get(0).selectedIndex = 0;
        $('#endddl').get(0).selectedIndex = 0;
        calcLevelPrice();
        return;
    }

    var price = 0;
    var time = 0;

    for (var i = $('#curddl').get(0).selectedIndex; i < $('#endddl').get(0).options.length - $('#endddl').get(0).selectedIndex; i++) {

        price += parseFloat($('#endddl').get(0).options[$('#endddl').get(0).options.length - 1 - i].title);
        time += parseFloat($('#endddl').get(0).options[$('#endddl').get(0).options.length - 1 - i].id);
    }
    
    $("#levelprice").html("$ " + Math.round(price * 100) / 100);
    $("#levelprice").attr("title", Math.round(price * 100) / 100)
    
    CalcLevelPriceByRation();


    if (time < 24) {
        $("#leveltime").html(Math.round(time * 100) / 100 + " hours");
        $("#leveltime").attr("title", Math.round(time));
    }
    else {

        var day = parseInt(time / 24, 10);
        var hour = time % 24;
        if (hour != 0) {
            $("#leveltime").html(day + "days " + Math.round(hour) + " hours");
        }
        else {
            $("#leveltime").html(day + "days");
        }
        $("#leveltime").attr("title", Math.round(time))
    }
}

//
function CalcLevelPriceByRation() {
    var type = $("#inittype").val();
    $.get(g_url.power, { type: type }, function(data) {
        var oldprice = $("#levelprice").attr("title");
        var price = Math.round(oldprice * data * 100) / 100;
        var symbol;
        if (type == "USD") {
            symbol = "$";
        }
        else if (type == "EUR") {
            symbol = "€";
        }
        else {
            symbol = "£";
        }
        $("#levelprice").html(symbol + " " + price);
    });
}

//
function bindPackage() {

    var website = $('#hdn_site').val();
    var game = $('#game').val();
    var packageclass = $("#packageclass").val();
    var inittype = $("#inittype").val();
    
    //$("#rationload").show();

    $.get(g_url.power, { website: website, game: game, packageclass: packageclass, inittype: inittype }, function(data) {
    
    var list = $.xml2json(data).Table;
    //$("#rationload").hide();
        
        var inittype = $("#inittype").val();
        var symbol;
        if (inittype == "USD") {
            symbol = "$";
        }
        else if (inittype == "EUR") {
            symbol = "€";
        }
        else {
            symbol = "£";
        }

        var arr1 = [];

        for (var index = 0, len = list.length; index < len; index++) {
            var obj = list[index];
            arr1.push(String.format("<tr><td id=\"packagename" + index + "\" class=\"TitleL\" colspan=\"3\" style=\"width: 50%;\">" + obj.packagesname + "</td><span id=\"level" + index + "\" style=\"display: none;\">" + obj.startlevel + "|" + obj.endlevel + "</span></tr><tr><td class=\"Titelsn\" colspan=\"3\"><p>" + obj.need + "</p></td></tr><tr><td class=\"price\" style=\"width: 30%;\"><span class=\"PlnewsPriceT\">Price:</span><span id=\"packageprice" + index + "\" class=\"PlnewsPrice\" title=\"" + obj.price + "\">" + symbol + " " + Math.round(obj.price * 100) / 100 + "</span></td><td class=\"price\"><span class=\"PlnewsPriceT\">Time:</span><span id=\"packagetime" + index + "\" class=\"PlnewsPrice\" title=\"" + obj.webtime + "\">" + FormatTime(obj.webtime) + "</span></td><td class=\"price\" style=\"width: 20%;\"><img id=\"" + index + "\" onclick=\"PackageCheck(this)\" onmouseout=\"ChangeImg2(this)\" onmouseover=\"ChangeImg1(this)\" style=\"cursor: pointer;\" alt=\"Buy now\" src=\"images/ItemBuy2.gif\"/></td></tr>"));
        }
        
        $('#packagelist').empty().append(arr1.join(''));  
    });
}

//
function ChangeImg1(obj) {
    $('#' + obj.id).attr("src", "images/ItemBuy.gif");
}

function ChangeImg2(obj) {
    $('#' + obj.id).attr("src", "images/ItemBuy2.gif");
}

//
function LevelCheck() {
    ServerInfo();
    $("#PLGame").hide();
    $("#PL_Package").hide();
    $("#PL_Package1").show();
    var curddl = $("#curddl");
    var endddl = $("#endddl");
    $("#item").html("Level:" + curddl.get(0).options[curddl.get(0).selectedIndex].text + "-" + endddl.get(0).options[endddl.get(0).selectedIndex].text);
    $("#item").attr("title", curddl.get(0).options[curddl.get(0).selectedIndex].text + "|" + endddl.get(0).options[endddl.get(0).selectedIndex].text)
    $("#time").html($("#leveltime").html());
    $("#time").attr("title", $("#leveltime").attr("title"));
    $("#price").html($("#levelprice").html());
    //document.getElementById("price").lang = $("#levelprice").html();
    $("#price").attr("title", $("#levelprice").html());    

    //track("pl_checkout"); //行为分析
}

//
function ChangeRation() {

    $("#inittype").val($('#currency').val());
    CalcLevelPriceByRation();
    bindPackage(); //绑定打包
}

//
function PackageCheck(obj) {
    ServerInfo();
    $("#PLGame").hide();
    $("#PL_Package").hide();
    $("#PL_Package1").show();
    var id = obj.id;
    $("#item").html($("#packagename" + id).html());
    $("#item").attr("title", $("#level" + id).html());
    $("#time").attr("title", $("#packagetime" + id).attr("title"));
    $("#time").html($("#packagetime" + id).html());
    $("#price").html($("#packageprice" + id).html());
    //document.getElementById("price").lang = $("#packageprice" + id).html();
    $("#price").attr("title", $("#packageprice" + id).html());    
    
    //track("pl_checkout"); //行为分析
}

//
function ServerInfo() {

    var game = $("#game").val();
    $("#serverload").show();
    $.get(g_url.power, { sgame: game }, function(data) {
    
    $("#serverload").hide();

    var list = $.xml2json(data).Table;

        var arr1 = [];
        arr1.push(String.format("<option value=\"{0}\">{1}</option>", "", "---Please Select---"));
        for (var index = 0, len = list.length; index < len; index++) {
            var obj = list[index];
            arr1.push(String.format("<option id=\"{0}\" value=\"{0}\">{0}</option>", obj.server));
        }

        $("#servername").empty().append(arr1.join(''));

    });
}

//
function BackPowerList() {
    $("#PLGame").show();
    $("#PL_Package").show();
    $("#PL_Package1").hide();
}

//
function PowerNextList(payway) {

    if (validate("powerinputinfo")) {
    
        $('#divcheckout').hide();
        $('#divloadimg').show();
        //track("pl_paypal"); //行为分析
        var name = "";
        var leveltype = $("#leveltype").html().split("|");
        var level = $("#item").attr("title").split("|");
        var time = $("#time").attr("title");
        var currencybal = $("#price").html().substr(1, $("#price").html().length - 1);
        var currencytype = $("#inittype").val();
        var telephone = $("#phone").val();
        var email = $("#contact").val();
        var gamename = $("#game").val();
        var charactor = $("#charactor").val();
        var server = $("#servername").get(0).options[$("#servername").get(0).selectedIndex].text;
        var introduceid = $("#introduceid").html();
        var code = $("#code").html();
        var website = $("#hdn_site").val();
        var customerid = $("#customerid").html();
        var comment = leveltype[1] + "," + $("#item").html();
        var choosetype = leveltype[0];
        var aclass = $("#drpClass").get(0).options[$("#drpClass").get(0).selectedIndex].value;
        var account = $("#account").val();
        var pass = $("#password1").val();
        var startlevel = level[0];
        var endlevel = level[1];
        
        var paytype = "0";

        if ($('#ppc').attr('checked')) {
            paytype = "1";
        }
        else if (!$('#mb').attr('checked')) {
            paytype = "2";
        }       

        var powerorderxmlStr = '<nextlist><time>' + escape(time) + '</time>'
            powerorderxmlStr += '<currencybal>' + escape(currencybal) + '</currencybal>'
            powerorderxmlStr += '<currencytype>' + escape(currencytype) + '</currencytype>'
            powerorderxmlStr += '<telephone>' + escape(telephone) + '</telephone>'
            powerorderxmlStr += '<email>' + email + '</email>'
            powerorderxmlStr += '<gamename>' + escape(gamename) + '</gamename>'
            powerorderxmlStr += '<name></name>'
            powerorderxmlStr += '<charactor>' + charactor + '</charactor>'
            powerorderxmlStr += '<server>' + escape(server) + '</server>'
            powerorderxmlStr += '<tradeway></tradeway>'
            powerorderxmlStr += '<introduceid>' + introduceid + '</introduceid>'
            powerorderxmlStr += '<code>' + code + '</code>'
            powerorderxmlStr += '<website>' + website + '</website>'
            powerorderxmlStr += '<customerid>' + customerid + '</customerid>'
            powerorderxmlStr += '<paytype>' + paytype + '</paytype>'
            powerorderxmlStr += '<comment>' + escape(comment) + '</comment>'
            powerorderxmlStr += '<leveltype>' + escape(leveltype[0]) + '</leveltype>'
            powerorderxmlStr += '<choosetype>' + escape(choosetype) + '</choosetype>'
            powerorderxmlStr += '<aclass>' + escape(aclass) + '</aclass>'
            powerorderxmlStr += '<account>' + escape(account) + '</account>'
            powerorderxmlStr += '<pass>' + escape(pass) + '</pass>'
            powerorderxmlStr += '<startlevel>' + escape(startlevel) + '</startlevel>'
            powerorderxmlStr += '<endlevel>' + escape(endlevel) + '</endlevel></nextlist>';

            $.post(g_url.power, { powerorderxmlStr: powerorderxmlStr }, function(data) {

                var arr = data.split("|");
                //获取选择的币种
                if (arr[0] != "0" && arr[0] != null) {

                    var name = "";

                    var config = new Object();
                    if (currencytype == "EUR") {

                        if (!$('#mb').attr('checked')) {

                            config["business"] = g_obj.ofpaypal;
                        }
                        else {

                            config["business"] = g_obj.ofmoneybookers;
                        }

                    }
                    else {

                        if (!$('#mb').attr('checked')) {

                            config["business"] = g_obj.mfpaypal;
                        }
                        else {

                            config["business"] = g_obj.mfmoneybookers;
                        }
                    }


                    config["itemname"] = "CNO:" + arr[0] + ",Acc:" + account + ",Pass:" + pass + ",Game:" + gamename + ",Ser:" + server + ",Char:" + charactor + ",Name:" + $("#item").html() + ",Time:" + time + ",WebSite:" + website + ",Class:" + aclass + ",Email:" + email;
                    config["reutrnurl"] = g_host + "/finished.aspx";
                    config["currency"] = currencytype;
                    config["total"] = currencybal;
                    config["on0"] = "Class:" + aclass + ",Profession:,YourName:";
                    config["os0"] = name + ",Telephone:" + telephone + ",WebTime:" + time;
                    config["on1"] = "StartLevel:" + startlevel + ",Email:" + email + ",EndLevel:" + endlevel + ",LevelType";
                    config["os1"] = leveltype[1] + ",WebSite:" + website + ",OALevelType:" + leveltype[0] + ",code:" + code;
                    config["pp_logo"] = g_host + "/images/pp_logo.jpg";
                    config["ipn_url"] = g_host + "/ipn/ipntriger.aspx";

                    if (!$('#mb').attr('checked')) {

                        payToPaypal(config);
                    }
                    else {

                        powerlevelPayToMoneyBookers(config);
                    }
                }
                else {

                    alert("sorry,please refreah this page and try again!");
                }
            });
        
    }
}

//
function FormatTime(num) {
    var result;
    var days;
    var hours;
    if (num > 24) {
        days = Math.floor(num / 24);
        hours = num % 24;
        if (hours != 0) {
            result = days + " days " + hours + "hours";
        }
        else {
            result = days + " days"
        }
    }
    else {
        result = num + "hours";
    }
    return result;
}