$(document).ready(function() {
    $("#login-register").show();
    $("#login-register").fancybox({
        'scrolling':'no'
    });
    $("#favorite-register").fancybox({
        'scrolling':'no'
    });
    $('#registration-form-submit').live('click', (function() {
        form_data = {
                'register_login': $('#register_login').val(),
                'register_password': $('#register_password').val(),
                'register_password2': $('#register_password2').val(),
                'register_email': $('#register_email').val()
        };
        if ($('#register_allow_email:checked').val())
                form_data['register_allow_email'] = 1;
        if ($('#register_allow_marketing:checked').val())
                form_data['register_allow_marketing'] = 1;

        $.post('/pop-register',form_data,function(data) {
            $('#registration-popup').html(data);
        });
        return false;
    })); 
});

Pelikone = {
        // This object is included in all pages and contains all Pelikone features.
};

// http://brainerror.net/scripts/javascript/blendtrans/
function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
} 

/*      SWFObject v2.0 <http://code.google.com/p/swfobject/>
        Copyright (c) 2007 Geoff Stearns, Michael Williams, and Bobby van der Sluis
        This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/
var swfobject=function(){var Z="undefined",P="object",B="Shockwave Flash",h="ShockwaveFlash.ShockwaveFlash",W="application/x-shockwave-flash",K="SWFObjectExprInst",G=window,g=document,N=navigator,f=[],H=[],Q=null,L=null,T=null,S=false,C=false;var a=function(){var l=typeof g.getElementById!=Z&&typeof g.getElementsByTagName!=Z&&typeof g.createElement!=Z&&typeof g.appendChild!=Z&&typeof g.replaceChild!=Z&&typeof g.removeChild!=Z&&typeof g.cloneNode!=Z,t=[0,0,0],n=null;if(typeof N.plugins!=Z&&typeof N.plugins[B]==P){n=N.plugins[B].description;if(n){n=n.replace(/^.*\s+(\S+\s+\S+$)/,"$1");t[0]=parseInt(n.replace(/^(.*)\..*$/,"$1"),10);t[1]=parseInt(n.replace(/^.*\.(.*)\s.*$/,"$1"),10);t[2]=/r/.test(n)?parseInt(n.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof G.ActiveXObject!=Z){var o=null,s=false;try{o=new ActiveXObject(h+".7")}catch(k){try{o=new ActiveXObject(h+".6");t=[6,0,21];o.AllowScriptAccess="always"}catch(k){if(t[0]==6){s=true}}if(!s){try{o=new ActiveXObject(h)}catch(k){}}}if(!s&&o){try{n=o.GetVariable("$version");if(n){n=n.split(" ")[1].split(",");t=[parseInt(n[0],10),parseInt(n[1],10),parseInt(n[2],10)]}}catch(k){}}}}var v=N.userAgent.toLowerCase(),j=N.platform.toLowerCase(),r=/webkit/.test(v)?parseFloat(v.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,i=false,q=j?/win/.test(j):/win/.test(v),m=j?/mac/.test(j):/mac/.test(v);/*@cc_on i=true;@if(@_win32)q=true;@elif(@_mac)m=true;@end@*/return{w3cdom:l,pv:t,webkit:r,ie:i,win:q,mac:m}}();var e=function(){if(!a.w3cdom){return }J(I);if(a.ie&&a.win){try{g.write("<script id=__ie_ondomload defer=true src=//:><\/script>");var i=c("__ie_ondomload");if(i){i.onreadystatechange=function(){if(this.readyState=="complete"){this.parentNode.removeChild(this);V()}}}}catch(j){}}if(a.webkit&&typeof g.readyState!=Z){Q=setInterval(function(){if(/loaded|complete/.test(g.readyState)){V()}},10)}if(typeof g.addEventListener!=Z){g.addEventListener("DOMContentLoaded",V,null)}M(V)}();function V(){if(S){return }if(a.ie&&a.win){var m=Y("span");try{var l=g.getElementsByTagName("body")[0].appendChild(m);l.parentNode.removeChild(l)}catch(n){return }}S=true;if(Q){clearInterval(Q);Q=null}var j=f.length;for(var k=0;k<j;k++){f[k]()}}function J(i){if(S){i()}else{f[f.length]=i}}function M(j){if(typeof G.addEventListener!=Z){G.addEventListener("load",j,false)}else{if(typeof g.addEventListener!=Z){g.addEventListener("load",j,false)}else{if(typeof G.attachEvent!=Z){G.attachEvent("onload",j)}else{if(typeof G.onload=="function"){var i=G.onload;G.onload=function(){i();j()}}else{G.onload=j}}}}}function I(){var l=H.length;for(var j=0;j<l;j++){var m=H[j].id;if(a.pv[0]>0){var k=c(m);if(k){H[j].width=k.getAttribute("width")?k.getAttribute("width"):"0";H[j].height=k.getAttribute("height")?k.getAttribute("height"):"0";if(O(H[j].swfVersion)){if(a.webkit&&a.webkit<312){U(k)}X(m,true)}else{if(H[j].expressInstall&&!C&&O("6.0.65")&&(a.win||a.mac)){D(H[j])}else{d(k)}}}}else{X(m,true)}}}function U(m){var k=m.getElementsByTagName(P)[0];if(k){var p=Y("embed"),r=k.attributes;if(r){var o=r.length;for(var n=0;n<o;n++){if(r[n].nodeName.toLowerCase()=="data"){p.setAttribute("src",r[n].nodeValue)}else{p.setAttribute(r[n].nodeName,r[n].nodeValue)}}}var q=k.childNodes;if(q){var s=q.length;for(var l=0;l<s;l++){if(q[l].nodeType==1&&q[l].nodeName.toLowerCase()=="param"){p.setAttribute(q[l].getAttribute("name"),q[l].getAttribute("value"))}}}m.parentNode.replaceChild(p,m)}}function F(i){if(a.ie&&a.win&&O("8.0.0")){G.attachEvent("onunload",function(){var k=c(i);if(k){for(var j in k){if(typeof k[j]=="function"){k[j]=function(){}}}k.parentNode.removeChild(k)}})}}function D(j){C=true;var o=c(j.id);if(o){if(j.altContentId){var l=c(j.altContentId);if(l){L=l;T=j.altContentId}}else{L=b(o)}if(!(/%$/.test(j.width))&&parseInt(j.width,10)<310){j.width="310"}if(!(/%$/.test(j.height))&&parseInt(j.height,10)<137){j.height="137"}g.title=g.title.slice(0,47)+" - Flash Player Installation";var n=a.ie&&a.win?"ActiveX":"PlugIn",k=g.title,m="MMredirectURL="+G.location+"&MMplayerType="+n+"&MMdoctitle="+k,p=j.id;if(a.ie&&a.win&&o.readyState!=4){var i=Y("div");p+="SWFObjectNew";i.setAttribute("id",p);o.parentNode.insertBefore(i,o);o.style.display="none";G.attachEvent("onload",function(){o.parentNode.removeChild(o)})}R({data:j.expressInstall,id:K,width:j.width,height:j.height},{flashvars:m},p)}}function d(j){if(a.ie&&a.win&&j.readyState!=4){var i=Y("div");j.parentNode.insertBefore(i,j);i.parentNode.replaceChild(b(j),i);j.style.display="none";G.attachEvent("onload",function(){j.parentNode.removeChild(j)})}else{j.parentNode.replaceChild(b(j),j)}}function b(n){var m=Y("div");if(a.win&&a.ie){m.innerHTML=n.innerHTML}else{var k=n.getElementsByTagName(P)[0];if(k){var o=k.childNodes;if(o){var j=o.length;for(var l=0;l<j;l++){if(!(o[l].nodeType==1&&o[l].nodeName.toLowerCase()=="param")&&!(o[l].nodeType==8)){m.appendChild(o[l].cloneNode(true))}}}}}return m}function R(AE,AC,q){var p,t=c(q);if(typeof AE.id==Z){AE.id=q}if(a.ie&&a.win){var AD="";for(var z in AE){if(AE[z]!=Object.prototype[z]){if(z=="data"){AC.movie=AE[z]}else{if(z.toLowerCase()=="styleclass"){AD+=' class="'+AE[z]+'"'}else{if(z!="classid"){AD+=" "+z+'="'+AE[z]+'"'}}}}}var AB="";for(var y in AC){if(AC[y]!=Object.prototype[y]){AB+='<param name="'+y+'" value="'+AC[y]+'" />'}}t.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AD+">"+AB+"</object>";F(AE.id);p=c(AE.id)}else{if(a.webkit&&a.webkit<312){var AA=Y("embed");AA.setAttribute("type",W);for(var x in AE){if(AE[x]!=Object.prototype[x]){if(x=="data"){AA.setAttribute("src",AE[x])}else{if(x.toLowerCase()=="styleclass"){AA.setAttribute("class",AE[x])}else{if(x!="classid"){AA.setAttribute(x,AE[x])}}}}}for(var w in AC){if(AC[w]!=Object.prototype[w]){if(w!="movie"){AA.setAttribute(w,AC[w])}}}t.parentNode.replaceChild(AA,t);p=AA}else{var s=Y(P);s.setAttribute("type",W);for(var v in AE){if(AE[v]!=Object.prototype[v]){if(v.toLowerCase()=="styleclass"){s.setAttribute("class",AE[v])}else{if(v!="classid"){s.setAttribute(v,AE[v])}}}}for(var u in AC){if(AC[u]!=Object.prototype[u]&&u!="movie"){E(s,u,AC[u])}}t.parentNode.replaceChild(s,t);p=s}}return p}function E(k,i,j){var l=Y("param");l.setAttribute("name",i);l.setAttribute("value",j);k.appendChild(l)}function c(i){return g.getElementById(i)}function Y(i){return g.createElement(i)}function O(k){var j=a.pv,i=k.split(".");i[0]=parseInt(i[0],10);i[1]=parseInt(i[1],10);i[2]=parseInt(i[2],10);return(j[0]>i[0]||(j[0]==i[0]&&j[1]>i[1])||(j[0]==i[0]&&j[1]==i[1]&&j[2]>=i[2]))?true:false}function A(m,j){if(a.ie&&a.mac){return }var l=g.getElementsByTagName("head")[0],k=Y("style");k.setAttribute("type","text/css");k.setAttribute("media","screen");if(!(a.ie&&a.win)&&typeof g.createTextNode!=Z){k.appendChild(g.createTextNode(m+" {"+j+"}"))}l.appendChild(k);if(a.ie&&a.win&&typeof g.styleSheets!=Z&&g.styleSheets.length>0){var i=g.styleSheets[g.styleSheets.length-1];if(typeof i.addRule==P){i.addRule(m,j)}}}function X(k,i){var j=i?"visible":"hidden";if(S){c(k).style.visibility=j}else{A("#"+k,"visibility:"+j)}}return{registerObject:function(l,i,k){if(!a.w3cdom||!l||!i){return }var j={};j.id=l;j.swfVersion=i;j.expressInstall=k?k:false;H[H.length]=j;X(l,false)},getObjectById:function(l){var i=null;if(a.w3cdom&&S){var j=c(l);if(j){var k=j.getElementsByTagName(P)[0];if(!k||(k&&typeof j.SetVariable!=Z)){i=j}else{if(typeof k.SetVariable!=Z){i=k}}}}return i},embedSWF:function(n,u,r,t,j,m,k,p,s){if(!a.w3cdom||!n||!u||!r||!t||!j){return }r+="";t+="";if(O(j)){X(u,false);var q=(typeof s==P)?s:{};q.data=n;q.width=r;q.height=t;var o=(typeof p==P)?p:{};if(typeof k==P){for(var l in k){if(k[l]!=Object.prototype[l]){if(typeof o.flashvars!=Z){o.flashvars+="&"+l+"="+k[l]}else{o.flashvars=l+"="+k[l]}}}}J(function(){R(q,o,u);if(q.id==u){X(u,true)}})}else{if(m&&!C&&O("6.0.65")&&(a.win||a.mac)){X(u,false);J(function(){var i={};i.id=i.altContentId=u;i.width=r;i.height=t;i.expressInstall=m;D(i)})}}},getFlashPlayerVersion:function(){return{major:a.pv[0],minor:a.pv[1],release:a.pv[2]}},hasFlashPlayerVersion:O,createSWF:function(k,j,i){if(a.w3cdom&&S){return R(k,j,i)}else{return undefined}},createCSS:function(j,i){if(a.w3cdom){A(j,i)}},addDomLoadEvent:J,addLoadEvent:M,getQueryParamValue:function(m){var l=g.location.search||g.location.hash;if(m==null){return l}if(l){var k=l.substring(1).split("&");for(var j=0;j<k.length;j++){if(k[j].substring(0,k[j].indexOf("="))==m){return k[j].substring((k[j].indexOf("=")+1))}}}return""},expressInstallCallback:function(){if(C&&L){var i=c(K);if(i){i.parentNode.replaceChild(L,i);if(T){X(T,true);if(a.ie&&a.win){L.style.display="block"}}L=null;T=null;C=false}}}}}();
/* /SWFObject */

