
var g_bHasNewMail=0;
var g_iNumFriends=0;
var g_iNumFriendsOnline=0;

var g_iMouseX=0;
var g_iMouseY=0;

var g_xBrowserType = document.all?"ie":"ns";
var g_axQuickBarBtns=new Array();

var g_xSoundPlayer=null;

function InitSound()
{
	g_xSoundPlayer=document.createElement("div");
	g_xSoundPlayer.style.position="absolute";
	g_xSoundPlayer.style.visibility="hidden";
	AddFlashControl(g_xSoundPlayer,"/ContentLoader/SoundPlayer.swf","SoundPlayer",null);
	//AddFlashControl(null,"/ContentLoader/SoundPlayer.swf","SoundPlayer",null);
	g_xSoundPlayer.play=function(p_sSoundPath)
	{
		this.childNodes[0].PlaySound(p_sSoundPath);
		//var xEl=document.getElementById("SoundPlayer");
		//xEl.PlaySound(p_sSoundPath);
	}
}

function GetHTNameLoc(p_sN)
{
	return g_L["ht_name_"+Name2Dir(p_sN)];
};

function AddTestEvent()
{
	var xRPC = new PitRPC("htw.xrq","addtestevent");
	xRPC.Send();
};

function GetEvents()
{
	var xRPC = new PitRPC("htw.xrq","getevents");
	xRPC.OnSucceed=function()
	{
		alert(this.m_xResults.msg_0.msg);
	}
	xRPC.Send();
};

function DoDelEvent()
{
	g_xQuickBar.m_xEventList.DelEvt();
};

