
TB.namespace("app.Ark");
ShoppingOrder = TB.app.Ark.ShoppingOrder = (function () {
	var C = "ark:myOrder";
	var K = "ark:orderPopup";
	var B = "ark:orderInfo";
	var E = "ark:order:confirm";
	var J = "ark:order:pay";
	var D = "ark:closeOrderPopup";
	var F;
	var G = YAHOO.lang;
	var A = null;
	var H = (function () {
		var L = "<ul class=\"order-detail\"><li>\u5f85\u786e\u8ba4\uff1a<em>{waitConfirm}</em>\u4e2a\u8ba2\u5355</li><li>\u5f85\u4ed8\u6b3e\uff1a<em>{wariPay}</em>\u4e2a\u8ba2\u5355</li></ul>";
		return {element:null, timeout:null, init:function () {
			this.element = $(K);
			$E.on(this.element, "mouseout", function (N) {
				var M = $E.getRelatedTarget(N);
				if (M !== this.element && !$D.isAncestor(this.element, M)) {
					this.hide();
				}
			}, this, true);
			$E.on(D, "click", function (M) {
				this.hide();
			}, this, true);
		}, render:function (N) {
			if (N.login === "true") {
				var M = G.substitute(L, {wariPay:N.waitBuyerPayCount, waitConfirm:N.waitBuyerConfirmCount});
				$(B).innerHTML = M;
			} else {
				$(B).innerHTML = "\u60a8\u8fd8\u672a\u767b\u5f55\uff0c\u8bf7\u5148<a href=\"" + N.loginUrl + "\" target=\"_blank\">\u767b\u5f55</a>";
			}
		}, show:function () {
			var N = this.element;
			var P = parseInt($D.getStyle(N, "height"));
			$D.setStyle(N, "position", "absolute");
			$D.setStyle(N, "z-index", "99999");
			$D.setStyle(N, "overflow", "hidden");
			$D.setStyle(N, "display", "block");
			var R = $D.getXY(F);
			var Q = F.offsetWidth, M = F.offsetHeight;
			var O = N.offsetWidth;
			R[0] -= (O - Q) / 2;
			R[1] += M;
			$D.setXY(N, R);
		}, hide:function (N) {
			if (this.timeout) {
				this.timeout.cancel();
				this.timeout = null;
			}
			var M = this.element;
			$D.setStyle(M, "display", "none");
		}};
	})();
	var I = {};
	I.attachEventToOrderTrigger = function () {
		var M = $(K).getAttribute("url");
		var L = M + "?t=" + (new Date()).getTime();
		$E.on(F, "mouseover", function () {
			if (A) {
				A.cancel();
			}
			A = G.later(100, this, function () {
				YAHOO.util.Get.script(L, {onSuccess:function () {
					if (I.__data) {
						H.render(I.__data);
					}
				}, autopurge:false});
				H.show();
			});
		});
		$E.on(F, "mouseout", function () {
			if (A) {
				A.cancel();
			}
		});
	};
	I._init = function () {
		F = $(C);
		H.init();
		I.attachEventToOrderTrigger();
	};
	$E.onAvailable(K, I._init, I, true);
	return I;
})();

