/*
Script: feedback.js
		
License:
        MIT-style license.
		
Note:
		Don't forget to insert "<script language="Javascript" type="text/javascript" src="js/mootools.js"></script>" into the head page before this js file.
*/
var FeedBack = new Class({
	
	Implements : Options,

	options: {
		CS3 : 'cs3/app',
		default_productCID : '23'
	},
	
	initialize : function(options) {
		this.setOptions(options);
		this.setCoursesType();
		this.setLevels();
		this.setBehaviour();
		if ($('product_typeID')) { this.setProduct(); }
		
		
		// Calendar
		if ($('date_from')) new Calendar({ date_from: 'd/m/Y'}, { direction : '-1' });
		if ($('date_to')) new Calendar({ date_to: 'd/m/Y' }, { direction : '-1' });		
	},
	
	setCoursesType : function(){
		//get form type
		if ($('feedback_type').value == 'adult') {
			//change values
			$('course_type').getChildren().each(function(option, i){
				if (i != 0 && i < 3) {
					option.destroy();
				} else if(i > 0) {
					option.value = i;
				}
			});
		} else {
			$('course_type').getChildren().each(function(option, i){
				if (i != 0 && i >= 3) {
					option.destroy();
				} else if(i > 0) {
					option.value = i;
				}
			});
		}
	},
	
	setLevels : function(){
		$('start_level').getChildren().each(function(option, i){
			option.value = i;
		});
		$('end_level').getChildren().each(function(option, i){
			option.value = i;
		});
	},
	
	setBehaviour : function(){
		if ($('feedback_type').value == 'adult') {
			//remove teacher
			$('teacher_name').getParent().getParent().setStyle('display', 'none');		
					
			//create new input
			this.teacher_town = new Element('input', {
				'class': "validate['required'] text",
				id: 'teacher_town',
				name: 'teacher_town',
				type: 'text'
			});
			this.school_town = $('school_town');
			this.school_wrapper = $('school_town').getParent().getParent();
			
			$('course_type').addEvent('change', function(){
				//we get the new value
				if ($('course_type').get('value') == 9) {
					$('school_town').value = "";
					$('sschool').value = "";
					
					formcheck.dispose($('sschool'));
					
					this.school_wrapper.setStyle('display', 'none');
					this.teacher_town.inject(this.school_wrapper, 'after');
					formcheck.register(this.teacher_town, 10);
					
					//add teacher
					$('teacher_name').getParent().getParent().setStyle('display', 'block');
					formcheck.register($('teacher_name'), 11);
				} else {
					$('teacher_name').value = "";
					this.teacher_town.value = "";
					$('school_town').value = "";
					$('sschool').value = "";
					$('school_town_txt').set('html', '');
					
					//add sschool
					this.school_wrapper.setStyle('display', 'block');
					formcheck.dispose(this.teacher_town);
					formcheck.register($('sschool'), 10);
					this.teacher_town.dispose();
					
					//remove teacher
					$('teacher_name').getParent().getParent().setStyle('display', 'none');
					formcheck.dispose($('teacher_name'));
				}
			}.bind(this));
		}
		
		//finder
		if ($('schoolfinder')) {			
			finder = new Finder({
				selector : '#schoolfinder',
				lang : 'ldde',
				stepsParams : {	
					1 : 'orderby=desc&m=Finder&lstonly=1&valid=1'
				},
				year : '2012',
				server_ID : '5',
				server : 'ldt',
				mode : 'formular_id',
				autostart : false,
				schoolDetail : false,
				lang_categoryID : {
					722 : 23		
				},
				language : {
					schoolfinder	: 'SchoolFinder',
					schooldetail 	: 'Einzelheiten der Schule',
					select			: 'Anzeige...',
					change			: 'Ändern...',
					quickquote		: 'Online Offerte',
					steps : [
						'Sprache',
						'Länder',
						'Städte',
						'Schulen',
						'Details'
					]
				}
			});
			
			
			$('schoolfinder').set('text', finder.options.language.select);
		}
		
	},
	
	setProduct : function(req) {
		$$('.fbproduct').each(function(el){
			if (el.checked) { $('forms_categoryID').set('value', el.get('value')); }
			
			el.addEvent('click', function(e){
				$('forms_categoryID').set('value', el.get('value'));			
			}.bind(this));
		}, this);
	}
});