var sitebase = "http://" + window.location.host;
var loginreq;
var favreq;
var topboxreq;
var topboxtimeout;
var commreq;
var commtimeout;
var commpostreq;
var msgtimeout;
var msgreq;
var msgpostreq;
var shouttimeout;
var shoutreq;
var shoutpostreq;
var chattimeout;
var chatreq;
var chatpostreq;
var votetimeout = -1;

function ajaxrequest()
{
	var r;
	if (window.XMLHttpRequest)
	{
		try { r = new XMLHttpRequest(); }
		catch (e) {}
	}
	else if (window.ActiveXObject)
	{
		try { r = new ActiveXObject("Msxml2.XMLHTTP"); }
		catch (e)
		{
			try { r = new ActiveXObject("Microsoft.XMLHTTP"); }
			catch (e) {}
		}
	}
	return r;
}

function frontchtab(tab, offset) 
{
	req = ajaxrequest();
	if(!req) return true;
        req.onreadystatechange=function()
        {
                if(req.readyState==4)
                {
                        var container = document.getElementById('gamecontainer');
                        if (container) container.innerHTML = req.responseText;
                }
        }
        req.open("GET","/ajax/show/"+tab+"/"+offset,true);
        req.send(null);
	return false;
}

function jatekokfrontchtab(tab, offset)
{
        req = ajaxrequest();
        if(!req) return true;
        req.onreadystatechange=function()
        {
                if(req.readyState==4)
                {
                        var container = document.getElementById('gameBox');
                        if (container) container.innerHTML = req.responseText;
                }
        }
        req.open("GET","/jatekokajax/show/"+tab+"/"+offset,true);
        req.send(null);
        return false;
}