function EventList()
{
	var xThis=this;
	this.m_xWnd=null;
	this.m_xMsgList=null;
	this.m_bOpen=false;
	this.m_iCookieTimeout=7;
	this.m_iCurMsg=0;
	this.m_iLastRCVTime=parseInt(v_GetCookie("htwlastevent",0),0);
	
	this.Init=function()
	{
		if(this.m_xWnd==null)
		{
			this.m_xWnd=document.createElement("div");
		}
		
		/*
		this.m_xWnd.onclick=function()
		{
			if(!xThis.m_bOpen)
			{
				xThis.Open();
			}
			else
			{
				xThis.Close();
			}
		}
		*/
		
		var xEl=$("qbeventlist");
		if(xEl)
		{
			xEl.onclick=function() 
			{	
				if(!xThis.m_bOpen)
				{
					xThis.Open();
				}
				else
				{
					xThis.Close();
				}
				//xThis.m_xWnd.onclick();
			}
		};
		
		this.m_xWnd.style.visibility="hidden";
		this.m_xWnd.className="qbeventlist_closed";
		this.m_bOpen=false;
		this.UpdateEvents();
	};
	
	this.Open=function()
	{	
		if(this.m_bOpen) {return;};
		this.m_xWnd.className="qbeventlist_open";
		this.m_bOpen=true;
		this.UpdateEvents();
		//this.Display();
	};
	
	this.Close=function()
	{
		if(!this.m_bOpen) {return;};
		this.m_xWnd.className="qbeventlist_closed"
		this.m_bOpen=false;
		this.m_iLastRCVTime=parseInt(this.m_xMsgList.ctime);
		v_SetCookie("htwlastevent",this.m_xMsgList.ctime,this.m_iCookieTimeout);
		this.Display();
	};
	
	this.UpdateEvents=function()
	{
		var xRPC = new PitRPC("htw.xrq","getevents");
		xRPC.OnSucceed=function()
		{
			xThis.m_xMsgList=this.m_xResults;
			xThis.Display();
		}
		xRPC.Send();
	};
	
	this.Display=function()
	{
		$("qbeventlist").style.visibility="visible";
		
		this.m_xWnd.innerHTML="";
		if(!this.m_bOpen)
		{	
			var iNewEvents=0;		
			//if(this.m_xMsgList==null||typeof(this.m_xMsgList.count)=="undefined"){this.m_xWnd.innerHTML="<img style='margin-top:18px;' src='/gfxgen.xrq?s=text&m=20&p1=11450120&p2=2&p3=-3&t=0'>";}
			//else 
			//{
				iTime=parseInt(this.m_xMsgList.ctime);
			
				for(var i=0;i<this.m_xMsgList.count;i++)
				{
					var xMsg=this.m_xMsgList["msg_"+i];
					//alert(xMsg.msgid);
					var iEventTime=parseInt(xMsg.time);
					var sMsg=xMsg.msg;
					
					if(iEventTime>this.m_iLastRCVTime)
					{
						iNewEvents++;
					};
				};
				
				$("qbeventlist").innerHTML=(iNewEvents>0)?iNewEvents:"";
				
			//};
			
			this.m_xWnd.style.visibility="hidden";
			//if(!iNewEvents){this.m_xWnd.style.visibility="hidden";}
			//else{this.m_xWnd.style.visibility="visible";};

			if(parseInt(this.m_xWnd.offsetHeight)<(this.m_xWnd.childNodes.length*10))
			{
				this.m_xWnd.style.top=-800+"px";
			}
			else
			{
				this.m_xWnd.style.top=-(this.m_xWnd.offsetHeight+4)+"px";
			}
			
		//	setTimeout(function()
		//	{
		//		//xThis.m_xWnd.style.top=-(xThis.m_xWnd.offsetHeight+4)+"px";
		//	},500);
		}
		else
		{
			this.m_xWnd.style.visibility="visible";
			xThis.m_xWnd.style.cursor="default";
		
			//this.m_xMsgList=null;
		
			if(this.m_xMsgList==null||typeof(this.m_xMsgList.count)=="undefined"||this.m_xMsgList.count<1)
			{
				this.m_xWnd.innerHTML="<p>no new events</p><br>";
				this.m_iCurMsg=0;
			}
			else
			{
				this.ShowEvt(this.m_iCurMsg);
				
				if(this.m_xMsgList.count>0)
				{
					this.m_iLastRCVTime=parseInt(this.m_xMsgList.ctime);
					v_SetCookie("htwlastevent",this.m_xMsgList.ctime,this.m_iCookieTimeout);
				};
			};
			
			
			xThis.UpdPos();
			setTimeout(xThis.UpdPos,100);
			setTimeout(xThis.UpdPos,1000);
			
/*			this.m_xWnd.style.top=-(this.m_xWnd.offsetHeight+4)+"px";
			
			setTimeout(function()
			{
				xThis.m_xWnd.style.top=-(xThis.m_xWnd.offsetHeight+4)+"px";
			},1000);*/
		}
	};

	this.UpdPos=function()
	{
		xThis.m_xWnd.style.top=-(xThis.m_xWnd.offsetHeight-30)+"px";
	};

	this.DelEvt=function()
	{
		var xEvent=this.m_xMsgList["msg_"+this.m_iCurMsg];
		
		var xRPC=new PitRPC("htw.xrq");
		xRPC.SetFunction("rmsg");
		xRPC.SetParam("msgid",xEvent.msgid);
		xRPC.OnSucceed=function()
		{
			xThis.UpdateEvents();	
		}
		xRPC.Send();
	};
	
	this.ShowEvt=function(p_iIdx)
	{
		var iC=this.m_xMsgList.count;
		if(p_iIdx>=iC) {p_iIdx=iC-1;};
		if(p_iIdx<0) {p_iIdx=0;};
		this.m_iCurMsg=p_iIdx;
		var xEvent=this.m_xMsgList["msg_"+p_iIdx];
		var sT="";
		sT+="<img style='float:right;cursor:pointer;' onClick='javascript:DoDelEvent();' src='images/eventclose.png' title='"+g_L.events_close+"'>";
		sT+="<p style='color:#ffff00;font-size:14px;'>NEW EVENT "+(p_iIdx+1)+"/"+iC+"</p>";

		var xDate = new Date();
		xDate.setTime(xEvent.time*1000);
		var sTime=xDate.toLocaleString();
		var iIdx=sTime.indexOf(":",0);
		if(iIdx!=-1){sTime=sTime.substr(0,iIdx+3)};
		
		var sPCol=p_iIdx>0?"#000":"#487F92";
		var sNCol=p_iIdx<(iC-1)?"#000":"#487F92";
		var sPHR=p_iIdx>0?" href='javascript:g_xQuickBar.m_xEventList.ShowEvt("+(p_iIdx-1)+")' ":"";
		var sNHR=p_iIdx<(iC-1)?" href='javascript:g_xQuickBar.m_xEventList.ShowEvt("+(p_iIdx+1)+")' ":"";
		
		var sMsg=xEvent.msg;
		if(sMsg.charAt(0)=='_')
		{
			sMsg=sMsg.substr(1);
			//alert(sMsg);
			asMsg=sMsg.split(',');
			if(asMsg[0]=="events_hsranking")
			{
				var iT=asMsg[1];xDate.setTime(iT*1000);
				var fM=asMsg[2];
				var sH=xDate.getHours()+":00";
				sMsg="";
				sMsg+="<h2>"+pit_LocaleFmt('events_hsranking_h',sH)+"</h2>";
				sMsg+="<span style='font-size:12px;'>"+g_L.events_hsranking_totdon+"</span><br>"
				fM=String(fM).replace(/\./,g_L.dec_pnt);
				sMsg+="<h2>"+fM+"€</h2>"
				
				var asHTs=asMsg[3].split(";");
				for(var i=0;i<asHTs.length-1;i+=2)
				{
					var fM=asHTs[i+0];fM=String(fM).replace(/\./,g_L.dec_pnt);
					var sN=asHTs[i+1];sN=GetHTNameLoc(sN);
					sMsg+="<span style='font-size:11px;'>"+pit_LocaleFmt('events_hsranking_mforht',fM,sN)+"</span><br>"
				};
				sMsg+="<hr>";
				
				var asGs=asMsg[4].split(";");
				for(var i=0;i<asGs.length-1;i+=4)
				{
					var fM=asGs[i+0];fM=String(fM).replace(/\./,g_L.dec_pnt);
					var sN=asGs[i+1];
					var iR=asGs[i+2];
					var iS=asGs[i+3];
					/*sMsg+="<a style='color:#f3fb00;'>"+sN+"</a>&nbsp;<span style='color:white;'>("+iR+".)</span><br>";
					sMsg+="<span style='font-size:11px;'>"+g_L.events_hsranking_score+"</span>";
					sMsg+="<span style='font-size:11px;color:white;'>&nbsp;"+FmtNumber(iS)+"</span><br>";
					sMsg+="<span style='font-size:11px;'>"+g_L.events_hsranking_donation+"</span>"
					sMsg+="<span style='font-size:11px;color:white;'>&nbsp;"+(fM)+"€</span><br>";*/
					var sTip=sN+"\n";
					sTip+=g_L.events_hsranking_rank+(iR)+"\n";
					sTip+=g_L.events_hsranking_score+FmtNumber(iS)+"\n";
					sTip+=g_L.events_hsranking_donation+(fM)+"€\n";
					sMsg+="<div title='"+sTip+"'>";
					sMsg+="<a href='/games.html?g="+sN+"' style='color:#f3fb00;'>"+sN+"</a>";
					sMsg+="<span style='font-size:11px;color:white;'>&nbsp;"+(fM)+"€</span><br>";
					sMsg+="</div>";
				};
			}
			else if(asMsg[0]=="events_achievement_new")
			{
				sMsg="";
				sMsg+="<h2>"+g_L.events_achievement_new+"</h2><br>";
				sMsg+="<img id='e_achi_0' style='width:75px;height:75px;margin-right:4px;'>";
				
				setTimeout(function(){
					ShowAchievements("e_achi",asMsg[1],g_xUserInfo.nick);
				},10);
			}
			else
			{
				sMsg=g_L[asMsg[0]];
				for(var i=1;i<asMsg.length;i++)
				{
					sMsg=sMsg.replace(new RegExp("%"+i,'g'),asMsg[i]);
				};
			};
			//alert(sMsg);
		};

		sT+="<span style='font-size:10px;'>"+sTime+"</span><br>";
		sT+="<div style='width:100%;height:8px;'></div>";
		sT+=sMsg;
		sT+="<div style='width:100%;height:4px;'></div>";
		sT+="<a style='color:"+sPCol+";font-size:14px;' "+sPHR+" >&lt;&lt;&nbsp;prev</a>&nbsp;&nbsp;";
		sT+="<a style='color:"+sNCol+";font-size:14px;' "+sNHR+" >next&nbsp;&gt;&gt;</a>";
		sT+="<div style='width:100%;height:6px;'></div>";

		this.m_xWnd.innerHTML=sT;
		//this.m_xWnd.style.top=-(this.m_xWnd.offsetHeight+4)+"px";
		setTimeout(xThis.UpdPos,100);
		setTimeout(xThis.UpdPos,1000);
	};
	
	this.GetEl=function()
	{
		if(this.m_xWnd==null){this.Init();};
		return this.m_xWnd;
	};
	
	setInterval(function(){
		xThis.UpdateEvents();
	},15000);
};

