$(document).ready(
	function() {
		// email címek védelmére:
		$("a.antispam").each( function(i, email) { email.href = email.href.replace('http://', 'mailto:').replace('.anti.spam.', '@').replace('/', ''); });

		resizable_textarea();

		// gombok hover eseményei:
		$("a.button, input.button").mouseover( function(){ $(this).parent().addClass("button_hover"); });
		$("a.button, input.button").mouseout( function(){ $(this).parent().removeClass("button_hover"); } );


		$("div.expandable dt").click( function() { $(this).parent().toggleClass("active"); } );

		// táblázatoknál a hover esemény + a teljes soron történő kattintás:
		$("table.datatable tbody tr").each( function() {
			if ( $("a", $(this)).size() == 1 && $("a", $(this)).attr("href") != "#" ) {
				$(this).css({cursor:"pointer"});
				$(this).click( function() { window.location.href = $("a", $(this)).attr("href"); });
				//$(this).children().filter('td:not(#tag_nemkell)').click( function() { window.location.href = $("a", $(this)).attr("href"); });
				
			}
		});
		
			$("td").each( function() {
				if ( $("a", $(this)).size() == 1 && $("a", $(this)).attr("href") != "#" ) {
					$(this).css({cursor:"pointer"});
					$(this).click( function() { window.location.href = $("a", $(this)).attr("href"); });
				}
			});
		
				
		$("table.datatable tbody tr").mouseover( function(){ $(this).addClass("active"); }).mouseout( function(){ $(this).removeClass("active"); } );
	

		// Segítség dobozok lekerekítése:
		$("div.helpbox").append("<div class='corner_tl'></div><div class='corner_tr'></div><div class='corner_bl'></div><div class='corner_br'></div>");

		// oldalsó dobozok becsukása animálva:
		$("div.column1 dt").css({cursor:"pointer"}).click( function() {
			if ( $(this).next().hasClass("hidden") ) {
				$(this).next().slideDown("fast").removeClass("hidden");
			} else {
				$(this).next().slideUp("fast").addClass("hidden");
			}
		});

		// füles megoldás:
		$("div.multitab > div.tabbed").each( function(i, tabbed) {
			$("li", $(tabbed)).each( function(j, li) {
				$(li).click( function() {
					$("li", $(this).parent()).removeClass("active");
					$(this).addClass("active");
					// TODO: ezt át kellene írni szebbre:
					$(this).parent().parent().parent().children("div.tab").removeClass("visible");
					$($(this).parent().parent().parent().children("div.tab").get(j)).addClass("visible");
					$(this).blur();
				});
			});
			// ha nincs kinyitva:
			if (!$("ul > active.li", tabbed).size()) {
				if( document.location.hash ) {
					var l = false;
					$("ul > li > a", tabbed).each( function(i, a) {
						if ($(a).attr("href") == document.location.hash) {
							$(a).parent().click();
							l = true;
						}
					});
					if (!l) $("ul > li:first", tabbed).click();
				} else {
					$("ul > li:first", tabbed).click();
				}
			}
		});

		// űrlapok:
		$("input.validate-number").keyup( function(e) {
			if (e.keyCode <= 40 && e.keyCode >= 37 ) return; // nyilakkal ne foglalkozzon ( IE miatt kell ):
			$(this).val( $(this).val().replace(/[^0-9.,]/ig,'') );
		});
		$("input.validate-date").keyup( function(e) {
			if (e.keyCode <= 40 && e.keyCode >= 37 ) return; // nyilakkal ne foglalkozzon ( IE miatt kell ):
			$(this).val( $(this).val().replace(/[^0-9\-]/ig,'') );
		});
		$("form.validator").each( function() {
			var form = $(this);
			$("input.textfield, input.checkboxfield, textarea, select", form).keyup( function(){
				form_validator_check( form );
			}).change( function(){
				form_validator_check( form );
			}).attr("autocomplete", "off");
			form_validator_check( form );
			$("div.error", form).hide();
			form.submit( function(){ return form_validator_submit(form); } );
		})
	}
);

