
function tooltip(what, id) {
   if(what=="open") {
      document.getElementById(id).style.display='block';
   } else if(what=="close") {
      document.getElementById(id).style.display="none";
   } else {
      alert("tooltip: Unknown Option!");
   }
}

//#==> BBCODE

function insert_bbcode(aTag, eTag, formular) {
  var input = document.getElementById(formular);
  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 insert_bbcode_url(formular) {
   input = document.getElementById(formular);
   input.focus();
	url = window.prompt("Bitte Adresse eingeben:", "http://");
	if(input.selectionStart == input.selectionEnd) {
		text = window.prompt("Bitte Beschriftung eingeben:", "");
		insert_bbcode("[url="+url+"]"+text, "[/url]", formular);
	} else {
		insert_bbcode("[url="+url+"]", "[/url]", formular);
	}
}

function insert_bbcode_email(formular) {
   input = document.getElementById(formular);
   input.focus();
	url = window.prompt("Bitte E-Mail-Adresse eingeben:", "");
	if(input.selectionStart == input.selectionEnd) {
		text = window.prompt("Bitte Beschriftung eingeben:", "");
		insert_bbcode("[email="+url+"]"+text, "[/email]", formular);
	} else {
		insert_bbcode("[email="+url+"]", "[/email]", formular);
	}
}




//#==> BBCODE ende



function replaceSelectData(object, data) {
	var j = object.length;
	for(var i=0; i<j; i++) object.options[object.length-1] = null;
	object.options[0] = new Option('', 0, true, true);
	for(var i=0; i<(data.length-1); i++) {
		entry = new Option(data[i][1], data[i][0], false, true);
    	object.options[(i+1)] = entry;
	}
	object.options[0].selected = true;
}

function collapseTable(id) {
   var el = document.getElementById(id);
   if(el.style.display=="none") {
	  el.style.display="";
	  el.style.visibility='visible';
   } else {
	  el.style.display="none";
	  el.style.visibility='hidden';
   }
}

function collapseTableSinglerow(tableid, cellid) {
   var el = document.getElementById(cellid);
   if(el.style.display!="none") {
	  el.style.display="none";
	  el.style.visibility='hidden';
     return true;
   }
   
   tel = document.getElementById(tableid);
   for(var i=0; i<tel.childNodes[1].childNodes.length; i++) {
      if(tel.childNodes[1].childNodes[i].id) {
         tel.childNodes[1].childNodes[i].style.display="none";
         tel.childNodes[1].childNodes[i].style.visibility='hidden';
      }
   }

   el.style.display="";
	el.style.visibility='visible';
}

function reloadImage(id) {
   var src = document.getElementById(id).src;
   var seperator="";
   if(src.toString().search('/\?/')>-1) {
      seperator='&';
   } else {
      seperator='?';
   }
   document.getElementById(id).src = document.getElementById(id).src+seperator+(new Date()).getTime();
}

function FCKHack() {
    for ( i = 0; i < parent.frames.length; ++i ) {
        if ( parent.frames[i].FCK )
            parent.frames[i].FCK.UpdateLinkedField();
    }
}

function addslashes(str) {
   str=str.replace(/\\/g,'\\\\\\\\');
   str=str.replace(/\'/g,'\\\'');
   str=str.replace(/\"/g,'\\"');
   str=encodeURIComponent(str);
   return str;
}

function java_status() {
	if(navigator.javaEnabled()) {
		return true;
	} else {
		return false;
	}
}



function count_chars( str, mode ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Ates Goral (http://magnetiq.com)
    // +    tweaked by: Jack
    // +   bugfixed by: Onno Marsman
    // +      input by: Brett Zamir (http://brettz9.blogspot.com)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: count_chars("Hello World!", 1);
    // *     returns 1: "Hd e!lWor"

    var histogram = {}, tmp_arr = [];
    var key, i, code, strl = 0;
    var argc = arguments.length;
    var mode_even = 0;

    if (argc == 1) {
        mode = 0;
    }

    mode_even = (mode & 1) == 0;
    if (mode_even) {
        for (i = 1; i < 256; ++i) {
            histogram[i] = 0;
        }
    }

    str += '';

    strl = str.length;
    for (i = 0; i < strl; ++i) {
        code = str.charCodeAt(i);
        if (code in histogram) {
            ++histogram[code];
        } else {
            histogram[code] = 1;
        }
    }

    if (mode > 0) {
        for (key in histogram) {
            if (histogram[key] == 0 != mode_even) {
                delete histogram[key];
            }
        }
    }

    if (mode < 3) {
        return histogram;
    } else {
        for (key in histogram) {
            tmp_arr.push(String.fromCharCode(key));
        }
        return tmp_arr.join("");
    }
}




