


var niftyIt = function() {
	Nifty("div#container", "bottom");
	Nifty("h2.mediumtab", "top");
	Nifty("h2.largetab", "top");
}

var initFoldboxes = function() {
 // set fold controls 
 var disableLink = function(e) {
  YAHOO.util.Event.preventDefault(e)
 }
 var rbControls = YAHOO.util.Dom.getElementsByClassName("dropdown", "a", "container");
 for(var i=0; i<rbControls.length; i++) {
	YAHOO.util.Event.addListener(rbControls[i], "click", disableLink);
	
	var targetBox = document.getElementById(rbControls[i].rel);
	

	var itemRegion = YAHOO.util.Dom.getRegion(targetBox);
	var itemHeight = itemRegion.bottom - itemRegion.top;
	
	if(!itemHeight) {
		targetBox.style.display = "block";
		var itemRegion = YAHOO.util.Dom.getRegion(targetBox);
		var itemHeight = itemRegion.bottom - itemRegion.top;
		targetBox.style.display = "none";
	}

	YAHOO.util.Event.addListener(rbControls[i],"click",foldBox,itemHeight);
 }
}

var foldBox = function (e,ih) {

 var targetEl = document.getElementById(this.rel);
 var el = this;
 if(YAHOO.util.Dom.getStyle(targetEl, "display") == "block") {

	targetEl.style.overflow = "hidden";
	targetEl.style.position = "relative";
	var end = function() {
		// set / reset controls
		targetEl.style.display = "none";
		el.className = "rbcclosed";
	}

	var boxAnim = new YAHOO.util.Anim(targetEl, { 
		height: { to: 0 }
	}, 0.2, YAHOO.util.Easing.easeOut); 
	boxAnim.onComplete.subscribe(end); 
	boxAnim.animate(); 
	
	
 }
 else  {
	targetEl.style.display = "block";
	targetEl.style.overflow = "hidden";
	targetEl.style.position = "relative";
	
	targetEl.style.height = "0";
	
	var end2 = function() {
		// set / reset controls
		el.className = "rbcontrol";
	}

	var boxAnim = new YAHOO.util.Anim(targetEl, { 
		height: { to: ih }
	}, 0.2, YAHOO.util.Easing.easeOut); 
	boxAnim.onComplete.subscribe(end2); 
	boxAnim.animate(); 
	
	

 }
}


function startHpCarrousel() {

 var cCarrousels=YAHOO.util.Dom.getElementsByClassName("IdeeICT_FotoCarrousel",null,null);
 for (var i=0; i<cCarrousels.length;i++)
 {
	 var item=cCarrousels[i];
	 var FotoCarrouselRefreshTijd=item.getAttribute("FotoCarrouselRefreshTijd");
	 window.setTimeout( function () { setFotoCarrousel(null,item,0) },FotoCarrouselRefreshTijd*1000);
 }
}

function setFotoCarrousel(e,imgHolder,cImg) 
{

 var FotoCarrouselRefreshTijd=imgHolder.getAttribute("FotoCarrouselRefreshTijd");
 var imgList = YAHOO.util.Dom.getElementsBy(function() {return true}, "li", imgHolder);
 var nImg = imgList.length;

 var fadeImg = function(el) {
	var fadeOut = new YAHOO.util.ColorAnim(el, {opacity : { to: 0.01} }, 2, YAHOO.util.Easing.easeOut);
	if(cImg < nImg-1 ) {
		var nextImage = imgList[cImg + 1];
	}
	else {
		var nextImage = imgList[0];
		cImg = -1;
	}
	
	var freeze = function () {
		
		var nextImg = cImg + 1;
		var fTimeout = window.setTimeout(function () {setFotoCarrousel(e,imgHolder,nextImg)},FotoCarrouselRefreshTijd*1000);
	}

	var fadeIn = new YAHOO.util.ColorAnim(nextImage, {opacity : { to: 1} }, 2, YAHOO.util.Easing.easeOut);
	fadeIn.onComplete.subscribe(freeze);
	fadeOut.animate();
	fadeIn.animate();
 }

 // start fading
 if(nImg != 0) {
	fadeImg(imgList[cImg]);
 }
}