var g_xAchInfo=null;
function ShowAchievements(p_sPrefx,p_sAch,p_sSubj,p_bShowAll)
{
	if(p_sAch.length<2&&!p_bShowAll) {return;};
	if(g_xAchInfo==null)
	{
		var xRPC=new PitRPC("htw.xrq","getachinfo",true);
		xRPC.OnSucceed=function()
		{
			g_xAchInfo=this.m_xResults;
			ShowAchievements(p_sPrefx,p_sAch,p_sSubj,p_bShowAll);
		};
		xRPC.Send();
		return;
	};
	
	var asAch=p_sAch.split(',');
	var asAchAll=[];
	var asAchGot=[];
	
	if(p_bShowAll)
	{
		asAchAll=g_sAchAchAll.split(',');
		asAchGot=asAch;
		asAch=asAchAll;
	};
	
	var xAI=g_xAchInfo;
	var iAIdx=0;
	for(var i=0;i<asAch.length;i++)
	{
		var xImg=$(p_sPrefx+"_"+iAIdx);if(!xImg) {break;};iAIdx++;
		var sA=asAch[i];
		var iCount=1;

		var iS=sA.indexOf('/');
		if(iS!=-1)
		{
			iCount=sA.substr(iS+1);
			sA=sA.substr(0,iS);
		};
		if(p_bShowAll)
		{
			iCount=0;
			for(var j=0;j<asAchGot.length;j++)
			{
				var sG=asAchGot[j];
				iS=sG.indexOf('/');
				if(iS!=-1) {sG=sG.substr(0,iS);};
				if(sG==sA)
				{
					iCount=1;
					if(iS!=-1) {iCount=asAchGot[j].substr(iS+1);};
				};
			};
		};
		
		var asA=sA.split('.');
		var iCat=asA[0];
		var iSub=asA[1];
		var iIdx=asA.length>2?asA[2]:0;
		var sName="";
		var sTitle="";
		var sTSub="";
		var sCond="";
		if(iCat==0)
		{
			if(iSub==0)
			{
				var sPOT=['d','w','m','y'][iIdx];
				sTitle=g_L['achievement_player_pot'+sPOT+'_t'];
				sTSub=g_L['achievement_player_pot'+sPOT+'_s'];
				sCond=g_L['achievement_player_pot'+sPOT+'_c'];
			};
			if(iSub==1)
			{
				var sR=['1','5','10','50'][iIdx];
				sTitle=g_L['achievement_player_rank'+sR+'_t'];
				sTSub=g_L['achievement_player_rank'+sR+'_s'];
				sCond=g_L['achievement_player_rank'+sR+'_c'];
			};
		}
		else if(iCat==1)
		{
			sName=xAI.games[iIdx];
			if(iSub==0)
			{
				sTitle=g_L.achievement_game_swin_t+sName;
				sTSub=g_L.achievement_game_swin_s;
				sCond=g_L.achievement_game_swin_c;
			}
			else if(iSub==1)
			{
				sTitle="Player of the Month: "+sName;
			};
		}
		else if(iCat==2)
		{
			sName=xAI.hts[iIdx];
			sTitle="HT: "+sName;
		}
		else if(iCat==3)
		{
			if(iSub==0)
			{
				sTitle="Special Thanks to: "+p_sSubj;
				if(iIdx==1)
				{
					sTitle="Advent Special";
					sTSub=g_L['achievement_advent_s'];
					sCond=g_L['achievement_advent_c'];
				};
			}
			else if(iSub==1)
			{
				sTitle=["Bronze","Silver","Gold"][iIdx]+" Sponsor";
			};
		};
		var sS="";
		if(p_bShowAll)
		{
			if(iCount==0) {sS="grey";};
		};
		var sImg="/gfxgen.xrq?s=ach&m="+iCat+"&w="+iSub+"&h="+iIdx+"&p1="+encodeURIComponent(sName);
		var sImgD=sImg;
		if(sS.length>0) {sImgD+="&p2="+sS;};

		//xImg.title=sTitle;
		xImg.style.display="";
		xImg.src=sImgD;
		
		var sTip="<div style='float:left;margin:8px;'><img style='width:150px;height:150px;' src='"+sImg+"'></div>";
		sTip+="<div style='float:left;margin-top:8px;margin-right:8px;'>";
		sTip+="<span style='color:#f3fb00;font-size:16px;font-weight:bold;'>"+sTitle+"</span><br>";
		if(sTSub.length>0)
		{
			sTip+="<span style='color:#f1f3f1;font-size:12px;font-weight:bold;'>"+sTSub+"</span><br>";
		};
		sTip+="<br>";
		if(iCount>=0)
		{
			sTip+="<span style='color:#f1f3f1;font-size:11px;'>"+g_L.achievement_havecount+"</span>";
			sTip+="<span style='color:#eca41b;font-size:11px;font-weight:bold;'>&nbsp;"+pit_LocaleFmt('achievement_havenum',iCount)+"</span><br><br>";
		};

		if(sCond.length>0)
		{
			sTip+="<span style='color:#f3fb00;font-size:11px;font-weight:bold;'>"+g_L.achievement_condition+"</span><br>";
			sTip+="<span style='color:#f1f3f1;font-size:11px;font-weight:normal;'>"+sCond+"</span><br>";
		};
		sTip+="</div>";

		var xTT=new Tooltip(sTip,xImg,600);
		//xTT.m_xTT.innerHTML+="<img src='"+sImg+"'>";
	};
};

