/**
 * @author Sławomir Kokłowski {@link http://www.kurshtml.boo.pl}
 * @copyright NIE usuwaj tego komentarza! (Do NOT remove this comment!)
 */

function Menu(id, style, otworz, wysun, czasRozwin, czasZwin, czasOtworz, czasZamknij, nieInicjalizuj)
{
	if (typeof czasRozwin == 'undefined' || czasRozwin < 0) czasRozwin = 2;
	if (typeof czasZwin == 'undefined' || czasZwin < 0) czasZwin = 2;
	if (typeof czasOtworz == 'undefined' || czasOtworz < 0) czasOtworz = 50;
	if (typeof czasZamknij == 'undefined' || czasZamknij < 0) czasZamknij = 250;
	
	var url = unescape(window.location.href);
	var base = window.location.protocol + '//' + window.location.host + window.location.pathname.replace(/[^\/\\]+$/, '');
	
	if (style)
	{
		if (style.indexOf(':') < 0)
		{
			document.getElementById(id).className += ' ' + style;
		}
		else
		{
			style = style.replace(/(^\s+|(\s|;)+$)/g, '').split(/\s*;\s*/);
			for (var i = 0; i < style.length; i++)
			{
				style[i] = style[i].split(/\s*:\s*/);
				for (var j = 0, c, property = ''; j < style[i][0].length; j++)
				{
					c = style[i][0].charAt(j);
					property += c == '-' ? style[i][0].charAt(++j).toUpperCase() : c.toLowerCase();
				}
				eval('document.getElementById("' + id + '").style.' + property + ' = "' + style[i][1].replace(/"/g, '\\"') + '"');
			}
		}
	}
	
	for (var i = 0; i < document.getElementById(id).getElementsByTagName('dt').length; i++)
	{
		var dd = new Array();
		var el = document.getElementById(id).getElementsByTagName('dt')[i].nextSibling;
		var nodeName;
		while (el && (nodeName = el.nodeName.toLowerCase()) != 'dt')
		{
			if (nodeName == 'dd')
			{
				el._dt = document.getElementById(id).getElementsByTagName('dt')[i];
				if (otworz)
				{
					el.onmouseover = function()
					{
						clearTimeout(this._dt._timoutID);
						this._dt._displayed = false;
						this._dt.onclick();
					}
					el.onmouseout = function()
					{
						clearTimeout(this._dt._timoutID);
						var dt = this._dt;
						this._dt._timoutID = setTimeout(function () { dt._displayed = true; dt.onclick(); }, czasZamknij);
					};
				}
				dd[dd.length] = el;
			}
			el = el.nextSibling;
		}
		document.getElementById(id).getElementsByTagName('dt')[i]._dd = dd;
		document.getElementById(id).getElementsByTagName('dt')[i]._timoutID = null;
		document.getElementById(id).getElementsByTagName('dt')[i]._displayed = false;
		document.getElementById(id).getElementsByTagName('dt')[i].onclick = function()
		{
			clearTimeout(this._timoutID);
			if (!this._displayed)
			{
				var el = this.parentNode.getElementsByTagName('dt')[0];
				while (el)
				{
					if (el.nodeName.toLowerCase() == 'dt' && el != this)
					{
						el._displayed = false;
						if (czasZwin) display(el, 0);
						else display(el);
					}
					el = el.nextSibling;
				}
			}
			this._displayed = !this._displayed;
			if (this._displayed && czasRozwin || !this._displayed && czasZwin) display(this, 0);
			else display(this);
		};
		if (otworz)
		{
			document.getElementById(id).getElementsByTagName('dt')[i].onmouseover = function()
			{
				clearTimeout(this._timoutID);
				var dt = this;
				this._timoutID = setTimeout(function () { dt._displayed = false; dt.onclick(); }, czasOtworz);
			};
			document.getElementById(id).getElementsByTagName('dt')[i].onmouseout = function()
			{
				clearTimeout(this._timoutID);
				var dt = this;
				this._timoutID = setTimeout(function () { dt._displayed = true; dt.onclick(); }, czasZamknij);
			};
		}
	}
	
	start(document.getElementById(id).getElementsByTagName('dt')[0]);
	
	function start(dt)
	{
		var hide = true;
		var el = dt;
		while (el)
		{
			var nodeName = el.nodeName.toLowerCase();
			if (nodeName == 'dt')
			{
				dt = el;
				hide = true;
			}
			if (nodeName == 'dt' || nodeName == 'dd')
			{
				if (!nieInicjalizuj && el.getElementsByTagName('a').length)
				{
					var active = el.getElementsByTagName('a')[0].href && unescape(el.getElementsByTagName('a')[0].href) == url;
					if (!active)
					{
						var rel = el.getElementsByTagName('a')[0].getAttribute('rel');
						if (rel)
						{
							var matches = (' ' + rel + ' ').match(/\s+Collection\(([^)]+)\)\s+/i);
							if (matches)
							{
								matches = matches[1].split(',');
								for (var k = 0; k < matches.length; k++)
								{
									if (/^[\/\\]/.test(matches[k])) matches[k] = window.location.protocol + '//' + window.location.host + matches[k];
									else if (!/^[a-z0-9]+:/i.test(matches[k])) matches[k] = base + matches[k];
									if (unescape(matches[k].replace(/[\/\\]\.([\/\\])/g, '$1').replace(/[^\/\\]+[\/\\]\.\.[\/\\]/g, '')) == url)
									{
										active = true;
										break;
									}
								}
							}
						}
					}
					if (active)
					{
						el.className = (el.className ? el.className + ' ' : '') + 'active';
						dt._displayed = true;
						display(dt);
						hide = false;
						var el_parentNode = el.parentNode;
						while (el_parentNode != document.getElementById(id))
						{
							if (el_parentNode.nodeName.toLowerCase() == 'dd')
							{
								var el_sibling = el_parentNode.previousSibling;
								while (el_sibling)
								{
									if (el_sibling.nodeName.toLowerCase() == 'dt')
									{
										el_sibling._displayed = true;
										display(el_sibling)
										break;
									}
									el_sibling = el_sibling.previousSibling;
								}
							}
							el_parentNode = el_parentNode.parentNode;
						}
					}
				}
			}
			if (nodeName == 'dd')
			{
				if (hide) el.style.display = 'none';
				start(el.getElementsByTagName('dt')[0]);
			}
			el = el.nextSibling;
		}
	}
	
	function display(dt, i)
	{
		if (typeof i == 'undefined')
		{
			for (var i = 0; i < dt._dd.length; i++)
			{
				dt._dd[i].style.display = dt._displayed ? 'block' : 'none';
				if (!dt._displayed)
				{
					for (var j = 0; j < dt._dd[i].getElementsByTagName('dt').length; j++)
					{
						dt._dd[i].getElementsByTagName('dt')[j]._displayed = false;
						display(dt._dd[i].getElementsByTagName('dt')[j]);
					}
				}
			}
		}
		else if (i < dt._dd.length)
		{
			var dir = wysun ? !dt._displayed : dt._displayed;
			var n = dir ? i : dt._dd.length - 1 - i;
			dt._dd[n].style.display = dt._displayed ? 'block' : 'none';
			if (!dt._displayed)
			{
				for (var j = 0; j < dt._dd[n].getElementsByTagName('dt').length; j++)
				{
					dt._dd[n].getElementsByTagName('dt')[j]._displayed = false;
					display(dt._dd[n].getElementsByTagName('dt')[j]);
				}
			}
			dt._timoutID = setTimeout(function() { display(dt, i + 1); }, dt._displayed ? czasRozwin : czasZwin);
		}
	}
}

/* ustawienie kursora w odpowiednim polu */
function fokus(elementID)
{
	var el = document.getElementById(elementID);
	el.focus();
}

/* otwarcie okna pop-up z powiększonym obrazkiem */
function popup(adres)
{
	fotoOkno = window.open(adres, 'foto', 'menubar=no, toolbar=no, location=no, scrollbars=no, resizable=yes, status=no, width=530, height=530')
}

/* sprawdzenie poprawności wypełnienia formularza rejestracji*/
function sprawdz(a)
{
	//pierwszy napotkany element div
	var register_7=a.getElementsByTagName('div')[0];
	register_7.innerHTML='';

	//kolekcja obiektów - wszystkie pola input ze środka formularza
	var inputy=a.getElementsByTagName('input');
	//kolekcja obiektów - wszystkie pola select ze środka formularza
	var selecty=a.getElementsByTagName('select');
	
	// przejscie po wszystkich elementach
	for (var x=0; x<selecty.length; x++)
	{
		var b=selecty[x];
		//jeśli nazwa pola to "req_country" i jest puste
		if (b.name=="req_country" && !b.disabled && !b.readonly && b.value=="0")
		{
			register_7.innerHTML='Proszę wypełnić wszystkie pola oznaczone gwiazdką!';
			b.style.border='1px solid red';
			b.focus();
			return false;
		}
		//jeśli nazwa pola to "req_timezone" i jest puste
		if (b.name=="req_timezone" && !b.disabled && !b.readonly && b.value=="0")
		{
			register_7.innerHTML='Proszę wypełnić wszystkie pola oznaczone gwiazdką!';
			b.style.border='1px solid red';
			b.focus();
			return false;
		}
	}
	//wzór nazwy pól, które muszą być wypełnione (z gwiazdką)
	var wzor=/^req/;

	//przejscie po wszystkich elementach
	for (var v=0; v<inputy.length; v++)
	{
		var b=inputy[v];
		b.style.border='';
		if (b.name=="req_username") //sprawdzenie długości nazwy użytkownika
		{
/*			if (!b.value.match(/^[a-zA-Z0-9._]{1,30}/)) na później - dozwolone znaki w nazwie użytkownika
			{
				register_7.innerHTML='Nieprawidłowa nazwa użytkownika! Nazwa może zawierać tylko znaki podstawowe, cyfry';
				b.style.border='1px solid red';
				b.focus();
				return false;
			}
*/
			if (b.value.length<4)
			{
				register_7.innerHTML='Nazwa użytkownika jest zbyt krótka (minimum 4 znaki)!';
				b.style.border='1px solid red';
				b.focus();
				return false;
			}
			if (b.value.length>30)
			{
				register_7.innerHTML='Nazwa użytkownika jest za długa (maksimum 30 znaków)!';
				b.style.border='1px solid red';
				b.focus();
				return false;
			}
		}
		if (b.name=="req_email") //sprawdzenie poprawności adresu e-mail
		{
			if (!b.value.match(/^[a-zA-Z0-9._\-]{1,30}@[a-zA-Z0-9._\-]+(\.[a-zA-Z0-9._\-]+)+$/))
			{
				register_7.innerHTML='Błędny adres e-mail';
				b.style.border='1px solid red';
				b.focus();
				return false;
			}
		}
		if (b.name=="req_passwd1") //sprawdzenie długości hasła
		{
			if (b.value.length<3)
			{
				register_7.innerHTML='Hasło jest zbyt krótkie (minimum 3 znaki)!';
				b.style.border='1px solid red';
				b.focus();
				return false;
			}
			if (b.value.length>30)
			{
				register_7.innerHTML='Hasło jest zbyt długie (maksimum 30 znaków)!';
				b.style.border='1px solid red';
				b.focus();
				return false;
			}
		}
		if (wzor.test(b.name)) //sprawdzenie, czy wypełniono wszystkie wymagane pola
		{
			if (!b.disabled && !b.readonly && b.value=="")
			{
				register_7.innerHTML='Proszę wypełnić wszystkie pola oznaczone gwiazdką!';
				b.style.border='1px solid red';
				b.focus();
				return false;
			}
		}
		if (b.name=="req_passwd1" && !b.value=="")
		{
			var passwd1=b.value;
		}
		if (b.name=="req_passwd2" && !b.value=="")
		{
			var passwd2=b.value;
		}
		if (!passwd1=="" && !passwd2=="")
		{
			if (passwd1!=passwd2)
			{
				register_7.innerHTML='Hasło w obu polach musi być identyczne!';
				document.forms.formregister.req_passwd1.style.border='1px solid red';
				document.forms.formregister.req_passwd2.style.border='1px solid red';
				document.forms.formregister.req_passwd1.focus();
				return false;
			}
			else
			{
				return true;
			}
		}
	}
}

/* sprawdzenie poprawności wypełnienia formularza zmian w profilu użytkownika */
function sprawdz_profil(a)
{
	//pierwszy napotkany element div
	var register_7=a.getElementsByTagName('div')[0];
	register_7.innerHTML='';

	//kolekcja obiektów - wszystkie pola input ze środka formularza
	var inputy=a.getElementsByTagName('input');
	
	//przejscie po wszystkich elementach
	for (var v=0; v<inputy.length; v++)
	{
		var b=inputy[v]
		b.style.border='';
		if ((b.name=="req_passwd1" || b.name=="req_passwd2") && !b.value=="")
		{
			if (b.name=="req_passwd1") //sprawdzenie długości hasła
			{
				if (b.value.length<3)
				{
					register_7.innerHTML='Hasło jest zbyt krótkie (minimum 3 znaki)!';
					b.style.border='1px solid red';
					b.focus();
					return false;
				}
				if (b.value.length>30)
				{
					register_7.innerHTML='Hasło jest zbyt długie (maksimum 30 znaków)!';
					b.style.border='1px solid red';
					b.focus();
					return false;
				}
			}
			if (b.name=="req_passwd1" && !b.value=="")
			{
				var passwd1=b.value;
			}
			if (b.name=="req_passwd2" && !b.value=="")
			{
				var passwd2=b.value;
			}
			if (!passwd1=="" && !passwd2=="")
			{
				if (passwd1!=passwd2)
				{
					register_7.innerHTML='Hasło w obu polach musi być identyczne!';
					document.forms.formregister.req_passwd1.style.border='1px solid red';
					document.forms.formregister.req_passwd2.style.border='1px solid red';
					document.forms.formregister.req_passwd1.focus();
					return false;
				}
				else
				{
					return true;
				}
			}
		}
	}
}

function checkCookieEnabled()
{
	if(navigator.cookieEnabled)return true;
	return false;
}

/*
function 
<script language="javascript">
			var funcs = {					
				'.sbGame' : function(elm) {
					elm.onmouseover = function() {
						this.className = 'sbGameHover';
					}					
					elm.onmouseout = function() {
						this.className = 'sbGame';
					}					
					elm.onclick = sbLink;					
				}				
			};
			var funcs2 = {
				'.playerStats' : function(elm) {
					elm.onmouseover = function() {
						this.className = 'playerStatsHover';
					}
					
					elm.onmouseout = function() {
						this.className = 'playerStats';
					}
				}
			};				
			var funcs3 = {
				'dl.pbpRow' : function(elm) {
					elm.onmouseover = function() {
						this.className = 'pbpRowHover';
					}
					
					elm.onmouseout = function() {
						this.className = 'pbpRow';
					}
				 
				}
			};				
			var funcs4 = {			
				'.gI_tabs' : function(elm) {				
					elm.onmouseover = function() {
						this.style.cursor = 'pointer';
						this.style.color = '#F65317';
					}					
					elm.onmouseout = function() { 
						this.style.color = '#6B6B6B';
					}					
					elm.onclick = tabLink;				
				}			
			};
		
			Behaviour.register(funcs);
			Behaviour.register(funcs2);
			Behaviour.register(funcs3);
			Behaviour.register(funcs4);

*/
