/* Toggle Highlights / Ein- Ausblenden */
function togglehigh(id) {
var elem = document.getElementById(id);
if (!elem) return; 
	if (elem.className == "hide") {
	elem.className = "shownav";
	} else {
	elem.className = "hide";
	}
} 

function togglelow(id) {
var elem = document.getElementById(id);
if (!elem) return; 
	if (elem.className == "shownav") {
	elem.className = "hide";
	} else {
	elem.className = "shownav";
	}
}

function togglehighb(id) {
var elem = document.getElementById(id);
if (!elem) return; 
	if (elem.className == "hide") {
	elem.className = "contentCcolA";
	} else {
	elem.className = "hide";
	}
} 

function togglelowb(id) {
var elem = document.getElementById(id);
if (!elem) return; 
	if (elem.className == "contentCcolA") {
	elem.className = "hide";
	} else {
	elem.className = "contentCcolA";
	}
}

function togglehighc(id) {
var elem = document.getElementById(id);
if (!elem) return; 
	if (elem.className == "wearezvtitleboxhide") {
	elem.className = "wearezvtitlebox";
	} else {
	elem.className = "wearezvtitleboxhide";
	}
} 

function togglelowc(id) {
var elem = document.getElementById(id);
if (!elem) return; 
	if (elem.className == "wearezvtitlebox") {
	elem.className = "wearezvtitleboxhide";
	} else {
	elem.className = "wearezvtitlebox";
	}
}


function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

/* Agenda -Tipper: */
function showHide(id,vis) {
 document.getElementById(id).style.visibility=vis;
}



/*
 * cssjs
 * written by Christian Heilmann (http://icant.co.uk)
 * eases the dynamic application of CSS classes via DOM
 * parameters: action a, object o and class names c1 and c2 (c2 optional)
 * actions: swap exchanges c1 and c2 in object o
 *			add adds class c1 to object o
 *			remove removes class c1 from object o
 *			check tests if class c1 is applied to object o
 * example:	cssjs('swap',document.getElementById('foo'),'bar','baz');
*/


function getDivsByClass(classname) {
	var ccollect=new Array();
	var inc=0;
	var alltags=document.all? document.all : document.getElementsByTagName("div");
	
	for (i=0; i<alltags.length; i++) {
		if (alltags[i].className==classname) ccollect[inc++]=alltags[i];
	}
	return ccollect;
}

function getElementsByClass(classname) {
	var ccollect=new Array();
	var inc=0;
	var alltags=document.all? document.all : document.getElementsByTagName("*");
	
	for (i=0; i<alltags.length; i++) {
		if (alltags[i].className==classname) ccollect[inc++]=alltags[i];
	}
	return ccollect;
}

function displayFilter(filter, display) {
	var alltags = getDivsByClass(filter);
	
	for (var i=0; i<alltags.length; i++) {
		alltags[i].style.display = display;
	}
	
	return alltags.length;
}

function agendaFilter(filter) {
	var	filters = new Array("KINO", "KONZ", "KONG", "LESU", "TANZ", "THEA", "WORK", "AUST", "SPEC", "KIND", "FUEH");

	for (var i=0; i<filters.length; i++) {
		if(filter == filters[i]) {
			var len = displayFilter("filter_" + filters[i], "block");
		} else {
			displayFilter("filter_" + filters[i], "none");
		}
	}
	
	var notice = document.getElementById('filter_notice');
	if(len == 0) {
		notice.style.display = "block";
	} else {
		notice.style.display = "none";
	}	
}

function removeFilter() {
	var ccollect=new Array();
	var inc=0;
	var alltags=document.all? document.all : document.getElementsByTagName("div");
	
	for (i=0; i<alltags.length; i++) {
		if (alltags[i].className.substr(0,7) == "filter_") {
			alltags[i].style.display = "block";
		}
	}

	var notice = document.getElementById('filter_notice');
	notice.style.display = "none";
}

function cssjs(a,o,c1,c2)
{
	switch (a){
		case 'swap':
			o.className=!cssjs('check',o,c1)?o.className.replace(c2,c1):o.className.replace(c1,c2);
		break;
		case 'add':
			if(!cssjs('check',o,c1)){o.className+=o.className?' '+c1:c1;}
		break;
		case 'remove':
			var rep=o.className.match(' '+c1)?' '+c1:c1;
			o.className=o.className.replace(rep,'');
		break;
		case 'check':
			return new RegExp('\\b'+c1+'\\b').test(o.className)
		break;
	}
}

var expandedTriggerClass='triggerexpanded';
var normalTriggerClass='triggernormal';
var hoverTriggerClass='triggerhover';
var normalElementClass='elementnormal';
var collapsedElementClass='elementcollapsed';
var collapsedElements=new Array();
var triggerElements=new Array();