function ShowAchPop()
{
	//return;
	//g_sAchAch="3.0,3.1.1,2.0.5,3.0,3.1.1,2.0.5,3.0,3.1.1,2.0.5,3.0,3.1.1,2.0.5,3.0,3.1.1,2.0.5,3.0,3.1.1,2.0.5,3.0,3.1.1,2.0.5,3.0,3.1.1,2.0.5";
	g_sAchAchAll="0.0.0,0.0.1,0.0.2,0.0.3,0.1.0,0.1.1,0.1.2,0.1.3,1.0.1,1.0.2,1.0.3,1.0.4,1.0.5,1.0.6,1.0.7,1.0.8,1.0.9,1.0.10,1.0.11,1.0.12,1.0.13,1.0.14,3.0.1";
	
	var sPIC="";
	var iC=g_sAchAchAll.split(',').length;
	
	sPIC+="<div style='margin-top:0px;margin-left:0px;margin-bottom:4px;'>";
	for(var i=0;i<iC;i++)
	{
		sPIC+="<img id='p_achi_"+i+"' style='width:78px;height:78px;margin-top:4px;margin-left:4px;'>"
	};
	sPIC+="</div>";
	
	var xPop=new InfoPopup2(426,502,1);
	xPop.Show(sPIC,g_L.community_allach);
	
	ShowAchievements("p_achi",g_sAchAch,g_sAchSubj,true);
};

