// form_validation version 3.1.1
//  ----------------------------
// | Euroweb Internet GmbH     |
//  ----------------------------
// $original script by s.krassnig
// $modified by d.kressler
// $date 2011-02-22

var formSuccessMsg = "Das Formular wurde erfolgreich versendet. <br /> Wir werden uns umgehend mit Ihrer Anfrage auseinandersetzen.";
var errorMsgNum = "Bitte nur Zahlen eingeben!";
var errorMsgEmpty = "Feld leer!";
var errorMsgMail = "Email eingeben!";
var errorMsgSelect = "Bitte eine Option wählen!";
var errorMsgDefault = "Feldeingabe fehlerhaft!";

var error=0;var currentLabel='';var currentField='';var klasse='';var newClass='';var formID;var theLabels;var liveID;var f=new Number();var obj=new Object();var validateForm=function(formular)
{formID=formular.getAttribute('id');theLabels=document.getElementById(formID).getElementsByTagName("label");error=0;for(var i=0;i<theLabels.length;i++)
{currentLabel=theLabels[i];if(currentLabel.htmlFor)
{currentField=document.getElementById(currentLabel.htmlFor);}
checkField(currentLabel,currentField);}
if(error===0)
return true;else
return false;}
var checkField=function(currentLabel,currentField)
{klasse=currentLabel.className;newClass=currentLabel.className.replace(/ error/,'');if(currentField)
{if(currentField.name=='Rueckruf')
{if(currentField.checked==true)
{document.getElementById('label-telefon').className+=' required rueckruf';}else
{var newTelClass=document.getElementById('label-telefon').className.replace(/ required rueckruf/,'');document.getElementById('label-telefon').className=newTelClass;}}
if(klasse.match(/required/)!=null)
{if(currentField.tagName=='SELECT')
{if(currentField.childNodes[1].selected)
{currentLabel.className=newClass;currentLabel.className+=' error';triggerErrorSpan(currentLabel,"select");error=1;}else
{currentLabel.className=newClass;removeErrorSpan(currentLabel,null);}}
else if(currentField.type=='checkbox')
{if(currentField.checked==false)
{currentLabel.className=newClass;currentLabel.className+=' error';triggerErrorSpan(currentLabel,"select");error=1;}else
{currentLabel.className=newClass;removeErrorSpan(currentLabel);}}
else
{if(currentField.value=='')
{currentLabel.className=newClass;currentLabel.className+=' error';triggerErrorSpan(currentLabel,"empty");error=1;}else
{currentLabel.className=newClass;removeErrorSpan(currentLabel);}}}
if(klasse.match(/number/)!=null)
{var numeric=isNumber(currentField);if(!numeric&&!klasse.match(/required/)&&currentField.value!='')
{currentLabel.className=newClass;currentLabel.className+=' error';triggerErrorSpan(currentLabel,"num");error=1;}else
{currentLabel.className=newClass;removeErrorSpan(currentLabel);}
if(!numeric&&klasse.match(/required/))
{currentLabel.className=newClass;currentLabel.className+=' error';triggerErrorSpan(currentLabel,"num");error=1;}else
{if(error==0)
{currentLabel.className=newClass;removeErrorSpan(currentLabel);}}
return error;}
if(klasse.match(/mail/)!=null)
{var valid=isMailValid(currentField);if(!valid&&currentField.value!='')
{currentLabel.className=newClass;currentLabel.className+=' error';triggerErrorSpan(currentLabel,"mail");error=1;}else{currentLabel.className=newClass;removeErrorSpan(currentLabel);}
if(!valid&&klasse.match(/required/))
{currentLabel.className=newClass;currentLabel.className+=' error';triggerErrorSpan(currentLabel,"mail");error=1;}else
{if(error==0)
{currentLabel.className=newClass;removeErrorSpan(currentLabel);}}}
return error;}}
var isNumber=function(field){var returnvar=(isNaN(parseInt(field.value))==true)?false:true;return returnvar;}
var isMailValid=function(field){var returnvar=(field.value.match(/^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/))?true:false;return returnvar;}
var triggerErrorSpan=function(currentLabel,type)
{switch(type)
{case"num":var errorSpanText=errorMsgNum;break;case"text":var errorSpanText=errorMsgText;break;case"empty":var errorSpanText=errorMsgEmpty;break;case"mail":var errorSpanText=errorMsgMail;break;case"select":var errorSpanText=errorMsgSelect;break;default:var errorSpanText=errorMsgDefault;}
var labelId=currentLabel.getAttribute('id');if(document.getElementById("error-"+labelId)==null)
{var errorSpan=document.createElement('span');var innerSpan=document.createElement('span');var triangle=document.createElement('span');currentLabel.appendChild(errorSpan);currentLabel.setAttribute("style","position:relative");errorSpan.appendChild(triangle);errorSpan.appendChild(innerSpan);errorSpan.setAttribute("id","error-"+labelId);errorSpan.className="errorSpan";triangle.className="triangle";innerSpan.className="errorMessage";innerSpan.innerHTML=errorSpanText;}}
var removeErrorSpan=function(currentLabel)
{var labelId=currentLabel.getAttribute('id');if(document.getElementById("error-"+labelId)!=null)
{var Knoten=document.getElementById("error-"+labelId);document.getElementById(labelId).removeChild(Knoten);}}
var addEvent=function(obj,evType,fn,useCapture)
{if(obj.addEventListener)
{obj.addEventListener(evType,fn,useCapture);return true;}
else if(obj.attachEvent)
{var r=obj.attachEvent("on"+evType,fn);if(r)return r;}
else return false;}
var getElementsByClassName=function(classname,node)
{if(!node)node=document.getElementsByTagName("body")[0];var a=[];var re=new RegExp('\\b'+classname+'\\b');var els=node.getElementsByTagName("*");for(var i=0,j=els.length;i<j;i++)
if(re.test(els[i].className))a.push(els[i]);return a;}
var liveValidation=function()
{var form=getElementsByClassName('required',document);var form=form.concat(getElementsByClassName('number',document));var form=form.concat(getElementsByClassName('mail',document));for(f=0;f<form.length;f++)
{var field=form[f].nextSibling.nextSibling;var label=form[f];addEvent(label.nextSibling.nextSibling,"keyup",function(e)
{e=e||window.event;var field=(e.originalTarget)?e.originalTarget:e.srcElement;var label=field.previousSibling.previousSibling;checkField(label,field);});addEvent(label.nextSibling.nextSibling,"blur",function(e)
{e=e||window.event;var field=(e.originalTarget)?e.originalTarget:e.srcElement;var label=field.previousSibling.previousSibling;checkField(label,field);});}}
addEvent(window,"load",liveValidation);var prototypeSubmit=function(liveID,index)
{Event.observe(liveID,'submit',function(event)
{Event.stop(event);if(validateForm($(liveID))===true)
{var formData=$(liveID).serialize(true);new Ajax.Request('formmail/formmail.php',{method:'post',parameters:formData,onCreate:function()
{$(liveID).disable();},onSuccess:function(transport)
{$(liveID).enable();$(liveID).insert({before:'<p id="formNotice'+index+'" class="formNotice" style="display:none;">'+formSuccessMsg+'</p>'});$(liveID).blindUp({afterFinish:function(){$('formNotice'+index).appear();}});}});}});}
try
{Event.observe(window,'load',function()
{allForms=document.getElementsByTagName('form');for(d=0;d<allForms.length;d++)
{if(allForms[d].getAttribute('onsubmit')!=null&&allForms[d].getAttribute('onsubmit')=="return validateForm(this);")
{prototypeSubmit(allForms[d].getAttribute('id'),d);}}});}
catch(e)
{}
try{}
catch(e){throw"Bitte jQuery Library einbinden.";}