var hibat_elrejtjuk = true;
var esc_beallitva = false;
function form_validator_check(form) {
	$("div.error", form).remove();
	var email_filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	$("input.validate-email", form).each( function(i, input) { if ( $(input).val() && !email_filter.test($(input).val()) ) $(input).parent().append("<div class='error'><span></span><label>"+label("Kérem valós email címet adjon meg!")+"</label></div>"); });
	var date_filter=/^[0-9]{4}(\-[0-9]{1,2}-[0-9]{1,2})?$/i;
	$("input.validate-date", form).each( function(i, input) { if ( $(input).val() && !date_filter.test($(input).val()) ) $(input).parent().append("<div class='error'><span></span><label>"+label("Kérem valós dátumot adjon meg! Forma: ÉÉÉÉ-HH-NN vagy ÉÉÉÉ")+"</label></div>"); });
	$("input.required, select.required, textarea.required", form).each( function(i, input) { if ( !$(input).val() ) $(input).parent().append("<div class='error'><span></span><label>"+label("Kérem a kötelező mezőket kitölteni!")+"</label></div>"); });
	// ha létezik extra ellenőrzés:
	if ( $(form).attr("extra_ellenorzes") ) eval($(form).attr("extra_ellenorzes")+'()');
	if (hibat_elrejtjuk) $("div.error", form).hide();
}

function form_validator_submit(form) {
	hibat_elrejtjuk = false;
	if (!esc_beallitva) {
		// Esc-re eltünnek a hibaüzenetek:
		$(document).keydown(function(e) { if (e.keyCode == 27) { $("form.validator div.error").remove(); hibat_elrejtjuk = true; } } );
		esc_beallitva = true;
	}
	form_validator_check(form);
	if ( $("div.error", form).size() ) { $("div.error", form).show(); return false; }
	$(form).animate({'opacity':.5},300);
	$(form).blur();
	$(form).prepend('<div class="waiting"></div><div class="waitinganim">'+label('Kérem várjon!')+'</div>');
	$("div.waiting, div.waitinganim", form).css('position','absolute');
	return true;
}

var lang = 'hu';
var labels = {};
function label(str) {
	if (typeof labels[str] == "string") return labels[str];
	return str;
}

function resizable_textarea() {
	$('textarea:not(.processed)').each( function() {
		var textarea = $(this).addClass('processed'), staticOffset = null;
		$(this).wrap('<div class="resizable-textarea"><span></span></div>').parent().append($('<div class="grippie"></div>').mousedown(startDrag));
		var grippie = $('div.grippie', $(this).parent())[0];
		grippie.style.marginRight = (grippie.offsetWidth - $(this)[0].offsetWidth) +'px';
		function startDrag(e) {
			staticOffset = textarea.height() - e.pageY;
			textarea.css('opacity', 0.25);
			$(document).mousemove(performDrag).mouseup(endDrag);
			return false;
		}
		function performDrag(e) {
			textarea.height(Math.max(32, staticOffset + e.pageY) + 'px');
			if(!isLeftClick(e)) endDrag(e);
			return false;
		}
		function isLeftClick(e) {
			return (e.which && e.which == 1) || (e.button && e.button == 1);
		};
		function endDrag(e) {
			$(document).unbind('mousemove', performDrag).unbind('mouseup', endDrag);
			textarea.css('opacity', 1);
		}
	});
}

var suggestInput = null;
var suggestList = [];
var suggestNum = 0;

