//--built 08---------------------------------------------------------------------------//
//--by      martin hein  www.digitale-mehrwerte.eu  (hein@digitale-mehrwerte.eu)-------//
//alert("checkinput.js");

var error_messages = new Array(
null,
"Bitte f&uuml;llen Sie die rot markierten Felder aus",
"Bitte geben Sie eine g&uuml;ltige E-Mail-Adresse ein",
"Bitte wiederholen Sie die eingegebene E-Mail-Adresse",
"Bitte w&auml;hlen Sie mindestens eine Option aus"
);	

//addLoadEvent (test_func);
function test_func ()
                  {
																		 form = document.forms[0];
																		 testA = new Array("test_func2('Position')");
																		 alert(eval(testA[0]));
																		}

function test_func2 (obj_name)
                   {
																			 return form.elements[obj_name].type;
																			}
																			
addLoadEvent (form_init);
function form_init ()
						            {
																			formObjA = document.getElementsByTagName('form');
																			for (e=0; e<formObjA.length; e++)
																			   {
																						 form = formObjA[e];
																							for (i=0; i<form.elements.length; i++)
																							   {//alert(form.elements[i].type);
																											switch (form.elements[i].type)
																																	{
																																		case "text":
																																		case "password":
																																		case "textarea":
																																		case "checkbox":
										    																				//form.elements[i].onfocus = function(){this.className = this.className.replace("error", ""); if(labels[this.id]) labels[this.id].className = ""; if (legendObj=getlegend(this)) legendObj.className = "";	error = 0;}	
																																		form.elements[i].onfocus = function ()
																																		                                   {
																																																																					 if(this.className)this.className = this.className.replace("error", ""); 
																																																																						if(labels[this.id]) labels[this.id].className = ""; 
																																																																						if (legendObj=getlegend(this)) legendObj.className = "";	
																																																																						error = 0;
																																																																					}	
																																		break;
														                   }
																										}
																						 }
																		}

addLoadEvent(init_labels);
labels = new Array();
function init_labels ()
                    {
 																				labelObjA = document.getElementsByTagName('label');
																					for (e=0; e<labelObjA.length; e++)
																					   {//alert('test');
																								 labels[labelObjA[e].htmlFor] = labelObjA[e];
																								}
																				}																		

function getlegend (felementObj)
                  {//alert("getlegend ("+felementObj+")");
																		 if (felementObj.length) felementObj = felementObj[0];
                   fieldsetObj = felementObj;
																			while (fieldsetObj.tagName!="FIELDSET") fieldsetObj = fieldsetObj.parentNode;
																			legendObjA = fieldsetObj.getElementsByTagName('legend');
																			if (legendObjA.length==1) return legendObjA[0];
                   else return null;
																		}																		

var formObj;
var error_code;								
function checkinput (form)
                   {//alert(form.name);
																			 formObj = form;
																			 fields = requiredFields;
																				error_code = 0;
																			 for (i=0; i<fields.length; i++)
																				   {//alert(fields[i]);
																							 checked_field = eval(fields[i]);
																							 if (checked_field!=true)
																								  {
																										 //className wird a) wenn vergeben  erst um " error" gekürzt und b) denn um " error" ergänzt
																											formObj.elements[checked_field].className = ((formObj.elements[checked_field].className)?formObj.elements[checked_field].className.replace("error", ""):"")+" error";
																											
																											if (legendObj = getlegend(formObj.elements[checked_field])) legendObj.className = "error";
																											
																											if (labels[checked_field]) labels[checked_field].className = "error";
																										}
																							}
																				if (error_code!=0)
																				  {
																						 error_messageObj = document.getElementById(error_message_div);
																				   error_messageObj.className = "error";
																							error_messageObj.innerHTML = error_messages[error_code];
																							error_messageObj.scrollIntoView(true);
																				   return false;
																						}
																				else return true;
																			}	

function validmail (field_name)
																		{//alert("validmail()");
																		 felement = formObj.elements[field_name];
																			mailregex = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
																			
																			if (!mailregex.test(felement.value)) 
																			  {
																					 if (!error_code) error_code = 2;
																					 return field_name;
																					}
																			else return true;
																		}
																																
function isvalue (field_name)
                {//alert("isempty()");
																	felement = formObj.elements[field_name];
																	if (felement.value=="") 
																	  {
																			 error_code = 1;
																				return field_name;
																			}
																	else return true;
																}			
																
function comparevalue (field_name, compare_field_name)
                     {//alert("comparevalue("+field_name+","+compare_field_name+")");
																					 felement = formObj.elements[field_name];
																						compare_felement = formObj.elements[compare_field_name];	
																						
																			   if (felement.value!=compare_felement.value || compare_felement.value=="") 
																			     {
																					    if (!error_code) error_code = 3;
																					    return field_name;
																					   }
																			   else return true;
																		   }

function ischecked (field_name)
                     {//alert("comparevalue("+field_name+","+compare_field_name+")");
																					 felementA = formObj.elements[field_name];
                      for (g=0; g<felementA.length; g++)
																						   {
																									 if (felementA[g].checked == true) return true;
																									}
																						error_code = 4;
                      return field_name;
																		   }																																																								