var Dom = YAHOO.util.Dom;
var Event = YAHOO.util.Event;
var $ = function(id) {
      return document.getElementById(id);
}

/***************************************************/
/*           add pretty corners to IE              */
/***************************************************/
var ieCorners  = function() {
	//find all div's with a class "box"
	var boxes = Dom.getElementsByClassName("box", "div", "container");
	// loop through all elements found
	for (var i=0; i<boxes.length; i++) {	 
		//create the ie6 helper div
		var ie6Helper = document.createElement("div");
		boxes[i].appendChild(ie6Helper);
		YAHOO.util.Dom.addClass(ie6Helper, 'ie6Helper');
	}
}  


/***************************************************/
/*           Script for flyOut menu                */
/***************************************************/
var ieMenu= function() {


//jQuery("ul#pageNav ul.level2 li.hasChildren").css("border","1px solid red");

	
	jQuery("ul#pageNav li.bread.hasChildren").hover(
	  function () {
	  	
	    jQuery(this).addClass("flyOut");
	  },
	  function () {
	    jQuery(this).removeClass("flyOut");
	  }
	);


 //jQuery("a").hover(function(){jQuery(this).fadeOut(100);$(this).fadeIn(500);});

//jQuery("ul#pageNav li.hasChildren").css("border","3px solid red");


/*
   jQuery("ul#pageNav li.bread.hasChildren").bind("mouseover mouseout", function(e){
        jQuery(this).toggleClass("flyOut");
    });
  */  

}

/***************************************************/
/*           		:first-child                   */
/***************************************************/
initFirstChild = function() {
	//var parentEl = Dom.get("pageFooter");
	//var nodes = YAHOO.util.Selector.query("ul li:first-child",parentEl);	
	//YAHOO.util.Dom.addClass(nodes,"firstItem");
}

/*******************************************************/
/*           FONTSIZE CHANGER                          */
/*******************************************************/

var fontChanger = {
	
	disableAnchor : function(e) {
		 Event.preventDefault(e);
	},
	
	init : function() {

		var fontChangeControls = Dom.getElementsByClassName("fontChange", "a", "fontChange");
		for(var i=0; i<fontChangeControls.length; i++) {
			
			Event.addListener(fontChangeControls[i], "click", fontChanger.disableAnchor);
			Event.addListener(fontChangeControls[i], "click", fontChanger.changeFont,fontChangeControls[i].rel);
		}
		
	},
	changeFont : function(e, perc) {
		
		Dom.setStyle("container", "font-size", perc);	
	}
	
};

/*******************************************************/
/*           HOVER CODE			                      */
/*******************************************************/

/*
sfHover = function() {
	var sfEls = document.getElementById("pageNav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}

		sfEls[i].onclick=function() {
			alert('hello');
		}


		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}

*/



sfHover = function() {
	delayedMenu = "";
	if (document.getElementById("pageNav")) {
		var sfEls = document.getElementById("pageNav").getElementsByTagName("LI");
		for (var i=0; i<sfEls.length; i++) {
			
			YAHOO.util.Event.addListener(sfEls[i],"mouseover",addHoverClass);
			YAHOO.util.Event.addListener(sfEls[i],"mouseout",removeHoverClass);
			
		}
		
		//for animation 
		var toggleFold = Dom.getElementsByClassName("foldout", "li");
				
		for(var i=0; i<toggleFold .length; i++) {
			YAHOO.util.Event.addListener(toggleFold[i], "click", removeHoverClass);
			YAHOO.util.Event.addListener(toggleFold[i], "click", disableAnchor);
			YAHOO.util.Event.addListener(toggleFold[i], "click", toggleView);
		}
		
	}
}


toggleView = function(e, link) {
	YAHOO.util.Dom.addClass(this,"active open first hasChildren");
	YAHOO.util.Dom.addClass(link,"active");
	link  = YAHOO.util.Dom.getFirstChild(this);
	url = link.getAttribute("href");
	location.href = url;
}

disableAnchor = function(e) {
	 Event.preventDefault(e);
}
	

addHoverClass = function() {
	if(delayedMenu) {
		clearTimeout(delayedMenu);
		removeClasses();
	}
	YAHOO.util.Dom.addClass(this,"sfhover");
}

removeClasses = function() {
	tempObjects = YAHOO.util.Dom.getElementsByClassName("sfhover");
	if(tempObjects.length > 0){
		for(var i=0; i<tempObjects.length; i++) {
			YAHOO.util.Dom.removeClass(tempObjects,"sfhover");
		}
	}
}

removeHoverClass = function() {
	var tempObj = this;
	
	removeClass = function() {
		YAHOO.util.Dom.removeClass(tempObj,"sfhover");
	}
	delayedMenu = window.setTimeout(removeClass,3000);
}



jQuery.fn.liScroll = function(settings) {
		settings = jQuery.extend({
		travelocity: 0.03
		}, settings);	

		return this.each(function(){
				var $strip = jQuery(this);
				$strip.addClass("newsticker")
				var stripWidth = 0;
				var $mask = $strip.wrap("<div class='mask'></div>");
				var $tickercontainer = $strip.parent().wrap("<div class='tickercontainer'></div>");								
				var containerWidth = $strip.parent().parent().width();	//a.k.a. 'mask' width 	
				$strip.find("li").each(function(i){
				stripWidth += jQuery(this, i).width()+20;
				});
				$strip.width(stripWidth);	
				var defTiming = stripWidth/settings.travelocity;
				var totalTravel = stripWidth+containerWidth;								
				
				function scrollnews(spazio, tempo){
				$strip.animate({left: '-='+ spazio}, tempo, "linear", function(){$strip.css("left", containerWidth); scrollnews(totalTravel, defTiming);});
				}
				scrollnews(totalTravel, defTiming);				
				$strip.hover(function(){
				jQuery(this).stop();
				},
				function(){
				var offset = jQuery(this).offset();
				var residualSpace = offset.left + stripWidth;
				var residualTime = residualSpace/settings.travelocity;
				scrollnews(residualSpace, residualTime);
				});			
		});	
};



var ticker  = function() {
	   jQuery("div#nieuwsTickerContainer ul").liScroll(); 
}; 

/**********************************************************/
/*        PAGE INIT                                       */
/**********************************************************/

initPage = function() {
	//YAHOO.lutsr.accordion.init();
	//initTopSearch();
	//sfHover();
	fontChanger.init();
	//foldOut.init();
	if(YAHOO.env.ua.ie > 0) {
		ieCorners();
		
	
	}
		//sfHover();
		ieMenu();
	ticker();

	/**
	 * SWF voor in het nieuwsbericht Stappen naar leiderschapsvraagstukken in de 21e eeuw | 06-07-2009
	 * kon ik niet in de nieuwsmodule krijgen, daar slikt ie geen objects etc. dus dan maar hier.
	 * Timo (16-09-2009)
	 */
	swfobject.registerObject("leiderschapsdag", "9.0.0");
	jQuery('img#leiderschapsdag').replaceWith('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="345" height="354" id="leiderschapsdag">' +
				'<param name="movie" value="/files/leiderschapsdag.swf" />' +
				'<!--[if !IE]>-->' +
				'<object type="application/x-shockwave-flash" data="/files/leiderschapsdag.swf" width="345" height="354">' +
				'<!--<![endif]-->' +
					'<a href="http://www.adobe.com/go/getflashplayer">' +
						'<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />' +
					'</a>' +
				'<!--[if !IE]>-->' +
				'</object>' +
				'<!--<![endif]-->' +
			'</object>');
	
	
}

Event.on(window,"load",initPage);
