/* Funktionen für die Kurssuche */

window.addEvent('domready', function() {
  
 	HistoryManager.initialize();

	if($('course_on_request')){
		if($('course_on_request').getProperty('checked')){
			course_on_request_value='course_on_request';
		}else{
			course_on_request_value='';
		}
	}
	

	
	if($('course_permanent')){
		if($('course_permanent').getProperty('checked')){
			course_permanent_value='course_permanent';
		}else{
			course_permanent_value='';
		}
	}
	
	
	myCal1 = new Calendar({seminarbeginn: 'd.m.Y'},{
		direction: 1,
		tweak: {
			x: 0, 
			y: 0
		},
		onHideComplete: function (){if(course_search_step2){/*sendRequest();*/}}
	});
	

	
	/* Slider für Dauer in Formular 1 */
	var dauerSliderStep1 = new Slider($('area_seminardauer_step1'), $('knob_seminardauer_step1'), {
		steps: 6,
		offset: 6,
    		
		onComplete: function(step){
			if(course_search_step2){
				//sendRequest();
			}
		},
    		
		onChange: function(step){
			$('upd_seminardauer_step1').set('text', wrapDisplayDauer(step));
			$('seminardauer_step1').value = wrapValueDauer(step);
			$('seminardauer_step_handler').value = step;
			$('knob_seminardauer_step1').setProperty('title', wrapDisplayDauer(step));
			if($('seminardauer_select') && step < 7){
				$('seminardauer_select').selectedIndex = step;				
			}
		}
	});
	
	if($('seminardauer_select')){
		dauerSliderStep1.set($('seminardauer_select').selectedIndex);						
	}else{
		dauerSliderStep1.set(6);
	}
	/*
	if(seminardauer_step){
		if (seminardauer_step >= 0){		
			dauerSliderStep1.set(seminardauer_step);
		}
	}
	*/
	
	function wrapDisplayDauer(x) {
		switch(x) {
			case 0: return '1 Tag';
			case 1: return '1 Woche';
			case 2: return '1 Monat';
			case 3: return '12 Monate';
			case 4: return '24 Monate';
			case 5: return 'unbegrenzt';
			default: return 'unbegrenzt';
		}
	}

	function wrapValueDauer(x) {
		switch(x) {
			case 0: return 10;
			case 1: return 20;
			case 2: return 30;
			case 3: return 40;
			case 4: return 50;
			case 5: return 'unbegrenzt';
			default: return 'unbegrenzt';
		}
	}
	
	
	/* Slider für Preis in Formular 1 */
	var priceSliderStep1 = new Slider($('area_seminarpreis_step1'), $('knob_seminarpreis_step1'), {
		steps: 6,
		offset: 6,
		onChange: function(step){
			$('upd_seminarpreis_step1').set('text', wrapDisplayPreis(step));			
			$('seminarpreis_step1').value = wrapValuePreis(step);
			$('seminarpreis_step_handler').value = step;
			$('knob_seminarpreis_step1').setProperty('title', wrapDisplayPreis(step));
			if($('seminarpreis_select') && step < 7){
				$('seminarpreis_select').selectedIndex = step;				
			}
		},
		
		onComplete: function(step){

			if(course_search_step2){
				//sendRequest();
			}
		}
	});
	
	if($('seminarpreis_select')){
		priceSliderStep1.set($('seminarpreis_select').selectedIndex);						
	}else{
		priceSliderStep1.set(6);
	}
	
	/*if(seminarpreis_step){
		if (seminarpreis_step >= 0){
			priceSliderStep1.set(seminarpreis_step);
		}
	}*/

			
	function wrapDisplayPreis(x) {
		switch(x) {
			case 0: return '100€';
			case 1: return '250€';
			case 2: return '500€';
			case 3: return '1000€';
			case 4: return '5000€';
			case 5: return 'unbegrenzt';
			default: return 'unbegrenzt';
		}
	}
	
	function wrapValuePreis(x) {
		switch(x) {
			case 0: return 10;
			case 1: return 20;
			case 2: return 30;
			case 3: return 40;
			case 4: return 50;
			case 5: return 'unbegrenzt';
			default: return 'unbegrenzt';
		}
	}
	
	
	
	if(!course_search_step2){
		$('weitere_einstellungen_liste').value = 0;
	}
	
	/* More Options */	
	if($('div_weitere_einstellungen') && $('search_more_options')){
		var moreSearchOptions = new Fx.Slide($('search_more_options'), {
			//Fx.Slide Options
			mode: 'vertical', //default is 'vertical'
		 
			//Fx Options
			transition: 'sine:in',
			duration: 300, 
		 
			//Fx Events
			onStart: function(){
				
			},
			onComplete: function(){
				$('div_weitere_einstellungen').setStyle('display', 'none');
				$('weitere_einstellungen_liste').value = 1;
				//Small hack for ie7
				if(!course_search_step2){
					priceSliderStep1.set(6);					
				}
			}		
		}).hide();
		$('link_aufklappsymbol').addEvent('click', function(e){
			e.stop();
			moreSearchOptions.toggle();
		});
		}
		
		
	/* More Options end */
	


		// Reset Slider in Form 1
		if($('reset_step1_id')){
		
		
			$('reset_step1_id').addEvent('click', function(event){
				$('seminarort').setProperty('value', 'PLZ/Ort');
				$('seminarbeginn').setProperty('value', $('current_date').get('value'));
				$('suchbegriff').setProperty('value', '');
				$('course_on_request').setProperty('value', 0);
				$('course_permanent').setProperty('value', 0);
				$('foerdermoeglichkeiten').setProperty('value', 'none');
				$('bundesland').setProperty('value', 'none');
				$('umkreissuche').setProperty('value', 'none');
				$('angebotsform').setProperty('value', 'none');
				$('knob_seminarpreis_step1').setStyle('left', '300px');
				$('knob_seminardauer_step1').setStyle('left', '300px');
				$('upd_seminardauer_step1').set('text', 'unbegrenzt');
				$('upd_seminarpreis_step1').set('text', 'unbegrenzt');
				// Title setzen


				$('seminardauer_step_handler').value = 6;
				$('css_uid').value = '';
				$('knob_seminardauer_step1').setProperty('title', 'unbegrenzt');


				$('seminarpreis_step_handler').value = 6;
				$('knob_seminarpreis_step1').setProperty('title', 'unbegrenzt');
							
				// Wert
				$('bundesland').setProperty('checked', '');
				$('angebotsform').setProperty('checked', '');
				$('foerdermoeglichkeiten').setProperty('checked', '');
				
				$('course_on_request').setProperty('checked', '');
				$('course_permanent').setProperty('checked', '');
				
				$('suchspektrum2').setProperty('checked', 'checked');
				$('suchspektrum1').setProperty('checked', '');				
				event.preventDefault();
				
			});
		}



	if(course_search_step2){
		if($('weitere_einstellungen_liste').value == 1){
			moreSearchOptions.toggle();
			$('div_weitere_einstellungen').setStyle('display', 'none');
		}
		
		if($('submit_step2_id')){
			$('submit_step2_id').addEvent('click', function(event){
				event.preventDefault();
				sendRequest();
			});
		}	
		
		if($('course_pdflink')){
			$('course_pdflink').addEvent('click', function(event){
				// Linkziel fuer PDF-Version der Listenansicht setzen
				//$('course_pdflink').setProperty('href', $('cs_pdflink_export').getProperty('href') + '&tx_wisfeplugins_pi1[sort]=' + $('sort').value + '&tx_wisfeplugins_pi1[pointer]=' + $('pointer').value);
				
				event.preventDefault();
				var ergTable = $('ergebniss_liste_table').clone(true,true);
				// Remove check box column from table
				ergTable.getElement('th.liste_wischeckbox').dispose();				
				ergTable.getElements('td.liste_wischeckbox').each(function(item, index){
					item.dispose();
				});
				
				ergTable.getElements('td.sieheAngebot').each(function(item, index){
					item.set('html','Siehe Angebot');
					item.removeClass('sieheAngebot');
				});
				
				//Remove all hidden rows
				ergTable.getElements('tr').each(function(item, index){
					if (item.getStyle('display') == 'none'){
						item.dispose();
					}					
				});

				
				
				
				if (!$('formsTblResults')){
					// Creates the form
					var formsTblResults = new Element('form', {
						'name':'formsTblResults',
						'id':'formsTblResults',
						'action':'/index.php?id=223&type=123',
						'method':'post',
						'target':'_blank',
						'styles': {
							'display': 'none',
							'margin': '0',
							'padding': '0'
						}
					});
					// Creates text area
					var textTblResults = new Element('textarea', {
						'name':'tx_wisprintviews_pi2[textTblResults]',
						'id':'textTblResults',
						'value': ergTable.get('html'),
						'styles': {
							'display': 'none',
							'border': '1px solid black'
						}
					});
					textTblResults.inject(formsTblResults);
					formsTblResults.inject($('more_functions'),'after');					
				}else{
					if ($('textTblResults')){
						$('textTblResults').set('value',ergTable.get('html'));
					}		
				}
				$('formsTblResults').submit();				
			});
		}	
		
		
		
		
		
			
		if($('reset_step2_id')){
			$('reset_step2_id').addEvent('click', function(event){
			
				$('seminarbeginn').setProperty('value', $('current_date').get('value'));
				$('seminarort').setProperty('value', 'PLZ/Ort');
				$('suchbegriff').setProperty('value', '');
				$('knob_seminarpreis_step1').setStyle('left', '145px');
				$('knob_seminardauer_step1').setStyle('left', '145px');
				$('upd_seminardauer_step1').set('text', 'unbegrenzt');
				$('upd_seminarpreis_step1').set('text', 'unbegrenzt');
				$('course_on_request').setProperty('value', 0);
				$('umkreissuche').setProperty('value', 'none');
				$('course_permanent').setProperty('value', 0);
				$('foerdermoeglichkeiten').setProperty('value', 'none');
				$('bundesland').setProperty('value', 'none');
				$('angebotsform').setProperty('value', 'none');
				$('resetForm').setProperty('value', '1');

				$('seminardauer_step1').setProperty('value', '6');
				$('seminarpreis_step1').setProperty('value', '6');
				$('css_uid').value = '';
				
				$('seminarpreis_select').selectedIndex = 6;
				$('seminardauer_select').selectedIndex = 6;                     

				// Title setzen
				$('seminardauer_step_handler').value = 6;
				$('knob_seminardauer_step1').setProperty('title', 'unbegrenzt');

				$('seminarpreis_step_handler').value = 6;
				$('knob_seminarpreis_step1').setProperty('title', 'unbegrenzt');
							
				// Wert
				$('bundesland').setProperty('checked', '');
				$('angebotsform').setProperty('checked', '');
				$('foerdermoeglichkeiten').setProperty('checked', '');
				
				$('course_on_request').setProperty('checked', '');
				$('course_permanent').setProperty('checked', '');
				
				$('suchspektrum2').setProperty('checked', 'checked');
				$('suchspektrum1').setProperty('checked', '');
				event.preventDefault();
				//sendRequest();
				//Clear the text currently inside the results div.
				$('liste_seminare').set('text', '');
				//$('more_functions').setProperty('style', 'display:none;');
				
			});
			
		}
		
		
		/*if($('suchbegriff')){
			$('suchbegriff').addEvent('keyup', function(){
				sendRequest();
			});
		}
		
		if($('seminarbeginn')){
			$('seminarbeginn').addEvent('change', function(){				
				sendRequest();
			});
		}
		
		if($('seminarort')){
			$('seminarort').addEvent('keyup', function(){				
				sendRequest();
			});
		}
		
		if($('bundesland')){
			$('bundesland').addEvent('change', function(){				
				//sendRequest();
			});
		}	
    	
		
		if($('seminardauer_step1')){
			$('seminardauer_step1').addEvent('change', function(){				
				//sendRequest();				
			});
		}
		
		if($('seminarpreis_step1')){
			$('seminarpreis_step1').addEvent('change', function(){				
				//sendRequest();
			});
		}
		
				
		if($('foerdermoeglichkeiten')){
			$('foerdermoeglichkeiten').addEvent('change', function(){				
				//sendRequest();
			});
		}   
    
    */
		
		if($('course_permanent')){
			$('course_permanent').addEvent('click', function(){
				if($('course_permanent').getProperty('checked')) {
					course_permanent_value='course_permanent';
				}else {
					course_permanent_value='';
				}
				//sendRequest();
			});
		}
		
		if($('course_on_request')){
			$('course_on_request').addEvent('click', function(){
				if($('course_on_request').getProperty('checked')) {
					course_on_request_value='course_on_request';
				}else {
					course_on_request_value='';
				}
				//sendRequest();
			});
		}
		
		if ($('liste_termin_header_id')){
			$('liste_termin_header_id').fireEvent('mousedown');
		}


      // Erweiterung für Merkzettel, etc
		if($('more_functions')){
			$('more_functions').addEvent('change', function(){
        // Aufruf der Funktion für Menü am Ende der Seminarsuche				
			        if($('more_functions').value==1){
						sendRequestMoreFunctions();
					}
					if($('more_functions').value==2){
						var courses = new Array();
						var ergTable = $('ergebniss_liste_table').clone(true,true);
						ergTable.getElements('td.liste_wischeckbox input').each(function(item, index){
							if(item.checked){							
								courses.include(item.value);								
							}
						});						
						
						if (courses.length > 0){
							courses = JSON.encode(courses);						
							
							//if (){
							//}
							//alert (courses);
							//window.location='http://localhost/mootools/test.php?value='+courses;
							var formsCourses = new Element('form', {
								'name':'sCoursesForm',
								'id':'sCoursesForm',
								'action':'/index.php?id=222&no_cache=1',
								'method':'post',
								'target':'_blank',
								'styles': {
									'display': 'none',
									'margin': '0',
									'padding': '0'
								}
							});

							var textsCourses = new Element('textarea', {
								'name':'tx_wisprintviews_pi1[sCourses]',
								'id':'sCourses',
								'html': courses,
								'styles': {
									'display': 'none',
									'border': '1px solid black'
								}
							});

							textsCourses.inject(formsCourses);
							formsCourses.inject($('more_functions'),'after');
							$('sCoursesForm').submit();
						}else{
							alert('Bitte wählen Sie mindestens ein Seminar');
						}
						
						
						$('more_functions').selectedIndex = 0;
					}
					
			});
		}
		
		sendRequest();		
	}

	function sendRequest(){
	
		suchspektrum_value='full';
		
		if($('suchspektrum1')){
			if($('suchspektrum1').getProperty('checked')){
				suchspektrum_value='full';
			}
		}
		
		if($('suchspektrum2')){
			if($('suchspektrum2').getProperty('checked')){
				suchspektrum_value='title';
			}
		}
		

		requestCourse_request = new Request.HTML({
			url:'/index.php?id=21&tx_wisfeplugins_pi1[]=2',
			onRequest:function(html) {
				
				if (($('ergebniss_liste_table') != false) || ($('ergebniss_liste_table') == false && document.getElementById('pointer').value>1)) {
					document.getElementById('pointer').value = 1;
				}
			
				//Clear the text currently inside the results div.
				$('liste_seminare').set('text', '');
				//Adds ajax loading class
				$('liste_seminare').addClass('ajaxLoading');
				
			},
			onSuccess: function(html) {
			
				// Set slider position
				priceSliderStep1.set($('seminarpreis_select').selectedIndex);
				dauerSliderStep1.set($('seminardauer_select').selectedIndex);
							
				//Removes ajax loading class
				$('liste_seminare').removeClass('ajaxLoading');
				
				
				//$('more_functions').setProperty('style', 'display:inline;');
				
				//Clear the text currently inside the results div.
				$('liste_seminare').set('text', '');
				//Inject the new DOM elements into the results div.
				$('liste_seminare').adopt(html);
				if ($('liste_seminare')){

					if ($('ergebniss_liste_table') != false) {
					
						var tablePaginator = new PaginatingTable(
							'ergebniss_liste_table',
							'ergebniss_liste_table_paginator', {
							per_page: 15 }
						);	

					
						$$('a.previous-page').addEvent('click', function(e) {
							e.stop();
							tablePaginator.to_prev_page(-1);
						}.bindWithEvent());

						$$('a.next-page').addEvent('click', function(e) {
							e.stop();
							tablePaginator.to_next_page(1);
						}.bindWithEvent());
				
						var sorting_table = new SortingTable( 'ergebniss_liste_table', {
							//zebra: false,
							/*paginator: new PaginatingTable(
								'ergebniss_liste_table',
								'ergebniss_liste_table_paginator', {
								per_page: 15 }
							),*/							
							paginator: tablePaginator
						});
						sorting_table.sort_by_header($('liste_termin_header_id'));
					
						HistoryManager.start();	
						tablePaginator.to_page(document.getElementById('pointer').value);
					}
				}
			},
			
			//onFailure method which will let the user know what happened.
			onFailure: function() {
				//Removes ajax loading class
				$('liste_seminare').removeClass('ajaxLoading');
				$('liste_seminare').set('text', 'Die Ergebnisliste konnte nicht geladen werden.');
			     
			}					
		}).post({
			  'tx_wisfeplugins_pi1[seminarbeginn]': $('seminarbeginn').get('value'),
			  'tx_wisfeplugins_pi1[seminarort]': $('seminarort').get('value'),
			  //'tx_wisfeplugins_pi1[seminarpreis]': $('seminarpreis_step1').get('value'),
			  'tx_wisfeplugins_pi1[seminarpreis]': $('seminarpreis_select').get('value'),
			  'tx_wisfeplugins_pi1[seminardauer]': $('seminardauer_step1').get('value'),
			  'tx_wisfeplugins_pi1[seminarpreis_step]': $('seminarpreis_step_handler').get('value'),
			  'tx_wisfeplugins_pi1[seminardauer_step]': $('seminardauer_step_handler').get('value'),
			  'tx_wisfeplugins_pi1[suchbegriff]': $('suchbegriff').get('value'),
			  'tx_wisfeplugins_pi1[exportfenster]': $('limit_to_exportfenster').get('value'),
			  'tx_wisfeplugins_pi1[css_uid]': $('css_uid').get('value'),
			  //'tx_wisfeplugins_pi1[resetForm]': $('resetForm').get('value'),
			  'tx_wisfeplugins_pi1[suchspektrum]': suchspektrum_value,
			  'tx_wisfeplugins_pi1[step]': 'step_liste',
			  'tx_wisfeplugins_pi1[pointer]': $('pointer').get('value'),
			  'tx_wisfeplugins_pi1[sort]': $('sort').get('value'),
			  'tx_wisfeplugins_pi1[course_on_request]': course_on_request_value,
			  'tx_wisfeplugins_pi1[course_permanent]': course_permanent_value,  
			  'tx_wisfeplugins_pi1[bundesland]': $('bundesland').get('value'),  
			  'tx_wisfeplugins_pi1[angebotsform]': $('angebotsform').get('value'),   
			  'tx_wisfeplugins_pi1[umkreissuche]': $('umkreissuche').get('value'),          
			  'tx_wisfeplugins_pi1[weitere_einstellungen_liste]': $('weitere_einstellungen_liste').get('value'),
			  'tx_wisfeplugins_pi1[foerdermoeglichkeiten]': $('foerdermoeglichkeiten').get('value')
		});
		
		$('resetForm').setProperty('value', '0');
		
	}
	
	// Funktion für Menü am Ende der Seminarsuche
	function sendRequestMoreFunctions(){
	
		suchspektrum_value='full';
		
		if($('suchspektrum1')){
			if($('suchspektrum1').getProperty('checked')){
				suchspektrum_value='full';
			}
		}
		
		if($('suchspektrum2')){
			if($('suchspektrum2').getProperty('checked')){
				suchspektrum_value='title';
			}
		}

		requestCourse_request = new Request.HTML({
			url:'/index.php?id=21&tx_wisfeplugins_pi1[mode]=2&tx_wisfeplugins_pi1[merkzettel]=1',
			onRequest:function(html) {
				//Clear the text currently inside the results div.
				$('more_functions_statusPanel').set('text', 'Merkzettel wird aktualisiert');
				//Adds ajax loading class
				$('more_functions_statusPanel').addClass('ajaxLoading_more_functions');
			},
			onSuccess: function(html) {
				//Removes ajax loading class
				$('more_functions_statusPanel').removeClass('ajaxLoading_more_functions');
				//Clear the text currently inside the results div.
				$('more_functions_statusPanel').set('text', 'Merkzettel aktualisiert');
				//Inject the new DOM elements into the results div.	
				
				// Reset More functions selector box				
				$('more_functions').set('html', '<option selected="selected" value="0">Weitere Funktionen</option><option value="1">Merkzettel aktualisieren</option>');
			
			},
			
			//onFailure method which will let the user know what happened.
			onFailure: function() {
				//Removes ajax loading class
				$('more_functions_statusPanel').removeClass('ajaxLoading_more_functions');
				$('more_functions_statusPanel').set('text', 'Es trat ein Fehler auf. Bitte versuchen Sie es erneut.');
			}					
		}).post({
			  'tx_wisfeplugins_pi1[seminarbeginn]': $('seminarbeginn').get('value'),
			  'tx_wisfeplugins_pi1[seminarort]': $('seminarort').get('value'),
			  'tx_wisfeplugins_pi1[seminarpreis]': $('seminarpreis_step1').get('value'),
			  'tx_wisfeplugins_pi1[seminardauer]': $('seminardauer_step1').get('value'),
			  'tx_wisfeplugins_pi1[seminarpreis_step]': $('seminarpreis_step_handler').get('value'),
			  'tx_wisfeplugins_pi1[seminardauer_step]': $('seminardauer_step_handler').get('value'),
			  'tx_wisfeplugins_pi1[suchbegriff]': $('suchbegriff').get('value'),
			  'tx_wisfeplugins_pi1[exportfenster]': $('limit_to_exportfenster').get('value'),
			  'tx_wisfeplugins_pi1[css_uid]': $('css_uid').get('value'),
			  //'tx_wisfeplugins_pi1[resetForm]': $('resetForm').get('value'),
			  'tx_wisfeplugins_pi1[suchspektrum]': suchspektrum_value,
			  'tx_wisfeplugins_pi1[step]': 'step_liste',
			  'tx_wisfeplugins_pi1[pointer]': $('pointer').get('value'),
			  'tx_wisfeplugins_pi1[sort]': $('sort').get('value'),
			  'tx_wisfeplugins_pi1[course_on_request]': course_on_request_value,
			  'tx_wisfeplugins_pi1[course_permanent]': course_permanent_value,  
			  'tx_wisfeplugins_pi1[bundesland]': $('bundesland').get('value'), 
			  'tx_wisfeplugins_pi1[angebotsform]': $('angebotsform').get('value'),   
			  'tx_wisfeplugins_pi1[umkreissuche]': $('umkreissuche').get('value'),          
			  'tx_wisfeplugins_pi1[weitere_einstellungen_liste]': $('weitere_einstellungen_liste').get('value'),
			  'tx_wisfeplugins_pi1[foerdermoeglichkeiten]': $('foerdermoeglichkeiten').get('value'),
			  'tx_wisfeplugins_pi1[course_ids]': $('course_ids').get('value'),
			  'tx_wisfeplugins_pi1[schedule_ids]': $('schedule_ids').get('value')
		});	
	}
	
	if($('seminarort')){
		$('seminarort').addEvent('change', function(){
			var isNumber = /^\d*\d+$/;
			if ($('seminarort').value != '' && $('seminarort').value !='PLZ/Ort' && isNumber.test($('seminarort').value) == true){
			
				$('bundesland').selectedIndex = 0;
				$('bundesland').disabled=true;
			}else{
				$('bundesland').disabled=false;
			}
		});
	}
		
	
});
