/***
 * Standaarden scripts extra-functions.js versie 0002 - 25 september 2008
 * Helemaal onderaan dit bestand bevindt zich de Body onload code die in iedere template uitgevoerd zal worden, waarin deze scripts zijn ingeladen.
 * Nu hoeft er niet meer in iedere template apart een body onload te worden ingevoerd.
 * De volgende variabelen zijn vereist in de template aanwezig te zijn vóór dat dit script ingeladen wordt, dit kan er als volgt uitzien in de template:
 * <head>
 * ...
 * 	<script type="text/javascript">
	var timeOut = false;
	var language = "Nederlands";
	var themeId = '<$
type=INTERNAL_VARIABLE
varname=theme_id
$>';
	var themeName = '<$
type=INTERNAL_VARIABLE
varname=theme_name
$>';
	// Vanaf Updater 9 SP3 en hoger, indien lager, deze variabele uitcommentariseren
	var crumbPath_themeIds = '<$
type=internal_variable
varname=theme_id_tree
$>';
	// Vanaf Updater 9 SP3 en hoger, indien lager, deze variabele uitcommentariseren
	var crumbPath_themeNames = '<$
type=internal_variable
varname=theme_id_tree
outputconversion=javascriptname
$>';
	var pageId = '<$
type=INTERNAL_VARIABLE
varname=page_id
$>';
	var pageName = '<$
type=INTERNAL_VARIABLE
varname=page_version_title
$>';
	</script>
	
	// Externe scripts opstelling
	// - jQuery voor de standaard functies en aanroepingen, nodig voor de werking van de fade scriptjes etc
	// - imgFade voor het uiteindelijke fade / rouleer script van IMG elementen
	// - jQuery.newsticker.pack.js voor het faden / rouleren van LI elementen
	// - extra-functions voor de levering van standaardscript en de controle over andere scripts
	// - pngfix voor PNG images transparantie support in IE 6 en lager.
	<script type="text/javascript" src="/javascript/jquery-1.2.6.js"></script>
	<script type="text/javascript" src="/javascript/imgFade.js"></script>
	<script type="text/javascript" src="/javascript/jquery.newsticker.pack.js"></script>
	<script type="text/javascript" src="/javascript/extra-functions.js"></script>
	<!--[if lt IE 7]>
		<script defer type="text/javascript" src="/javascript/pngfix.js"></script>
	<![endif]-->
 * ...
 * </head>
 */

/*== getQuery ==*/
var query = window.location.search.substring(1);
var vars = query.split("&");
var varArray = {};

function getQueryVariable(variable) {
	for (var i=0;i<vars.length;i++)
	{
		var pair = vars[i].split("=");
		if (pair[0] == variable)
		{
		  return pair[1];
		}
	} 
}
function loadVariables()
{
	for (var i=0;i<vars.length;i++)
	{
		var pair = vars[i].split("=");
		varArray[pair[0].toString()] = pair[1];
	}
}
/*== ==*/

/*== Cookie scripts ==*/
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
/*== ==*/

/*== HideEmptyImages ==*/
function HideEmptyImages()
{	
	var regex_1 = new RegExp("(shownoimg)\.gif$");
	var regex_2 = new RegExp("(spacer)\.gif$");
	var regex_3 = new RegExp("(dot)\.gif$");
	
	for (var i=0; i < document.images.length; i++)
	{
		if (regex_1.test(document.images[i].src) || regex_2.test(document.images[i].src) || regex_3.test(document.images[i].src))
		{
			document.images[i].style.display = "none";
		}
	}
}
/*== ==*/

/*== Iframe resize script for IE and FF ==*/
function adjustIFrameSize(iframeWindow)
{
	var iframeElement = document.getElementById(iframeWindow.name);
	
	if (navigator.appVersion.match(/MSIE/))
	{
		iframeElement.style.height = iframeWindow.document.body.scrollHeight + 13 + 'px';
	}
	else
	{
		iframeElement.style.height = iframeWindow.document.getElementsByTagName('html')[0].scrollHeight + 'px';
	}
}
function resizeIframes()
{
	for (var i=0; i<window.frames.length; i++)
	{
		if (window.frames[i])
		{
			adjustIFrameSize(window.frames[i]);
		}
	}
}
function startResizeIframesTimer(milliseconds)
{
	setTimeout("resizeIframes()",milliseconds);
}
/*== ==*/

