/*
  general
*/
var aPopups = new Array();
var aModalPopups = new Array();

window.onfocus = function()
{
	if(aModalPopups.length != 0)
	{
		aModalPopups[0].focus();
	}
}


var sDefaultFeatures = 'channelmode=0, fullscreen=0, location=0, menubar=0, resizable=0, scrollbars=0, status=0, titlebar=0, toolbar=0';

// create popup
function createPopup(URL, name, features, width, height)
{
	var left	= (screen.availWidth - width) / 2;
	var top		= (screen.availHeight - height) / 2;
	
	return window.open(URL, name, features + ', width=' + width + ', height=' + height + ', left=' + left + ', top=' + top);
	
	left = null;
	top = null;
}

 // getcookie
function getCookie(sName){
	var aCookie = document.cookie.split("; ");
	
	for (var i=0; i < aCookie.length; i++){
		var aCrumb = aCookie[i].split("=");
		if (sName == aCrumb[0]){
			return unescape(aCrumb[1]);
		}
	}
	
	return null;
}  /*
	getElementsByClassName
*/
document.getElementsByClassName = function (needle){
    var s = [document.documentElement || document.body], i = 0, r = [], l = 0, e;
    var re = new RegExp('(^|\\s)' + needle + '(\\s|$)');

    do{
        e = s[i];

        while (e){
            if (e.nodeType == 1){
                if (e.className && re.test(e.className)) r[l++] = e;

                s[i++] = e.firstChild;
            }

            e = e.nextSibling;
        }
    }
	
    while (i--);

    return r;
} /*
  handleBodyLoad
*/
function handleBodyLoad(){
  markLinks();
  initLangNav();
  initMainNav();
  fixInputs();
  
  highlightQuery();
  
  try{
    document.getElementById('qGlobal').onfocus = function(){ this.select(); };
  }catch(e){}
  
  setTimeout(initTicker, 3000);
} /*
  handleSWFClick
*/
function handleSWFClick(){
  clicky.log(this.href,this.href, 'download');
  window.open(this.href);
  return false;

  var swfLayer = document.createElement('div');
    swfLayer.id= 'swfLayer';
    document.body.appendChild(swfLayer);
  
  var html = '';
    html += '<p><a href="javascript:closeSWFLayer();">close presentation</a></p>';
    html += '<div id="flashWrapper"></div>';
  
  swfLayer.innerHTML = html;


  var so = new SWFObject(this.href, 'di352-flashembed', '780', '570', '8', '#ffffff');
    so.addParam('wmode', 'transparent');
    so.addParam('salign', 'T');
    so.addParam('menu', 'false');
    so.addParam('quality', 'high');
    so.write('flashWrapper');	

  return false;
}

function closeSWFLayer(){
  var swfLayer = document.getElementById('swfLayer');
  swfLayer.parentNode.removeChild(swfLayer);
} /*
    initLangNav
*/

