function openPopup(url, width, height) {
	width = !isNaN(width) ? width : 640
	height = !isNaN(height) ? height : 480
	myDate = new Date()
	newWin = window.open(url, 'HBDpopup' + myDate.getHours() + myDate.getMinutes() + myDate.getSeconds(), "width=" + width + ",height=" + height + ",location=no,menubar=no,resizable=no,scrollbars=yes,status=no,titlebar=no,toolbar=no", true)
	newWin.focus()
}

function openShadowbox(content,width,height) {
	var str_options = new Object()
	var defwidth = 640
	var defheight = 480
	str_options.player = "iframe"
	if (width) defwidth = width
	if (height) defheight = height
	str_options.width = defwidth
	str_options.height = defheight
	str_options.content = content
	Shadowbox.open(str_options)
}

function onClickFAQ(id) {
	toggle('antwoord' + id);
}

function onClickMoreFAQ() {
	toggle('faq_meer_link');
}

function toggle(obj) {
	var el = document.getElementById(obj);
	el.style.display = (el.style.display != 'none' ? 'none' : '' );
}

var browserDetect = new DetectBrowser()

function fixPNG(img_id) {
	// only fix when IE6 or less
	if (browserDetect.isIE && !browserDetect.isWinIE7 && !browserDetect.isWinIEVista) {
		var img = document.getElementById(img_id)	
		var imgName = img.src.toUpperCase()	
	    if (imgName.substring(imgName.length-3, imgName.length) == "PNG") {
			var imgID = (img.id) ? "id='" + img.id + "' " : ""
			var imgTitle = (img.title) ? "title='" + img.title + "' " : ""
			var imgStyle = "display:inline-block;" + img.style.cssText 
			if (img.align == "left") imgStyle = "float:left;" + imgStyle
			if (img.align == "right") imgStyle = "float:right;" + imgStyle
			//if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
			var strNewHTML = "<span " + imgID + imgTitle 
			+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
			+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
			+ "(src=\'" + img.src + "\');\"></span>" 
			img.outerHTML = strNewHTML	
	    }	
	}
}

function onMouseOverBranche(branche_id, x_pos, y_pos, highlight) {
	document.getElementById('branche_img' + branche_id).style.backgroundPosition=x_pos+"px "+y_pos+"px";
	obj = document.getElementById('branchelink_' + branche_id);
	if (highlight) {
		obj.className = (obj.className == 'branchelink') ? 'branchelink_over' : 'sectorlink_over'
	}
	else {
		obj.className = (obj.className == 'branchelink_over') ? 'branchelink' : 'sectorlink'
	}
}

function hideIfOpen(divName) {
	var div = document.getElementById(divName);
	if (div.style.display == '') {		
		document.getElementById(divName).style.display = 'none'
	}
}

function keepOpen(divName) {
	var div = document.getElementById(divName);
	document.getElementById(divName).style.display = ''
}

function showHide(divName) {

	var div = document.getElementById(divName);
	
	if (div.style.display == 'none') {		
		document.getElementById(divName).style.display = ''
	} else {
		document.getElementById(divName).style.display = 'none'
	}
	
}

function DetectBrowser() {
	var a=navigator.userAgent.toLowerCase()
	this.isOpera=(a.indexOf("opera")!=-1)
	this.isKonq=(a.indexOf('konqueror')!=-1)
	this.isSafari=(a.indexOf('safari')!=-1)&&(a.indexOf('mac')!=-1)
	this.isKhtml=this.isSafari || this.isKonq || (a.indexOf('khtml')!=-1)
	this.isFF=(a.indexOf('firefox')!=-1)
	this.isIE=(a.indexOf("msie")!=-1)&&!this.isOpera
	this.isWinIE=this.isIE&&(a.indexOf("win")!=-1)
	this.isWinIE7=this.isWinIE && (a.indexOf("msie 7")!=-1)
	this.isWinIEVista=this.isWinIE && (a.indexOf("windows nt 6")!=-1)
	this.isCSS1Compat=(!this.isIE)||(document.compatMode&&document.compatMode=="CSS1Compat")
}

