﻿ 
 //设置所有游戏层
 function settingAllGamesLayer(_id)
 {
	//设置所以游戏层的显示和隐藏 
	setShowAndHide(_id);
	//设置游戏区和服在选择游戏后的显示形式 
	SettingDiv(_id);
 }
 
 
 //设置区或者服的层
 function settingGameAreaOrServerLayer(_event,_id,_ddlId)
 {
	//从下拉列表当中获取已经存在的区或者服的所有数据,然后添加到区或者服的层中
	getDropDownListData(_event,_id,_ddlId);
	//设置所以游戏层的显示和隐藏 
	setShowAndHide(_id);
	//设置游戏区和服在选择游戏后的显示形式 
	SettingDiv(_id);
 }

 
 
//选择了某一游戏后执行的 Ajax 联动及相关操作
function sG(obj)
{
	//先去隐藏弹出层
	document.getElementById('divGame').style.display = "none";

	//根据游戏名称去获取游戏的 id
	autoReq = setTimeout("doRequestGameidByGameName('" + obj + "')",300);
	
}

 
 //在根据游戏名称获取了游戏 id 后执行的联动和相关操作
/* function executeReleateOpAfterSelect(gameid,gameName)
 {
	//执行联动
	doGameRelatedList2('GameAreas','ddlBizTypes',ga_id,go_id,gs_id,gameid,tp);
	
	if(document.getElementById(gm_id) == null)
		return;
	else
		document.getElementById(gm_id).value = gameid;
	
	if(gameName)
	{
	   if(gameName.length>=4)
	   {
		  gameName = gameName.substring(0,4);
	   }
	}
	
	document.getElementById(span_id).innerHTML = "&nbsp;"+gameName;

	//Stop delay
	clearTimeout(autoReq);
 }*/
 
 
//设置所以游戏层的显示和隐藏 
function setShowAndHide(id)
{
	setDirectStyle(id);
	
	//隐藏基它展开的
	switch(id)
	{
		case "divGame":
			setOthersHide('divGameZone','divGameServers');
			break;
		case "divGameZone":
			setOthersHide('divGame','divGameServers');
			break;
		case "divGameServers":
			setOthersHide('divGame','divGameZone');
			break;
		default:
			break;
	}
}
 
 //设置游戏区和服在选择游戏后的显示形式 
 function SettingDiv(id)
{
	document.getElementById(id).style.visibility='visible';
	document.getElementById(id).getElementsByTagName('iframe')[0].style.display='block';

	//初始化游戏区，游戏服的下拉列表框上的 Div 层的文字	
	if(id=='divGame')
	{
			document.getElementById('divSelectGA').innerHTML ='游戏区';
			document.getElementById('divSelectGS').innerHTML = '游戏服务器';
	}
}

//设置某一个Div的显示样式
function setDirectStyle(id)
{
	var objStyle = document.getElementById(id).style.display;
	 
	 if(objStyle=='block')
	 {
		document.getElementById(id).style.display = 'none';
	 }
	 else
	 {
		document.getElementById(id).style.display = 'block';
	 }
}

//设置基它 Div 的显示样式
function setOthersHide(id1,id2)
{
	document.getElementById(id1).style.display='none';
	document.getElementById(id2).style.display='none';
}


//从区和服的下拉列表中获取数据生成相应的 html 代码
function getDropDownListData(_event,divID, selectID)
{
	var dropListObj =  document.getElementById(selectID);
	var dropListLength = dropListObj.length;
	var srcElement=_event.srcElement || _event.target;

	var oFragment = document.createDocumentFragment(); 
	var oUl = document.createElement("ul"); 
	if(dropListLength >1)
	{
		//1. 获取数据
		//2. 生成 Html 代码
		//3. 加到 指定的 元素当中
		for(i=1; i<=dropListLength-1; i++)
		{
			var oLi = document.createElement("li");
			oUl.appendChild(oLi);
			var oA =  document.createElement("a");
			oA.href ="javascript:sAreaOrServer('" + dropListObj[i].text +"','" +divID + "','" + selectID + "','" + srcElement.id + "','" + dropListObj[i].value + "');";
			oA.title = dropListObj[i].text;
			oA.innerHTML = dropListObj[i].text;
			oLi.appendChild(oA);
			oFragment.appendChild(oLi);
		}
	}
	
	var contentObject;
	if(navigator.userAgent.indexOf("Firefox")>0)
	{
		contentObject = document.getElementById(divID).childNodes[3].childNodes[1].childNodes[1];
	}
	else
	{
		contentObject = document.getElementById(divID).childNodes[1].childNodes[0].childNodes[0];
	}
	contentObject.innerHTML = "";
	contentObject.appendChild(oFragment);
}

