ns4 = (document.layers)		? true : false;
ie4 = (document.all)		? true : false;
ng5 = (document.getElementById)	? true : false;

function hideLayer(laja) { 
	if (ng5) document.getElementById(laja).style.visibility = "hidden";
	else if (ns4) document.layers[laja].visibility = "hide";
	else if (ie4) document.all[laja].style.visibility = "hidden";
}

function showLayer(laja) { 
	if (ng5) document.getElementById(laja).style.visibility = "visible";
	else if (ns4) document.layers[laja].visibility = "show";
	else if (ie4) document.all[laja].style.visibility = "visible";
}

function undisplayLayer(laja) { 
	if (ng5) document.getElementById(laja).style.display = "none";
	else if (ie4) document.all[laja].style.display = "none";
}

function displayLayer(laja) { 
	if (ng5) document.getElementById(laja).style.display = "";	// former: inline
	else if (ie4) document.all[laja].style.display = "";		// former: inline
}

function toggle (laja) {
	var visible	= (ng5) ? document.getElementById(laja).style.display : document.all[laja].style.display;
	if (visible == 'none') {
		displayLayer(laja);
	}
	else {
		undisplayLayer(laja);
	}
}

var da = (document.all) ? 1 : 0;
var pr = (window.print) ? 1 : 0;
var mac = (navigator.userAgent.indexOf("Mac") != -1); 

function printitnow () {
	if (pr) {
		// NS4, IE5
		window.print();
	}
	else if (da && !mac) {
		// IE4 (Windows)
		vbPrintPage();
	}
	else {
		alert("Eine Druckfunktion ist in Ihrem Browser leider nicht enthalten.");
		return false;
	}
}

if (da && !pr && !mac) with (document) {
	writeln('<OBJECT ID="WB" WIDTH="0" HEIGHT="0" CLASSID="clsid:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>');
	writeln('<' + 'SCRIPT LANGUAGE="VBScript">');
	writeln('Sub window_onunload');
	writeln('  On Error Resume Next');
	writeln('  Set WB = nothing');
	writeln('End Sub');
	writeln('Sub vbPrintPage');
	writeln('  OLECMDID_PRINT = 6');
	writeln('  OLECMDEXECOPT_DONTPROMPTUSER = 2');
	writeln('  OLECMDEXECOPT_PROMPTUSER = 1');
	writeln('  On Error Resume Next');
	writeln('  WB.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER');
	writeln('End Sub');
	writeln('<' + '/SCRIPT>');
}

function toggleDisplay (toggle_id) {
  // {{{
  var toggle_element = (typeof(toggle_id) == 'object') ? toggle_id : document.getElementById(toggle_id);
  if (!toggle_element) return;

  toggle_element.style.visibility = 'visible';
  toggle_element.style.display    = (document.getElementById(toggle_id).style.display == 'none') ? '' : 'none';
  // }}}
}

function showElement (show_id, display_block) {
  // {{{
  var show_element = (typeof(show_id) == 'object') ? show_id : document.getElementById(show_id);
  if (!show_element) return;

  var display_mode = (display_block == undefined || display_block == false) ? '' : 'block';

  show_element.style.visibility = 'visible';
  show_element.style.display    = display_mode;
  // }}}
}

function hideElement (hide_id) {
  // {{{
  var hide_element = (typeof(hide_id) == 'object') ? hide_id : document.getElementById(hide_id);
  if (!hide_element) return;

  hide_element.style.visibility = 'hidden';
  hide_element.style.display    = 'none';
  // }}}
}

function clearContent (clear_id) {
  // {{{
  var clear_element = (typeof(clear_id) == 'object') ? clear_id : document.getElementById(clear_id);
  if (!clear_element) return;

  clear_element.innerHTML  = '';
  // }}}
}

String.prototype.trim = function () {
  // {{{
  return this.replace(/^\s+|\s+$/g,'');
  // }}}
}

String.prototype.isIPv4Address = function () {
  // {{{
  if (this.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/)) {
    return true;
  }
  return false;
  // }}}
}

function addClass (add_id, add_class) {
  // {{{
  var add_element = (typeof(add_id) == 'object') ? add_id : document.getElementById(add_id);
  if (!add_element) return;

  var curr_classes  = add_element.className;
  if (curr_classes.length > 0) {
    curr_classes  += ' ';
  }
  curr_classes  += add_class;
  add_element.className = curr_classes;
  // }}}
}

function removeClass (remove_id, remove_class) {
  // {{{
  var remove_element = (typeof(remove_id) == 'object') ? remove_id : document.getElementById(remove_id);
  if (!remove_element) return;

  if (remove_element.className.indexOf(remove_class) != -1) {
    var curr_classes  = remove_element.className;
    var new_classes   = curr_classes.replace(remove_class, '');
    remove_element.className  = new_classes.trim();
  }
  // }}}
}

function hasClass (has_id, has_class) {
  // {{{
  var has_element = (typeof(has_id) == 'object') ? has_id : document.getElementById(has_id);
  if (!has_element) return;

  var curr_classes  = has_element.className;
  if (curr_classes.indexOf(has_class + ' ') != -1 || curr_classes.indexOf(' ' + has_class) != -1 || curr_classes == has_class) {
    return true;
  }
  return false;
  // }}}
}

function toggleClass (toggle_id, toggle_class) {
  // {{{
  var toggle_element = (typeof(toggle_id) == 'object') ? toggle_id : document.getElementById(toggle_id);
  if (!toggle_element) return;

  var curr_classes  = toggle_element.className;
  if (curr_classes.indexOf(toggle_class + ' ') != -1 || curr_classes.indexOf(' ' + toggle_class) != -1 || curr_classes == toggle_class) {
    removeClass(toggle_element, toggle_class);
  }
  else {
    addClass(toggle_element, toggle_class);
  }
  // }}}
}

function createCenteredPopupWindow (url) {
  // {{{
  var width   = 760;
  var height  = 600;
  var left    = (screen.width - width) / 2;
  var top     = 20;
  var winname = 'win' + (new Date()).getTime();
  var params  = 'width=' + width + ', height=' + height;
    params  += ', top=' + top + ', left=' + left;
    params  += ', directories=no';
    params  += ', location=no';
    params  += ', menubar=no';
    params  += ', resizable=yes';
    params  += ', scrollbars=yes';
    params  += ', status=yes';
    params  += ', toolbar=no';
  var newwin  = window.open(url, winname, params);
  if (!newwin) {
    alert("Ein Popup-Blocker scheint das Öffnen neuer Fenster zu verhindern.\nBitte erlauben Sie Popups für den Server serono.eawb.entwicklung.biomedpark.de.");
    return false;
  }
  if (window.focus) {
    newwin.focus();
  }
  return winname;
  // }}}
}

function closeThisWindow () {
  // {{{
  window.close();
  return false;
  // }}}
}

function hideAllSelectElements (parent_id) {
  // {{{
  var parent_element  = (typeof(parent_id) == 'object') ? parent_id : document.getElementById(parent_id);
  if (!parent_element) return;

  var selectElements  = parent_element.getElementsByTagName('select');
  for (var y = 0; y < selectElements.length; y++) {
    hideElement(selectElements[y]);
  }
  // }}}
}

function showAllSelectElements (parent_id) {
  // {{{
  var parent_element  = (typeof(parent_id) == 'object') ? parent_id : document.getElementById(parent_id);
  if (!parent_element) return;

  var selectElements  = parent_element.getElementsByTagName('select');
  for (var y = 0; y < selectElements.length; y++) {
    showElement(selectElements[y]);
  }
  // }}}
}