function setCookie(name, value, expires, path, domain, secure) {
	var today = new Date();
	today.setTime(today.getTime());

	if (expires) {
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date(today.getTime() + (expires));

	document.cookie = name + "=" + escape(value) +
		((expires) ? ";expires=" + expires_date.toGMTString() : "") +
		((path) ? ";path=" + path : "") +
		((domain) ? ";domain=" + domain : "") +
		((secure) ? ";secure" : "");
}

function getCookie(check_name) {
	var a_all_cookies = document.cookie.split(';');
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f

	for (i = 0; i < a_all_cookies.length; i++) {
		// now we'll split apart each name=value pair
		a_temp_cookie = a_all_cookies[i].split('=');

		// and trim left/right whitespace while we're at it
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');

		// if the extracted name matches passed check_name
		if (cookie_name == check_name) {
			b_cookie_found = true;
			// we need to handle case where cookie has no value but exists (no = sign, that is):
			if (a_temp_cookie.length > 1) {
				cookie_value = unescape(a_temp_cookie[1].replace(/^\s+|\s+$/g, ''));
			}
			// note that in cases where cookie is initialized but no value, null is returned
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if (!b_cookie_found)
	{
		return null;
	}
}

function toggleCheckboxInputField (houserule_id,inputField) {
	checkbox = document.getElementById('enabledHouseRules'+houserule_id);

	if(!checkbox.checked) checkbox.checked = true;
	if(inputField.value == '<vul in>') inputField.value = '';
}

//Search functions
function enableDisableOtherFacetLinks (facetName,facetTitle) {
	e_otherLinks = document.getElementById('otherLinks_' + facetName);
	e_moreLink = document.getElementById('moreLink_' + facetName);
	
	if(e_otherLinks.style.display == 'none' || e_otherLinks.style.display == '') {
		e_otherLinks.style.display = 'block';
		e_moreLink.innerHTML = 'Minder ' + facetTitle;
	}
	else {
		e_otherLinks.style.display = 'none';	
		e_moreLink.innerHTML = 'Meer ' + facetTitle + '...';
	}
}

//MooTools, My Object Oriented Javascript Tools. Copyright (c) 2006 Valerio Proietti, <http://mad4milk.net>, MIT Style License.

var MooTools={'version':1.1};function $defined(obj){return(obj!=undefined);};function $type(obj){if(!$defined(obj))return false;if(obj.htmlElement)return'element';var type=typeof obj;if(type=='object'&&obj.nodeName){switch(obj.nodeType){case 1:return'element';case 3:return/\S/.test(obj.nodeValue)?'textnode':'whitespace';}}
if(type=='object'||type=='function'){switch(obj.constructor){case Array:return'array';case RegExp:return'regexp';case Class:return'class';}
if(typeof obj.length=='number'){if(obj.item)return'collection';if(obj.callee)return'arguments';}}
return type;};function $merge(){var mix={};for(var i=0;i<arguments.length;i++){for(var property in arguments[i]){var ap=arguments[i][property];var mp=mix[property];if(mp&&$type(ap)=='object'&&$type(mp)=='object')mix[property]=$merge(mp,ap);else mix[property]=ap;}}
return mix;};var $extend=Object.extend=function(){var args=arguments;if(!args[1])args=[this,args[0]];for(var property in args[1])args[0][property]=args[1][property];return args[0];};var $native=Object.Native=function(){for(var i=0,l=arguments.length;i<l;i++){arguments[i].extend=function(props){for(var prop in props){if(!this.prototype[prop])this.prototype[prop]=props[prop];if(!this[prop])this[prop]=$native.generic(prop);}};}};$native.generic=function(prop){return function(bind){return this.prototype[prop].apply(bind,Array.prototype.slice.call(arguments,1));};};$native(Function,Array,String,Number);var Abstract=function(obj){obj=obj||{};obj.extend=$extend;return obj;};var Window=new Abstract(window);var Document=new Abstract(document);document.head=document.getElementsByTagName('head')[0];function $chk(obj){return!!(obj||obj===0);};function $pick(obj,picked){return $defined(obj)?obj:picked;};function $random(min,max){return Math.floor(Math.random()*(max-min+1)+min);};function $time(){return new Date().getTime();};function $clear(timer){clearTimeout(timer);clearInterval(timer);return null;};window.xpath=!!(document.evaluate);if(window.ActiveXObject)window.ie=window[window.XMLHttpRequest?'ie7':'ie6']=true;else if(document.childNodes&&!document.all&&!navigator.taintEnabled)window.khtml=window.webkit=window[window.xpath?'webkit420':'webkit419']=true;else if(document.getBoxObjectFor!=null)window.gecko=true;if(typeof HTMLElement=='undefined'){var HTMLElement=function(){};if(window.webkit)document.createElement("iframe");HTMLElement.prototype=(window.webkit)?window["[[DOMElement.prototype]]"]:{};}
HTMLElement.prototype.htmlElement=true;if(window.ie6)try{document.execCommand("BackgroundImageCache",false,true);}catch(e){};var Class=function(properties){var klass=function(){return(arguments[0]!==null&&this.initialize&&$type(this.initialize)=='function')?this.initialize.apply(this,arguments):this;};$extend(klass,this);klass.prototype=properties;klass.constructor=Class;return klass;};Class.empty=function(){};Class.prototype={extend:function(properties){var proto=new this(null);for(var property in properties){var pp=proto[property];proto[property]=Class.Merge(pp,properties[property]);}
return new Class(proto);},implement:function(){for(var i=0,l=arguments.length;i<l;i++)$extend(this.prototype,arguments[i]);}};Class.Merge=function(previous,current){if(previous&&previous!=current){var type=$type(current);if(type!=$type(previous))return current;switch(type){case'function':var merged=function(){this.parent=arguments.callee.parent;return current.apply(this,arguments);};merged.parent=previous;return merged;case'object':return $merge(previous,current);}}
return current;};var Chain=new Class({chain:function(fn){this.chains=this.chains||[];this.chains.push(fn);return this;},callChain:function(){if(this.chains&&this.chains.length)this.chains.shift().delay(10,this);},clearChain:function(){this.chains=[];}});var Events=new Class({addEvent:function(type,fn){if(fn!=Class.empty){this.$events=this.$events||{};this.$events[type]=this.$events[type]||[];this.$events[type].include(fn);}
return this;},fireEvent:function(type,args,delay){if(this.$events&&this.$events[type]){this.$events[type].each(function(fn){fn.create({'bind':this,'delay':delay,'arguments':args})();},this);}
return this;},removeEvent:function(type,fn){if(this.$events&&this.$events[type])this.$events[type].remove(fn);return this;}});var Options=new Class({setOptions:function(){this.options=$merge.apply(null,[this.options].extend(arguments));if(!this.addEvent)return this;for(var option in this.options){if($type(this.options[option]=='function')&&option.test(/^on[A-Z]/))this.addEvent(option,this.options[option]);}
return this;}});Array.extend({forEach:function(fn,bind){for(var i=0,j=this.length;i<j;i++)fn.call(bind,this[i],i,this);},filter:function(fn,bind){var results=[];for(var i=0,j=this.length;i<j;i++){if(fn.call(bind,this[i],i,this))results.push(this[i]);}
return results;},map:function(fn,bind){var results=[];for(var i=0,j=this.length;i<j;i++)results[i]=fn.call(bind,this[i],i,this);return results;},every:function(fn,bind){for(var i=0,j=this.length;i<j;i++){if(!fn.call(bind,this[i],i,this))return false;}
return true;},some:function(fn,bind){for(var i=0,j=this.length;i<j;i++){if(fn.call(bind,this[i],i,this))return true;}
return false;},indexOf:function(item,from){var len=this.length;for(var i=(from<0)?Math.max(0,len+from):from||0;i<len;i++){if(this[i]===item)return i;}
return-1;},copy:function(start,length){start=start||0;if(start<0)start=this.length+start;length=length||(this.length-start);var newArray=[];for(var i=0;i<length;i++)newArray[i]=this[start++];return newArray;},remove:function(item){var i=0;var len=this.length;while(i<len){if(this[i]===item){this.splice(i,1);len--;}else{i++;}}
return this;},contains:function(item,from){return this.indexOf(item,from)!=-1;},associate:function(keys){var obj={},length=Math.min(this.length,keys.length);for(var i=0;i<length;i++)obj[keys[i]]=this[i];return obj;},extend:function(array){for(var i=0,j=array.length;i<j;i++)this.push(array[i]);return this;},merge:function(array){for(var i=0,l=array.length;i<l;i++)this.include(array[i]);return this;},include:function(item){if(!this.contains(item))this.push(item);return this;},getRandom:function(){return this[$random(0,this.length-1)]||false;},getLast:function(){return this[this.length-1]||false;}});Array.prototype.each=Array.prototype.forEach;Array.prototype.test=Array.prototype.contains;function $A(array){return Array.copy(array);};function $each(iterable,fn,bind){if(iterable&&typeof iterable.length=='number'&&$type(iterable)!='object')Array.forEach(iterable,fn,bind);else for(var name in iterable)fn.call(bind||iterable,iterable[name],name);};String.extend({test:function(regex,params){return(($type(regex)=='string')?new RegExp(regex,params):regex).test(this);},toInt:function(){return parseInt(this,10);},toFloat:function(){return parseFloat(this);},camelCase:function(){return this.replace(/-\D/g,function(match){return match.charAt(1).toUpperCase();});},hyphenate:function(){return this.replace(/\w[A-Z]/g,function(match){return(match.charAt(0)+'-'+match.charAt(1).toLowerCase());});},capitalize:function(){return this.replace(/\b[a-z]/g,function(match){return match.toUpperCase();});},trim:function(){return this.replace(/^\s+|\s+$/g,'');},clean:function(){return this.replace(/\s{2,}/g,' ').trim();},rgbToHex:function(array){var rgb=this.match(/\d{1,3}/g);return(rgb)?rgb.rgbToHex(array):false;},hexToRgb:function(array){var hex=this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);return(hex)?hex.slice(1).hexToRgb(array):false;},contains:function(string,s){return(s)?(s+this+s).indexOf(s+string+s)>-1:this.indexOf(string)>-1;},escapeRegExp:function(){return this.replace(/([.*+?^${}()|[\]\/\\])/g,'\\$1');}});Array.extend({rgbToHex:function(array){if(this.length<3)return false;if(this.length==4&&this[3]==0&&!array)return'transparent';var hex=[];for(var i=0;i<3;i++){var bit=(this[i]-0).toString(16);hex.push((bit.length==1)?'0'+bit:bit);}
return array?hex:'#'+hex.join('');},hexToRgb:function(array){if(this.length!=3)return false;var rgb=[];for(var i=0;i<3;i++){rgb.push(parseInt((this[i].length==1)?this[i]+this[i]:this[i],16));}
return array?rgb:'rgb('+rgb.join(',')+')';}});Function.extend({create:function(options){var fn=this;options=$merge({'bind':fn,'event':false,'arguments':null,'delay':false,'periodical':false,'attempt':false},options);if($chk(options.arguments)&&$type(options.arguments)!='array')options.arguments=[options.arguments];return function(event){var args;if(options.event){event=event||window.event;args=[(options.event===true)?event:new options.event(event)];if(options.arguments)args.extend(options.arguments);}
else args=options.arguments||arguments;var returns=function(){return fn.apply($pick(options.bind,fn),args);};if(options.delay)return setTimeout(returns,options.delay);if(options.periodical)return setInterval(returns,options.periodical);if(options.attempt)try{return returns();}catch(err){return false;};return returns();};},pass:function(args,bind){return this.create({'arguments':args,'bind':bind});},attempt:function(args,bind){return this.create({'arguments':args,'bind':bind,'attempt':true})();},bind:function(bind,args){return this.create({'bind':bind,'arguments':args});},bindAsEventListener:function(bind,args){return this.create({'bind':bind,'event':true,'arguments':args});},delay:function(delay,bind,args){return this.create({'delay':delay,'bind':bind,'arguments':args})();},periodical:function(interval,bind,args){return this.create({'periodical':interval,'bind':bind,'arguments':args})();}});Number.extend({toInt:function(){return parseInt(this);},toFloat:function(){return parseFloat(this);},limit:function(min,max){return Math.min(max,Math.max(min,this));},round:function(precision){precision=Math.pow(10,precision||0);return Math.round(this*precision)/precision;},times:function(fn){for(var i=0;i<this;i++)fn(i);}});var Element=new Class({initialize:function(el,props){if($type(el)=='string'){if(window.ie&&props&&(props.name||props.type)){var name=(props.name)?' name="'+props.name+'"':'';var type=(props.type)?' type="'+props.type+'"':'';delete props.name;delete props.type;el='<'+el+name+type+'>';}
el=document.createElement(el);}
el=$(el);return(!props||!el)?el:el.set(props);}});var Elements=new Class({initialize:function(elements){return(elements)?$extend(elements,this):this;}});Elements.extend=function(props){for(var prop in props){this.prototype[prop]=props[prop];this[prop]=$native.generic(prop);}};function $(el){if(!el)return false;if(el.htmlElement)return Garbage.collect(el);if([window,document].contains(el))return el;var type=$type(el);if(type=='string'){el=document.getElementById(el);type=(el)?'element':false;}
if(type!='element')return false;if(el.htmlElement)return Garbage.collect(el);if(['object','embed'].contains(el.tagName.toLowerCase()))return el;$extend(el,Element.prototype);el.htmlElement=true;return Garbage.collect(el);};document.getElementsBySelector=document.getElementsByTagName;function $$(){var elements=[];for(var i=0,j=arguments.length;i<j;i++){var selector=arguments[i];switch($type(selector)){case'element':elements.push(selector);case'boolean':break;case false:break;case'string':selector=document.getElementsBySelector(selector,true);default:elements.extend(selector);}}
return $$.unique(elements);};$$.unique=function(array){var elements=[];for(var i=0,l=array.length;i<l;i++){if(array[i].$included)continue;var element=$(array[i]);if(element&&!element.$included){element.$included=true;elements.push(element);}}
for(var i=0,l=elements.length;i<l;i++)elements[i].$included=null;return new Elements(elements);};Elements.Multi=function(property){return function(){var args=arguments;var items=[];var elements=true;for(var i=0,j=this.length,returns;i<j;i++){returns=this[i][property].apply(this[i],args);if($type(returns)!='element')elements=false;items.push(returns);};return(elements)?$$.unique(items):items;};};Element.extend=function(properties){for(var property in properties){HTMLElement.prototype[property]=properties[property];Element.prototype[property]=properties[property];Element[property]=$native.generic(property);var elementsProperty=(Array.prototype[property])?property+'Elements':property;Elements.prototype[elementsProperty]=Elements.Multi(property);}};Element.extend({set:function(props){for(var prop in props){var val=props[prop];switch(prop){case'styles':this.setStyles(val);break;case'events':if(this.addEvents)this.addEvents(val);break;case'properties':this.setProperties(val);break;default:this.setProperty(prop,val);}}
return this;},inject:function(el,where){el=$(el);switch(where){case'before':el.parentNode.insertBefore(this,el);break;case'after':var next=el.getNext();if(!next)el.parentNode.appendChild(this);else el.parentNode.insertBefore(this,next);break;case'top':var first=el.firstChild;if(first){el.insertBefore(this,first);break;}
default:el.appendChild(this);}
return this;},injectBefore:function(el){return this.inject(el,'before');},injectAfter:function(el){return this.inject(el,'after');},injectInside:function(el){return this.inject(el,'bottom');},injectTop:function(el){return this.inject(el,'top');},adopt:function(){var elements=[];$each(arguments,function(argument){elements=elements.concat(argument);});$$(elements).inject(this);return this;},remove:function(){return this.parentNode.removeChild(this);},clone:function(contents){var el=$(this.cloneNode(contents!==false));if(!el.$events)return el;el.$events={};for(var type in this.$events)el.$events[type]={'keys':$A(this.$events[type].keys),'values':$A(this.$events[type].values)};return el.removeEvents();},replaceWith:function(el){el=$(el);this.parentNode.replaceChild(el,this);return el;},appendText:function(text){if(window.ie){switch(this.getTag()){case'style':this.styleSheet.cssText=text;return this;case'script':return this.setProperty('text',text);}}
this.appendChild(document.createTextNode(text));return this;},hasClass:function(className){return this.className.contains(className,' ');},addClass:function(className){if(!this.hasClass(className))this.className=(this.className+' '+className).clean();return this;},removeClass:function(className){this.className=this.className.replace(new RegExp('(^|\\s)'+className+'(?:\\s|$)'),'$1').clean();return this;},toggleClass:function(className){return this.hasClass(className)?this.removeClass(className):this.addClass(className);},setStyle:function(property,value){switch(property){case'opacity':return this.setOpacity(parseFloat(value));case'float':property=(window.ie)?'styleFloat':'cssFloat';}
property=property.camelCase();switch($type(value)){case'number':if(!['zIndex','zoom'].contains(property))value+='px';break;case'array':value='rgb('+value.join(',')+')';}
this.style[property]=value;return this;},setStyles:function(source){switch($type(source)){case'object':Element.setMany(this,'setStyle',source);break;case'string':this.style.cssText=source;}
return this;},setOpacity:function(opacity){if(opacity==0){if(this.style.visibility!="hidden")this.style.visibility="hidden";}else{if(this.style.visibility!="visible")this.style.visibility="visible";}
if(!this.currentStyle||!this.currentStyle.hasLayout)this.style.zoom=1;if(window.ie)this.style.filter=(opacity==1)?'':"alpha(opacity="+opacity*100+")";this.style.opacity=this.$tmp.opacity=opacity;return this;},getStyle:function(property){property=property.camelCase();var result=this.style[property];if(!$chk(result)){if(property=='opacity')return this.$tmp.opacity;var result=[];for(var style in Element.Styles){if(property==style){Element.Styles[style].each(function(s){var style=this.getStyle(s);result.push(parseInt(style)?style:'0px');},this);if(property=='border'){var every=result.every(function(bit){return(bit==result[0]);});return(every)?result[0]:false;}
return result.join(' ');}}
if(property.contains('border')){if(Element.Styles.border.contains(property)){return['Width','Style','Color'].map(function(p){return this.getStyle(property+p);},this).join(' ');}else if(Element.borderShort.contains(property)){return['Top','Right','Bottom','Left'].map(function(p){return this.getStyle('border'+p+property.replace('border',''));},this).join(' ');}}
if(document.defaultView)result=document.defaultView.getComputedStyle(this,null).getPropertyValue(property.hyphenate());else if(this.currentStyle)result=this.currentStyle[property];}
if(window.ie)result=Element.fixStyle(property,result,this);if(result&&property.test(/color/i)&&result.contains('rgb')){return result.split('rgb').splice(1,4).map(function(color){return color.rgbToHex();}).join(' ');}
return result;},getStyles:function(){return Element.getMany(this,'getStyle',arguments);},walk:function(brother,start){brother+='Sibling';var el=(start)?this[start]:this[brother];while(el&&$type(el)!='element')el=el[brother];return $(el);},getPrevious:function(){return this.walk('previous');},getNext:function(){return this.walk('next');},getFirst:function(){return this.walk('next','firstChild');},getLast:function(){return this.walk('previous','lastChild');},getParent:function(){return $(this.parentNode);},getChildren:function(){return $$(this.childNodes);},hasChild:function(el){return!!$A(this.getElementsByTagName('*')).contains(el);},getProperty:function(property){var index=Element.Properties[property];if(index)return this[index];if(!window.ie)return this.getAttribute(property);var node=this.attributes[property];return(node)?node.nodeValue:null;},removeProperty:function(property){var index=Element.Properties[property];if(index)this[index]='';else this.removeAttribute(property);return this;},getProperties:function(){return Element.getMany(this,'getProperty',arguments);},setProperty:function(property,value){var index=Element.Properties[property];if(index)this[index]=value;else this.setAttribute(property,value);return this;},setProperties:function(source){return Element.setMany(this,'setProperty',source);},setHTML:function(){this.innerHTML=$A(arguments).join('');return this;},getTag:function(){return this.tagName.toLowerCase();},empty:function(){Garbage.trash(this.getElementsByTagName('*'));return this.setHTML('');}});Element.fixStyle=function(property,result,element){if($chk(parseInt(result)))return result;if(['height','width'].contains(property)){var values=(property=='width')?['left','right']:['top','bottom'];var size=0;values.each(function(value){size+=element.getStyle('border-'+value+'-width').toInt()+element.getStyle('padding-'+value).toInt();});return element['offset'+property.capitalize()]-size+'px';}else if(property.test(/border(.+)Width|margin|padding/)){return'0px';}
return result;};Element.Styles={'border':[],'padding':[],'margin':[]};['Top','Right','Bottom','Left'].each(function(direction){for(var style in Element.Styles)Element.Styles[style].push(style+direction);});Element.borderShort=['borderWidth','borderStyle','borderColor'];Element.getMany=function(el,method,keys){var result={};$each(keys,function(key){result[key]=el[method](key);});return result;};Element.setMany=function(el,method,pairs){for(var key in pairs)el[method](key,pairs[key]);return el;};Element.Properties=new Abstract({'class':'className','for':'htmlFor','colspan':'colSpan','rowspan':'rowSpan','accesskey':'accessKey','tabindex':'tabIndex','maxlength':'maxLength','readonly':'readOnly','value':'value','disabled':'disabled','checked':'checked','multiple':'multiple'});Element.Methods={Listeners:{addListener:function(type,fn){if(this.addEventListener)this.addEventListener(type,fn,false);else this.attachEvent('on'+type,fn);return this;},removeListener:function(type,fn){if(this.removeEventListener)this.removeEventListener(type,fn,false);else this.detachEvent('on'+type,fn);return this;}}};window.extend(Element.Methods.Listeners);document.extend(Element.Methods.Listeners);Element.extend(Element.Methods.Listeners);var Garbage={elements:[],collect:function(el){if(!el.$tmp){Garbage.elements.push(el);el.$tmp={'opacity':1};}
return el;},trash:function(elements){for(var i=0,j=elements.length,el;i<j;i++){if(!(el=elements[i])||!el.$tmp)continue;if(el.$events)el.fireEvent('trash').removeEvents();for(var p in el.$tmp)el.$tmp[p]=null;for(var p in Element.prototype)el[p]=null;el.htmlElement=el.$tmp=el=null;Garbage.elements.remove(el);}},empty:function(){Garbage.collect(window);Garbage.collect(document);Garbage.trash(Garbage.elements);}};window.addListener('beforeunload',function(){window.addListener('unload',Garbage.empty);if(window.ie)window.addListener('unload',CollectGarbage);});var Event=new Class({initialize:function(event){if(event&&event.$extended)return event;this.$extended=true;event=event||window.event;this.event=event;this.type=event.type;this.target=event.target||event.srcElement;if(this.target.nodeType==3)this.target=this.target.parentNode;this.shift=event.shiftKey;this.control=event.ctrlKey;this.alt=event.altKey;this.meta=event.metaKey;if(['DOMMouseScroll','mousewheel'].contains(this.type)){this.wheel=(event.wheelDelta)?event.wheelDelta/120:-(event.detail||0)/3;}else if(this.type.contains('key')){this.code=event.which||event.keyCode;for(var name in Event.keys){if(Event.keys[name]==this.code){this.key=name;break;}}
if(this.type=='keydown'){var fKey=this.code-111;if(fKey>0&&fKey<13)this.key='f'+fKey;}
this.key=this.key||String.fromCharCode(this.code).toLowerCase();}else if(this.type.test(/(click|mouse|menu)/)){this.page={'x':event.pageX||event.clientX+document.documentElement.scrollLeft,'y':event.pageY||event.clientY+document.documentElement.scrollTop};this.client={'x':event.pageX?event.pageX-window.pageXOffset:event.clientX,'y':event.pageY?event.pageY-window.pageYOffset:event.clientY};this.rightClick=(event.which==3)||(event.button==2);switch(this.type){case'mouseover':this.relatedTarget=event.relatedTarget||event.fromElement;break;case'mouseout':this.relatedTarget=event.relatedTarget||event.toElement;}
this.fixRelatedTarget();}
return this;},stop:function(){return this.stopPropagation().preventDefault();},stopPropagation:function(){if(this.event.stopPropagation)this.event.stopPropagation();else this.event.cancelBubble=true;return this;},preventDefault:function(){if(this.event.preventDefault)this.event.preventDefault();else this.event.returnValue=false;return this;}});Event.fix={relatedTarget:function(){if(this.relatedTarget&&this.relatedTarget.nodeType==3)this.relatedTarget=this.relatedTarget.parentNode;},relatedTargetGecko:function(){try{Event.fix.relatedTarget.call(this)}catch(e){this.relatedTarget=this.target};}};Event.prototype.fixRelatedTarget=(window.gecko)?Event.fix.relatedTargetGecko:Event.fix.relatedTarget;Event.keys=new Abstract({'enter':13,'up':38,'down':40,'left':37,'right':39,'esc':27,'space':32,'backspace':8,'tab':9,'delete':46});Element.Methods.Events={addEvent:function(type,fn){this.$events=this.$events||{};this.$events[type]=this.$events[type]||{'keys':[],'values':[]};if(this.$events[type].keys.contains(fn))return this;this.$events[type].keys.push(fn);var realType=type;var custom=Element.Events[type];if(custom){if(custom.add)custom.add.call(this,fn);if(custom.map)fn=custom.map;if(custom.type)realType=custom.type;}
if(!this.addEventListener)fn=fn.create({'bind':this,'event':true});this.$events[type].values.push(fn);return this.addListener(realType,fn);},removeEvent:function(type,fn){if(!this.$events||!this.$events[type])return this;var pos=this.$events[type].keys.indexOf(fn);if(pos==-1)return this;var key=this.$events[type].keys.splice(pos,1)[0];var value=this.$events[type].values.splice(pos,1)[0];var custom=Element.Events[type];if(custom){if(custom.remove)custom.remove.call(this,fn);if(custom.type)type=custom.type;}
return this.removeListener(type,value);},addEvents:function(source){return Element.setMany(this,'addEvent',source);},removeEvents:function(type){if(!this.$events)return this;if(!type){for(var evType in this.$events)this.removeEvents(evType);this.$events=null;}else if(this.$events[type]){this.$events[type].keys.each(function(fn){this.removeEvent(type,fn);},this);this.$events[type]=null;}
return this;},fireEvent:function(type,args,delay){if(!this.$events||!this.$events[type])return this;this.$events[type].keys.each(function(fn){fn.create({'bind':this,'delay':delay,'arguments':args})();},this);return this;},cloneEvents:function(from,type){if(!from.$events)return this;if(!type){for(var evType in from.$events)this.cloneEvents(from,evType);}else if(from.$events[type]){from.$events[type].keys.each(function(fn){this.addEvent(type,fn);},this);}
return this;}};window.extend(Element.Methods.Events);document.extend(Element.Methods.Events);Element.extend(Element.Methods.Events);Element.Events=new Abstract({'mouseenter':{type:'mouseover',map:function(event){event=new Event(event);if(event.relatedTarget==this||this.hasChild(event.relatedTarget))return;this.fireEvent('mouseenter',event);}},'mouseleave':{type:'mouseout',map:function(event){event=new Event(event);if(event.relatedTarget==this||this.hasChild(event.relatedTarget))return;this.fireEvent('mouseleave',event);}},'mousewheel':{type:(window.gecko)?'DOMMouseScroll':'mousewheel'}});Function.extend({bindWithEvent:function(bind,args){return this.create({'bind':bind,'arguments':args,'event':Event});}});Elements.extend({filterByTag:function(tag){return new Elements(this.filter(function(el){return(Element.getTag(el)==tag);}));},filterByClass:function(className,nocash){var elements=this.filter(function(el){return(el.className&&el.className.contains(className,' '));});return(nocash)?elements:new Elements(elements);},filterById:function(id,nocash){var elements=this.filter(function(el){return(el.id==id);});return(nocash)?elements:new Elements(elements);},filterByAttribute:function(name,operator,value,nocash){var elements=this.filter(function(el){var current=Element.getProperty(el,name);if(!current)return false;if(!operator)return true;switch(operator){case'=':return(current==value);case'*=':return(current.contains(value));case'^=':return(current.substr(0,value.length)==value);case'$=':return(current.substr(current.length-value.length)==value);case'!=':return(current!=value);case'~=':return current.contains(value,' ');}
return false;});return(nocash)?elements:new Elements(elements);}});function $E(selector,filter){return($(filter)||document).getElement(selector);};function $ES(selector,filter){return($(filter)||document).getElementsBySelector(selector);};$$.shared={'regexp':/^(\w*|\*)(?:#([\w-]+)|\.([\w-]+))?(?:\[(\w+)(?:([!*^$]?=)["']?([^"'\]]*)["']?)?])?$/,'xpath':{getParam:function(items,context,param,i){var temp=[context.namespaceURI?'xhtml:':'',param[1]];if(param[2])temp.push('[@id="',param[2],'"]');if(param[3])temp.push('[contains(concat(" ", @class, " "), " ',param[3],' ")]');if(param[4]){if(param[5]&&param[6]){switch(param[5]){case'*=':temp.push('[contains(@',param[4],', "',param[6],'")]');break;case'^=':temp.push('[starts-with(@',param[4],', "',param[6],'")]');break;case'$=':temp.push('[substring(@',param[4],', string-length(@',param[4],') - ',param[6].length,' + 1) = "',param[6],'"]');break;case'=':temp.push('[@',param[4],'="',param[6],'"]');break;case'!=':temp.push('[@',param[4],'!="',param[6],'"]');}}else{temp.push('[@',param[4],']');}}
items.push(temp.join(''));return items;},getItems:function(items,context,nocash){var elements=[];var xpath=document.evaluate('.//'+items.join('//'),context,$$.shared.resolver,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);for(var i=0,j=xpath.snapshotLength;i<j;i++)elements.push(xpath.snapshotItem(i));return(nocash)?elements:new Elements(elements.map($));}},'normal':{getParam:function(items,context,param,i){if(i==0){if(param[2]){var el=context.getElementById(param[2]);if(!el||((param[1]!='*')&&(Element.getTag(el)!=param[1])))return false;items=[el];}else{items=$A(context.getElementsByTagName(param[1]));}}else{items=$$.shared.getElementsByTagName(items,param[1]);if(param[2])items=Elements.filterById(items,param[2],true);}
if(param[3])items=Elements.filterByClass(items,param[3],true);if(param[4])items=Elements.filterByAttribute(items,param[4],param[5],param[6],true);return items;},getItems:function(items,context,nocash){return(nocash)?items:$$.unique(items);}},resolver:function(prefix){return(prefix=='xhtml')?'http://www.w3.org/1999/xhtml':false;},getElementsByTagName:function(context,tagName){var found=[];for(var i=0,j=context.length;i<j;i++)found.extend(context[i].getElementsByTagName(tagName));return found;}};$$.shared.method=(window.xpath)?'xpath':'normal';Element.Methods.Dom={getElements:function(selector,nocash){var items=[];selector=selector.trim().split(' ');for(var i=0,j=selector.length;i<j;i++){var sel=selector[i];var param=sel.match($$.shared.regexp);if(!param)break;param[1]=param[1]||'*';var temp=$$.shared[$$.shared.method].getParam(items,this,param,i);if(!temp)break;items=temp;}
return $$.shared[$$.shared.method].getItems(items,this,nocash);},getElement:function(selector){return $(this.getElements(selector,true)[0]||false);},getElementsBySelector:function(selector,nocash){var elements=[];selector=selector.split(',');for(var i=0,j=selector.length;i<j;i++)elements=elements.concat(this.getElements(selector[i],true));return(nocash)?elements:$$.unique(elements);},getElementsByClassName:function(className){return this.getElements('.'+className);}};Element.extend({getElementById:function(id){var el=document.getElementById(id);if(!el)return false;for(var parent=el.parentNode;parent!=this;parent=parent.parentNode){if(!parent)return false;}
return el;}});document.extend(Element.Methods.Dom);Element.extend(Element.Methods.Dom);var Fx={Shared:{}};Fx.Base=new Class({options:{onStart:Class.empty,onComplete:Class.empty,onCancel:Class.empty,transition:function(p){return-(Math.cos(Math.PI*p)-1)/2;},duration:500,unit:'px',wait:true,fps:50},initialize:function(options){this.element=this.element||null;this.setOptions(options);if(this.options.initialize)this.options.initialize.call(this);},step:function(){var time=$time();if(time<this.time+this.options.duration){this.delta=this.options.transition((time-this.time)/this.options.duration);this.setNow();this.increase();}else{this.stop(true);this.set(this.to);this.fireEvent('onComplete',this.element,10);this.callChain();}},set:function(to){this.now=to;this.increase();return this;},setNow:function(){this.now=this.compute(this.from,this.to);},compute:function(from,to){return(to-from)*this.delta+from;},start:function(from,to){if(!this.options.wait)this.stop();else if(this.timer)return this;this.from=from;this.to=to;this.change=this.to-this.from;this.time=$time();this.timer=this.step.periodical(Math.round(1000/this.options.fps),this);this.fireEvent('onStart',this.element);return this;},stop:function(end){if(!this.timer)return this;this.timer=$clear(this.timer);if(!end)this.fireEvent('onCancel',this.element);return this;},custom:function(from,to){return this.start(from,to)},clearTimer:function(end){return this.stop(end)}});Fx.Base.implement(new Chain,new Events,new Options);Fx.CSS={select:function(property,to){if(property.test(/color/i))return this.Color;if(to.contains&&to.contains(' '))return this.Multi;return this.Single;},parse:function(el,property,fromTo){if(!fromTo.push)fromTo=[fromTo];var from=fromTo[0],to=fromTo[1];if(!to&&to!=0){to=from;from=el.getStyle(property);}
var css=this.select(property,to);return{from:css.parse(from),to:css.parse(to),css:css};}};Fx.CSS.Single={parse:function(value){return parseFloat(value);},getNow:function(from,to,fx){return fx.compute(from,to);},getValue:function(value,unit,property){if(unit=='px'&&property!='opacity')value=Math.round(value);return value+unit;}};Fx.CSS.Multi={parse:function(value){return value.push?value:value.split(' ').map(function(v){return parseFloat(v);});},getNow:function(from,to,fx){var now=[];for(var i=0;i<from.length;i++)now[i]=fx.compute(from[i],to[i]);return now;},getValue:function(value,unit,property){if(unit=='px'&&property!='opacity')value=value.map(Math.round);return value.join(unit+' ')+unit;}};Fx.CSS.Color={parse:function(value){return value.push?value:value.hexToRgb(true);},getNow:function(from,to,fx){var now=[];for(var i=0;i<from.length;i++)now[i]=Math.round(fx.compute(from[i],to[i]));return now;},getValue:function(value){return'rgb('+value.join(',')+')';}};Fx.Style=Fx.Base.extend({initialize:function(el,property,options){this.element=$(el);this.property=property;this.parent(options);},hide:function(){return this.set(0);},setNow:function(){this.now=this.css.getNow(this.from,this.to,this);},set:function(to){this.css=Fx.CSS.select(this.property,to);return this.parent(this.css.parse(to));},start:function(from,to){if(this.timer&&this.options.wait)return this;var parsed=Fx.CSS.parse(this.element,this.property,[from,to]);this.css=parsed.css;return this.parent(parsed.from,parsed.to);},increase:function(){this.element.setStyle(this.property,this.css.getValue(this.now,this.options.unit,this.property));}});Element.extend({effect:function(property,options){return new Fx.Style(this,property,options);}});Fx.Styles=Fx.Base.extend({initialize:function(el,options){this.element=$(el);this.parent(options);},setNow:function(){for(var p in this.from)this.now[p]=this.css[p].getNow(this.from[p],this.to[p],this);},set:function(to){var parsed={};this.css={};for(var p in to){this.css[p]=Fx.CSS.select(p,to[p]);parsed[p]=this.css[p].parse(to[p]);}
return this.parent(parsed);},start:function(obj){if(this.timer&&this.options.wait)return this;this.now={};this.css={};var from={},to={};for(var p in obj){var parsed=Fx.CSS.parse(this.element,p,obj[p]);from[p]=parsed.from;to[p]=parsed.to;this.css[p]=parsed.css;}
return this.parent(from,to);},increase:function(){for(var p in this.now)this.element.setStyle(p,this.css[p].getValue(this.now[p],this.options.unit,p));}});Element.extend({effects:function(options){return new Fx.Styles(this,options);}});Fx.Elements=Fx.Base.extend({initialize:function(elements,options){this.elements=$$(elements);this.parent(options);},setNow:function(){for(var i in this.from){var iFrom=this.from[i],iTo=this.to[i],iCss=this.css[i],iNow=this.now[i]={};for(var p in iFrom)iNow[p]=iCss[p].getNow(iFrom[p],iTo[p],this);}},set:function(to){var parsed={};this.css={};for(var i in to){var iTo=to[i],iCss=this.css[i]={},iParsed=parsed[i]={};for(var p in iTo){iCss[p]=Fx.CSS.select(p,iTo[p]);iParsed[p]=iCss[p].parse(iTo[p]);}}
return this.parent(parsed);},start:function(obj){if(this.timer&&this.options.wait)return this;this.now={};this.css={};var from={},to={};for(var i in obj){var iProps=obj[i],iFrom=from[i]={},iTo=to[i]={},iCss=this.css[i]={};for(var p in iProps){var parsed=Fx.CSS.parse(this.elements[i],p,iProps[p]);iFrom[p]=parsed.from;iTo[p]=parsed.to;iCss[p]=parsed.css;}}
return this.parent(from,to);},increase:function(){for(var i in this.now){var iNow=this.now[i],iCss=this.css[i];for(var p in iNow)this.elements[i].setStyle(p,iCss[p].getValue(iNow[p],this.options.unit,p));}}});Fx.Transition=function(transition,params){params=params||[];if($type(params)!='array')params=[params];return $extend(transition,{easeIn:function(pos){return transition(pos,params);},easeOut:function(pos){return 1-transition(1-pos,params);},easeInOut:function(pos){return(pos<=0.5)?transition(2*pos,params)/2:(2-transition(2*(1-pos),params))/2;}});};Fx.Transitions=new Abstract({linear:function(p){return p;}});Fx.Transitions.extend=function(transitions){for(var transition in transitions){Fx.Transitions[transition]=new Fx.Transition(transitions[transition]);Fx.Transitions.compat(transition);};};Fx.Transitions.compat=function(transition){['In','Out','InOut'].each(function(easeType){Fx.Transitions[transition.toLowerCase()+easeType]=Fx.Transitions[transition]['ease'+easeType];});};Fx.Transitions.extend({Pow:function(p,x){return Math.pow(p,x[0]||6);},Expo:function(p){return Math.pow(2,8*(p-1));},Circ:function(p){return 1-Math.sin(Math.acos(p));},Sine:function(p){return 1-Math.sin((1-p)*Math.PI/2);},Back:function(p,x){x=x[0]||1.618;return Math.pow(p,2)*((x+1)*p-x);},Bounce:function(p){var value;for(var a=0,b=1;1;a+=b,b/=2){if(p>=(7-4*a)/11){value=-Math.pow((11-6*a-11*p)/4,2)+b*b;break;}}
return value;},Elastic:function(p,x){return Math.pow(2,10*--p)*Math.cos(20*p*Math.PI*(x[0]||1)/3);}});['Quad','Cubic','Quart','Quint'].each(function(transition,i){Fx.Transitions[transition]=new Fx.Transition(function(p){return Math.pow(p,[i+2]);});Fx.Transitions.compat(transition);});var Drag={};Drag.Base=new Class({options:{handle:false,unit:'px',onStart:Class.empty,onBeforeStart:Class.empty,onComplete:Class.empty,onSnap:Class.empty,onDrag:Class.empty,limit:false,modifiers:{x:'left',y:'top'},grid:false,snap:6},initialize:function(el,options){this.setOptions(options);this.element=$(el);this.handle=$(this.options.handle)||this.element;this.mouse={'now':{},'pos':{}};this.value={'start':{},'now':{}};this.bound={'start':this.start.bindWithEvent(this),'check':this.check.bindWithEvent(this),'drag':this.drag.bindWithEvent(this),'stop':this.stop.bind(this)};this.attach();if(this.options.initialize)this.options.initialize.call(this);},attach:function(){this.handle.addEvent('mousedown',this.bound.start);return this;},detach:function(){this.handle.removeEvent('mousedown',this.bound.start);return this;},start:function(event){this.fireEvent('onBeforeStart',this.element);this.mouse.start=event.page;var limit=this.options.limit;this.limit={'x':[],'y':[]};for(var z in this.options.modifiers){if(!this.options.modifiers[z])continue;this.value.now[z]=this.element.getStyle(this.options.modifiers[z]).toInt();this.mouse.pos[z]=event.page[z]-this.value.now[z];if(limit&&limit[z]){for(var i=0;i<2;i++){if($chk(limit[z][i]))this.limit[z][i]=($type(limit[z][i])=='function')?limit[z][i]():limit[z][i];}}}
if($type(this.options.grid)=='number')this.options.grid={'x':this.options.grid,'y':this.options.grid};document.addListener('mousemove',this.bound.check);document.addListener('mouseup',this.bound.stop);this.fireEvent('onStart',this.element);event.stop();},check:function(event){var distance=Math.round(Math.sqrt(Math.pow(event.page.x-this.mouse.start.x,2)+Math.pow(event.page.y-this.mouse.start.y,2)));if(distance>this.options.snap){document.removeListener('mousemove',this.bound.check);document.addListener('mousemove',this.bound.drag);this.drag(event);this.fireEvent('onSnap',this.element);}
event.stop();},drag:function(event){this.out=false;this.mouse.now=event.page;for(var z in this.options.modifiers){if(!this.options.modifiers[z])continue;this.value.now[z]=this.mouse.now[z]-this.mouse.pos[z];if(this.limit[z]){if($chk(this.limit[z][1])&&(this.value.now[z]>this.limit[z][1])){this.value.now[z]=this.limit[z][1];this.out=true;}else if($chk(this.limit[z][0])&&(this.value.now[z]<this.limit[z][0])){this.value.now[z]=this.limit[z][0];this.out=true;}}
if(this.options.grid[z])this.value.now[z]-=(this.value.now[z]%this.options.grid[z]);this.element.setStyle(this.options.modifiers[z],this.value.now[z]+this.options.unit);}
this.fireEvent('onDrag',this.element);event.stop();},stop:function(){document.removeListener('mousemove',this.bound.check);document.removeListener('mousemove',this.bound.drag);document.removeListener('mouseup',this.bound.stop);this.fireEvent('onComplete',this.element);}});Drag.Base.implement(new Events,new Options);Element.extend({makeResizable:function(options){return new Drag.Base(this,$merge({modifiers:{x:'width',y:'height'}},options));}});var Accordion=Fx.Elements.extend({options:{onActive:Class.empty,onBackground:Class.empty,display:0,show:false,height:true,width:false,opacity:true,fixedHeight:false,fixedWidth:false,wait:false,alwaysHide:false},initialize:function(){var options,togglers,elements,container;$each(arguments,function(argument,i){switch($type(argument)){case'object':options=argument;break;case'element':container=$(argument);break;default:var temp=$$(argument);if(!togglers)togglers=temp;else elements=temp;}});this.togglers=togglers||[];this.elements=elements||[];this.container=$(container);this.setOptions(options);this.previous=-1;if(this.options.alwaysHide)this.options.wait=true;if($chk(this.options.show)){this.options.display=false;this.previous=this.options.show;}
if(this.options.start){this.options.display=false;this.options.show=false;}
this.effects={};if(this.options.opacity)this.effects.opacity='fullOpacity';if(this.options.width)this.effects.width=this.options.fixedWidth?'fullWidth':'offsetWidth';if(this.options.height)this.effects.height=this.options.fixedHeight?'fullHeight':'scrollHeight';for(var i=0,l=this.togglers.length;i<l;i++)this.addSection(this.togglers[i],this.elements[i]);this.elements.each(function(el,i){if(this.options.show===i)this.fireEvent('onActive',[this.togglers[i],el]);else for(var fx in this.effects)el.setStyle(fx,0);},this);this.parent(this.elements);if($chk(this.options.display))this.display(this.options.display);},addSection:function(toggler,element,pos){toggler=$(toggler);element=$(element);var test=this.togglers.contains(toggler);var len=this.togglers.length;this.togglers.include(toggler);this.elements.include(element);if(len&&(!test||pos)){pos=$pick(pos,len-1);toggler.injectBefore(this.togglers[pos]);element.injectAfter(toggler);}else if(this.container&&!test){toggler.inject(this.container);element.inject(this.container);}
var idx=this.togglers.indexOf(toggler);toggler.addEvent('click',this.display.bind(this,idx));if(this.options.height)element.setStyles({'padding-top':0,'border-top':'none','padding-bottom':0,'border-bottom':'none'});if(this.options.width)element.setStyles({'padding-left':0,'border-left':'none','padding-right':0,'border-right':'none'});element.fullOpacity=1;if(this.options.fixedWidth)element.fullWidth=this.options.fixedWidth;if(this.options.fixedHeight)element.fullHeight=this.options.fixedHeight;element.setStyle('overflow','hidden');if(!test)for(var fx in this.effects)element.setStyle(fx,0);return this;},display:function(index){index=($type(index)=='element')?this.elements.indexOf(index):index;if((this.timer&&this.options.wait)||(index===this.previous&&!this.options.alwaysHide))return this;this.previous=index;var obj={};this.elements.each(function(el,i){obj[i]={};if((i!=index)||(this.options.alwaysHide&&(el.offsetHeight>0))){this.fireEvent('onBackground',[this.togglers[i],el]);for(var fx in this.effects)obj[i][fx]=0;}else{this.fireEvent('onActive',[this.togglers[i],el]);for(var fx in this.effects)obj[i][fx]=el[this.effects[fx]];}},this);return this.start(obj);},showThisHideOpen:function(index){return this.display(index)}});Fx.Accordion=Accordion;

function initAccordeon(cur_hl_nr,adjustBackground) {

	var stretchers = $$('div.accordion');
	var togglers = $$('div.toggler');
	
	if(adjustBackground == 'undefined') adjustBackground = true;

	stretchers.setStyles({'height': '0', 'overflow': 'hidden'});
			
	window.addEvent('load', function(){
		
		//initialization of togglers effects
		
		togglers.each(function(toggler, i){
			toggler.color = toggler.getStyle('background-color');
			toggler.$tmp.first = toggler.getFirst();
			toggler.$tmp.fx = new Fx.Style(toggler, 'background-color', {'wait': false, 'transition': Fx.Transitions.Quart.easeOut});
		});
		
		//the accordion
		
		var myAccordion = new Accordion(togglers, stretchers, {
			
			'opacity': false,
			
			'start': false,
			
			'transition': Fx.Transitions.Quad.easeOut,
			
			onActive: function(toggler){
				toggler.$tmp.fx.start('#FFFFFF');
				if(adjustBackground) toggler.$tmp.first.setStyle('color', '#000000');
			},
		
			onBackground: function(toggler){
				toggler.$tmp.fx.stop();
				if(adjustBackground) toggler.setStyle('background-color', toggler.color).$tmp.first.setStyle('color', '#333333');
			}
		});
		
		//open the accordion section relative to the url
		
		var found = 0;
		$$('div.toggler a').each(function(link, i){
			if (window.location.hash.test(link.hash)) found = i;
		});
		myAccordion.display(found);		
		myAccordion.display(cur_hl_nr)
		
	});
}


//Orignal Script by : Julian Robichaux, http://www.nsftools.com
//This script has been changed/modified/added to compose it as a javscript a class, such that multiple instances of
//suggest can be used on a single page, with easily user defined properties and css settings.

var Class = {
  create: function() {
    return function() {
      this.initialize.apply(this, arguments);
    }
  }
}

// trim functionality
String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}

