onerror = keinfehler;
// no JS error on IE
function keinfehler() {
	return true;
}

function popup_mode(name, url, left, top, width1, height1, toolbar, menubar, statusbar, scrollbar, resizable) {
	if (left == 100 && top == 100) {
	  iMyWidth = (window.screen.width/2) - (width1/2);
	  iMyHeight = (window.screen.height/2) - (height1/2);
	  screens = 'left='+iMyWidth+', top='+iMyHeight+', screenX='+iMyWidth+', screenY='+iMyHeight+'';
	}else{
	  screens = 'left='+left+', top='+top+'';
	}
	toolbar_str = toolbar ? 'yes' : 'no';
	menubar_str = menubar ? 'yes' : 'no';
	statusbar_str = statusbar ? 'yes' : 'no';
	scrollbar_str = scrollbar ? 'yes' : 'no';
	resizable_str = resizable ? 'yes' : 'no';
	window.open(url, name, 'width='+width1+', height='+height1+', '+screens+', toolbar='+toolbar_str+', menubar='+menubar_str+', status='+statusbar_str+', scrollbars='+scrollbar_str+', resizable='+resizable_str);
}

// for image description
function CheckLen(Target,input,form,length) {
	StrLen = Target.value.length
	if (StrLen == 1 && Target.value.substring(0,1) == ' ') {
	Target.value = ''
	StrLen = 0 }
	if (StrLen > length) {
	Target.value = Target.value.substring(0,length)
	CharsLeft = 0 }
else {
CharsLeft = length - StrLen }
document.forms[form][input].value = CharsLeft
}

//for private messages, select all
function selectAll(status) {
    for (i=0;i<document.getElementsByTagName("input").length;i++) {
        if (document.getElementsByTagName("input")[i].name == 'pmID[]') {
            document.getElementsByTagName("input")[i].checked = status;
        }
    }
}

//for photo album in user details, show/hide all infos
function change_layer(name) {
 for(var i = 0; i < document.getElementsByTagName(name).length; i++) {
  document.getElementsByTagName(name)[i].style.visibility = (document.getElementsByTagName(name)[i].style.visibility == 'visible')?'hidden':'visible';
 }
}

function confirmImageDel(theLink,id,page,message) {
    var is = window.confirm(message);
    if (is) {
        document.location = theLink += '&del='+id+'&page='+page;
    }
    return is;
}

function ModDoOk(message) {
	var is = window.alert(message);
	return is;
}

function ModImgDel(theLink,id,doit,message) {
    var is = window.confirm(message);
    if (is) {
        document.location = theLink += doit+'&id='+id;
    }
    return is;
}

function CafeDel(message) {
    var is = window.confirm(message);
    return is;
}

function selfClose(time)  {
	setTimeout("selfClose()",time);
	window.close();
}

var tooltip;
var name = 'info'; // the name of the default div
var x,y; //set x - y coordinats
var ie = (navigator.userAgent.indexOf('MSIE')>0); // set IE when if

function popupHide(){
	tooltip.style.display = 'none';
	tooltip = document.getElementById(name);
}

/** the main script to set the div content **/
function infos(e,txt,id){
  if(id) tooltip = document.getElementById(id);
  else tooltip.innerHTML = txt;

  tooltip.style.display = 'inline';
  e.onmouseout = popupHide;
}

function mousePosition(e){
	if(!tooltip){
		tooltip = document.getElementById(name);
		if(!tooltip) return;
	}

   this.x = ie ? event.x : e.pageX;
   this.y = ie ? event.y : e.pageY;

   if(ie && document.documentElement) {
  	   this.x+=document.documentElement.scrollLeft;
       this.y+=document.documentElement.scrollTop;
   }
}

function mouseMove(e) {
	pos = new mousePosition(e);
	tooltip.style.left = pos.x+10+'px';
	tooltip.style.top = pos.y+10+'px';
}

document.onmousemove=mouseMove;

var imageTag = false;
var theSelection = false;

