

if(navigator.userAgent.indexOf("Opera") != -1) {
	document.write('<link rel="stylesheet" type="text/css" href="../styled_opera.css">');
}




// call after the last radiobutten whitch items need to be selected according to the state of trigger
// trigger must be one of the values of the radio-buttons.
// defaultvalue can be null or nothing or value which corresponding button will be selected
// defaultselected can be number from 0 - ...; if defaultvalue or trigger not found, button number 'defaulselected' will be set
// example for call: <input type="radio" value="pic_ico_graph.gif" name="content.data[type]><script>checkRadios("%module.criteria%")</script>
function checkRadios(trigger,defaultvalue,defaultselected)
{
	myselect=document.forms[document.forms.length-1].elements[document.forms[document.forms.length-1].elements.length-1];
	myradio = document.forms[document.forms.length-1].elements[myselect.name];
	if(trigger.substr(0,1)=='%')
	{
		 if(typeof(defaultvalue)!="undefined") trigger=defaultvalue;
		 else 
		 if(typeof(defaultselected)=="undefined") 
			return;
	}
	for(i=0;i<myradio.length;i++)
	{
		if(myradio[i].value==trigger)
		{
			myradio[i].checked=true;
			return;
		}
	}
	if(typeof(defaultselected)!="undefined")
	{
		if(typeof(myradio[defaultselected])!="undefined") myradio[defaultselected].checked=true;
	}
}

// call after every selectbox whitch items need to be selected according to the state of trigger
// trigger can be one or more values (comma-separated). Every item with the same value as on of the triggers will be selected
// example for call: <select ....><script>selectSelecter("%module.criteria%")</script>
function selectSelecter(trigger,defaultvalue)
{
	if(trigger.substr(0,1)=='%')
	{
		if(defaultvalue) trigger=defaultvalue;		
		else return 0;
	}
	myselect=document.forms[document.forms.length-1].elements[document.forms[document.forms.length-1].elements.length-1];
	items = trigger.split(",");
	for(j=0;j<myselect.options.length;j++)
	{
		myselect.options[j].selected=false;
	}
	for(i=0;i<items.length;i++)
	{
		for(j=0;j<myselect.options.length;j++)
		{
			if(myselect.options[j].value==items[i])
			{
				myselect.options[j].selected=true;
			}
			
		}
	}
	if(myselect.selectedIndex>=0) return myselect.selectedIndex;
	else return 0;
}

// call after every checkbox that needs to be checked or not according to the state of trigger
// trigger must match to value of checkbox to select checkbox
// example for call: <input type=checkbox ....><script>checkboxChecker("%module.criteria%")</script>
// v2 [8.5.03]: trigger can also be a comma-separated string of values. If there are several checkboxes with the same name, all of them will be selected which value matches one of the values in the string
function checkboxChecker(trigger,def)
{
	myForm = document.forms[document.forms.length-1];
	myElement = myForm.elements[myForm.elements.length-1];
	if(myForm.elements[myElement.name].length>1)
	{
		// split values into array
		if(trigger.substr(0,1)=='%')
			if(def) var myValues = def.toString().split(",");
			else return;
		else
			var myValues = trigger.split(",");
		var trueVals = new Array();
		for( var i = 0;i<myValues.length;i++)
			trueVals[myValues[i]] = true;
		
		for( var i = 0;i<myForm.elements[myElement.name].length;i++)
		{
			if(myForm.elements[myElement.name][i].type=="checkbox")
			{
				myForm.elements[myElement.name][i].checked = trueVals[myForm.elements[myElement.name][i].value];
			}
		}
	}
	else
	{
		if(trigger.substr(0,1)=='%')
		{
			if(def) myElement.checked=true;
		 	return;
		}
		myElement.checked=(myElement.value==trigger);
	}
}

/* Schrift verändern: Start */
if(typeof fontsize != 'undefined')
{
    if(fontsize == "%font" + "size%") {
    	fontsize = 85;
    }

    if(cookieRead("fontsizesave_fuw")) {
    	fontsize = cookieRead("fontsizesave_fuw");
    	document.write('<style type="text/css">body{font-size:'+ fontsize +'%;}</style>');
    }
    else {
    	document.write('<style type="text/css">body{font-size:'+ fontsize2 +'%;}</style>');
    }
    
}
function changeFontSize(step,todo) {
	if (todo == 'inc') {
		if(fontsize <= fontmax) {
			fontsize = parseInt(fontsize) + step;						
		}
	}
	else  {
		if(fontsize >= fontmin) {
			fontsize = parseInt(fontsize) - step;						
		}						
	}
	document.body.style.fontSize = fontsize + "%";
	var myAjax = new Ajax.Request('dyn_output.html', {parameters: 'content.void='+ cmsvoid +'&SID='+ SID +'&sess_fontsize=' + fontsize});
	cookieWrite("fontsizesave_fuw",fontsize,60);
	//alert(fontsize);
	//alert(fontmax);
	if(fontsize <= fontmax) {
		document.getElementById('incfont1').style.display = 'block';
	}
	else {
		document.getElementById('incfont1').style.display = 'none';
	}
	//alert(fontmin);
	if(fontsize >= fontmin) {
		document.getElementById('decfont1').style.display = 'block';
	}
	else {
		document.getElementById('decfont1').style.display = 'none';
	}
}
/* Schrift verändern: End */

