function show_sbox( title, text, linktext, link ) {
  d = document.createElement("div");
  d.innerHTML = '<h1>'+title+'</h1>'+text+'<br/><br/><a class="arrow" id="popclose" href="'+link+'" onclick="javascript:confirm_submit();">'+linktext+'</a>';
  d.id = "confirmBox";
  d.style.display = "block";
  if (document.all) {
  	overlay = document.all.overlay;
  } else {
  	overlay = document.getElementById("overlay");
  }
  document.body.appendChild( d );
  overlay.style.display = "block";
}

function confirm_submit() {
	document.getElementById("overlay").style.display = 'none';
	document.getElementById("confirmBox").style.display = 'none';	
}
    
function selectLang( lang ) {
  url = document.location.href;
  newurl = document.location.href + lang + "/";
  if ( url.search( /\/(de|en)\// ) > 0 ) {
  	newurl = url.replace(/\/(de|en)\//, "/" + lang + "/" );
  }
  document.location.href = newurl;
}

 function createXMLHttpRequest() {
   try { return new XMLHttpRequest(); } catch(e) {}
   try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
   try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
   alert("XMLHttpRequest not supported");
   return nu0ll;
 }

   var LANG_START = "Starten";
   var LANG_NOBODY_ON = "Niemand online";
   var LANG_PREFIX = "de";
   if (document.location.href.indexOf("/en/")!=-1) {
    LANG_START = "start";
    LANG_NOBODY_ON = "Nobody online";
    LANG_PREFIX = "en";   
   }

 function update_online_users() {
 
   var xhReq = createXMLHttpRequest();
   xhReq.open("GET", "/rpc/onlineusers/", false);
   xhReq.send(null);
   var myJSONtext = xhReq.responseText;

   var data = JSON.parse(myJSONtext, null );
   cont = document.getElementById("OUData");

   while ( cont.childNodes.length>0 ) {
    cont.removeChild( cont.childNodes[0] );
   }
   
   for (var i = 0; i<data.length; i++) {
    raum = data[i];
    
    if (typeof raum === "object") {
	    div = document.createElement("div");
	    if (!document.all) {
	      div.setAttribute("class","onlineroom");
	    }
	    div.setAttribute( "className", "onlineroom");
	    
	    namespan = document.createElement( "span" );
	    if (!document.all) { namespan.className = "roomname_"+raum['type']; }

	    namespan.setAttribute("className","roomname_"+raum['type']);
	    namespan.appendChild( document.createTextNode(raum['name']) );
	    div.appendChild( namespan );
	    text = document.createTextNode( " - " );
	    div.appendChild( text );
	    
	    startlink = document.createElement("a");
	    startlink.href = "/"+LANG_PREFIX+"/game/mp.jnlp?r="+raum['id'];
	    if (!document.all) {
	    	startlink.setAttribute("class","onlinestart");
	    }
	    startlink.setAttribute("className","onlinestart");
	    startlink.appendChild( document.createTextNode(LANG_START) );
	    div.appendChild( startlink );
	    
	    users = document.createElement("div");
	    for (var j = 0; j<raum['users'].length; j++) {
	      user = raum['users'][j];
	      if (typeof user !== "object") continue;
	      udiv = document.createElement("div");
	      if (!document.all) {
	        udiv.setAttribute("class","onlineuser");
	      }
		  udiv.setAttribute("className","onlineuser");
	      ulink = document.createElement("a");
	      ulink.appendChild( document.createTextNode( user['name'] ) );
	      ulink.setAttribute("class","onlineuserpremium");
	      ulink.href = "/"+LANG_PREFIX+"/members/"+user['name']+"/";
	      udiv.appendChild(ulink);
	      users.appendChild( udiv );      
	    }
	    if (raum['users'].length == 0) {
	      fudiv = document.createElement("div");
	      if (!document.all) {
	        fudiv.setAttribute("class","onlineuser");
	      }
		  fudiv.setAttribute("className","onlineuser");
	      fudiv.appendChild( document.createTextNode( LANG_NOBODY_ON ) );
	      users.appendChild( fudiv );
	    }
	    
	    div.appendChild( users );
	    cont.appendChild( div );  
	   }
	}   
 }
 function show_online_users() {
   if (document.all) {
   	var e = window.event;
   	e.returnValue = false;
   }
   elem = document.getElementById("OUOuter");
   update_online_users();
   elem.style.display = "inline";
   return false;
 }
 function close_online_users() {
   if (document.all) {
   	var e = window.event;
   	e.returnValue = false;
   }
   elem = document.getElementById("OUOuter");
   elem.style.display = "none";
   return false;
 }
var detect = navigator.userAgent.toLowerCase();
var windowsIE = (checkPlatform("msie") && checkPlatform("win"));

function checkPlatform(string)
{
    place = detect.indexOf(string) + 1;
    thestring = string;
    return place;
}

function runJNLP(roomId) {

	if (windowsIE) {
			
	    document.getElementById("jnlpObjectRoom_"+roomId).style.display = "block"

	 } else {
	 		location.href="/game/raum"+roomId+".jnlp";
	 }	 
}

function runTrialGameJNLP() {

	if (windowsIE) {
			
	    document.getElementById("jnlpObjectTrialGame").style.display = "block"

	 } else {
	 		location.href="/de/game/test.jnlp";
	 }	 
}
 
function webstartVersionCheck(versionString) {

    if(navigator.mimeTypes['application/x-java-jnlp-file']) {
        // Next, check for appropriate version family
        for (var i = 0; i < navigator.mimeTypes.length; ++i) {
            pluginType = navigator.mimeTypes[i].type;
            if (pluginType == "application/x-java-applet;version=" + versionString) {
                return true;
            }
         }
     }
     return false;
}
function selectAll() { 
	for (i=0; i<=10; i++) { 
		try { 
			document.getElementById("chb_"+i).checked=true; 
		} catch (e) {}; 
	}; 
}function filter(url) {		
	document.getElementsByName("filterFullRooms")[0].form.submit();
	//if(url) {
	//	window.location.search = url;
	//}
	return 0;
}function showScreenshot(url) {
		if(document.getElementById("screenshotBoxInner").childNodes.length == 1) {
			var imgLarge = document.createElement("img");
			imgLarge.width = "800";
			imgLarge.height = "600";
			imgLarge.alt = "Screenshot";
			imgLarge.id = "screenshotLarge";
			document.getElementById("screenshotBoxInner").appendChild(imgLarge);
		}
		
		document.getElementById("screenshotLarge").src = '';		
		if (typeof window.pageYOffset == "number") {
			document.getElementById("screenshotBoxOuter").style.top = window.pageYOffset+30+'px';
		} else if(typeof document.body.scrollTop == "number") {
			var myregex = /MSIE 7.0/i;
   		var myArray = navigator.appVersion.match(myregex);
   		if( myArray == null) {
   			myregex = /MSIE 8.0/i;
   			myArray = navigator.appVersion.match(myregex);	  
   		}
      if(myArray.length > 0) {
      	document.getElementById("screenshotBoxOuter").style.top =  document.documentElement.scrollTop+30+'px';
      } else {
      	document.getElementById("screenshotBoxOuter").style.top =  document.body.scrollTop+30+'px';
      }
			
		}
		document.getElementById("headerLogoFlash").style.visibility = 'hidden';
		document.getElementById("headerPicFlash").style.visibility = 'hidden';
		document.getElementById("overlay").style.display = 'block';
  	document.getElementById("screenshotBoxOuter").style.display = 'block';
  	document.getElementById("screenshotLarge").src = '/static/media/screenshots/'+url;		
		
		try {
			pageTracker._trackPageview( '/screenshots/' + url );
		} catch (e) {};
		
		return false;
	}
	
	  	
function hideScreenshot() {
	document.getElementById("overlay").style.display = 'none';
	document.getElementById("screenshotBoxOuter").style.display = 'none';
	document.getElementById("headerLogoFlash").style.visibility = 'visible';
 	document.getElementById("headerPicFlash").style.visibility = 'visible';
 	
 	child = document.getElementById("screenshotBoxInner").lastChild;
 	document.getElementById("screenshotBoxInner").removeChild(child);
}	function setBg(i) {
		var row = 'statsRow'+i
		document.getElementById(row).style.backgroundColor = '#c0c0c0';
	}
	function resetBg(i) {
		var row = 'statsRow'+i
		document.getElementById(row).style.backgroundColor = '';
	}
if(!this.JSON){JSON={};}
(function(){function f(n){return n<10?'0'+n:n;}
var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapeable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;if(typeof JSON.parse!=='function'){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==='object'){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v;}else{delete value[k];}}}}
return reviver.call(holder,key,value);}
cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return'\\u'+
('0000'+a.charCodeAt(0).toString(16)).slice(-4);});}
if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){j=eval('('+text+')');return typeof reviver==='function'?walk({'':j},''):j;}
throw new SyntaxError('JSON.parse');};}})();