(function(document, $){
	window.Pokec = new(function(){

		var index    = 0;
		var kontrola = 0;
		var interval = 20;

		function ChatPozadavek(content) {
			var HTTPRequest = (window.XMLHttpRequest ? new XMLHttpRequest : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false));
			if(!HTTPRequest){
				return false;
			}
			HTTPRequest.open("POST", "/pokec/pokec.php");
			HTTPRequest.onreadystatechange = function(){
				if (HTTPRequest.readyState == 4 && HTTPRequest.status == 200){
					var odpoved = HTTPRequest.responseText.split("\r\n");
					if (odpoved[0].indexOf(" nologin ") > -1){
						alert("Nejsi přihlášen(a).\r\nPro přispívání do Pokecu se musíš přihlásit.");
						document.getElementById("ZpravaChatu").disabled = false;
						document.getElementById("OdeslatZpravu").disabled = false;
					}
					if (odpoved[0].indexOf(" reload ") > -1){
						index = odpoved[1];
						kontrola = odpoved[2];
						document.getElementById("pokec_zpravy").innerHTML = odpoved[3];
					}
					if (odpoved[0].indexOf(" load ") > -1){
						index = odpoved[1];
						kontrola = odpoved[2];
						document.getElementById("pokec_zpravy").innerHTML = odpoved[3] + document.getElementById("pokec_zpravy").innerHTML;
						document.getElementById("pokec_upozorneni").innerHTML = odpoved[3];

						$("#pokec_upozorneni").fadeIn(3000).delay(10000).fadeOut(3000);
					}
					if (odpoved[0].indexOf(" send ") > -1){
						document.getElementById("ZpravaChatu").value = "";
						document.getElementById("ZpravaChatu").disabled = false;
						document.getElementById("OdeslatZpravu").disabled = false;
					}
					document.getElementById("NacitaniChatu").style.visibility = "hidden";
				}
				if (HTTPRequest.readyState == 4 && HTTPRequest.status == 304){
					document.getElementById("NacitaniChatu").style.visibility = "hidden";
				}
			};
			HTTPRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			HTTPRequest.send(content);
			return true;
		}

		this.init = function(){
			// První načtení Pokecu
			ChatPozadavek("index=" + index + "&kontrola=" + kontrola);

			// Nastavení intervalu pravidelné obnovy Pokecu
			setInterval(function(){
				document.getElementById("NacitaniChatu").style.visibility = "visible";
				ChatPozadavek("index=" + index + "&kontrola=" + kontrola);
			}, (interval*1000));
		}

		this.odeslat = function(){
			document.getElementById("ZpravaChatu").disabled = true;
			document.getElementById("OdeslatZpravu").disabled = true;
			document.getElementById("NacitaniChatu").style.visibility = "visible";
			var zprava = document.getElementById("ZpravaChatu").value.replace(/[#&?+]/g, function(s){return escape(s)});

			ChatPozadavek("zprava=" + zprava + "&index=" + index + "&kontrola=" + kontrola);
			return false;
		}
	})();
})(document, jQuery);
