var menubox_timeout;
$("document").ready(function() {
	$("input:not(:radio,:checkbox,input[type=submit],input[type=image],input[id=searchInput],input[name=q]),textarea").focus(function(){
		$(this).css("background-color", "#F9D891");
	});
	$("input:not(:radio,:checkbox,input[type=submit],input[type=image],input[id=searchInput],input[name=q]),textarea").blur(function(){
		$(this).css("background-color", "#E1C891");
	});
	
	$(".spoilerTitle").click( function() {
		spoiling(this);
	});
	
	$("#extras_panel").bind('mouseenter', function() {
		clearInterval(menubox_timeout);
	});
	
	$("#extras_panel").bind('mouseleave', function() {
		menubox_timeout = setInterval('moveBox(1)', 6000);
	});
	
	$("#loginNotifierButton").click(hideSessNotifier);
	$("#redactorNotifierExit").click(redactorNotifierExit);
	
	bindVipAddons();
	bindTeamNotes();
	bindFuntibia();
	
	setTimeout("hideSessNotifier()", 10000);
	menubox_timeout = setInterval('moveBox(1)', 6000);
	
	
	if( $('#activeUsersList').length == 1 ) {
		$('#activeUsersRefresh').click(updateActiveUsersInfo);
		setTimeout('showActiveUserUpdater()', 120000);
	}
});

function spoiling(_this) {
	if( !$(_this).hasClass('spoiled')) {
		$(_this).next().slideDown('fast');
		$(_this).attr("title", "Kliknij, aby zakmnąć spoiler");
		$(_this).children().css("background-image", "url('" + IMG_SERVER + "library/forumGen/spoiler_open.gif')");
		$(_this).addClass('spoiled');
	} else {
		$(_this).next().slideUp('fast');
		$(_this).attr("title", "Kliknij, aby przeczytać spoiler");
		$(_this).children().css("background-image", "url('" + IMG_SERVER + "library/forumGen/spoiler_closed.gif')");
		$(_this).removeClass('spoiled');
	}
}
//nowe okno
//podawane sa: strona, odleglosc od gory, od lewej, szerokosc, dlugosc
function new_window(page,top,left,width,heigth) {         
    config="left="+left+",top="+top+",width="+width+",height="+heigth+",innerheight="+heigth+",innerwidth="+width+",toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no"; 
    title = 'Tibiopedia';		
	var newwin = window.open(page,title,config);
    newwin.focus();
}

function highlightTable() {
	var rows = document.getElementsByTagName('tr');
	for (var i = 0; i < rows.length; i++) {
		rows[i].onmouseover = function() {
			this.className += ' najazd';
		};
		rows[i].onmouseout = function() {
			this.className = this.className.replace('najazd', '');
		}
	}
}

function buttonizeItems() {
	var rows = document.getElementsByTagName('img');
	for (var i = 0; i < rows.length; i++) {
		rows[i].onmouseover = function() {
			this.className += ' nacisk';
		};
		rows[i].onmouseout = function() {
			this.className = this.className.replace('nacisk', '');
		}
	}
}

function mailIconChange(image_obj, pos_y) {
	var the_style = image_obj.style.backgroundPosition;
	image_obj.style.backgroundPosition = (parseInt(the_style) + 100) % 200 + "% " + pos_y;
}

function selectAll(the_form) {
	var is_checked = the_form.select_all.checked;

	for(var i = 0; i < the_form.elements.length - 3; i++) {
		the_form.elements[i].checked = is_checked;
	}
}

function tibiaTime(_time) {
	var time = _time.split(":");
	var minutes = parseInt(time[0]);
	var seconds = parseInt(time[1]);
	var tibia_time = ((minutes * 60 + seconds) / 2.5) / 60;
	tibia_time = parseInt(tibia_time * 100) / 100;
	var tibiaHours = parseInt(tibia_time);
	var tibiaMinutes = (tibia_time * 100) - (tibiaHours * 100);
	tibiaMinutes = tibiaMinutes * 0.6;
	tibiaMinutes = parseInt(tibiaMinutes);
	if(tibiaMinutes < 10) tibiaMinutes = "0" + tibiaMinutes;
	$("#clock").text(tibiaHours + ":" + tibiaMinutes);
	setTimeout("updateTibiaTime(" + tibiaHours + ", " + tibiaMinutes + ");", 2489);
	//updateTibiaTime(tibiaHours, tibiaMinutes);
}

function updateTibiaTime(_hours, _minutes) {
	var hours = _hours;
	var minutes = _minutes + 1;
	if(minutes >= 60) {
		hours = (hours + 1) % 24;
		minutes %= 60; 
	}
	if(minutes < 10) minutes = "0" + minutes;
	document.getElementById("clock").innerHTML = hours + ":" + minutes;
	setTimeout("updateTibiaTime(" + hours + ", " + minutes + ");", 2489);
}

function composeLegend(_id) {
	var legend = document.getElementById(_id);
	if(legend.style.visibility == 'hidden') {
		$.ajax({
			url: SITE_FOLDER + 'ajax/compose_post_legend/' + _id,
			success: function(data) {
				legend.innerHTML = data;
				legend.style.position = 'relative';
				legend.style.top = '';
				legend.style.visibility = 'visible';
				legend.style.marginTop = '15px';
			}
			
		});
	} else {
		legend.style.position = 'absolute';
		legend.style.visibility = 'hidden';
		legend.style.marginTop = '0';
		legend.style.top = '-60em';
	}
}

function changeMap(_map) {
	var town = (_map.indexOf('-') != -1) ? _map.substr(0, _map.length - 2) : _map.substr(0, _map.length - 1);
	$("#map")[0].src = IMG_SERVER + 'static/maps/' + town + '/' + _map + '.gif';
}

function changeNpcBg(_obj, _image) {
	_obj.style.background = "url(" + IMG_SERVER + "library/general/" + _image + ".jpg)";
}

