/**
 * 搜索三期使用-合作站点专用  
 **/

var gamelist = new Array(); //存放游戏数据
var _searchPopBool = false;

var baseDomain = getCurrentlyDomain();

if(!baseDomain){ alert('非5173站点调用');}

/**
 * 始初化
 **/
jQuery(function(){


	// 如果有历史记录就取出所有的最后的历史记录
	// 加载最后一下游戏的 名称,区与种类

	_loadGameNameData(); //加载游戏名称(加载到数组)
	setTimeout("initSearchGameName()", 800); //延迟一会防止ajax数据没有加载完成	
	

	jQuery('body').bind('click',function(e){
		if(e.target==this){
			_hideSearchDiv();
		}	
	});
	
	//游戏列表
 	jQuery('#searchGameName').click(function(){	
		changShowHide('searchGameName'); //调用函数		
	});
	
	//左边选中字母时
	jQuery('#searchGameNameFrame li a').click(function(){
		jQuery('#searchGameNameFrame li').removeClass('currert');
		jQuery(this).parent().addClass('currert');		
		azSearchGameName(jQuery(this).html());		
	});
		
	//游戏区
	jQuery('#searchGameArea').click(function(){
		_searchPopBool = true;
		changShowHide('searchGameArea'); //调用函数	
	});	

	//游戏服
	jQuery('#searchGameServer').click(function(){
		_searchPopBool = true;
		changShowHide('searchGameServer'); //调用函数							
	}); 
	
	//游戏类型列表
	jQuery('#searchGameAllType').click(function(){
		_searchPopBool = true;
		changShowHide('searchGameAllType'); //调用函数	
	});
	
	//关闭弹出层
	jQuery('.popup_layer_title .search_close').click(function(){		
		_hideSearchDiv();	
	});
	
	
}); 

/**
 * 过滤网关ajax返回的数据
 * @param  ajaxPOST数据
 * @return 去掉多除内容的数据
 **/
function filterProxyData(data){
	
	re = /\$\s*?<\!DOCTYPE[\s\S]*/ig;
	r = data.replace(re, ''); 
	return data.replace(re, ''); 
	//return data.split('$$')[0];
}

/**
 * 加载初始化游戏名称
 * @returns 加载到数组 gamelist
 **/
function _loadGameNameData(){		

	//加载全部游戏
	var dataUrl = '/Controls/Common/Proxy.aspx?url=' + encodeURIComponent('http://'+ baseDomain + "/ajax.axd?methodName=GETALLGAMESDATAv3&IsGameID=false");
	var name = '', type = '', ii = 0;	
	
	jQuery.post(dataUrl,function(data){
		//过滤内容
		data = (filterProxyData(data));		
		//历史记录付加进入到返回的字符串
		data = 'history:' + g_history + ';'+ data;
		//格式化数据
		GT = data.split(';');		
		for(key=0;key<GT.length;key++){
			if(GT[key]!=''){							
				GN = GT[key].split(':');			
				gamelist[key] = {name:GN[0].toUpperCase(),list:[]}; //GN[0]: 分类			
				tmpGameName = GN[1];
				GameName = tmpGameName.split(",");
							
				for (key1 in GameName){
					if(GameName[key1]!=''){
						name = GameName[key1];
						tmpName = name.split("#");					
						if(tmpName[2]=='h'){
							hot = 1;
						}else{
							hot = 0;
						}					
						name = tmpName[1];
						type = tmpName[0];
						gamelist[key].list[key1] = {name:name,type:type,url:name,hot:hot};
					}
				}
			}
		}		
	});	
}

/**
 * 加载初始化游戏类型分类
 * @returns 加入到页面上 searchGameAllTypeFrame
 **/