function initLangNav(){
  if(!document.getElementById('langNav')) return;

   var listItems = document.getElementById('langNav').getElementsByTagName('li');
   var link;
   
   var select = document.createElement('select');
   select.onchange = function(){
    window.open(this.value, '_self');
   }
   
  if(document.getElementsByTagName('html')[0].getAttribute('lang') == 'de') select.options[select.options.length] = new Option('Deutsch', '');
  if(document.getElementsByTagName('html')[0].getAttribute('lang') == 'en') select.options[select.options.length] = new Option('English', '');
  if(document.getElementsByTagName('html')[0].getAttribute('lang') == 'nl') select.options[select.options.length] = new Option('Nederlands', '');

   for(var i = 0; i < listItems.length; i++){
    link = listItems[i].getElementsByTagName('a')[0];
    select.options[select.options.length] = new Option(link.title, link.href);
   }
   document.getElementById('langNavWrapper').appendChild(select);
   
   document.getElementById('langNav').style.display = 'none';
}
  
 /*
  main-nav for IE6
*/
function initMainNav() {
	if(!document.getElementById('main-nav')) return;

	if (document.all && document.getElementById) {

		var nodes = document.getElementById('main-nav').getElementsByTagName('li');

		for (i = 0; i < nodes.length; i++) {

			if (nodes[i].nodeName.toUpperCase() == 'LI') {
				
				nodes[i].onmouseover = function(){
					this.className += ' hover';
					if(document.getElementById('breadcrumbs')) document.getElementById('breadcrumbs').style.visibility = 'hidden';
				}
				
				nodes[i].onmouseout = function() {
					this.className = this.className.replace('hover', '');
					if(document.getElementById('breadcrumbs')) document.getElementById('breadcrumbs').style.visibility = 'visible';
				}
			}
		}
	} 
} function fixInputs() {
	if (document.all && document.getElementById) {
		var nodes = document.getElementsByTagName('input');
		for (i = 0; i < nodes.length; i++) {
			if (nodes[i].type.toUpperCase() == 'TEXT') {
				
				nodes[i].onfocus = function(){
					this.className += ' focus';
				}
				
				nodes[i].onblur = function() {
					this.className = this.className.replace('focus', '');
				}
			}
		}
	}
}  /*
	MAIL THIS PAGE
*/
var mailThisPageWrapper;
function mailThisPage(){
	if(!mailThisPageWrapper){
		var html = '';
		var language = document.getElementsByTagName('html')[0].getAttribute('lang');
		
		mailThisPageWrapper = document.createElement('div');
		mailThisPageWrapper.className = 'mailThisPageWrapper';
		mailThisPageWrapper.style.height = '0px';
		mailThisPageWrapper.style.width = '0px';
		document.getElementsByTagName('body')[0].appendChild(mailThisPageWrapper);
		
		
		// position of wrapper
		var xPos = document.body.clientWidth;
			xPos = parseInt((xPos / 2) - 200);
		mailThisPageWrapper.style.left = xPos + 'px';
		
		var language = document.getElementsByTagName('html')[0].getAttribute('lang');
		
		switch(language){
			case 'de':
				html += '<h2>Senden Sie diese Seite <a href="javascript:closeMailThisPage()">x</a></h2>';
				break;
			case 'nl':
				html += '<h2>Verstuur deze pagina per e-mail <a href="javascript:closeMailThisPage()">x</a></h2>';
				break;
			default:
				html += '<h2>Mail this page <a href="javascript:closeMailThisPage()">x</a></h2>';
				break;
			}

		html += '<iframe src="/mailThisPage.cfm?language=' + language + '" frameborder="0"></iframe>';
		
		mailThisPageWrapper.innerHTML = html;
		
		mailThisPage();
	}else{
		
		var height = mailThisPageWrapper.style.height;
			height = parseInt(height.replace('px', ''));
			height = height + 10;
		var width = mailThisPageWrapper.style.width;
			width = parseInt(width.replace('px', ''));
			width = width + 15;
		
		mailThisPageWrapper.style.height =  height + 'px';
		mailThisPageWrapper.style.width =  width + 'px';
		
		if(height < 320){
			setTimeout('mailThisPage()', 0);
		}
		
	}
	
}