function suggest_create(obj,list) {
	if( !$("#suggest").size() ) {
		$("body").append('<div id="suggest"><!--iframe src="about:blank" /--></div>');
		$("#suggest").css( {'display':'none', 'position':'absolute', 'top':0, 'left':0 } );
		$("#suggest iframe").css('visible', 'hidden');
	}

	suggestInput = obj;
	$("#suggest").css( {'top':findPosY(obj)+22, 'left':findPosX(obj) });
	$(document).bind('click', suggest_off);
	$(document).bind($.browser.msie?'keydown':'keypress', suggest_key);
	// enter kiütése:
	$(suggestInput).bind('keydown', function(e) {if(e.keyCode==13){ e.returnValue = false; if(e.preventDefault) e.preventDefault(); return; }} );

	$(obj).keyup( function(e) {
		// fel, le, enter:
		if ( e.keyCode == 40 || e.keyCode == 38 || e.keyCode == 13) return;
		
		suggestList = [];
		if ($(this).val()) {
			for (var i = 0; i < list.length; i++) {
				if (list[i].toLowerCase().indexOf($(this).val().toLowerCase())>-1) {
					suggestList.push( list[i] );
				}
			}
		}
		if (suggestNum > suggestList.length-1) { suggestNum = 0; }
		suggest_list();
	});
}
function suggest_destroy() {
	$("#suggest").remove();
	$(document).unbind('click', suggest_off);
	$(document).unbind($.browser.msie?'keydown':'keypress', suggest_key);
}
function suggest_list() {
	// ha nincs lista, akkor nem érdekes az egész:
	if (!suggestList.length) { $("#suggest").hide(); return; }
	$("#suggest").show();
	// az első és az utolsó elem meghatározása:
	if (suggestList.length <= 15) {
		suggestStart = 0;
		suggestStop = suggestList.length;
	} else if (suggestNum < 8) {
		suggestStart = 0;
		suggestStop = 15;
	} else if (suggestNum > suggestList.length-8) {
		suggestStart = suggestList.length-15;
		suggestStop = suggestList.length;
	} else {
		suggestStart = suggestNum-7;
		suggestStop = suggestNum+8;
	}
	// a HTML felépítése:
	var str = '';
	if (suggestStart != 0) str += '<li>...</li>';
	for ( var i = suggestStart; i < suggestStop; i++ ) {
		str += '<li '+(suggestNum==i?' class="active"':'')+'rel="'+suggestList[i]+'">'+suggest_render(suggestList[i])+'</li>';
	}
	if (suggestStop != suggestList.length) str += '<li>...</li>';
	$("#suggest").html( '<ul>'+str+'</ul>' );
	// a listaelemekhez a click hozzárendelése:
	$("#suggest li").click ( function() { suggest_click($(this).attr('rel')); $("#suggest").hide(); } );
}
function suggest_key(e) {
	var keyID = e.keyCode;
	if ( keyID == 40 ) {
		suggestNum++;
		if (suggestNum == suggestList.length) suggestNum = 0;
	} else if ( keyID == 38 ) {
		suggestNum--;
		if (suggestNum == -1) suggestNum = suggestList.length-1;
	} else if (keyID == 13) { // enter
		$("#suggest li[rel='"+suggestList[suggestNum]+"']").click();
		return;
	}
	suggest_list()
}

function suggest_click(str) {
	$(suggestInput).val( str );
}
function suggest_render(str) {
	var re = new RegExp('('+$(suggestInput).val()+')', 'gi');
	return str.replace(re,'<b>$1</b>');
}

function suggest_off(e) {
	if( e.target == suggestInput ) return;
	if( e.target == document.getElementById('suggest') ) return;
	// TODO: a suggest gyermekére kattintottunk?
	// ha már itt tartunk, akkor vége:
	suggest_destroy();
}

function findPosX(obj) { var curleft = 0; if (obj.offsetParent) { while (obj.offsetParent) { curleft += obj.offsetLeft; obj = obj.offsetParent; } } else if (obj.x) curleft += obj.x; return curleft; }
function findPosY(obj) { var curtop = 0; if (obj.offsetParent) { while (obj.offsetParent) { curtop += obj.offsetTop; obj = obj.offsetParent; } } else if (obj.y) curtop += obj.y; return curtop; }

