
function ggame(){
	this.mouseoutdate=new Date();
	this.DELAY_TIME=300;	
	this.ENDDIV='<!-- end -->';
	this.arrDivs=new Array()
	this.arrDownloadingFlag=new Array();//是否已下载。
	this.arrEnterTime=new Array();//进入时间。
	
	this.arrTypes=new Array() ;//分类名字
	this.arrTimers=new Array() //定时器
	this.arrCacheFlag=new Array() //触发器flag
	this.arrJsFlag=new Array() //触发器flag
	
	this.curename='' ;//当前小分类英文名称
	//this.curcname=''; //小分类，中文名称
	this.gameRec='';//当前游戏
	
	//my.delayShow( '运动','汽车','qiche',g ),js调用
	this.delayShow=function(bigname,cname, ename,divstr){
		//已下载完毕。
		debug('enter delayshow, ename='+ename+' jsflag='+this.arrJsFlag[ename]);
		this.arrDownloadingFlag[ename]=false;
		this.arrDivs[ename]=divstr;
		
			this.arrTypes[ename]=bigname+"::"+cname;
			
 		d=new Date();
		//仍然有效
		if ( this.arrJsFlag[ename] ) {		
			last =d.getTime() - this.arrEnterTime[ename];
			if( last <0)
				;//alert( 'error last='+ last );
			if( last >this.DELAY_TIME)
				showDiv(ename);
			else{
				func="showDiv('"+ename+"')";
				my.arrTimers[ename]=window.setTimeout( func, my.DELAY_TIME-last )					
			}
		}
	}
}
my=new ggame();
gwidth=800
gheigth=600
gtitleheight=20

PRE_HIST='hist';
PRE_SELF='self';

function $(id){
return document.getElementById(id);
}
idebug=0;
function debug(msg){
	if( false && $('debug'))
	$('debug').innerHTML+= " : "+idebug++ +"="+msg;	
}

//显示游戏列表
var gcolor=0;
var gcolors=['#111','#33F']
function showDiv(ename){
	debug('enter showdiv')
	gcolor+=1;
	$('ct2').innerHTML=my.arrDivs[ename];
	$('sj2').innerHTML='<font color="'+ gcolors[gcolor%2]+'">当前分类::'+my.arrTypes[ename]+'</font>'
	my.arrJsFlag[ename]=false;
	my.arrCacheFlag[ename]=true;
	my.curename=ename; 	
	tabdiv('sj2');
	$('msgloading').className='hidemsg'
}

function makeTab(title,a){
    var COL=3;
var s='';
s+='<div class="a2" ></div>';
s+='<div class="a1" ></div>';
s+='<div class="lefttab">';
s+='<div class="t2">'+title+'</div><div class="inner2" style="padding:5px;">'
var i;
for(i=0;i<a.length;i++){		
	var b=a[i];
	if(!b) break;
	s+='<span style="float:left;width:60px;min-width:60px;"><a href="' + trim(b[0])+'">'+trim(b[1])+'</a></span>'; 
	if(i%3==2)
		s+='<br />';
}
s+='</div>' ; //<!-- inner2 -->
s+='</div>' ; //<!-- lefttab -->
return s;
}

var scount=0;
//组织div span
function makeSpanLine(title, a){    
    var s='<div class="dline'+(scount%2)+'"><span class="linetitle">'+ title+ '</span>';
	//var count=0;
    for(i=0;i<a.length;i++){		
        var b=a[i];
		if(!b) break;		 
        s+='<span class="sline">'+getColor(b[2])+'<a href="' + trim(b[0])+'">'+trim(b[1])+'</a></span>';		 
    } 
	s+='</div>';
	scount++;
    return( s  );
} 
var n2a={10:'A',11:'B', 12:'C',13:'D',14:'E',15:'F'}
function getColor(n){	
var color='FFFFFF';
if( n<=0 || n>=1000000){
	return '';
}
else{
 try{
	 var cc= parseInt(Math.log(n));			 
	 if( cc<10)
		color='FF'+cc+cc+cc+cc;
	 else{
		 var n=n2a[cc]
		color='FF'+n+n+n+n;
	 }
 }
 catch(e)
 {}
}
return '<font color="#'+color+'">★</font>';
}
//组织 table
function makeTable(title, a,column){
    var COL=7;
	//alert(arguments.length);
	if( arguments.length>2 ){
	COL=column;
	}
    var s='<table class="maintable" width="100%"  cellpadding="0" cellspacing="0"><tr><th colspan="'+COL+
		'"><a name="'+title+'"></a>'+
		title+'</th></tr>';
	var count=0;
	var t01=0;
	var i;
    for(i=0;i<a.length;i++){		
        var b=a[i];
		if(!b) break;
		
        if( count%COL==0 ){
            s+='<tr class="t'+t01+'">';
			if(t01==0)
				t01=1;
			else
				t01=0;
        }
		if( trim(b[0]) ){ 
         s+='<td style="width:'+100/COL+'%;">'+getColor(b[2])+'<a href="' +
		 trim(b[0])+'">'+trim(b[1])+'</a></td>';
		}
		else{
		//小标题
			if( count%COL!=0 ){
            s+='</tr><tr class="t'+(count%2)+'">';
			count=0;
        	}
			s+='<td class="tdnoa">'+trim(b[1])+'</td>';
		}
        if( count%COL==COL-1 ){
            s+='</tr>'
        }
		count++;
    }
	if( i%COL!=COL-1 )	
    s+='</tr></table>';
	else
    s+='</table>';
    //alert(s)
    return( s+my.ENDDIV );
} 

