function verzend_inschrijving(){
if(document.getElementById('lijst_geselecteerde_workshops').value=='') alert('U hebt nog geen evenement en/of locatie geselecteerd. Klik eerst op de knop toevoegen om een locatie toe te voegen');
else document.getElementById('inschrijfformulier').submit();
}

function isIE() {
	return /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
}
var http = createRequestObject();
function createRequestObject() {
    var tmpXmlHttpObject;
    if (window.XMLHttpRequest) { 
        // Mozilla, Safari would use this method ...
        tmpXmlHttpObject = new XMLHttpRequest();
    } else if (window.ActiveXObject) { 
        // IE would use this method ...
        tmpXmlHttpObject = new ActiveXObject("Microsoft.XMLHTTP");
    }
    return tmpXmlHttpObject;
}
function beperk_selectie(selectiebox,klasse) {
	actieve_klasse = klasse.options[klasse.selectedIndex].value;
	var opties = document.getElementById(selectiebox).options; 
	eerste = 1;
	for(i=0;i<opties.length;i++){
		if(opties[i].className==actieve_klasse) {
			if(eerste) {
				eerste = 0;
				opties.selectedIndex = i;
			}
			opties[i].style.display = "block";
		}
		else opties[i].style.display = "none";	
	}
	document.getElementById(selectiebox).focus();
}
function bereken_totaal(formnaam,veldnaam,uitvoerveldid) {
	totaal = 0;
	for(i=0; i<document.forms[0].elements.length; i++){
		if(document.forms[formnaam].elements[i].name==veldnaam) totaal += Number(document.forms[0].elements[i].value);
	}
	document.getElementById(uitvoerveldid).value = totaal;
}
function bevestigen(boodschap,url) {
	var titel = prompt(boodschap, "");
	if(titel) location.href = url+"/"+titel;
}
function accorderen(boodschap,url) {
	var ok = confirm(boodschap);
	if(ok) location.href = url;
}
function vang_waardes(id_tabel) {	
}
function vernieuw_tabel(id_tabel) {
	tabel = document.getElementById(id_tabel);
	verplichtwaardes = document.getElementById('verplichtwaardes').value.split(',');
	for(i=1;i<tabel.rows.length;i++){
		if(verplichtwaardes[i]=='*') verplicht = 'checked';
		else verplicht = '';
		if(i!=1) omhoog =  ' <a href="javascript:verplaats_rij(\''+id_tabel+'\','+i+',-1)" title="Verplaats omhoog">5</a>';
		else omhoog = '';
		if(i!=tabel.rows.length-1) omlaag = ' <a href="javascript:verplaats_rij(\''+id_tabel+'\','+i+',1)" title="Verplaats omlaag">6</a>';
		else omlaag = '';
		wissen = ' <a href="javascript:wis_rij(\''+id_tabel+'\','+i+')" title="Wis deze rij">r</a>';
		tabel.rows[i].cells[3].innerHTML = '&nbsp; <font face="webdings"><a href="javascript:nieuwe_rij(\''+id_tabel+'\','+i+')" title="Nieuwe rij invoegen">3</a>'+omhoog+omlaag+wissen+'</font>';
		tabel.rows[i].cells[2].innerHTML = '<input type="checkbox" name="verplicht[]" value="'+i+'" '+verplicht+' />';
	}
}
function addRow(id_tabel,vernieuw){
    var tbody = document.getElementById(id_tabel).getElementsByTagName("TBODY")[0];
    var row = document.createElement("TR");
	var cell1 = document.createElement("TD");
	var cell2 = document.createElement("TD");
	var cell3 = document.createElement("TD");
	var cell4 = document.createElement("TD");
    tbody.appendChild(row);
	cell1.innerHTML = '<select name="veld_type[]" id="veld_type[]"><option value="text">tekstveld</option><option value="textarea">groot tekstveld</option><option value="checkbox">aanvink hokje</option><option value="hidden">Informatie tekst</option></select>';
	cell2.innerHTML = '<input type="text" name="veld_naam[]" id="veld_naam[]" style="width:100%;" />';
	cell3.innerHTML = '&nbsp;';
	cell4.innerHTML = '&nbsp;';
	row.appendChild(cell1);
	row.appendChild(cell2);
	row.appendChild(cell3);
	row.appendChild(cell4);
	if(vernieuw==1) vernieuw_tabel(id_tabel);
}
function verplaats_rij(id_tabel,index,omlaag) {
	var tabel = document.getElementById(id_tabel);
	verplichtwaardes = document.getElementById('verplichtwaardes').value.split(',');
	buurman = tabel.rows[index+omlaag].innerHTML;
	buurman_verplicht = verplichtwaardes[index+omlaag];
	tabel.rows[index+omlaag].innerHTML = tabel.rows[index].innerHTML;
	verplichtwaardes[index+omlaag]= verplichtwaardes[index];
	tabel.rows[index].innerHTML = buurman;
	verplichtwaardes[index]= buurman_verplicht;
	document.getElementById('verplichtwaardes').value = verplichtwaardes.join(',');
	vernieuw_tabel(id_tabel)
}
function wis_rij(id_tabel,index) {
	document.getElementById(id_tabel).deleteRow(index);
	vernieuw_tabel(id_tabel);
}
function nieuwe_rij(id_tabel,index) {
	var tabel = document.getElementById(id_tabel);
	addRow(id_tabel);
	for(i=tabel.rows.length-1;i>index;i--){
		tabel.rows[i].innerHTML = tabel.rows[i-1].innerHTML;;
	}
	vernieuw_tabel(id_tabel);
}
function wis_rij_met_id(id_rij) {
	rij = document.getElementById(id_rij);
	var rownum = rij.rowIndex;            // row to delete
	var tbody = rij.parentNode;           // tbody node
	tbody.removeChild(rij);
}
function nieuwe_standhoudersrij(id_tabelbody){
	var tbody = document.getElementById(id_tabelbody);
    var row = document.createElement("tr");
 	row.id = 'stnd_0';
	var cell1 = document.createElement("td");
	cell1.innerHTML = '...';
	var cell2 = document.createElement("td");
	cell2.innerHTML = 'Nieuw';
	var cell3 = document.createElement("td");
	cell3.innerHTML = '...';
	var cell4 = document.createElement("td");
	cell4.innerHTML = '<a href ="#" onclick="bewerk_standhouder(0); return false;"><img src="/plaatjes/bewerken.gif" border="0" /></a>';
	var cell5 = document.createElement("td");
	cell5.innerHTML = '<a href="#"onclick="wis_standhouder(0); return false;"><img src="/plaatjes/wissen.gif" border="0" /></a>';
	/*
	var html = '<td>...</td>';
	html += '<td>Nieuw</td>';
	html += '<td>...</td>';
	html += '<td align="center"><a href ="#" onclick="bewerk_standhouder(0); return false;"><img src="/plaatjes/bewerken.gif" border="0" /></a></td>';
	html += '<td align="center"><a href="#"onclick="wis_standhouder(0); return false;"><img src="/plaatjes/wissen.gif" border="0" /></a></td>';
	row.innerHTML = html;*/
	row.appendChild(cell1);
	row.appendChild(cell2);
	row.appendChild(cell3);
	row.appendChild(cell4);
	row.appendChild(cell5);
	tbody.appendChild(row);	
	var row2 = document.createElement("tr");
	row2.id = 'stnd_edit_0';
	var td2= document.createElement("td");
	td2.colspan = 5;
	td2.id = 'stnd_cel_0';
	row2.appendChild(td2);
	tbody.appendChild(row2);
	document.getElementById('stnd_cel_0').colSpan = 5;
	bewerk_standhouder(0);
}
var id_openstaande_standhouder=0;
function bewerk_standhouder(id_standhouder){
	if(id_openstaande_standhouder) {
		document.getElementById('stnd_'+id_openstaande_standhouder).style.backgroundColor = '#FFF';
		parent.document.getElementById('stnd_edit_'+id_openstaande_standhouder).style.display = 'none';
	}
	var rij = document.getElementById('stnd_'+id_standhouder);
	var edit_rij = document.getElementById('stnd_edit_'+id_standhouder);
	var edit_cel = document.getElementById('stnd_cel_'+id_standhouder);
	edit_cel.innerHTML = '<iframe src="/ajax/bewerk_standhouder.php?id_standhouder=' + id_standhouder + '&id_standhouderslijst=' + id_standhouderslijst + '&t=' + new Date().getTime() + '" id="stnd_iframe_"' + id_standhouder +'" width="500" height="400" frameborder="0" style="margin:0px; padding:0px" scrolling="no"></iframe>';
	rij.style.backgroundColor = "#CCF";
	if(isIE()) edit_rij.style.display = "block"; 
	else edit_rij.style.display = "table-row";
	//edit_iframe.src = '/ajax/bewerk_standhouder.php?id_standhouder=' + id_standhouder + '&id_pagina=' + id_pagina + '&t=' + new Date().getTime();
	id_openstaande_standhouder = id_standhouder;
}
function wis_standhouder(id_standhouder){
	if(id_openstaande_standhouder) {
		document.getElementById('stnd_'+id_openstaande_standhouder).style.backgroundColor = '#FFF';
		parent.document.getElementById('stnd_edit_'+id_openstaande_standhouder).style.display = 'none';
	}
	var rij = document.getElementById('stnd_'+id_standhouder);
	var edit_rij = document.getElementById('stnd_edit_'+id_standhouder);
	var edit_cel = document.getElementById('stnd_cel_'+id_standhouder);
	edit_cel.innerHTML = '<iframe src="/ajax/wis_standhouder.php?id_standhouder=' + id_standhouder + '&id_standhouderslijst=' + id_standhouderslijst + '&t=' + new Date().getTime() + '" id="stnd_iframe_"' + id_standhouder +'" width="500" height="100" frameborder="0" style="margin:0px; padding:0px" scrolling="no"></iframe>';
	rij.style.backgroundColor = "#CCF";
	if(isIE()) edit_rij.style.display = "block"; 
	else edit_rij.style.display = "table-row";
	//edit_iframe.src = '/ajax/bewerk_standhouder.php?id_standhouder=' + id_standhouder + '&id_pagina=' + id_pagina + '&t=' + new Date().getTime();
	id_openstaande_standhouder = id_standhouder;
}
function formateer_tel_abo(nr) {
	return nr.substr(0,nr.length-4)+' '+nr.substr(-4,2)+' '+nr.substr(-2,2);
}
function geef_preview(waarde,div) {
	document.getElementById(div).innerHTML = waarde;
}
function selecteer_interval(interval) {
	opt.transferAllLeft();
	for(var i=0;i<document.form1.edities.options.length;i++){
		if(i % interval==0) document.form1.edities.options[i].selected = true;
	}
	opt.transferRight();
}
function nieuwsbericht_onderwerp(){
	if(document.getElementById('nieuwsbericht_onderwerp').style.display=="none") return true;
	else {
		document.getElementById('nieuwsbericht_onderwerp').style.display = "none";
		document.getElementById('nieuwsbericht_onderwerp_bewerk').style.display = "inline";
		document.getElementById('nieuwsbericht_onderwerp_submit').value = "opslaan";
		return false;
	}
}
function nieuwsbericht_onderwerp_ingevuld() {
	if(document.getElementById('nieuwsbericht_onderwerp').value=="") {
		alert('Geen onderwerp ingevuld');
		return false;
	}
	else return true;
}
function voeg_workshop_toe(){
	var workshop = document.getElementById('id_workshop');
	workshop = workshop.options[workshop.selectedIndex].text;
	var workshoplocatie_datum = document.getElementById('id_workshop_locatie');
	workshoplocatie_datum = workshoplocatie_datum.options[workshoplocatie_datum.selectedIndex].value;
	workshoplocatie_datum = workshoplocatie_datum.split('|,|');
	document.getElementById('lijst_geselecteerde_workshops').value += '<tr><td>'+workshop+'</td><td>'+workshoplocatie_datum[0]+'</td><td>'+workshoplocatie_datum[1]+'</td><td>'+workshoplocatie_datum[2]+'</td></tr>';
	var workshoptabel = document.getElementById('geselecteerde_workshops');
    var row = document.createElement("TR");
	var cell1 = document.createElement("TD");
	cell1.innerHTML = workshop;
	var cell2 = document.createElement("TD");
	cell2.innerHTML = workshoplocatie_datum[0];
	var cell3 = document.createElement("TD");
	cell3.innerHTML = workshoplocatie_datum[1];
	var cell4 = document.createElement("TD");
	cell4.innerHTML = workshoplocatie_datum[2];
	var cell5 = document.createElement("TD");
	cell5.innerHTML = '&nbsp;';
	row.appendChild(cell1);
	row.appendChild(cell2);
	row.appendChild(cell3);
	row.appendChild(cell4);
	row.appendChild(cell5);
    workshoptabel.appendChild(row);

	//alert(workshoptabel.rows[workshoptabel.rows.length-1].innerHTML);
	//workshoptabel.rows[workshoptabel.rows.length-1]
	
}
function copieer_gegevens(id_bron,id_doel){
	if(document.getElementById(id_doel).value=='') document.getElementById(id_doel).value = document.getElementById(id_bron).value;
}
function nieuwe_workshoprij(id_tbody){
	var tbody = document.getElementById(id_tbody);
    	var row = document.createElement('tr');
	var html = '<td>...</td>';
	html += '<td>Nieuw</td>';
	html += '<td align="center"><a href ="#" onclick="bewerk_workshop(0); return false;"><img src="/plaatjes/bewerken.gif" border="0" /></a></td>';
	html += '<td align="center"><a href="#"onclick="wis_workshop(0); return false;"><img src="/plaatjes/wissen.gif" border="0" /></a></td>';
	row.innerHTML = html;
 	row.id = 'wrkshp_0';
	tbody.appendChild(row);

	var row2 = document.createElement('tr');

	var td2= document.createElement('td');
	td2.colspan = 5;
	td2.id = 'wrkshp_cel_0';
	row2.id = 'wrkshp_edit_0';
	tbody.appendChild(row2);
	row2.appendChild(td2);
	bewerk_workshop(0);
}
var id_openstaande_workshop=0;
function bewerk_workshop(id_workshop){
	if(id_openstaande_workshop) {
		document.getElementById('wrkshp_'+id_openstaande_workshop).style.backgroundColor = '#FFF';
		parent.document.getElementById('wrkshp_edit_'+id_openstaande_workshop).style.display = 'none';
	}
	var rij = document.getElementById('wrkshp_'+id_workshop);
	var edit_rij = document.getElementById('wrkshp_edit_'+id_workshop);
	var edit_cel = document.getElementById('wrkshp_cel_'+id_workshop);
	edit_cel.innerHTML = '<iframe src="/ajax/bewerk_workshop.php?id_workshop=' + id_workshop + '&id_workshopcategorie=' + id_workshopcategorie + '&t=' + new Date().getTime() + '" id="wrkshp_iframe_"' + id_workshop +'" width="500" height="400" frameborder="0" style="margin:0px; padding:0px" scrolling="no"></iframe>';
	rij.style.backgroundColor = "#CCF";
	if(isIE()) edit_rij.style.display = "block"; 
	else edit_rij.style.display = "table-row";
	edit_iframe.src = '/ajax/bewerk_standhouder.php?id_standhouder=' + id_standhouder + '&id_pagina=' + id_pagina + '&t=' + new Date().getTime();
	id_openstaande_workshop = id_workshop;
}
function wis_workshop(id_workshop){
	if(id_openstaande_workshop) {
		document.getElementById('wrkshp_'+id_openstaande_workshop).style.backgroundColor = '#FFF';
		parent.document.getElementById('wrkshp_edit_'+id_openstaande_workshop).style.display = 'none';
	}
	var rij = document.getElementById('wrkshp_'+id_workshop);
	var edit_rij = document.getElementById('wrkshp_edit_'+id_workshop);
	var edit_cel = document.getElementById('wrkshp_cel_'+id_workshop);
	edit_cel.innerHTML = '<iframe src="/ajax/wis_workshop.php?id_workshop=' + id_workshop + '&id_workshopcategorie=' + id_workshopcategorie + '&t=' + new Date().getTime() + '" id="wrkshp_iframe_"' + id_workshop +'" width="500" height="100" frameborder="0" style="margin:0px; padding:0px" scrolling="no"></iframe>';
	rij.style.backgroundColor = "#CCF";
	if(isIE()) edit_rij.style.display = "block"; 
	else edit_rij.style.display = "table-row";
	//edit_iframe.src = '/ajax/bewerk_standhouder.php?id_standhouder=' + id_standhouder + '&id_pagina=' + id_pagina + '&t=' + new Date().getTime();
	id_openstaande_workshop = id_workshop;
}