// Helpline messages
b_help = "Text in fett: [b]Text[/b]";
i_help = "Text in kursiv: [i]Text[/i]";
u_help = "Unterstrichener Text: [u]Text[/u]";
q_help = "Zitat: [quote]Text[/quote]";
c_help = "Profil Link: [user]USERNAME[/user]";
z_help = "Zentriert: [center]Zentrierter Text[/center]";
p_help = "Bild einf�gen: [img]http://URL_des_Bildes[/img]";
w_help = "URL einf�gen: [url]http://URL[/url] oder [url=http://url]URL Text[/url]";
a_help = "Alle offenen BBCodes schlie�en";
s_help = "Farbe: [color=red]Text[/color] Tipp: RGB(255,255,255) m�glich";
x_help = "Schriftart: [font=SCHRIFTART]Text[/font]";
f_help = "SchriftGr��e: [size=x]Text[/size]";
smilie_help = "�ffnet ein kleines PopUp mit weiteren Smilies zur auswahl";
bbcode_help = "�ffnet ein kleines PopUp mit BB-Code erkl�rungen";
s_klick_help = "Klick auf einen Smilie, um diesen dem Text hinzu zuf�gen";

// Check for Browser & Platform for PC & IE specific bits
var clientPC = navigator.userAgent.toLowerCase(); // Get client info
var clientVer = parseInt(navigator.appVersion); // Get browser version

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);


// Shows the help messages in the helpline window
function helpline(help,form) {
	document.forms[form].helpbox.value = eval(help + "_help");
}

// Define the bbCode tags
bbcode = new Array();
bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[img]','[/img]','[url]','[/url]','[url=]','[/url]','[center]','[/center]','[user]','[/user]');

imageTag = false;

// Replacement for arrayname.length property
function getarraysize(thearray) {
	for (i = 0; i < thearray.length; i++) {
		if ((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null))
			return i;
		}
	return thearray.length;
}

// Replacement for arrayname.push(value) not implemented in IE until version 5.5
// Appends element to the array
function arraypush(thearray,value) {
	thearray[ getarraysize(thearray) ] = value;
}

// Replacement for arrayname.pop() not implemented in IE until version 5.5
// Removes and returns the last element of an array
function arraypop(thearray) {
	thearraysize = getarraysize(thearray);
	retval = thearray[thearraysize - 1];
	delete thearray[thearraysize - 1];
	return retval;
}

function bbfontstyle(bbopen, bbclose,form,textarea) {
	var txtarea = document.forms[form][textarea];

	if ((clientVer >= 4) && is_ie && is_win) {
		theSelection = document.selection.createRange().text;
		if (!theSelection) {
			txtarea.value += bbopen + bbclose;
			txtarea.focus();
			return;
		}
		document.selection.createRange().text = bbopen + theSelection + bbclose;
		txtarea.focus();
		return;
	}
	else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
	{
		mozWrap(txtarea, bbopen, bbclose);
		return;
	}
	else
	{
		txtarea.value += bbopen + bbclose;
		txtarea.focus();
	}
	storeCaret(txtarea);
}

function bbstyle(bbnumber,form,textarea) {

	donotinsert = false;
	theSelection = false;
	bblast = 0;

	if (bbnumber == -1) { // Close all open tags & default button names
		var something_closed=0;
		while (bbcode[0]) {
			butnumber = arraypop(bbcode) - 1;
			document.forms[form][textarea].value += bbtags[butnumber + 1];
			buttext = eval('document.'+form+'.addbbcode' + butnumber + '.value');
			eval('document.'+form+'.addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"');
			something_closed=1;
		}
		imageTag = false; // All tags are closed including image tags :D
		document.forms[form][textarea].focus();
		return;
	}

	if ((clientVer >= 4) && is_ie && is_win)
		theSelection = document.selection.createRange().text; // Get text selection

	if (theSelection) {
		// Add tags around selection
		document.selection.createRange().text = bbtags[bbnumber] + theSelection + bbtags[bbnumber+1];
		document.forms[form][textarea].focus();
		theSelection = '';
		return;
	}
	else if (document.forms[form][textarea].selectionEnd && (document.forms[form][textarea].selectionEnd - document.forms[form][textarea].selectionStart > 0))
	{
		mozWrap(document.forms[form][textarea], bbtags[bbnumber], bbtags[bbnumber+1]);
		return;
	}

	// Find last occurance of an open tag the same as the one just clicked
	for (i = 0; i < bbcode.length; i++) {
		if (bbcode[i] == bbnumber+1) {
			bblast = i;
			donotinsert = true;
		}
	}

	if (donotinsert) {		// Close all open tags up to the one just clicked & default button names
		while (bbcode[bblast]) {
				butnumber = arraypop(bbcode) - 1;
				document.forms[form][textarea].value += bbtags[butnumber + 1];
				buttext = eval('document.'+form+'.addbbcode' + butnumber + '.value');
				eval('document.'+form+'.addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"');
				imageTag = false;
			}
			document.forms[form][textarea].focus();
			return;
	} else { // Open tags

		if (imageTag && (bbnumber != 14)) {		// Close image tag before adding another
			document.forms[form][textarea].value += bbtags[15];
			lastValue = arraypop(bbcode) - 1;	// Remove the close image tag from the list
			document.forms[form].addbbcode14.value = "Img";	// Return button back to normal state
			imageTag = false;
		}

		// Open tag
		document.forms[form][textarea].value += bbtags[bbnumber];
		if ((bbnumber == 14) && (imageTag == false)) imageTag = 1; // Check to stop additional tags after an unclosed image tag
		arraypush(bbcode,bbnumber+1);
		eval('document.'+form+'.addbbcode'+bbnumber+'.value += "*"');
		document.forms[form][textarea].focus();
		return;
	}
	storeCaret(document.forms[form][textarea]);
}