function FontTextImage(p_sText,p_iSize,p_iColor, p_iRot, p_iShadow)
{
	if(typeof p_iSize=="undefined") {p_iSize=29;};
	if(typeof p_iColor=="undefined") {p_iColor=0;};
	if(typeof p_iRot=="undefined") {p_iRot=0;};
	if(typeof p_iShadow=="undefined") {p_iShadow=0;};
	return "/gfxgen.xrq?s=text&m="+p_iSize+"&t="+p_sText+"&p1="+p_iColor+"&p2="+p_iShadow+"&p3="+p_iRot;
	///gfxgen.xrq?s=text&m=42&p1=11450120&p2=2&p3=0&t=total donation stats
};

function QuickBar(p_xWnd)
{
	var xThis=this;
	this.m_xWnd=p_xWnd;
	
	this.m_xEventList = new EventList();
	this.m_xWnd.appendChild(this.m_xEventList.GetEl());
	
	//this.m_axButtons = g_axQuickBarBtns;
	
	/*xDonStatsBtn.onclick=function()
	{
		ShowDonationInfo();
	}*/
	
/*	this.UpdateQBInfo=function()
	{
		var xRPCB = new PitRPC("htw.xrq","qbinfo");
		xRPCB.OnSucceed=function()
		{
			g_bHasNewMail = this.m_xResults.sNewMsg;
			g_iNumFriends = this.m_xResults.numfriends;
			g_iNumFriendsOnline = this.m_xResults.numfriendso;
			$("qbinbox").innerHTML=this.m_xResults.sNewMsg;
			$("qbfriends").innerHTML="friends ("+g_iNumFriendsOnline+"/"+g_iNumFriends+")";
		};
		xRPCB.Send();	
	};
	setInterval(function(){
		xThis.UpdateQBInfo();
	},30000);
	xThis.UpdateQBInfo();*/
};