/* - register_function.js - */
var bugRiddenCrashPronePieceOfJunk=(navigator.userAgent.indexOf('MSIE 5')!=-1&&navigator.userAgent.indexOf('Mac')!=-1);
var W3CDOM=(!bugRiddenCrashPronePieceOfJunk&&typeof document.getElementsByTagName!='undefined'&&typeof document.createElement!='undefined');
var registerEventListener=undefined;
if(typeof addEvent!='undefined'){
	registerEventListener=function(elem,event,func){
		addEvent(elem,event,func);return true
	}
} else if(window.addEventListener){
	registerEventListener=function(elem,event,func){
		elem.addEventListener(event,func,false);
		return true
	}
} else if(window.attachEvent){
	registerEventListener=function(elem,event,func){
		var result=elem.attachEvent("on"+event,func);
		return result
	}
} else{
	registerEventListener=function(elem,event,func){
		return false
	}
}
var unRegisterEventListener=undefined;
if(typeof removeEvent!='undefined'){
	unRegisterEventListener=function(elem,event,func){
		removeEvent(element,event,func);
		return true
	}
} else if(window.removeEventListener){
	unRegisterEventListener=function(elem,event,func){
		elem.removeEventListener(event,func,false);
		return true
	}
} else if(window.detachEvent){
	unRegisterEventListener=function(elem,event,func){
		var result=elem.detachEvent("on"+event,func);
		return result
	}
} else{
	unRegisterEventListener=function(elem,event,func){
		return false
	}
}
var registernewcmsFunction=undefined;
if(typeof addDOMLoadEvent!='undefined'){
	registernewcmsFunction=function(func){
		addDOMLoadEvent(func)
	}
} else{
	registernewcmsFunction=function(func){
		registerEventListener(window,"load",func)
	}
}
//dynamic select