YAHOO.util.Event.addListener(window, "load", startHpCarrousel)


var setImageCaptions = function() {
	
	// get all to caption image elements
	var cimages = YAHOO.util.Dom.getElementsByClassName("caption", "img", $("article"));
	for(var i=0; i<cimages.length; i++) {
		
		// now for the images with alt.
		var captiondiv = document.createElement("div");
		YAHOO.util.Dom.addClass(captiondiv, "caption");
		var iClone = cimages[i].cloneNode(true);
		captiondiv.appendChild(iClone);
		var captiontext = document.createElement("div");
		var ctext = document.createTextNode(cimages[i].getAttribute("alt"));
		captiontext.appendChild(ctext);
		captiondiv.appendChild(captiontext);

		// get the image width
		var itemRegion = YAHOO.util.Dom.getRegion(cimages[i]);
		var itemWidth = itemRegion.right - itemRegion.left;

		// replace image with caption div
		cimages[i].parentNode.replaceChild(captiondiv,cimages[i]); 
		YAHOO.util.Dom.setStyle(captiondiv, "width", itemWidth + "px");
	}
}


function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		if (arguments.length == 1)
			return element;
		elements.push(element);
	}
	return elements;
}




function setHeights(elements)
{
	// this function sets the heights of 2 elements. It
	// uses the title attribute of one elmement which is a relation to
	// the second element
	// usage : setHeights(elements array[obj] or element obj)
	// each object needs to have a title attibute as reference id to the to be compared box 

	if(elements) 
	{
		var eArray = new Array();
		if (window.XMLHttpRequest && document.all) {
			/* IE 7 only */
			var niftyCorrection = 5; 
		}
		else {
			/* all other browsers & version */
			var niftyCorrection = 10; 
		}

		if(YAHOO.lang.isArray(elements)) eArray = elements;
		else eArray[0] = elements;
		
		for(i=0; i<eArray.length; i++) {
			
			if(eArray[i] != null && $(eArray[i].title)) // check if element & reference element exist in document
			{
				var itemRegion = YAHOO.util.Dom.getRegion(eArray[i]);
				var itemHeight = itemRegion.bottom - itemRegion.top;

				var refRegion =  YAHOO.util.Dom.getRegion($(eArray[i].title));
				var refHeight = refRegion.bottom - refRegion.top;
				
				if(itemHeight < refHeight)eArray[i].style.height  = refHeight - niftyCorrection + "px";
				else $(eArray[i].title).style.height = itemHeight - niftyCorrection + "px";
			}
		}
	}
}

function setTeaserHeights(teaserId, refId)
{
	var grenswaarde=  58;
	var teaserBox = $(teaserId);
	var refBox = $(refId);

	var tRegion = YAHOO.util.Dom.getRegion(teaserBox);
	var tHeight = tRegion.bottom - tRegion.top;

	var rRegion = YAHOO.util.Dom.getRegion(refBox);
	var rHeight = rRegion.bottom - rRegion.top;
	if(tHeight + grenswaarde < rHeight) {
	 // adjust tHeight
	 teaserBox.style.height = (rHeight +grenswaarde) + "px";
	}

}

var initHeights = function() {
	setHeights($("projectsearch", "projectsteps", "mkbnewsbox"));
	
	// nifty corners after heights are ajusted
	niftyIt();
}

var initTeaserHeights = function () {
 setTeaserHeights("hpteasers", "hppromo");
 niftyIt();

}