//当选择区或者服后的事件响应 
function sAreaOrServer(id, divID, dropID,divCover,name)
{
	//1. 填充下拉框的值
	//2. 填写上层的 div 的值
	//3. 隐藏显示层
	//4. 触发 onchang 事件
	//5. 当选择了区以后初始化服的显示
	var dropObj = document.getElementById(dropID);
	var count = dropObj.length;
	for(i=0; i< count; i++)
	{
		if(dropObj[i].text ==id )
		{
			dropObj[i].selected = true;

			if(divCover !="divSelectGS")
			{ 
				dropObj.onchange();
				document.getElementById("divSelectGS").innerHTML="游戏服务器";
			} 
			break;  
		}
	}
	document.getElementById(divCover).innerHTML = id;
	document.getElementById(divID).style.display = 'none';
} 


//选择某一个字母标签 A~Z 时相对应的动作
function chooseTag_li(obj)
{
    var ul = obj.parentNode;
    if(ul != null)
    {
        for(var j = 0;j < ul.childNodes.length;j++)
        {
            ul.childNodes[j].className ='seaMenu_off';
        }
    }
    obj.className  = 'seaMenu_on';
	
    callAjax(obj,judgeInnerText(obj)); 

    //Add by Tanghj 2008.07.21 
    var copTags = document.getElementById('divAllCopGamesTag').getElementsByTagName('li');
    for(i=0; i<copTags.length; i++)
    {
		copTags[i].className='seaMenu_off';
    }  
    if(document.getElementById('divCompanyTag'))  
    {
		document.getElementById('divCompanyTag').style.display='none';
    }
	
	//add by Tanghj 2008.09.26
	var objAllCopGamesTag;
	try
	{
		objAllCopGamesTag = document.getElementById('divGsContent');
		if(objAllCopGamesTag)
		{
			var objCollection = objAllCopGamesTag.getElementsByTagName('div');
			if(objCollection)
			{
				for(i=0; i<objCollection.length; i++)
				{
					var id = objCollection[i].id;
					if(id)
					{
						if(id.substring(0,3)=='div')
						{
							//hide
							document.getElementById(id).style.display='none';
						}
					}
				}
			}
		}
	}
	catch(e)
	{}
}


//根据传入的字母获取相对应的字母标签下面的所有游戏
function callAjax(_this,value)
{
	var objContainer = document.getElementById('divGsContent');
	if(objContainer)
	{
		var divCollections = objContainer.getElementsByTagName('div');
		if(divCollections)
		{
			//initailize all
			for(i=0; i<divCollections.length; i++)
			{
				var _id = divCollections[i].id;
				if(_id)
				{
					if(_id.substring(0,8).toLowerCase()=="gamelist")
					{
						document.getElementById(_id).style.display="none";
					}
				}
			}

			//从 cookie 中去判断是否存在 prefix 对应的游戏, 如果有则从 Cookie 中读取,否则去 server side request
			judgeCookieOrAjaxReqData(value,'divGsContent')
			
			
			//应用已经存在游戏标签下的游戏层的内容
			for(i=0; i<divCollections.length; i++)
			{
				//针对更新后的 游戏内容的 id 是以  gamelistA~gamelistZ 的方式进行处理
				try
				{
					var divID = divCollections[i].id;
					if(divID)
					{
						if(divID.substring(0,8).toLowerCase()=="gamelist")
						{
							if(divID.toLowerCase() == "gamelist" + deletedSpace(value.toLowerCase()) || deletedSpace(value.toLowerCase())=="热门游戏" || deletedSpace(value.toLowerCase())=="免交易费")
							{
								if(deletedSpace(value.toLowerCase())=="热门游戏")
								{
									blockAndAdd("gamelisthot");
									break;
								}
								else if(deletedSpace(value.toLowerCase())=="免交易费")
								{
									blockAndAdd("gamelistfree");
									break;
								}
								else
								{
									try
									{
										blockAndAdd(divID);
									}catch(e){}
									break;
								}
							}
						}
					}
				}
				catch(e){}
			}
		}
	}
}