// From http://www.massless.org/mozedit/
function mozWrap(txtarea, open, close) {
	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);
	txtarea.value = s1 + open + s2 + close + s3;
	txtarea.focus();
	return;
}

// Insert at Claret position. Code from
// http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130
function storeCaret(textEl) {
	if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}

// for smilie add on mouse position
function AddCode(theForm, theText) {

    theForm.focus();

    // IE
    if (document.selection) {
        theSelection = window.document.selection.createRange();
        theSelection.text = theText;

    // Mozilla
    } else if (window.getSelection) {
        oldValue = new String(theForm.value);
        textStart = theForm.selectionStart;
        textEnd = theForm.selectionEnd;
        theForm.value = oldValue.substring(0, textStart) + theText + oldValue.substring(textEnd, oldValue.length);

    // other
    } else {
        theForm.value += theText;
    }
}

// add smilies on mouse position
function smile(smilie,form,textarea) {
  AddCode(document.forms[form][textarea], smilie);
}

/***********************************************
* AnyLink CSS Menu script- � Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

var disappeardelay=0  //menu disappear speed onMouseout (in miliseconds)
var enableanchorlink=0 //Enable or disable the anchor link when clicked on? (1=e, 0=d)
var hidemenu_onclick=1 //hide menu when user clicks within menu? (1=yes, 0=no)

/////No further editting needed

var ie5=document.all
var ns6=document.getElementById&&!document.all

function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}

function showhide(obj, e, visible, hidden){
if (ie5||ns6)
dropmenuobj.style.left=dropmenuobj.style.top=-500
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
}

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
var edgeoffset=0
if (whichedge=="rightedge"){
var windowedge=ie5 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
}
else{
var windowedge=ie5 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
}
return edgeoffset
}

function dropdownmenu(obj, e, dropmenuID,hidemenu_onclick){
if(hidemenu_onclick) var hidemenu_onclick = 0;
if (window.event) event.cancelBubble=true
else if (e.stopPropagation) e.stopPropagation()
if (typeof dropmenuobj!="undefined") //hide previous menu
dropmenuobj.style.visibility="hidden"
clearhidemenu()
if (ie5||ns6){
obj.onmouseout=delayhidemenu
dropmenuobj=document.getElementById(dropmenuID)
if (hidemenu_onclick) dropmenuobj.onclick=function(){dropmenuobj.style.visibility='hidden'}
dropmenuobj.onmouseover=clearhidemenu
dropmenuobj.onmouseout=ie5? function(){ dynamichide(event)} : function(event){ dynamichide(event)}
showhide(dropmenuobj.style, e, "visible", "hidden")
dropmenuobj.x=getposOffset(obj, "left")
dropmenuobj.y=getposOffset(obj, "top")
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
}
return clickreturnvalue()
}

function clickreturnvalue(){
if ((ie5||ns6) && !enableanchorlink) return false
else return true
}

function contains_ns6(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

function dynamichide(e){
if (ie5&&!dropmenuobj.contains(e.toElement))
delayhidemenu()
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhidemenu()
}

function delayhidemenu(){
delayhide=setTimeout("dropmenuobj.style.visibility='hidden'",disappeardelay)
}

function clearhidemenu(){
if (typeof delayhide!="undefined")
clearTimeout(delayhide)
}