function changeNpcTab(_obj) {
	var which_link = 0;
	if(_obj.className == 'npcTownsLink') which_link = 1;
	else if(_obj.className == 'npcJobsLink') which_link = 2;

	if( _obj.className == 'npcsTabItem' || (_obj.className == 'npcTownsLink' || _obj.className == 'npcJobsLink') ) {
		var jobs = document.getElementById("npcsJobsHolder").style;
		var towns = document.getElementById("npcsTownsHolder").style;
		var tabs = document.getElementById("npcsTabs").style;
		var old_tab;
		var new_tab;
		var change = 0;
		
		if(towns.position == 'absolute' && which_link != 2) {
			towns.position = '';
			towns.visibility = 'visible';
			jobs.visibility = 'hidden';
			jobs.position = 'absolute';
			old_tab = document.getElementById("npcsTabsItem1");
			new_tab = document.getElementById("npcsTabsItem2");
			change = 1;
		} else if(jobs.position == 'absolute' && which_link != 1) {
			jobs.position = '';
			jobs.visibility = 'visible';
			towns.visibility = 'hidden';
			towns.position = 'absolute';
			old_tab = document.getElementById("npcsTabsItem2");
			new_tab = document.getElementById("npcsTabsItem1");
			change = 1;
		}
		
		if(change) {
			old_tab.className = old_tab.className.replace('npcsTabItem', 'npcsTabItemClicked');
			new_tab.className = new_tab.className.replace('npcsTabItemClicked', 'npcsTabItem');
		}
	}
	return false;
}

function encodeAmp(_test) {
	return _test.replace(/&|&amp;/g, '\\#.0,');
}

function postPrev(_form) {
	var post_body = _form.elements["message"].value;
	if(post_body == '' || document.getElementById('postPreview').innerHTML != '') return;
	var post_body = _form.elements["threadname"].value;
	if(post_body != '') post_body = "&tname=" + post_body;
	var icon = checkedValue(_form.elements["t_icon"]);
	var message = "pbody=" + encodeAmp(_form.elements["message"].value) + "&ticon=" + icon + post_body;
	
	$.ajax({
		url: SITE_FOLDER + 'ajax/post_preview',
		type: "POST",
		data: message,
		success: function(data) {
			$("#postPreview").html(data);
			$("#postPreview").css('visibility', 'visible');
		}
	});
}

function ajaxCall(_script, _method, _message, _function) {
	if(window.XMLHttpRequest) request = new XMLHttpRequest();
	else request = new ActiveXObject("Microsoft.XMLHTTP");;
	if(request) {
		request.open(_method, _script);
		if(_method == "POST") request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
		request.onreadystatechange = _function;
		request.send(_message);
	} else {
	  alert("Niestety, musisz zainstalowac nowsza przegladarke.");
	}
}

function checkedValue(_collection) {
	for(var i = 0; i < _collection.length; i++) {
		if(_collection[i].checked == true) return _collection[i].value;
	}
	return false;
}

function postPrevHide() {
	document.getElementById('postPreview').innerHTML = '';
	document.getElementById('postPreview').style.visibility = 'hidden';
}

function openReportWindow(_id, _uid) {
	$("#reportPost" + _id).fadeIn("slow");
	$("#report" + _id).focus();
	$("#closeReport" +  _id).click( function() {
		$("#reportPost" + _id).fadeOut("slow");
	});
	$("#doReport" + _id).submit( function() {
		var message = $("#doReport" + _id)[0].report_message.value;
		var report_msg = 'm=' + message + '&p=' + _id;
		$.ajax({
			url: SITE_FOLDER + 'ajax/post_report',
			type: 'POST',
			data: report_msg,
			success: function() {
				$("#reportPost" + _id).fadeOut("slow");
				$("#reportButt" + _id).fadeOut(2000);
			}
			
		});
		return false;
	})
}

function showPollDetails() {
	$("#poll_details").css('display', '');
	$("#poll").css('border-bottom-style', 'none');
}

function hidePollDetails() {
	$("#poll_details").css('display', 'none');
	$("#poll").css('border-bottom-style', 'solid');
}

var poll_options = 2;

function addPollOption(_acclvl) {
	var allow = 10;
	if(_acclvl >= 22 || _acclvl == 13) allow = 20;
	
	var options = new Array(poll_options);
	for (var i = 0; i < poll_options; i++) {
		options[i] = $('input[name="option' + (i + 1) + '"]').val();
	}
	poll_options++;
	
	var htmlOptions = '';
	for(var i = 0; i < poll_options; i++) {
		htmlOptions += '<tr><td>Opcja  ' + (i + 1) + 
		':</td><td><input type="text" class="moderationInputs" style="width:320px" name="option' + 
		(i + 1) + '" value="' + ((options[i] != undefined) ? options[i] : '') + '" /></td></tr>';
	}
	$("#poll_options").html(htmlOptions);
	if(poll_options == allow) $("#add_pollopt").text('');
}

function pollVote(_form, _pollid, _options) {
	var message = '';
	var i;
	for(i = 0; i < _options; i++) {
		if(_form.poll_vote[i].checked == true) break;
	}
	if(i == _options) alert("Nie wybrano żadnej odpowiedzi.");
	else {
		$.ajax({
			url: SITE_FOLDER + 'ajax/pollvote/'+ _pollid + '/' + _form.poll_vote[i].value + '/' + _options,
			success: function(image) {
				$("#poll_image").attr('src', image).css('display', '');
				$("#submitVote").fadeOut('slow');
			}
		});
	}
	return false;
}

function switchMonTable(_obj) {
	if( $(_obj).text() == _LANG_['pokaz_odp'] ) {
		$(".resistMonSwi").text(_LANG_['pokaz_lup']);
		$(".monsterLoot").css('display', 'none');
		$(".monsterResists").css('display', 'table-cell');
	} else {
		$(".resistMonSwi").text(_LANG_['pokaz_odp']);
		$(".monsterResists").css('display', 'none');
		$(".monsterLoot").css('display', 'table-cell');
	}
}

