function validateForm(_form, _url){
	var _fail = new Array();
	var _val_obj = encodeValidation($(_form).validation.value)
	for(var e = 0; e<_val_obj.length; e++){
		var _elem = _val_obj[e]
		switch(_elem.type){
			case "String":
				var _succ = validateString(_elem.name, $(_form)[_elem.name].value, _elem.len)
				if(!_succ){
					_fail.push(_elem.name)
				}
			break;
			case "Boolean":
				var _succ = validateBoolean(_elem.name, checkradio($(_form)[_elem.name]), _elem.len)
				if(!_succ){
					_fail.push(_elem.name)
				}
			break;
			case "Not":
				var _succ = validateNot(_elem.name, $(_form)[_elem.name].value, _elem.len)
				if(!_succ){
					_fail.push(_elem.name)
				}
			break;
		}	
	}
	
	// Kontaktwunsch
	/*if(($(_form).STICHWORT2.checked)){
		// E-Mail
		var _succ = validateString("Email", $(_form).Email.value, 5)
		if(!_succ){
				_fail.push("Email")
		}
		// Fon
		var _succ = validateString("Telefon", $(_form).Telefon.value, 5)
		if(!_succ){
				_fail.push("Telefon")
		}
	}*/
	
	
	demarkErrors(_form)
	if(_fail.length){
		//alert("FEHLER: "+_fail)
		markErrors(_form, _fail)
		//return false;
	}else{
		//$(_form).submit()
		ajaxSubmit(_form, _url);
	}
	
}

function checkMailFonStatus(cb){
	var _elem = document.getElementsByClassName("_mail_fon");
	for(var e = 0; e<_elem.length; e++){
		_elem[e].style.display = cb.checked ? "none" : "inline"
	
	}
}

function ajaxSubmit(_form, _url){
	 $(_form).validation.value = null;
	var param = $(_form).serialize()
	
	$('submit_btn').style.display ="none";
	$('submit_btn_send').style.display ="block";
	var _ajax = new Ajax.Request(_url, {method:'post', parameters:param,
		onComplete:function(elem){
		_resp =  elem.responseText;
			$('ajax_layer_content').innerHTML = _resp
			
		}	
	});
}



function encodeValidation(str){
	var _grp = str.split(";")
	var _ret = new Array()
	for(var a=0; a<_grp.length; a++){	
		var _obj = new Object();
		var _elem = _grp[a].split(":");
		_obj.name = _elem[0]
		_obj.type = _elem[1]
		_obj.len = _elem[2]
		_ret.push(_obj)
	}
	return _ret;
}

function markErrors(_form, _fail){
	for(var e = 0; e<_fail.length; e++){
		var elem = $(_form)[_fail[e]]
		elem.className = " error"
		if($("marker_"+_fail[e])){
			$("marker_"+_fail[e]).className +=" error"	
		}
	}
}

function demarkErrors(_form){
var _e = $(_form).elements
	for(var e = 0; e<_e.length; e++){
		_e[e].className = _e[e].className.replace(/error/, "");
		if($("marker_"+_e[e].name)){
			$("marker_"+_e[e].name).className.replace(/error/, "");	
		}
	}
}

function validateString(name, val, len){
	return val.length >= len;
}

function checkradio(feld){
	for (i=0; i<feld.length; i++){
			if(feld[i].checked == true){
				return feld[i].value;
			}
	}
}

function validateBoolean(name, val, len){
	return val==len;
}
function validateNot(name, val, len){
	return val!=len;
}