is_ie = false;
function naptar(obj) {
	obj.setAttribute("autocomplete", "off");

	var x = findPosX(obj);
	var y = findPosY(obj)+obj.offsetHeight-1;

	var d = new Date();

	if ($("#naptar").size()) {
		$("#naptar").css({'left':x+'px', 'top':y+'px'});
		return;
	}

	$("body").append('<div id="naptar"><select></select> <select></select></div>');
	$("#naptar").css({'left':x+'px', 'top':y+'px', 'z-index':'1000'});

	var elso_select = $("#naptar select:first");
	for (var i = 1900; i <= 2030; i++) {
		$(elso_select).append("<option>"+i+"</option>");
	}
	$(elso_select).val( d.getFullYear() );

	var honapok = ["január","február","március","Április","május","június","július","augusztus","szeptember","október","november","december"];

	var masodik_select = $("#naptar select:last");
	for (var i = 0; i < honapok.length; i++) {
		$(masodik_select).append('<option value="'+i+'">'+honapok[i]+'</option>');
	}
	$(masodik_select).val( d.getMonth() );

	$("#naptar select").change( function() { naptar_change(obj); } );

	$("#naptar").append('<div class="fejlec"><span>H<\/span><span>K<\/span><span>Sz<\/span><span>Cs<\/span><span>P<\/span><span>Sz<\/span><span>V<\/span></div>');
	$("#naptar").append('<div class="napok"></div>');

	if ($.browser.msie) { $("#naptar").append('<iframe src="about:blank"></iframe>'); }

	naptar_change(obj);
	// kis késleltetéssel kell hozzáadni az elvevő függvényt
	setTimeout(function() {$(document).click(checkClick);}, 10);
}

function naptar_change(obj) {
	var naptar = document.getElementById("naptar");
	if (!naptar) return;
	var evhonap = naptar.getElementsByTagName("select");
	var d  = new Date(evhonap[0].value, evhonap[1].value, 1);
	var d2 = new Date(evhonap[0].value, (1+parseInt(evhonap[1].value)), 0);
	var d0 = new Date(evhonap[0].value, evhonap[1].value, 0);

	$("#naptar div.napok *").remove();

	elozo = d.getDay(); if (!elozo) elozo = 7;
	for (var i = 1; i < elozo; i++) {
		$("#naptar div.napok").append('<span>'+(d0.getDate()-elozo+i+1)+'<\/span>');
	}
	for (var i = 1; i <= d2.getDate(); i++) {
		$("#naptar div.napok").append('<span><a href="#" rel="'+$(evhonap[0]).val()+'-'+(parseInt(evhonap[1].value)+1)+'-'+i+'">'+i+'<\/a><\/span>');
	}
	utolso = d2.getDay(); if (!utolso) utolso = 7;
	for (var i = utolso; i < 7; i++) {
		$("#naptar div.napok").append('<span>'+(1+i-utolso)+'<\/span>');
	}
	$('#naptar a').click( function() {
		$(obj).val( $(this).attr('rel') );
		$(obj).trigger('keypress');
		checkClick(document.body);
		return false;
	})
	if ($.browser.msie) {
		$("#naptar iframe").css({ 'height':$("#naptar").height()+'px', 'opacity':0 });
	}
}
function checkClick(e) {
	var naptar = document.getElementById("naptar");
	if ($("#naptar").size() && !isChild(e.target ,naptar)) {
		$("#naptar").remove();
		$(document).unbind('click', checkClick)
	}
}
function isChild(s, d) {
	if (s == d) return true;
	if (s) return isChild(s.parentNode,d);
	return false;
}

// a session megtartása miatt 10 percenként letöltünk egy oldalt...
setInterval( function() { $('<img src="/temp" alt="" />'); }, 1000*60*10);



function atalakit()
{
	alert("xxxx");
}

function levelszerkeszt(mireis)
{
	
	var textarea = document.getElementById("sablon[szoveg]");   

	if (document.selection)   
    {   
       textarea.focus();   
       var sel = document.selection.createRange();   
       sel.text = '['+mireis+']' + sel.text + '[/'+mireis+']';   
    }
    else
    {
   	   var textarea = document.getElementById("sablon[szoveg]");   
  
	   var len = textarea.value.length;   
   	   var start = textarea.selectionStart;   

       var end = textarea.selectionEnd;   
       var sel = textarea.value.substring(start, end);   
  

  
       var replace = '['+mireis+']' + sel + '[/'+mireis+']';   
  
       textarea.value =  textarea.value.substring(0,start) + replace + textarea.value.substring(end,len);  
	 	
    }
}

function darabvalt(itemnum)
{
	darab = $("#"+itemnum+"_dbselect").val();
	//alert(darab);
	$.post("/tagok/darab_valtas", { id: itemnum, darab: darab },
	function(data){
		if ( data.replace('siker',"#") ){
			alert('Sikeres modósítás!');
		}
	}
	);
}