/*
 * InputChecker with jQuery for NSZSZ
 * @version 1.0.5
 * @author krida (krida@krida.hu)
 *
 */

if (typeof jQuery == 'undefined') {
	alert('Hiányzó javascript fájl: jquery.js');
}
else {

	/** Beállítások **/
	var fieldClass_required = "required";
	var fieldClass_email = "email";
	var fieldClass_onlynumber = "onlynum";
	var errorInputMsg = "Hibás mezők:";
	var errorInputMsg_required = "kötelező mező";
	var errorInputMsg_email = "nem e-mail cím";
	var errorInputMsg_onlynum = "csak szám lehet";

	/** Script változók **/
	var errorfields = new Array(); var error_i = 0; var error_input_required_fields = "";
	
	$(document).ready(function() {

		
		/** Kötelező mezők után * jel tevése **/
		$("."+fieldClass_required).each(function() {
			$(this).parent().find("span").html($(this).parent().find("span").html()+"*");		
		});

		
		$("form").submit(function() {
		
			/** Kötelező mezők validáció **/
			$("input."+fieldClass_required).each(function() {
				if ($(this).val() == "") {
					/*errorfields[error_i] = ($(this).parent().attr("for") ? $(this).parent().attr("for") : $(this).attr("name")) + " ("+errorInputMsg_required+")";*/
					errorfields[error_i] = ($(this).parent().find("span") ? $(this).parent().find("span").html() : $(this).attr("name")) + " ("+errorInputMsg_required+")";
					error_i++;
				}
			});
			$("textarea."+fieldClass_required).each(function() {
				if ($(this).val() == "") {
					errorfields[error_i] = ($(this).parent().find("span") ? $(this).parent().find("span").html() : $(this).attr("name")) + " ("+errorInputMsg_required+")";
					error_i++;
				}
			});
			$("select."+fieldClass_required).each(function() {
				var selected = $("select."+fieldClass_required+" option:selected");
				if (selected.val() == "") {
					errorfields[error_i] = ($(this).parent().find("span") ? $(this).parent().find("span").html() : $(this).attr("name")) + " ("+errorInputMsg_required+")";
					error_i++;
				}
			});			
			
			/** E-mail validáció **/
			$("input."+fieldClass_email).each(function() {
				if (!check_Email($(this).val())) {
					errorfields[error_i] = ($(this).parent().find("span") ? $(this).parent().find("span").html() : $(this).attr("name")) + " ("+errorInputMsg_email+")";
					error_i++;
				}
			});
			
			/** Csak szám validáció **/
			$("input."+fieldClass_onlynumber).each(function() {
				if (!isNaN($(this).val())) {
					errorfields[error_i] = ($(this).parent().find("span") ? $(this).parent().find("span").html() : $(this).attr("name")) + " ("+errorInputMsg_onlynum+")";
					error_i++;
				}
			});	
			
			
			/** Hiba esetén alert ablakkal kiírás **/
			if (errorfields.length > 0) {
				for (var i=0;i<errorfields.length;i++) {
					error_input_required_fields += "- "+errorfields[i]+"\n";
				}
				alert(errorInputMsg+"\n"+error_input_required_fields);
				
				errorfields = new Array();
				error_i = 0;
				error_input_required_fields = "";
				
				return false;
			}
			else {
				return true;
			}		
		});
		
		/** Ellenőrzéshez használatos függvények **/
		function check_Email(str){
			var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
			return filter.test(str);
		}			
		
		
	});
	
}