function Tooltip(p_sText,p_xEl,p_iMaxWidth)
{
	var xThis=this;
	this.m_xEl=p_xEl;
	this.m_sText=p_sText;
	
	this.m_bHasCalledTimeoutSinceHide=false;
	
	this.m_xTT=document.createElement("div");
	this.m_xTT.style.position="absolute";
	this.m_xTT.style.zIndex=1002;
	this.m_xTT.style.visibility="hidden";
	this.m_xTT.style.margin="4px 4px 4px 4px";
	this.m_xTT.innerHTML="<p class=\"basetext\">"+p_sText+"</p>";
	if(p_iMaxWidth) {this.m_xTT.style.maxWidth=p_iMaxWidth+"px";};
	
	this.m_xTB0=document.createElement("div");
	this.m_xTB0.style.position="absolute";
	this.m_xTB0.style.zIndex=1001;
	this.m_xTB0.style.visibility="hidden";
	this.m_xTB0.className="drop_shadow_tt";
	
	this.m_iLastMove=new Date().getTime();
	
	$("body").appendChild(this.m_xTB0);
	$("body").appendChild(this.m_xTT);
	this.m_iMode=0;
	this.m_iW=this.m_xTT.offsetWidth;
	this.m_iH=this.m_xTT.offsetHeight;
	setTimeout(function(){xThis.Init();},10);

	this.Init=function()
	{
		this.m_iW=this.m_xTT.offsetWidth;
		this.m_iH=this.m_xTT.offsetHeight;
		//alert(this.m_xTT.offsetWidth);
		//fix size, disable auto-breaking
		xThis.m_xTT.style.width=this.m_iW+"px";
		xThis.m_xTT.style.height=this.m_iH+"px";
	};
	
	this.m_xEl.onmousemove=function(p_xEvt)
	{
		p_xEvt=v_FixEvt(p_xEvt);
		
		if(p_xEvt.m_xTarget.className&&p_xEvt.m_xTarget.className.indexOf('notooltip')!=-1)
		{
			return xThis.m_xEl.onmouseout();
		};
		
		this.m_iLastMove=new Date().getTime();
		var iX=p_xEvt.m_iX;
		var iY=25+p_xEvt.m_iY;
		
		if((iX+xThis.m_iW)-v_iEvt_ScrollOfsX>v_iEvt_WindowW-25)
		{
			iX=v_iEvt_ScrollOfsX+v_iEvt_WindowW-xThis.m_iW-25;
		};
		if((iY+xThis.m_iH)-v_iEvt_ScrollOfsY>v_iEvt_WindowH-25)
		{
			iY=p_xEvt.m_iY-25-xThis.m_iH;
		};

		xThis.m_xTT.style.left=iX+"px";
		xThis.m_xTT.style.top=iY+"px";

		xThis.m_xTB0.style.left=xThis.m_xTT.style.left;
		xThis.m_xTB0.style.top=xThis.m_xTT.style.top;
		xThis.m_xTB0.style.width=(xThis.m_xTT.clientWidth+8)+"px";
		xThis.m_xTB0.style.height=(xThis.m_xTT.clientHeight+8)+"px";

		
		xThis.m_iMode=2;
		
		//if(!xThis.m_bHasCalledTimeoutSinceHide)
		{
			xThis.Show();
		}
		
		if(xThis.m_iHasMovedCheck!=0)
		{
			clearTimeout(xThis.m_iHasMovedCheck);
			xThis.m_iHasMovedCheck=0;
		}
		xThis.m_iHasMovedCheck=setTimeout(function(){xThis.HasMovedCheck()},1000);
		
	};
	
	this.m_xEl.onmouseout=function()
	{
		clearTimeout(xThis.m_xTimeout);
		xThis.m_iMode=1;
		xThis.m_bHasCalledTimeoutSinceHide=false;
		xThis.Hide();
	};
	
	this.Hide=function()
	{	
		this.m_xTT.style.visibility="hidden";
		this.m_xTB0.style.visibility="hidden";
	};

	this.Show=function()
	{
		if(this.m_iMode==1){return;};
		this.m_bHasCalledTimeoutSinceHide=true;
		this.m_xTT.style.visibility="visible";
		this.m_xTB0.style.visibility="visible";
	};
	
	this.HasMovedCheck=function()
	{
		/*
		if(this.m_iLastMove+1000<new Date().getTime())
		{
			xThis.Hide();
		};
		*/
	};
};