var avantgardebookbt = {
    src: '/Portals/_default/Skins/ideeict/sifr/avantgardebookbt.swf'
	,ratios: [6,1.32,7,1.35,8,1.31,9,1.28,10,1.26,11,1.25,12,1.24,13,1.23,14,2.20,15,1.23,16,1.23,17,1.22,18,1.21,19,1.21,20,1.2,21,1.21,22,1.2,23,1.2,24,1.2,25,1.19,26,1.19,27,1.18,28,1.19,29,1.19,30,1.19,31,1.19,32,1.18,33,1.18,34,1.19,35,1.18,36,1.18,37,1.18,38,1.18,39,1.18,40,1.17,41,1.18,42,1.18,43,1.17,44,1.17,45,1.17,46,1.17,47,1.17,48,1.18,49,1.17,50,1.17,51,1.17,52,1.17,53,1.17,54,1.17,55,1.17,56,1.17,57,1.17,58,1.17,59,1.17,60,1.17,61,1.16,62,1.17,63,1.17,64,1.17,65,1.17,66,1.16,67,1.16,68,1.17,69,1.17,70,1.16,71,1.16,72,1.16,73,1.16,74,1.16,75,1.17,76,1.16,77,1.16,78,1.16,79,1.16,80,1.16,81,1.16,82,1.16,83,1.16,84,1.16,85,1.16,86,1.16,87,1.16,88,1.16,89,1.16,90,1.16,91,1.16,92,1.16,93,1.16,94,1.16,95,1.16,96,1.16,97,1.16,98,1.16,99,1.16,100,1.16,101,1.16,102,1.16,103,1.16,104,1.16,105,1.16,106,1.16,107,1.16,108,1.16,109,1.16,110,1.16,111,1.16,113,1.16,114,1.16,115,1.16,116,1.16,117,1.16,118,1.16,119,1.16,120,1.16,121,1.16,122,1.16,123,1.16,124,1.16,1.16]
  };

sIFR.activate(avantgardebookbt);
sIFR.replace(avantgardebookbt,{
    selector: '#hpteasers h3'
    ,css: {
      '.sIFR-root': { 'color': '#000000', 'font-size': '14px'}
    }
	,wmode: 'transparent' 
  });


/****
****/
function fixLoginStyle ()
{
	// if DNN displays a message that results from login, the login box has to show itself.
	var obj=$('dnn_loginPane');
	if (obj!=null)
	{
		var arr=YAHOO.util.Dom.getElementsByClassName("rbcontent",null,obj);
		if (arr.length==1)
		{
			var arr2=YAHOO.util.Dom.getElementsBy(function () { return true ; },"hr",arr[0]);
			if (arr2.length>0)
			{
					var targetEl=$("hploginform");
					targetEl.style.display = "block";
					targetEl.style.overflow = "hidden";
					targetEl.style.position = "relative";
			}
		}
	}


}

function fixSearchBox()
{
	var obj=$('hpsearchform');
	if (obj!=null)
	{
       var arr=YAHOO.util.Dom.getElementsByClassName("submit",null,obj);
	   if (arr.length==1)
	   {
          arr[0].value=""; 
	   }
	}
}

var proccessTables = function() {
	var obj=$('article');
	var allTables =YAHOO.util.Dom.getElementsBy(function () { return true ; },"table",obj);
	var allTables2=YAHOO.util.Dom.getElementsByClassName("greentable");
	for(var i=0; i<allTables2.length; i++) {
	    allTables.push(allTables2[i]);
	}
	//var allTables = document.getElementsByTagName("table");
	if(allTables.length > 0) {
		//  tables found in document, lets dress them up
		for(var i=0; i<allTables.length; i++) {
			if (allTables[i].getAttribute("summary") != "Design Table")
			{
				var allCaptions =YAHOO.util.Dom.getElementsBy(function () { return true ; },"caption",allTables[i]);
				if (allCaptions.length==1)
				{
					styleTable(allTables[i]);
				}
			}
		}
	}
}