//设置显示和如果 innerText 为空的情况下显示  "该字母下暂时没有游戏" 的提示
function blockAndAdd(_id)
{
	document.getElementById(_id).style.display = "block";
	//如果内容为空则显示  "该字母下暂时没有游戏"    add by tanghj 08.10.23
	
	if ((navigator.userAgent.indexOf('MSIE') >= 0) || (navigator.userAgent.indexOf('Opera') >=0))
	{
		if(document.getElementById(_id).innerText=="")
		{
			document.getElementById(_id).innerText = "该字母下暂时没有游戏!";
			document.getElementById(_id).style.textAlign="center";
			document.getElementById(_id).style.background="#f8f6c5";
		}
	}
	else
	{
		if(document.getElementById(_id).textContent=="")
		{
			document.getElementById(_id).textContent = "该字母下暂时没有游戏!";
			document.getElementById(_id).style.textAlign="center";
			document.getElementById(_id).style.background="#f8f6c5";
		}
	}

}

//选择游戏公司，将要响应的一系列的动作
function chooseCopTag(_this)
{
	//1. 初始化所有 divAllGamesTag 内的样式
	//2. 设置它里面的所有游戏标签为  display='none';
	//3. 初始当前标签外围的游戏公司的标签的样式
	//4. 设置当前的游戏标签的样式
	//5. 设置当前选择公司标签下对应的游戏列表详情
	
	var tagsForAllGames = document.getElementById("divAllGamesTag").getElementsByTagName("li");
	for(i=0; i<tagsForAllGames.length; i++)
	{
		tagsForAllGames[i].className='seaMenu_off';
	}
	
	
	//hide all games ' tag
	var oContainer = document.getElementById('divGsContent');
	if(oContainer)
	{
		var dCollections = oContainer.getElementsByTagName('div');
		if(dCollections)
		{
			//initailize all
			for(i=0; i<dCollections.length; i++)
			{
				var _id = dCollections[i].id;
				if(_id)
				{
					if(_id.substring(0,8).toLowerCase()=="gamelist")
					{
						document.getElementById(_id).style.display="none";
					}
				}
			}
		}
	}
	
	var tagsAllCopGames = document.getElementById("divAllCopGamesTag").getElementsByTagName("li");
	for(i=0; i<tagsAllCopGames.length; i++)
	{
		tagsAllCopGames[i].className='seaMenu_off';
	}
	
	_this.className = "seaMenu_on";
	
	//选择公司标签下对应的游戏列表详情
	applyCompanyGamesReleatedLayer(_this);
}
   
//设置选择公司标签下对应的游戏列表详情
function applyCompanyGamesReleatedLayer(_this)
{
	//1. 初始化所有公司门下的所有游戏列表
	//2. 设置当前公司旗下的游戏详情显示
	
	//通过 Ajax 去调用
	var cmpName = deletedSpace(_this.innerText);
	
	loadCompayGames(_this.id,cmpName,'divGsContent');

	
	var id = _this.id;
	var s_id = id.replace("tag","");
	inializeCopDetailLayer("divGsContent");
	
	var f_id = "divCG" + s_id;
	try
	{
		document.getElementById(f_id).style.display = "block";
	}
	catch(e){}
}
   
 //初始化所有公司门下的所有游戏列表
function inializeCopDetailLayer(id)
{
	var gFrame = document.getElementById(id).childNodes;
	var len = gFrame.length;
	
	for(i=0; i<len; i++)
	{
		var _id = gFrame[i].id;
		if(_id)
		{
			if(_id !="")
			{
				if(deletedSpace(_id.substring(0,5)) =="divCG")
				{
					gFrame[i].style.display = "none";
				}
			}
		}
	}
}
   
//将生成的所有的某公司名下的所以游戏增加到指定的 div
function addGamesToCompanyTag(_this)
{
	var gamesContainer = document.getElementById("divGsContent");
	
	//创建游戏元素结点
	var oDiv;
	if(document.getElementById("divCompanyTag"))
	{
		oDiv = document.getElementById("divCompanyTag");
		oDiv.innerHTML="";
		oDiv.style.display="block";
	}
	else
	{
		oDiv = document.createElement("div"); 
		oDiv.id="divCompanyTag";
		oDiv.innerHTML="";
	}
	
	var oUl = document.createElement("ul"); 
	oDiv.appendChild(oUl);
	
	var games =  getCompayGame(_this.id);
	
	//生成游戏内容
	for(i=0; i<games.length; i++)
	{
		var oLi = document.createElement("li");
		oUl.appendChild(oLi);
		var oA =  document.createElement("a");
		oA.href ="javascript:sG('"+deletedSpace(games[i])+"')";
		oA.title = deletedSpace(games[i]);
		oA.innerHTML = deletedSpace(games[i]);
		oLi.appendChild(oA);
	}
	
	gamesContainer.appendChild(oDiv);
}
   

