// MIT FOLGENDER FUNKTION fid(id) BENUTZT WERDEN, ANSTELLE VOM LANGEN document.getElementById(id) !!!
function fid(eID){
var x = document.getElementById(eID);
return x
}
function fna(eID){
var x = document.getElementsByName(eID);
return x
}

// JavaScript Document
<!--
// DEFINITION DER MELDUNGEN FÜR ANWENDER -> INS HTML-FILE EINFÜGEN, DA INDIVIDUELL
// var missingemail = "Bitte E-Mail Adresse eingeben";
// var invalidemail = "Ungültige E-Mail Adresse. Bitte korrigieren";
// var emptyfields = "Sie haben nicht alle nötigen Felder(*) ausgefüllt!";
// var validamount = "Geben Sie bitte Anzahl Exemplare ein";
// var readagb = "Sie müssen die Teilnahmebedingungen gelesen haben.";
// var readjoin = "Sie können das Formular nicht abschicken, ohne das Häkchen bei der Anmeldung zu senden.";
// var minzahl = 0;    //Falls Funktion test() eingesetzt wird, um zu prüfen, ob Zahl im Range (zwischen minzahl und maxzahl) ist
// var maxzahl = 9;

// **************** ALLE FELD-ID'S EINGEBEN (GETRENNT MIT LEERSCHLAG), WELCHE AUF LEER GEPRÜFT WERDEN SOLLEN *****
// email muss nicht angegeben werden, wird immer geprüft! Felder dürfen nicht DISABLED / READ ONLY sein, sonst werden sie nicht geprüft
// var pruefen = "firma funktion anrede vorname name adresse plz ort telefon";
// ******************************************************************************************************	

// Funktion zur Überprüfung der Daten vor Absenden (muss im Form-Tag stehen: onSubmit="return ValidateForm()")
function ValidateForm(){
	var emailID=fid("email")
	
	if (ausgef(pruefen) == false) // sind alle Felder der var pruefen (oben) augefüllt?
		return false

	if ((emailID.value==null)||(emailID.value=="")){  // Email-Adresse eingefüllt?
		alert(missingemail);
		emailID.focus()
		return false
	}
	if (echeck(emailID.value)==false){ // gültige Email-Adresse?
		emailID.value=""
		emailID.focus()
		return false
	}
	
	if (fid("agb").checked == false){
		alert(readagb)
		return false
	}

	return true
 }

// --------------  TRIM - FUNKTIONEN -- START --------------------------------
function trimAll(sString){
	while (sString.substring(0,1) == ' '){
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' '){
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}

function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}


// --------------  Funktion zur Überprüfung, ob Felder (der Variable pruefen -> siehe oben) ausgefüllt sind resp. angehackt (checkboxen)  --------------------------------
function ausgef(felder,sp){
	felder = felder + ''
	var feld = felder.split(" ");
	var fehler = 0;
	var fehlt = "";
	for (Count1 = 0; Count1 < feld.length; Count1++) {
		if (fid(feld[Count1]).type == 'select-one' || fid(feld[Count1]).type == 'button' ||
			fid(feld[Count1]).type == 'checkbox' || fid(feld[Count1]).type == 'radio')			
			var eig = "disabled"
		else
			var eig = "readOnly"

		if (fid(feld[Count1])[eig] == false){
			if (fid(feld[Count1]).type == 'radio' || fid(feld[Count1]).type == 'checkbox'){
				var gewahlt = 0;
				for (Count2 = 0; Count2 < document.getElementsByName(feld[Count1]).length; Count2++){
					if (document.getElementsByName(feld[Count1])[Count2].checked == true)
						gewahlt = gewahlt +1;
				}
				if (gewahlt == 0){
					fehler = 1;
					fehlt = fehlt + fid(feld[Count1]).id + "\n";}
					
			}
			else if (trimAll(fid(feld[Count1]).value) == ''){
				fehler = fehler + 1;
				fehlt = fehlt + fid(feld[Count1]).id + "\n";}
		}
	}
	if (fehler > 0){
		if (sp != "f")
			alert(emptyfields + "\n\n" + fehlt);
		else
			alert(emptyfields);
		return false;}
	else 
		return true;

}