function _loadGameTypeData(){
	
	var dataUrl = '/Controls/Common/Proxy.aspx?url=' + encodeURIComponent('http://'+ baseDomain + "/ajax.axd?methodName=GETBIZOFFERTYPEALLV3&gameType=offertypes");
	var name = '', type = '', ii = 0;
	
	jQuery.post( dataUrl,function(data){
		var html = '';
		html +='<dl><dd><a href="javascript:_selectAll(\'searchGameAllType\',\'全部分类\')">全部分类</a></dd>';
		
		data = filterProxyData(data);
		
		if(data !=''){
			gameType = data.split('$'); //格式化代码		
			var id='';
			var name='';
			var idlist = '';
			var namelist = '';			
			for(v in gameType){
				if(v % 2==0){
					idlist += '__' + gameType[v];
				}else{
					namelist += '__' + gameType[v];
				}
			}			
			id = idlist.split('__');
			name = namelist.split('__');
						
			//去掉第一个数组
			for(key=1; key<id.length; key++){				
				html += "<dd><a href=\"javascript:selectGameAllType('"+id[key]+"','"+ name[key] +"')\">"+ name[key] +"</a></dd>";						
			}				
		}			
		html +='</dl>';		
		jQuery('#searchGameAllTypeFrame').html(html);		
	});		

}

/**
 * 初始化游戏选择(热门游戏)
 * @return 无
*/
function initSearchGameName(){	
	
	var _h = pHistoryGame();
	
	if(_h){
		jQuery('#searchGameNameFrameInline h2').html('历史选择：<a href="javascript:_selectAll(\'searchGameName\',\'全部游戏\')">全部游戏</a><span>'+ _h +'</span>');
	}else{
		jQuery('#searchGameNameFrameInline h2').html('请选择游戏<span>(点击游戏名称选择游戏)</span>：<a href="javascript:_selectAll(\'searchGameName\',\'全部游戏\')">全部游戏</a>');
	}
	
	//初始化热门游戏
	azSearchGameName('热门游戏');
}



/**
 * 选中游戏事件
 * @param a-z
 * @return 无
*/
function azSearchGameName(type){		

	if(type=='热门游戏'){
		type='HOTG'; _u = 'hotgame';	
	}else if(type=='网页游戏'||type=='台服游戏'){
		type='WEBG'; _u = '';
	}else{
		_u = '';
	}
	
	var html ='<h3 class="az_'+ type +'">&nbsp;</h3><ul class="'+_u+'">';		
	

	if(type=='I' || type=="O" || type=="V"){
		html += '<li class="ajax_note">该字母下暂无游戏</li>';
	}else{		
		for(key in gamelist){
			if(gamelist[key].name==type){
				//========================================
				// 网页游戏的格式是不一样的单独处理
				// 这个地方 gamelist[key].list[key1].name 与 gamelist[key].list[key1].type 是颠倒的
				// 原因是输出的webgame与其他格式不一样
				// by Mark 2009.6.26 15:00
				//========================================
				//if(type=='WEBG'){
				//	for(key1 in gamelist[key].list){											
				//		html += '<li><a href="javascript:void 0" onclick="javascript:selectSearchWebGameName(\''+ gamelist[key].list[key1].type +'\',\''+ gamelist[key].list[key1].name +'\')" title="'+ gamelist[key].list[key1].type +'">'+ gamelist[key].list[key1].type + '</a></li>';				
				//	}
				//}else{
					for(key1 in gamelist[key].list){
						if(gamelist[key].list[key1].hot ==1){
							tmpclass = 'class="hot"';
						}else{
							tmpclass = '';
						}				
						html += '<li><a '+ tmpclass +' href="javascript:void 0" onclick="javascript:selectSearchGameName(\''+key1+'\',\''+key+'\',\''+gamelist[key].list[key1].name+'\')" title="'+ gamelist[key].list[key1].name +'">'+ gamelist[key].list[key1].type +' - '+ gamelist[key].list[key1].name +'</a></li>';				
					}				
				//}				
			}		
		}		
	}		
	html += '</ul>';	
	jQuery('#azGamelistFrame').html(html);	
}

/**
 * 选中WEB游戏时
 **/ 
function selectSearchWebGameName(webGameName,webGameID){
	
	jQuery('#searchGameName').html(webGameName);
	jQuery('#searchGameNameFrame').hide();
	
	//重置区,服
	_selectAll('searchGameArea','全部区');	
	_selectAll('searchGameServer','全部服');
	_hideSearchDiv();
	
}