function closeMailThisPage(){
	document.getElementsByTagName('body')[0].removeChild(mailThisPageWrapper);
	mailThisPageWrapper = null;
}
/*
	// MAIL THIS PAGE
*/ /*
 mark links
*/
function markLinks(){
	var links = document.getElementsByTagName('a');
	var link, href, mark;

	for(var i = 0; i < links.length; i++){
		link = links[i];
		
			
		switch(link.getAttribute('rel')){
			case 'ext': case 'external':
				link.className += ' external';
				link.target = '_blank';
				
				
				if(link.getElementsByTagName('img').length == 0){
					href = link.getAttribute('href').toLowerCase();
					href = href.substring((href.length - 4), (href.length));

					switch(href){
						case '.pdf':
							link.className += ' pdf';
							mark = document.createElement('img');
							mark.src = '/data/link-icons/pdf.png';
							link.appendChild(mark);
							link.onclick = function(){ pageTracker._trackPageview(this.href) }
							
							break;

						case '.swf':
							link.className += ' swf';
							mark = document.createElement('img');
							mark.src = '/data/link-icons/external.png';
							link.appendChild(mark);
							link.onclick = handleSWFClick;
							break;
						
						default:
							mark = document.createElement('img');
							mark.src = '/data/link-icons/external.png';
							link.appendChild(mark);
							break;
				}
			}
		}
	}
	
       /*if(!document.getElementById('content')) return;
	links = document.getElementById('content').getElementsByTagName('a');
	
	for(var i = 0; i < links.length; i++){
		if(links[i].getAttribute('href')){
			href = document.createElement('span');
				href.className = 'print';
				href.appendChild((document.createTextNode(' [' + links[i].href + ']')));
			
			links[i].appendChild(href);
		}
	}*/
	
	mark = null;
	href = null;
	link = null;
	links = null;
}
 /*
  search highlighting
*/
var words;
function highlightQuery() {
	notAllowed = ["home/search/"];	
	for (var i=0; i < notAllowed.length; i++) {
		if (window.location.href.indexOf(notAllowed[i])>=0) {
			return;
		}
	}	

	// google	
	var startIndex = document.referrer.indexOf('&q='); 
	if (startIndex < 0) {
		startIndex = document.referrer.indexOf('?q='); 
	}
	
	// yahoo
	if(startIndex < 0){
		startIndex = document.referrer.indexOf('&p=');
		
		if(startIndex < 0){
			startIndex = document.referrer.indexOf('?p=');
		}
	}
	
	var endIndex = -1;
	if (startIndex >= 0) {
		endIndex = document.referrer.substr(startIndex+3).indexOf('&') + startIndex  +3; 
		
		if (endIndex < (startIndex+3)) {
			endIndex = document.referrer.length;
		}
	}

	var query = '';
	if ((startIndex>0 ) && (endIndex>0) && (startIndex+3 < endIndex)) {
		query = document.referrer.substring(startIndex+3, endIndex);
	}else{
		if( (getCookie('q')) && ((getCookie('q')).length > 0)){
			query = getCookie('q');
			document.cookie = 'q=; path=/';
		}
	}
        
	if(query != ''){
		words = query.toLowerCase().split('+');
		
		for (var i = 0; i < words.length; i++) {
			highlightLeave(document.getElementsByTagName('body')[0], i);
		}
	}
}


function highlightLeave(X, n) {
	var currentNode='';
	if (X.childNodes.length > 0) {
		while((currentNode=='') || (currentNode.nextSibling)) {
			
			if (currentNode=="") {
				currentNode = X.firstChild; 
			} else {
				currentNode = currentNode.nextSibling;
			}
					
			if (currentNode.nodeType != 3) {
				highlightLeave(currentNode, n);
			} else {
				nodeValue = currentNode.nodeValue;
				while (nodeValue.toLowerCase().indexOf(words[n]) >= 0) {
					var startIndex = nodeValue.toLowerCase().indexOf(words[n]);
					var endIndex = nodeValue.toLowerCase().indexOf(words[n]) + words[n].length;
					

					var preText = document.createTextNode(nodeValue.substring(0, startIndex));
					var highlightText = document.createTextNode(nodeValue.substring(startIndex,endIndex));
					var highlightContainer = document.createElement('span');
					highlightContainer.className = 'searchHighlight' + ((n%10)+1);
					highlightContainer.appendChild(highlightText);
					currentNode.parentNode.insertBefore(preText,currentNode);
					currentNode.parentNode.insertBefore(highlightContainer,currentNode);
					nodeValue = nodeValue.substr(endIndex);
					currentNode.nodeValue = nodeValue; 
				}
			}

		}
	}

} /**
 * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 */
if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject; /*
  ticker
*/
var ticker = [];
function initTicker(){
  if(document.getElementsByClassName('ticker').length == 0) return;

  ticker.outerWrapper = document.getElementsByClassName('ticker')[0].getElementsByTagName('div')[0];
  ticker.innerWrapper = ticker.outerWrapper.getElementsByTagName('ul')[0];
  ticker.innerWrapper.style.marginTop = '0px';
  setTimeout(moveTicker, 20);
}

function moveTicker(){
  var marginTop = parseInt(ticker.innerWrapper.style.marginTop.replace('px', ''));
  marginTop += -5;  
  
  if((marginTop) == ticker.innerWrapper.offsetHeight * -1){
    marginTop = 80;
  }
  
  ticker.innerWrapper.style.marginTop = marginTop + 'px';
  
  if(marginTop % 160 == 0){
    setTimeout(moveTicker, 3000);
  }else{
    setTimeout(moveTicker, 80);
  }
}