function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1 || str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr ||
			str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr || str.indexOf(at,(lat+1))!=-1 ||
			str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot || str.indexOf(dot,(lat+2))==-1 ||
			str.indexOf(" ")!=-1){
			   alert(invalidemail);
			   return false
			}
 		 return true					
}



//document.onmousemove = updateWMTT;
wmtt = null;


function updateWMTT(e) {
	x = (document.all) ? window.event.x + document.body.scrollLeft : e.pageX;
	y = (document.all) ? window.event.y + document.body.scrollTop  : e.pageY;
	yoff = (document.all) ? window.event.clientY : e.pageY - window.pageYOffset;
	xoff = (document.all) ? window.event.clientX : e.pageX - window.pageXOffset;
	
	if (wmtt != null) {
		if (xoff < wmtt.offsetWidth/2+15)
			wmtt.style.left = "10px";	
		else
			wmtt.style.left = (x-wmtt.offsetWidth/2)+"px";
			
		if (yoff < wmtt.offsetHeight+20)
			wmtt.style.top 	= (y+25) + "px";
		else
			wmtt.style.top 	= (y-wmtt.offsetHeight-10) + "px";

	}
}
function showWMTT(id) {
	wmtt = fid(id);
	wmtt.style.display = 'block';

}

function hideWMTT() {
	wmtt.style.display = "none";
}
// ********************************* Feldaktivierung, aufgrund der Auswahl in einem anderem Feld ***************************
function activateField(fsource, ftarget, aktiv) {
	wert = new Array()
	var targtyp = fid(ftarget).type

	if (fid(fsource).type == 'select-one'){
		for (Count = 0; Count < document.getElementsByName(fsource).length; Count++) {
			if (fid(fsource).selectedIndex == Count)
					wert[0] = fid(fsource).selectedIndex;
					break;}}
	else{
		for (Count = 0; Count < document.getElementsByName(fsource).length; Count++) {
			if (document.getElementsByName(fsource)[Count].checked)
					wert[Count] = document.getElementsByName(fsource)[Count].value;
					}}

	aktiv = aktiv + ''
	var akt = aktiv.split(" ");
	var z = 0;
	for (Count1 = 0; Count1 < akt.length; Count1++) {		
		for (Count2 = 0; Count2 < wert.length; Count2++) {
			if (wert[Count2] == akt[Count1])
				z = z+1;}}
			
	if ('select-one button checkbox radio'.indexOf(targtyp) != -1)
		var eig = "disabled"
	else
		var eig = "readOnly"

	if (z == 0)
		if ('checkbox radio'.indexOf(targtyp) != -1){
			for (Count1 = 0; Count1 < document.getElementsByName(ftarget).length; Count1++){
				document.getElementsByName(ftarget)[Count1].checked = false;
				document.getElementsByName(ftarget)[Count1].disabled = true;
			}}
		else{
			fid(ftarget)[eig] = true;
			}
	else 
		if ('checkbox radio'.indexOf(targtyp) != -1){
			for (Count1 = 0; Count1 < document.getElementsByName(ftarget).length; Count1++){
				document.getElementsByName(ftarget)[Count1].disabled = false;
			}}
		else		{
			fid(ftarget)[eig] = false;
		}
}	 
function IsNumeric(sText, maxi, zero)
{
	var ValidChars = "0123456789";
	var IsNumber=true;
	var Char;

	for (i = 0; i < sText.value.length && IsNumber == true; i++){ 
    	Char = sText.value.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
        	IsNumber = false;
	}
	if (trimAll(sText.value) == "")
			IsNumber = false;

	if (zero != 0){
		if (sText.value == "0" || sText.value == "00")
    	    	IsNumber = false;
	}
			
	if (maxi){
		if (parseInt(sText.value) > maxi)
			IsNumber = false;
	}
	if (IsNumber == false){
		alert(numericmessage);
		sText.value = "";
		sText.focus();
		}
}
function showDivAnz(ftarget, anz, tot) {
		if (tot != ""){
			for (Count = 1; Count <= parseInt(tot); Count++){
				if (fid('anrede' + Count))
					fid('anrede' + Count).disabled = true;
				if (fid('vorname' + Count))
					fid('vorname' + Count).readOnly = true;
				if (fid('name' + Count))
					fid('name' + Count).readOnly = true;
				fid(ftarget + Count).style.display = 'none';
			}
		}
		for (Count = 1; Count <= anz; Count++){
			if (fid(ftarget + Count)){
				fid(ftarget + Count).style.display = 'block';
				if (fid('anrede' + Count))
					fid('anrede' + Count).disabled = false;
				if (fid('vorname' + Count))					
					fid('vorname' + Count).readOnly = false;
				if (fid('name' + Count))					
					fid('name' + Count).readOnly = false;
			}
		}
}
function calcAnz(elem){
		if (elem.checked)
			fid('anz').value = parseInt(fid('anz').value) + 1; 
		else 	
			fid('anz').value = parseInt(fid('anz').value) - 1; 
	
		if (parseInt(fid('anz').value) > 3)
			fid('rab').value = "15";
		else if (parseInt(fid('anz').value) > 1)
			fid('rab').value = "10";
		else
			fid('rab').value = "0";
		
		fid('net').value = 890 - (890*parseInt(fid('rab').value)/100);
}
function kauf(was){
	if (fid('name')){
		fid('name').focus();	
		fid(['p'+was]).value = '1';
		fid('firma').focus();}
	else {
		fid('email').focus();	
		fid(['p'+was]).value = '1';
		fid('wettpw').focus();}
}
function insert(aTag, eTag, aktf) {
  if (aktf == "")
  	alert("Bitte zuerst Cursor an gewünschte Stelle setzten!");
  else {
	  
  var input = fid(aktf);
  //document.forms['formular'].elements['eingabe'];
  input.focus();
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einfügen des Formatierungscodes */
    var range = document.selection.createRange();
	if (range.text == '' && eTag != '')
		alert('Bitte zuerst Text markieren, den Sie formatieren möchten.');
	else {
    	var insText = range.text;
	    range.text = aTag + insText + eTag;
	    /* Anpassen der Cursorposition */
	    range = document.selection.createRange();
	    if (insText.length == 0) {
    	  range.move('character', -eTag.length);
	    } else {
    	  range.moveStart('character', aTag.length + insText.length + eTag.length);}
	    range.select();
	}
  }
  /* für neuere auf Gecko basierende Browser */
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Einfügen des Formatierungscodes */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
	if (insText == '' && eTag != '')
		alert('Bitte zuerst Text markieren, den Sie formatieren möchten.');
	else {
    input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    /* Anpassen der Cursorposition */
    var pos;
    if (insText.length == 0) {
      pos = start + aTag.length;
    } else {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }}
  /* für die übrigen Browser */
  else
  {
    /* Abfrage der Einfügeposition */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  }
  }
}
function showFAQ(id){

if (fid(id+'antwort').style.display == 'none'){
	fid(id+'antwort').style.display = 'block';}
else
	fid(id+'antwort').style.display = 'none';
	
}
function showDIV(id){
if (fid(id).style.display == 'none')
	fid(id).style.display = 'block';
else
	fid(id).style.display = 'none';
	
	
}


