function showErrorDetails( value ){
	el = document.getElementById('div_error_long');
	el.className = (value ? '' : 'nodisplay');
	el = document.getElementById('div_error_short');
	el.className = (value ? 'nodisplay' : '');
}

function disableLinks(){
	for ( var i = 0; ( el = document.getElementsByTagName( 'a' )[i] ); i++ ) {
		if ( el.getAttribute( 'href' ) &&
			 el.getAttribute( 'href' ).indexOf( 'print()' ) == -1 &&
			 el.getAttribute( 'href' ).indexOf( 'close()' ) == -1 ){
			el.onclick = function(){return false;}
		}
	}
}

function disableForms() {
	for ( var i = 0; ( el = document.getElementsByTagName( "input" )[i] ); i++ ) {
		el.setAttribute( "disabled", "true");
		el.onclick = function(){return false;};
	}
}

function showHelpView(){
	return ! window.open( 'help.do', 'help', 'width=550,height=600,toolbar=no,location=no,scrollbars=yes' );
}
function showSymbolsHelpView(){
	return ! window.open( 'symbols.do', 'help', 'width=550,height=600,toolbar=no,location=no,scrollbars=yes' );
}

/*
 * Parameters:
 * oElm        - Element
 * strTagname  - Name des Elements
 * oClassNames - Klassenname
 */
function getElementsByClassName(oElm, strTagName, oClassNames){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	var arrRegExpClassNames = new Array();
	if(typeof oClassNames == "object"){
		for(var i=0; i<oClassNames.length; i++){
			arrRegExpClassNames.push(new RegExp("(^|\s)" + oClassNames[i].replace(/-/g, "\-") + "(\s|$)"));
		}
	}
	else{
		arrRegExpClassNames.push(new RegExp("(^|\s)" + oClassNames.replace(/-/g, "\-") + "(\s|$)"));
	}
	var oElement;
	var bMatchesAll;
	for(var j=0; j<arrElements.length; j++){
		oElement = arrElements[j];
		bMatchesAll = true;
		for(var k=0; k<arrRegExpClassNames.length; k++){
			if(!arrRegExpClassNames[k].test(oElement.className)){
				bMatchesAll = false;
				break;
			}
		}
		if(bMatchesAll){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

/*
 * Parameter:
 * tab        - Referenz auf das zu aktivierende Tab-Element (this)
 * context    - Name des Elements in dem sich die Tab-Element befinden (DIV)
 * page       - Name des Elements das angezeigt werden soll (DIV)
 * classnname - Name der Klasse in der sich die Style-Informationen des Tabs
 *              bei Aktivierung befinden (z.B. active)
 *
 * Vorraussetzungen:
 * - Prototype
 */
function selectTab(tab, context, page, classname) {
	document.getElementsByClassName(classname).each(
		function(active_tab) {
			active_tab.removeClassName(classname);
		}
	);
	tab.addClassName(classname);
	$$('#' + context + ' div').each(
		function(el) {
			el.hide();
		}
	);
	$(document.getElementById(page)).show();
}

function resetPropertiesForm() {
	document.forms.propertiesForm.elements.searchEntry.value='';
	document.forms.propertiesForm.elements.searchModeKey.value='';
	document.forms.propertiesForm.elements.searchModeValue.checked="checked";
}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
	window.onload = func;
  } else {
	window.onload = function() {
	  oldonload();
	  func();
	}
  }
}

function addResizeEvent(func) {
  var oldonresize = window.onresize;
  if (typeof window.onresize != 'function') {
	window.onresize = func;
  } else {
	window.onresize = function() {
	  oldonresize();
	  func();
	}
  }
}

function checkType() {
	var doctype = document.getElementsByName('recherche.doctype');
	var type = document.getElementById('typ');

	if ( type != null ) {
		for (i = 0; i < type.length; i++) {
			if ( type.options[i].selected == true ) {
				type = type.options[i].value;
				continue;
			} 
		}
	
		if ( type == "0" || type == "1" ) {
			for ( i = doctype.length -1; i >= 0; i--) {
				doctype[i].disabled = false;
			}
		}
	
		if ( type == "2" ) {
			for ( i = doctype.length -1; i >= 0; i--) {
				if ( doctype[i].value == "e" || doctype[i].value == "n" )
					doctype[i].disabled = true;
				else
					doctype[i].disabled = false; 
			}
		}
		
		if ( type == "3" ) {
			for ( i = doctype.length -1; i >= 0; i--) {
				doctype[i].disabled = true;
			}
		}
	}
}
