/*
window.addEvent('domready', function() {
	langmenu();
	line();
	nlAanpassen();
	initCarousel();
	initDownloadCategories();
	initSubmitButtons();
});
*/

window.addEvents({
	'domready': function() {
		langmenu();
		line();
		nlAanpassen();
		initCarousel();
		initDownloadCategories();
		initSubmitButtons();
		loadYouTubePlayer();
	},
	'load': function() {
		loadPartnerOverview();
	}
});

function line() {
	
	var line = $('line');
	
	$$('#nav li').each(function(element,index) {
		
		var colororiginal = line.getStyle('background-color');
		var color = element.getProperty('rel');
		var id = element.getProperty('id');
		var tabs = ['organisatie','producten','diensten','markten','onderzoek','contact','nieuw'];
		
		if(tabs.contains(id)) {
			
			element.addEvents({
				
				'mouseover' : function() {
					line.setStyle('background-color', color); 
				},
				
				'mouseleave': function() {
					line.setStyle('background-color', colororiginal);
				}
				
			});
		}
	
	});

};

/**
 * initSubmitButtons
 * If a submit button is detected, clicking on it will submit the form it is in.
 * 
 * @author Bas van der Togt (b.vandertogt@profinit.com)
 * @return void
 */
function initSubmitButtons() {
	arrSubmitButtons = $$('.submit');
	if (arrSubmitButtons.length == 0) return;
	
	arrSubmitButtons.each(function(elSubmitButton){
		elSubmitButton.addEvent('click', function(event) {	
			event.stop();
			this.blur();
			
			elSubmitButton.getParent('form').submit();
		});
	});
}

function langmenu() {
	
	var langmenulabel = $('langmenu_label');
	
	$$('#langmenu a').each(function(element,index) {
		
		var title = element.innerHTML;
					
		element.addEvents({
				
			'mouseover' : function() {
				langmenulabel.innerHTML = title;
			},
				
			'mouseleave': function() {
				langmenulabel.innerHTML = '';
			}
				
		});
	
	});

};

function nlAanpassen() {

	imgNl = $("img-nl");
	if(imgNl){
		linkNl = imgNl.getProperty('href');
		if(!linkNl) return;
		if (linkNl.search(/http/) == -1) {
			linkNl = 'http://www.geodan.nl/' +linkNl;
		}else {
			linkNl = linkNl.replace(/geodan.com/,"geodan.nl")
			linkNl = linkNl.replace(/geodan.es/,"geodan.nl")
			linkNl = linkNl.replace(/geodan.de/,"geodan.nl")
		}
		imgNl.href=linkNl;
	}
  
  imgEn = $("img-en");
  if(imgEn) {
		linkEn = imgEn.getProperty('href');
		if(!linkEn) return;
		if(linkEn.search(/http/) == -1) {
			linkEn = 'http://www.geodan.com/' +linkEn;
		}else {
			linkEn = linkEn.replace(/geodan.nl/,"geodan.com")
			linkEn = linkEn.replace(/geodan.es/,"geodan.com")
			linkEn = linkEn.replace(/geodan.de/,"geodan.com")
		}
		imgEn.href = linkEn;
	}
    
  imgEs = $("img-es");
  if(imgEs) { 
  	linkEs = imgEs.getProperty('href');
     if(!linkEs) return;
     if (linkEs.search(/http/) == -1) {
     	if(!linkEs) return;
	  	linkEs = 'http://www.geodan.es/' +linkEs;
    }else {
 	  	linkEs =linkEs.replace(/geodan.nl/,"geodan.es")
	  	linkEs =linkEs.replace(/geodan.com/,"geodan.es")
	  	linkEs =linkEs.replace(/geodan.de/,"geodan.es")
    }
    imgEs.href=linkEs;
  }
    
	imgDe = $("img-de");
  if(imgDe) { 
 		linkDe = imgDe.getProperty('href');
    if(!linkDe) return;
    if (linkDe.search(/http/) == -1) {
     	if(!linkDe) return;
  		linkDe = 'http://www.geodan.de/' +linkDe;
    }else {
  		linkDe =linkDe.replace(/geodan.nl/,"geodan.de")
  		linkDe =linkDe.replace(/geodan.com/,"geodan.de")
  		linkDe =linkDe.replace(/geodan.es/,"geodan.de")
    }
    imgDe.href=linkDe;
  }
  
  imgNl = $("img-nl-is");
	if(imgNl){
		linkNl = imgNl.getProperty('href');
		if(!linkNl) return;
		if (linkNl.search(/http/) == -1) {
			linkNl = 'http://www.inspireservices.nl/' +linkNl;
		}else {
			linkNl = linkNl.replace(/inspireservices.eu/,"inspireservices.nl")
		}
		imgNl.href=linkNl;
	}
	
	imgEn = $("img-en-is");
  if(imgEn) {
		linkEn = imgEn.getProperty('href');
		if(!linkEn) return;
		if(linkEn.search(/http/) == -1) {
			linkEn = 'http://www.inspireservices.eu/' +linkEn;
		}else {
			linkEn = linkEn.replace(/inspireservices.nl/,"inspireservices.eu")
		}
		imgEn.href = linkEn;
	}
}

sfHover = function() {
	if(!$('nav')) return;
	
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);



/**
 * initCarousel()
 *
 * Make carousel
 *
 * @author Bas van der Togt (b.vandertogt@profinit.com)
 */
function initCarousel() {
	
	if(!$('carousel')) return;
	
	new SimpleCarousel($('carousel'), $$('#carousel div.slide'), $$('#carousel a.navbutton'), {
		rotateAction: 'click', /*lets make the user click to jump*/
		slideInterval: 5000
	});

}