function SearchBox()
{
	var xThis=this;
	this.m_xOpenBtn=null;
	this.m_xWnd=null;	
	this.m_xTxt=null;
	this.m_xSearchField=null;
	this.m_axCheckBoxes=new Array();
	this.m_bIsOpen=false;
	
	this.Init=function(p_iX,p_iY)
	{
		this.m_xOpenBtn = document.createElement("div");
		this.m_xOpenBtn.className="button";
		this.m_xOpenBtn.style.left=p_iX+"px";
		this.m_xOpenBtn.style.top=p_iY+"px";
		//this.m_xOpenBtn.innerHTML="Search";
		
		this.m_xTxt=document.createElement("img");
		this.m_xTxt.src=FontTextImage("search",29,0);
		this.m_xOpenBtn.appendChild(this.m_xTxt);

		
		this.m_xOpenBtn.onclick=function()
		{
			if(!xThis.m_bIsOpen)
			{
				var i;
				for(i=0;i<g_axQuickBarBtns.length;i++)
				{
					g_axQuickBarBtns[i].Close();
				}
				xThis.Open();
			}
			else
			{
				xThis.Close();
			}
		};
		
		this.m_xWnd = document.createElement("div");
		this.m_xWnd.style.left=(p_iX-22) + "px";
		this.m_xWnd.style.top=(p_iY-125-22) + "px";		
		
		this.m_xWnd.style.width=""+(200+22*2)+"px";
		this.m_xWnd.style.height=""+(125+22)+"px";
		this.m_xWnd.style.position="absolute";
		//this.m_xWnd.style.backgroundColor="#f00";
		this.m_xWnd.style.backgroundImage="url(images/box_search.png)";
		this.m_xWnd.style.visibility="hidden";
	
		//input, checkboxes	
		var xForm = document.createElement("form");
		xForm.action="/htw.xrq?rpc_function=sitesearch";
		xForm.method="post";
		xForm.enctype="multipart/form-data";
		xForm.style.marginTop="22px";
		xForm.style.marginLeft="22px";
		
		var xInput = document.createElement("input");
		xInput.type="text";
		xInput.name="text";
		xInput.style.height="20px";
		xInput.style.bottom="5px";
		xInput.style.left="27px";
		xInput.style.width="185px";
		xInput.style.position="absolute";
		xInput.id="qbsearch";
		xForm.appendChild(xInput);
		
		var xCheckBox=document.createElement("input");
		xCheckBox.type="checkbox";
		xCheckBox.name="news";
		xForm.appendChild(xCheckBox);
		
		var sCheckBoxTxt=document.createElement("p");
		sCheckBoxTxt.className="basetext";
		sCheckBoxTxt.style.display="inline";
		sCheckBoxTxt.innerHTML="news";
		xForm.appendChild(sCheckBoxTxt);

		var xBR=document.createElement("br");
		xForm.appendChild(xBR);
		
		xCheckBox=document.createElement("input");
		xCheckBox.type="checkbox";
		xCheckBox.name="games";
		xForm.appendChild(xCheckBox);
		
		sCheckBoxTxt=document.createElement("p");
		sCheckBoxTxt.className="basetext";
		sCheckBoxTxt.style.display="inline";
		sCheckBoxTxt.innerHTML="games";
		xForm.appendChild(sCheckBoxTxt);
		
		xBR=document.createElement("br");
		xForm.appendChild(xBR);
		
		xCheckBox=document.createElement("input");
		xCheckBox.type="checkbox";
		xCheckBox.name="users";
		xForm.appendChild(xCheckBox);
		
		sCheckBoxTxt=document.createElement("p");
		sCheckBoxTxt.className="basetext";
		sCheckBoxTxt.style.display="inline";
		sCheckBoxTxt.innerHTML="users";
		xForm.appendChild(sCheckBoxTxt);
		
		xBR=document.createElement("br");
		xForm.appendChild(xBR);
		
		xCheckBox=document.createElement("input");
		xCheckBox.type="checkbox";
		xCheckBox.name="forums";
		xForm.appendChild(xCheckBox);
		
		sCheckBoxTxt=document.createElement("p");
		sCheckBoxTxt.className="basetext";
		sCheckBoxTxt.style.display="inline";
		sCheckBoxTxt.innerHTML="forums";
		xForm.appendChild(sCheckBoxTxt);
		
		xBR=document.createElement("br");
		xForm.appendChild(xBR);
		
		this.m_xWnd.appendChild(xForm);
	};
	
	this.Open=function()
	{
		if(!xThis.m_xWnd){xThis.Init(0,0);};
		xThis.m_bIsOpen=true;
		xThis.m_xWnd.style.visibility="visible";
		this.m_xTxt.src=FontTextImage("search",29,-1);
	};
	
	this.Close=function()
	{
		xThis.m_bIsOpen=false;	
		xThis.m_xWnd.style.visibility="hidden";
		this.m_xTxt.src=FontTextImage("search",29,0);
	};
	
	this.GetOpenBtn=function()
	{
		return this.m_xOpenBtn;
	};
	
	this.GetEl=function()
	{
		return this.m_xWnd;	
	};
};