function lvlCalc(_exp) {
	return Math.floor( (Math.sqrt(8 * _exp + 1) + 1) / 2 );
}

function expCalc(_lvl) {
	return ((_lvl - 1) * _lvl) / 2;
}

function reputation(_pid, _action, _authorid, _fid, _page, _postNo) {
	//_action: 1 - up; 0 - down
	var actual_exp = parseInt($(".u_exp_" + _authorid)[0].firstChild.nodeValue);
	$.ajax({
		url: SITE_FOLDER + 'ajax/reputation/' + _pid + '/' + _action + '/' + actual_exp + '/' + _fid + '/' + _page + '/' + _postNo,
		success: function(data) {
			var username = data;
			if(username == '') return false;
			if(username == 'x') {
				alert('Nie masz sił, aby wykonać akcję na tym użytkowniku!');
				return false;
			} else if(username == 'b') {
				alert('Regulowanie doświadczenia na tym forum zostało zablokowane!');
				return false;
			} else if(username == 'r') {
				alert('Dlaczego chcesz krytykować redaktora za jego ciężką pracę?');
				return false;
			} else if(username == 'a') {
				alert('Ta opcja została wyłączona przez administratora.');
				return false;
			}
			if(_action) {
				var action = 'up';
				var correction = 1;
			} else {
				if(actual_exp == 0) {
					$(".thUpDown" + _pid).fadeOut('slow');
					return false;
				}
				var action = 'down';
				var correction = -1;
			}
				
			if( $("#thumbs_" + action + "_" + _pid).text() != '' ) {
				$("#thumbs_" + action + "_" + _pid).html(
					$("#thumbs_" + action + "_" + _pid).text() + ', <a href="' + SITE_FOLDER + 'users/' + username + '">' + username + '</a>'
				);
			} else {
				$("#thumbs_" + action + "_" + _pid).html('<a href="' + SITE_FOLDER + 'users/' + username + '">' + username + '</a>');
			}
			$("#thumbs_" + action + "_" + _pid).parent().css('display', 'inline');
			$(".thUpDown" + _pid).fadeOut('slow');

			var new_exp = parseInt($(".u_exp_" + _authorid)[0].firstChild.nodeValue) + correction;
			if(new_exp < 0) new_exp = 0;
			var new_lvl = lvlCalc(new_exp);
			
			var exp_thislvl = expCalc(new_lvl);
			var exp_nextlvl = expCalc(new_lvl + 1);
			
			var new_prec = Math.round(((exp_nextlvl - new_exp) / (exp_nextlvl - exp_thislvl)) * 10000 ) / 100;
			
			$(".u_exp_" + _authorid).text(new_exp);
			$(".u_level_" + _authorid).text(new_lvl);
			$(".u_expBar_" + _authorid).css('width', 100 - new_prec + '%');
			$(".u_expBar_" + _authorid).parent().attr('title', new_prec + '% left');
		}
	});
	return false;
}

function showTeamInfo(_id) {
	var _form = $("#" + _id);
	$.ajax({
		url: SITE_FOLDER + 'ajax/team_info/' + _form[0].team_member.value,
		success: function(data) {
			var membInfo = eval('(' + data + ')');
			_form[0].role.value = membInfo.aclv;
			_form[0].t_desc.value = membInfo.desc;
		}
	});
}

var showUserInfoRequest = null;

function showUserInfo(_id) {
	if(showUserInfoRequest != null) {
		showUserInfoRequest.abort();
	}
	var _form = $("#" + _id);
	$('#loader').css('display', '');
	showUserInfoRequest = $.ajax({
		url: SITE_FOLDER + 'ajax/user_info/' + _form[0].user_id.value,
		success: function(data) {
			var userInfo = eval('(' + data + ')');
			
			_form.attr('action', SITE_FOLDER + 'panels/mod/users/' + userInfo.username);

			var accStatus;
			if(userInfo.activated == 0) {
				accStatus = '<span style="color:#666666">' + _LANG_['konto_nieaktywne'] + '</span>';
			} else if(userInfo.banned == 1) {
				accStatus = '<span style="color:#CC0000">' + 
								_LANG_['konto_ban'] + '<br />' +  
								_LANG_['konto_ban_powod'] + _LANG_['punnish_' + userInfo.ban_reason] + '<br />' +
								_LANG_['konto_ban_do'] + userInfo.banned_time + '<br />' +
							'</span>';
			} else {
				accStatus = '<span style="color:#24630B">' + _LANG_['konto_aktywne'] + '</span>';
			}
			$('#acc_status').html(accStatus);
			
			_form[0].rl_name.value = userInfo.rl_name;
			_form[0].rl_surname.value = userInfo.rl_surname;
			_form[0].rl_location.value = userInfo.rl_location;
			_form[0].description.value = userInfo.description;
			_form[0].forum_desc.value = userInfo.forum_desc;
			_form[0].forum_signature.value = userInfo.forum_signature;
			$('#user_threads').text(userInfo.threads);
			$('#user_posts').text(userInfo.posts);
			$('#user_ip').text(userInfo.last_login_ip);
			
			$('#avatar').css('display', 'none');
			$('#no_avatar').css('display', '');
			$('.del_avatar').css('display', 'none');
			
			$('#outfit').css('display', 'none');
			$('#no_outfit').css('display', '');
			$('.del_outfit').css('display', 'none');
			
			$('#ban_options').css('display', '');

			if(userInfo.avatar != null) {
				$('#avatar').attr('src', SITE_FOLDER + 'images/static/avatars/' + userInfo.avatar);
				$('#avatar').css('display', '');
				$('#no_avatar').css('display', 'none');
				$('.del_avatar').css('display', '');
				$(_form[0].del_avatar).attr('checked', false);
			}
			if(userInfo.access_lvl > 1 ) {
				if(userInfo.outfit != null) {
					$('#outfit').attr('src', SITE_FOLDER + 'images/static/user_outfits/' + userInfo.username + '.png');
					$('.del_outfit').css('display', '');
					$(_form[0].del_outfit).attr('checked', false)
				} else {
					$('#outfit').attr('src', SITE_FOLDER + 'images/static/user_outfits/default.png');
				}
				$('#outfit').css('display', '');
				$('#no_outfit').css('display', 'none');
			}
			if(userInfo.banned == 1) {
				$('#ban_options').css('display', 'none');
			}
			$('#loader').css('display', 'none');
		}
	});
}

