function showContactInfo() {
	document.getElementById("show_contact_info").style.display = "none";
	document.getElementById("contact_info").style.display = "";
	document.getElementById("show_contact_check_code").focus();
}

function formValidatorPaymentOfferSearch(form) {
	if ( !form["payment[category]"][0].checked &&
		!form["payment[category]"][1].checked &&
		!form["payment[category]"][2].checked &&
		!form["payment[category]"][3].checked ) {
		alert("Válasszon kategóriát");
		return false;
	}

	return true;
}

function formValidatorPayment(form) {
	if ( !form["payment[category][index]"].checked && 
		!form["payment[category][teacher]"].checked &&
		!form["payment[category][school]"].checked &&
		!form["payment[category][translator]"].checked &&
		!form["payment[category][interpreter]"].checked ) {
		alert("Válasszon kategóriát");
		return false;
	}

	element = form["payment[bill_zip]"];
	if ( element != null && checkVisibility(element) ) {
		var pattern = /\d{4}/;
		if( !pattern.test(element.value) ) {
			element.className += ' inputAlert';
			element.focus();
			alert("Nem megfelelő formátum!");
			return false;
		}
	}

	element = form["payment[postal_zip]"];
	if ( element != null && checkVisibility(element) ) {
		var pattern = /\d{4}/;
		if( !pattern.test(element.value) ) {
			element.className += ' inputAlert';
			element.focus();
			alert("Nem megfelelő formátum!");
			return false;
		}
	}

	return true;
}

function formValidatorPaymentBannerTop(form) {
	element = form["payment[bill_zip]"];
	if ( element != null && checkVisibility(element) ) {
		var pattern = /\d{4}/;
		if( !pattern.test(element.value) ) {
			element.className += ' inputAlert';
			element.focus();
			alert("Nem megfelelő formátum!");
			return false;
		}
	}

	element = form["payment[postal_zip]"];
	if ( element != null && checkVisibility(element) ) {
		var pattern = /\d{4}/;
		if( !pattern.test(element.value) ) {
			element.className += ' inputAlert';
			element.focus();
			alert("Nem megfelelő formátum!");
			return false;
		}
	}

	return true;
}

function changePaymentPeriodCategory(form) {
	var type           = form["payment[type]"].value;
	var periodNumber   = 0;
	var categoryNumber = 0;
	var chargeMonth    = parseInt(form["payment[charge][month]"].value);
	var chargeYear     = parseInt(form["payment[charge][year]"].value);
	var chargeMonthMax = parseInt(form["payment[charge][month_max]"].value);
	var chargeYearMax  = parseInt(form["payment[charge][year_max]"].value);
	var chargeTotal    = 0;

	if ( form["payment[period]"].value > 0 ) {
		periodNumber = parseInt(form["payment[period]"].value);
	}

	
	if ( form["payment[category][index]"].checked ) {
		categoryNumber++;
	}
	if ( form["payment[category][teacher]"].checked ) {
		categoryNumber++;
	}
	if ( form["payment[category][school]"].checked ) {
		categoryNumber++;
	}
	if ( form["payment[category][translator]"].checked ) {
		categoryNumber++;
	}
	if ( form["payment[category][interpreter]"].checked ) {
		categoryNumber++;
	}

	chargeTotal = Math.min(Math.min(chargeMonth*periodNumber, chargeYear)*categoryNumber, chargeMonthMax*periodNumber, chargeYearMax);

	if ( chargeTotal > 0 ) {
		amountString = chargeTotal + '';
		var rgx = /(\d+)(\d{3})/;
		while (rgx.test(amountString)) {
			amountString = amountString.replace(rgx, '$1' + '.' + '$2');
		}
		document.getElementById("total_charge_" + type).innerHTML = amountString + " Ft";
	}
	else {
		document.getElementById("total_charge_" + type).innerHTML = "Válasszon kategóriát";
	}
}

