Event.observe( window, 'load', function() {
	show_error = function(text){
		$('error_fehlende_angaben').setStyle({display:'block'});
		$('error_fehlende_angaben').innerHTML = text;
	}
	radiogroup_validation = function(form_active){
		var radiogroups = form_active.getElementsByClassName('radiogroup');
		if(radiogroups && radiogroups.length > 0){
			var radiogroup_checked = false;
			for(var radio_element in radiogroups){
				var radiogroup = radiogroups[radio_element];
				if(typeof radiogroup.down == "function"){
					var radiogroup_input = radiogroup.down('input');
					if(radiogroup_input.checked == true){
						radiogroup_checked = true;
					}
				}
			}
			if(radiogroup_checked == false){
				if($('error_fehlende_angaben').getStyle('display') == "block"){
						new Effect.Highlight('error_fehlende_angaben',{ startcolor: '#dddddd',endcolor: '#ffffff' });
				}else{
					show_error(form_active.down('.error').innerHTML);
				}
				return false;
			}
			else{
				$('error_fehlende_angaben').hide();
			}
		}
		return true;
	}
	slider_validation = function(form_active){
		var sliders = form_active.getElementsByClassName('schieber');
		if(sliders && sliders.length > 0){
			var sliders_value_sum = 0;
			for(var slider_element in sliders){
				var slider = sliders[slider_element];
				if(typeof slider.down == "function"){
					try{
						var slider_input = slider.down('.wert').down('input');
						if(slider_input.value != 0){
							sliders_value_sum++;
						}								
					}catch(e){;}
				}						
			}
			if(sliders_value_sum == 0){
				if($('error_fehlende_angaben').getStyle('display') == "block"){
						new Effect.Highlight('error_fehlende_angaben',{ startcolor: '#dddddd',endcolor: '#ffffff' });
				}else{
					show_error(form_active.down('.error').innerHTML);
				}
				return false;
			}
			else{
				$('error_fehlende_angaben').hide();
			}
		}
		return true;
	}
	$('kalkkulation_berechnen_error').hide();
	ACTIVE_FORM = 0;
	ACTIVE_KATALOG = 6;
	$$('.katalog').each(function(element){
		element.hide();
	});
	if($$('.katalog') && typeof $$('.katalog')[ACTIVE_KATALOG] != "undefined"){
		$$('.katalog')[ACTIVE_KATALOG].show();
	}
	$$('.slider').each(function(slider){
		if(slider.id = "Storage"){
			var datensicherungsvolumen = true;
		}
		else{
			var datensicherungsvolumen = true;
		}
		var datensicherungswert = $('Datensicherungsvolumen').down('.wert');
		if(slider.hasClassName('ten')){
			var multiplikator = 10;
		}
		else if(slider.hasClassName('hundred')){
			var multiplikator = 100;
		}
		else{
			var multiplikator = 1;
		}
		var dom_wert = slider.up().down('.wert');
		var label = slider.up().down().innerHTML;
		var h2_id = slider.up(3).down().id;
		var min  = parseInt(slider.up().down('.slider-min').innerHTML);
		var max  = parseInt(slider.up().down('.slider-max').innerHTML)/multiplikator;
		slider.controlSlider = new Control.Slider(slider.down('.slider-bar/.handle'), slider.down('.slider-bar'), {
			sliderValue: dom_wert.down().value,
			range: $R(min, max),
			values: $R(min, max),
			/*sliderValue: 0,*/
			onSlide: function(wert) {
				wert = wert*multiplikator;
				if(datensicherungsvolumen == true){
					datensicherungswert.innerHTML = wert*5;
				}
				dom_wert.down().value = wert;
			},
			onChange: function(wert) {
				wert = wert*multiplikator;
				if(datensicherungsvolumen == true){
					datensicherungswert.innerHTML = wert*5;
				}
				dom_wert.down().value = wert;
			}
		});
	});
	if($('startseite') && typeof $('startseite') != "undefined" && typeof $('startseite').observe == "function"){
		$('startseite').observe('click',function(){
			var form = $$('.form');
			if(typeof form[0] != "undefined"){
				form[0].appear({limit:1});
			}
			if(typeof form[1] != "undefined"){
				form[1].fade({limit:1});
				form[1].setStyle({
					position:'absolute'
				});
			}
		}); 
	}
	$$('.fortschritts_menu').each(function(element,i){
		var form = $$('.form');
		if(typeof form[ACTIVE_FORM] != "undefined"){
			form[ACTIVE_FORM].show();
		}
		element.observe('click',function(){
			var form = $$('.form');
			var fortschritts_menu = $$('.fortschritts_menu');
			if(i > ACTIVE_FORM){
				if(radiogroup_validation(form[ACTIVE_FORM]) != true || slider_validation(form[ACTIVE_FORM]) != true){
					return false;
				}
				if(fortschritts_menu[i].hasClassName('forbidden')){
					return false;
				}
			}
			else{
				$('error_fehlende_angaben').hide();
			}
			if(typeof form[ACTIVE_FORM] != "undefined" && i != ACTIVE_FORM){
				var queue = Effect.Queues.get('fade_navi');
				queue.each(function(effect) { 
					console.log(effect);
					effect.element.hide();
					effect.cancel();
				});
				form[ACTIVE_FORM].fade({limit:1,queue: { position: 'front', scope: 'fade_navi' }});
				form[ACTIVE_FORM].setStyle({
					position:'absolute',
					cursor:'wait'
				});
				fortschritts_menu[ACTIVE_FORM].setStyle({
					backgroundColor:'transparent',
					paddingBottom:'7px'
				});
			}
			if(typeof fortschritts_menu){
				$$('.button').each(function(element){
						element.hide();
				});
				if(fortschritts_menu.length == (i+1)){
					$('button_kalkulation').show();
				}
				else if(i == 0){
					$('button_start').show();
				}
				else{
					$('button_next').show();
				}
			}
			if(typeof form[i] != "undefined"){
				/*form[i].appear({limit:1});
				form[i].setStyle({cursor:'wait',queue: 'first'})*/
				var queue = Effect.Queues.get('appear_navi');
				queue.each(function(effect) {
					effect.element.show();
					effect.cancel();
				});
				form[i].appear({limit:1, queue: { position: 'front', scope: 'appear_navi' } });
				form[i].setStyle({cursor:'auto', position:'relative', queue: { position: 'end', scope: 'appear_navi' } });

				if(typeof fortschritts_menu[i] != "undefined"){
					fortschritts_menu[i].setStyle({
						backgroundColor:'#85a495',
						paddingBottom:'4px'
					});
				}
				ACTIVE_FORM = i;
			}
			if(typeof fortschritts_menu[ACTIVE_FORM+1] != "undefined"){
				if(fortschritts_menu[ACTIVE_FORM+1].hasClassName('forbidden')){
					fortschritts_menu[ACTIVE_FORM+1].removeClassName('forbidden');
					
				}
			}
		});
	});
	$$('.next').each(function(element){
		element.observe('click',function(){
			var form_active = $$('.form')[ACTIVE_FORM];
			var fortschritts_menu =  $$('.fortschritts_menu');

			if(radiogroup_validation(form_active) != true || slider_validation(form_active) != true){
				return false;
			}
			
			$$('.button').each(function(element){
				element.hide();
			});
			if(typeof form_active != "undefined"){
				form_active.fade({limit:1});
				form_active.setStyle({
					position:'absolute',
					cursor:'wait'
				});
				if(typeof fortschritts_menu[ACTIVE_FORM] != "undefined"){
					fortschritts_menu[ACTIVE_FORM].setStyle({
						backgroundColor:'transparent',
						paddingBottom:'7px'
					});
				}
			}
			if(typeof form_active != "undefined"){
				ACTIVE_FORM++;
				form_active = $$('.form')[ACTIVE_FORM];
				if(fortschritts_menu.length == (ACTIVE_FORM+1)){
					$('button_kalkulation').show();
				}else if(ACTIVE_FORM == 0){
					$('button_start').show();
				}else{
					$('button_next').tabIndex = ((ACTIVE_FORM+2)*10);
					$('button_next').show();
				}
				form_active.setStyle({cursor:'wait',queue: 'first'})
				form_active.appear({limit:1, queue: 'first' });
				form_active.setStyle({cursor:'auto', position:'relative', queue: 'last' });

				if(typeof fortschritts_menu[ACTIVE_FORM] != "undefined"){
					fortschritts_menu[ACTIVE_FORM].setStyle({
						backgroundColor:'#85a495',
						paddingBottom:'4px',
						cursor:'pointer'
					});
				}
			}
			if(typeof fortschritts_menu[ACTIVE_FORM+1] != "undefined"){
				if(fortschritts_menu[ACTIVE_FORM+1].hasClassName('forbidden')){
					fortschritts_menu[ACTIVE_FORM+1].removeClassName('forbidden');
				}
			}
		});
	});
	$$('.forbidden').each(function(element){
		element.observe('click',function(){
			return false;
		});
	});
	$$('.operating_system').each(function(element){
		element.observe('click',function(){
			$$('.operating_system').each(function(op){
				if(op.hasClassName('clicked')){
					op.removeClassName('clicked');
				}
				try{
					if(op.down('.logo').hasClassName('hidden') == false){
						op.down('.logo').addClassName('hidden');
					}
				}catch(e){;}
			})
			this.addClassName('clicked');
			try{
				if(this.down('.logo').hasClassName('hidden')){
					this.down('.logo').removeClassName('hidden');
				}
			}catch(e){;}
		});
	});
	$$('.database').each(function(element){
		element.observe('click',function(){
			$$('.database').each(function(op){
				if(op.hasClassName('clicked')){
					op.removeClassName('clicked');
				}
				try{
				
					if(op.down('.logo').hasClassName('hidden') == false){
						op.down('.logo').addClassName('hidden');
					}
				}catch(e){;}
			})
			this.addClassName('clicked');
			try{
				if(this.down('.logo').hasClassName('hidden')){
					this.down('.logo').removeClassName('hidden');
				}
			}catch(e){;}
		});
	});
	$$('.paketwahl').each(function(element){
		element.observe('click',function(){
			$$('.paketwahl').each(function(op){
				if(op.hasClassName('clicked')){
					op.removeClassName('clicked');
				}
			})
			this.addClassName('clicked');
		});
	});
	$$('.infrastruktur').each(function(element){
		element.observe('click',function(){
			$$('.infrastruktur').each(function(op){
				if(op.hasClassName('clicked')){
					op.removeClassName('clicked');
				}
			})
			this.addClassName('clicked');
		});
	});
	
	$$('.form').each(function(element){
		if(typeof element != "undefined"){
			element.hide();
		}
	});
	$$('.leistung').each(function(element,j){
		element.observe('click', function(){
			//$$('.katalog')[ACTIVE_KATALOG].fade();
			var katalog = $$('.katalog');
			katalog[ACTIVE_KATALOG].hide();
			katalog[ACTIVE_KATALOG].setStyle({
				position:'absolute'
			});
			//$$('.katalog')[j].appear();
			katalog[j].show();
			katalog[j].setStyle({
				position:'relative'
			});
			ACTIVE_KATALOG = j;
			$$('.leistung').each(function(leistung){
				if(leistung.hasClassName('selected')){
					leistung.removeClassName('selected');
				}
			});
			this.addClassName('selected');
			if(this.up(2).hasClassName('top-tab')){
				$$('.bottom-tab').each(function(bottom){
					bottom.removeClassName('bottom-tab');
					bottom.addClassName('top-tab');
				});
				this.up(2).removeClassName('top-tab');
				this.up(2).addClassName('bottom-tab');
			}
			if(parseInt(this.cellIndex) == 0){
				$('table-top-left').setStyle({display:'block'});
				$('table-top-right').setStyle({display:'none'});
			}
			else if(parseInt(this.cellIndex) == 4){
				$('table-top-left').setStyle({display:'none'});
				$('table-top-right').setStyle({display:'block'});
			}
			else{
				$('table-top-left').setStyle({display:'none'});
				$('table-top-right').setStyle({display:'none'});
			}
		});
	});
	if(typeof $$('.form')[ACTIVE_FORM] != "undefined"){
		var form = $$('.form');
		form[ACTIVE_FORM].appear({limit:1});
		form[ACTIVE_FORM].setStyle({
			position:'relative'
		});
		if(typeof $$('.fortschritts_menu') != "undefined"){
			if(typeof $$('.fortschritts_menu')[ACTIVE_FORM] != "undefined"){
				$$('.fortschritts_menu')[ACTIVE_FORM].setStyle({
					backgroundColor:'#85a495',
					paddingBottom:'4px',
					cursor:'pointer'
				});
			}
		}
		$$('.button').each(function(element){
			element.hide();
		});
		if(typeof $('button_start') != "undefined"){
			$('button_start').show();
		}
	}
	if($('button_kalkulation') && typeof $('button_kalkulation') != "undefined" && typeof $('button_kalkulation').observe == "function"){
		$('button_kalkulation').observe('click', function(e){
				if(radiogroup_validation($$('.form')[ACTIVE_FORM]) == true){
					$('popup').setStyle({ 
						display:'block',
						left:'-1000px',
						top:'-100px'
					});
					new Effect.Move('popup', { x: 200, y: 50, mode: 'absolute',transition: Effect.Transitions.spring });
				}
				else{
					return false;
				}
				/*$('popup').move({
					x: 200,
					y: 200,
					mode: 'absolute',
					transition: Effect.Transitions.spring
				});*/
		});
	}
	if($('popup_schliessen') && typeof $('popup_schliessen')  != "undefined" && typeof $('popup_schliessen') .observe == "function"){
		$('popup_schliessen').observe('click', function(e){
				new Effect.Move('popup', { x: -1000, y: -100, mode: 'absolute',transition: Effect.Transitions.spring });
		}); 
	}
	if($('kalkulation_berechnen')){
		$('kalkulation_berechnen').observe('click',function(e){
			//var vorname = $('vorname').value;
			var nachname = $('nachname').value;
			var email = $('email').value;
			var company = $('company').value;
			var optin = $('optin').checked;
			if(optin == false){
				$('optin_label').setStyle({color:'red'});
			}
			else{
				$('optin_label').setStyle({color:'black'});
			}
			if(nachname == ""){
				$('nachname_label').setStyle({color:'red'});
			}
			else{
				$('nachname_label').setStyle({color:'black'});
			}
			if(email == "" || email.search(/(.+)@(.+)/) == -1){
				$('email_label').setStyle({color:'red'});
			}
			else{
				$('email_label').setStyle({color:'black'});
			}	
			if(company == ""){
				$('company_label').setStyle({color:'red'});
			}
			else{
				$('company_label').setStyle({color:'black'});
			}
			if(nachname != "" && email != "" && email.search(/(.+)@(.+)/) != -1 && company != "" && optin == true){
				$('formular').submit();
			}
			else{
				new Effect.Move('popup', { x: 190, y: 50, mode: 'absolute',transition: Effect.Transitions.wobble, duration: 0.5, queue: { position: 'front', scope: 'wackel' }});
				new Effect.Move('popup', { x: 200, y: 50, mode: 'absolute',transition: Effect.Transitions.linear, duration: 0.1, queue: { position: 'end', scope: 'wackel' }});
			
				/*if($('kalkkulation_berechnen_error').style.display != "none"){
					new Effect.Highlight('kalkkulation_berechnen_error', { startcolor: '#A9A9A9',endcolor: '#ECECEC' });
				}else{*/
					$('kalkkulation_berechnen_error').appear();
				/*}*/
				return false;
			}
		});
	}
	$$('.tooltip').each(function(tooltip){
		tooltip.observe('mouseover',function(e){
			try{
				$('tooltip_text').innerHTML = this.up().down(".help").innerHTML;
			}catch(e){
				$('tooltip').setStyle({display:"none"});
				return false;
			}
			$('tooltip').setStyle({display:"block"});
			var xpos = Event.pointerX(e)+10;
			var ypos =  Event.pointerY(e)+20;
			$('tooltip').setStyle({
				display:'block',
				left:xpos+'px',
				top:ypos+'px',
				opacity:1
			});
			$('tooltip_slide').setStyle({
				height:'auto'
			});
			$('tooltip_text').setStyle({
				bottom:''
			});
			var queue = Effect.Queues.get('closetooltip');
			queue.each(function(effect) { effect.cancel();});
			//$('tooltip_slide').slideDown({duration:'0.2', limit:1, queue: { position: 'front', scope: 'opentooltip' }});
			Effect.BlindDown('tooltip_slide', { duration: '0.4', limit:1, queue: { position: 'front', scope: 'opentooltip' }});
		});
		tooltip.observe('mouseout',function(){
			var queue = Effect.Queues.get('opentooltip');
			queue.each(function(effect) { effect.cancel(); });
			$('tooltip_slide').slideUp({duration:'0.2',queue: { position: 'end', scope: 'closetooltip' },limit:1});
			$('tooltip').fade({duration:'0.1',queue: { position: 'end', scope: 'closetooltip' },limit:1});
		});
	});
	$$('.wert').each(function(wert){
		var input = wert.down();
		if(typeof input != "undefined" && input != null){
			try{
				input.max = parseInt(wert.up().down('.slider-max').innerHTML);
			}catch(e){
				input.max = 10;
			}
			try{
				input.min = parseInt(wert.up().down('.slider-min').innerHTML);
			}catch(e){
				input.min = 0;
			}
		
			if(wert.up().down('.slider').hasClassName('ten')){
				input.multiplikator=10;
			}
			else if(wert.up().down('.slider').hasClassName('hundred')){
				input.multiplikator=100;
			}
			else{
				input.multiplikator=1;
			}
			input.validate = function(){
				this.value = parseInt(this.value);
				if(isNaN(this.value) == true){
					this.value = 0;
				}
				if(this.value != 0){
					/*if(this.value > this.multiplikator){*/
						this.value = this.value/this.multiplikator;
						
					/*}*/
				}	
				this.up(1).down('.slider').controlSlider.setValue(this.value);
			}
			/*input.observe('keyup',function(e){
				if(e.keyCode == 39 || e.keyCode == 37){
					return false;
				}
				else{
					this.validate();
				}
			});*/
			input.observe('keypress',function(e){
				if(e.keyCode == 38){
					this.value=(parseInt(this.value)+parseInt(this.multiplikator));
				}
				else if(e.keyCode == 40){
					this.value=(parseInt(this.value)-parseInt(this.multiplikator));
				}
			});
			input.observe('keyup',function(e){
				/*if(e.keyCode == 38){
					this.value=(parseInt(this.value)+parseInt(this.multiplikator));
				}
				else if(e.keyCode == 40){
					this.value=(parseInt(this.value)-parseInt(this.multiplikator));
				}
				else*/ if(e.keyCode == 39 || e.keyCode == 37){
					return false;
				}
				else{
					if(this.value == "" || (this.value < this.multiplikator && this.value > 0)){
					}
					else{
						this.validate();
					}
				}
			});
			input.observe('blur',function(e){
				this.validate();
			});
			input.validate();
		}
	});
	$$('.validate').each(function(input){
		input.validate = function(){
			if(this.value == ""){
				this.setStyle({
					border:'1px solid red'
				});
			}
			else{
				this.setStyle({
					border:'1px solid #9C9A9B'
				});
			}
		}
		input.observe('keypress',function(e){
			this.validate();
		});
		input.observe('change', function(e){
			this.validate();
		});
		input.observe('focus',function(e){
			this.validate();
		});
		input.observe('blur',function(e){
			this.validate();
		});
	});
	$('nutzungslayer').setStyle({display:'block',height:screen.availHeight+'px'});
});



