bodyOnload_add(function() {
	if($("reg_msg_success")) {
		
		$("reg_msg_success").hide();
		$("reg_msg_success").removeClassName("hidden");
		$("reg_msg_loading").hide();
		$("reg_msg_loading").removeClassName("hidden");
		$("reg_msg_nev_ex").hide();
		$("reg_msg_nev_ex").removeClassName("hidden");
		$("reg_msg_email_ex").hide();
		$("reg_msg_email_ex").removeClassName("hidden");
	}
});

var reg_sendok = false;
var reg_flag = false;
var reg_callback = null;

reg_setCallback = function(o) {
	reg_callback = o;
}

reg_send = function() {
	
	if(reg_sendok || reg_flag)
		return false;
	
	reg_flag = true;
	
	$("reg_form").hide();
	$("reg_msg_loading").show();
	document.body.style.cursor = 'wait';
	
	var url = base_url + "/public_main.php";
	var params = inputs2object($("reg_form").select("input"));
	
	params.reg_ok = 1;
	
	new Ajax.Request(url, {
		method: 'post',
		parameters: params,
		onComplete: function() {
			document.body.style.cursor = 'default';
			reg_flag = false;
			$("reg_msg_loading").hide();
		},
		onFailure: function() {
			alert("Failed!");
		},
		onSuccess : function(tr) {
			var resp = tr.responseText || "Nincs válasz! / No response!";
			var data = new Array(0);
			
			try {
				data = resp.evalJSON();
			} catch(e) {
				alert(e.toString());
			}
			
			if(data.err.length > 0 || data.ex.err.length > 0) {
				
				var form = $("reg_form");
				var inputs = form.select("input");
				//var filter = ["reg_ok"];
				
				for(var i = 0; i < data.ex.err.length; i++)
					$("reg_msg_"+ data.ex.err[i] +"_ex").show();
				for(var i = 0; i < data.ex.ok.length; i++)
					$("reg_msg_"+ data.ex.ok[i] +"_ex").hide();
				
				for(var i = 0; i < inputs.length; i++) {
					//alert("-->" + inputs[i].name);
					if(data.err.indexOf(inputs[i].name) > -1) {
						
						//inputs[i].addClassName('invalid');
						$("reg_ok_" + inputs[i].name).addClassName('hidden');
						$("reg_err_" + inputs[i].name).removeClassName('hidden');
					
					} else if(inputs[i].name != "") { //if(filter.indexOf(inputs[i].name) < 0) {
						
						//inputs[i].removeClassName('invalid');
						$("reg_err_" + inputs[i].name).addClassName('hidden');
						$("reg_ok_" + inputs[i].name).removeClassName('hidden');
					}
				}
				
				$("reg_form").show();
			
			} else {
				
				reg_sendok = true;
				_LOGIN = true;
				
				$("reg_form").update("");
				$("reg_form").hide();
				$("reg_msg_success").show();
				
				if(reg_callback != null)
					reg_callback(data.user_data);
			}
		}
	});
	
	return false;
}
