window.addEvent('domready', function() {

	window.onbeforeunload = confirmExit;
	  function confirmExit()
	  {
	    if(!form.exit){
			return "Wenn Sie diese Seite jetzt verlassen, gehen alle Ihre Eingaben verloren. Möchten Sie das Formular wirklich verlassen?";
		} else {
			return;
		}
	  }


	var form = R3Form.initialize({
		'whichForm': 'kg'
	});

	if (Browser.Engine.trident) {
		$('engine').value = "Internet Explorer " + (Browser.Engine.version.toInt() + 1);
	} else if (Browser.Engine.gecko) {
		$('engine').value = "Firefox/Mozilla " + Browser.Engine.version;
	}
	if (Browser.Engine.webkit) {
		$('engine').value = "Safari/Chrome " + Browser.Engine.version;
	}
	if (Browser.Engine.presto) {
		$('engine').value = "Opera " + Browser.Engine.version;
	}

	$('platform').value = Browser.Platform.name;

	document.getElementsByClassName = function(cl) {
		var retnode = [];
		var myclass = new RegExp('\\b'+cl+'\\b');
		var elem = this.getElementsByTagName('*');
		for (var i = 0; i < elem.length; i++) {
			var classes = elem[i].className;
			if (myclass.test(classes)) retnode.push(elem[i]);
		}
	return retnode;
	};
	
	
	new DatePicker('#kg_geschaeftsjahr', {
	    pickerClass: 'datepicker_vista',
	    format: 'd.m.',
		yearPicker: false,
		allowEmpty: true,
		days: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
		months: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
		onSelect: function(d) {
			var startDate = d.format('%d.%m.');
			var endDate = d.decrement().format('%d.%m.');
			var range = startDate + ' - ' + endDate;
			$('kg_geschaeftsjahr').getNext().value = $('kg_geschaeftsjahr').value = range;
		}
	});
	
	
	$('kg_ort').addEvent('blur',function(e){
		e.stop();
		$('kg_erfuellungsort').set('value',this.get('value'));
	});
	
	
	$('updatePrice').addEvent('click',function(e){
		e.stop();
		var currentSlide = $$('.slide-active')[0].id;
		form.storeData(currentSlide,undefined,true);
		form.calcKGPrice();
		form.gesamtpreis = 0;
	});
	
	// $('gsgf_strasseHausnr').addEvent('keydown',function(e){
	// 	if(e.key === "tab") {
	// 		$('gsgf_land1_r').focus();
	// 	}
	// });

	//Weiches Scrollen
	//new SmoothScroll({ options }, window);
	var smooth = new Fx.Scroll(window, {
		duration: 700
	});

	SqueezeBox.initialize({
	        size: {x: 700, y: 400}
	    });
	
	
	// für UG-Assistent
	SqueezeBox.assign($$('a[rel=boxed]'),{
		closeBtn: false
	});

	SqueezeBox.assign($$('a.boxed'), {
		parse: 'rel'
	});

	SqueezeBox.assign($('readAGB'), {

		size: {
			x: 700,
			y: 400
		}
	});

	// Select-Felder stylen
	$$('select.styleMe').styleSelect();

	// Produktübersicht verstecken
	//$$('#produktuebersicht tr').hide();

	// alle "Änderungen-speichernchanging = false"-Links verstecken
	$$('.jsChange').hide();

	$('slide_choose_go').hide();
	
	$('kg_name_address').hide();
	
	$('prokuristwarnung').hide();
	
	$('infoAddGF').hide();
	$('infoAddGS').hide();
	
	
	$('anschriften_firma_ag_wrapper').hide();
	
	// Warnung für falsche Einlagensumme ausblenden
	$('einlagensumme').hide();
	
	// GS/GF Info-Nachrichten verstecken
	$$('#left-column-form #secondStep .fyi').hide();
	
	// Maximale Personenzahl in Seitenleiste anzeigen
	$('personCount').set('html',form.options.maxPersonCount);


	$('kg_name').addEvent('blur', function(e) {
		this.removeClass('success');
	});

	//Eingabefelder stylen
	$$('#limitedForm input[type="text"]').addClass("notInFocus");

	$$('#limitedForm input[type="text"]').addEvent('focus', function() {
		$(this).removeClass("notInFocus").addClass("inFocus");
		this.select();
	});

	$$('#limitedForm input[type="text"]').addEvent('blur', function() {
		$(this).removeClass("inFocus").addClass("notInFocus");

	});

	$$('#limitedForm textarea').addEvent('focus', function() {
		$(this).removeClass("notInFocus").addClass("inFocus");
		this.select();
	});

	$$('#limitedForm textarea').addEvent('blur', function() {
		$(this).removeClass("inFocus").addClass("notInFocus");

	});

	//Clientseitige Validierung //////////////////////////////////////////////////////
	//////////////////////////////////////////////////////////////////////////////////
	/////////////////////////////////////////////////////////////////////////////////
	
	var fc_lnName = new FormCheck('slide_name', {
		display: {
			showErrors: 1
		},
		trimValue: true
	});

	form.fc_gsgf = new FormCheck('slide_gsgf', {
		showErrors: 1,
		trimValue: true
	});

	var fc_anschriften = new FormCheck('slide_anschriften', {
		display: {
			showErrors: 1
		},
		trimValue: true
	});
	
	form.fc_prokura = new FormCheck('slide_prokura', {
		display: {
			showErrors: 1
		},
		trimValue: true
	});
	
	var fc_zahlung 	= new FormCheck('slide_zahlung', {
		display : {
			showErrors: 1,
			errorsLocation: 1
		},
		trimValue: true
	});
	
	deactivateProkurist();
	
	// Die abhängigen Felder wieder aus dem validations-Array entfernen...
	$$('#slide_anschriften .jsHiddenValidate').each(function(item){
			fc_anschriften.dispose(item);
	});
	
			// auch die Firmen wieder entfernen, aber gesondert
			var firma_ag = $('anschriften_firma_ag');
			fc_anschriften.dispose(firma_ag);
	
			// Wenn Häkchen bei Firmen gesetzt wird, das entsprechende Feld wieder ins validations-array einfügen
			$('anschriften_firma_cb_ag').addEvent('click',function(){
				if(fc_anschriften.validations.contains(firma_ag)){
					fc_anschriften.dispose(firma_ag);
					$('anschriften_firma_ag_wrapper').hide();
					var current = this.getParent('.sectionToggle').getParent().getStyle('height').toInt();
					this.getParent('.sectionToggle').getParent().setStyle('height',current-67);
				}
				else {
					fc_anschriften.register(firma_ag);
					$('anschriften_firma_ag_wrapper').show();
					var current = this.getParent('.sectionToggle').getParent().getStyle('height').toInt();
					this.getParent('.sectionToggle').getParent().setStyle('height',current+67);
				}
			});
			
	// Wenn neuer Aufraggeber gesetzt, zusätzliche Felder validieren
	$('toggle_ag').addEvent('click', function(){
		$$('#slide_anschriften #anschriften_wrapper_ag .jsHiddenValidate').each(function(item){
				fc_anschriften.register(item);	
		});
	});
	
	
	// Dispose, wenn GS/GF gewählt wird
	// Da die GS/GF-Auswahl dynamisch erstellt wird, wird diese Funktion immer dann aufgerufen,
	// wenn das Anschriften-Slide aufgerufen wird
	function updateDisposeLinks() {
		$$('.shutToggleSection_ag').each(function(item){
			item.addEvent('click',function(){
				fc_anschriften.dispose($('anschriften_firma_ag'));
				$$('#slide_anschriften #anschriften_wrapper_ag .jsHiddenValidate').each(function(item2){
					fc_anschriften.dispose(item2);
				});
			});
		});
	}

	
	$$('#secondStep #linkNeuerEintrag').addEvent('click', function(e){
		e.stop();
		form.newEntry = true;
		form.slideBeforeNew = $$('.slide-active')[0].get('id');
		form.navigateTo('slide_choose');
		if($('personCountWarning') !== null) {
			$('personCountWarning').dispose();
		}
		if(form.countAll === form.options.maxPersonCount-1) {
			$('slide_gsgf_more').hide();
		}
	});

	// Formular drucken
	$('printform').addEvent('click', function(e) {
		e.stop();
		form.exit = true;
		var sendform = new Request({
			url: jsBaseURL + "bestellformular/limited/prepareprintsession",
			data: {
				formdata: JSON.encode(form.datacontainer)
			},
			method: 'post',
			async: true,
			onRequest: function() {
				SqueezeBox.open($('printingForm'), {
					handler: 'adopt',
					closable: false,
					closeBtn: false
				});
			},
			onSuccess: function(response) {
				SqueezeBox.open(jsBaseURL + "bestellformular/limited/prepareprintkg", {
					handler: 'iframe',
					size: {
						x: 550,
						y: 500
					}
				});
			}
		}).send();
	});

	// Produkte sortieren und alternierende Zeilenfarbe
	// $$('.optionen').grab($$('.optionen .toggleWrapper').getLast(), 'top');
	// 
	$$('.optionen .row').each(function(item, index) {
		if (index % 2 !== 0) {
			item.addClass('stripeA');
		} else {
			item.addClass('stripeB');
		}
	});

	$$('#slide_name .sectionToggle').each(function(item, index) {
		if (index % 2 !== 0) {
			item.addClass('stripeA');
		} else {
			item.addClass('stripeB');
		}
	});

	// Bereiche auf- und zuklappen
	form.activateToggles();

	// Special-Toggle (für Satzung und Express)
	$$('.specialToggleWrapper').each(function(item) {
		var slider = new Fx.Slide(item.getElement('.sectionToggle'));
		var infotoggle = item.getElement('.toggle');
		var cbtoggle = item.getElement('.specialtoggle');
		slider.hide();

		cbtoggle.addEvent('click', function() {
			if (this.hasClass('checked')) {
				slider.slideOut();
				if (this.getProperty('title') === 'satzung') {
					$('satzungspreis').set('html', $('ln_100025_preis').get('html'));
				} else if (this.getProperty('title') === 'express') {
					$('expresspreis').set('html', $('ln_100008_preis').get('html'));
				}
				$$('input[name=' + this.getProperty('title') + ']').getParent().removeClass('selected');
				$$('input[name=' + this.getProperty('title') + ']').getParent().addClass('unselected');
			} else {
				slider.slideIn();
				$$('input[name=' + this.getProperty('title') + ']')[0].getParent().removeClass('unselected');
				$$('input[name=' + this.getProperty('title') + ']')[0].getParent().addClass('selected');
			}
		});

		infotoggle.addEvent('click', function() {
			slider.toggle();
			$$('input[name=' + cbtoggle.getProperty('title') + ']').each(function(elem) {
				elem.addEvent('click', function() {
					cbtoggle.removeClass('unchecked');
					cbtoggle.addClass('checked');
				});
				if (elem.get('disabled')) {
					elem.setProperty('disabled', false);
				}
			});
		});
	});

	// Ausgewählte Unterpunkte entfernen, wenn Oberpunkt entfernt wird
	$$('.oberpunkt').each(function(item) {
		item.addEvent('click', function() {
			if (item.hasClass('checked')) {
				$$('input[name=' + item.getProperty('title') + ']').each(function(elem) {
					if (elem.getParent().hasClass('selected')) {
						elem.getParent().removeClass('selected');
						elem.getParent().addClass('unselected');
					}
				});
			}
		});
	});

	// Cover-Div dynamisch anpassen
	$$('.divCover').each(function(item) {
		item.setStyles({
			height: item.getParent().getStyle('height'),
			padding: item.getParent().getStyle('padding'),
			'background-color': item.getParent().getStyle('background-color')

		});
	});

	// Wenn Änderungen gespeichert werden, die ausgegrauten Bereiche
	// wieder einblenden
	$$('.jsChange').addEvent('click', function(e) {
		$$('.changeCover').destroy();
	});
	
		
	$('label_individuell').addEvent('click', function(e){
		e.stop();
		$('anzeige-gewinnregelung').getElements('input').setProperty('disabled',false);
		$('anzeige-gewinnregelung').getElements('input').setStyle('color','#000');
		$('anzeige-gewinnregelung').getElements('li span.prozentzeichen').setStyle('color','#000');
		$('anzeige-gewinnregelung').getElements('li span.prozentzeichen').setStyle('background-color','#fafafa');
		$('anzeige-gewinnregelung').getElements('input').setStyle('background-color','#fafafa');
		$('anzeige-gewinnregelung').getElements('input[type="text"]')[0].focus();
	});
	
	$('label_gesetzlich').addEvent('click', function(e){
		e.stop();
		form.calcAndSetVerteilung();
		if($('einlagensumme').isDisplayed()){
			$('einlagensumme').hide();
		}
		$('anzeige-gewinnregelung').getElements('input').setProperty('disabled',true);
		$('anzeige-gewinnregelung').getElements('li span.prozentzeichen').setStyle('color','#ccc');
		$('anzeige-gewinnregelung').getElements('input').setStyle('color','#ccc');
		$('anzeige-gewinnregelung').getElements('li span.prozentzeichen').setStyle('background-color','#fdfdfd');
		$('anzeige-gewinnregelung').getElements('input').setStyle('background-color','#fdfdfd');
	});

	// Schöne Checkboxes und Radio-Buttons
	FancyForm.start();

	// WEITER-EVENTS
	$('slide_name_go').addEvent('click', function(e) {
		e.stop();
		if (fc_lnName.isFormValid()) {
			$('kg_geschaeftsjahr').getNext().destroy();
			$('kg_geschaeftsjahr').show();
			form.storeData('slide_name');
			form.createLtdName();
			form.updateLinks('firstStep', 'slide_name');
			form.navigateTo('slide_choose');
			$$('#left-column-form #secondStep .fyi').show();
			$('kg_name_address').show();
			smooth.toElement('scrollziel');
			$('secondStepCover').fade('out');
		}
	});

	$('slide_name_edit').addEvent('click', function(e) {
		e.stop();
		if (fc_lnName.isFormValid()) {
			form.storeData('slide_name');
			form.updateView('firstStep');
			form.createLtdName();
			form.changing = false;
			form.navigateTo(form.lastSlide);
			$$('.hide').fade('in');
			$('firstStep').removeClass('changeMe');
			$('slide_name').removeClass('changeMe');
			smooth.toElement('scrollziel');
		}
	});
	
	$('slide_choose_go').addEvent('click', function(e){
		e.stop();
		form.navigateTo('slide_prokura');
		// $('change_ln').fade('in');
		$('thirdStepCover').fade('out');
		smooth.toElement('scrollziel');
	});

	// KOMPLEMENTÄR
	$('komp-btn').addEvent('click', function(e) {
		e.stop();
		$('komp-1').toggleClass('invisible');
		if(!$('komma-1').hasClass('invisible')) {
			$('komma-1').addClass('invisible');	
		}
		form.setGS(false);
		form.setGF(true);
	});

			// Juristische Person
			$('komp-jur-btn').addEvent('click', function(e) {
				e.stop();
				$('komp-1-1').toggleClass('invisible');
			});
					$('bestehend-btn').addEvent('click', function(e) {
						e.stop();
						form.deactivateFields($$('.komp-ng'));
						form.deactivateFields($$('.komma-nat-only'));
						$('linkNeuerEintrag').fade('out');
						$$('.hide').fade('out');
						form.navigateTo('slide_gsgf');
						if(form.countAll === form.options.maxPersonCount-1){
							$('slide_gsgf_more').hide();
						}
						smooth.toElement('scrollziel');
					});

					$('gruenden-btn').addEvent('click', function(e) {
						e.stop();
						form.deactivateFields($$('.komma-nat-only'));
						$('gsgf_table').getElements('input').setProperty('disabled',true);
						$('gsgf_table').getElements('select').setProperty('disabled',true);
						$('gsgf_table').hide();
						form.isNg = true;
						$('linkNeuerEintrag').fade('out');
						$$('.hide').fade('out');
						form.navigateTo('slide_gsgf');
						if(form.countAll === form.options.maxPersonCount-1){
							$('slide_gsgf_more').hide();
						}
						smooth.toElement('scrollziel');
					});

			// natürliche Person
			$('komp-nat-btn').addEvent('click', function(e) {
				e.stop();
				form.deactivateFields($$('.komp-jur'));
				form.deactivateFields($$('.komp-ng'));
				form.deactivateFields($$('.komma-nat-only'));
				$('linkNeuerEintrag').fade('out');
				$$('.hide').fade('out');
				form.navigateTo('slide_gsgf');
				if(form.countAll === form.options.maxPersonCount-1){
					$('slide_gsgf_more').hide();
				}
				smooth.toElement('scrollziel');
			});

	// KOMMANDITIST
	$('komma-btn').addEvent('click', function(e) {
		e.stop();
		$('komma-1').toggleClass('invisible');
		if(!$('komp-1').hasClass('invisible')) {
			$('komp-1').addClass('invisible');	
		}
		form.setGS(true);
		form.setGF(false);
	});
			// Juristische Person
			$('komma-jur-btn').addEvent('click', function(e) {
				e.stop();
				form.deactivateFields($$('.komp-jur'));
				form.deactivateFields($$('.komp-ng'));
				form.activateFields(document.getElementsByClassName('komma-jur'));
				form.activateFields($$('.komma-nat-only'));
				$('linkNeuerEintrag').fade('out');
				$$('.hide').fade('out');
				form.navigateTo('slide_gsgf');
				if(form.countAll === form.options.maxPersonCount-1){
					$('slide_gsgf_more').hide();
				}
				smooth.toElement('scrollziel');
			});

			// natürliche Person
			$('komma-nat-btn').addEvent('click', function(e) {
				e.stop();
				form.deactivateFields($$('.komma-jur'));
				form.deactivateFields($$('.komp-jur'));
				form.deactivateFields($$('.komp-ng'));
				form.activateFields($$('.komma-nat-only'));
				$('linkNeuerEintrag').fade('out');
				$$('.hide').fade('out');
				form.navigateTo('slide_gsgf');
				if(form.countAll === form.options.maxPersonCount-1){
					$('slide_gsgf_more').hide();
				}
				smooth.toElement('scrollziel');
			});
			
	
	// Alle Formular-Felder anzeigen, alle Felder enablen, alle entspr. Felder ins Validations-Array aufnehmen.
	function resetKom() {
		$('gsgf_table').show();
		
		// Es werden vorher mit hide() versteckte tr wieder angezeigt. mit show() bekämen die ein display:block,
		// was in modernen Browsern zu Darstellungsfehlern führt. show('table-row') würde das Problem lösen, allerdings
		// kennt das wiederum der IE nicht. style.display="" setzt display automatisch auf den Wert vor dem hide();
		document.getElementsByClassName('komp-jur').each(function(item){
			item.style.display ='';
		});
		
		document.getElementsByClassName('komp-nat').each(function(item){
			item.style.display ='';
		});
		
		document.getElementsByClassName('komma-jur').each(function(item){
			item.style.display ='';
		});
		
		document.getElementsByClassName('komma-nat').each(function(item){
			item.style.display ='';
		});
		
		document.getElementsByClassName('komp-ng').each(function(item){
			item.style.display ='';
		});
		
		$('slide_gsgf').getElements('input').each(function(item){
			item.setProperty('disabled',false);
			if (item.hasClass('jsValidate') && !form.fc_gsgf.validations.contains(item)) {
				form.fc_gsgf.register(item);
			};
		});
		
		$('slide_gsgf').getElements('select').each(function(item){
			item.setProperty('disabled',false);
			if (item.hasClass('jsValidate') && !form.fc_gsgf.validations.contains(item)) {
				form.fc_gsgf.register(item);
			};
		});
		
	}
	
	
	function activateProkurist() {
		$('prokuristen').show();
		$('prokuristen').getElements('input').setProperty('disabled',false);
		$('prokuristen').getElements('select').setProperty('disabled',false);
	}
	
	function deactivateProkurist() {
		$('prokuristen').hide();
		$('prokuristen').getElements('input').setProperty('disabled',true);
		$('prokuristen').getElements('select').setProperty('disabled',true);
	}
	
	$('label_prokura_ja').addEvent('click', function(e){
		e.stop();
		if($$('.person').length === 0) {
			createP();
		}
		activateProkurist();
	});
	
	$('label_prokura_nein').addEvent('click', function(e){
		e.stop();
		$('prokuristwarnung').hide();
		$$('.person').each(function(item){
			var id = item.get('id'),
				nr = id.split('__p')[1];
			form.removeProkurist(nr);
		});
		deactivateProkurist();
	});
	
	

	$('slide_gsgf_more').addEvent('click', function(e) {
		e.stop();
		if (form.fc_gsgf.isFormValid()) {
			if ($('slide_choose_go').isDisplayed() === false) {
				$('slide_choose_go').show();
			}
			form.storeData('slide_gsgf');
			if($('gsgf_isGF').value === 'true') {
				$$('.gf_only').hide();
			}
			form.emptyInputs('slide_gsgf');
			form.createGSGF();
			form.updateLinks('secondStep', 'slide_gsgf');
			form.updateGSGFCounter();
			if(form.countAll < form.options.maxPersonCount){
				$('linkNeuerEintrag').fade('in');
			}
			$$('.hide').fade('in');
			if (form.countGF < 1) {
				$('infoAddGF').show();
				$('slide_choose_go').hide();
				form.navigateTo('slide_choose');
			} else if (form.countGS < 1) {
					$('infoAddGS').show();
					$('slide_choose_go').hide();
					form.navigateTo('slide_choose');
			} else {
				$('infoAddGF').hide();
				$('infoAddGS').hide();
				$('slide_choose_go').show();
				form.navigateTo('slide_choose');
			}
			if(!$('komp-1').hasClass('invisible')){
				$('komp-1').addClass('invisible');
			}
			if(!$('komma-1').hasClass('invisible')){
				$('komma-1').addClass('invisible');
			}
			form.isNg = false;
			form.setGS(false);
			form.setGF(false);
			resetKom();
			smooth.toElement('scrollziel');
		}
	});

	$('slide_gsgf_edit').addEvent('click', function(e) {
		e.stop();
		if (form.fc_gsgf.isFormValid()) {
			form.storeData('slide_gsgf', form.changeId);
			form.updateView('secondStep');
			form.updateGSGFCounter();
			form.emptyInputs('slide_gsgf');
			form.createGSGF(); // Aufruf nur wegen Anschriften-Update
			form.createAS('slide_anschriften');
			$$('.hide').fade('in');
			form.changing = false;
			form.navigateTo(form.lastSlide);
			form.isNg = false;
			form.setGS(false);
			form.setGF(false);
			resetKom();
			$('secondStep').removeClass('changeMe');
			$('slide_gsgf').removeClass('changeMe');
			
			smooth.toElement('scrollziel');
		}
	});

	$('slide_gsgf_go').addEvent('click', function(e) {
		e.stop();
		if (form.fc_gsgf.isFormValid()) {
			if ($('slide_choose_go').isDisplayed() === false) {
				$('slide_choose_go').show();
			}
			form.storeData('slide_gsgf');
			if($('gsgf_isGF').value === 'true') {
				$$('.gf_only').hide();
			}
			form.emptyInputs('slide_gsgf');
			form.createGSGF();
			form.updateLinks('secondStep', 'slide_gsgf');
			form.updateGSGFCounter();
			if (form.countAll < form.options.maxPersonCount) {
				$('linkNeuerEintrag').fade('in');
			}
			$$('.hide').fade('in');
			if (form.newEntry) {
				form.navigateTo(form.slideBeforeNew);
				form.newEntry = false;
			} else {
				if (form.countGF < 1) {
					$('infoAddGF').show();
					$('slide_choose_go').hide();
					form.navigateTo('slide_choose');
				} else if (form.countGS < 1) {
					$('infoAddGS').show();
					$('slide_choose_go').hide();
					form.navigateTo('slide_choose');
				} else {
					$('infoAddGF').hide();
					$('infoAddGS').hide();
					$('slide_choose_go').show();
					form.navigateTo('slide_prokura');
				}
			}
			if(!$('komp-1').hasClass('invisible')){
				$('komp-1').addClass('invisible');
			}
			if(!$('komma-1').hasClass('invisible')){
				$('komma-1').addClass('invisible');
			}
			form.isNg = false;
			form.setGS(false);
			form.setGF(false);
			resetKom();
			//console.dir(form.datacontainer);
			$('thirdStepCover').fade('out');
			smooth.toElement('scrollziel');
		}
	});

	$('slide_gsgf_cancel').addEvent('click', function(e) {
		e.stop();
		form.emptyInputs('slide_gsgf');
		if (form.countAll < form.options.maxPersonCount) {
			$('linkNeuerEintrag').fade('in');
		}
		$$('.hide').fade('in');
		form.changing = false;
		if (form.newEntry) {
			form.navigateTo(form.slideBeforeNew);
			form.newEntry = false;
		} else {
			form.navigateTo('slide_choose');
		}
		if(!$('komp-1').hasClass('invisible')){
			$('komp-1').addClass('invisible');
		}
		if(!$('komma-1').hasClass('invisible')){
			$('komma-1').addClass('invisible');
		}
		form.isNg = false;
		form.setGS(false);
		form.setGF(false);
		resetKom();
		smooth.toElement('scrollziel');
	});
	

	var counter = 0;
	var toClone = $('prokurist__p1');
	
	$('delete_1').addEvent('click', function(e){
		e.stop();
		var id = this.get('id').split('_')[1];
		if($$('.person').length === 1){
			$('prokuristwarnung').show();
		} else {
			form.removeProkurist(id);
		}
	});
	
	
	function createP() {
		var elem;
		
		var clone = toClone.clone(true,true).injectBefore('addP');
		
		counter++;
		
		clone.getElement('h4').set('html','Angaben zu diesem Prokuristen <a href="#" id="delete_'+(counter+1)+'" title="Diesen Prokuristen entfernen">X</a>');
	    var newID = clone.get('id').replace('_p1','_p' + (counter+1));
        clone.set('id',newID);

        clone.getElements('input').each(function(item){
			if(item.hasClass('jsValidate')){
				form.fc_prokura.register(item);
			}
	    	newID=item.get('id').replace('_p1','_p' + (counter+1));
	    	item.set('id',newID);
	    	newName=item.get('name').replace('_p1','_p' + (counter+1));
	    	item.set('name',newName);
			if(item.getProperty('type') === 'radio') {
				FancyForm.add(item);
			}
			item.set('value','');
	    });
	
		clone.getElements('select').each(function(item){
			if(item.hasClass('jsValidate')){
				form.fc_prokura.register(item);
			}
	    	newID=item.get('id').replace('_p1','_p' + (counter+1));
	    	item.set('id',newID);
	    	newName=item.get('name').replace('_p1','_p' + (counter+1));
	    	item.set('name',newName);
	    	item.set('value','');
	    });

        clone.getElements('label').each(function(item){ 
			newFor=item.getAttribute('for').replace('_p1','_p' + (counter+1));
	    	item.setAttribute('for',newFor);
	    });

		
		// delete-Event an den Löschen-Button binden
		$('delete_'+(counter+1)).addEvent('click', function(e){
			e.stop();
			var id = this.get('id').split('_')[1];
			if($$('.person').length === 1){
				$('prokuristwarnung').show();
			} else {
				form.removeProkurist(id);
			}
			
		});
	}
	
	$('addP').addEvent('click', function(e){
	    e.stop();
		$('prokuristwarnung').hide();
		createP();

	});
	
	
	$('slide_prokura_go').addEvent('click', function(e){
		e.stop();
		if (form.fc_prokura.isFormValid()) {
			form.storeData('slide_prokura');
			form.createProkurist();
			form.updateLinks('thirdStep','slide_prokura');
			form.navigateTo('slide_verteilung');
			$('prokuristwarnung').hide();
			//console.dir(form.datacontainer);
			$('thirdhalfStepCover').fade('out');
			smooth.toElement('scrollziel');
		}
	});
	
	$('slide_prokura_edit').addEvent('click', function(e){
		e.stop();
		if (form.fc_prokura.isFormValid()) {
			if($('label_prokura_ja').hasClass('selected')) {
				form.storeData('slide_prokura');
				form.createProkurist();
			}
			$$('.hide').fade('in');
			form.changing = false;
			form.updateLinks('thirdStep','slide_prokura');
			// console.dir(form.datacontainer);
			form.navigateTo(form.lastSlide);
			$('thirdStep').removeClass('changeMe');
			$('slide_prokura').removeClass('changeMe');
			smooth.toElement('scrollziel');
		}
	});

	$('slide_verteilung_go').addEvent('click', function(e){
		e.stop();
		if (form.checkVerteilung()) {
			form.storeData('slide_verteilung');
			form.createVerteilung();
			form.updateLinks('thirdhalfStep','slide_verteilung');
			updateDisposeLinks();
			form.navigateTo('slide_anschriften');
			$('fourthStepCover').fade('out');
			smooth.toElement('scrollziel');
		}
	});

/*
	$('slide_verteilung_go').addEvent('click', function(e){
		e.stop();
		if (form.checkVerteilung()) {
			form.storeData('slide_verteilung');
			form.createVerteilung();
			form.updateView('thirdfourthStep');
			form.updateLinks('thirdhalfStep','slide_verteilung');
			updateDisposeLinks();
			form.navigateTo('slide_optionen');
			$('thirdfourthStepCover').fade('out');
			smooth.toElement('scrollziel');
		}
	});
*/

	$('slide_verteilung_edit').addEvent('click', function(e){
		e.stop();
		if (form.checkVerteilung()) {
			form.storeData('slide_verteilung');
			form.createVerteilung();
			$$('.hide').fade('in');
			form.changing = false;
			form.updateLinks('thirdhalfStep','slide_verteilung');
			form.navigateTo(form.lastSlide);
			$('thirdhalfStep').removeClass('changeMe');
			$('slide_anschriften').removeClass('changeMe');
			smooth.toElement('scrollziel');
		}
	});


	$('slide_optionen_go').addEvent('click', function(e){
		e.stop();
		form.createOptions();
		form.storeData('slide_optionen');
		form.updateView('thirdfourthStep');
		form.updateLinks('thirdfourthStep','slide_optionen');
		updateDisposeLinks();
		form.navigateTo('slide_anschriften');
		$('fourthStepCover').fade('out');
		smooth.toElement('scrollziel');
	});


	$('slide_optionen_edit').addEvent('click', function(e){
		e.stop();
		form.createOptions();
		form.storeData('slide_optionen');
		form.updateView('thirdfourthStep');
		$$('.hide').fade('in');
		form.changing = false;
		form.updateLinks('thirdfourthStep','slide_optionen');
		form.navigateTo(form.lastSlide);
		$('thirdfourthStep').removeClass('changeMe');
		$('slide_anschriften').removeClass('changeMe');
		smooth.toElement('scrollziel');
	});


	$('slide_anschriften_go').addEvent('click', function(e) {
		e.stop();
		if (fc_anschriften.isFormValid()) {
			form.storeData('slide_anschriften');
			form.createAS();
			form.updateLinks('fourthStep','slide_anschriften');
			form.navigateTo('slide_zahlung');
			// console.dir(form.datacontainer);
			smooth.toElement('scrollziel');
		}
	});
	
	$('slide_anschriften_edit').addEvent('click', function(e){
		e.stop();
		if(fc_anschriften.isFormValid()){
			form.storeData('slide_anschriften');
			form.createAS();
			form.updateView('fourthStep');
			$$('.hide').fade('in');
			form.changing = false;
			form.navigateTo(form.lastSlide);
			$('fourthStep').removeClass('changeMe');
			$('slide_anschriften').removeClass('changeMe');
			smooth.toElement('scrollziel');
		}
	});
	
	function highlightIt(id) {
	    var myFx = new Fx.Tween($(id));
	    var on  = function(){myFx.start('border-color','#fff','#841303')};
	    var off = function(){myFx.start('border-color','#841303','#fff')};

	    myFx.start('border-color','#fff','#841303').wait(100)
	        .chain(on).wait(100)
	        .chain(off).wait(100)
	        .chain(on).wait(100)
	        .chain(off).wait(100)
	        .chain(on).wait(100)
	        .chain(off).wait(100)
	        .chain(on).wait(100)
	        .chain(off).wait(100)
	        .chain(on).wait(100)
			.chain(off).wait(100);
	}
	
		

	$('slide_zahlung_go').addEvent('click',function(e){
		e.stop();
		if(fc_zahlung.isFormValid()){
			if(form.checkPersonCount()){				
				if($('personCountWarning') !== null){
					$('personCountWarning').dispose();
				}
				
				// Seitenleiste ausgrauen
				var steps = $$('[id$=Step]'); // alle Elemente auswählen, deren id auf Step endet
				steps.each(function(item){
					if(!item.hasChild('cover'+item.get('id'))){
						var changeCover = new Element('div',{'class': 'changeCover','id':'cover'+item.get('id')});
						item.grab(changeCover);
					}
				});
				
				$$('.changeCover').show();
				form.storeData('slide_zahlung');

				var sendform = new Request({
									url: jsBaseURL + "bestellformular/limited/preparemailkg",
									data: {formdata:JSON.encode(form.datacontainer)},
									method: 'post',
									async: true,
									onRequest: function(){SqueezeBox.open($('sendingMessage'), {handler: 'adopt',closable: false,closeBtn: false,size: {x: 350, y: 100}});},
									onSuccess: function(response){
										SqueezeBox.close();
										switch (response)
										{
											case 'true':
												form.navigateTo('slide_success');
												break;
								
											default:
												form.navigateTo('slide_error');
												$('left-column-form').grab($('print'),'top');
												highlightIt('print');
										}
									}
								}).send();
				
				
				form.exit = true;

			} else {
				if($('personCountWarning') === null) {
					var warnung = new Element('div',{'id':'personCountWarning','class':'warning','html':'Sie haben noch nicht die erforderliche Anzahl an Personen angelegt. Sie müssen 1 Komplementär, mindestens einen Kommanditisten und einen Auftraggeber anlegen. Klicken Sie dazu bitte in der Seitenleiste auf "Neuer Eintrag" bzw. auf das "ändern"-Symbol.'});
					$('slide_zahlung').grab(warnung);
				}
				else {
					$('personCountWarning').set('html','Sie haben noch nicht die erforderliche Anzahl an Personen angelegt. Sie müssen 1 Komplementär, mindestens einen Kommanditisten und einen Auftraggeber anlegen. Klicken Sie dazu bitte in der Seitenleiste auf "Neuer Eintrag" bzw. auf das "ändern"-Symbol.');
				}
			
			}
			smooth.toElement('scrollziel');
			//console.log(JSON.encode(form.datacontainer));
		}
		
	});


});