function playchtab(gid, tab)
{
        req = ajaxrequest();
        if(!req) return true;
        req.onreadystatechange=function()
        {
                if(req.readyState==4)
                {
                        var container = document.getElementById('gametabmain');
                        if (container) container.innerHTML = req.responseText;
                }
        }
        req.open("GET","/play/ajax/"+gid+"/show/"+tab,true);
        req.send(null);
        return false;
}

function jatekokplaychtab(gid, tab)
{
        req = ajaxrequest();
        if(!req) return true;
        req.onreadystatechange=function()
        {
                if(req.readyState==4)
                {
                        var container = document.getElementById('gameInfo');
                        if (container) container.innerHTML = req.responseText;
                }
        }
        req.open("GET","/play/jatekokajax/"+gid+"/show/"+tab,true);
        req.send(null);
        return false;
}

function peoplepaginate(offset)
{
        req = ajaxrequest();
        if(!req) return true;
        req.onreadystatechange=function()
        {
                if(req.readyState==4)
                {
                        var container = document.getElementById('peopleContainer');
                        if (container) container.innerHTML = req.responseText;
                }
        }
        req.open("GET","/ihmiset/nayta/"+offset+"?ajax=1",true);
        req.send(null);
        return false;
}

function peoplesearchpaginate(term, offset)
{
        req = ajaxrequest();
        if(!req) return true;
        req.onreadystatechange=function()
        {
                if(req.readyState==4)
                {
                        var container = document.getElementById('peopleContainer');
                        if (container) container.innerHTML = req.responseText;
                }
        }
        req.open("GET","/ihmiset/etsi/"+term+"/"+offset+"?ajax=1",true);
        req.send(null);
        return false;
}