function changePaymentPeriod(form) {
	var type           = form["payment[type]"].value;
	var periodNumber   = 0;
	var chargeMonthMax = parseInt(form["payment[charge][month_max]"].value);
	var chargeYearMax  = parseInt(form["payment[charge][year_max]"].value);
	var chargeTotal    = 0;

	if ( form["payment[period]"].value > 0 ) {
		periodNumber = parseInt(form["payment[period]"].value);
	}

	
	chargeTotal = Math.min(chargeMonthMax*periodNumber, chargeYearMax);

	if ( chargeTotal > 0 ) {
		amountString = chargeTotal + '';
		var rgx = /(\d+)(\d{3})/;
		while (rgx.test(amountString)) {
			amountString = amountString.replace(rgx, '$1' + '.' + '$2');
		}
		document.getElementById("total_charge_" + type).innerHTML = amountString + " Ft";
	}
	else {
		document.getElementById("total_charge_" + type).innerHTML = "Válasszon időszakot";
	}
}

function copyPaymentBillAddress(form) {
	form["payment[postal_name]"].value   = form["payment[bill_name]"].value;
	form["payment[postal_zip]"].value    = form["payment[bill_zip]"].value;
	form["payment[postal_town]"].value   = form["payment[bill_town]"].value;
	form["payment[postal_street]"].value = form["payment[bill_street]"].value;
}

function showPaymentOrderForm(id) {
	document.getElementById("order_button_" + id).style.display = "none";
	document.getElementById("order_form_" + id).style.display = "";
}


function showSubMenu(id) {
	document.getElementById("sub_menu_" + id).style.display = document.getElementById("sub_menu_" + id).style.display == "none" ? "" : "none";
	document.getElementById("sub_menu_" +  id + "_arrow").src = document.getElementById("sub_menu_" + id).style.display == "none" ? "/design/menu_arrow_down.gif" : "/design/menu_arrow_up.gif";
}


function checkAllAtStudentBp() {
	var checked = false;

	for ( var i=1; i <= 23; i++ ) {
		if ( !document.getElementById("at_student_bp_" + i).checked ) {
			checked = true;
		}
	}

	for ( var i=1; i <= 23; i++ ) {
		document.getElementById("at_student_bp_" + i).checked = checked;
	}
}


function confirmRegistrationDelete(form) {
	if ( confirm('A regisztráció véglegesen törlődni fog. Biztosan folytatja?') ) {
		return true;
	}
	else {
		return false;
	}
}


function emil(tld, dom, acc) {
	document.write('<a href="mailto:',acc,'@',dom,'.',tld,'">',acc,'@',dom,'.',tld,'</a>');
}

/*
* Telefonszám ellenőrzése
*/
function validatePhone(contact_phone_prefix, contact_phone_area, contact_phone_number) {
	if(contact_phone_prefix && contact_phone_area && contact_phone_number) {

		//Ha az input elemek nincsennek elrejtve
		if ( checkVisibility(contact_phone_prefix) && checkVisibility(contact_phone_area) && checkVisibility(contact_phone_number) ) {

			//Figyelmeztetés stílus eltávolítása
			contact_phone_prefix.className = contact_phone_prefix.className.replace(/inputAlert/, "");
			contact_phone_area.className   = contact_phone_area.className.replace(/inputAlert/, "");
			contact_phone_number.className = contact_phone_number.className.replace(/inputAlert/, "");
			
			if(contact_phone_area.value != '' || contact_phone_number.value != '') {
				if (contact_phone_prefix.value == '06') {
					//Körzet hossza nem feglelő
					if (contact_phone_area.value == '' || contact_phone_area.value.length > 2) {
						contact_phone_area.className += ' inputAlert';
						contact_phone_area.focus();
						alert("Ellenőrizze a telefonszámot!");
						return false;
					}
					//1, 20, 30, 70, 21 körzet esetén 7 számjegy
					if (contact_phone_area.value == "1" || contact_phone_area.value == "20" || contact_phone_area.value == "30" || contact_phone_area.value == "70" || contact_phone_area.value == "21") {
						if (contact_phone_number.value.length != 7) {
							contact_phone_number.className += ' inputAlert';
							contact_phone_number.focus();
							alert("Ellenőrizze a telefonszámot!");
							return false;
						}
					}
					//Telefonszám 6 vagy 7 jegyű (??? VAGY FIXEN 6 SZÁMJEGY ???)
					else if (contact_phone_number.value.length < 6 || contact_phone_number.value.length > 7) {
						contact_phone_number.className += ' inputAlert';
						contact_phone_number.focus();
						alert("Ellenőrizze a telefonszámot!");
						return false;
					}
					
				}
				else if(contact_phone_prefix.value == '00') {
					//Nincs megadva ország hívószám
					if (contact_phone_area.value == '') {
						contact_phone_area.className += ' inputAlert';
						contact_phone_area.focus();
						alert("Ellenőrizze a telefonszámot!");
						return false;
					}
					//Nincs megadva a telefonszám
					if (contact_phone_number.value == '') {
						contact_phone_number.className += ' inputAlert';
						contact_phone_number.focus();
						alert("Ellenőrizze a telefonszámot!");
						return false;
					}
				}
				//Nincs előhívó kiválasztva
				else {
					contact_phone_prefix.className += ' inputAlert';
					contact_phone_prefix.focus();
					alert("Ellenőrizze a telefonszámot!");
					return false;
				}
			}
			//csak az előhívó volt kiválasztva: select lista első eleme legyen kiválasztva
			else {
				contact_phone_prefix.selectedIndex = 0;
			}
		}
	}

	return true;
}