function InviteBox()
{
	var xThis = this;
	this.m_xWnd=null;
	this.m_xTxt=null;
	this.m_xInviteField=null;
	this.m_xOpenBtn=null;
	this.m_bIsOpen=false;
	
	this.Init=function(p_iX,p_iY)
	{
		this.m_xOpenBtn=document.createElement("div");
		this.m_xOpenBtn.className="button";
		this.m_xOpenBtn.style.left=p_iX+"px";
		this.m_xOpenBtn.style.top=p_iY+"px";
		//this.m_xOpenBtn.innerHTML="Invite";
		this.m_xTxt=document.createElement("img");
		this.m_xTxt.src=FontTextImage("invite",29,0);
		this.m_xOpenBtn.appendChild(this.m_xTxt);
		
		
		this.m_xOpenBtn.onclick=function()
		{
			if(!xThis.m_bIsOpen)
			{
				var i;
				for(i=0;i<g_axQuickBarBtns.length;i++)
				{
					g_axQuickBarBtns[i].Close();
				}
				xThis.Open();
			}
			else
			{
				xThis.Close();
			}
		};
		
		this.m_xWnd = document.createElement("div");
		this.m_xWnd.style.left=(p_iX-22) + "px";
		this.m_xWnd.style.top=(p_iY-75-22) + "px";		
		
		this.m_xWnd.style.width=""+(200+22*2)+"px";
		this.m_xWnd.style.height=""+(75+22+1)+"px";
		this.m_xWnd.style.position="absolute";
		//this.m_xWnd.style.backgroundColor="#f00";
		this.m_xWnd.style.backgroundImage="url(images/box_search.png)";
		this.m_xWnd.style.visibility="hidden";

		var xText = document.createElement("p");
		xText.className="basetext";
		xText.innerHTML="Invite Friend<br>E-mail:";
		xText.style.paddingTop="22px";
		xText.style.paddingLeft="22px";
		this.m_xWnd.appendChild(xText);
		//input
		var xForm = document.createElement("form");
		xForm.action="/htw.xrq?rpc_function=invitefriend";
		xForm.method="post";

		var xInput = document.createElement("input");
		xInput.type="text";
		xInput.name="mail";
		xInput.style.height="20px";
		xInput.style.bottom="7px";
		xInput.style.left="27px";
		xInput.style.width="185px";
		xInput.style.position="absolute";
		xInput.id="qbsearch";
		xForm.appendChild(xInput);
		this.m_xWnd.appendChild(xForm);
		
		var xSubmitBtn = document.createElement("input");
		xSubmitBtn.style.position="absolute";
		xSubmitBtn.style.left="160px";
		xSubmitBtn.style.top="20px";
		xSubmitBtn.type="button";
		xSubmitBtn.value="Send";
		xSubmitBtn.onclick=function()
		{	
			xForm.submit();
		};
		this.m_xWnd.appendChild(xSubmitBtn);
	};
	
	this.Open=function()
	{
		if(!xThis.m_xWnd){xThis.Init(0,0);};
		xThis.m_bIsOpen=true;
		xThis.m_xWnd.style.visibility="visible";
		this.m_xTxt.src=FontTextImage("invite",29,-1);
	};
	
	this.Close=function()
	{
		xThis.m_bIsOpen=false;	
		xThis.m_xWnd.style.visibility="hidden";
		this.m_xTxt.src=FontTextImage("invite",29,0);
	};
	
	this.GetOpenBtn=function()
	{
		return this.m_xOpenBtn;
	};
	
	this.GetEl=function()
	{
		return this.m_xWnd;	
	};
};