function playpaginate(gid, offset)
{
        req = ajaxrequest();
        if(!req) return true;
        req.onreadystatechange=function()
        {
                if(req.readyState==4)
                {
                        var container = document.getElementById('gametabmain');
                        if (container) container.innerHTML = req.responseText;
                }
        }
        req.open("GET","/ajax_play_chtab.php?gid="+gid+"&tab=comments&offset="+offset,true);
        req.send(null);
        return false;
}

function loginpost()
{
	var loginform = document.getElementById('pelikone_navi_top_box_login_form');
	var username = document.getElementById('pelikone_login');
	var password = document.getElementById('pelikone_password');
	var stickylogin = document.getElementById('pelikone_sticky');
	var l;
	var newlogin;
	
	// SSL doesn't work with Ajax yet.
	if (loginform.action.substring(0, 6) == 'https:') return true;
	
	if (topboxtimeout) clearTimeout(topboxtimeout);
	if (commtimeout) clearTimeout(commtimeout);
	loginreq = ajaxrequest();
	if (loginreq)
	{
		loginreq.onreadystatechange = function() {
			if (loginreq && loginreq.readyState == 4 && (loginreq.status == 200 || loginreq.status == 0)) {
				var ok = false;
				if (loginreq.responseXML && loginreq.responseXML.documentElement && loginreq.responseXML.documentElement.getAttribute("status") == "LOGGEDIN") {
					ok = true;
					newlogin = loginreq.responseXML.documentElement.getAttribute("login");
					
					l = document.getElementById('login_right');
					if (l) { l.style.display = ""; }
					l = document.getElementById('pelikone_navi_top_box_verify_error');
					if (l) { l.style.display = "none"; }
					// Messages (profile.php)
					l = document.getElementById('loginmessages');
					if (l) l.style.display = "none";
					l = document.getElementById('addmessage');
					if (l) l.style.display = "";
					l = document.getElementById('addmessagelogin');
					if (l) { l.innerHTML = newlogin; l.href = "/users/" + newlogin; }
					// Comments (play.php)
					l = document.getElementById('logincomments');
					if (l) l.style.display = "none";
					l = document.getElementById('addcomment');
					if (l) l.style.display = "";
					l = document.getElementById('addcommentlogin');
					if (l) { l.innerHTML = newlogin; l.href = "/users/" + newlogin; }
					// Add to favorites (play.php)
					l = document.getElementById('addtofavorites');
					if (l) l.style.display = "";
					// Shoutbox post form
					l = document.getElementById('pelikone_box_shoutform');
					if (l) l.style.display = "";
					// Chat post form
					l = document.getElementById('pelikone_chat_form');
					if (l) l.style.display = "";
					l = document.getElementById('forum_tab');
					if (l) l.style.display = "";
					l = document.getElementById('registerscores');
					if (l) l.style.display = "none";
					// My box on right side of every page
					updatetopbox(true);
					// Generic onlogin handler
					if (window.onlogin) onlogin(newlogin);
				}
				else if (loginreq.responseXML && loginreq.responseXML.documentElement && loginreq.responseXML.documentElement.getAttribute("status") == "NOTVERIFIED") {
					ok = true;
					l = document.getElementById('pelikone_navi_top_box_verify_error');
					if (l) { l.style.display = ""; }
					
					l = document.getElementById('pelikone_navi_top_box_login_error');
					if (l) { l.style.display = "none"; }
					
					l = document.getElementById('login_right');
					if (l) { l.style.display = "none"; }
				}
				if (!ok)
				{
					l = document.getElementById('login_right');
					if (l) { l.style.display = ""; }
					
					l = document.getElementById('pelikone_navi_top_box_verify_error');
					if (l) { l.style.display = "none"; }
					
					l = document.getElementById('pelikone_navi_top_box_login_error');
					if (l) { l.style.display = ""; }
				}
			}
			else if (loginreq && loginreq.readyState == 4 && loginreq.status == 403) {
				// Banned
				l = document.getElementById('pelikone_navi_top_box_login_error');
				if (l) { l.style.display = ""; l.innerHTML= "User account is banned"; }
			}
		};
		try
		{
			loginreq.open("POST", loginform.action + "?ajaxlogin=1", true);
			loginreq.send(username.value + ":" + (stickylogin.checked ? "1" : "0") + ":" + password.value);
		}
		catch (e)
		{
			alert('XMLHttpRequest failed: ' + e.description);
			return true;
		}
		username.value = "";
		password.value = "";
		username.focus();
		return false;
	}
	return true;
}