Suggest = Class.create();

Suggest.prototype = {
	initialize: function() 
	{
		this.name  = "";
		this.queryField = "";
		this.divName = "";
		this.ifName = "";
		this.lastVal = "";
		this.val = ""
		this.xmlHttp = null;
		this.cache = new Object();
		this.searching = false;
		this.globalDiv = "";
		this.divFormatted = false;
		this.suggestiedivID = '';
		
		this.selectionListener = this.defaultSelectionListener;
		this.resetListener = this.defaultResetListener;
		this.ajaxComp = "";
		this.searchParms = "";
		
		this.DIV_BG_COLOR = "#FFFFFF";
		this.DIV_HIGHLIGHT_COLOR = "#EEEEEE";
		this.listStyle = "listStyle";
		this.listItemStyle = "listItemStyle";
		this.listItemKey = "listItemKey";
		this.listItemValue = "listItemValue";
		this.listWidth = "233px";
		this.minCharToStartSearch = 2;
		this.showKey = false;
		this.queryFieldHolds = 1;  //0 - Key, 1 = Value  , 2 - Both Key and value
		
		this.searchString = ""; // holds the search string
	}
	,

	setQueryFieldHolds: function(value)
	{
    	this.queryFieldHolds = value;
	}
	,

	setShowKey: function(value)
	{
    	this.showKey = value;
	}
	,

	setSelectionListener: function(handler)
	{
    	this.selectionListener = handler;
	}
	,
	
	setResetListener: function(handler)
	{
    	this.resetListener = handler;
	}
	,
	
	setMinCharToStartSearch: function(value)
	{
		this.minCharToStartSearch = value;
	}
	,

	setListWidth: function(value)
	{
		this.listWidth = value;
	}
	,

	setListStyle: function(value)
	{
		this.listStyle = value;
	}
	,

	setListItemStyle: function(value)
	{
		this.listItemStyle = value;
	}
	,

	setListItemKey: function(value)
	{
		this.listItemKey = value;
	}
	,

	setListItemValue: function(value)
	{
		this.listItemValue = value;
	}
	,

	setHighlightColor: function(value)
	{
		this.DIV_HIGHLIGHT_COLOR = value;
	}
	,

	setBackgroundColor: function(value)
	{
		this.DIV_BG_COLOR = value;
	}
	,

	/**
	The InitQueryCode function should be called by the <body onload> event, passing
	at least the queryFieldName , where:
	queryFieldName = the name of the form field we're using for lookups
	*/
	InitQueryCode: function(name, queryFieldName)
	{
		this.name = name;
		this.queryField = document.getElementsByName(queryFieldName).item(0);	
		this.queryField.onkeydown = suggestKeypressHandler;
		//this.queryField.onblur = suggestHideDiv;
		//document.onmouseup = suggestHideDiv;
		
		// for some reason, Firefox 1.0 doesn't allow us to set autocomplete to off
		// this way, so you should manually set autocomplete="off" in the input tag
		// if you can -- we'll try to set it here in case you forget
		this.queryField.autocomplete = "off";
		this.divName = name + 'div'; //"querydiv";
		this.ifName = "queryiframe";
		
		// add a blank value to the cache (so we don't try to do a lookup when the
		// field is empty) and start checking for changes to the input field
		this.addToCache("", new Array(), new Array());
		
		//setTimeout("suggestMainLoop()", 100);
	}
	,
	
	/**
	This is a helper function that just adds results to our cache, to avoid
	repeat lookups.
	*/
	addToCache: function(queryString, result, key, columnlist)
	{
		this.cache[queryString] = new Array(result, key, columnlist);
	}
	,
	
	/**
	Get the <DIV> we're using to display the lookup results, and create the
	<DIV> if it doesn't already exist.
	*/
	getDiv: function(divID)
	{
		if (!this.globalDiv) 
		{
			// if the div doesn't exist on the page already, create it
			if (!document.getElementById(divID)) {
			  	var newNode = document.createElement("div");
			  	if (this.listStyle == "")  
		  			newNode.className = "_listStyle";
				else
					newNode.className = this.listStyle;

				newNode.setAttribute("id", divID);
			  	document.body.appendChild(newNode);
			}
		
			// set the globalDiv reference
			this.globalDiv = document.getElementById(divID);
		
			// figure out where the top corner of the div should be, based on the
			// bottom left corner of the input field
			var x = this.queryField.offsetLeft;
			var y = this.queryField.offsetTop + this.queryField.offsetHeight;
			var parent = this.queryField;
			
			while (parent.offsetParent) {
				parent = parent.offsetParent;
				x += parent.offsetLeft;
				y += parent.offsetTop;
			}
			
			//x+=1
				
			// add some formatting to the div, if we haven't already
			if (!this.divFormatted) 
			{
				this.globalDiv.style.backgroundColor = this.DIV_BG_COLOR;
				
				if (this.listStyle == "")
				{
					this.globalDiv.style.fontFamily = "Verdana, Geneva, Arial, Helvetica, sans-serif";
					this.globalDiv.style.fontSize = "90%";
					this.globalDiv.style.padding = "4px";
					this.globalDiv.style.border = "1px solid black";
				}
				
				this.globalDiv.style.position = "absolute";
				this.globalDiv.style.left = x + "px";
				this.globalDiv.style.top = y + 20 + "px";
				this.globalDiv.style.visibility = "hidden";						
				this.globalDiv.style.zIndex = 10000;
				//this.globalDiv.style.overflowY = "scroll";
				//this.globalDiv.style.height = Math.min(317, document.body.clientHeight - y) + "px";
				if (this.listWidth != "") this.globalDiv.style.width = this.listWidth;
				
				if(divID == 'shopsearchkeywordLookupdiv') {
					document.getElementById('shopsuggestiediv').style.position = "absolute";						
					document.getElementById('shopsuggestiediv').style.left = x + "px"
					document.getElementById('shopsuggestiediv').style.top = y + "px"	
					this.suggestiedivID = 'shopsuggestiediv';
				}
				else {
					document.getElementById('suggestiediv').style.position = "absolute";						
					document.getElementById('suggestiediv').style.left = x + "px"
					document.getElementById('suggestiediv').style.top = y + "px"
					this.suggestiedivID = 'suggestiediv';
				}
				
				this.divFormatted = true;
			}
		}
		return this.globalDiv;
	}
	,
	
	/**
	searchString setter
	*/
	setSearchString: function(searchString)
	{
		this.searchString = searchString;
	}
	,

	/**
	This is the function that should be returned by the XMLHTTP call. It will
	format and display the lookup results.
	*/
	showQueryDiv: function(r, key, columnlist)
	{
		var div = this.getDiv(this.divName);
		
		// remove any results that are already there
		while (div.childNodes.length > 0)
			div.removeChild(div.childNodes[0]);
	  	
		var keyArray = eval('r.' + key)
		var arr_columnlist = columnlist.toLowerCase().split(',')
		
		// add an entry for each of the results in the resultArray
		for (var i = 0; i < keyArray.length; i++)
		{
			// each result will be contained within its own div
			var result = document.createElement("div");
			if (this.listItemStyle != "") 
			{
				result.className = this.listItemStyle;
			}
			else
			{
				result.style.cursor = "pointer";
				result.style.borderBottom = "2px solid #777777";
				result.style.padding = "3px 0px 3px 0px"
			}
			
			this._unhighlightResult(result);
			result.onmousedown = this.selectResult;
			result.onmouseover = this.highlightResult;
			result.onmouseout = this.unhighlightResult;
			
			var result1 = document.createElement("span");
			if (this.listItemKey == "")
				result1.className = "_listItemKey";
			else
				result1.className = this.listItemKey;
				
			if (this.listItemKey == "")
			{
				result1.style.textAlign = "left";
				result1.style.fontWeight = "bold";
			}
			result1.innerHTML = keyArray[i];
			
			var result2 = document.createElement("span");
			
			if (this.listItemValue == "")
				result2.className = "_listItemValue";
			else
				result2.className = this.listItemValue;
				
			if (this.listItemValue == "")
			{
				result2.style.textAlign = "right";
				result2.style.paddingLeft = "20px";
			}
			
			// each element of columnlist is appended to result2
			result2Value = "";
			for (j = 0; j < arr_columnlist.length; j++) {
				// set column result
				colValue = eval('r.' + arr_columnlist[j] + '[' + i + ']')
				if (colValue != null) {
					result2Value += colValue
					if (arr_columnlist.length > 1 && j < arr_columnlist.length) {
						result2Value += ' '
					}
				}
			}
			result2.innerHTML = result2Value.trim();
			
			var result3 = document.createElement("span");
			result3.className = keyArray[i] + ";" + result2Value.trim();
			
			result.appendChild(result3);
			if (this.showKey) result.appendChild(result1);
			result.appendChild(result2);
			
			if(typeof r.type != "undefined")
			{
				var result4 = document.createElement("span");
				
				colValue = eval('r.type[' + i + ']')
				result4.innerHTML = "";
				result4.className = colValue;
				result.appendChild(result4);
			}
			div.appendChild(result);
		}
	  
		// if this resultset isn't already in our cache, add it
		var isCached = this.cache[this.searchString];
		if (!isCached)
			this.addToCache(this.searchString, r, key, columnlist);
	  
		// display the div if we had at least one result
		this.showDiv(keyArray.length > 0);
		
		// set searching to false
		this.searching = false
	}
	,
	
	/**
	This is called whenever the user clicks one of the lookup results.
	It puts the value of the result in the queryField and hides the
	lookup div.
	*/
	selectResult: function()
	{
		selectedSuggestObject._selectResult(this);
	}
	,
	
	/** This actually fills the field with the selected result and hides the div */
	_selectResult: function(item)
	{
		var spans = item.getElementsByTagName("span");
		if (spans) {
			
			var data = spans[0].className.split(";");
			
			if (this.queryFieldHolds == 0) {
				//key 
				this.queryField.value = data[0];
			} else if (this.queryFieldHolds == 1) {
				//value
				this.queryField.value = data[1];
			} else if (this.queryFieldHolds == 2) {
				//both key and value
				
				this.queryField.value = data[0] + " - " + data[1];
			}
			
			
			this.lastVal = val = escape(this.queryField.value);
			this.searching = false;
			suggestMainLoop();
			this.queryField.focus();
			this.showDiv(false);
			
			
			var _retData = new Array(); 
			_retData.KEY = data[0];
			_retData.VALUE = data[1];
			if(typeof spans[2] != "undefined") _retData.TYPE = spans[2].className;
			this.selectionListener(_retData);
			
			return;
		}
	}
	,

	/**
	This is called when a user mouses over a lookup result
	*/
	highlightResult: function()
	{
		selectedSuggestObject._highlightResult(this);
	}
	,
	
	/** This actually highlights the selected result */
	_highlightResult: function(item)
	{
	  item.style.backgroundColor = selectedSuggestObject.DIV_HIGHLIGHT_COLOR;
	}
	,
	
	/**
	This is called when a user mouses away from a lookup result
	*/
	unhighlightResult: function()
	{
		selectedSuggestObject._unhighlightResult(this);
	}
	,
	
	/** This actually unhighlights the selected result */
	_unhighlightResult: function(item)
	{
	  item.style.backgroundColor = selectedSuggestObject.DIV_BG_COLOR;
	}
	,
	
	/**
	This either shows or hides the lookup div, depending on the value of
	the "show" parameter.
	*/
	showDiv: function(show)
	{
		var div = this.getDiv(this.divName);
			
		if (show) {
			div.style.visibility = "visible"			
			
			document.getElementById(this.suggestiedivID).style.visibility = "visible"
			//adjustDiv()
		} else {
			div.style.visibility = "hidden"
			document.getElementById(this.suggestiedivID).style.visibility = "hidden"
		}
		this.adjustiFrame()
	}
	,
	
	/**
	This either shows or hides the lookup div, depending on the value of
	the "show" parameter.
	*/
	adjustDiv: function()
	{
		var div = this.getDiv(this.divName);
		
		// figure out the max height of the div
		var wHeight = document.body.clientHeight
		var wWidth = document.body.clientWidth
		
		var dHeight = div.height
		var dWidth = div.width
		
		//alert('wHeight: ' + wHeight + ' wWidth: ' + wWidth)
	}
	,
	
	/**
	Use an "iFrame shim" to deal with problems where the lookup div shows up behind
	selection list elements, if they're below the queryField. The problem and solution are
	described at:
	
	http://dotnetjunkies.com/WebLog/jking/archive/2003/07/21/488.aspx
	http://dotnetjunkies.com/WebLog/jking/archive/2003/10/30/2975.aspx
	*/
	adjustiFrame: function()
	{
		if (!document.getElementById(this.ifName)) 
		{
			var newNode = document.createElement("iFrame");
			newNode.setAttribute("id", this.ifName);
			newNode.setAttribute("src", "javascript:false;");
			newNode.setAttribute("scrolling", "no");
			newNode.setAttribute("frameborder", "0");
			newNode.setAttribute("width", "0");
			document.body.appendChild(newNode);
		}
	  	
		iFrameDiv = document.getElementById(this.ifName);
		var div = this.getDiv(this.divName);
	  	
		try {
			iFrameDiv.style.position = "absolute"
			if (this.listWidth != "") {
				//this.globalDiv.style.width = this.listWidth
				iFrameDiv.style.width = this.listWidth
			} else {
				iFrameDiv.style.width = div.offsetWidth
			}
			//alert(div.offsetWidth);
			iFrameDiv.style.height = div.offsetHeight
			iFrameDiv.style.top = div.style.top
			iFrameDiv.style.left = div.style.left
			iFrameDiv.style.zIndex = div.style.zIndex - 1
			iFrameDiv.style.visibility = div.style.visibility
		} catch(e) {
		}
	}
	,
	
	/**
	Get the number of the result that's currently selected/highlighted
	(the first result is 0, the second is 1, etc.)
	*/
	getSelectedSpanNum: function(div)
	{
		var count = -1;
		var spans = div.getElementsByTagName("div");
		if (spans) 
		{
			for (var i = 0; i < spans.length; i++) 
			{
				count++;
				if (spans[i].style.backgroundColor != div.style.backgroundColor)
					return count;
			}
		}
		return -1;
	}
	,
	
	/**
	Select/highlight the result at the given position
	*/
	setSelectedSpan: function(div, spanNum)
	{
		var count = -1;
		var thisSpan;
		var spans = div.getElementsByTagName("div");
		if (spans) 
		{
			for (var i = 0; i < spans.length; i++) 
			{
				if (++count == spanNum) 
				{
					this._highlightResult(spans[i]);
					thisSpan = spans[i];
				} else {
					this._unhighlightResult(spans[i]);
				}
			}
		}
		return thisSpan;
	}
	,
	
	defaultSelectionListener: function(result)
	{
		//do nothing -- customer listener required
	}
}