function dynamicSelect(id1, id2) {
 	// Feature test to see if there is enough W3C DOM support
 	if (document.getElementById && document.getElementsByTagName) {
  		// Obtain references to both select boxes
  		var sel1 = document.getElementById(id1);
  		var sel2 = document.getElementById(id2);
  		// Clone the dynamic select box
  		var clone = sel2.cloneNode(true);
  		// Obtain references to all cloned options
  		var clonedOptions = clone.getElementsByTagName("option");
  		// Onload init: call a generic function to display the related options in the dynamic select box
  		refreshDynamicSelectOptions(sel1, sel2, clonedOptions);
  		// Onchange of the main select box: call a generic function to display the related options in the dynamic select box
  		sel1.onchange = function() {
   			refreshDynamicSelectOptions(sel1, sel2, clonedOptions);
  		};
 	}
}

function refreshDynamicSelectOptions(sel1, sel2, clonedOptions) {
 	// Delete all options of the dynamic select box
 	while (sel2.options.length) {
  		sel2.remove(0);
 	}
 	// Create regular expression objects for "select" and the value of the selected option of the main select box as class names
 	var pattern1 = /( |^)(select)( |$)/;
 	var pattern2 = new RegExp("( |^)(" + sel1.options[sel1.selectedIndex].value + ")( |$)");
 	// Iterate through all cloned options
 	for (var i = 0; i < clonedOptions.length; i++) {
  		// If the classname of a cloned option either equals "select" or equals the value of the selected option of the main select box
  		if (clonedOptions[i].className.match(pattern1) || clonedOptions[i].className.match(pattern2)) {
 	 		 // Clone the option from the hidden option pool and append it to the dynamic select box
  		 	sel2.appendChild(clonedOptions[i].cloneNode(true));
  		}
 	}
}