function logoutpost()
{
	// force no ajax
	return true; 

	var l;
	
	loginreq = ajaxrequest();
	if (loginreq)
	{
		loginreq.onreadystatechange = function() {
			if (loginreq && loginreq.readyState == 4 && loginreq.status == 200) {
				// Messages (profile.php)
				l = document.getElementById('loginmessages');
				if (l) l.style.display = "";
				l = document.getElementById('addmessage');
				if (l) l.style.display = "none";
				// Comments (play.php)
				l = document.getElementById('logincomments');
				if (l) l.style.display = "";
				l = document.getElementById('addcomment');
				if (l) l.style.display = "none";
				// Add to favorites (play.php)
				l = document.getElementById('addtofavorites');
				if (l) l.style.display = "none";
				// Shoutbox post form
				l = document.getElementById('pelikone_box_shoutform');
				if (l) l.style.display = "none";
				// Chat post form
				l = document.getElementById('pelikone_chat_form');
				if (l) l.style.display = "none";
				l = document.getElementById('forum_tab');
				if (l) l.style.display = "none";
				l = document.getElementById('registerscores');
				if (l) l.style.display = "";
				updatetopbox(true);
				// Generic onlogout handler
				if (window.onlogout) onlogout();
			}
		};
		loginreq.open("POST", sitebase + "/logout?ajax=1", true);
		loginreq.send("");
		return false;
	}
	return true;
}

function favoritepost(uid)
{
	var l;
	
	favreq = ajaxrequest();
	if (favreq)
	{
		favreq.onreadystatechange = function() {
			if (favreq && favreq.readyState == 4 && favreq.status == 200) {
				l = document.getElementById('addedfavorite');
				if (l) l.style.display = "";
			}
		};
		favreq.open("GET", sitebase + "/ajax_addfavorite.php?id=" + uid + "&ajax=1&r=" + Math.floor(Math.random()*10000), true);
		favreq.send("");
		return false;
	}
	return true;
}

function addfavorite(guid)
{
        req = ajaxrequest();
        if(!req) return true;
        req.onreadystatechange=function()
        {
                if(req.readyState==4)
                {
                        var container = document.getElementById('gamebuttonfavorite');
                        if (container) container.innerHTML = req.responseText;
                }
        }
        req.open("GET","/favorites/ajax/add/"+guid,true);
        req.send(null);
        return false;
}

function removefavorite(guid)
{
        req = ajaxrequest();
        if(!req) return true;
        req.onreadystatechange=function()
        {
                if(req.readyState==4)
                {
                        var container = document.getElementById('gamebuttonfavorite');
                        if (container) container.innerHTML = req.responseText;
                }
        }
        req.open("GET","/favorites/ajax/remove/"+guid,true);
        req.send(null);
        return false;
}

function updatetopbox(force)
{
	var l;
	
	l = document.getElementById('login');
	if (l && !force)
	{
		// Not logged in, no use to update.
		return;
	}
	
	topboxreq = ajaxrequest();
	if (topboxreq)
	{
		topboxreq.onreadystatechange = function() {
			if (topboxreq && topboxreq.readyState == 4 && topboxreq.status == 200) {
				l = document.getElementById('pelikone_navi_top_box');
				if (l) l.innerHTML = topboxreq.responseText;
			}
		};
		topboxreq.open("GET", sitebase + "/gettopbox/?r=" + Math.floor(Math.random()*10000), true);
		topboxreq.send("");
		return false;
	}
	return true;
}

