function Toggle(id)
{
    if(document.getElementById(id).style.display == 'none')
    {
        document.getElementById(id).style.display = "block";
        if(document.getElementById("pm_"+id))
        {
            document.getElementById("pm_"+id).src = "gfx/icons/minus.png";
    	}
    }
    else
    {
        document.getElementById(id).style.display = "none";
		if(document.getElementById("pm_"+id))
		{
            document.getElementById("pm_"+id).src = "gfx/icons/plus.png";
    	}              
    }
}
function ToggleT(id,start)
{
	var pmel = document.getElementById("pm_"+id);
	if(pmel!=null){
		var pm = document.getElementById("pm_"+id).src.match("gfx/icons/plus.png");
		if(pm == "gfx/icons/plus.png"){
	        pmel.src = "gfx/icons/minus.png";
		}else{
			pmel.src = "gfx/icons/plus.png";
		}
	}
	var i=0;
	for(i=start;i<5000;i++){
		var el = document.getElementById(id+i);
		if(el==null){
			break;
		}
	    if(el.style.display == 'none')
	    {
	        el.style.display = "table-row";
	    }
	    else
	    {
	        el.style.display = "none";
	    }
	}
	
}

var bbcode = new Array("","[b]","[/b]","[i]","[/i]","[u]","[/u]","[left]","[/left]","[center]","[/center]",
						"[right]","[/right]","[link=http://]","[/link]","[email=","]","[img=","]","[irc=#","]",
						"[quote]","[/quote]","[size=]","[/size]","[color=]","[/color]");
var clientPC = navigator.userAgent.toLowerCase();
var clientVer = parseInt(navigator.appVersion);
var is_moz = 0;
var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
            && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)
            && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
var is_mac = (clientPC.indexOf("mac")!=-1);

function mozWrap(txtarea, open, close, overwrite)
{
	var selLength = txtarea.textLength;
	var selStart = txtarea.selectionStart;
	var selEnd = txtarea.selectionEnd;
	if (selEnd == 1 || selEnd == 2)
		selEnd = selLength;

	var s1 = (txtarea.value).substring(0,selStart);
	var s2 = (txtarea.value).substring(selStart, selEnd)
	var s3 = (txtarea.value).substring(selEnd, selLength);
	if(overwrite){
		txtarea.value = s1 + open + close + s3;
	}else{
		txtarea.value = s1 + open + s2 + close + s3;
	}
	return;
}
function ieWrap(txtarea, open, close, overwrite){
	theSelection = document.selection.createRange().text;
	if(theSelection)
	{
		if(overwrite){
			document.selection.createRange().text = open + close;
		}else{
			document.selection.createRange().text = open + theSelection + close;
		}
		txtarea.focus();		
	}else{
		txtarea.value += open + close;						
		txtarea.focus();	
	}
	return;	
}
function storeCaret(textEl){
	if (textEl.createTextRange)
		textEl.caretPos = document.selection.createRange().duplicate();
	return;	
}

