﻿function DhlTrack(){
    if($("#DhlTrackingInput").val() != ""){
        var url = "http://www.cn.dhl.com/publish/cn/en/eshipping/track.high.html?pageToInclude=RESULTS&type=fasttrack&AWB=" + $("#DhlTrackingInput").val();
        window.open(url);
    }else{
        $("#DhlTrackingInput").focus();
        alert("Please enter a Number!");
    }
}

function EMSTrack(){
    if($("#mailNum").val() != ""){
        $("#EmsForm").submit();
    }else{
        $("#mailNum").focus();
        alert("Please enter a Number!");
    }
}

$(document).ready(function() {
    $("#UpsTrack_btn").click(function() {
        if ($("#txtTrackingNumber").val() != "") {
            $("#DeliveredOnLabel").css("display", "none");
            $("#DeliveredOn").css("display", "none");
            $("#SignedByLabel").css("display", "none");
            $("#SignedBy").css("display", "none");
            $("#LocationLabel").css("display", "none");
            $("#Location").css("display", "none");
            $("#resultTable").css("display", "none");
            $.ajax({
                url: '/GetTrackingInfo.ashx',
                type: 'GET',
                dataType: 'xml',
                data: { TrackingNumber: $("#txtTrackingNumber").val(), time: (new Date()).getTime() },
                error: function() {
                    jAlert("发生错误!", '提示', function() { });
                },
                beforeSend: function(XMLHttpRequest) {
                    jShowLoading();
                },
                complete: function() {
                    jHideLoading();
                },
                success: function(data) {
                    if ($(data).find("ResponseStatusCode").text() != "1") {
                        jAlert("Sorry.Invalid tracking number.", '提示', function() { });
                    } else {
                        var PackageCount = 0;
                        var sb;
                        var PageStatus = "In Transit";
                        $(data).find("Package").each(function() {
                            PackageCount++;
                            if (PackageCount == 1) {
                                sb = "\r\n<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"dataTable\">\r\n<tr>\r\n<th class=\"city\">\r\nLocation\r\n</th>\r\n<th class=\"date\">\r\nDate\r\n</th>\r\n<th class=\"time\">\r\nLocal Time\r\n</th>\r\n<th class=\"description\">\r\nDescription\r\n</th>\r\n</tr>";
                                var TrStr = new Array("<tr>", "<tr class=\"odd\">", "</tr>");
                                var TdStr = new Array("<td class=\"city\">", "<td class=\"date\">", "<td class=\"time\">", "<td class=\"description\">", "</td>");
                                var count = 0;
                                var CityTemplate = "";
                                $(this).find("Activity").each(function() {
                                    sb += TrStr[count];
                                    var Address = ($(this).find("City").text() == "" ? "" : ($(this).find("City").text() + ", ")) + $(this).find("CountryCode").text();
                                    if (Address == CityTemplate) {
                                        Address = "";
                                    } else {
                                        CityTemplate = Address;
                                    }
                                    sb += TdStr[0] + Address + TdStr[4];
                                    var DateStr = formatDate($(this).find("Date").text());
                                    sb += TdStr[1] + DateStr + TdStr[4];
                                    var TimeStr = formatTime($(this).find("Time").text());
                                    sb += TdStr[2] + TimeStr + TdStr[4];
                                    var StatusTypeDescription = $(this).find("StatusType").find("Description").text();
                                    sb += TdStr[3] + StatusTypeDescription + TdStr[4];
                                    sb += TrStr[2];
                                    if (StatusTypeDescription == "DELIVERED") {
                                        PageStatus = "Delivered";
                                        $("#DeliveredOnLabel").css("display", "block");
                                        $("#DeliveredOn").css("display", "block");
                                        $("#DeliveredOn").html(DateStr + " " + TimeStr);
                                        $("#SignedByLabel").css("display", "block");
                                        $("#SignedBy").css("display", "block");
                                        $("#SignedBy").html($(this).find("SignedForByName").text());
                                        $("#LocationLabel").css("display", "block");
                                        $("#Location").css("display", "block");
                                        $("#Location").html($(this).find("ActivityLocation").find("Description").text());
                                    } else if (StatusTypeDescription == "BILLING INFORMATION VOIDED") {
                                        PageStatus = "Billing Information Voided";
                                    }
                                    count++;
                                    if (count == 2) {
                                        count = 0;
                                    }
                                });
                            }
                        });
                        sb += "</table>";
                        $("#PackageCount").html(PackageCount);
                        $("#Weight").html($(data).find("ShipmentWeight").find("Weight").text() + " " + $(data).find("ShipmentWeight").find("Code").text());
                        $("#Service").html($(data).find("Service").find("Description").text());
                        $("#resultTable").css("display", "block");
                        $("#BilledOn").html(formatDate($(data).find("PickupDate").text()));
                        $("#Status").html(PageStatus);
                        $("#TrackingNumber").html($(data).find("ShipmentIdentificationNumber").text());
                        var Address = $(data).find("ShipTo").find("Address");
                        $("#DeliveredTo").html(Address.find("City").text() + "," + Address.find("CountryCode").text() + " " + Address.find("PostalCode").text());
                        $("#Result").html(sb);
                        document.documentElement.scrollTop = 560;

                    }

                }
            });
        } else {
            $("#resultTable").css("display", "none");
            jAlert("Sorry,a valid tracking number is required.", '提示', function() { });

        }
    });
    var NumberStr = GetQueryStringRegExp("TrackingNumber");
    if (NumberStr) {
        $("#txtTrackingNumber").val(NumberStr);
        $("#UpsTrack_btn").click();
    }
});


function formatDate(inputDate) {
    if (inputDate != "") {
        var reg = /^(\d{4})(\d{2})(\d{2})$/;
        if (reg.exec(inputDate) == null) {
            alert("Wrong   Date");
            return false;
        }
        var year = RegExp.$1;
        var month = RegExp.$2;
        var day = RegExp.$3;
        return month + "/" + day + "/" + year;
    }
    return "";
}

function formatTime(inputTime) {
    if (inputTime != "") {
        var reg = /^(\d{2})(\d{2})(\d{2})$/;
        if (reg.exec(inputTime) == null) {
            alert("Wrong   Date");
            return false;
        }
        var hour = RegExp.$1;
        var minute = RegExp.$2;
        var second = RegExp.$3;
        return hour + ":" + minute + ":" + second;
    }
    return "";
}