/* CIM DEFUSZKATOR */
$(document).ready(function(){
	var address_tags = $("address");
	addrtag_length = address_tags.length;

	for (var i=0; i<addrtag_length; i++) {
		address_tag_object = address_tags[i];

		mail = $(address_tag_object).text().replace(' ~(a)~ ', '@');
		subjectPos = mail.indexOf('?');
		if (subjectPos>0) {
			mail_subject = mail.substr(subjectPos);
			mail_address = mail.replace(mail_subject, '');
		} else {
			mail_address = mail;
		}
		$(address_tag_object).text('')
		$(address_tag_object).append('<a href="mailto:' + mail + '">' + mail_address + '</a>');
	}
});

$(document).ready(function(){
	// elso inputra autofokusz
	$("input[type='text']:eq(0)").focus();

	// lesotetedo hatteru kepek
	$('a.faderWindow').lightBox();

	// menu arnyek	
	$('#main_mnu_lft li a, #main_mnu_rgt li a').each(function() {
		$(this).prepend('<span>' + $(this).text() + '</span>');
	});

	// felhasznaloi almenu
	$('#usergate').hide();
	$('#usergate-link').click(function() {
		$('#usergate').slideToggle(500);
		return false;
	});

	// site logon ne legyen keret kattintaskor
	$('#base_url').focus(function() { $(this).blur(); })

	// kiemelt sorok
	$(".hovered_list li:not(.not_hovered_line)").hover(
		function() { $(this).addClass('hovered_listline'); },
		function() { $(this).removeClass('hovered_listline'); }
	);
	$(".hovered_list tr:not(.not_hovered_line)").hover(
		function() { $(this).addClass('hovered_listline'); },
		function() { $(this).removeClass('hovered_listline'); }
	);
});

/* SUGOK */
$(function() {
	// osszes segitseg elrejtese
	$("div.helpField").hide();

	$("a.helpButton").click(function() {
		// #helpButton-fName -> #helpField-fName
		var helpbutton_id = $(this).attr('id');
		var helpfield_id = "#" + helpbutton_id.replace(/helpButton/, "helpField");

		// sugo megjelenitese, fokusz visszaallitasa a beviteli mezore
		$(helpfield_id).slideToggle(500, function() {
			var formfield_id = "#" + helpbutton_id.replace(/helpButton-/, ""); // helpButton-fName -> fName
			$(formfield_id).focus();
		});

		// cancel event bubbling -> nincs lap tetejere ugralas...
		return false;
	});


});

// KATEGORIAK
$(document).ready(function(){
	$('#category_tree ul').hide();
	
	$('#category_tree li a').focus(function() { $(this).blur(); });
	$('#category_tree li a.category_opener').toggle(function() {
		$(this).next('ul').slideDown(500);
		$(this).find('img').attr('src', './skins/dark_nobility/arrow_up.gif');
		
	}, function() {
		$(this).next('ul').slideUp(500);
		$(this).find('img').attr('src', './skins/dark_nobility/arrow_down.gif');
		
	});
	
	$('#category_tree input:checkbox:checked').each(function() {
		checkCatTree(this, $(this).is(':checked'));
	})
	$('#category_tree input:checkbox').change(function() {
		checkCatTree(this, $(this).is(':checked'));
	});
	
	function checkCatTree(obj, orig_checked) {
		// felmenok, leszarmazottak ellenorzese
		var parent = $(obj).parent();
		if (parent[0].tagName=='LI') {
			var label = $(parent).find('label').eq(0);
			if (orig_checked) {
				if (!$(label).hasClass('category_tree-has_checked')) {
					$(label).addClass('category_tree-has_checked');
				}
			} else {
				if ($(label).prev('input').is(':checked') || $(parent).find('input').is(':checked')) {
					return; // ha o maga, v. leszarmazottak barmelyike checked
				} else {
					$(label).removeClass('category_tree-has_checked');
				}
			}
			
			if ($(parent).parent().attr('id')!='category_tree') {
				checkCatTree($(parent).parent(), orig_checked);
			} else {
				return;
			}
		}

		// sajat sor ellenorzese
		if (orig_checked) {
			$(obj).next('label').addClass('category_tree-has_checked');
		} else {
			$(obj).next('label').removeClass('category_tree-has_checked');
		}
	}
});

/** Based on Tom Deater's character counter (http://www.tomdeater.com) */
jQuery(function($) { // dom ready + jQuery helyett lehet $ alias-t hasznalni a pluginban
	$.fn.extend({
		countCharacters: function(settings) {
			settings = jQuery.extend({
				max_chars: 500,
				label: '%1 / 500 karakter',
				container: "<span></span>",
				classname: "characterCount"
			 }, settings);

			function count(element, label_container) {
				e = $(element);
				if (e.val().length>settings.max_chars) {
					//scrollPos = e.scrollTop;
					e.val(e.val().substring(0, settings.max_chars));
					//e.scrollTop = scrollPos;
				}
				$(label_container).text(settings.label.replace(/%1/, e.val().length));
			}

			$(this).each(function() {
				var container = $(
					$('label[for=' + $(this).attr('id') + ']')
						.append(' <span class="characterCount"></span>')
						.find('.' + settings.classname)
				);

				$(this)
					.bind("keydown", function () { count(this, container); })
					.bind("keypress", function () { count(this, container); })
					.bind("keyup", function () { count(this, container); })
					.bind("focus", function () { count(this, container); })
					.bind("mouseover", function () { count(this, container); })
					.bind("mouseout", function () { count(this, container); })
					.bind("paste", function () { 
						var me = this;
						setTimeout(function () { count(me, container); }, 10);
					});
				count(this, container);
			});
		}
	});
});