/**
 * Namespaces
 */
var WIS = {
	HL: {},
	SUCHE: {}
};

// Verlängern der Session im Bereich 'Hochladen'
WIS.HL.maxKeepAlive     = 18;  /* 3 Std. */
WIS.HL.keepAliveZaehler = 0; 

// Zur Kontrolle, dass nur die zuletzt an den Server gesendete Abfrage, Auswirkungen hat.
// (Die Antworten können in anderer Reihenfolge zurückkommen)
WIS.HL.letzteSucheStichwort = '';
WIS.letzteThemenAbfrage = 0;


/* d_wis_js_suche */

/**
 * Automatisches Anhängen eines * an den Suchbegriffen bei der Schnellsuche nach MPs
 */
document.observe('dom:loaded', function(){
	
	if ( $('schnellsucheMP') ) 
	{
		Event.observe('schnellsucheMP', 'submit', function(e){
			var begriffAlt = $F('schnellsucheMPvt').strip();
			var begriffNeu = begriffAlt.replace(/\b\s/g, '* ') + '*';
			$('schnellsucheMPvt').setValue(begriffNeu);
		});
	}
	
});



/**
 * Dynamische Aktualisierung der erweiterten Such-Maske (MPs)
 */
document.observe('dom:loaded', function(){
	
	if ( $('suchfilterMP') ) 
	{
		WIS.aktualisiereThemen.delay(0.1, $('selectHauptfach'), $('selectNebenfach'), $('selectThema'));
		
		$('suchfilterMPAUS').observe(
			'click', 
			function(event) {
				$('suchfilterMPAN').show();
				$('suchfilterMP').hide();
			}
		);
	
		$('suchfilterMPAN').observe(
			'click', 
			function(event) {
				$('suchfilterMP').show();
				$('suchfilterMPAN').hide();
			}
		);
		
		new Form.Element.EventObserver(
			$('selectHauptfach'), 
			function(el, val) {
				WIS.aktualisiereThemen($('selectHauptfach'), $('selectNebenfach'), $('selectThema'));
			}
		);
		
		new Form.Element.EventObserver(
			$('selectNebenfach'), 
			function(el, val) {
				WIS.aktualisiereThemen($('selectHauptfach'), $('selectNebenfach'), $('selectThema'));
			}
		);
		
		new Form.Element.EventObserver(
			$('checkUnterstufe'), 
			function(el, val) {
				if ( $('checkUnterstufe').checked ) 
				{
					$('checkGrundstufe').checked  = false;
					$('checkMittelstufe').checked = false;
					$('checkOberstufe').checked   = false;
				}
			}
		);
		
		new Form.Element.EventObserver(
			$('checkGrundstufe'), 
			function(el, val) {
				if ( $('checkGrundstufe').checked ) 
				{
					$('checkUnterstufe').checked  = false;
					$('checkMittelstufe').checked = false;
					$('checkOberstufe').checked   = false;
				}
			}
		);
		
		new Form.Element.EventObserver(
			$('checkMittelstufe'), 
			function(el, val) {
				if ( $('checkMittelstufe').checked ) 
				{
					$('checkUnterstufe').checked  = false;
					$('checkGrundstufe').checked  = false;
					$('checkOberstufe').checked   = false;
				}
			}
		);
		
		new Form.Element.EventObserver(
			$('checkOberstufe'), 
			function(el, val) {
				if ( $('checkOberstufe').checked ) 
				{
					$('checkUnterstufe').checked  = false;
					$('checkGrundstufe').checked  = false;
					$('checkMittelstufe').checked = false;
				}
			}
		);
	}
	
});



/**
 * Passt das Select für das Thema an den ausgewählten Haupt- und Nebenfächer
 * 
 * @param DOM element selectHauptfach
 * @param DOM element selectNebenfach
 * @param DOM element selectThema
 */
WIS.aktualisiereThemen = function(selectHauptfach, selectNebenfach, selectThema)
{
	/*
	 * Werden in releativ kurze Zeit mehrere Abfragen an den Server gesendet,
	 * können die Antworten in anderer Reihenfolge kommen.
	 * Eine Kontrolle, dass es sich um die Letzte Abfrage handelt ist nötig.  
	 */
	var abfrageID = Math.random();
	WIS.letzteThemenAbfrage = abfrageID;
	
	if ( selectHauptfach && selectNebenfach && selectThema )
	{
		var hFaecher = $F(selectHauptfach);
		var nFaecher = $F(selectNebenfach);
		var themen   = $F(selectThema);
		
		new Ajax.Request(
			'http://www.wissenschaft-schulen.de/blatt/d_wis_ajax_themen', 
			{
				parameters: { 
					_hauptfaecher: hFaecher.toJSON(),
					_nebenfaecher: nFaecher.toJSON(),
					_themen: themen.toJSON()
				},
				onSuccess: function(response) {
					if (abfrageID == WIS.letzteThemenAbfrage) 
					{
						$('selectThema').update(response.responseText);
						
						if ( Prototype.Browser.IE ) {
							var opt1 = selectThema.childElements().first();
							if ( opt1.selected != 'selected' ) {opt1.selected = false;}
						}
					}
				}
			}
		);
	}
}
/* d_wis_js_sponsor_rotation */

/**
 * Dynamische Rotation des Sponsors (Logos).
 * Verzögert um 5 Sekunden, damit das erste Logo (scriptunempfindlich) nicht sofort gewechselt wird.
 */
document.observe('dom:loaded', function() {
	
	if ( $('sponsorRechtespalte') ) 
	{
		new Ajax.PeriodicalUpdater(
			'sponsorRechtespalte', 
			'http://www.wissenschaft-schulen.de/page/p_wis_sponsor_zufall',
			{
				method: 'post',
				frequency: 5
			}
		);
	}
});
/* d_wis_js_teaser_karussell */

/**
 * Vorschau der aktuellen MPs
 */
document.observe('dom:loaded', function(){
	
	if ( $('gruppeMPs') ) 
	{
		WIS.reorganisiereMPs();
	}
	
});

WIS.reorganisiereMPs = function()
{
	var karusselBilder = $('gruppeMPs').select('div.karussellBilder').first();
	var texteArray     = $('gruppeMPs').select('div.karussellTexte div.einLE');
	var bilderArray    = $('gruppeMPs').select('div.karussellTexte div.bild');
	texteArray.each(function(divText, i){
		divText.identify();
		if(i>0) divText.hide();
	});
	
	if ( $('gruppeMPs') && karusselBilder )
	{
		$('gruppeMPs').select('div.karussellTexte div.bild').each(function(divBild, i_b) {
			karusselBilder.insert(divBild);
			divBild.identify();
			divBild.observe('mouseover', function(e){
				bilderArray.each(function(divBild2, i_b2){
					if (i_b2 == i_b) {
						divBild2.addClassName('aktiv');
					} else {
						divBild2.removeClassName('aktiv');
					}
				});
				texteArray.each(function(divText, i_t){
					if (i_t == i_b) {
						divText.show();
					} else {
						divText.hide();
					}
				});
			});
		});
		var divClear = new Element('div', {'style': 'clear:both;height:1px;'}).update('&nbsp;');
		karusselBilder.insert(divClear);
	}
}