function changeUserDataContactMode() {
	if ( document.getElementById('radio_contact_mode_3').checked ) {
		document.getElementById("phone_1_label").className = "requiredTitle";
		document.getElementById("phone_1_prefix").className = "select required";
		document.getElementById("phone_1_area").className = "input strfix_int required";
		document.getElementById("phone_1_number").className = "input strfix_int required";
	}
	else {
		document.getElementById("phone_1_label").className = "notRequiredTitle";
		document.getElementById("phone_1_prefix").className = "select";
		document.getElementById("phone_1_area").className = "input strfix_int";
		document.getElementById("phone_1_number").className = "input strfix_int";
	}
}



function changeEducateCharter() {
	var display = document.getElementById('checkbox_educate_charter').checked ? 1 : 0;

	document.getElementById('row_educate_charter_bp').style.display = display ? "" : "none";
	document.getElementById('row_educate_charter_settlements').style.display = display ? "" : "none";
}


function changeEducation() {
	document.getElementById('table_school').style.display = "none";
	document.getElementById('table_teacher').style.display = "none";

	var checked = document.getElementById('checkbox_education').checked;

	document.getElementById('info_education').style.display = checked ? "none" : "";
	document.getElementById('table_education').style.display = checked ? "" : "none";
	
	if ( checked ) {
		if ( document.getElementById('radio_teacher').checked ) {
			document.getElementById('table_teacher').style.display = "";
		}
		else if ( document.getElementById('radio_school').checked ) {
			document.getElementById('table_school').style.display = "";
		}
	}
}

function changeTranslation() {
	var checked = document.getElementById('checkbox_translation').checked;
	document.getElementById('table_translation').style.display = checked ? "" : "none";
	document.getElementById('info_translation').style.display = checked ? "none" : "";
}

function changeInterpretation() {
	var checked = document.getElementById('checkbox_interpretation').checked;
	document.getElementById('table_interpretation').style.display = checked ? "" : "none";
	document.getElementById('info_interpretation').style.display = checked ? "none" : "";
}