function autoupdatetopbox()
{
	updatetopbox();
	topboxtimeout = setTimeout("autoupdatetopbox();", 10000);
}

function updatecomments(id)
{
	var l;
	
	commreq = ajaxrequest();
	if (commreq)
	{
		commreq.onreadystatechange = function() {
			if (commreq && commreq.readyState == 4 && commreq.status == 200) {
				l = document.getElementById('commentsparent');
				if (l) l.innerHTML = commreq.responseText;
			}
		};
		commreq.open("GET", sitebase + "/comments/get/" + id + "&r=" + Math.floor(Math.random()*10000), true);
		commreq.send("");
		return false;
	}
	return true;
}

function autoupdatecomments(id)
{
	updatecomments(id);
	commtimeout = setTimeout("autoupdatecomments('" + id + "');", 10000);
}

function commentpost(game)
{
	var comments = document.getElementById('commentsparent');
	var text = document.getElementById('comment_text');
	
	commpostreq = ajaxrequest();
	if (commpostreq)
	{
		commpostreq.onreadystatechange = function() {
			if (commpostreq.readyState == 4 && commpostreq.status == 200) {
				comments.innerHTML = commpostreq.responseText;
			}
		};
		commpostreq.open("POST", sitebase + "/comments/add/" + game, true);
		commpostreq.send(text.value);
		text.value = "";
		return false;
	}
	else return true;
}

function jatekokcommentpost(game)
{
        var comments = document.getElementById('comments');
        var text = document.getElementById('comment_text');

        commpostreq = ajaxrequest();
        if (commpostreq)
        {
                commpostreq.onreadystatechange = function() {
                        if (commpostreq.readyState == 4 && commpostreq.status == 200) {
                                comments.innerHTML = commpostreq.responseText;
                        }
                };
                commpostreq.open("POST", sitebase + "/comments/add/" + game, true);
                commpostreq.send(text.value);
                text.value = "";
                return false;
        }
        else return true;
}

function fpchangetab(tab)
{
        var gamecontainer = document.getElementById('gamecontainer');

        chtabreq = ajaxrequest();
        if (chtabreq)
        {
                chtabreq.onreadystatechange = function() {
                        if (chtabreq.readyState == 4 && chtabreq.status == 200) {
                                gamecontainer.innerHTML = chtabreq.responseText;
                        }
                };
                chtabreq.open("GET", sitebase + "/ajax_changetab.php?tab=" + tab, true);
                chtabreqreq.send(text.value);
                text.value = "";
                return false;
        }
        else return true;
}


function updatemessages(user)
{
	var l;
	
	msgreq = ajaxrequest();
	if (msgreq)
	{
		msgreq.onreadystatechange = function() {
			if (msgreq && msgreq.readyState == 4 && msgreq.status == 200) {
				l = document.getElementById('messagesparent');
				if (l) l.innerHTML = msgreq.responseText;
			}
		};
		msgreq.open("GET", sitebase + "/ajax_getmessages.php?user=" + user + "&r=" + Math.floor(Math.random()*10000), true);
		msgreq.send("");
		return false;
	}
	return true;
}

function autoupdatemessages(user)
{
	updatemessages(user);
	msgtimeout = setTimeout("autoupdatemessages('" + user + "');", 10000);
}

function messagepost(recipient)
{
	var messages = document.getElementById('messagesparent');
	var text = document.getElementById('message_text');
	var priv = document.getElementById('message_private').checked ? 1 : 0;
	
	msgpostreq = ajaxrequest();
	if (msgpostreq)
	{
		msgpostreq.onreadystatechange = function() {
			if (msgpostreq.readyState == 4 && msgpostreq.status == 200) {
				messages.innerHTML = msgpostreq.responseText;
			}
		};
		msgpostreq.open("POST", sitebase + "/ajax_addmessage.php?user=" + recipient + "&private=" + priv + "&r=" + Math.floor(Math.random()*10000), true);
		msgpostreq.send(text.value);
		text.value = "";
		return false;
	}
	else return true;
}

function updateshoutbox(gameuid)
{
	var l;
	
	shoutreq = ajaxrequest();
	if (shoutreq)
	{
		shoutreq.onreadystatechange = function() {
			if (shoutreq && shoutreq.readyState == 4 && shoutreq.status == 200) {
				l = document.getElementById('pelikone_box_shoutparent');
				if (l) l.innerHTML = shoutreq.responseText;
			}
		};
		shoutreq.open("GET", sitebase + "/ajax_getshoutbox.php?id=" + gameuid + "&r=" + Math.floor(Math.random()*10000), true);
		shoutreq.send("");
		return false;
	}
	return true;
}