/**
 * 关闭弹出层事件
 **/
 
//选中搜索弹出层游戏(种类a-z, 在数组哪个位置)
function selectSearchGameName(areakey,key,name){
	
	//加入游戏区
	jQuery('#searchGameAreaFrameInline h2').html('<h2>请选择游戏区：<a href="javascript:_selectAll(\'searchGameArea\',\'全部区\')">全部区</a></h2>');

	jQuery('#searchGameName').html(name);
	jQuery('#searchGameNameFrame').hide();
	
	//重置区，服，类型	
	jQuery('#searchGameArea').val('全部区');
	jQuery('#searchGameServer').val('全部服');
	jQuery('#searchGameAllType').val('全部分类');
	
	jQuery('#'+ga_id).val('-1');	
	jQuery('#'+gs_id).val('-1');	
	jQuery('#'+tp).val('-1');
	
	//请空下拉	
	jQuery('#searchGameArea').html("游戏区");
	jQuery('#searchGameServer').html("游戏服务器");
	jQuery('#searchGameAllType').html("全部分类");	
	
	//求出游戏ID	
	var dataUrl = '/Controls/Common/Proxy.aspx?url=' + encodeURIComponent('http://'+ baseDomain + "/ajax.axd?methodName=GETIDBYGAMENAME&GameName="+encodeURI(name));
		
	jQuery.post( dataUrl ,function(data){
		data = filterProxyData(data);
		if(data){			
			loadSearchGameArea(data,name); //加截游戏区
			loadSearchGameType(data); //加载游戏类型			
		}else{
			alert('没发现游戏ID');
		}
	});	
}

//加载游戏区
function loadSearchGameArea(gameID,gameName){
	
	
	html = '';
	//09.07.14 扩展gameID数据
	//gameID = gameID + '##' + gameName;
	
	jQuery('#'+ gm_id).val(gameID);

	var dataUrl = '/Controls/Common/Proxy.aspx?url=' + encodeURIComponent('http://'+ baseDomain + "/ajax.axd?methodName=games&gameType=GameAreas&tradingType=other&id="+gameID);
	
	//console.log(decodeURIComponent(dataUrl));
	
	
	jQuery.post( dataUrl,function(data){
		data = filterProxyData(data);
		html += '<h3>&nbsp;</h3><ul>';
		if(data !=''){
			gameArea = data.split('$'); //格式化代码				
			var id='';
			var name = '';
			var idlist = '';
			var namelist = '';
			for(v in gameArea){
				if(v % 2==0){
					idlist += '__' + gameArea[v];
				}else{
					namelist += '__' + gameArea[v];
				}
			}
			id = idlist.split('__');
			name = namelist.split('__');			
			//去掉第一个数组
			for(j=1; j<id.length; j++){
				html += "<li><a href=\"javascript:loadSearchGameServer('"+id[j]+"','"+ name[j] + "')\" title='"+ name[j] +"'>"+ name[j] + "</a></li>";
			}
		}
		
		html +='</ul>';
		//console.log("游戏区:"+html);	
		jQuery('#getSearchGameArea').html(html);			
		
	});		
}