function sendRequest(url, callback) {
	if (window.XMLHttpRequest) {
		var request = new XMLHttpRequest();
	} 
	else if (window.ActiveXObject) {
		var request = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else {
		return false;
	}

	request.open('GET', url, true);
	request.onreadystatechange = function(args) {
		if (request.readyState == 4 && request.status == 200) {
			callback(request.responseText);
		}
	};
	
	request.send(null);
	return true;
}




//Fénykép törlése
function deletePhoto(code) {
	if ( confirm('A feltöltött kép véglegesen törlődni fog. Biztosan folytatja?') ) {
		sendRequest('/ajax_delete_photo/' + code, handleResponseDeletePhoto);
	}
}

function handleResponseDeletePhoto(response) {
	if ( response == 'DELETED') {
		document.getElementById('row_photo_display').style.display = "none";
		document.getElementById('row_photo_upload').style.display = "";
	}
}



function siteStatistic(code) {
	sendRequest('/ajax_site_statistic/' + code, handleResponseSiteStatistic);
}

function handleResponseSiteStatistic(response) {
	//Visszatérés értékét nem kell feldolgozni
}



function formCheckFeedbackCode(form) {
	id = form['feedback[check_id]'].value;
	code = form['feedback[check_code]'].value;
	sendRequest('/ajax_check_form_capctcha/' + id + '-' + code, handleResponseCheckFeedbackCode);
	return false;
}

function handleResponseCheckFeedbackCode(response) {
	form = document.getElementById("form_feedback");
	if(response == "OK") {
		form.submit();
	}
	else {
		form['feedback[check_code]'].value = "";
		form['feedback[check_code]'].className += ' inputAlert';
		form['feedback[check_code]'].focus();

		//Kép újratöltése
		document.getElementById("img_feedback_check").src = "/captcha/" + form['feedback[check_id]'].value  + '?' + (new Date()).getTime();

		alert("Hibás ellenőrző kód");
	}
}



function formCheckContactCode(form) {
	code = form['show_contact[business_code]'].value;
	check_id = form['show_contact[check_id]'].value;
	check_code = form['show_contact[check_code]'].value;
	sendRequest('/ajax_get_contact_info/' + code + '-' + check_id + '-' + check_code, handleResponseCheckContactCode);
	return false;
}

function handleResponseCheckContactCode(response) {
	form = document.getElementById("form_show_contact");
	if(response == "CHECK_CODE_ERROR") {
		form['show_contact[check_code]'].value = "";
		form['show_contact[check_code]'].className += ' inputAlert';
		form['show_contact[check_code]'].focus();

		//Kép újratöltése
		document.getElementById("img_contact_check").src = "/captcha/" + form['show_contact[check_id]'].value  + '?' + (new Date()).getTime();

		alert("Hibás ellenőrző kód");
	}
	else {
		document.getElementById("contact_info").innerHTML = response;
		inputValidator(document.getElementById("contact_info"));
	}
}



/*
 * Elem és szülő elemek láthatóságának vizsgálata
 */
function checkVisibility(element) {
	if (element==undefined) {
		return false;
	}
	if (element.style.display == "none") {
		return false;
	}
	else if(element.parentNode != null && element.parentNode.style != null) {
		return checkVisibility(element.parentNode);
	}
	return true;
}



function formValidator(form) {
	//Hibajelölés törlése a form összes elemén
	for(var i = 0; i < form.length; i++) {
	  form[i].className = form[i].className.replace(/\binputAlert\b/i, "");
	}


	//kötelezően kitöltendő mezők
	var required = getElementsByClass('required', form, null);
	if(required){
		for (i in required) {
			var value = '';
			switch (required[i].tagName) {
				case 'SELECT':
					value = required[i].options[required[i].selectedIndex].value;
					break;
				case 'INPUT':
				case 'TEXTAREA':
					value = required[i].value;
					break;
			}

			if ( value.replace(/^\s+|\s+$/g, "") == '' ) {
				if ( checkVisibility(required[i]) ) {
					required[i].className += ' inputAlert';
					required[i].focus();
					alert("A mező kitöltése kötelező!");
					return false;
				}
			}
		}
	}
	
	return true;
}


function formValidatorFeedback(form) {
	//e-mail cím ellenőrzése
	element = form['feedback[feedback_email]'];
	if (element.value != '') {
		var pattern = new RegExp("^([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+)\.([a-zA-Z]{2,4})$");
		if(!pattern.test(element.value)) {
			element.className += ' inputAlert';
			element.focus();
			alert("Nem megfelelő formátum!");
			return false;
		}
	}

	return true;
}


function formValidatorLogin(form) {
	//e-mail cím ellenőrzése
	element = form['login[email]'];
	if (element.value != '') {
		var pattern = new RegExp("^([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+)\.([a-zA-Z]{2,4})$");
		if(!pattern.test(element.value)) {
			element.className += ' inputAlert';
			element.focus();
			alert("Nem megfelelő formátum!");
			return false;
		}
	}

	return true;
}


function formValidatorPasswordLost(form) {
	//e-mail cím ellenőrzése
	element = form['password_lost[email]'];
	if (element.value != '') {
		var pattern = new RegExp("^([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+)\.([a-zA-Z]{2,4})$");
		if(!pattern.test(element.value)) {
			element.className += ' inputAlert';
			element.focus();
			alert("Nem megfelelő formátum!");
			return false;
		}
	}

	return true;
}


function formValidatorMessage(form) {
	//e-mail cím ellenőrzése
	element = form['message[enquirer_email]'];
	if (element.value != '') {
		var pattern = new RegExp("^([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+)\.([a-zA-Z]{2,4})$");
		if(!pattern.test(element.value)) {
			element.className += ' inputAlert';
			element.focus();
			alert("Nem megfelelő formátum!");
			return false;
		}
	}
	
	//telefonszám ellenőrzése
	if ( !validatePhone(form['message[enquirer_phone_prefix]'], form['message[enquirer_phone_area]'], form['message[enquirer_phone_number]']) ) {
		return false;
	}

	return true;
}

function formValidatorRegistration(form) {
	//telefonszám 1 ellenőrzése
	if ( !validatePhone(form['registration[phone_1_prefix]'], form['registration[phone_1_area]'], form['registration[phone_1_number]']) ) {
		return false;
	}

	//telefonszám 2 ellenőrzése
	if ( !validatePhone(form['registration[phone_2_prefix]'], form['registration[phone_2_area]'], form['registration[phone_2_number]']) ) {
		return false;
	}


	//Nyelvtanár / nyelviskola rádió gomb
	element1 = form['registration[education]'][0];
	element2 = form['registration[education]'][1];
	if ( checkVisibility(element1) && checkVisibility(element2) ) {
		if( !element1.checked && !element2.checked ) {
			element1.className += ' inputAlert';
			element2.className += ' inputAlert';
			element1.focus();
			alert("A mező kitöltése kötelező: nyelvtanár / nyelviskola!");
			return false;
		}

	}

	//életkor: 10 és 100 év között
	element = form['registration[teacher][year]'];
	var d=new Date();
	var year10 = d.getFullYear() - 10;
	var year100 = d.getFullYear() - 100;
	if ( checkVisibility(element) ) {
		if( !(element.value == '' || (element.value >= year100 && element.value <= year10)) ) {
			element.className += ' inputAlert';
			element.focus();
			alert("Nem megfelelő érték!");
			return false;
		}
	}

	//legkedvezőbb óradíj és óra hossza külön-külön nem adható meg
	element1 = form['registration[teacher][education_price]'];
	element2 = form['registration[teacher][education_price_minutes]'];
	if ( checkVisibility(element1) && checkVisibility(element2) ) {
		if( element1.value != '' && element2.value == '' ) {
			element2.className += ' inputAlert';
			element2.focus();
			alert("A mező kitöltése kötelező!");
			return false;
		}
		else if( element1.value == '' && element2.value != '' ) {
			element1.className += ' inputAlert';
			element1.focus();
			alert("A mező kitöltése kötelező!");
			return false;
		}
	}

	//legkedvezőbb óradíj és óra hossza külön-külön nem adható meg
	element1 = form['registration[school][education_price]'];
	element2 = form['registration[school][education_price_minutes]'];
	if ( checkVisibility(element1) && checkVisibility(element2) ) {
		if( element1.value != '' && element2.value == '' ) {
			element2.className += ' inputAlert';
			element2.focus();
			alert("A mező kitöltése kötelező!");
			return false;
		}
		else if( element1.value == '' && element2.value != '' ) {
			element1.className += ' inputAlert';
			element1.focus();
			alert("A mező kitöltése kötelező!");
			return false;
		}
	}

	//e-mail cím ellenőrzése
	element = form['registration[email]'];
	if ( element != null && checkVisibility(element) ) {
		var pattern = new RegExp("^([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+)\.([a-zA-Z]{2,4})$");
		if(!pattern.test(element.value)) {
			element.className += ' inputAlert';
			element.focus();
			alert("Nem megfelelő formátum!");
			return false;
		}
	}
	
	//jelszó ellenőrzése
	element1 = form['registration[password_1]'];
	element2 = form['registration[password_2]'];
	if ( element1 != null && checkVisibility(element1) && element2 != null && checkVisibility(element2) ) {
		if( element1.value != element2.value ) {
			element1.className += ' inputAlert';
			element2.className += ' inputAlert';
			element1.focus();
			alert("A jelszó és a jelszó ismétlése nem egyezik meg!");
			return false;
		}
	}
	
	//felhasználási feltételek elfogadása
	element = form['registration[terms_of_use]'];
	if ( element != null && checkVisibility(element) ) {
		if( !element.checked ) {
			element.className += ' inputAlert';
			element.focus();
			alert("A regisztráció csak a felhasználási feltételek elfogadásával lehetséges!");
			return false;
		}
	}

	return true;
}


function formValidatorRegistrationMinimal(form) {
	//e-mail cím ellenőrzése
	element = form['registration[email]'];
	if ( element != null && checkVisibility(element) ) {
		var pattern = new RegExp("^([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+)\.([a-zA-Z]{2,4})$");
		if(!pattern.test(element.value)) {
			element.className += ' inputAlert';
			element.focus();
			alert("Nem megfelelő formátum!");
			return false;
		}
	}
	
	//jelszó ellenőrzése
	element1 = form['registration[password_1]'];
	element2 = form['registration[password_2]'];
	if ( element1 != null && checkVisibility(element1) && element2 != null && checkVisibility(element2) ) {
		if( element1.value != element2.value ) {
			element1.className += ' inputAlert';
			element2.className += ' inputAlert';
			element1.focus();
			alert("A jelszó és a jelszó ismétlése nem egyezik meg!");
			return false;
		}
	}
	
	//felhasználási feltételek elfogadása
	element = form['registration[terms_of_use]'];
	if ( element != null && checkVisibility(element) ) {
		if( !element.checked ) {
			element.className += ' inputAlert';
			element.focus();
			alert("A regisztráció csak a felhasználási feltételek elfogadásával lehetséges!");
			return false;
		}
	}

	return true;
}


function formValidatorRegistrationChange(form) {
	//életkor: 10 és 100 év között
	element = form['registration_change[year]'];
	var d=new Date();
	var year10 = d.getFullYear() - 10;
	var year100 = d.getFullYear() - 100;
	if ( checkVisibility(element) ) {
		if( !(element.value == '' || (element.value >= year100 && element.value <= year10)) ) {
			element.className += ' inputAlert';
			element.focus();
			alert("Nem megfelelő érték!");
			return false;
		}
	}

	//oktatás helyszíne
	element1 = form['registration_change[at_teacher]'];
	element2 = form['registration_change[at_student]'];
	element3 = form['registration_change[online_educate]'];
	if( !element1.checked && !element2.checked && !element3.checked ) {
		element1.className += ' inputAlert';
		element2.className += ' inputAlert';
		element3.className += ' inputAlert';
		element1.focus();
		alert("A mező kitöltése kötelező: oktatás helyszíne!");
		return false;
	}
	
	//legkedvezőbb óradíj és óra hossza külön-külön nem adható meg
	element1 = form['registration_change[price]'];
	element2 = form['registration_change[price_minutes]'];
	if( element1.value != '' && element2.value == '' ) {
		element2.className += ' inputAlert';
		element2.focus();
		alert("A mező kitöltése kötelező!");
		return false;
	}
	else if( element1.value == '' && element2.value != '' ) {
		element1.className += ' inputAlert';
		element1.focus();
		alert("A mező kitöltése kötelező!");
		return false;
	}

	//e-mail cím ellenőrzése
	element = form['registration_change[email]'];
	if ( element != null && checkVisibility(element) ) {
		var pattern = new RegExp("^([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+)\.([a-zA-Z]{2,4})$");
		if(!pattern.test(element.value)) {
			element.className += ' inputAlert';
			element.focus();
			alert("Nem megfelelő formátum!");
			return false;
		}
	}
	
	//telefonszám 1 ellenőrzése
	if ( !validatePhone(form['registration_change[phone_1_prefix]'], form['registration_change[phone_1_area]'], form['registration_change[phone_1_number]']) ) {
		return false;
	}

	//telefonszám 2 ellenőrzése
	if ( !validatePhone(form['registration_change[phone_2_prefix]'], form['registration_change[phone_2_area]'], form['registration_change[phone_2_number]']) ) {
		return false;
	}

	return true;
}

function formValidatorEmailChange(form) {
	//e-mail cím ellenőrzése
	element = form['email_change[email]'];
	if (element.value != '') {
		var pattern = new RegExp("^([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+)\.([a-zA-Z]{2,4})$");
		if(!pattern.test(element.value)) {
			element.className += ' inputAlert';
			element.focus();
			alert("Nem megfelelő formátum!");
			return false;
		}
	}
}

function formValidatorPasswordChange(form) {
	//jelszó ellenőrzése
	element1 = form['password_change[password_new_1]'];
	element2 = form['password_change[password_new_2]'];
	if ( element1 != null && checkVisibility(element1) && element2 != null && checkVisibility(element2) ) {
		if( element1.value != element2.value ) {
			element1.className += ' inputAlert';
			element2.className += ' inputAlert';
			element1.focus();
			alert("A jelszó és a jelszó ismétlése nem egyezik meg!");
			return false;
		}
	}

	//felhasználási feltételek elfogadása
	element = form['password_change[terms_of_use]'];
	if ( element != null && checkVisibility(element) ) {
		if( !element.checked ) {
			element.className += ' inputAlert';
			element.focus();
			alert("A regisztráció csak a felhasználási feltételek elfogadásával lehetséges!");
			return false;
		}
	}
}

function addEvent(element, eventType, listenerFunction, useCapture) {
	if(element.addEventListener) {
		element.addEventListener(eventType, listenerFunction, useCapture);
		return true;
	}
	else if(element.attachEvent) {
		return element.attachEvent("on" + eventType, listenerFunction);
	}
	else {
		return false;
	}
}

 
function getElementsByClass(className, element, tagName) {
	var resultArray = new Array();
	if (element == null) element = document;
	if (tagName == null) tagName = '*';
	var objectArray = element.getElementsByTagName(tagName);
	var pattern = new RegExp("(^|\\s)" + className + "(\\s|$)");
	var i = 0;
	for(var j = 0; j < objectArray.length; j++) {
		if(pattern.test(objectArray[j].className)) {
			resultArray[i++] = objectArray[j];
		}
	}
	return resultArray;
}

/**
 * Form "input" mezőinek típus ellenőrzése
 *
 *  - strfix_int: egész szám
 *  - strfix_float: tizedes szám
 */
function inputValidator(node) {
	var strs = getElementsByClass("strfix[^ ]*", node, "input");

	for(var i = 0; i < strs.length; i++) {
		var r_int = /_int(\s|$)/;
		var r_float = /_float_[0-9](\s|$)/;

		//Egész szám
		if(r_int.test(strs[i].className)) {
			strs[i].onchange = strs[i].onkeyup = function() {
				this.value = this.value.replace(/[^0-9]/g, '');
			}
		}
		//Tizedes szám
		else if(r_float.test(strs[i].className)) {
			strs[i].onchange = strs[i].onkeyup = function(){
				var m = parseInt(this.className.replace(/.*float_([0-9]).*/,'$1'));		//tizedes jegyek száma
				var r_test = /\.[0-9]*/;

				this.value = this.value.replace(/,/, '\.');								//"." csere ","-re
				this.value = this.value.replace(/[^.0-9]/g, '');

				if(r_test.test(this.value)){
					this.value = this.value.replace(/^([0-9]*)\.+([0-9]*).*$/, '$1.$2');
					this.value= this.value.substr(0, this.value.indexOf('.') + m + 1);
				}
			}
		}
	}
}



addEvent(window, 'load', function() { inputValidator(document) }, false);


