
    window.addEvent("load", function() {
      
        if (!$("form")) return;
        $("form").addEvent("submit", function(event) {
              event.stop();
              doSubmit();
        });
      
        $("submitbtn").disabled = false;
        $("submitbtn").value = "Jelentkezés elküldése";
		
		$("helyszin").addEvent("change", function() {
			var helyszinID = $("helyszin").selectedIndex;
			if (helyszinID == 0) {
				$("info_helyszin").set("html", "");
				$("info_idopont").set("html", "");
				return;
			}
			
			helyszinID--;
			
			$("info_helyszin").set("html", helyszinek[helyszinID][1]);
			$("info_idopont").load("index.php?action=eloadasok_minitablazat&helyszinid="+helyszinek[helyszinID][0]+"&book="+$("form").book.value);

		});

		$("omkod").addEvent("keyup", function() {
			loadIskola();
		});

        var textArea = $("megjegyzes");
        var maxChars = textArea.get("data-maxChars");
        
        // create a custom focused property so that we only capture keystrokes when it is
        textArea.addEvents({
            focus: function() {
                this.focused = true;
            },
            blur: function() {
                this.focused = false;
            }
        });
        
        // attach a key listener
        window.addEvent("keyup", function(e) {
            if (textArea.focused) {
                // should really compare e.key against alpha numerics and whatever allowed chars we have 
                // so it does not fire when they backspace or delete or use arrow keys to move

                // current count is...
                var chars = textArea.get("value").trim().length;

                // allowed?
                if (chars >= maxChars) {
                    // kill keyboard event...
                    // e.stop();
                    
                    // inform them its full!
                    $("left").set("html", "<strong>Nem írhat többet a mezőbe, elérte a maximum karakterszámot!</strong>");
                    
                    // remove surplus chars
                    textArea.set("value", textArea.get("value").substring(0,maxChars));
                }
                else {
                    // inform how much left
                    $("left").set("text", (maxChars-chars)+" karaktert írhat még a mezőbe");
                }
            }
        });
        
    });
    
    function loadIskola() {
		var req = new Request({
		  method: 'get',
		  url: "index.php",
		  data: {
			"action": "iskola_adatai",
			"omkod": $("omkod").value
		  },
		  encoding: "iso-8859-2",
		  onRequest: function() {
		  },
		  onComplete: function(response) {
			if (!response) response = "<strong>Nincs találat.</strong>";
			$("iskola_adatai").innerHTML = response;
			$("iskola_adatai").setStyle("display", "block");
			$("nincs_om_kod").removeClass("showtextarea");
		  }
		}).send();
    }

    function doSubmit() {
      
        var f = $("form");

        if (!f.omkod.value && !f.mas_iskola.value) { alert("Kérjük adja meg iskolája OM kódját! Ha nem rendelkezik ilyennel, akkor kérjük adja meg az intézménye adatait!"); f.omkod.focus(); return; }

        // választott-e helyszínt
        if ($("helyszin").selectedIndex == 0) { alert("Kérjük válasszon helyszínt!"); return; }
        
        // személyes adatok
        if (!f.nev.value) { alert("Kérjük adja meg a nevét!"); f.nev.focus(); return; }

        if (f.telefonszam1.value == "") { alert("Kérjük adja meg a telefonszámát!"); f.telefonszam1.focus(); return; }
        if (f.telefonszam2.value == "") { alert("Kérjük adja meg a telefonszámát!"); f.telefonszam2.focus(); return; }

        if (!f.email.value) { alert("Kérjük adja meg az e-mail címét!"); f.email.focus(); return; }
        if (checkEmail(f.email.value) == false) { alert("Hibás e-mail címet adott meg, kérjük javítsa!"); f.email.focus(); return; }

        if (f.tanitott_evfolyamok.value == "") { alert("Kérjük adja meg, mely évfolyamokat tanítja!"); f.tanitott_evfolyamok.focus(); return; }
        if (f.tanitott_nyelvek.value == "") { alert("Kérjük adja meg, mely tantárgyakat tanítja!"); f.tanitott_nyelvek.focus(); return; }

        // nyilatkozatok elfogadása
        if ($("elfogadom2").checked == false) { alert("Kérjük fogadja el a nyilatkozatokat!"); f.elfogadom2.focus(); return; }
      
        // submit
        var submitbtn = $("submitbtn");
        submitbtn.blur();
        submitbtn.disabled = true;
        submitbtn.value = "Egy kis türelmet...";
        
        f.submit();
      
    }

    function checkEmail(email) {
        var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        if (!filter.test(email)) {
            return false;
        } else {
            return true;
        }
    }
    
    function over(sor) {
        $(sor).addClass("over");
    }
    function out(sor) {
        $(sor).removeClass("over");
    } 
    function click(id) {
        $$(".selected").removeClass("selected");
        $("helyszin"+id).checked = true;
        $("helyszin"+id).getParent().getParent().getParent().addClass("selected");
    }
    
    function nincs_om_kod() {
		$("omkod").value = "";
    	$("nincs_om_kod").addClass("showtextarea");
    	$("iskola_adatai").setStyle("display", "none");
    	$("nincs_om_kod").getElement("textarea").focus();
    }
