// Javascript Document write by Sage of item4u.com at 2008.03.05

var gameNavBox,gameNavTradeclassList,gameNavAreaList,gameNavTitle,gameNavList,gameNavAreaListSetBox,gameNavAreaListSet,gameNavAreaListBox;

function gameNavClass(){
	//控件类的属性
	this.tradeclass=GetCookie("tradeclass")?eval(GetCookie("tradeclass")):eval("({'code':'buy','text':'Buy'})");
	this.area=GetCookie("area")?eval(GetCookie("area")):eval("({'code':'reg13','text':js_l.js_us})");
	this.game=GetCookie("game")?GetCookie("game"):null;
	this.server=GetCookie("server")?GetCookie("server"):null;
	this.serverID='';
	this.gameID='';
	this.areaList=[
		{code:'reg13',text:js_l.js_us,display:'yes'}
		,{code:'reg10000',text:js_l.js_ur,display:'yes'}
		,{code:'reg11',text:js_l.js_kr,display:'no'}
		,{code:'reg10001',text:js_l.js_jp,display:'no'}
		,{code:'reg14',text:js_l.js_tw,display:'no'}
		,{code:'reg10',text:js_l.js_cn,display:'no'}
		,{code:'reg10002',text:'马来西亚',display:'no'}
	];
	
	this.gameJSON=null;
	this.serverJSON=null;
	//手动点击国旗（选择国家）的操作标记
	this.clickArea = false;
}
//控件类的方法
gameNavClass.prototype={
	//构造按钮文字
	freshLabel:function(){
		$("buyButton").innerHTML = js_l.js_gameNav_buy;
		$("sellButton").innerHTML = js_l.js_gameNav_sell;	
		
		$("l_cus_area").innerHTML = js_l.js_gameNav_l_cus_area;
		$("cus_cancel").innerHTML = js_l.js_gameNav_b_cancel;
		$("cus_ok").innerHTML = js_l.js_gameNav_b_ok;
	},
	//控件初始化
	init:function(){
		gameNavBox=$("gameNavBox");
		gameNavTradeclassList=$("gameNavTradeclassList");
		gameNavAreaList=$("gameNavAreaList");
		gameNavTitle=$("gameNavTitle");
		gameNavList=$("gameNavList");
		gameNavAreaListSetBox=$("gameNavAreaListSetBox");
		gameNavAreaListSet=$("gameNavAreaListSet");
		gameNavAreaListBox=$("gameNavAreaListBox");

		//初始化选项
		this.setTradeclass(this.tradeclass.code, this.tradeclass.text);
		this.setArea(this.area.code, this.area.text);
		this.setAreaList("cookie");
				
		this.freshLabel();
		
		//添鼠标响应加事件
		addEvent($("buyButton"), "click", function(){gameNav.setTradeclass('buy','Buy');}, true);
		addEvent($("sellButton"), "click", function(){gameNav.setTradeclass('sell','Sell');}, true);
		//addEvent(gameNavAreaListBox, 'mousemove', function(){chkScrollX("gameNavAreaListBox",40,20);}, false);
		addEvent(gameNavList, 'mouseover', function(){gameNavList.style.overflowY='auto';}, false);
		addEvent(gameNavList, 'mouseout', function(){gameNavList.style.overflowY='hidden';}, false);
	},
	
	//打开国家设置视图
	openAreaSetView: function(){
		gameNavAreaListSetBox.show();
	},
	
	//设置国家列表
	setAreaList:function(__type){
		var _curFlag=true;
		
		if(__type=="user"){
			var _total=0;
			for(var _i=0; $("areaSet"+_i); _i++){
				var _selectObj=$("areaSet"+_i);
				if(_selectObj.checked){
					_total+=1;
					this.areaList[_i].display="yes";
				}else{
					this.areaList[_i].display="no";
					if(this.areaList[_i].code==this.area.code){_curFlag=false;};
				}
			}
			if(_total==0){alert(js_l.js_gameNav_a_selectArea); return false;}
			else {gameNavAreaListSetBox.hide();}
		} else if(__type=="cookie"){
			for(var _i=0; this.areaList[_i]; _i++){
				if(GetCookie(this.areaList[_i].code)!="no"){
					this.areaList[_i].display="yes";
				}else{
					this.areaList[_i].display="no";
					if(this.areaList[_i].code==this.area.code){_curFlag=false;};
				}
			}
		}
		if(!_curFlag){
			for(var _i=0; _i<this.areaList.length; _i++){
				if(this.areaList[_i].display!="no"){
					this.area.code=this.areaList[_i].code;
					this.area.text=this.areaList[_i].text;
					break;
				}
			}
			
		}
		//this.setArea(this.area.code,this.area.text);

	},
	
	//获取国家列表
	getAreaList:function(){
		var _tempHTML='';
		var _tempCheckForm='';
		var _style;
		var _checkFlag='';
		var _displayAreaNum=0;


		
		
		for(var _i=0; _i<this.areaList.length; _i++){
			_style=this.areaList[_i].code;
			if(this.areaList[_i].display=="no"){
				SetCookie(this.areaList[_i].code,"no");
				_style="hidden";
				_checkFlag='';
			}
			else{
				SetCookie(this.areaList[_i].code,"yes");
				_displayAreaNum+=1;
				if(this.areaList[_i].code==this.area.code){_style+="_On";}
				else{_style+="_Off";}
				_checkFlag='checked';
			}
			_tempHTML+='<div id="area'+_i+'" class="col '+_style+'" onclick="javascript: gameNav.clickArea=true;gameNav.setArea(\''+this.areaList[_i].code+'\',\''+this.areaList[_i].text+'\');" title="'+this.areaList[_i].text+'">'+this.areaList[_i].text+'</div>';
			_tempCheckForm+='<div><input id="areaSet'+_i+'" name="areaSet'+_i+'" type="checkbox" value="'+this.areaList[_i].code+'" '+_checkFlag+' /> <label for="areaSet'+_i+'">'+this.areaList[_i].text+'</label></div>'
		}
		
		
		gameNavAreaList.style.width=(34*_displayAreaNum)+"px";
		//alert(_tempHTML);
		gameNavAreaList.innerHTML=_tempHTML;
		gameNavAreaListSet.innerHTML=_tempCheckForm;
		//this.setArea(this.area.code,this.area.text);
		

	},
	
	//获取游戏列表
	getGameList: function(regionCode,regionName){
		var url = './../../itemview/changeGameClass.do';
		var pars = 'vcRegionCode=' + regionCode +"&timeStamp="+new Date().getTime();
		var myAjax = new Ajax.Request(
			url,
			{
				method: 'get',
				parameters: pars,
				onComplete: this.updateGameList
			}
		);
	},
	//刷新游戏列表内容
	updateGameList: function(gameListData){
		gameNav.gameJSON=eval(gameListData.responseText);
		var returnHTML="";
		for(var i=0, A_temp; A_temp = gameNav.gameJSON[i]; i++){
			returnHTML+='<a class="row Links_Select'+A_temp.hgf+'" href="javascript:gameNav.setGame('+i+');" title='+A_temp.gm+'>'+A_temp.gm+'</a>'
		}
		if(returnHTML=='')returnHTML=js_l.js_gameNav_noGame;
		gameNavList.innerHTML=returnHTML+'<br /><br />';
		if(gameNav.game != null)
			gameNav.setGame(gameNav.game);
	},
	//获取服务器列表
	getServerList: function(gameCode,gameName){
		var url = './../../itemview/getServerList.do';
		var pars = 'vcRealCode=' + gameCode + "&timeStamp="+new Date().getTime();
		var myAjax = new Ajax.Request(
			url,
			{
				method: 'get',
				parameters: pars,
				onComplete: this.updateServerList
			}
		);
	},

	//刷新服务器列表内容
	updateServerList: function(serverListData){
		gameNav.serverJSON=eval(serverListData.responseText)[0];
		var returnHTML="";	//='<a class="Links_Select0" href=javascript:gameNav.openServer("所有服务器"); title="服务器">所有服务器</a>';
		for(var i=1, A_temp; A_temp = gameNav.serverJSON[i]; i++){
			returnHTML+='<a class="row Links_Select0" href="javascript:gameNav.setServer('+i+',\''+gameNav.gameID+'\',\''+A_temp.gsi+'\');" title=' +A_temp.gsn+ '>' +A_temp.gsn+ '</a>';
		}
		if(returnHTML=='')returnHTML=js_l.js_gameNav_noGame;
		gameNavList.innerHTML=returnHTML+'<br /><br />';
	},
	//设置...菜单为载入状态
	loading: function(whichList){
		whichList.innerHTML='<div class="row gameNavLoading"><img class="select_icon" src="../../images/widget/gameNav/logo_loading.gif" border="0" width="70" height="70" /><br />' + js_l.js_ajax_loading + '</div>';
	},
	//设置当前交易类型
	setTradeclass: function(tradeclassCode, tradeclassName){
		this.tradeclass.code = tradeclassCode;
		this.tradeclass.text = tradeclassName;
		
		if(this.tradeclass.code=='sell'){
			gameNavBox.className="gameNavSell";
			gameNavTitle.className="row gameNavTitleSell c8";
		}
		else {
			gameNavBox.className="gameNavBuy";
			gameNavTitle.className="row gameNavTitleBuy c6";
		}
	},	
	//设置当前地区
	setArea: function(regionCode, regionName){
		if(this.clickArea)
		{
			this.game = null;
			this.server = null;
		}
		var _onceFlag=true;
		this.area.code=regionCode;
		this.area.text=regionName;
		gameNavTitle.innerHTML= regionName;
		this.getAreaList();
		this.loading(gameNavList);
		this.getGameList(regionCode, regionName);
	},	
	//设置当前游戏
	setGame: function(i){
		this.game=i;
		this.loading(gameNavList);
		if(gameNav.gameJSON){
			gameNavTitle.innerHTML= gameNav.gameJSON[i].gm;
			this.gameID = gameNav.gameJSON[i].rc;
			this.getServerList(gameNav.gameJSON[i].rc, gameNav.gameJSON[i].gm);
		}
	},	

	//设置当前服务器
	setServer: function(i,vcSpell,vcGameServerId){
		this.server=i;
		DelCookie("tradeclass");
		DelCookie("itemclass");
		DelCookie("area");
		DelCookie("game");
		DelCookie("server");
		SetCookie("tradeclass","({'code':'"+this.tradeclass.code+"','text':'"+this.tradeclass.text+"'})");
		SetCookie("area","({'code':'"+this.area.code+"','text':'"+this.area.text+"'})");
		SetCookie("game",this.game);
		SetCookie("server",this.server);
		SetCookie("itemclass","({'code':'','text':'All'})");
		
		this.serverID=gameNav.serverJSON[this.server].gsi;
		gameNavTitle.innerHTML= gameNav.serverJSON[i].gsn;
		
		//var url = '../../itemview/gameIndex.do?vcSpell='+ vcSpell +'&vcShortServerName=' + vcGameServerId + '&vcPublishMode=' + this.tradeclass.code;
		var url = '/'+this.tradeclass.code+"-"+vcSpell+'/all/'+vcGameServerId;
		window.location.assign(url);
	}
	
	
	
}
//实例化一个搜索控件类
var gameNav = new gameNavClass();

//控件初始化
function gameNavInit(){
	try{gameNav.init();}
	catch(e){};
}

addLoadEvent(gameNavInit);