(function($) {
	$.fn.extend({
		serializeNode: function() {
			var vals = '';
			
			// Przepisanie danych z pol TinyMCE do korelujacych textarea
			// wraz z konwersją kłopotliwych ampersandów	
			$(this).find('textarea.textarea-tinymce').each(function(index){
				$(this).val(tinyMCE.get($(this).attr('id')).getContent().replace(/\&/gi, '%26'));
			});
			
			// Serializacja danych z pol tekstowyh, ukrytych, textarea i select
			$(this).find('input[type="text"],input[type="hidden"],select,textarea').each(function(index){
				vals += '&' + $(this).attr('name') + '='+($(this).val());
			});
			// Serializacja danych z checkboxow
			$(this).find('input[type="checkbox"]').each(function(index){
				if ($(this).attr('name') == 'g[]') {
					vals += '&' + $(this).attr('name') + '='+$(this).val();
					if (!$(this).attr('checked')) {
						vals+= '&off[]='+$(this).val();
					}
				} else {
					vals += '&' + $(this).attr('name') + '='+($(this).attr('checked') ? $(this).val():false);
				}
			});
			// Serializacja danych z pol radio
			$(this).find('input[type="radio"][checked="true"]').each(function(index){
				vals += '&' + $(this).attr('name') + '='+($(this).val());
			});
			return vals;
		}
	})
})(jQuery);

if($.browser.opera) {
	$('#advanced_search').ready(function() {
		$('#advanced_search').css('margin-left', '-155px');
	});
}

var openGallery = function(id) {
 	$('#gallery-'+id).hasClass('hidden') ? $('#gallery-'+id).removeClass('hidden') : $('#gallery-'+id).addClass('hidden');
}

/** tips */
var zindex = 1000;
var tipit = function(context) {
	if (context) {
		$(context).find('[tip]', '[tip!=""]').hover(tipIn,tipOut);
	} else {
		$('[tip]', '[tip!=""]').hover(tipIn,tipOut);
	}
}
var createTip = function(el) {
	var position = $(el).position();
	var tip = '<div class="tip" style="left: ' + (position.left-10) + 'px; top: ' + (position.top-25) + 'px;"><div class="content">' + $(el).attr('tip') + '</div><div class="end"></div><div class="clear"></div></div>';
	$(el).prepend(tip);
	$(el).find('.tip').hide();
	$(el).attr('tip', '');
	$(el).attr('title', '');
}
var hasTip = function(el) {
	return ($(el).find('.tip').length > 0); 
}
var showTip = function(el) {
	if ($(el).attr('isAnimated') != true) {
		$(el).attr('isAnimated', true);
		$(el).css('z-index', zindex++);
		$(el).find('.tip').show();
		$(el).attr('isAnimated', false);
	}
}
var hideTip = function(el) {
	if ($(el).attr('isAnimated') != true) {
		$(el).attr('isAnimated', true);
		$(el).find('.tip').hide(); 
		$(el).attr('isAnimated', false);
	}
}
var tipIn = function(e) {
	if (!hasTip(this)) createTip(this);
	showTip(this);
}
var tipOut = function(e) {
	hideTip(this);
}
$(document).ready(function(){
	tipit();
});

$('#filtry_kalendarium_container').ready(function() {
	$('#filtry_kalendarium input.filtruj').click(function(){loadCalendar()});	
});

var filtryKalendariumSwitchClick = function() {
		if ($('#filtry_kalendarium_switch').html() == 'Parametry aktualności »') {
			$('#filtry_kalendarium_switch').html('&laquo; ukryj parametry aktualności');
			$('#filtry_kalendarium').fadeIn();
		} else {
			$('#filtry_kalendarium_switch').html('Parametry aktualności &raquo;');
			$('#filtry_kalendarium').fadeOut();
		}
		return false;		
};

var loadTags = function(synset_id, tag_id, container) {
	if ($('#ref_'+container).html() == '[+]') {
		$('#ref_'+container).html('[&#150;]')
		$.post(baseURL+'showTags', { synset_id:synset_id, tag_id:tag_id }, function(response) {
			if (response) {
				$('#'+container).html(response).fadeIn();
			} else {
				$('#ref_'+container).html('[+]');
				$('#'+container).html('Brak tagów').fadeIn().delay(800).fadeOut();
			}
		});
	} else {
		$('#ref_'+container).html('[+]');
		$('#'+container).fadeOut();
	}
}

var loadIndexes = function(tag_id) {
	var tag_id = tag_id ? tag_id : null;
	var data = {};
	if (tag_id) {
		data = {
			tag_id: tag_id
		};
	}
	$('#filtry_indeksy a').unbind('click').click(function(){return false});
	$('#filtry_indeksy').fadeTo(150,.4).load(baseURL+'renderIndexes', data, function(response, status, xhr) {
		if (status == "error") {
		   var msg = "Sorry but there was an error: ";
		   alert(msg + xhr.status + " " + xhr.statusText);
		}
		$('#filtry_indeksy').fadeTo(150,1);
	});
	return false;
}

var selectTag = function(tag_id, tag_name) {
	$('#adv_search').val(true);
	$('#tag_mode').val(true);
	$('#search_box_query').val('');
	var tag_id = tag_id ? tag_id : null;
	var tag_name = tag_name ? tag_name : 'wczytywanie...';
	var n = $("#search-tag-results input:checked").length;
	if (tag_id) {
		if ($('#search-tag-results input[value="'+tag_id+'"]').length == 0) {
		
			if (n>=5) {
				alert("Jednocześnie możesz wybrać maksymalnie 5 tagów!");
			} else {
				$('#search-tag-results input:checked').removeAttr('checked');
				$('#search-tag-results').prepend('<li><label style="cursor: pointer;"><input type="checkbox" name="g[]" value="'+tag_id+'" checked="checked"> '+tag_name+'</label></li>');
				$sr.submitForm();
			}
			$('#search_tags_list').removeClass('rolledup');
			$('#search_tags_list').fadeIn();	
		}
	}
	return false;
}

var insertTag = function(tag_id, tag_name) {
	window.opener.selectTag(tag_id, tag_name);
}

var tagCountAlert = function() {
	alert("Jednocześnie możesz wybrać maksymalnie 5 tagów!");
}

var checkTagCount = function() {
	var n = $("#search-tag-results input:checked").length;
	if (n>5) {
		tagCountAlert();
		return false;
	} else {
		$sr.submitForm();
	}
}