//加载游戏服(游戏区ID, 游戏区名)
function loadSearchGameServer(gameAreaID, name, auto){	

	//请空下拉
	if(auto!='auto'){
		jQuery('#'+gs_id).val('-1');	
	}	
		
	jQuery('#searchGameServer').html("游戏服务器");
	jQuery('#searchGameServerFrameInline h2').html('<h2>请选择游戏服务器：<a href="javascript:_selectAll(\'searchGameServer\',\'全部服\')">全部服</a></h2>');

	//gameAreaID = gameAreaID + '##' + name;
	jQuery('#'+ ga_id).val(gameAreaID); //写入游戏区ID		
	
	jQuery('#searchGameArea').html(name);	
	jQuery('#searchGameAreaFrame').hide();
	var html = '<h3>&nbsp;</h3><ul>';
	
	//html +='<dt><a href="javascript:_selectAll(\'searchGameServer\',\'全部服务器\')">全部服务器</a></dt>';	
	
	var dataUrl = '/Controls/Common/Proxy.aspx?url=' + encodeURIComponent('http://'+ baseDomain + "/ajax.axd?methodName=games&gameType=GameServers&tradingType=other&id="+gameAreaID);
	jQuery.post( dataUrl ,function(data){		
		data = filterProxyData(data);		
		if(data !=''){
			var id='';
			var name='';
			var idlist = '';
			var namelist = '';			
			gameserver = data.split('$'); //格式化代码
			for(v in gameserver){
				if(v % 2==0){
					idlist += '__' + gameserver[v];
				}else{
					namelist += '__' + gameserver[v];
				}
			}			
			id = idlist.split('__');
			name = namelist.split('__');
			//console.log(name);
			//去掉第一个数组
			for(key=1; key<id.length; key++){	
				html += '<li><a href="javascript:selectSearchGameServer(\''+ id[key] +'\',\''+ name[key] +'\')" title="'+ name[key] +'">'+ name[key] +'</a></li>';						
			}			
		}
		html +='</ul>';
		//console.log('游戏服'+html);
		jQuery('#getSearchGameServer').html(html);
		
	});	
}
/**
 * 选择游戏服
 * @param 游戏服id
 * @param 游戏服名称
 * @returns null
 **/
function selectSearchGameServer(serverid, servername){
	//serverid = serverid + '##' + servername;
	jQuery('#'+ gs_id).val(serverid); //写入游戏服ID	
	jQuery('#searchGameServer').html(servername);
	jQuery('#searchGameServerFrame').hide();		
}
/**
 * 加载游戏类型
 * 这个地方与 searchbar41.js 加载的方法有点区别
 * methodName=GETBIZCATEGORYSV3&gameType=offertypes&gameid=游戏ID 获取的是根据新大类获取的物品类型
 * @param 游戏ID
 * @returns Null 
 **/
function loadSearchGameType(gameid){	
	
	//var dataUrl = '/Controls/Common/Proxy.aspx?url=' + encodeURIComponent('http://'+isUseProxy(baseDomain) + "/ajax.axd?methodName=GETBIZCATEGORYSV3&gameType=offertypes&gameid="+gameid);
	var dataUrl = '/Controls/Common/Proxy.aspx?url=' + encodeURIComponent('http://'+ baseDomain + "/ajax.axd?methodName=GetOfferTypesByGameID&gameType=offertypes&gameid="+gameid);
	jQuery.post(dataUrl ,function(data){
		var html = '';
		html +='<dl><dd><a href="javascript:_selectAll(\'searchGameAllType\',\'全部分类\')">全部分类</a></dd>';	
		data = filterProxyData(data);
		if(data !=''){
			gameType = data.split('$'); //格式化代码		
			var id='';
			var name='';
			var idlist = '';
			var namelist = '';			
			for(v in gameType){
				if(v % 2==0){
					idlist += '__' + gameType[v];
				}else{
					namelist += '__' + gameType[v];
				}
			}			
			id = idlist.split('__');
			name = namelist.split('__');
						
			//去掉第一个数组
			for(key=1; key<id.length; key++){				
				html += "<dd><a href=\"javascript:selectGameAllType('"+id[key]+"','"+ name[key] +"')\">"+ name[key] +"</a></dd>";						
			}				
		}			
		html +='</dl><iframe class="iframe_estop"></iframe>';	
		//console.log("游戏类型:"+html);	
		jQuery('#searchGameAllTypeFrame').html(html);		
	});	
}

//选中游戏类型(id, 值)
function selectGameAllType(id,name){
	//id = id + '##' + name;
	jQuery('#'+ tp).val(id); //写入类型ID
	jQuery('#searchGameAllType').html(name);
	jQuery('#searchGameAllTypeFrame').hide();		
}

