var clicked = false;

function FormCheck(formobj, btn) {
	
	var fieldRequired,fieldDescription
	
	if(document.getElementById('required')) {
  		fieldRequired = document.getElementById('required').value.split('|');
  	}
  	if(document.getElementById('req_desc')) {
  		fieldDescription = document.getElementById('req_desc').value.split('|');
  	}
	var alertMsg = "Fuellen Sie bitte das folgende Feld aus:\n";
	var alertMsgEmail = "Sie haben eine falsche Email-Adresse eingegeben!\nBitte korrigieren Sie Ihre Eingabe.";
		
	for (var i = 0; i < fieldRequired.length; i++) {
		var obj = formobj.elements[fieldRequired[i]];
		if (obj) {	
			if (fieldRequired[i] == "email" && obj.value != "") {
				email = obj.value.replace(/^\s*|\s*$/g,""); // trim
				if (!EMail(email)) { // emailsyntex fehlerhaft
					alert(alertMsgEmail);
					obj.focus();
					return false;
				} 
				
			} else {
				switch(obj.type.toLowerCase()) {
				case "select-one":
					if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
						alertMsg += " - " + fieldDescription[i];
						alert(alertMsg);
						obj.focus();
						return false;
					}
					break;
				case "select-multiple":
					if (obj.selectedIndex == -1){
						alertMsg += " - " + fieldDescription[i];
						alert(alertMsg);
						obj.focus();
						return false;
					}
					break;
				case "text":
				case "textarea":
					if (obj.value == "" || obj.value == null){
						alertMsg += " - " + fieldDescription[i];
						alert(alertMsg);
						obj.focus();
						return false;
					}
					break;
				case "password":
					if (obj.value == "" || obj.value == null){
						alertMsg += " - " + fieldDescription[i];
						alert(alertMsg);
						obj.focus();
						return false;
					}
					break;
				case "checkbox":
					/* einzelne checkbox */
					if (!obj.checked){
						alertMsg += " - " + fieldDescription[i];
						alert(alertMsg);
						obj.focus();
						return false;
					}
					break;
				case undefined:
					/* checkbox mit mehreren elementen */
					alert("im case is ... ");
					for (var j = 0; j < obj.length; j++){
						if (obj[j].checked){
							blnchecked = true;
							alert(obj[j].value);
						}
					}
					if (!blnchecked){
						alertMsg += " - " + fieldDescription[i];
						alert(alertMsg);
						obj.focus();
						return false;
					}
					break;
				default:
				}
				
			}
		} else {
			return false;
		}
	}
	// eingabe ok
	// wenn btn übergeben wurde form von hier versenden, dazu button blockieren + form senden
	if (btn) {
		if (!clicked) {
			clicked = true;
			formobj.elements[btn.name].value = "bitte warten ...";
			formobj.elements[btn.name].disabled = true;
 			formobj.submit();
		} else {
			return false;
		}
	}
}

function EMail(s)
{
	 var a = false;
	 var res = false;
	 if(typeof(RegExp) == 'function')
	 {
	  var b = new RegExp('abc');
	  if(b.test('abc') == true){a = true;}
	  }
	
	 if(a == true)
	 {
	  reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
	                   '(\\@)([a-zA-Z0-9\\-\\.]+)'+
	                   '(\\.)([a-zA-Z]{2,})$');
	  res = (reg.test(s));
	 }
	 else
	 {
	  res = (s.search('@') >= 1 &&
	         s.lastIndexOf('.') > s.search('@') &&
	         s.lastIndexOf('.') >= s.length-5)
	 }
	 return(res);
}

function hidesubmit(btn) {
	if (btn && !clicked) {
		document.getElementsByName(btn.name).value = "bitte warten ...";
		document.getElementsByName(btn.name).disabled = true;
		this.form.submit();
	} else {
		return false;
	}
}

function SetFocusColor(p_obField,p_bFocus)
{
      if (p_bFocus) 
      {
         p_obField.style.borderColor = "#FF9900";
      } 
      else 
      { 
         p_obField.style.borderColor = "#333333";
      }
}

function oeffnefenster (url) {
	fenster = window.open(url, "fenster1", "width=750,height=550,status=yes,scrollbars=yes,resizable=yes");
	fenster.focus();
}