﻿function HTMLDecode(strEncodeHTML) {
    var div = document.createElement('span');
    div.innerHTML = strEncodeHTML;
    return div.innerText;
}

function showLoading() {
    $("#overlayer").css("display", "block");
    $("#loadlayer").css("display", "block");
}

function hideLoading() {
    $("#overlayer").css("display", "none");
    $("#loadlayer").css("display", "none");
}

function isNumber(oNum) {
    if (!oNum) return false;
    var strP = /^\d+(\.\d+)?$/;
    if (!strP.test(oNum)) return false;
    try {
        if (parseFloat(oNum) != oNum) return false;
    }
    catch (ex) {
        return false;
    }
    return true;
}

loadXML = function(xmlFile) {

    var xmlDoc = null;
    if (window.ActiveXObject) {
        xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
        xmlDoc.async = false;
        xmlDoc.loadXML(xmlFile);
    }
    else if (document.implementation && document.implementation.createDocument) {
        xmlDoc = document.implementation.createDocument("", "", null);
        xmlDoc.async = false;
        try {
            xmlDoc.loadXML(xmlFile);
        }
        catch (e) {
            xmlDoc = (new DOMParser()).parseFromString(xmlFile, "text/xml");
        }
    }
    else {
        return null;
    }
    return xmlDoc;
}

// 首先对xml对象进行判断
checkXMLDocObj = function(xmlFile) {
    var xmlDoc = loadXML(xmlFile);
    if (xmlDoc == null) {
        alert('您的浏览器不支持xml文件读取.');
        window.location.href = '/default.aspx';
    }
    return xmlDoc;
}

function toGoodsHtml(xml) {
    var xmlDoc = checkXMLDocObj(xml);
    var items = xmlDoc.getElementsByTagName("Goods");
    var html = "";
    for (var i = 0; i < items.length; i++) {
        var goodsNode = items[i];

        html += "<li><div class='img_div'><a href='#nogo'><img class='image' src='" + goodsNode.getAttribute("Icon") + "' /></a>";
        html += "<blockquote class='bubble'>";
        //html += "<img src='"+ goodsNode.getAttribute("Icon") +"' alt='' />";
        html += "<dl><dt>"+goodsNode.getAttribute("Name")+"</dt>";
        html += "<dd>商品编号：" + goodsNode.getAttribute("NO") + "</dd>";
        html += "<dd  class='wrap'>配料表：" + HTMLDecode(goodsNode.getAttribute("Description")) + "</dd>";
        html += "</dl></blockquote></div>";
        html += "<span class='item_title'>" + goodsNode.getAttribute("Name") + "</span>";
        html += "<span class='qty'>" + goodsNode.getAttribute("Price") + "元/份";
        html += "<input type='text' class='qty_input' value='1' />份</span>";
        html += "<span class='btn_order'><a href='#nogo' onclick='orderme("+ goodsNode.getAttribute("ID") +",this)'><img src='/img/btn_order.gif' /></a></span></li>";
    }

    $("#goods_ul").html(html);
}

function chgTag(tagid,ctrl) {

    $(".items").find("a").attr("className", "");
    $(ctrl).attr("className", "current");
    showLoading();
    $.ajax({
        cache: false,
        url: "/goods/request_handler.aspx",
        data: "tid=" + tagid,
        type: "GET",
        dataType: "text",
        timeout: 20000,
        beforeSend: function(XMLHttpRequest) {
        },
        error: function() {
            alert('Error happened');
        },
        complete: function(XMLHttpRequest, textStatus) {
            hideLoading();
        },
        success: function(xml) {
            toGoodsHtml(f23.s52d(xml));
        }
    });

}

$(document).ready(function() {

    //chgTag(2, "#latest_goods");

    $("a").bind("focus", function() {
        if (this.blur) { //如果支持 this.blur
            this.blur();
        }
    });

    $("#aNext").click(function() {
        var total = $("#lbTotal").text();
        if (total == "0元") {
            alert("您还没有点餐");
        }
        else {
            window.location = "address.aspx";
        }
    });

    $("#aEmpty").click(function() {
        cancelme(0);
    });
});

function toCartItem(xml){
    var xmlDoc = checkXMLDocObj(xml);

    var cartItem = xmlDoc.getElementsByTagName('Cart');
    var total = cartItem[0].getAttribute("Total");
    $("#lbTotal").text(total + "元");

    var items = xmlDoc.getElementsByTagName('CartItem');
    var html = "";
    for (var i = 0; i < items.length; i++) {
        var itemNode = items[i];
        html += "<li><table cellpadding='0' cellspacing='0'><tr>";
        html += "<td class='name'>" + itemNode.getAttribute("Name") + "</td>";
        html += "<td class='qty'>" + itemNode.getAttribute("Qty") + "</td>";
        html += "<td class='price' >" + itemNode.getAttribute("Price") + "</td>";
        html += "<td class='cancel'><a href='#nogo' onclick='cancelme(" + itemNode.getAttribute("GoodID") + ")'><img src='/img/btn_remove_item.gif' /></a></td>";
        html += "</tr></table></li>";
    }

    $("#myitems").html( html);
}

function orderme(gid, ctrl) {
    
    var p = $(ctrl).parent().parent();
    var qty = $(ctrl).parent().parent().find(".qty_input").attr("value");
    
    if (!isNumber(qty)) {
        alert("数量只能是数字");
        return;
    }
    else if (qty <= 0) {
    alert("数量必须大于0");
    return;
    }

    var oldHtml = $(ctrl).parent().parent().html();
    var newHtml = "<div class='orderme_loading'><img src='/img/loading16.gif' />&nbsp;订购中...</div>";
    newHtml += oldHtml;

    $(ctrl).parent().parent().html(newHtml);

    $.ajax({
        cache: false,
        url: "/goods/request_handler.aspx",
        data: "gid=" + gid + "&qty=" + qty,
        type: "GET",
        dataType: "text",
        timeout: 20000,
        beforeSend: function(XMLHttpRequest) {
        },
        error: function() {
            alert('Error happened');
        },
        complete: function(XMLHttpRequest, textStatus) {
            $(p).html(oldHtml);
        },
        success: function(xml) {
            toCartItem(f23.s52d(xml));
        }
    });
}

function cancelme(gid) {
    
    $.ajax({
        cache: false,
        url: "/goods/request_handler.aspx",
        data: "cid=" + gid,
        type: "GET",
        dataType: "text",
        timeout: 20000,
        beforeSend: function(XMLHttpRequest) {
        },
        error: function() {
            alert('Error happened');
        },
        complete: function(XMLHttpRequest, textStatus) {
        },
        success: function(xml) {
            toCartItem(f23.s52d(xml));
        }
    });
}