function autoupdateshoutbox(gameuid)
{
	updateshoutbox(gameuid);
	shouttimeout = setTimeout("autoupdateshoutbox('" + gameuid + "');", 10000);
}

function shoutboxpost(gameuid)
{
	var shoutboxparent = document.getElementById('pelikone_box_shoutparent');
	var text = document.getElementById('pelikone_box_shouttext');
	
	shoutpostreq = ajaxrequest();
	if (shoutpostreq)
	{
		shoutpostreq.onreadystatechange = function() {
			if (shoutpostreq.readyState == 4 && shoutpostreq.status == 200) {
				shoutboxparent.innerHTML = shoutpostreq.responseText;
			}
		};
		shoutpostreq.open("POST", sitebase + "/ajax_addshout.php?ajax=1&id=" + gameuid + "&r=" + Math.floor(Math.random()*10000), true);
		shoutpostreq.send(text.value);
		text.value = "";
		return false;
	}
	else return true;
}

function updatechat()
{
	var l;
	var etag;
	
	etag = document.getElementById('pelikone_chat_etag');
	if (etag) etag = etag.innerHTML; else etag = "";
	
	chatreq = ajaxrequest();
	if (chatreq)
	{
		chatreq.onreadystatechange = function() {
			if (chatreq && chatreq.readyState == 4 && chatreq.status == 200) {
				l = document.getElementById('pelikone_chat_container');
				if (l) l.innerHTML = chatreq.responseText;
			}
		};
		chatreq.open("GET", sitebase + "/ajax_getchat.php?etag=" + etag + "&r=" + Math.floor(Math.random()*10000), true);
		chatreq.send("");
		return false;
	}
	return true;
}

function autoupdatechat()
{
	updatechat();
	chattimeout = setTimeout("autoupdatechat();", 10000);
}

function chatpost()
{
	var chatcontainer = document.getElementById('pelikone_chat_container');
	var text = document.getElementById('pelikone_chat_text');
	
	chatpostreq = ajaxrequest();
	if (chatpostreq)
	{
		chatpostreq.onreadystatechange = function() {
			if (chatpostreq.readyState == 4 && chatpostreq.status == 200) {
				chatcontainer.innerHTML = chatpostreq.responseText;
				chatcontainer.scrollTop = chatcontainer.scrollHeight;
			}
		};
		chatpostreq.open("POST", sitebase + "/ajax_addchat.php?ajax=1&r=" + Math.floor(Math.random()*10000), true);
		chatpostreq.send(text.value);
		text.value = "";
		return false;
	}
	else return true;
}

// Called with points=-1 on login, points=-2 on logout, otherwise points=0-100 (= TODO)
function votepost(gameuid, points)
{
	var ratingparent = document.getElementById('ratingparent');
	var l;
	
	votepostreq = ajaxrequest();
	if (votepostreq)
	{
		votepostreq.onreadystatechange = function() {
			if (votepostreq.readyState == 4 && votepostreq.status == 200) {
				ratingparent.innerHTML = votepostreq.responseText;
			}
		};
		votepostreq.open("GET", sitebase + "/play/ajax/1/vote/" + gameuid + "/" + points, true);
		votepostreq.send(null);
		return false;
	}
	else return true;
}

function jatekokvotepost(gameuid, points)
{
        var ratingparent = document.getElementById('ratingParent');
        var l;

        votepostreq = ajaxrequest();
        if (votepostreq)
        {
                votepostreq.onreadystatechange = function() {
                        if (votepostreq.readyState == 4 && votepostreq.status == 200) {
                                ratingparent.innerHTML = votepostreq.responseText;
                        }
                };
                votepostreq.open("GET", sitebase + "/play/ajax/1/vote/" + gameuid + "/" + points, true);
                votepostreq.send(null);
                return false;
        }
        else return true;
}

function downloadablesvotepost(gameid, points)
{
        var ratingparent = document.getElementById('ratingParent');
        var l;
        votepostreq = ajaxrequest();
        if (votepostreq)
        {
                votepostreq.onreadystatechange = function() {
                        if (votepostreq.readyState == 4 && votepostreq.status == 200) {
                                ratingparent.innerHTML = votepostreq.responseText;
                        }
                };
                votepostreq.open("GET", sitebase + "/downloadables/vote/1/" + gameid + "/" + points, true);
                votepostreq.send(null);
                return false;
        }
        else return true;
}

function avatarvotepost(userid, collectionnumber, points)
{
        var ratingparent = document.getElementById('ratingparent');
        var l;
        votepostreq = ajaxrequest();
        if (votepostreq)
        {
                votepostreq.onreadystatechange = function() {
                        if (votepostreq.readyState == 4 && votepostreq.status == 200) {
                                ratingparent.innerHTML = votepostreq.responseText;
                        }
                };
                votepostreq.open("GET", sitebase + "/avatar/vote/1/" + userid + "/" + collectionnumber + "/" + points, true);
                votepostreq.send(null);
                return false;
        }
        else return true;
}