/*== Give active links in Id elements a class "active" ==*/
function HighlightLocation()
{
	var localThemeId = 'themeid='+themeId;
	var localPageId = 'pageid='+pageId;
	
	var navigationsToCheck = new Array();
	navigationsToCheck[0] = "header_navigation";
	navigationsToCheck[1] = "main_navigation";
	navigationsToCheck[2] = "footer_navigation";
	
	var regExp = new RegExp("#");
	var regExp_digitCheck_ThemeId = new RegExp(localThemeId + '(?![0-9])');
	var regExp_digitCheck_PageId = new RegExp(localPageId + '(?![0-9])');
	
	for (var i=0; i<navigationsToCheck.length; i++)
	{
		if (document.getElementById(navigationsToCheck[i]))
		{	
			var linkObjects = document.getElementById(navigationsToCheck[i]).getElementsByTagName('a');
			
			for (var j=0; j<linkObjects.length; j++)
			{
				var src = ""+linkObjects[j]+"";
				
				if ((regExp_digitCheck_ThemeId.exec(src) || regExp_digitCheck_PageId.exec(src)) && !regExp.exec(src))
				{
					linkObjects[j].className = 'active';
				}
				else
				{
					linkObjects[j].className = '';
				}
			}
		}
	}
}
/*== ==*/

/*== Newsticker display ==*/
function setNewstickerDisplayAt(id)
{
	if (document.getElementById(id))
	{
		document.getElementById(id).getElementsByTagName('ul')[0].id = 'newsticker';
		document.getElementById(id).getElementsByTagName('li')[0].style.display = 'block';
	}
}
/*== ==*/

/*== Check if there are some images that are not selected or empty and delete them from the page ==*/
function deleteEmptyImagesAt(id)
{
	if (document.getElementById(id))
	{
		var containerObject = document.getElementById(id);
		
		for (var i=0; i<containerObject.getElementsByTagName("img").length; i++)
		{
			var currentObject = containerObject.getElementsByTagName("img")[i];
			
			if (currentObject.src.match(/(shownoimg)\.gif$/))
			{
				containerObject.removeChild(currentObject);
			}
		}
		
	}
}
/*== ==*/

/*== Smoelenboek Input navigation ==*/

function kadabra(zap) {
   if (document.getElementById) {
   var abra = document.getElementById(zap).style;
    if (abra.display == "block") {
    abra.display = "none";
    } else {
    abra.display= "block";
   }
   return false;
   } else {
   return true;
  }
  }

function createSmoelNavigationAt(id)
{
	if (getQueryVariable("smoelen") && document.getElementById(id))
	{
		var objectToCreateNavigationAt = document.getElementById(id);
		var smoelPageIds = getQueryVariable("smoelen");
		var smoelPageIds_Array = smoelPageIds.split(/,/);
		
		var back = "";
		var backUsed = false;
		var separator = "";
		var next = "";
		var nextUsed = false;
		
		var currentIteratorLocation = 0;
		
		for (var i=0; i<smoelPageIds_Array.length; i++)
		{
			if (smoelPageIds_Array[i] == pageId)
			{
				currentIteratorLocation = i;
			}
		}
		
		if (smoelPageIds_Array[currentIteratorLocation-1])
		{
			back = '<a class="smoel_back" href="/cms/publish/content/showpage.asp?pageid='+smoelPageIds_Array[currentIteratorLocation-1]+'&smoelen='+smoelPageIds+'"><< vorige</a>';
			backUsed = true;
		}
		if (smoelPageIds_Array[currentIteratorLocation+1])
		{
			next = '<a class="smoel_next" href="/cms/publish/content/showpage.asp?pageid='+smoelPageIds_Array[currentIteratorLocation+1]+'&smoelen='+smoelPageIds+'">volgende >></a>';
			nextUsed = true;
		}
		
		if (backUsed && nextUsed)
		{
			//separator = ' - ';
		}
		
		objectToCreateNavigationAt.innerHTML = back+''+separator+''+next;
	}
}
/*== ==*/

