/**
 * @namespace com.thesis.control.TradeControl
 * @author 钟军锐 August.R@263.net
 * @version 0.1
 */

/**
 * @id TradeControl
 * @type {TradeControl}
 */
function TradeControl(){
	this.Menu = {
		btnSearch:"btnShowSearch",
		btnCart:"btnShowCart",
		btnOrder:"btnShowOrderList",
		btnMemberInfo:"btnShowTMemberInfo"
	};
	
	M$(this.Menu);
	
	this.Page = $("TradePage");
	this.Footer = $("footer");
	
	this.Search = new TradeSearchControl();
	this.SignUp = new SignUpControl();
	this.Member = new TMemberControl();
	this.Cart = new TCart();
	this.Order = new TOrderControl();
	this.Detail = new TOrderDetailControl();
	
	this.AutoResize = null;
	
	if(typeof TradeControl._initialized == "undefined"){
		TradeControl._initialized = true;
		
		TradeControl.prototype.showSearch = function(){
			this.Cart.hide();
			this.Order.hide();
			this.Detail.hide();
			this.Member.hide();
			this.Search.show();
		};
		
		TradeControl.prototype.showCart = function(){
			this.Search.hide();
			this.Order.hide();
			this.Detail.hide();
			this.Member.hide();
			this.Cart.show();
		};
		
		TradeControl.prototype.showOrder = function(){
			this.Search.hide();
			this.Cart.hide();
			this.Detail.hide();
			this.Member.hide();
			this.Order.show();
		};
		
		TradeControl.prototype.showMember = function(){
			this.Search.hide();
			this.Cart.hide();
			this.Order.hide();
			this.Detail.hide();
			this.Member.show();
		};
		
		
		/**
		 * @id initialize
		 * @param {TradeControl} Root
		 */
		TradeControl.prototype.initialize = function(Root){
			
			this.AutoResize = setInterval(function(){Root.Page.height = ((document.documentElement.clientHeight || document.body.clientHeight) - Root.Footer.clientHeight - 15) + "px";},1000);
			
			uEvent.addBrowserHandler(this.Menu.btnCart,"click",function(){
				Root.showCart();
			});
			
			uEvent.addBrowserHandler(this.Menu.btnSearch,"click",function(){
				Root.showSearch();
			});
			
			uEvent.addBrowserHandler(this.Menu.btnOrder,"click",function(){
				Root.showOrder();
			});
			
			uEvent.addBrowserHandler(this.Menu.btnMemberInfo,"click",function(){
				Root.showMember();
			});
			
			uEvent.Listener.add(this.Member,"SignedOut",function(){
				Root.showSearch();
			});
			uEvent.Listener.add(this.Member, "ListedTradeEnterprise", function(lst){
				Root.Order.loadPurchasers(lst);
			});
			uEvent.Listener.add(this.Order,"show",function(){
				Root.showOrder();
			});
			uEvent.Listener.add(this.SignUp, "SignedUp", function(){
				Root.Member.getTMemberInfo();
			});
		};
	}
	
	this.initialize(this);
	
}
