var letzteFehler = new Array();
var neueFehler = new Array();

function registrieren()
{
	document.getElementById('boxRegistrieren').style.visibility = "hidden";
	document.getElementById('boxRegistrieren').style.display = "block"; 
	
	var width = document.getElementById('boxRegistrieren').offsetWidth;
	var height = document.getElementById('boxRegistrieren').offsetHeight;
	
	var screenHeight = document.viewport.getHeight();
	var screenWidth = document.viewport.getWidth();
	var screenScroll =  document.viewport.getScrollOffsets().top;
	
	document.getElementById('boxRegistrieren').style.left = screenWidth/2 - width/2 + "px";
	document.getElementById('boxRegistrieren').style.top = screenHeight/2 - height/2 + screenScroll + "px";
	
	document.getElementById('boxRegistrieren').style.display = "none";
	document.getElementById('boxRegistrieren').style.visibility = "visible"; 
	
	
	document.getElementById('blende').style.top = screenScroll + "px";
	
	Effect.Appear("blende", {from:0.0, to:0.8, duration: 0.5});
	Effect.Appear('boxRegistrieren');
}

function registrierungAbbrechen()
{
	Effect.Fade("boxRegistrieren");
	Effect.Fade("blende");
}

function registrationPruefen(xml)
{
	xml = xml.documentElement;
	
	if(tagWert(xml, "erfolg") == 1)
	{
		Effect.toggle("formular", "blind");
		Effect.toggle("bestaetigung", "blind");
	}
	else
	{

		/* Ausser beim IE muss jedes zweite Child übersprungen werden (#text) */
		if(Prototype.Browser.IE)
		{
			/* IE */
			var offset = 0;
		}
		else
		{
			/* Rest */
			var offset = 1;
		}
		
		
		if(offset)
		{
			var anzahlFehler = (xml.childNodes.length - 1) / 2;
		}
		else
		{
			var anzahlFehler = xml.childNodes.length - 0;
		}
		
		var fehlerFelder = document.getElementsByTagName("small");
		//alert(fehlerFelder.length);
		for(x = 0; x < fehlerFelder.length; x++)
		{
		  if(fehlerFelder[x].className == "error")
		  {
		  	fehlerFelder[x].innerHTML = ""; 
		  }
		}
		
		/* XML parsen und Fehler anzeigen */
		for(x = 1; x <= anzahlFehler; x++)
		{
			var feldName = xml.childNodes[x*(1+offset)-1].nodeName;
			var fehler = xml.childNodes[x*(1+offset)-1].childNodes[0].nodeValue;

			if(feldName != "erfolg")
			{
				id(feldName+"Error").innerHTML = fehler;
				Effect.Appear(feldName+"Error");
			}
		}
		
		/* Captcha aktalisieren */
		Recaptcha.reload();
		id("recaptcha_response_field").value = "";
	}
}

function AGBwechsel()
{
	Effect.toggle("formular", "blind");
	Effect.toggle("agb", "blind");
}

function id(element)
{
	return document.getElementById(element);
}


function tagWert(xml, bezeichnung)
{
	return xml.getElementsByTagName(bezeichnung).item(0).childNodes[0].nodeValue;
}

function ajaxFormRegistrieren()
{
	advAJAX.assign(document.getElementById("formRegistrieren"), {
	  onSuccess : function(obj) { registrationPruefen(obj.responseXML); },
	    onError : function(obj) { alert("Error: " + obj.status); }
	});
 }     

var RecaptchaOptions = {
   lang : 'de',
   theme : 'white'
};