var selectedSuggestObject = null
var suggestMainloopID

function onSuggestFieldFocus(object)
{	
	if (selectedSuggestObject)
	{		
		suggestHideDiv(false)
	}
	// set suggest object
	selectedSuggestObject = object;
	// set document on mouse up event
	document.onmouseup = suggestHideDiv;
	// start loop
	suggestMainloopID = setTimeout("suggestMainLoop()", 100)
}

/**
We originally used showDiv as the function that was called by the onBlur
event of the field, but it turns out that Firefox will pass an event as the first
parameter of the function, which would cause the div to always be visible.
So onBlur now calls suggestHideDiv instead.
*/
function suggestHideDiv(clearEvent)
{
	// set searching is false
	selectedSuggestObject.searching = false;
	// hide div
	selectedSuggestObject.showDiv(false);
	// clear on mouse up event
	if (!clearEvent) document.onmouseup = null
}

/**
This is the key handler function, for when a user presses the up arrow,
down arrow, tab key, or enter key from the input field.
*/
function suggestKeypressHandler(evt)
{
	// don't do anything if the div is hidden
	var div = selectedSuggestObject.getDiv(selectedSuggestObject.divName);
	if (div.style.visibility == "hidden")
		return true;
  
	// make sure we have a valid event variable
	if(!evt && window.event) 
	{
		evt = window.event;
	}
	
	var key = evt.keyCode;
  
	// if this key isn't one of the ones we care about, just return
	var KEYUP = 38;
	var KEYDOWN = 40;
	var KEYENTER = 13;
	var KEYTAB = 9;
  
	if ((key != KEYUP) && (key != KEYDOWN) && (key != KEYENTER) && (key != KEYTAB))
		return true;
  
	// get the span that's currently selected, and perform an appropriate action
	var selNum = selectedSuggestObject.getSelectedSpanNum(div);
	var selSpan = selectedSuggestObject.setSelectedSpan(div, selNum);
  
	if ((key == KEYENTER) || (key == KEYTAB)) 
	{
		if (selSpan)
		{
			selectedSuggestObject._selectResult(selSpan);
		}
		evt.cancelBubble=true;
		return false;
	} else {
	if (key == KEYUP)
		selSpan = selectedSuggestObject.setSelectedSpan(div, selNum - 1);
	if (key == KEYDOWN)
		selSpan = selectedSuggestObject.setSelectedSpan(div, selNum + 1);
	if (selSpan)
		selectedSuggestObject._highlightResult(selSpan);
	}
  
	selectedSuggestObject.showDiv(true)
	return true
}

