// Vars
var timeout = 500;
var timer = 0;
var menuitem = 0;

// Show submenu
function showitem(id, keep){
	// cancelclosetimer
	cancelclosetimer();
	
	//close layer
	if(menuitem)menuitem.style.visibility= 'hidden';
	
	//show new layer
	menuitem = document.getElementById(id);
	menuitem.style.visibility='visible';
}

function hideitem(id){
	if(menuitem)menuitem.style.visibility='hidden';
}

// closetimer
function closetimer(){
	timer = window.setTimeout(hideitem, timeout);
	
}

// cancelclosetimer
function cancelclosetimer(){
	if(timer){
		window.clearTimeout(timer);
		timer = null;
	}
}

document.onclick = hideitem;

// Dimmer
function dimmer(id){
	if(document.getElementById(id).style.display='none'){
		document.getElementById(id).style.display='inline';
	}
}
function closedimmer(id){
	if(document.getElementById(id).style.display='inline'){
		document.getElementById(id).style.display='none';
	}
}

// BB Code
function insert(aTag, eTag) {
var input = document.forms['form'].elements['ans'];
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);
  }
}