function changeTab(_obj) {
	$("#tab1,#tab2,#tab3,#tab4,#tab5").attr('class', 'npcsTabItem');
	$("#tab1holder,#tab2holder,#tab3holder,#tab4holder,#tab5holder").css('display', 'none');
	$("#" + $(_obj).attr('id')).attr('class', 'npcsTabItemClicked');
	$("#" + $(_obj).attr('id') + 'holder').css('display', 'block');
}

function userNotePage(_page, _uid) {
	self.scrollTo(0, 0);
	$("#user_notes_page").html('<center><img src="' + IMG_SERVER + '/static/monsters/war_golem.gif" alt="" /></center>');
	$.ajax({
		url: SITE_FOLDER + 'ajax/user_notes/' + _page + '/' + _uid,
		success: function(data) {
			$("#user_notes_page").html(data);
		}
	});
}

var authorMenuClick = 0;
function expandAuthorMenu(_id) {
	$(".authorPostMenu").css('width', '0').css('height', '0').css('visibility', 'hidden');
	$('body').click(function() {
		authorMenuClick++;
		if(authorMenuClick == 2) {
			$("#author_menu_" + _id).fadeOut('slow', function() {
				$("#author_menu_" + _id).css('width', '0').css('height', '0');
			});
			$('body').unbind('click');
			authorMenuClick = 0;
		}
	});
	$("#author_menu_" + _id).css('visibility', 'visible');
	$("#author_menu_" + _id).animate({"width": 165, "height": 48}, 600);
}

function clearSearch(_obj) {
	if(_obj.value == 'wyszukaj ...') {
		_obj.value = '';
		$('#blankInput').css('font-style', 'normal');
	}
}

var menu_box = 0;

function moveBox(_action) {
	var the_margin = parseInt( $("#ep_switch").css('margin-left') );
	
	if(_action) {	//1 - prawo
		the_margin -= 166;
		menu_box++;
		if(the_margin < -498) {
			the_margin = menu_box = 0;
		}
		
	} else {
		the_margin += 166;
		menu_box--;
		if(the_margin > 0) {
			the_margin = -498;
			menu_box = 3;
		}
	}
	
	var menu;
	if(menu_box == 0) {
		menu = _LANG_['bossy'];
	} else if(menu_box == 1) {
		menu = _LANG_['na_forum'];
	} else if(menu_box == 2) {
		menu = 'VIP';
	} else if(menu_box == 3) {
		menu = 'PACC';
	}
		
	$("#ep_head").fadeOut('fast', function() {
		$("#ep_head").text(menu);
		$("#ep_head").fadeIn('fast');
	});
	$("#ep_switch").animate({marginLeft: the_margin + "px"}, 500);
}

function accessColor(_acc) {
	switch(_acc) {
		case '9':
			return '#FFD71B';
		case '11':
			return '#000000';
		case '12':
			return '#D66A00';
		case '13':
			return '#0D457F';
		case '14':
			return '#9CFFB4';
		case '15':
			return '#7E0E77';
		case '19':
			return '#006A11';
		case '22':
			return '#C60500';
		case '25':
			return '#EDEDED';
		case '30':
			return '#C60500';
	}
}

function refreshRegToken() {
	$.ajax({
		url: SITE_FOLDER + 'ajax/refresh_regtoken',
		success: function(data) {
			$("#regToken").attr('src', data);
		}
	});
}

function loadFeatured(month) {
	$.ajax({
		url: SITE_FOLDER + 'ajax/load_featured/' + month,
		success: function(data) {
			if(data != false) {
				var myObject = eval('(' + data + ')');
				var text = myObject.text;
				var abstr = myObject['abstract'];
				var title = myObject.title;
				if(myObject.published == 1) {
					$('#featPublished').attr('checked', true).attr('disabled', true);
				} else {
					$('#featPublished').attr('checked', false).attr('disabled', false);
				}
			} else {
				var text = '';
				var abstr = '';
				var title = '';
				$('#featPublished').attr('checked', false).attr('disabled', false);
			}
			tinyMCE.get('featText').setContent(text);
			tinyMCE.get('featAbstr').setContent(abstr);
			$('#featTitle').val(title);
			$('#featuredTopic').text(title);
		}
	});
}

function loadNewspaper(month) {
	$.ajax({
		url: SITE_FOLDER + 'ajax/load_newspaper/' + month,
		success: function(data) {
			if(data != false) {
				var myObject = eval('(' + data + ')');
				var text = myObject.text;
				var abstr = myObject['abstract'];
				if(myObject.published == 1) {
					$('#featPublished').attr('checked', true).attr('disabled', true);
				} else {
					$('#featPublished').attr('checked', false).attr('disabled', false);
				}
			} else {
				var text = '';
				var abstr = '';
				$('#featPublished').attr('checked', false).attr('disabled', false);
			}
			tinyMCE.get('featText').setContent(text);
			tinyMCE.get('featAbstr').setContent(abstr);
			$('#featuredTopic').text(title);
		}
	});
}

function saveFeatured() {
	var abstr = tinyMCE.get('featAbstr');
	var editor = tinyMCE.get('featText');
	var month = $('#featMonth').val();
	var message = 'm=' + month + '&t=' + $('#featTitle').val() + '&a=' + encodeAmp(abstr.getContent()) +
			'&f=' + encodeAmp(editor.getContent()) + '&p=' + $('#featPublished').attr('checked');
	$.ajax({
		url: SITE_FOLDER + 'ajax/save_featured/' + month,
		type: 'POST',
		data: message,
		success: function() {
			editor.setProgressState(0);
			$('#saveFeaturedInfo').css('visibility', 'visible');
			$('#saveFeaturedInfo').fadeOut(2000, function() {
				$('#saveFeaturedInfo').css('visibility', 'hidden').css('display', '');
			});
		}
	});
	return false;
}