function voteover(index)
{
	var i;
	var l;
	
	if (votetimeout != -1) { clearTimeout(votetimeout); votetimeout = -1; }
	for (i = 1; i <= 5; i++)
	{
		l = document.getElementById("star" + i);
		if (l) l.src = "/images/bigstar" + (i <= index ? "" : "grey") + ".png";
	}
	l = document.getElementById("ratethis");
	if (l) l.innerHTML = votelabels[index];
}

function voteout(index)
{
	if (votetimeout != -1) { clearTimeout(votetimeout); votetimeout = -1; }
	votetimeout = setTimeout("voterestore();", 1000);
}

function voteoverbig(index)
{
        var i;
        var l;

        if (votetimeout != -1) { clearTimeout(votetimeout); votetimeout = -1; }
        for (i = 1; i <= 5; i++)
        {
                l = document.getElementById("star" + i);
                if (l) l.src = "/themes/pelikone/images/star_" + (i <= index ? "starred" : "unstarred") + ".png";
        }
        l = document.getElementById("ratethis");
        if (l) l.innerHTML = votelabels[index];
}

function voteoutbig(index)
{
        if (votetimeout != -1) { clearTimeout(votetimeout); votetimeout = -1; }
        votetimeout = setTimeout("voterestorebig();", 1000);
	
}

function voterestorebig()
{
        var index;
        var i;
        var l;


        index = origvoteindex;
        votetimeout = -1;
        for (i = 1; i <= 5; i++)
        {
                l = document.getElementById("star" + i);
                if (l) l.src = "/themes/pelikone/images/star_" + (i <= index ? "starred" : "unstarred") + ".png";
        }
        l = document.getElementById("ratethis");
        if (l) l.innerHTML = origvotelabel;
}


function voterestore()
{
	var index;
	var i;
	var l;

	
	index = origvoteindex;
	votetimeout = -1;
	for (i = 1; i <= 5; i++)
	{
		l = document.getElementById("star" + i);
		if (l) l.src = "/images/bigstar" + (i <= index ? "" : "grey") + ".png";
	}
	l = document.getElementById("ratethis");
	if (l) l.innerHTML = origvotelabel;
}

function preroll_progress(containerdiv, rolltimer, rollbar, callback, timeleft, timetotal)
{
	if (timeleft <= 0)
	{
		if (containerdiv) containerdiv.style.display = 'none';
		if (callback) callback();
		return;
	}
        if (typeof window.admanager_ad_time2 != "undefined")
	{
		timetotal2 = window.admanager_ad_time2 * 1000 + 2000;
		if (timetotal != timetotal2) // new adtime set (from flash) this can be set after preroll_loaded
		{
			// update timeleft to new adtime
			if (timetotal > timetotal2) timeleft = timeleft - (timetotal-timetotal2);
			else timeleft = timeleft + (timetotal2-timetotal);
			// update timetotal to new adtime
			timetotal = timetotal2;
		}
	}  
	var percent = timetotal <= 0 ? 0 : Math.ceil((timetotal-timeleft)*100 / timetotal);
	rolltimer.innerHTML = "Loading... " + percent + '%';
	rollbar.style.width = percent + '%';
	setTimeout(function(){preroll_progress(containerdiv, rolltimer, rollbar, callback, timeleft-100, timetotal);}, 100);
}

var preroll_loaded_ok = false;

function preroll_loaded(progresstimer, callback, adtime)
{
	var containerdiv = document.getElementById('flashloader');
	if (preroll_loaded_ok) return;
	preroll_loaded_ok = true;
	if (progresstimer > 0) clearTimeout(progresstimer);
	if (typeof window.admanager_ad_time2 != "undefined") { adtime = window.admanager_ad_time2 * 1000 + 2000; }
	else if (window.admanager_ad_time) adtime = window.admanager_ad_time * 1000;
	else { containerdiv.style.display = 'none'; if (callback) callback(); return; }
	var rolltimer = document.getElementById('flashrolltimer');
	var rollbar = document.getElementById('flashrollbar');
	preroll_progress(containerdiv, rolltimer, rollbar, callback, adtime, adtime);
}

function pelikone_init()
{
	var master = document.getElementById('master');
	var mastertop = document.getElementById('mastertop');
	var masterbottom = document.getElementById('masterbottom');
	var masterleft = document.getElementById('masterleft');
	var masterright = document.getElementById('masterright');
	//if (masterleft) masterleft.style.height = (master.clientHeight - mastertop.clientHeight - masterbottom.clientHeight) + "px";
	//if (masterright) masterright.style.height = (master.clientHeight - mastertop.clientHeight - masterbottom.clientHeight) + "px";
}

