$(function() {
	var url = 'http://szinonimaszotar.hu';
	
	//a keresőmezőre irányítjuk a kurzort
	$("#searchstring").focus().select();
	
	//--------------------------------------------------------------------------------------------szó beküldése
	
	function hideall() {
		$("div.addword_form").hide();
		$("div.reporterror_form").hide();
		$('#msg').hide();	
	}
	
	//alapból eltüntetjük azokat a mezőket amit nem kell látnunk mindíg
	hideall();	
	
	//szó hozzáadása link
	$("a.addword").click(function() {
		
		var addword_form = $(this).parents('p').next('div.addword_form');
		
		if (addword_form.is(':visible')) {
			//ha már látszik a form akkor eltünteti a gomb megnyomására
			//addword_form.hide();
			addword_form.slideUp('fast');
			$("#searchstring").focus().select();
		} else {
			//eltüntetjük a már megnyitott formokat hogy mindíg csak egy legyen nyitva
			hideall(); 
			//megjelenik a form és megkapja a fókuszt
			//addword_form.show(1, function() { $(this).find('input[@name=szo]').focus().select();});
			addword_form.slideDown('fast', function() { $(this).find('input[name=szo]').focus().select();});
		}
		
		return false; //hogy ne hajtsa végre a link valódi hivatkozását
	});
	
	//szó beküldő form feldolgozása
	$('.addword_form').find('form').submit(function() {
		
		var idVal = $(this).find('input[name=id]').val();
		var szoVal = $(this).find('input[name=szo]').val();
		var bekuldoVal = $(this).find('input[name=bekuldo]').val();
		var msg = "";
		
		if (szoVal.length != "0") {

			$.post(url + "/post", {id: idVal, szo: szoVal, bekuldo: bekuldoVal, szobekuldes: ""}, function(data){
				
				//ha minden ok volt a felvitelnél akkor töröljük a szövegmezőket, egyébként kiíratjuk a post.php hibaüzenetét!
				if (data == "OK") {
					//form eltüntetése
					$('.addword_form').hide();
					//szövegmező kitörlése
					$('input[name=szo]').attr("value","");
					//fókusz vissza a keresőre
					$("#searchstring").focus().select();
					//kiíratjuk a megfelelő visszajelzést
					info("Köszönjük, az adatokat hamarosan feldolgozzuk!", "#afc168");
				} else {
					info(data, "#fe5c0d");
				}
			});
			
		} else {
			//kiíratjuk a megfelelő visszajelzést
			info("Nem töltötted ki a szövegmezőt!", "#fe5c0d");
		};
		
		//a kurzort visszairányítjuk a megfelelő szövegmezőre
		if ($(this).is(':visible')) {
			$(this).find('input[name=szo]').focus().select();
		} else {
			$("#searchstring").focus().select();
		}
		
		//nem hajtjuk végre az eredeti submitot
		return false;
	});
	
	//--------------------------------------------------------------------------------------------hibabejelentés form
	
	//szó hozzáadása linkek
	$("a.reporterror").click(function() {
		
		var reporterror_form = $(this).parents('p').next('div.addword_form').next('div.reporterror_form');
		
		if (reporterror_form.is(':visible')) {
			//ha már látszik a form akkor eltünteti a gomb megnyomására
			//reporterror_form.hide();
			reporterror_form.slideUp('fast');
			$("#searchstring").focus().select();
		} else {
			//eltüntetjük a már megnyitott formokat hogy mindíg csak egy legyen nyitva
			hideall(); 
			//megjelenik a form és megkapja a fókuszt
			//reporterror_form.show(1, function() { $(this).find('textarea[@name=hiba]').focus().select();});
			reporterror_form.slideDown('fast', function() { $(this).find('textarea[name=hiba]').focus().select();});
		}
		
		return false; //hogy ne hajtsa végre a link valódi hivatkozását
	});

	//hibabejelentő form feldolgozása
	$('.reporterror_form').find('form').submit(function() {
		
		var idVal = $(this).find('input[name=id]').val();
		var hibaVal = $(this).find('textarea[name=hiba]').val();
		var bekuldoVal = $(this).find('input[name=bekuldo]').val();
		var msg = "";
		
		if (hibaVal.length != "0") {
			$.post(url + "/post", {id: idVal, hiba: hibaVal, bekuldo: bekuldoVal, hibabejelentes: ""}, function(data){
				
				//ha minden ok volt a felvitelnél akkor töröljük a szövegmezőket, egyébként kiíratjuk a post.php hibaüzenetét!
				if (data == "OK") {
					//form eltüntetése
					$('.reporterror_form').hide();
					//szövegmező kitörlése
					$('textarea[name=hiba]').attr("value","");
					//fókusz vissza a keresőre
					$("#searchstring").focus().select();
					//kiíratjuk a megfelelő visszajelzést
					info("Köszönjük, az adatokat továbbítottuk!", "#afc168");
				} else {
					info(data, "#fe5c0d");
				}
			});
			
		} else {
			//kiíratjuk a megfelelő visszajelzést
			info("Nem töltötted ki a szövegmezőt!", "#fe5c0d");
		};
		
		//a kurzort visszairányítjuk a megfelelő szövegmezőre
		if ($(this).is(':visible')) {
			$(this).find('textarea[name=hiba]').focus().select();
		} else {
			$("#searchstring").focus().select();
		}
		
		//nem hajtjuk végre az eredeti submitot
		return false;
	});
	
	//--------------------------------------------------------------------------------------------szócsoport beküldése
	
	//ha a szó beküldés oldalon vagyunk akkor a beküldendő szóra ugrik automatikusan
	if ($("#szocsoportbekuldes").is(":visible")){
		szocsoportselect();
	}
	
	function szocsoportselect() {
			if ($("#jelentes").val() == "") {$("#jelentes").focus().select();} else {
			if ($("#szinonima").val() == "") {$("#szinonima").focus().select();}
			}	
	}
	
	//szócsoport beküldő form feldolgozása
	$("#szocsoportbekuldes").submit(function() {
		var jelentesVal = $("#jelentes").val();
		var szinonimaVal = $("#szinonima").val();
		var peldamondatVal = $("#peldamondat").val();
		var bekuldoVal = $("#bekuldo").val();
		var msg = "";
		
		if (jelentesVal == "" || szinonimaVal == ""){
			info("A kifejezés és szinonima szövegmezőket ki kell tölteni!","#fe5c0d");
		} else {
			$.post(url + "/post", {jelentes: jelentesVal, szinonima: szinonimaVal, peldamondat: peldamondatVal, bekuldo: bekuldoVal, szocsoportbekuldes: ""}, function(data){
				
				//ha minden ok volt a felvitelnél akkor töröljük a szövegmezőket, egyébként kiíratjuk a post.php hibaüzenetét!
				if (data == "OK") {
					//szövegmezők kitörlése
					$("#jelentes").val("");
					$("#szinonima").val("");
					$("#peldamondat").val("");
					//fókusz vissza a keresőre
					$("#searchstring").focus().select();
					//kiíratjuk a megfelelő visszajelzést
					info("Köszönjük, az adatokat továbbítottuk!", "#afc168");
				} else {
					info(data, "#fe5c0d");
				}
			});
		}
		
		szocsoportselect();
		
		return false;
	});
	
	
	//--------------------------------------------------------------------------------------------üzenet a szerkesztőknek
	if ($("#uzenetaszerkesztoknek").is(":visible")){
		uzenetselect();
	}
	
	function uzenetselect() {
			if ($("#nev").val() == "") {$("#nev").focus().select();} else {
			if ($("#uzenet").val() == "") {$("#uzenet").focus().select();}
			}	
	}
	
	$("#uzenetaszerkesztoknek").submit(function() {
		
		var nevVal = $("#nev").val();
		var emailVal = $("#email").val();
		var uzenetVal = $("#uzenet").val();
		var msg = "";
		
		if (nevVal == "" || uzenetVal == "") {
			info("Legalább a név és üzenet mezőket ki kell tölteni!","#fe5c0d");
		} else {
			$.post(url + "/post", {nev: nevVal, email: emailVal, uzenet: uzenetVal, uzenetaszerkesztoknek: ""}, function(data){
				
				//ha minden ok volt a felvitelnél akkor töröljük a szövegmezőket, egyébként kiíratjuk a post.php hibaüzenetét!
				if (data == "OK") {
					//szövegmezők kitörlése
					$("#nev").val("");
					$("#email").val("");
					$("#uzenet").val("");
					//fókusz vissza a keresőre
					$("#searchstring").focus().select();
					//kiíratjuk a megfelelő visszajelzést
					info("Köszönjük, az üzeneted továbbítottuk!", "#afc168");
				} else {
					info(data, "#fe5c0d");
				}
			});
		}
		
		uzenetselect();
		
		return false;
		
	});
	
	
	
	//--------------------------------------ékezetes betűk megjelenítése/elrejtése
	$("div#search form a#onoff").click(function() {
		if ($("div#ekezetek").is(':visible')) {
			$("div#ekezetek").slideUp('fast');
			eraseCookie('ekezetek_megjelenitese'); //a cookie értékét kitöröljük, hogy a lap betöltésekor ne jelenítse meg az ékezeteket
		} else {
			$("div#ekezetek").slideDown('fast');

			var cookieval = "set";// a cookie-t beállítjuk, hogy a reload után is megjelenjenek a betűk
		}
		
		createCookie('ekezetek_megjelenitese', cookieval, '100');
		$("#searchstring").focus();
		return false;
	});
	//-----------------------------------------megnézzük hogy létezik e a cookie, mert ha igen akkor aszerint betöltjük az ékezeteket
	if (readCookie('ekezetek_megjelenitese') == "set") {
		$("div#ekezetek").show();
	}
	//-------------------------------------ékezetes betűk behelyezése a keresőmezőbe gombnyomásra
	$("div#ekezetek a").click(function() {
		var betu = $(this).html();
		
		$('#searchstring').replaceSelection(betu, true);

		$("#searchstring").focus();
		return false;
	});
	
	//-------------------------------------ékezetek mellőzése: a benyomásra elvesz vagy hozzáad egy cookie-t
	$("input#ekezetek_mellozese").click(function() {
		if ($("input#ekezetek_mellozese")[0].checked) {
			//alert("checked");
			createCookie('ekezetek_mellozese', 'set', '100');
		} else {
			//alert("not");
			eraseCookie('ekezetek_mellozese');
		}
		
		$("#searchstring").focus().select();
	});
	
	//------------------------------- ha be van csekkolva az ékezetek mellőzése akkor most is benyomjuk a gombot
	if (readCookie('ekezetek_mellozese') == "set") {
		$("input#ekezetek_mellozese").attr('checked', 'checked');
	} else {
		if ($("input#ekezetek_mellozese")[0].checked) {
			$("input#ekezetek_mellozese").removeAttr('checked');
		}
	}
	
	
	//------------------------------- hover esemény (ie6 miatt nem tudjuk css-ből megoldani.)
	$("div.talalat").hover(function() {
		//eltüntetjük a hover efektet az összes találat boxról
		//$("div.talalat").removeClass("hover");
		
		//hozzáadjuk az aktuális boxhoz a hover efektet
		$(this).addClass("hover");
		$(this).find('p.szerkeszt a').addClass("hover");//elszínezzük a szerkesztő linkeket is
		
		
	}, function() {
		//ha látszik valamelyik form, akkor nem tüntetjük el a hover efektet
		//if ($(this).find('div.addword_form').is(':hidden') && $(this).find('div.reporterror_form').is(':hidden')) {}
		
		$(this).removeClass("hover");
		$(this).find('p.szerkeszt a').removeClass("hover");

	});
	
	
});


$(document).keydown( function( e ) {
	if( e.which == 27) {
			//ha benyomjuk az esc gombot akkor belelép a keresőmezőbe. ha mégegyszer benyomjuk, akkor kitörli a tartalmát
	     	var focus_element = "" + e.target.id + "";
	     	
	     	//ha már benne állunk a szókereső input mezőben...
	     	if (focus_element == "searchstring") {
	     		//akkor kitöröljük a mező tartalmát
	     		$("#searchstring").blur().val("").focus();
	     	} else {
	     		//ha még nem vagyunk benne, akkor ráállunk
	     		$("#searchstring").select().focus();
	     	}
	}
}); 


function info(msg,bgcolor){
	$("div#msg").css("background-color", bgcolor).html(msg).animate({height: 'show', opacity: 'show'}, 500);
	setTimeout( "$('div#msg').animate({height: 'hide', opacity: 'hide'}, 500)" , 4000);
}


function createCookie(name,value,days) {//cookie kezelés az ékezetes betűk megjelenítéséhez
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {//cookie kezelés az ékezetes betűk megjelenítéséhez
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