/**
This is the function that monitors the queryField, and calls the lookup
functions when the queryField value changes.
*/
function suggestMainLoop() 
{
	val = escape(selectedSuggestObject.queryField.value.trim())
 	
 	if (val.length >= selectedSuggestObject.minCharToStartSearch)
	{
		// if the field value has changed and we're not currently waiting for
		// a lookup result to be returned, do a lookup (or use the cache, if
		// we can)
		if (selectedSuggestObject.lastVal != val && selectedSuggestObject.searching == false)
		{
			
			var cacheResult = selectedSuggestObject.cache[val]
			if (cacheResult) {
				selectedSuggestObject.showQueryDiv(cacheResult[0], cacheResult[1], cacheResult[2])
			}
			else {
				// set searching to true
				selectedSuggestObject.searching = true
				// call get data function
				getSuggestData(val)
			}
			selectedSuggestObject.lastVal = val
		}
	}
	else if (val.length == 0 && selectedSuggestObject.lastVal != val) {
		// hide the div
		suggestHideDiv()
		// save last val
		selectedSuggestObject.lastVal = val
	}
	
	suggestMainloopID = setTimeout("suggestMainLoop()", 100)
	return true
}

var _globalSearchSuggestInited = false
var _shopSearchSuggestInited = true

var globalKeywordLookup = null
var shopKeywordLookup = null