function addbblist(feld,art){
	var txtarea = document.getElementById(feld);
	if(art=='ul' || art=='ol'){
		var kind = art;
	}else{
		var kind = prompt('Bitte geben Sie die Art der Liste ein:\r\n"ol"=geordnet(mit zahlen)\n"ul" oder leer =ungeordnet\r\n','ul');
	}
	var licount = prompt('Bitte geben Sie die Anzahl der Listenpunkte an','');
	if(licount>0){
		listtext = "[list=" + kind + "]\r\n";
		for(i=0;i<licount;i++){
			listtext += "[li]Listenpunkt"+(i+1)+"[/li]\r\n";
		}
		listtext += "[/list]";
		
		if ((clientVer >= 4) && is_ie && is_win)
		{
			ieWrap(txtarea,listtext,'',true);
			return;
		}else{
			if(txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
			{         	
				mozWrap(txtarea, listtext, '', true);
				return;
			}
	        else
			{
				txtarea.value += listtext;
				txtarea.focus();
				return;
			}	
		}
	}
	storeCaret(textEl);
	return;
}

function addbbtable(feld){
	var txtarea = document.getElementById(feld);
	
	var cols = prompt('Geben Sie bitte die Anzahl der Spalten an:','');
	var rows = prompt('Geben Sie bitte die Anzahl der Zeilen an:','');
	if(cols > 0 && rows > 0){
		var frame = prompt('Geben Sie bitte die Farbe der Rahmens ein\r\nkeine Eingabe=kein Rahmen','');
		tabletext = "[table=";
		
		if(frame == 'undefined' || frame==''){
			tabletext += "noborder]";
		}else{
			tabletext += frame + "]";
		}		
	
		for(i=0;i<rows;i++){
			tabletext += "[tr]\r\n";
			for(j=0;j<cols;j++){
				tabletext += "[td]Feld R"+(i+1) + "S"+(j+1) + "[/td]\r\n";
			}
			tabletext += "[/tr]\r\n";
		}
		tabletext += "[/table]\r\n";		
	
		if ((clientVer >= 4) && is_ie && is_win)
		{
			ieWrap(txtarea,tabletext,'',true);
			return;
		}else{
			if(txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
			{         	
				mozWrap(txtarea, tabletext, '', true);
				return;
			}
	        else
			{
				txtarea.value += tabletext;
				txtarea.focus();
				return;
			}	
		}
	}
	storeCaret(txtarea);
	return;
}

function addbbcode(codenr,feld)
{
	var txtarea = document.getElementById(feld);

	donotinsert = false;
    theSelection = false;
    bblast = 0;
	
	if ((clientVer >= 4) && is_ie && is_win)
	{
       theSelection = document.selection.createRange().text; // Get text selection
       
        if(theSelection)
		{			
			document.selection.createRange().text = bbcode[codenr] + theSelection + bbcode[codenr*1+1];
			txtarea.focus();
			return;
		}
        else
		{
			txtarea.value += bbcode[codenr] + bbcode[codenr*1+1];						
			txtarea.focus();
			return;
		}
	}
	else
	{      		
        if(txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
		{         	
			mozWrap(txtarea, bbcode[codenr], bbcode[codenr*1+1], false);
			return;
		}
        else
		{
			txtarea.value = txtarea.value + bbcode[codenr] + bbcode[codenr*1+1];
			txtarea.focus();
			return;
		}
	}
	storeCaret(txtarea);
}


var oldLink = null;
// code to change the active stylesheet
function setActiveStyleSheet(link, title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
  if (oldLink) oldLink.style.fontWeight = 'normal';
  oldLink = link;
  link.style.fontWeight = 'bold';
  return false;
}

// This function gets called when the end-user clicks on some date.
function selected(cal, date) {
  cal.sel.value = date; // just update the date in the input field.
  if (cal.dateClicked && (cal.sel.id == "sel1" || cal.sel.id == "sel3"))
    // if we add this call we close the calendar on single-click.
    // just to exemplify both cases, we are using this only for the 1st
    // and the 3rd field, while 2nd and 4th will still require double-click.
    cal.callCloseHandler();
}

// And this gets called when the end-user clicks on the _selected_ date,
// or clicks on the "Close" button.  It just hides the calendar without
// destroying it.
function closeHandler(cal) {
  cal.hide();                        // hide the calendar
//  cal.destroy();
  _dynarch_popupCalendar = null;
}

// This function shows the calendar under the element having the given id.
// It takes care of catching "mousedown" signals on document and hiding the
// calendar if the click was outside.
function showCalendar(id, format, showsTime, showsOtherMonths) {
  var el = document.getElementById(id);
  if (_dynarch_popupCalendar != null) {
    // we already have some calendar created
    _dynarch_popupCalendar.hide();                 // so we hide it first.
  } else {
    // first-time call, create the calendar.
    var cal = new Calendar(1, null, selected, closeHandler);
    // uncomment the following line to hide the week numbers
    // cal.weekNumbers = false;
    if (typeof showsTime == "string") {
      cal.showsTime = true;
      cal.time24 = (showsTime == "24");
    }
    if (showsOtherMonths) {
      cal.showsOtherMonths = true;
    }
    _dynarch_popupCalendar = cal;                  // remember it in the global var
    cal.setRange(1990, 2025);        // min/max year allowed.
    cal.create();
  }
  _dynarch_popupCalendar.setDateFormat(format);    // set the specified date format
  _dynarch_popupCalendar.parseDate(el.value);      // try to parse the text in field
  _dynarch_popupCalendar.sel = el;                 // inform it what input field we use

  // the reference element that we pass to showAtElement is the button that
  // triggers the calendar.  In this example we align the calendar bottom-right
  // to the button.
  _dynarch_popupCalendar.showAtElement(el.nextSibling, "Br");        // show the calendar

  return false;
}

function AtemschutztypChange(formular){
	var index  = formular.Atemschutztyp.selectedIndex;
    var value = formular.Atemschutztyp.options[index].value;
    if(value == "t_einsatz"){
    	formular.ergebnis.disabled = true;
    	formular.geraet.disabled = false;
    	formular.maske.disabled = false;
    	formular.gueltigbis.disabled = true;
    	formular.dauer.disabled = false;
    	formular.bemerkung.disabled = false;
    }else if(value == "t_uebung"){
    	formular.ergebnis.disabled = true;
    	formular.geraet.disabled = false;
    	formular.maske.disabled = false;
    	formular.gueltigbis.disabled = true;
    	formular.dauer.disabled = false;
    	formular.bemerkung.disabled = false;
    }else if(value == "t_g26"){
    	formular.ergebnis.disabled = false;
    	formular.geraet.disabled = true;
    	formular.maske.disabled = true;
    	formular.gueltigbis.disabled = false;
    	formular.dauer.disabled = true;
    	formular.bemerkung.disabled = false;
    }else if(value == "t_theorie"){
    	formular.ergebnis.disabled = true;
    	formular.geraet.disabled = true;
    	formular.maske.disabled = true;
    	formular.gueltigbis.disabled = true;
    	formular.dauer.disabled = true;
    	formular.bemerkung.disabled = false;
    }else if(value == "t_belastung"){
    	formular.ergebnis.disabled = false;
    	formular.geraet.disabled = true;
    	formular.maske.disabled = true;
    	formular.gueltigbis.disabled = false;
    	formular.dauer.disabled = true;
    	formular.bemerkung.disabled = false;
    }else if(value == "t_einsatzuebung"){
    	formular.ergebnis.disabled = true;
    	formular.geraet.disabled = false;
    	formular.maske.disabled = false;
    	formular.gueltigbis.disabled = true;
    	formular.dauer.disabled = false;
    }else{
    	formular.ergebnis.disabled = false;
    	formular.geraet.disabled = false;
    	formular.maske.disabled = false;
    	formular.gueltigbis.disabled = false;
    	formular.dauer.disabled = false;
    }
}