//动态加载js
function addScript(url){ 
    var head = document.getElementsByTagName("head").item(0); 
    var script = document.createElement("script");
    script.setAttribute("src", url);
    script.setAttribute("type","text/javascript");
    script.setAttribute("language","javascript");
    head.appendChild(script);
    return script;
} 
//显示，未生成，先生成
//有，置缓存显示标志cacheFlag。置定时器，0.3秒后，cacheFlag有效，则显示；                     
//没有，触发js下载，置js显示标志jsFlag。0.3秒后，jsFlag有效，则显示； 
function getAndShowContent( ename ){
	if (typeof( may.arrDivs[ename] )== 'undefined' && typeof( my.downloading[ename] )== 'undefined' )	{
		addScript('/js/'+ename+'.js')  
		my.downloading[ename]==true;
		my.arrJsFlag[ename]=true;
	}
	else
		showDiv( ename )
}
function rtrim(z) {
if(z)
return z.replace( /\s*$/, "" );
}
function ltrim(z) {
if(z)
return z.replace( /^\s*/, "" );
}
function trim(z) {
if(z)
return z.replace( /^\s*/, "" ).replace( /\s*$/, "" );
}
//进入，停顿.3秒，显示
function mclick(ename){
	//alert(my.arrCacheFlag[ename]);		
	if(my.arrDivs[ename]){
		endstr=my.arrDivs[ename].substr( my.arrDivs[ename].length-my.ENDDIV.length);
		if( endstr==my.ENDDIV)
			showDiv(ename);
	}
}
//进入，停顿.3秒，显示
function mover(ename){
	//alert('asdf');
	debug('<br />enter:'+ename)
	//debugger
	ename=trim(ename)
	if( ename=='')
		return;
	var downloading = false;
	if( typeof(my.arrDownloadingFlag[ename]) == 'undefined') {
		downloading = false;		
	}
	else{
		downloading=my.arrDownloadingFlag[ename]; 
	}
	
	debug('downloading:'+downloading)
		
	var d=new Date()
	//第一次进入。有可能是鼠标滑过。
	if (typeof(my.arrDivs[ename]) == 'undefined' && downloading == false ){
	debug('enter if');
		//在ie中，以下两行不能放addScript后。因为在ie中，addScript和当前js是并发执行的。
		my.arrDownloadingFlag[ename] = true;
		my.arrJsFlag[ename] = true;
		my.arrEnterTime[ename]=d.getTime();
		//未下载。
		//rid=Math.random();
		//addScript('/js/' + ename + '.js?'+rid);
		addScript('/js/' + ename + '.js');
		window.parent.$('msgloading').className='displaymsg'
	debug('if end');
	}
	else {	
	debug('enter else');
	var func;
		if (downloading ) {
			//正在下载, 重新设定时间
			my.arrEnterTime[ename]=d.getTime();
			//判断是否已在内存中，是，延迟后显示。ie的补丁。
			var ss=my.arrDivs[ename];
			if( ss && ss.substring( ss.length - my.ENDDIV.length) == my.ENDDIV ){
				my.arrCacheFlag[ename] = true;			
				func="showDiv('"+ename+"')"
				my.arrTimers[ename]=window.setTimeout( func, my.DELAY_TIME );			
			}
		}
		else {
			//已下载，直接显示。
			my.arrCacheFlag[ename] = true;			
			func="showDiv('"+ename+"')"
			my.arrTimers[ename]=window.setTimeout( func, my.DELAY_TIME );
		}
	}
}
function mout(ename)  {	
	debug('out:'+ename)
	window.parent.$('msgloading').className='hidemsg'
	ename=trim(ename);
	if( ename=='')
		return;
    window.clearTimeout(my.arrTimers[ename]);	
	my.arrJsFlag[ename] = false;
}