// Multiple onload function created by: Simon Willison
// http://simon.incutio.com/archive/2004/05/26/addLoadEvent
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

/* - cssQuery.js - */
var cssQuery=function(){
	var version="2.0.2";
	var $COMMA=/\s*,\s*/;
	var cssQuery=function($selector,$$from){
		try{
			var $match=[];
			var $useCache=arguments.callee.caching&&!$$from;
			var $base=($$from)?($$from.constructor==Array)?$$from:[$$from]:[document];
			var $$selectors=parseSelector($selector).split($COMMA),i;
			for(i=0;i<$$selectors.length;i++){
				$selector=_toStream($$selectors[i]);
				if(isMSIE&&$selector.slice(0,3).join("")==" *#"){
					$selector=$selector.slice(2);
					$$from=_msie_selectById([],$base,$selector[1])
				} else $$from=$base;var j=0,$token,$filter,$arguments,$cacheSelector="";
				while(j<$selector.length){
					$token=$selector[j++];
					$filter=$selector[j++];
					$cacheSelector+=$token+$filter;
					$arguments="";
					if($selector[j]=="("){
						while($selector[j++]!=")"&&j<$selector.length){
							$arguments+=$selector[j]
						}
						$arguments=$arguments.slice(0,-1);$cacheSelector+="("+$arguments+")"
					}
					$$from=($useCache&&cache[$cacheSelector])?cache[$cacheSelector]:select($$from,$token,$filter,$arguments);
					if($useCache) cache[$cacheSelector]=$$from
				}
				$match=$match.concat($$from)
			}
			delete cssQuery.error;
			return $match
		} catch($error){
			cssQuery.error=$error;return []
		}
	};
	cssQuery.toString=function(){
		return "function cssQuery() {\n  [version "+version+"]\n}"
	};
	var cache={};
	cssQuery.caching=false;
	cssQuery.clearCache=function($selector){
		if($selector){
			$selector=_toStream($selector).join("");
			delete cache[$selector]
		} else cache={}
	};
	var modules={};
	var loaded=false;
	cssQuery.addModule=function($name,$script){
		if(loaded) eval("$script="+String($script));
		modules[$name]=new $script()
	};
	cssQuery.valueOf=function($code){
		return $code?eval($code):this
	};
	var selectors={};
	var pseudoClasses={};
	var AttributeSelector={match:/\[([\w-]+(\|[\w-]+)?)\s*(\W?=)?\s*([^\]]*)\]/};
	var attributeSelectors=[];
	selectors[" "]=function($results,$from,$tagName,$namespace){
		var $element,i,j;
		for(i=0;i<$from.length;i++){
			var $subset=getElementsByTagName($from[i],$tagName,$namespace);
			for(j=0;($element=$subset[j]);j++){
				if(thisElement($element)&&compareNamespace($element,$namespace)) $results.push($element)
			}
		}
	};
	selectors["#"]=function($results,$from,$id){
		var $element,j;
		for(j=0;($element=$from[j]);j++) if($element.id==$id) $results.push($element)
	};
	selectors["."]=function($results,$from,$className){
		$className=new RegExp("(^|\\s)"+$className+"(\\s|$)");
		var $element,i;
		for(i=0;($element=$from[i]);i++) if($className.test($element.className)) $results.push($element)
	};
	selectors[":"]=function($results,$from,$pseudoClass,$arguments){
		var $test=pseudoClasses[$pseudoClass],$element,i;
		if($test) for(i=0;($element=$from[i]);i++) if($test($element,$arguments)) $results.push($element)
	};
	pseudoClasses["link"]=function($element){
		var $document=getDocument($element);
		if($document.links) for(var i=0;i<$document.links.length;i++){
			if($document.links[i]==$element) return true
		}
	};
	pseudoClasses["visited"]=function($element){};
	var thisElement=function($element){
		return($element&&$element.nodeType==1&&$element.tagName!="!")?$element:null
	};
	var previousElementSibling=function($element){
		while($element&&($element=$element.previousSibling)&&!thisElement($element)) continue;
		return $element
	};
	var nextElementSibling=function($element){
		while($element&&($element=$element.nextSibling)&&!thisElement($element)) continue;
		return $element
	};
	var firstElementChild=function($element){
		return thisElement($element.firstChild)||nextElementSibling($element.firstChild)
	};
	var lastElementChild=function($element){
		return thisElement($element.lastChild)||previousElementSibling($element.lastChild)
	};
	var childElements=function($element){
		var $childElements=[];
		$element=firstElementChild($element);
		while($element){
			$childElements.push($element);
			$element=nextElementSibling($element)
		}
		return $childElements
	};
	var isMSIE=true;
	var isXML=function($element){
		var $document=getDocument($element);
		return(typeof $document.mimeType=="unknown")?/\.xml$/i.test($document.URL):Boolean($document.mimeType=="XML Document")
	};
	var getDocument=function($element){
		return $element.ownerDocument||$element.document
	};
	var getElementsByTagName=function($element,$tagName){
		return($tagName=="*"&&$element.all)?$element.all:$element.getElementsByTagName($tagName)
	};
	var compareTagName=function($element,$tagName,$namespace){
		if($tagName=="*") return thisElement($element);
		if(!compareNamespace($element,$namespace)) return false;
		if(!isXML($element)) $tagName=$tagName.toUpperCase();
		return $element.tagName==$tagName
	};
	var compareNamespace=function($element,$namespace){
		return!$namespace||($namespace=="*")||($element.scopeName==$namespace)
	};
	var getTextContent=function($element){
		return $element.innerText
	};
	function _msie_selectById($results,$from,id){
		var $match,i,j;
		for(i=0;i<$from.length;i++){
			if($match=$from[i].all.item(id)){
				if($match.id==id) $results.push($match);
				else if($match.length!=null){
					for(j=0;j<$match.length;j++){
						if($match[j].id==id) $results.push($match[j])
					}
				}
			}
		}
		return $results
	};
	if(![].push) Array.prototype.push=function(){
		for(var i=0;i<arguments.length;i++){
			this[this.length]=arguments[i]
		}
		return this.length
	};
	var $NAMESPACE=/\|/;
	function select($$from,$token,$filter,$arguments){
		if($NAMESPACE.test($filter)){
			$filter=$filter.split($NAMESPACE);
			$arguments=$filter[0];
			$filter=$filter[1]
		}
		var $results=[];
		if(selectors[$token]){
			selectors[$token]($results,$$from,$filter,$arguments)
		}
		return $results
	};
	var $STANDARD_SELECT=/^[^\s>+~]/;
	var $$STREAM=/[\s#.:>+~()@]|[^\s#.:>+~()@]+/g;
	function _toStream($selector){
		if($STANDARD_SELECT.test($selector)) $selector=" "+$selector;
		return $selector.match($$STREAM)||[]
	};
	var $WHITESPACE=/\s*([\s>+~(),]|^|$)\s*/g;
	var $IMPLIED_ALL=/([\s>+~,]|[^(]\+|^)([#.:@])/g;
	var parseSelector=function($selector){
		return $selector.replace($WHITESPACE,"$1").replace($IMPLIED_ALL,"$1*$2")
	};
	var Quote={
		toString: function(){
			return "'"
		},match:/^('[^']*')|("[^"]*")$/,test: function($string){  
			return this.match.test($string)
		},add: function($string){
			return this.test($string)?$string:this+$string+this
		},remove: function($string){
			return this.test($string)?$string.slice(1,-1):$string
		}
	};
	var getText=function($text){
		return Quote.remove($text)
	};
	var $ESCAPE=/([\/()[\]?{}|*+-])/g;
	function regEscape($string){
		return $string.replace($ESCAPE,"\\$1")
	};
	cssQuery.addModule("css-standard", function(){
		isMSIE=eval("false;/*@cc_on@if(@\x5fwin32)isMSIE=true@end@*/");
		if(!isMSIE){
			getElementsByTagName=function($element,$tagName,$namespace){
				return $namespace?$element.getElementsByTagNameNS("*",$tagName):$element.getElementsByTagName($tagName)
			};
			compareNamespace=function($element,$namespace){
				return!$namespace||($namespace=="*")||($element.prefix==$namespace)
			};
			isXML=document.contentType? function($element){
				return/xml/i.test(getDocument($element).contentType)
			}: function($element){
				return getDocument($element).documentElement.tagName!="HTML"
			};
			getTextContent=function($element){
				return $element.textContent||$element.innerText||_getTextContent($element)
			};
			function _getTextContent($element){
				var $textContent="",$node,i;for(i=0;($node=$element.childNodes[i]);i++){
					switch($node.nodeType){
						case 11:case 1:$textContent+=_getTextContent($node);
						break;
						case 3:$textContent+=$node.nodeValue;break
					}
				}
				return $textContent
			}
		}
	});
	cssQuery.addModule("css-level2", function(){
		selectors[">"]=function($results,$from,$tagName,$namespace){
			var $element,i,j;
			for(i=0;i<$from.length;i++){
				var $subset=childElements($from[i]);
				for(j=0;($element=$subset[j]);j++) if(compareTagName($element,$tagName,$namespace)) $results.push($element)
			}
		};
		selectors["+"]=function($results,$from,$tagName,$namespace){
			for(var i=0;i<$from.length;i++){
				var $element=nextElementSibling($from[i]);
				if($element&&compareTagName($element,$tagName,$namespace)) $results.push($element)
			}
		};
		selectors["@"]=function($results,$from,$attributeSelectorID){
			var $test=attributeSelectors[$attributeSelectorID].test;
			var $element,i;
			for(i=0;($element=$from[i]);i++) if($test($element)) $results.push($element)
		};
		pseudoClasses["first-child"]=function($element){
			return!previousElementSibling($element)
		};
		pseudoClasses["lang"]=function($element,$code){
			$code=new RegExp("^"+$code,"i");
			while($element&&!$element.getAttribute("lang")) $element=$element.parentNode;
			return $element&&$code.test($element.getAttribute("lang"))
		};
		AttributeSelector.NS_IE=/\\:/g;
		AttributeSelector.PREFIX="@";
		AttributeSelector.tests={};
		AttributeSelector.replace=function($match,$attribute,$namespace,$compare,$value){
			var $key=this.PREFIX+$match;
			if(!attributeSelectors[$key]){
				$attribute=this.create($attribute,$compare||"",$value||"");
				attributeSelectors[$key]=$attribute;attributeSelectors.push($attribute)
			}
			return attributeSelectors[$key].id
		};
		AttributeSelector.parse=function($selector){
			$selector=$selector.replace(this.NS_IE,"|");
			var $match;
			while($match=$selector.match(this.match)){
				var $replace=this.replace($match[0],$match[1],$match[2],$match[3],$match[4]);
				$selector=$selector.replace(this.match,$replace)
			}
			return $selector
		};
		AttributeSelector.create=function($propertyName,$test,$value){
			var $attributeSelector={};
			$attributeSelector.id=this.PREFIX+attributeSelectors.length;
			$attributeSelector.name=$propertyName;
			$test=this.tests[$test];
			$test=$test?$test(this.getAttribute($propertyName),getText($value)):false;$attributeSelector.test=new Function("e","return "+$test);
			return $attributeSelector
		};
		AttributeSelector.getAttribute=function($name){
			switch($name.toLowerCase()){
				case "id":return "e.id";
				case "class":return "e.className";
				case "for":return "e.htmlFor";
				case "href":if(isMSIE){
					return "String((e.outerHTML.match(/href=\\x22?([^\\s\\x22]*)\\x22?/)||[])[1]||'')"
				}
			}
			return "e.getAttribute('" + $name.replace($NAMESPACE, ":") + "')"
		};
		AttributeSelector.tests[""]=function($attribute){
			return $attribute
		};
		AttributeSelector.tests["="]=function($attribute,$value){
			return $attribute+"=="+Quote.add($value)
		};
		AttributeSelector.tests["~="]=function($attribute,$value){
			return "/(^| )"+regEscape($value)+"( |$)/.test("+$attribute+")"
		};
		AttributeSelector.tests["|="]=function($attribute,$value){
			return "/^"+regEscape($value)+"(-|$)/.test("+$attribute+")"
		};
		var _parseSelector=parseSelector;
		parseSelector=function($selector){
			return _parseSelector(AttributeSelector.parse($selector))
		}
	});
	cssQuery.addModule("css-level3", function(){
		selectors["~"]=function($results,$from,$tagName,$namespace){
			var $element,i;
			for(i=0;($element=$from[i]);i++){
				while($element=nextElementSibling($element)){
					if(compareTagName($element,$tagName,$namespace)) $results.push($element)
				}
			}
		};
		pseudoClasses["contains"]=function($element,$text){
			$text=new RegExp(regEscape(getText($text)));
			return $text.test(getTextContent($element))
		};
		pseudoClasses["root"]=function($element){
			return $element==getDocument($element).documentElement
		};
		pseudoClasses["empty"]=function($element){
			var $node,i;
			for(i=0;($node=$element.childNodes[i]);i++){
				if(thisElement($node)||$node.nodeType==3) return false
			}
			return true
		};
		pseudoClasses["last-child"]=function($element){
			return!nextElementSibling($element)
		};
		pseudoClasses["only-child"]=function($element){
			$element=$element.parentNode;
			return firstElementChild($element)==lastElementChild($element)
		};
		pseudoClasses["not"]=function($element,$selector){
			var $negated=cssQuery($selector,getDocument($element));
			for(var i=0;i<$negated.length;i++){
				if($negated[i]==$element) return false
			}
			return true
		};
		pseudoClasses["nth-child"]=function($element,$arguments){
			return nthChild($element,$arguments,previousElementSibling)
		};
		pseudoClasses["nth-last-child"]=function($element,$arguments){
			return nthChild($element,$arguments,nextElementSibling)
		};
		pseudoClasses["target"]=function($element){
			return $element.id==location.hash.slice(1)
		};
		pseudoClasses["checked"]=function($element){
			return $element.checked
		};
		pseudoClasses["enabled"]=function($element){
			return $element.disabled===false
		};
		pseudoClasses["disabled"]=function($element){
			return $element.disabled
		};
		pseudoClasses["indeterminate"]=function($element){
			return $element.indeterminate
		};
		AttributeSelector.tests["^="]=function($attribute,$value){
			return "/^"+regEscape($value)+"/.test("+$attribute+")"
		};
		AttributeSelector.tests["$="]=function($attribute,$value){
			return "/"+regEscape($value)+"$/.test("+$attribute+")"
		};
		AttributeSelector.tests["*="]=function($attribute,$value){
			return "/"+regEscape($value)+"/.test("+$attribute+")"
		};
		function nthChild($element,$arguments,$traverse){
			switch($arguments){
				case "n":return true;
				case "even":$arguments="2n";
				break;
				case "odd":$arguments="2n+1"
			}
			var $$children=childElements($element.parentNode);
			function _checkIndex($index){
				var $index=($traverse==nextElementSibling)?$$children.length-$index:$index-1;
				return $$children[$index]==$element
			};
			if(!isNaN($arguments)) return _checkIndex($arguments);
			$arguments=$arguments.split("n");
			var $multiplier=parseInt($arguments[0]);
			var $step=parseInt($arguments[1]);
			if((isNaN($multiplier)||$multiplier==1)&&$step==0) return true;
			if($multiplier==0&&!isNaN($step)) return _checkIndex($step);
			if(isNaN($step)) $step=0;
			var $count=1;
			while($element=$traverse($element)) $count++;
			if(isNaN($multiplier)||$multiplier==1)
			return($traverse==nextElementSibling)?($count<=$step):($step>=$count);
			return($count%$multiplier)==$step
		}
	});
	loaded=true;return cssQuery
}();


/* - nodeutilities.js - */
function wrapNode(node,wrappertype,wrapperclass){
	var wrapper=document.createElement(wrappertype)
	wrapper.className=wrapperclass;
	var innerNode=node.parentNode.replaceChild(wrapper,node);
	wrapper.appendChild(innerNode)
};
function nodeContained(innernode,outernode){
	var node=innernode.parentNode;
	while(node!=document){
		if(node==outernode){
			return true
		}
		node=node.parentNode
	}
	return false
};
function findContainer(node,func){
	while(node!=null){
		if(func(node)){
			return node
		}
		node=node.parentNode
	}
	return false
};
function hasClassName(node,class_name){
	return new RegExp('\\b'+class_name+'\\b').test(node.className)
};
function addClassName(node,class_name){
	if(!node.className){
		node.className=class_name
	} else if(!hasClassName(node,class_name)){
		var className=node.className+" "+class_name;node.className=className.split(/\s+/).join(' ')
	}
};
function removeClassName(node,class_name){
	var className=node.className;
	if(className){
		className=className.replace(new RegExp('\\b'+class_name+'\\b'),'');
		className=className.replace(/\s+/g,' ');
		node.className=className.replace(/\s+$/g,'')
	}
};
function replaceClassName(node,old_class,new_class,ignore_missing){
	if(ignore_missing&&!hasClassName(node,old_class)){
		addClassName(node,new_class)
	} else{
		var className=node.className;
		if(className){
			className=className.replace(new RegExp('\\b'+old_class+'\\b'),new_class);
			className=className.replace(/\s+/g,' ');
			node.className=className.replace(/\s+$/g,'')
		}
	}
};
function walkTextNodes(node,func,data){
	if(!node){
		return false
	}
	if(node.hasChildNodes){
		for(var i=0;i<node.childNodes.length;i++){
			walkTextNodes(node.childNodes[i],func,data)
		}
		if(node.nodeType==3){
			func(node,data)
		}
	}
};
function getInnerTextCompatible(node){
	var result=new Array();
	walkTextNodes(node,function(n,d){d.push(n.nodeValue)},result);
	return result.join("")
};
function getInnerTextFast(node){
	if(node.innerText){
		return node.innerText
	} else{
		return getInnerTextCompatible(node)
	}
};
function sortNodes(nodes,fetch_func,cmp_func){
	if(!W3CDOM){
		return false
	};
	var SortNodeWrapper=function(node){
		this.value=fetch_func(node);
		this.cloned_node=node.cloneNode(true);
		this.toString=function(){
			if(this.value.toString){
				return this.value.toString()
			} else{
				return this.value
			}
		}
	}
	var items=new Array();
	for(var i=0;i<nodes.length;i++){
		items.push(new SortNodeWrapper(nodes[i]))
	}
	if(cmp_func){
		items.sort(cmp_func)
	} else{
		items.sort()
	}
	for(var i=0;i<items.length;i++){
		var dest=nodes[i];
		dest.parentNode.replaceChild(items[i].cloned_node,dest)
	}
};


/* - dropdown.js - */
function isActionMenu(node){
	if(hasClassName(node,'actionMenu')){
		return true
	}
	return false
};
function hideAllMenus(){
	var menus=cssQuery('dl.actionMenu');
	for(var i=0;i<menus.length;i++){
		replaceClassName(menus[i],'activated','deactivated',true)
	}
};
function toggleMenuHandler(event){
	if(!event) var event=window.event;
	if(!W3CDOM){
		return true
	}
	var container=findContainer(this,isActionMenu);
	if(!container){
		return true
	}
	if(hasClassName(container,'activated')){
		replaceClassName(container,'activated','deactivated',true)
	} else{
		replaceClassName(container,'deactivated','activated',true)
	}
	return false
};
function hideMenusHandler(event){
	if(!event) var event=window.event;
	hideAllMenus();
	return true
};
function actionMenuDocumentMouseDown(event){
	if(!event) var event=window.event;
	if(event.target)
	targ=event.target;
	else if(event.srcElement) targ=event.srcElement;
	var container=findContainer(targ,isActionMenu);
	if(container){
		return true
	}
	hideAllMenus();
	return true
};
function actionMenuMouseOver(event){
	if(!event) var event=window.event;
	if(!this.tagName&&(this.tagName=='A'||this.tagName=='a')){
		return true
	}
	var container=findContainer(this,isActionMenu);
	if(!container){
		return true
	}
	var menu_id=container.id;
	var switch_menu=false;
	var menus=cssQuery('dl.actionMenu');
	for(var i=0;i<menus.length;i++){
		var menu=menus[i]
		if(hasClassName(menu,'activated')){
			switch_menu=true
		}
		if(menu.id!=menu_id){
			replaceClassName(menu,'activated','deactivated',true)
		}
	}
	if(switch_menu){
		var menu=cssQuery('#'+menu_id)[0];
		if(menu){
			replaceClassName(menu,'deactivated','activated',true)
		}
	}
	return true
};
function initializeMenus(){
	if(!W3CDOM){
		return false
	}
	document.onmousedown=actionMenuDocumentMouseDown;
	hideAllMenus();
	var menu_headers=cssQuery('dl.actionMenu > dt.actionMenuHeader > a');
	for(var i=0;i<menu_headers.length;i++){
		var menu_header=menu_headers[i];
		menu_header.onclick=toggleMenuHandler;
		menu_header.onmouseover=actionMenuMouseOver
	}
	var menu_contents=cssQuery('dl.actionMenu > dd.actionMenuContent');
	for(var i=0;i<menu_contents.length;i++){
		menu_contents[i].onclick=hideMenusHandler
	}
};
registernewcmsFunction(initializeMenus);


/* - ie5fixes.js - */
function hackPush(el){
	this[this.length]=el
}
function hackPop(){
	var N=this.length-1,el=this[N];
	this.length=N
	return el
}
function hackShift(){
	var one=this[0],N=this.length;
	for(var i=1;i<N;i++){
		this[i-1]=this[i]
	}
	this.length=N-1
	return one
}
var testPushPop=new Array();
if(testPushPop.push){}
else{
	Array.prototype.push=hackPush
	Array.prototype.pop=hackPop
	Array.prototype.shift=hackShift
}