function rollDIV(id){
if (fid(id).style.display == 'none'){
	fid(id).style.display = 'block';
	var tothoch = fid(id).offsetHeight;
	fid(id).style.height = "2px";
	rollOut(id,tothoch);}
else{
	rollIn(id);}
}

function rollOut(id,tothoch){
if (parseInt(fid(id).style.height) < tothoch){
	fid(id).style.height = parseInt(fid(id).style.height) + 5 +"px";
	setTimeout(function() {rollOut(id,tothoch)},3);}
}

function rollIn(id){
if (!fid(id).style.height)
	fid(id).style.height = fid(id).offsetHeight+"px";
if (parseInt(fid(id).style.height) > 7){
	fid(id).style.height = parseInt(fid(id).style.height) - 7 +"px";
	setTimeout(function() {rollIn(id)},7);}
else{
	fid(id).style.display = 'none';
	fid(id).style.height = null;}
}

function getElementsByClass(searchClass,node,tag) {
  var classElements = new Array();
  if (node == null)
    node = document;
  if (tag == null)
    tag = '*';
  var els = node.getElementsByTagName(tag);
  var elsLen = els.length;
  var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
  for (i = 0, j = 0; i < elsLen; i++) {
    if (pattern.test(els[i].className) ) {
      classElements[j] = els[i];
      j++;
    }
  }
  return classElements;
}

function getRadioValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

-->