/*== placeDateOfTodayAt ==*/
function placeDateOfTodayAt(id)
{
	if (document.getElementById(id))
	{
		var objectToPlaceDateOfToday = document.getElementById(id);
		
		var date = new Date();
		var today = date.getDate() + '-' + (date.getMonth() + 1) + '-' + date.getFullYear();
		
		objectToPlaceDateOfToday.innerHTML = today;
	}
}
/*== ==*/

/*== openClose ==*/
function openClose(elementLink, elementLinkCurrentClassName, elementToOpen, elementToOpenCurrentClassName)
{
	if (elementLink && elementToOpen)
	{
		if (elementLink.className.match(/active/) && elementToOpen.className.match(/active/))
		{
			elementLink.className = elementLinkCurrentClassName;
			elementToOpen.className = elementToOpenCurrentClassName;
		}
		else
		{
			elementLink.className = elementLinkCurrentClassName + ' active';
			elementToOpen.className = elementToOpenCurrentClassName + ' active';
		}
	}
}
/*== ==*/

/*== swapTabView ==*/
function swapTabView(elementsToDisplayContainerId, elementNrToDisplay, elementIdTypesToChangeDisplay, currentClassName, tabLinksContainerId, tabLinkToSetActive)
{
	var digitSign = '<nr>';
	var elementIdToDisplay = elementIdTypesToChangeDisplay.replace(digitSign,elementNrToDisplay);
	var elementIdToDisplay_splitted = elementIdTypesToChangeDisplay.split(digitSign);
	var elementIdToDisplay_front = elementIdToDisplay_splitted[0];
	var elementIdToDisplay_back = elementIdToDisplay_splitted[1];
	
	if (document.getElementById(elementsToDisplayContainerId) && document.getElementById(elementIdToDisplay) && document.getElementById(tabLinksContainerId) && tabLinkToSetActive)
	{
		var elementToDisplay_Container = document.getElementById(elementsToDisplayContainerId);
		var elementToDisplay = document.getElementById(elementIdToDisplay);
		
		for (var u=0; u<elementToDisplay_Container.getElementsByTagName('div').length; u++)
		{
			var currentElement = elementToDisplay_Container.getElementsByTagName('div')[u];
			
			if (currentElement.id.match(elementIdToDisplay))
			{
				currentElement.className = currentClassName + ' active';
			}
			else if (currentElement.id.match(elementIdToDisplay_front) && currentElement.id.match(elementIdToDisplay_back))
			{
				currentElement.className = currentClassName;
			}
		}
		
		var tabLinksDisplay_Container = document.getElementById(tabLinksContainerId);
		
		for (var v=0; v<tabLinksDisplay_Container.getElementsByTagName('a').length; v++)
		{
			var currentElement = tabLinksDisplay_Container.getElementsByTagName('a')[v];
			currentElement.className = '';
		}
		
		tabLinkToSetActive.className = 'active';
	}
}
/*== ==*/

/*== RollOver en RollOut ==*/
function rollOver(callingObject,manipulatingObject)
{
	if (callingObject && manipulatingObject)
	{
		if (manipulatingObject.className.length > 0)
		{
			manipulatingObject.className += ' hover';
		}
		else
		{
			manipulatingObject.className = 'hover';
		}
	}
}
function rollOut(callingObject,manipulatingObject)
{
	if (callingObject && manipulatingObject)
	{
		manipulatingObject.className = manipulatingObject.className.replace(/hover/,"");
		manipulatingObject.className = manipulatingObject.className.replace(/ $/,"");
	}
}
/*== ==*/
	