function publishFeatured() {
	var month = $('#featMonth').val();
	$.ajax({
		url: SITE_FOLDER + 'ajax/publish_featured/' + month,
		type: 'POST',
		data: null,
		success: function() {
			$('#featPublished').attr('disabled', true);
			$('#featPublishedInfo').css('visibility', 'visible');
			$('#featPublishedInfo').fadeOut(2000, function() {
				$('#featPublishedInfo').css('visibility', 'hidden').css('display', '');
			});
		}
	});
}

function saveNewspaper() {
	var abstr = tinyMCE.get('featAbstr');
	var editor = tinyMCE.get('featText');
	var month = $('#featMonth').val();
	var message = 'm=' + month + '&a=' + encodeAmp(abstr.getContent()) +
			'&f=' + encodeAmp(editor.getContent()) + '&p=' + $('#featPublished').attr('checked');
	$.ajax({
		url: SITE_FOLDER + 'ajax/save_newspaper/' + month,
		type: 'POST',
		data: message,
		success: function() {
			editor.setProgressState(0);
			$('#saveFeaturedInfo').css('visibility', 'visible');
			$('#saveFeaturedInfo').fadeOut(2000, function() {
				$('#saveFeaturedInfo').css('visibility', 'hidden').css('display', '');
			});
		}
	});
	return false;
}

function publishNewspaper() {
	var month = $('#featMonth').val();
	$.ajax({
		url: SITE_FOLDER + 'ajax/publish_newspaper/' + month,
		type: 'POST',
		data: null,
		success: function() {
			$('#featPublished').attr('disabled', true);
			$('#featPublishedInfo').css('visibility', 'visible');
			$('#featPublishedInfo').fadeOut(2000, function() {
				$('#featPublishedInfo').css('visibility', 'hidden').css('display', '');
			});
		}
	});
}

function saveManualPage(_chapter, _section) {
	var editor = tinyMCE.get('manualPageText');
	var message = '&t=' + encodeAmp(editor.getContent()) + '&c=' + _chapter + '&s=' + _section + '&h=' + $('#sectionHeaders').val();
	$.ajax({
		url: SITE_FOLDER + 'ajax/save_manual_page',
		type: 'POST',
		data: message,
		success: function() {
			editor.setProgressState(0);
			$('#saveFeaturedInfo').css('visibility', 'visible');
			$('#saveFeaturedInfo').fadeOut(2000, function() {
				$('#saveFeaturedInfo').css('visibility', 'hidden').css('display', '');
			});
		}
	});
	return false;
}

function scrollToId(_id) {
	$(window).scrollTo( _id, 400, function() {
		window.location.hash = _id;
	});
}

function getFlashMovieObject(movieName) {
	var movie = document.getElementById(movieName);

	if(movie != null && movie.tagName.toUpperCase() == 'OBJECT')
		return movie;

	if(movie != null && window.document[movieName])
		return window.document[movieName];

	return null;
}

function toggleLights(_id) {
	if( $("#noLights").css('display') == 'none' ) {
		$('.bulb,.wideScreen,.youtubeObj').css('z-index', '10');
		$('.tvnLights_' + _id).css('z-index', '1000');
		$('body').append( $('#noLights') );
		$("#noLights").css('opacity', '0.0');
		$("#noLights").css('display', 'block');
		$("#noLights").animate({opacity: "0.98"}, 800);
		$('.bulb').attr('src', IMG_SERVER + 'static/general/bulb_off.png');
		clearInterval(menubox_timeout);
	} else {
		$("#noLights").fadeOut("slow");
		$('.bulb').attr('src', IMG_SERVER + 'static/general/bulb_on.png');
		menubox_timeout = setInterval('moveBox(1)', 6000);
	}
}

function calcHeightMovieScreen(_width) {
	return ((_width * 9) / 16) + 25;
}

function toggleWideScreen(_id) {
	if( $('.clipForWideScreen').css('display') == 'none' ) {
		$('.clipForWideScreen').css('display', '');
		$('.youtubeObj').attr('width', 560).attr('height', calcHeightMovieScreen(560));
		$('.wideScreen').attr('src', IMG_SERVER + 'static/general/fullscreen_off.png').css('margin-left', '545px');
		$('.bulb').css('margin-left', '590px');
	} else {
		$('.clipForWideScreen').css('display', 'none');
		var movieWidth = $('.postBody').width() - 10;
		var movieHeight = calcHeightMovieScreen(movieWidth);
		if(movieWidth > 0) {
			$('.youtubeObj').attr('width', movieWidth).attr('height', movieHeight);
			$('.wideScreen').attr('src', IMG_SERVER + 'static/general/fullscreen_on.png').css('margin-left', (movieWidth - 45) + 'px');
			$('.bulb').css('margin-left', (movieWidth - 20) + 'px');
		}
	}
}

function toggleWideScreenSB(){
	if($('.youtubeObj').attr('width') != 560) {
		$('.youtubeObj').attr('width', 560).attr('height', calcHeightMovieScreen(560));
		$('.wideScreen').attr('src', IMG_SERVER + 'static/general/fullscreen_off.png').css('margin-left', '545px');
		$('.bulb').css('margin-left', '590px');
		$('.closeYTSB').css('margin-left', '630px');
	} else {
		var movieWidth = $('#forumHolder').width() - 40;
		var movieHeight = calcHeightMovieScreen(movieWidth);
		if(movieWidth > 0) {
			$('.youtubeObj').attr('width', movieWidth).attr('height', movieHeight);
			$('.wideScreen').attr('src', IMG_SERVER + 'static/general/fullscreen_on.png').css('margin-left', (movieWidth - 60) + 'px');
			$('.bulb').css('margin-left', (movieWidth - 20) + 'px');
			$('.closeYTSB').css('margin-left', (movieWidth + 20) + 'px');
		}
	}
}