//************************flash 框框************************

 

MSIE=0;   
FIREFOX=1;
OPERA=3;  
CAMINO=4; 
SAFARI=6; 
GECKO=5;  

function getOs(){//Safari
	var agt=window.navigator.userAgent.toUpperCase();
	if(agt.indexOf("MSIE")>=0)return 0;
	if(agt.indexOf("FIREFOX")>=0)return 1;
	if(agt.indexOf("OPERA")>=0)return 3;
	if(agt.indexOf("CAMINO")>=0)return 4;
	if(agt.indexOf("SAFARI")>=0)return 6;
	if(agt.indexOf("GECKO")>=0)return 5;
	return 0;
}
//***********************历史列表*****************************
function setCookie(name,value,path){
if(!path)path='/'

  var Days = 365; //此 cookie 将被保存 30 天
  var exp  = new Date();    //new Date("December 31, 9998");
  exp.setTime(exp.getTime() + Days*24*60*60*1000);
  document.cookie = name + "="+ escape(value) +";path="+path+";expires="+ exp.toGMTString();
}
function getCookie(name){
  var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
  if(arr != null) return unescape(arr[2]); return null;
}
function delCookie(name){
  var exp = new Date();
  exp.setTime(exp.getTime() - 1);
  var cval=getCookie(name);
  if(cval!=null) document.cookie=name +"="+cval+";path=/cookie;expires="+exp.toGMTString();
}

TotalCookie=10;
//PreName='mao2';
//g[0]=['url','中文',0]; 
function pushCookie(PreName, rec){
	//rec=my.gameRec;
	var k=0;
	
	var thisgame=escape( rec[k++]+'~'+rec[k++]+'~'+rec[k++])
	//查看有没有。
	var i=0;
	var ifound=TotalCookie
	for( i=TotalCookie-1;i>=0; i--){ 
		cur=getCookie(PreName+i); 
		if( cur == thisgame ) {
			 ifound=i;
		} 
	}
	if(ifound==0)
		//已经是了。
		return;

	for( i=ifound-1;i>=0; i--){ 
		curgame=getCookie(PreName+i); 
		if( curgame ){
			setCookie(PreName+(i+1), curgame ); 
		}
	}
	setCookie(PreName+'0', thisgame );
	updateLinks(PreName);
}

function updateLinks(PreName){
	var hist=getHistory(PreName);
	var c;
	if( hist ){
	c=window.parent.document.getElementById(PreName);
	if(c)
	c.innerHTML=hist;
	}
}
function getAllCookie(PreName){
	var all=new Array(0);
	var i;
	for( i=0;i<TotalCookie; i++){
		var curgame=getCookie(PreName+i);
		if( curgame ){
			var allstr=unescape(curgame);			
			var rec=allstr.split('~'); 
			if( rec && rec.length >= 2 ){
				all[i]=rec;
			} 
		}
		else
			break;
	}
	return all;
}
function getHistory(PreName){
	var all=getAllCookie(PreName);
	var i;
	if( all ){
		var s='';
		for(i=0;i<all.length;i++){
			var b=all[i];
			var c;
			if( i%2 )
				c='color:#0D3397;'
			else 
				c='';
			s+='<a style="margin-left:10px;'+c+'" href="'+b[0]+'">'+b[1]+'</a> ';
		}
		return s;
	}
	else{
		//没有历史，显示最新游戏
		return( '' );
	}
}

//******************index.html********************/

function writespan( ename,cname){
if( ename )
return ( '<span onclick="mclick(\'' + ename + '\')" onmouseover="mover(\'' + ename + '\')" onmouseout="mout(\''+ename +'\');">'+cname+'</span> ' )
else
return (cname);
}
//输出string
function writeallspan2(names){ 
	var s='';
	var i;
    for( i=0; i<names.length/2; i++ ){
        if(names[i*2] && names[i*2+1])
        s+=writespan(rtrim(names[i*2]),rtrim( names[i*2+1]) );
    } 
	return s;
}
 