function getSuggestData(str) {	
	// which method to use
	var theMethod = "select"
	// saves the string inside the suggest object
	window[selectedSuggestObject.name].setSearchString(str)
	// init data to send so CF
	var theData = new Object()
	theData.impl_name = _impl_name
	theData.criteria = window[selectedSuggestObject.name].searchString
	theData.shopSearch = (selectedSuggestObject.name == 'shopKeywordLookup')
	// set loading image
	//DWRUtil.useLoadingImage(_webfolder + "gfx/ajax/loading5.gif")
	// do ajax request
	DWREngine._execute(_webfolder + "impls/" + _impl_name + "/framework/ajax/suggest.cfc", null, theMethod, theData, getSuggestDataResult)	
}

// call back function
function getSuggestDataResult(r) {
	// show query div
	window[selectedSuggestObject.name].showQueryDiv(r, "id", "title", "type")
}

function globalKeywordLookupSelectionListener(result) {
	var oForm = document.forms['globalSearch']
	//this function to sets the hidden field with key value.
	oForm.type.value = result.TYPE
	oForm.criteria_id.value = result.KEY
	// delayed click
	setTimeout("document.forms['globalSearch'].btnSubmit.click()", 50)
}

function shopKeywordLookupSelectionListener(result) {
	var oForm = document.forms['shopSearch']
	//this function to sets the hidden field with key value.
	oForm.type.value = result.TYPE
	oForm.criteria_id.value = result.KEY
	// delayed click
	setTimeout("document.forms['shopSearch'].btnSubmit.click()", 50)
}