function openYTMovieSB(_id) {
	$('#sb_youtube').fadeOut('fast', function() {
		$('#sb_youtube object').attr('data', 'http://www.youtube.com/v/' + _id);
		$('#sb_youtube object param[name="movie"]').attr('value', 'http://www.youtube.com/v/' + _id);
		setTimeout("afterLoadYTMovieSB()", 2000);
	});
}

function afterLoadYTMovieSB() {
	$('#sb_youtube').fadeIn('fast', function() {
		$(window).scrollTo('#sb_youtube', 400);
	});
}

function closeYTMovieSB() {
	$(window).scrollTo('.sb_bar', 400);
	$('#sb_youtube').fadeOut('fast', function() {
		$('#sb_youtube object').attr('data', '');
		$('#sb_youtube object param[name="movie"]').attr('value', '');
	});
}

function hideSessNotifier() {
	$("#loginNotifierContent").animate({ height: 5}, 500);
	$("#loginNotifierBottom").animate({ marginTop: -27}, 500, function() {
		$("#loginNotifier").fadeOut('fast', function() {
			$("#loginNotifier").remove();
		});
	});
}

function targetElement(e) {
	var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) { // defeat Safari bug
		targ = targ.parentNode;
	}
	return targ;
}

function changeUserEq(_id, _val) {
	var valInfo = _val.split('|');	//id|image
	var item = $('#' + _id +' option[value="' + _val + '"]').text();
	
	if(valInfo[0] != 0) {
		var image = 'static/items/' + valInfo[1];
	} else {
		var image = 'static/dressup/empty_' + _id + '.gif';
	}
	eq_changed = true;
	$('#user_' + _id + ' img').attr('src', IMG_SERVER + image).attr('title', item);
}

var eq_changed = false;
function manageUserEq() {
	if( $('#edit_user_eq').css('display') == 'none' ) {
		$('#user_eq_button').val(_LANG_['zapisz']);
		$('#edit_user_eq').css('display', 'inline-block');
		$('.user_eq_holder').css('margin-left', '0');
	} else {
		if(eq_changed == false) {
			$('#user_eq_button').val(_LANG_['edytuj'])
			$('#edit_user_eq').css('display', 'none');
			$('.user_eq_holder').css('margin-left', '20px');
			return;
		}
		$('#loader_eq').css('visibility', 'visible');
		var message = 'helmet=' + $('#eq_helmet').val() + '&amulet=' + $('#eq_amulet').val() +
				'&backpack=' + $('#eq_backpack').val() + '&armor=' + $('#eq_armor').val() +
				'&weapon=' + $('#eq_weapon').val() + '&shield=' + $('#eq_shield').val() +
				'&legs=' + $('#eq_legs').val() + '&ring=' + $('#eq_ring').val() +
				'&equip=' + $('#eq_equip').val() + '&boots=' + $('#eq_boots').val();
		$.ajax({
			url: SITE_FOLDER + 'ajax/save_eq_skills',
			type: 'POST',
			data: message,
			success: function() {
				$('#user_eq_button').val(_LANG_['edytuj'])
				$('#edit_user_eq').css('display', 'none');
				$('.user_eq_holder').css('margin-left', '20px');
				$('#loader_eq').css('visibility', 'hidden');
				eq_changed = false;
			}
		});
	}
}

var skills_changed = false;
function manageUserSkill() {
	if( $('.user_skill').css('display') == 'none' ) {
		$('.user_skill').css('display', 'block');
		$('.user_skill').prev().css('display', 'none');
		$('#user_skill_button').val(_LANG_['zapisz']);
	} else {
		if(skills_changed == false) {
			$('#user_skill_button').val(_LANG_['edytuj'])
			$('.user_skill').css('display', 'none');
			$('.user_skill').prev().css('display', 'block');
			return;
		}
		$('#loader_skill').css('visibility', 'visible');
		var message = 'mlvl=' + $('#user_skill_mlvl').val() + '&fist=' + $('#user_skill_fist').val() + '&club=' + $('#user_skill_club').val() +
				'&sword=' + $('#user_skill_sword').val() + '&axe=' + $('#user_skill_axe').val() + '&dist=' + $('#user_skill_dist').val() + 
				'&shield=' + $('#user_skill_shield').val() + '&fishing=' + $('#user_skill_fishing').val();
		$.ajax({
			url: SITE_FOLDER + 'ajax/save_user_skills',
			type: 'POST',
			data: message,
			success: function() {
				$('#user_skill_button').val(_LANG_['edytuj'])
				$('.user_skill').css('display', 'none');
				$('.user_skill').prev().css('display', 'block');
				$('#loader_skill').css('visibility', 'hidden');
				skills_changed = false;
			}
		});
	}
}

function prepareUserSkillEdit() {
	$('input[class^="user_skill"]').keydown(function(e) {
		if(e.shiftKey == true || e.ctrlKey == true || e.altKey == true) {
			return false;
		}
		if(e.keyCode == 8 || e.keyCode == 9 || e.keyCode == 37 || e.keyCode == 39 || e.keyCode == 46 || 
				(e.keyCode >= 48 && e.keyCode <= 57) || (e.keyCode >= 96 && e.keyCode <= 105)) {
			return true;
		}
		return false;
	}).keyup(function() {
		var id = $(this).attr('id').substring(5);
		var val = $(this).val();
		if(val == '') {
			val = _LANG_['niedostepne'];
		}
		$('#' + id).text( val );
		skills_changed = true;
	}).blur(function () {
		var id = $(this).attr('id').substring(5);
		var val = $(this).val();
		if(id != 'skill_mlvl') {
			if( parseInt(val) < 10) {
				val = 10;
				$(this).val(10);
				$('#' + id).text(10);
			}
		}
	});
}