/*== Kruimelpad script (Vanaf Updater 9 SP3 en hoger)  indien lager, dit script uitcommentariseren==*/
function createCrumbPathAt(id)
{
	if (document.getElementById(id) && crumbPath_themeNames && crumbPath_themeIds && themeName && pageName && pageId)
	{
		var printableNavigation = '';
		var objectToPlaceCrumbpath = document.getElementById(id);
		
		var crumbPath_themeIds_Array = crumbPath_themeIds.split(/~/);
		var crumbPath_themeNames_Array = crumbPath_themeNames.split(/~/);
		
		for (var i=0; i<crumbPath_themeIds_Array.length; i++)
		{
			if (crumbPath_themeIds_Array[i] == "")
			{
				crumbPath_themeIds_Array.splice(i,1);
			}
			if (crumbPath_themeNames_Array[i] == "")
			{
				crumbPath_themeNames_Array.splice(i,1);
			}
		}
		
		for (var j=0; j<crumbPath_themeNames_Array.length; j++)
		{
			if (j == 0)
			{
				crumbPath_themeNames_Array[j] = crumbPath_themeNames_Array[j].replace(/^- Restyle Intranet/,"Intranet");
				
				// Voeg alle (sub) thema's toe aan een verzameling met links, evt. opbouw kan hier worden gewijzigd
				printableNavigation += '<a class="first" href="/cms/publish/content/showpage.asp?themeid='+crumbPath_themeIds_Array[j]+'">'+crumbPath_themeNames_Array[j]+'</a>';
			}
			else
			{
				// Voeg alle (sub) thema's toe aan een verzameling met links, evt. opbouw kan hier worden gewijzigd
				printableNavigation += '<a href="/cms/publish/content/showpage.asp?themeid='+crumbPath_themeIds_Array[j]+'">'+crumbPath_themeNames_Array[j]+'</a>';
				
			}
			
		}
		
		// Hier wordt de paginatitel als laatste link toegevoegd, evt. opbouw kan hier worden gewijzigd
		printableNavigation += ' <a class="last" href="/cms/publish/content/showpage.asp?pageid='+pageId+'"><strong>'+pageName+'</strong></a>';
		
		// Plaats het samengestelde kruimelpad in het element met het opgegeven ID
		objectToPlaceCrumbpath.innerHTML = printableNavigation;
	}
}
/*== ==*/


/*== menuPaster ==*/
function menubuilderCopyActiveLvl2(menuName,destinationId)
{
	if (document.getElementById('submenu'))
	{
		var regExp_menuName = new RegExp("-"+menuName+"-");
		var regExp_activeLevel2 = new RegExp("smactive2");
		var level2Object = false;
		var destinationObject = document.getElementById('submenu');
		
		for (var i=0; i<document.getElementsByTagName('div').length; i++)
		{
			var currentDiv = document.getElementsByTagName('div')[i];
			
			if (regExp_menuName.test(currentDiv.className) && regExp_activeLevel2.test(currentDiv.className))
			{
				level2Object = currentDiv;
				
				break;
			}
		}
		
		if (level2Object)
		{
			var linkLocations = new Array();
			var linkNames = new Array();
			var linkActive = new Array();
			
			for (var j=0; j<level2Object.getElementsByTagName('a').length; j++)
			{	
				if (level2Object.getElementsByTagName('a')[j].parentNode.className.indexOf("active2") != -1)
				{
					linkActive[j] = " active";
				}
				else
				{
					linkActive[j] = "";
				}
				
				linkLocations[j] = level2Object.getElementsByTagName('a')[j];
				linkNames[j] = level2Object.getElementsByTagName('a')[j].innerHTML;
			}
			
			var toPaste = "";
			
			for (var k=0; k<linkLocations.length; k++)
			{
				toPaste += '<div class="menu_item menu_item_'+k+''+linkActive[k]+'"><a href="'+linkLocations[k]+'">'+linkNames[k]+'</a></div>\n';
				
			}
			
			destinationObject.innerHTML = toPaste;
		}
	}
}
/*== ==*/

/*== setSearchBoxText ==*/
function setSearchBoxText()
{
	var zoekterm = "Zoeken";
	
	if (readCookie("PluswerkZoekterm"))
	{
		zoekterm = readCookie("PluswerkZoekterm");
	}
	
	if (document.getElementById('fld_metzoektermen'))
	{
		document.getElementById('fld_metzoektermen').value = zoekterm;
	}
}
/*== ==*/

/*== Body onload ==*/
window.onload = function(e)
{
	HideEmptyImages();
	menubuilderCopyActiveLvl2('pluswerkheader','submenu');
	setSearchBoxText();
	
	/*HighlightLocation();
	createSmoelNavigationAt("smoel_nav");
	deleteEmptyImagesAt("fade_image");
	setNewstickerDisplayAt("newsticker_wrapper");
	placeDateOfTodayAt("date_today");
	createCrumbPathAt("crumb_path_margins");
	startResizeIframesTimer(100);*/
	
	/*$('#fade_image').cycle({ 
	    fx:    'fade', 
	    speed:  2500
	});
	$('#newsticker').newsticker();*/
}
/*== ==*/