//选中全部时特别处理
function _selectAll(id,val){	
	if(id=='searchGameName'){
		jQuery('#'+gm_id).val('-1');		
		init_area();
		init_server();	
		init_type();
		jQuery('#searchGameAreaFrameInline h2').html('<h2>请选择游戏区：<a href="javascript:_selectAll(\'searchGameArea\',\'全部区\')">全部区</a></h2>');
		jQuery('#searchGameServerFrameInline h2').html('<h2>请选择游戏服务器：<a href="javascript:_selectAll(\'searchGameServer\',\'全部服\')">全部服</a></h2>');
		
		//初始化分类
		//不需要初始化
		//_loadGameTypeData(); 
		
	}
	if(id=='searchGameArea'){		
		jQuery('#'+ga_id).val('-1');
		init_server();
		jQuery('#searchGameServerFrameInline h2').html('<h2>请选择游戏服务器：<a href="javascript:_selectAll(\'searchGameServer\',\'全部服\')">全部服</a></h2>');
	}
	if(id=='searchGameServer'){		
		jQuery('#'+gs_id).val('-1');
	}
	if(id=='searchGameAllType'){		
		jQuery('#'+tp).val('-1');
	}
	jQuery('#'+id).html(val);
	//区与服恢复默认状态
	changShowHide(id);
}

//初始化区
function init_area(){
	html = '<h3></h3><ul><li class="ajax_note">请先选择游戏...</li></ul>';	
	jQuery('#searchGameArea').html('全部区');
	jQuery('#getSearchGameArea').html(html);
	jQuery('#'+ga_id).val('-1');	
}
		
//初始化服
function init_server(){
	var html = '<h3></h3><ul><li class="ajax_note">请先选择游戏区...</li></ul>';
	jQuery('#searchGameServer').html('全部服');
	jQuery('#getSearchGameServer').html(html);
	jQuery('#'+gs_id).val('-1');	
}

//初始分类
function init_type(){
	var html = '<dl><dt><a href="javascript:_selectAll(\'searchGameAllType\',\'全部分类\')">全部分类</a></dt></dl>';
	jQuery('#searchGameAllType').html('全部分类');
	jQuery('#searchGameAllTypeFrame').html(html);	
}

/**
 * 改变弹出层样式
 * 首页搜索列表用
 * @param id
 * @return 无
*/
function changShowHide(id){
	if (jQuery('#'+id+'Frame').css('display')=='none'){		
		_hideSearchDiv();
		jQuery('#'+id+'Frame').show();
	}else{
		jQuery('#'+id+'Frame').hide();
	}		
}

/**
 * 隐藏搜索弹出层
  * @return 无
*/
function _hideSearchDiv(){
	jQuery('#searchGameNameFrame').hide();
	jQuery('#searchGameAreaFrame').hide();
	jQuery('#searchGameServerFrame').hide();
	jQuery('#searchGameAllTypeFrame').hide();	
}

function pHistoryGame(){
	var t = g_history.split(',');
	var arrTmp = [];
	var html = '';
	for (key in t){		
		var v = t[key].split('#');
		if(v!=''){			
			if(v[2]){
				_t = 'class="hot"';				
			}else{
				_t = '';
			}			
			html = html + '<a '+ _t +' href="javascript:void 0;" title="'+ v[1] +'" onclick="selectSearchGameName(0,0,\''+ v[1] +'\')">'+ v[1] +'</a>';
		}
	}	
	return html ;
}

/**
 * 最后一个历史游戏
 * @param  历史游戏记录(字符串) g_history
 * @return 最近一次游戏名称
 **/
function _last_history_game(g){	
	var t = g.split(',');
	if(t[0]!==''){
		var v = t[0].split('#');
		if(v[1]){
			return v[1];
		}
		return false;
	}	
	return false;	
}

/**
 * 取得当前域名
 * @return 当前域名带http://
 **/
function getCurrentlyDomain(){
	var _bd = window.location.href;
	re = /http\:\/\/(.*5173\.com)(.*)/i;
	_bd = _bd.match(re);
	if(_bd[1]){
		return _bd[1];
	}
	return false;	
}

/**
 * 返回ID或者名称
 * 用户操作记录
 * @param 隐藏域的ID的
 * @param 返回类型(ID或者名称)
 * @returns 返回ID或者名称
 **/ 
function getUserRecords(hideID){	
	var _tmp = jQuery('#'+hideID).val();
	return _tmp;
}