//设置在其它游戏中如果有热门游戏的话改变字体的颜色
function changeAColor(_event)
{
	var srcElement=_event.srcElement || _event.target;
	try
	{
		if(_event.type=="mouseover")
		{
			srcElement.style.color="#ffffff";
		}
		else
		{
			srcElement.style.color="#ff6600";
		}
	}
	catch(e){}
}


//不根据 cookie 去读取相应的游戏
function selectGameWithNocookies(gameid, obj)
{
	if(document.getElementById(gm_id) == null)
		return;
		
	doGameRelatedList2('GameAreas','ddlBizTypes',ga_id,go_id,gs_id,gameid,tp);
	
	document.getElementById(span_id).innerHTML = "&nbsp;"+obj;
	document.getElementById('divGame').style.display = "none";
}



//为了兼容先上线和后上线会出现不同版本上的差异
function getCharactor(sn)
{
	var ret;
	var allCharactors = {
		0: 0,
		1:"A" ,
		2:"B" ,
		3:"C",
		4:"D" ,
		5:"E",
		6:"F",
		7:"G",
		8:"H" ,
		9:"I" ,
		10:"J" ,
		11:"K" ,
		12:"L",
		13:"M" ,
		14:"N" ,
		15:"O" ,
		16:"P" ,
		17:"Q" ,
		18:"R",
		19:"S",
		20:"T",
		21:"U",
		22:"V",
		23:"W",
		24:"X",
		25:"Y",
		26:"Z",
		27:24
	}
	
	try
	{
		ret= allCharactors[sn];
	}
	catch(e){}
	
	return ret;
}

//根据当前的浏览器来判断当前对象是用 ie 下的 innerText 还是 firefox 下的 textContent
function judgeInnerText(obj)
{
    if ((navigator.userAgent.indexOf('MSIE') >= 0) || (navigator.userAgent.indexOf('Opera') >=0))
    {
        return obj.innerText;
    }
	else
    {
        if (navigator.userAgent.indexOf('Firefox') >= 0)
        {
             return obj.textContent;
        
        }else
             return obj.innerHTML;
    }
}



//验证是否选中的游戏,只有选择了游戏才可以搜索 
function validGameSelected()
{
	var o = document.getElementById("ddlGameName").value;
		if(o == 1)
		{
			alert("请选择游戏!");
			return false; 
		}
}


//记住每次搜索后的区和服的上次搜索状态
function keepZoneAndServerState()
{
	var objZone = document.getElementById("ddlGameName").value;
	var objAreas = document.getElementById("ddlGameAreas").value;
	var objServer = document.getElementById("ddlGameServers").value;
	document.getElementById("gameName").innerText = objZone;
	document.getElementById("divSelectGA").innerText = objAreas;
	document.getElementById("divSelectGS").innerText = objServer;
	 
	/*alert(objZone);
	alert(objAreas);
	alert(objServer);*/
	/*if(objZone)
	{
		 var valueZone = objZone.options[objZone.selectedIndex].text;
		 if(valueZone) 
		 {
			 if(valueZone !="")
			 {
				 document.getElementById("divSelectGA").innerText = valueZone;
			 }
			 else
			 {
				document.getElementById("divSelectGA").innerText = "全区";
			 }
		 } 
		 else
		 {
				document.getElementById("divSelectGA").innerText = "全区";
		 }  
		 
	}
	if(objServer)
	{
		var valueServer = objServer.options[objServer.selectedIndex].text;
		if(valueServer)
		{
			if(valueServer !="")
			{
				 document.getElementById("divSelectGS").innerText = valueServer;
			} 
			else
			{
				document.getElementById("divSelectGS").innerText = "全服"; 
			}  
		}
		else
		{
			document.getElementById("divSelectGS").innerText = "全服";
		}
		
	}*/
} 

		
function GoToCook(cokIma,hrefStr)
{
	var ID = 1;
	var Cok = 'cok';
	
	while(GetCookie(Cok + ID) != null)
	{	
		if(GetCookie(Cok + ID) == cokIma)
		{	
			ID = change(ID);
			break;
		}
		ID++;
	}
	var val = cokIma;
	
	SetCookie(Cok + ID,val);
	
	SetCookie("numMax",ID);
	location.href = hrefStr;
}