function submitOnEnter(e, oForm) { //e is event object passed from function invocation
	var characterCode; //literal character code will be stored in this variable
	if (e && e.which){ //if which property of event object is supported (NN4)
		e = e
		characterCode = e.which //character code is contained in NN4's which property
	} else {
		e = event
		characterCode = e.keyCode //character code is contained in IE's keyCode property
	}
	if (characterCode == 13) { //if generated character code is equal to ascii 13 (if enter key)
		oForm.btnSubmit.click() //submit the form
	}
}

function initGlobalSearchSuggest() {
	// initialize a new suggest component
	globalKeywordLookup = new Suggest()
	globalKeywordLookup.minCharToStartSearch = 2
	globalKeywordLookup.InitQueryCode("globalKeywordLookup", "searchkeyword")
	globalKeywordLookup.setSelectionListener(globalKeywordLookupSelectionListener)
	// set inited flag
	_globalSearchSuggestInited = true	
}

function initShopSearchSuggest() {
	// initialize a new suggest component
	shopKeywordLookup = new Suggest()
	shopKeywordLookup.minCharToStartSearch = 2
	shopKeywordLookup.InitQueryCode("shopKeywordLookup", "searchkeyword")
	shopKeywordLookup.setSelectionListener(shopKeywordLookupSelectionListener)
	// set inited flag
	_shopSearchSuggestInited = true
}