function domCollapse()
{
	if(document.getElementById && document.createTextNode)
	{
		//parentElementId='collapsesection';
		//triggerelements='h2';
		var triggerClass=/trigger/;

		var elms,tohide,colobj,elementsToCheck,triggerelements,parentElementId;
		elementsToCheck=triggerelements?triggerelements:'*';
		if(parentElementId)
		{
			elms=document.getElementById('parentElementId').getElementsByTagName(elementsToCheck);
		} else {
			elms=document.getElementsByTagName(elementsToCheck);
		}
		for (i=0;i<elms.length;i++)
		{
			if(triggerClass.test(elms[i].className))
			{
				tohide=elms[i].nextSibling;
				while(tohide.nodeType!=1)
				{
					tohide=tohide.nextSibling;
				}
				collapsedElements.push(tohide)
				triggerElements.push(elms[i])
				juggleClass(tohide,normalElementClass,0);
				juggleClass(tohide,collapsedElementClass,1);
				elms[i].colobj=tohide;
				elms[i].onmouseover=function(){doTriggerHover(this);}
				elms[i].onmouseout=function(){juggleClass(this,hoverTriggerClass,0);}
				elms[i].onclick=function(){doDomCollapse(this,this.colobj);return false}
				elms[i].className=elms[i].className+' '+normalTriggerClass;
			}
		}
	}
}
function doTriggerHover(o)
{
	if(!checkClass(hoverTriggerClass,o) && !checkClass(expandedTriggerClass,o))
	{
		juggleClass(o,hoverTriggerClass,1);
	}
}
function doDomCollapse(o,t)
{
	if(t)
	{
		if(checkClass(collapsedElementClass,t))
		{
			juggleClass(t,collapsedElementClass,0);
			juggleClass(t,normalElementClass,1);
			juggleClass(o,normalTriggerClass,0);
			juggleClass(o,expandedTriggerClass,1);
		}else{
			juggleClass(t,normalElementClass,0);
			juggleClass(t,collapsedElementClass,1);
			juggleClass(o,expandedTriggerClass,0);
			juggleClass(o,normalTriggerClass,1);
		}
	}
}
function doDomCollapseAll(state){
	var i,o,t;
	for(i=0;i<collapsedElements.length;i++){
		t=collapsedElements[i];	
		o=triggerElements[i];	
		if(state==1){
			juggleClass(t,collapsedElementClass,0);
			juggleClass(t,normalElementClass,1);
			juggleClass(o,normalTriggerClass,0);
			juggleClass(o,expandedTriggerClass,1);
		} else {
			juggleClass(t,normalElementClass,0);
			juggleClass(t,collapsedElementClass,1);
			juggleClass(o,expandedTriggerClass,0);
			juggleClass(o,normalTriggerClass,1);
		}
	}
}
function juggleClass(o,c,s)
{
	if(s==0) 
	{
		o.className=o.className.replace(c,'');	
	}
	if (s==1 && !checkClass(c,o))
	{
		o.className+=' '+c
	}
}
function checkClass(c,o)
{
	var re=new RegExp('\\b'+c+'\\b');
	return re.test(o.className);
}

window.onload=domCollapse;


// The copy-to-clipboard script taken from http://www.krikkit.net/howto_javascript_copy_clipboard.html
function copy_clip(meintext)
{

 if (window.clipboardData) 
   {
   
   // the IE-manier
   window.clipboardData.setData("Text", meintext);
   
   // waarschijnlijk niet de beste manier om Moz/NS te detecteren;
   // het is mij echter onbekend vanaf welke versie dit precies werkt:
   }
   else if (window.netscape) 
   { 
   
   // dit is belangrijk maar staat nergens duidelijk vermeld:
   // you have to sign the code to enable this, or see notes below 
   netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
   
   // maak een interface naar het clipboard
   var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
   if (!clip) return;
   
   // maak een transferable
   var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
   if (!trans) return;
   
   // specificeer wat voor soort data we op willen halen; text in dit geval
   trans.addDataFlavor('text/unicode');
   
   // om de data uit de transferable te halen hebben we 2 nieuwe objecten nodig   om het in op te slaan
   var str = new Object();
   var len = new Object();
   
   var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
   
   var copytext=meintext;
   
   str.data=copytext;
   
   trans.setTransferData("text/unicode",str,copytext.length*2);
   
   var clipid=Components.interfaces.nsIClipboard;
   
   if (!clip) return false;
   
   clip.setData(trans,null,clipid.kGlobalClipboard);
   
   }
   alert("Following info was copied to your clipboard:\n\n" + meintext);
   return false;
}