var styleTable = function(dTable) {
	// setting article class to table element
	YAHOO.util.Dom.addClass(dTable, "article");
	dTable.removeAttribute("border");

	var trEl = dTable.getElementsByTagName("tr");
	for(var i=0; i<trEl.length; i++) {
		// adding header class to firstChild (tr)
		if(i == 0) {
			YAHOO.util.Dom.addClass(trEl[i], "header");
		}
		else {
			// apply even classes
			if (i % 2 == 0) {	
				
				YAHOO.util.Dom.addClass(trEl[i], "even");
			}
		}
	}	
}


/***** opleidingskalender ****/

function Opleidingskalender_display(component)
{
	if (Opleidingskalender_display.currentItem !="")
	{
		$(Opleidingskalender_display.currentItem).style.display="none";
	}
    if (component.value != "") 
    {
        Opleidingskalender_display.currentItem=component.value;
        $(Opleidingskalender_display.currentItem).style.display="block";
	}
}
Opleidingskalender_display.currentItem="";

function Opleidingskalender_Subscribe(component)
{
	/*
	var o={ "Cursus": "Test", "Startdatum": "10/10/2008" } ;
	var arr=[];
	for (var v in o)
	{
		arr.push(v);
		arr.push(o[v]);
	}
	*/
	var s='trajectnaam#_#'+component.getAttribute("trajectnaam")+
		  '#_#datum#_#'+component.getAttribute("dag")+'-'+component.getAttribute("maandnr") +'-'+component.getAttribute("jaar") +
		  '#_#lokatienaam#_#'+component.getAttribute("lokatienaam") +
		  '#_#opleiding#_#'+component.getAttribute("opleiding") 
		;
	window.open("http://www.idee-ict.nl/2004/informatieaanvragen/form07/opleidingsaanvraag/opleidingsaanvraag.htm?form="+escape(s), "Inschrijven")
	
	//window.location="/opleidingsaanvraag.htm?form="+escape(s);

}
/*
function Opleidingskalender_loadForm()
{
	// als de opleidingskalender zichtbaar is, maak dan het huidige panel zichtbaar.
	if ($("opleidingskalender_traject_select")!=null)
	{
        Opleidingskalender_display($("opleidingskalender_traject_select"));
	}
	// als de opleidingskalender is doorgelinkt naar een form, plaats dan de cursusdata in het formulier.
	if (window.location.search != null && window.location.search.indexOf("form=")>=0)
	{
		var obj=null;
		var arr=YAHOO.util.Dom.getElementsByClassName("formcontainer",null,null);
		if (arr.length==1)
		{

			obj=arr[0];
		}
		var allFields =YAHOO.util.Dom.getElementsBy(function () { return true ; },"textarea",obj);

		if (allFields.length==1)
		{
            var a=window.location.search.indexOf("form=")+5;
			var s=unescape(window.location.search.substr(a));
			var arr=s.split("#_#");
			var o={};
			for (var i=0; i<arr.length; i=i+2 )
			{
				o[arr[i]]=arr[i+1];
			}
			allFields[0].value='';
			for (var v in o)
			{
              var l=v+":                                  ";
			  l=l.substr(0,20);
              allFields[0].value+=l+o[v]+"\n";
			}
			
		}
	}
}
*/
/********* einde opleidingskalender ******/

YAHOO.util.Event.addListener(window, "load", proccessTables);

YAHOO.util.Event.addListener(window, "load", fixLoginStyle);
YAHOO.util.Event.addListener(window, "load", fixSearchBox);


// init JS controls 
//YAHOO.util.Event.onContentReady("container", initFoldboxes);
//YAHOO.util.Event.onContentReady("container", initTeaserHeights);
//YAHOO.util.Event.onContentReady("container", setImageCaptions);

YAHOO.util.Event.addListener(window, "load", initFoldboxes);
YAHOO.util.Event.addListener(window, "load", initTeaserHeights);
YAHOO.util.Event.addListener(window, "load", setImageCaptions);
YAHOO.util.Event.addListener(window, "load", fixLoginStyle);
YAHOO.util.Event.addListener(window, "load", fixSearchBox);

//YAHOO.util.Event.addListener(window,"load",Opleidingskalender_loadForm);