var activeVipTab = 1;
var vipListEditedNick = '';
var viplistFroze = false;
var vipListLock = false;
function bindVipAddons() {
	$('#vipListLoad').mouseenter(function() {
		$("#vipsAddon").stop(true, false).animate({right:"0"},"medium");
		$("#teamNotes").css('z-index', '10');
	});
	$("#vipsAddon").mouseleave(function() {
		if( !viplistFroze && !vipListLock) {
			$("#vipsAddon").stop(true, false).animate({right:"-205"},"medium", function() {
				$("#teamNotes").css('z-index', '20');
			});
		}
	});
	$('#vipTab1').addClass('vipTabPressed');
	$('.vipTab').click(viplistTabClick);
	$('.vipTabAdd').click(vipTabAddClick);
	$('#vipAddButton').click(vipAddNickClick);
	$('#vipAddName').keyup(function(e) {
		if(e.keyCode == 13) {
			vipAddNickClick();
		}
	});
	$('#vipListStatusUpdater').click(viplistStatusUpdater);
	viplistBindNickOptions();
	$('#vipRemoveTabButton').click(function() {
		var world = $('.vipTabPressed');
		if(world.length == 1) {
			var worldName = world.text();
			if( confirm(_LANG_['viplist_usunworld'] + worldName + '?') ) {
				$('#vipListLoader').fadeIn('fast');
				$.ajax({
					url: SITE_FOLDER + 'ajax/viplist_removeworld/' + worldName,
					success: function(){
						if(activeVipTab != 1) {
							activeVipTab--;
						}
						$.ajax({
							url: SITE_FOLDER + 'ajax/viplist_refresh',
							success: function(data) {
								viplist_reload_offline(data);
								
								$.ajax({
									url: SITE_FOLDER + 'ajax/viplist_worlds',
									success: function(data) {
										$('#vipTabHolder').html(data);
										viplistShow(activeVipTab);
										$('.vipTab').click(viplistTabClick);
										$('.vipTabAdd').click(vipTabAddClick);
										$('#vipListLoader').fadeOut('fast');
									}
								});
							}
						});
					}
				});
			}
		}
	});
	$('.vipListIcon').click(function() {
		vipIcon = $(this).attr('id').substr(11);
		$('#vipListIcons').fadeOut();
		$('#vipListLoader').fadeIn('fast');
		$.ajax({
			url: SITE_FOLDER + 'ajax/viplist_changenick',
			type: 'POST',
			data: 'n=' + vipListEditedNick + '&i=' + vipIcon,
			success: function(data) {
				viplist_reload_offline(data);
			}
		});
	});
	$('#vipListIconExit').click(function() {
		$('#vipListIcons').fadeOut();
	});
	$('#vipListLocker').click(function() {
		$(this).toggleClass('vipListLockerFree');
		$(this).toggleClass('vipListLockerLock');
		vipListLock = !vipListLock;
	});
}

function viplist_reload_online(_data) {
	$('#vipListHolder').html(_data);
	viplistShow(activeVipTab);
	$('#vipListStatus').css('display', 'none');
	$('.viplist').height(292);
	viplistBindNickOptions();
	$('#vipListLoader').fadeOut('fast');
}

function viplist_reload_offline(_data){
	$('#vipListHolder').html(_data);
	viplistShow(activeVipTab);
	showStatusUpdater();
	viplistBindNickOptions();
	$('#vipListLoader').fadeOut('fast');
}

function viplistBindNickOptions() {
	$('.viplist a').hover(function() {
		$(this).children('span').css('display', 'block');
	}, function() {
		$(this).children('span').css('display', 'none');
	});
	$('.viplistEditNick').click(function(e) {
		$('#vipListIcons').fadeIn();
		vipListEditedNick = $(this).parent().text();
		e.preventDefault();
	});
	$('.viplistRemoveNick').click(function(e) {
		if( confirm(_LANG_['viplist_usunnick']) ) {
			var parent = $(this).parent();
			$.ajax({
				url: SITE_FOLDER + 'ajax/viplist_removenick',
				type: 'POST',
				data: 'n=' + parent.text(),
				success: function() {
					parent.remove();
				}
			});
		}
		e.preventDefault();
	});
}

function viplistStatusUpdater() {
	$('#vipListLoader').fadeIn('fast');
	$.ajax({
		url: SITE_FOLDER + 'ajax/viplist_checkonline',
		success: function(data){
			var checkInfo = eval('(' + data + ')');
			if(checkInfo.error == false) {
				viplist_reload_online(checkInfo.data);
			} else {
				$('#vipListLoader').fadeOut('fast');
				alert(checkInfo.message);
			}
		}
	});
}

function showStatusUpdater() {
	$('#vipListStatus').css('display', 'block');
	$('.viplist').height(278);
}

function vipAddNickClick() {
	$('#vipListLoader').fadeIn('fast');
	$.ajax({
		url: SITE_FOLDER + 'ajax/viplist_addnick',
		type: 'POST',
		data: 'w=' + $('.vipTabPressed').text() + '&n=' + $('#vipAddName').val(),
		success: function(data) {
			var addInfo = eval('(' + data + ')');
			if(addInfo.error == false) {
				$('#vipAddName').val('');
				viplist_reload_offline(addInfo.data);
			} else {
				$('#vipListLoader').fadeOut('fast');
				alert(addInfo.message);
			}
		}
	});
}

function viplistTabClick() {
	var id = $(this).attr('id').substr(6);
	viplistShow(id);
}

function viplistShow(_id) {
	$('.vipTab').removeClass('vipTabPressed');
	$('.viplist').css('display', 'none');
	$('#vipList' + _id).css('display', 'block');
	$('#vipTab' + _id).addClass('vipTabPressed');
	activeVipTab = _id;
}