/**
 * initDownloadCategories
 * puts Download categories in an accordion and enables toggling of categories
 *
 * @author Bas van der Togt (b.vandertogt@profinit.com)
 */
function initDownloadCategories() {
	
	var arrdownloadCats = $$('ul.download li');
	if (arrdownloadCats.length > 1) {

		var downloadAccordion = new Accordion(arrdownloadCats.getElements('h3.download_category'), arrdownloadCats.getElements('div.download_panel'), {
			onActive: function(toggler) {
				toggler.getParent().addClass('open');
			},
			onBackground: function(toggler) {
				toggler.getParent().removeClass('open');
			},
			alwaysHide: true,
			show: 0,
			opacity: true
		});
		$$('div.download_panel')[0].setStyle('height', $$('div.download_panel')[0].getSize().y);

	}
	
	/*
	if ($$('ul.download dt').length == $$('ul.download dd').length) {
		$$('ul.download dt').each(function(item, index) {
			item.addEvent('click', function() {
				var oldHeight = item.getParent().getSize().y;

				if($$('ul.download dt')[index].hasClass('open')) {
					$$('ul.download dt')[index].removeClass('open');
					$$('ul.download dd')[index].removeClass('open');
				} else {
					$$('ul.download dt').removeClass('open');
					$$('ul.download dd').removeClass('open');

					$$('ul.download dt')[index].addClass('open');
					$$('ul.download dd')[index].addClass('open');
				}

				var newHeight = item.getParent().getSize().y;

				item.getParent('div.download_panel').setStyle('height', (item.getParent('div.download_panel').getSize().y + (newHeight - oldHeight)));
			});
		});
	}
	*/
}

function loadPartnerOverview() {
	var elPartnerOverview = $(document).getElement('.partner_overview');
	if (!$defined(elPartnerOverview)) return false;
	
	var fltFadeOutTarget = 0.01;
	var fltFadeInTarget = 0.3;
	
	var arrPartners = elPartnerOverview.getElements('li');
	arrPartners.each(function(elPartner, index){
		// Define item on the right and re-align longer items per row.
		if ((index + 1) % 6) {
			// Do nothing...
		} else {
			elPartner.addClass('right');

			intPartnerHeight = arrPartners[index - 5].getHeight();
			if (intPartnerHeight < arrPartners[index - 4].getHeight()) intPartnerHeight = arrPartners[index - 4].getHeight();
			if (intPartnerHeight < arrPartners[index - 3].getHeight()) intPartnerHeight = arrPartners[index - 3].getHeight();
			if (intPartnerHeight < arrPartners[index - 2].getHeight()) intPartnerHeight = arrPartners[index - 2].getHeight();
			if (intPartnerHeight < arrPartners[index - 1].getHeight()) intPartnerHeight = arrPartners[index - 1].getHeight();
			if (intPartnerHeight < arrPartners[index].getHeight()) intPartnerHeight = arrPartners[index].getHeight();
			
			arrPartners[index - 5].setStyle('height', intPartnerHeight);
			arrPartners[index - 4].setStyle('height', intPartnerHeight);
			arrPartners[index - 3].setStyle('height', intPartnerHeight);
			arrPartners[index - 2].setStyle('height', intPartnerHeight);
			arrPartners[index - 1].setStyle('height', intPartnerHeight);
			arrPartners[index].setStyle('height', intPartnerHeight);
		}
		
		// Center partner logo
		var elVisual = elPartner.getElement('a.visual');
		if (elVisual.getElement('img')) elVisual.getElement('img').setStyle('margin-top', (elVisual.getStyle('height').toInt() - elVisual.getElement('img').getHeight()) / 2);
		
		// Add events to fade logo and make it clickable
		var strUrl = elVisual.get('href');
		elPartner.getElement('.overlay').addEvents({
			'click': function(){
				//window.location.href = strUrl;
				window.open(strUrl);
			},
			'mouseenter': function(){
				this.fade(fltFadeInTarget, fltFadeOutTarget);
			},
			'mouseleave': function(){
				this.fade(fltFadeOutTarget, fltFadeInTarget);
			}
		});
		
		// Add events to fade logo when hovering over the name
		if (elPartner.getElement('.partner_name')) {
			elPartner.getElement('.partner_name').addEvents({
				'mouseenter': function(){
					elPartner.getElement('.overlay').fade(fltFadeInTarget, fltFadeOutTarget);
				},
				'mouseleave': function(){
					elPartner.getElement('.overlay').fade(fltFadeOutTarget, fltFadeInTarget);
				}
			});
		}
	});
}

/*
 * loadYouTubePlayer
 * Embeds the YouTube player based on the video id in the HTML.
 * 
 * @author Bas van der Togt (b.vandertogt[AT]efocus.nl)
 * @param string 11-digit YouTube video ID
 */
function loadYouTubePlayer() {
	arrYouTubeContainers = $$('.youtube_container');
	if (arrYouTubeContainers.length == 0) return;
	
	arrYouTubeContainers.each(function(elYouTubeContainer, n){
		var strYouTubeVideoId = elYouTubeContainer.get('html');
		
		var YoutubePlayer = new Swiff(
			'http://www.youtube.com/v/'+ strYouTubeVideoId + '&enablejsapi=1&playerapiid=ytplayer', {
				id: elYouTubeContainer.className + '_' + n,
				width: elYouTubeContainer.getStyle('width'),
				height: elYouTubeContainer.getStyle('height'),
				params: {
					wmode: 'transparent'
				},
				container: elYouTubeContainer
			}
		);
	});
}