// validate searchForm
function checkSearchForm(oForm) {
 	if ( (oForm.name == 'globalSearch' && oForm.searchkeyword.value == '') || (oForm.name == 'shopSearch' && oForm.extrasearchkeyword.value == '') ) {
		oForm.criteria_id.value = ''
		alert('voer eerst een trefwoord in')		
		return false
	} else {
		return true
	}
}

// Mega drop down menu
var currentVisibleMegaDropdownMenuName = '',
	currentVisibleMegaDropdownMenuVisible = false,
	currentSelectedTab = '',
	activeMegaDropDownTab = '',
	showMegaDropDownMenuTimeOut,
	hideMegaDropDownMenuTimeOut,
	e_branchesMenu,
	e_onderwerpenMenu,
	e_overHBDMenu,
	e_branchesTab,
	e_onderwerpenTab,
	e_overHBDTab;
	
function setCurrentSelectedTab(tabName) {
	currentSelectedTab = tabName
}

function setActiveMegaDropDownTab(tabName) {
	activeMegaDropDownTab = tabName
}

function onHoverShowMegaDropDownMenuItem(menuName, mouseover, e) {
	e_branchesMenu = document.getElementById('megaDropDown_branches');
	e_onderwerpenMenu = document.getElementById('megaDropDown_onderwerpen');
	e_overHBDMenu = document.getElementById('megaDropDown_overHBD');	
	
	if(currentVisibleMegaDropdownMenuName != '' && currentVisibleMegaDropdownMenuName != menuName) {
		clearTimeout(showMegaDropDownMenuTimeOut);
		clearTimeout(hideMegaDropDownMenuTimeOut);
		hideMegaDropDownMenu(currentVisibleMegaDropdownMenuName);
	}
	
	changeTabDisplays(menuName, mouseover);
	
	if (mouseover) {
		currentVisibleMegaDropdownMenuName = menuName;
		clearTimeout(hideMegaDropDownMenuTimeOut);
		showMegaDropDownMenuTimeOut = setTimeout('showMegaDropDownMenu()', 100);
	} else if (!mouseover) {
		clearTimeout(showMegaDropDownMenuTimeOut);
		hideMegaDropDownMenuTimeOut = setTimeout('hideMegaDropDownMenu()', 500);
	};
}

function changeTabDisplays(menuName, mouseover) {
	var oMegaDropDownMenu = document.getElementById('MegaDropDownMenu');
	var h = -54
	var basePosY = 0;
	var posY = 0;
	
	if (activeMegaDropDownTab == 'branches') {
		basePosY = h * 1;
	} else if (activeMegaDropDownTab == 'onderwerpen') {
		basePosY = h * 5;
	} else if (activeMegaDropDownTab == 'overHBD') {
		basePosY = h * 9;
	};
	
	if (mouseover) {	
		if (activeMegaDropDownTab != '') {
			if (menuName == 'branches') {
				posY = h * 1;
			} else if (menuName == 'onderwerpen') {
				posY = h * 2;
			} else if (menuName == 'overHBD') {
				posY = h * 3;
			};
		} else {
			if (menuName == 'branches') {
				posY = h * 2;
			} else if (menuName == 'onderwerpen') {
				posY = h * 7;
			} else if (menuName == 'overHBD') {
				posY = h * 12;
			};
		};
	};
	
	oMegaDropDownMenu.style.backgroundPosition = '0px ' + (basePosY + posY) + 'px';
}

function showMegaDropDownMenu() {
	currentVisibleMegaDropdownMenuVisible = true;
	changeTabDisplays(currentVisibleMegaDropdownMenuName, true);
	//changeSmallTeaserImageDisplay('none');
	
	if (currentVisibleMegaDropdownMenuName == 'branches') {
		if (e_branchesMenu != null) e_branchesMenu.style.display = 'block';
	} else if (currentVisibleMegaDropdownMenuName == 'onderwerpen') {
		if (e_onderwerpenMenu != null) e_onderwerpenMenu.style.display = 'block';
	} else if (currentVisibleMegaDropdownMenuName == 'overHBD') {
		if (e_overHBDMenu != null) e_overHBDMenu.style.display = 'block';
	}
}

function hideMegaDropDownMenu() {
	if (currentVisibleMegaDropdownMenuName == 'branches') {
		if (e_branchesMenu != null) e_branchesMenu.style.display = 'none';
	} else if (currentVisibleMegaDropdownMenuName == 'onderwerpen') {
		if (e_onderwerpenMenu != null) e_onderwerpenMenu.style.display = 'none';
	} else if (currentVisibleMegaDropdownMenuName == 'overHBD') {
		if (e_overHBDMenu != null) e_overHBDMenu.style.display = 'none';
	}
	currentVisibleMegaDropdownMenuVisible = false;
	changeTabDisplays(currentVisibleMegaDropdownMenuName, false );
	//changeSmallTeaserImageDisplay('block');
	
	currentVisibleMegaDropdownMenuName = '';	
}

// IE 7 fix for showing the small teaser image on top of the menu
/*function changeSmallTeaserImageDisplay(display) {
	if(navigator.userAgent && navigator.userAgent.indexOf('MSIE 7') != -1) {
		var arr_teaserIds = lst_teaserIds.split(",");
		for(var i=0; i<arr_teaserIds.length; i++){
		  document.getElementById('png2fix' + arr_teaserIds[i]).style.display = display;
		}	
	}
}*/
