function insert(aTag, eTag) {
  var input = document.forms['Post'].elements['Text'];
  input.focus();
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einfügen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    /* Anpassen der Cursorposition */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -eTag.length);
    } else {
      range.moveStart('character', aTag.length + insText.length + eTag.length);      
    }
    range.select();
  }
  /* für neuere auf Gecko basierende Browser */
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Einfügen des Formatierungscodes */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    /* Anpassen der Cursorposition */
    var pos;
    if (insText.length == 0) {
      pos = start + aTag.length;
    } else {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* für die übrigen Browser */
  else
  {
    /* Abfrage der Einfügeposition */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  }
}

function FensterOeffnen (Adresse) {
	Fenster1 = window.open(Adresse, "Smilies", "width=300,height=400,left=100,top=200,scrollbars=yes");
	Fenster1.focus(); 
}

function schreibeadd(attwert,grundwert, feld, fpkt, pktfeld, maxdiff) {
	var punkte = fpkt;
	if (attwert < grundwert + maxdiff && punkte > 0) {
		attwert++;
		punkte--;
	}
	document.formular.elements[feld].value = attwert;
	document.formular.elements[pktfeld].value = punkte;
}

function schreibesub(attwert, grundwert, feld, fpkt, pktfeld, maxdiff) {
	var punkte = fpkt;
	if (attwert > grundwert - maxdiff) {
		attwert--;
		punkte++;
	}
	document.formular.elements[feld].value = attwert;
	document.formular.elements[pktfeld].value = punkte;
}

function addHybrid(attwert,grundwert, feld1, feld2, fpkt, pktfeld, maxdiff) {
	var punkte = fpkt;
	if (attwert < grundwert + maxdiff && punkte > 0) {
		attwert++;
		punkte--;
	}
	document.formular.elements[feld1].value = attwert;
	document.formular.elements[feld2].value = attwert;
	document.formular.elements[pktfeld].value = punkte;
}

function subHybrid(attwert, grundwert, feld1, feld2, fpkt, pktfeld, maxdiff) {
	var punkte = fpkt;
	if (attwert > grundwert - maxdiff) {
		attwert--;
		punkte++;
	}
	document.formular.elements[feld1].value = attwert;
	document.formular.elements[feld2].value = attwert;
	document.formular.elements[pktfeld].value = punkte;
}

function blockSubmit(fpkt, eingabeFeld) {
	if (fpkt != 0) {
		document.formular.submit.disabled = true;
	} else {
		document.formular.submit.disabled = false;
	}
}

function changegabe(feld, fpkt, pktfeld, kosten) {
	var punkte;
    var freiePunkte = Number(fpkt);
    var gabeKosten = Number(kosten);
	if (document.formular.elements[feld].checked) {
		if (freiePunkte >= gabeKosten) {
			punkte = freiePunkte - gabeKosten;
		}
	} else {
		punkte = freiePunkte + gabeKosten;
	}
	document.formular.elements[pktfeld].value = punkte;
}

function ausgrauen(fpkt, start, ende) {
    var freiePunkte = Number(fpkt);
    var nextfeld;
	var kosten;
	for (var i = start; i <= ende; i = i + 2) {
		nextfeld = i+1;
		kosten = Number(document.formular.elements[nextfeld].value);
		if (freiePunkte < kosten) {
			if (!document.formular.elements[i].checked) {
                document.formular.elements[i].disabled = true;
			}
		} else {
			if (!document.formular.elements[i].checked) {
				document.formular.elements[i].disabled = false;
			}
		}
    }
}
function fertigGrau(fpkt, start, ende) {
	var freiePunkte = Number(fpkt);
	for (var i = start; i <= ende; i++) {
		if (freiePunkte == 0) {
			if (!document.formular.elements[i].checked) {
                document.formular.elements[i].disabled = true;
			}
		} else {
			if (!document.formular.elements[i].checked) {
				document.formular.elements[i].disabled = false;
			}
		}
    }
}

function nixSubmit(tp) {
	var freieTP = Number(tp);
	if (freieTP == 0) {
		document.formular.submit.disabled = false;
	} else {
		document.formular.submit.disabled = true;
	}
}

function tausch(von, vonfeld, nach, nachfeld) {
	var ziel = Number(nach);
	var herkunft = Number(von);
	if (herkunft >= 2) {
		herkunft = herkunft - 2;
		ziel = ziel + 1;
		document.formular.elements[vonfeld].value = herkunft;
		document.formular.elements[nachfeld].value = ziel;
	}
}