var viplistSelect = null;
function vipTabAddClick() {
	$('.vipTabAdd').text(_LANG_['dodaj']);
	$('.vipTabAdd').click(vipTabAddClick);
	var thisElem = $(this);
	if(viplistSelect == null) {
		$.ajax({
			url: SITE_FOLDER + 'ajax/get_worlds',
			success: function(data) {
				viplistSelect = data;
				afterViplistWorldsLoad(thisElem, viplistSelect);
			}
		});
	} else {
		afterViplistWorldsLoad(thisElem, viplistSelect);
	}
}

function afterViplistWorldsLoad(_elem, _data) {
	_elem.unbind('click');
	_elem.html(_data);
	viplistFroze = true;
	$('#vipWorlds').change(vipWorldSelectChanged);
}

function vipWorldSelectChanged() {
	viplistFroze = false;
	if($(this).val() == '') {
		$(this).parent().html(_LANG_['dodaj']);
		$('.vipTabAdd').click(vipTabAddClick);
		return;
	}
	$('#vipListLoader').fadeIn('fast');
	$.ajax({
		url: SITE_FOLDER + 'ajax/viplist_addworld/' + $(this).val(),
		success: function(data) {
			var tabsInfo = eval('(' + data + ')');
			if(tabsInfo.error == false) {
				$('#vipTabHolder').html(tabsInfo.tabs);
				viplistShow(tabsInfo.tab);
				$('.vipTab').click(viplistTabClick);
				$('.vipTabAdd').click(vipTabAddClick);
				$('#vipListLoader').fadeOut('fast');
			} else {
				alert(tabsInfo.message);
				viplistFroze = true;
			}
			$('#vipListLoader').fadeOut('fast');
		}
	});
}

var teamNoteClicked = false;
var teamNoteBaseText;
function bindTeamNotes() {
	$('#teamNotesLoad').click(function() {
		if(teamNoteClicked) {
			$("#teamNotes").stop(true, false).animate({right:"-402"},"medium");
			teamNoteClicked = false;
		} else {
			$("#teamNotes").stop(true, false).animate({right:"0"},"medium");
			teamNoteClicked = true;
			makeTeamNoteClicked();
		}
	});
	
	$('#teamNotesAction').click(function() {
		var button = $(this).attr('class');

		if(button == 'teamNotesEditButton') {
			teamNoteBaseText = $('#teamNotesEdit').val();
			
			$(this).attr('class', 'teamNotesSaveButton').attr('title', _LANG_['zapisz']);
			$('#teamNotesEdit').css('display', 'block');
			$('#teamNotesText').css('display', 'none');
		} else if(button == 'teamNotesSaveButton') {
			if(teamNoteBaseText != $('#teamNotesEdit').val()) {
				saveTeamNote();
			} else {
				$('#teamNotesEdit').css('display', 'none');
				$('#teamNotesText').css('display', 'block');
			}
			$(this).attr('class', 'teamNotesEditButton').attr('title', _LANG_['edytuj']);
		}
	});
	
	$("#teamNotesEdit").focus(function () {$(this).css("background-color", "#D9D9D9");});
    $("#teamNotesEdit").blur(function () {$(this).css("background-color", "#ABABAB");});
}

function saveTeamNote() {
	$.ajax({
		url: SITE_FOLDER + 'ajax/save_team_notes',
		type: 'POST',
		data: 'n=' + encodeAmp($('#teamNotesEdit').val()),
		success: function(data) {
			var notesInfo = eval('(' + data + ')');
			$('#teamNotesText').html(notesInfo.note_parsed);
			$('#teamNotesEdit').val(notesInfo.note);
			$('#teamNotesEditor').text(notesInfo.editor);
			$('#teamNotesEdited').text(notesInfo.edited_time);
			$('#teamNotesEdit').css('display', 'none');
			$('#teamNotesText').css('display', 'block');
		}
	});
}

function makeTeamNoteClicked() {
	$.ajax({
		url: SITE_FOLDER + 'ajax/read_team_notes',
		success: function() {
			$('#teamNotesNotify').fadeOut();
		}
	});
}

function bindFuntibia() {
	$('#funtibiaArtsLoad').mouseenter(function() {
		$("#funtibiaArts").stop(true, false).animate({right:"0"},"medium", function() {
			$("#teamNotes").css('z-index', '10');
			$("#vipsAddon").css('z-index', '10');
		});
		$("#teamNotes").css('z-index', '10');
		$("#vipsAddon").css('z-index', '10');
	});
	$("#funtibiaArts").mouseleave(function() {
		$("#funtibiaArts").stop(true, false).animate({right:"-300"},"medium", function() {
			$("#teamNotes").css('z-index', '20');
			$("#vipsAddon").css('z-index', '20');
		});
	});
}

function updateActiveUsersInfo() {
	$('#activeUsersListLoader').addClass('activeUsersListLoader');
	$('#activeUsersList a').css('opacity', 0.3);
	$('#activeUsersStats').css('opacity', 0.3);
	$('#activeUsersRefresh').fadeOut();
	$.ajax({
		url: SITE_FOLDER + 'ajax/update_active_users_list/' + fid + '/' + tid,
		success: function(data) {
			var usersData = eval('(' + data + ')');
			$('#activeUsersList').html(usersData.activeUsersList);
			$('#activeUsersStats').text(usersData.activeUsersStats);
			
			$('#activeUsersListLoader').removeClass('activeUsersListLoader');
			$('#activeUsersList a').css('opacity', 1);
			$('#activeUsersStats').css('opacity', 1);
			
			setTimeout('showActiveUserUpdater()', 120000);
		}
	});
}

function showActiveUserUpdater() {
	$('#activeUsersRefresh').fadeIn();
}

function postDeleteReasonCheck(_obj) {
	if($('#delete_reason').val().length == 0) {
		alert(_LANG_['post_usun_powod']);
		return false;
	}
	$(_obj).css('display', 'none');
}

function redactorNotifierExit() {
	$.ajax({
		url: SITE_FOLDER + 'ajax/redactor_notified',
		success: function() {
			$('#redactorNotifierHolder').fadeOut();
		}
	});
}