function openPicWin(pFileName,pWinName,pWidth,pHeight) {
	var isNS = (document.layers) ? true : false;
	
	if (isNS) pHeight = pHeight + 19;
		eval("allSettings = 'width="+pWidth+",height="+pHeight+",menubar=yes,scrollbars=yes,status=yes,resizable=yes'");
		w=window.open(pFileName,pWinName,allSettings);
		w.window.focus();
}

// functions for iframe expander in all various browsers [START]

function getIFrameDoc( name ) {
  var IFrameDoc;
  var Height;
  var IFrameObj = document.getElementsByName(''+name)[0];
  
  if (typeof document.frames != 'undefined') {
    IFrameObj = document.frames[name];
  }
  
  if (IFrameObj.contentDocument) {
    // For NS6
    IFrameDoc = IFrameObj.contentDocument; 
  } else if (IFrameObj.contentWindow) {
    // For IE5.5 and IE6
    IFrameDoc = IFrameObj.contentWindow.document;
  } else if (IFrameObj.document) {
    // For IE5
    IFrameDoc = IFrameObj.document;
  } else {
    return false;
  }
  
  if(typeof IFrameDoc.body != 'undefined')
  {
    return IFrameDoc.body;
  }
  else
  {
    return IFrameDoc.documentElement;
  }
}

/*
* gets the height of an iframe document
*/
function getIFrameDocHeight( name )
{
var IFrameDoc = getIFrameDoc( name );
  if(typeof IFrameDoc == 'undefined')
    return false;
  return IFrameDoc.scrollHeight;
}

/*
* gets the width of an iframe document
*/
function getIFrameDocWidth( name )
{
var IFrameDoc = getIFrameDoc( name );
  if(typeof IFrameDoc == 'undefined')
    return false;
  return IFrameDoc.scrollWidth;
}

// functions for iframe expander in all various browsers [END]


function setTab(which,anzLayer) {	
	if(document.getElementById) {		
		for(var i = 1; i <= anzLayer; i++) {
			if(i == which) {
				if (typeof(document.getElementById('tab' + which).style) != 'undefined') document.getElementById('tab' + which).className = 'ftabmarked';			
				document.getElementById('tabLayer' + which).style.display='block';
			}
			else
			{	
				if (typeof(document.getElementById('tab' + i).style) != 'undefined') document.getElementById('tab' + i).className = 'ftab';			
				document.getElementById('tabLayer' + i).style.display='none';
			}
		}
	}
}

// check all tables if they need to be highlighted (-> if they has the class className)
// add onClick handlers for every row
var cellHighlightClass = 'highlightCell';	// name of the class to append if user clicks on row
var cellHighlightHover = 'highlightCellHover';
var cellHighlightClick = 'highlightCellClick';
var rowNoHighlightClass = 'nohighlight';	// name of the class for rows which shouldn't be highlighted
var cellHighlightLock	= true;
function addTableHighlighter(className)
{
	cellHighlightLock = false;
}

// handler for the row. gets the source of the event and sets the classname for
// the cell
function changeRowClassHandler(evt)
{
	if(cellHighlightLock) return;
	if (!evt) { evt = Event.element(window.event); }
	changeRowClass(evt, cellHighlightClick);
}

function addRowClassHandler(evt)
{
	if(cellHighlightLock) return;
	if (!evt) { evt = Event.element(window.event); }
	Element.addClassName(evt, cellHighlightHover);
}

function removeRowClassHandler(evt)
{
	if(cellHighlightLock) return;
	if (!evt) { evt = Event.element(window.event); }
	Element.removeClassName(evt, cellHighlightHover);
}



// adds or removes the classname of all td elements of the tr
function changeRowClass(trElement, className)
{
	if (!className)
	{
		className = cellHighlightClass;
	}
	
	if (!Element.hasClassName(trElement, className))
	{
		Element.addClassName(trElement, className);
	}
	else
	{
		Element.removeClassName(trElement, className);
	}
}
