/*

	Javascript voor Intereffektfunds.nl
	Maakt gebruik van MooTools 1.12 met alle classes en plugins

*/

// Lees query string uit en plaats deze in een array
function query_string() {
	var qsParm = new Array();
	var query = window.location.search.substring(1);
	//alert(query);
	var parms = query.split('&');
	for (var i=0; i<parms.length; i++) {
		var pos = parms[i].indexOf('=');
		if (pos > 0) {
			var key = parms[i].substring(0,pos);
			var val = parms[i].substring(pos+1);
			qsParm[key] = val;
		}
	}
	return qsParm;
}

// Uit te voeren nadat document geladen is
window.addEvent('domready',	function() {

	// Scroll de verschillende indices blokken op de Koersinformatie pagina
	if($('content_left_indices')) {
		var scroller = new Fx.Scroll('content_left_indices',{
			wait: false,
			 transition: Fx.Transitions.Quad.easeInOut,
			 duration: 3000
		 });
		// De elementen waar naar toe gescrolled moet worden
		var scroller_array = Array('indices_afrika','indices_china','indices_india_japan','indices_vietnam');
		var scroller_position = 0;
		var start_repeat = false;
		var pause_indice_scroller = false;
		// Periodiek uit te voeren functie
		(function() {
			// Alleen volgende indices tonen als de scroller niet is gepauzeerd
			if(!pause_indice_scroller) {
				var current_position = scroller_position;
				// Kies het volgende element
				if(!scroller_array[++scroller_position]) {
					scroller_position = 0;
				}
				if(current_position == scroller_array.length - 1) {
					start_repeat = true;
				}
				
				// Plaats een leeg element voor het huidige
				if(start_repeat) {
					new Element('div',{'class': 'empty_indice_blok'}).injectBefore($(scroller_array[current_position]));
					$(scroller_array[scroller_position]).injectAfter($(scroller_array[current_position]));
				}
				// Scroll naar element toe
				scroller.toElement($(scroller_array[scroller_position]));
				
				// Verwijder de lege elementen om te voorkomen dat er teveel
				// geheugen gebruikt wordt. Resetten zorgt er voor dat het blok direct verspringt
				// naar het eerste blok toe. Om die reden wordt er pas gereset nadat er 40 / 4 = 10 keer
				// de blokken voorbij zijn geweest.
				if($('content_left_indices').getElementsBySelector('div[class=empty_indice_blok]').length >= 40 && scroller_position == 0) {
					$('content_left_indices').getElementsBySelector('div[class=empty_indice_blok]').each(function(el) {
						$(el).remove();
					});
				}
			}
				
		}).periodical(6000);
		
		// Pauzeer de indices scroller als de gebruiker z'n muis er op heeft staan
		$('content_left_indices').addEvents({
			'mouseover': function() {
				pause_indice_scroller = true;
			},
			'mouseout': function() {
				pause_indice_scroller = false;
			}
		});
	}


	// Maak een slide effect voor het sub sub menu
	if($('subsubmenu')) {
		// Herstel display:none uit stylesheet
		$('subsubmenu_underlay').setStyle('display','block');
		$('subsubmenu_underlay').setOpacity(0);
		// Als er menu opties aanwezig zijn dan transparantie instellen
		if($('subsubmenu_underlay') && $('subsubmenu').getElement('ul')) {
			$('subsubmenu_underlay').setOpacity(0.6);
		}
		
		// Slide effect maken
		var subsubmenu_slide = new Fx.Slide('subsubmenu',{duration: 300, mode: 'vertical', wait: false});
		// Menu verbergen
		subsubmenu_slide.hide();

		var slidemenu = true;
		// Als er een subsubmenu optie is gekozen dan hoeft het menu niet meer te sliden
		$('subsubmenu').getElements('a').each(function(el) {
			if($(el).getProperty('class') == 'selected') {
				slidemenu = false;
			}
		});
		
		// Slide effect uitvoeren
		if(slidemenu) {
			subsubmenu_slide.slideIn();
		} else {
			subsubmenu_slide.show();
		}					
	}

	// Maak submenu_container nu pas weer zichtbaar
	// De submenu's hebben allemaal de tijd gehad om te tonen of te verbergen
	// Dit mag niet zichtbaar zijn tijdens het laden van de pagina
	if($('submenu_container')) {
		$('submenu_container').setStyle('visibility','visible');
	}


	
	// Maak zoek afbeelding clickable
	$('search_submit').addEvent('click', function() {
		$('search_form').submit();
	});
	// Maak een print functie
	$('print_page').addEvent('click', function() {
		var window_titel = $ES('title').getText();
		var titel = $('pagetitle').innerHTML;
		var txt = $('content_main').innerHTML;
		
		// Open nieuw venster en kopieer de content daar in
		OpenWindow=window.open("", "newwin", "height=600,width=800,menubar=yes,scrollbars=yes,toolbar=yes,resizable=yes");
		OpenWindow.document.write("<html><head><title>"+window_titel+"</title>");
		OpenWindow.document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"/layout/css/print.css\">");
		OpenWindow.document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"/layout/css/nieuws.css\">");
		OpenWindow.document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"/layout/css/koersinformatie.css\">");
		OpenWindow.document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"/layout/css/contact.css\">");
		OpenWindow.document.write("</head>");
		OpenWindow.document.write("<body onload=\"window.print();\"><div id=\"container\">");
		OpenWindow.document.write(titel);
		OpenWindow.document.write(txt);
		OpenWindow.document.write("</div></body>");
		OpenWindow.document.write("</html>");
		
		OpenWindow.document.close()
																						
	});
	// Maak CMS link op copyright logo
	$('cmslink').addEvent('click', function() {
		window.open('http://cms.depoort.nl/index.php?id=11','CMS','status=no,toolbar=no,width=300,height=120');
	});
	
	// Zorg voor de mouseovers in het hoofdmenu
	$('nav_main').getElements('img').each(function(obj) {
		// Vervang off met on OF on met off
		$(obj).addEvents({
			'mouseover': function() {
				this.setProperty('src', this.getProperty('src').replace('-off','-on'));
				this.fireEvent('slidemenu');
			},
			'mouseout':	function() {
				this.setProperty('src', this.getProperty('src').replace('-on','-off'));
			},
			'slidemenu':function() {
			}
		});
	});
	
	var static_slide_menu = false;
	// Zorg voor de mouseover in de submenu's
	$('submenu_container').getElements('li').each(function(el) {
		$(el).addEvents({
			'mouseover':function() {
				this.setProperty('class', 'hover');
			},
			'mouseout':	function() {
				this.setProperty('class', '');
			}
		});
		
		var href = $(el).getElement('a').getProperty('href');
		// Haal de .html extensie uit de url
		href = href.substr(0,href.length - 5);
		// Kijk of de hoofdmenu optie matched met die uit het subsubmenu
		// Zo ja, selecteer de optie uit het hoofdmenu
		if(location.pathname.match(href)) {
			$(el).fireEvent('mouseover');
			$(el).removeEvents();
			static_slide_menu = true;
		}
	});
	
		 
	// Ga de hoofdmenu knoppen bij langs om te kijken welke geselecteerd moet worden
	$('nav_main').getElements('a').each(function(el) {
		if($(el).getProperty('href')) {
			var href = $(el).getProperty('href');
			var href2 = href;
			// Haal de .html extensie uit de url
			href = href.substr(0,href.length - 5);
			// Kijk of de hoofdmenu optie matched met die uit het subsubmenu
			// Zo ja, selecteer de optie uit het hoofdmenu
			if(location.pathname.match(href + '/') || location.pathname.match(href2)) {
				//alert(location.pathname);alert(href);
				$(el).getElement('img').fireEvent('mouseover');
				$(el).getElement('img').removeEvents();
			}
			
			// Als het een optie uit een submenu is geselecteerd
			// dan het slide menu statisch maken en niet verbergen met een mouseover
			if(static_slide_menu) {
				$(el).getElement('img').removeEvents('slidemenu');
			}
		}
	});
	
	// Zorg voor mouseover effecten bij het linker menu op index.html (Actueel)
	
	$$('#content_left_actueel div.actueel_item').each(function(el) {
		$(el).addEvents({
			'mouseover': function() {
				this.setProperty('class','hover');
			},
			'mouseout': function() {
				 this.setProperty('class','actueel_item');
			}
		});
	});
	
	// Zorg voor mouseover effecten bij het rechter menu op index.html (Onze fondsen)
	$$('#content_right_fonds_menu div.fonds,#content_right_fonds_menu div.fonds2').each(function(el) {
		var img = $(el).getElement('img');
		if($(img)) {
			$(img).addEvents({
				'mouseover': function() {
					this.setProperty('src', this.getProperty('src').replace('-off','-on'));
				},
				'mouseout':	function() {
					this.setProperty('src', this.getProperty('src').replace('-on','-off'));
				}
			});
		}
	});
	
	// Zorg voor doorlink actie wanneer er op de DIV van een Actueel blokje geklikt wordt
	$$('#content_left_actueel div.actueel_item').each(function(el) {
		$(el).addEvent('click',	function() {
			location.href = $(el).getElement('a').getProperty('href');
		});
	});
	
	// Alleen voor home pagina
	if($('fondsblok_afrika_emissie')) {
		var emissie_flash = new String();
		emissie_flash = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="108" height="100">';
		emissie_flash = emissie_flash + '<param name="movie" value="/layout/flash/afrika-emissie.swf" />';
		emissie_flash = emissie_flash + '<param name="quality" value="high" />';
		emissie_flash = emissie_flash + '<embed src="/layout/flash/afrika-emissie.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="108" height="100"></embed>';
		emissie_flash = emissie_flash + '</object>';
		$('fondsblok_afrika_emissie').innerHTML = emissie_flash;
	}
	
	// Contactformulier validatie
	if($('contactformulier') && $('required') && $('submit')) {
		$('submit').addEvent('click', function(e) {
			e = new Event(e);
			
			var required = new Array();
			var els = $('contactformulier').getElementsBySelector('input,select');
			$each($('required').getProperty('value').split(','), function(item) {
				$each(els, function(el) {
					if(el.getProperty('name') == item) {
						var value = new String();
						switch(el.getTag()) {
							case 'input':
								switch(el.getProperty('type')) {
									case 'text':
										value = el.getProperty('value');
									break;
								}
							break;
							case 'select':
								var value = el.options[el.selectedIndex].value;
							break;
						}
						
						if(value.length == 0) {
							required.push(item);
						}
					}
				});
			});
			
			var emailCheck0 = $('contactformulier').getElement('input.emailcheck0');
			var emailCheck1 = $('contactformulier').getElement('input.emailcheck1');
			if(emailCheck0 && emailCheck1 && (emailCheck0.getProperty('value') != emailCheck1.getProperty('value'))) {
				alert("De opgegeven e-mail adressen komen niet overeen!");
				e.stop();
			}
			else if(required.length > 0) {
				e.stop();
				alert("De volgende velden dient u verplicht in te vullen: \n\n - " + required.join("\n - "));
			}
		});
	}
	

	// Header banner alleen op homepage en actueel
	if(false) {
		$('header-banner-container').setStyle('display', 'block');
		
		var banner = $('header-banner');
		if(banner) {
			banner.addEvent('click', function() {
				window.open('/cms/dp_content.php?id=111');
			});
			var items = $$('div#header-banner-items div.item');
			if(items.length > 0) {
			
				var container = $('header-banner-items-container');
				container.setStyle('position', 'relative');
				var size = 0;
				items.each(function(el) {
					size += el.getSize().size.y;
					var clone = el.clone();
					clone.inject(container);
				});

				var tickerFx = new Fx.Style(container, 'top', {
					duration: 2000,
					//transition: Fx.Transitions.linear,
					transition: Fx.Transitions.Sine.easeOut,
					onComplete: function() {
						container.getElement('div.item').injectInside(container);
						container.setStyle('top', 0);
						ticker();
					}
				});
				var ticker = function() {
					(function(){
						tickerFx.start(0, -(size / items.length));
					}).delay(1000);
				};
				ticker();
			}
		}
	}
});