function writeallspan(names){ 
   document.write(writeallspan2(names));
}
gHtTab=new Array();
function tabout(oid){
	my.mouseoutdate=new Date();
	window.clearTimeout(gHtTab[oid]);
}
function tabdiv(oid){
	var now=new Date();
	if( now.getTime()- my.mouseoutdate.getTime()<1 )
		tabdiv2(oid);
	else{
		func='tabdiv2("'+oid+'")'
		gHtTab[oid]=window.setTimeout( func, my.DELAY_TIME );
	}
}

function tabdiv2(oid){
	var num=6;
	var i;
	for(i=0;i<num;i++){
		var cursj=$('sj'+i);
		var curdiv=$('ct'+i);
		if( ! cursj ){
			alert( 'cursj is null' );
			continue;
		}
		if( ! curdiv ){
			alert( 'curdiv is null' );
			continue;
		}
		if(cursj.id==oid){ 
			cursj.className ='select_tab'
			curdiv.style.display='block'; 
		}
		else{
			cursj.className ='unselect_tab'
			curdiv.style.display='none';
		}
	}
}
function closeall(){
$('difang').style.display='none';
$('hangye').style.display='none';
$('daxue').style.display='none';
}

function getTarget(event){
	if(getOs()==MSIE)
		return window.event.srcElement;
	else
		return event.target;
}
function catchclick(event){
	var obj=getTarget(event);
	if (obj.nodeName == 'A') {
		if( obj.innerHTML.length<20 || obj.childNodes[0].nodeName =='#text'){
			var href=obj.getAttribute('href');
			if( ! href )
				return;
			var name= obj.innerHTML;
			if(name.indexOf('<')<0){
var dh=window.parent.document.getElementById('rm');

if( dh ){ 
	if(dh.window){
		dh.window.pushCookie( PRE_HIST, [href,name,0]); 
	}
	else if(dh.contentWindow)
		dh.contentWindow.pushCookie( PRE_HIST, [href,name,0]); 
}
			}
		}
	}
}

function smousedown(){
	var s=$('site');
	if( s.value=='输入网站名称/拼音') s.value='';
	$('site').focus();
}
var lastDate=new Date();
function skeyup(){
	var s = $('site').value;
	s = trim(s);
	if (s) {
	var url = "http://daohang.google.cn/suggest?num=49&q=" + encodeURIComponent(s);
	
var C=document.createElement("SCRIPT");
C.src=url;
C.charset='utf-8';
document.body.appendChild(C)
	//addScript(url);
	lastDate = new Date();
	}
}
function _handleAjax(s){
	var all=s.split('|');
	var i=0;
	var arr=new Array();
	for(i=0;i<all.length/2-1;i++){
		if(all[i*2+1] && all[i*2+2] )
		arr[i]=[all[i*2+1], all[i*2+2],0];
	}
	var t=(new Date().getTime() - lastDate.getTime())/1000;
	var str=makeTable('搜索结果(共耗时'+t+'秒)：',arr,6 ) ;
	$('sresult').innerHTML=str;
}
//menu
 

function showMenu(event){
try{
var m = document.getElementById("menu3");
if(event.button == 2){ 
 m.style.left = (event.clientX + document.documentElement.scrollLeft - 10)+'px';
 m.style.top = (event.clientY + document.documentElement.scrollTop - 10)+'px';
 var s=''; 
 s=menuclick(event);
 if( trim(s) ){
	$('mf').src='http://81.appspot.com/data?dm='+s
	m.style.display = "block";
 }
}
else if (event.button != 2){
	if(m.style.display == "block"){
 		m.style.display = "none";
		m.src='/loading.html'
	}
}
}catch(e){debug(e.toString());}
}

function menuclick(event){
	var m20=20;
	var t='';
	var obj=getTarget(event);	
	if (obj.nodeName != 'A'){
		obj=obj.parentNode;
	}
	
	if (obj.nodeName == 'A') {
		t=obj.getAttribute('href'); 
		re = new RegExp("http://(.*?)(/|$)","i");
		r = re.exec(t);
		$('sttl').innerHTML='访问<font color=red>'+obj.innerHTML+'</font>的网友还会访问以下站点：'
		return r[1];
	}
	return '';
} 