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);

function Set_Cookie( name, value, expires, path, domain, secure ) {
var today = new Date();
today.setTime( today.getTime() );
if ( expires ) expires = expires * 1000 * 60 * 60 * 24;
var expires_date = new Date( today.getTime() + (expires) );
document.cookie = name + "=" +escape( value ) +
( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
( ( path ) ? ";path=" + path : "" ) + 
( ( domain ) ? ";domain=" + domain : "" ) +
( ( secure ) ? ";secure" : "" );
}

function Get_Cookie(name) {
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) { return -1; }
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function ShowHideBoxes(layer) {
  var obj,p;
  if ((obj=MM_findObj(layer))!=null) {
    if (obj.style) { p=MM_findObj(layer+'_pic');
	  if(obj.style.display=='none') {
	    obj.style.display='block';
        Set_Cookie(layer, '1', 100, '/', '', '' );
	    p.src='pics/design/btn_up.gif';
	  }else{
	    obj.style.display='none';
        Set_Cookie(layer, '0', 100, '/', '', '' );
	    p.src='pics/design/btn_down.gif';
	  }
} } }

function ShowHideSideBox(layer) {
  var obj,p;
  if ((obj=MM_findObj(layer))!=null) {
    if (obj.style) { p=MM_findObj(layer+'_pic');
	  if(obj.style.display=='none') {
	    obj.style.display='block';
        Set_Cookie(layer, '1', 0.05, '/', '', '' );
	    p.src='pics/design/sidebox_close.gif';
	  }else{
	    obj.style.display='none';
        Set_Cookie(layer, '0', 0.05, '/', '', '' );
	    p.src='pics/design/sidebox_open.gif';
	  }
} } }

function ShowHideLayers(layer) {
  var obj,p;
  if ((obj=MM_findObj(layer))!=null) {
    if (obj.style) {
	  if(obj.style.display=='none') {
	    obj.style.display='block';
	  }else{
	    obj.style.display='none';
	  }
} } }

function Foto(pname,W,H,X,Y) {
       pname=window.open("",pname,"width="+W+",height="+H+",left="+X+",top="+Y+",dependent=yes,resizable=yes,scrollbars=no,toolbar=no");
       pname.focus();
       return true;
}

function Comment(pname,W,H,X,Y) {
       pname=window.open("",pname,"width="+W+",height="+H+",left="+X+",top="+Y+",dependent=yes,resizable=yes,scrollbars=yes,toolbar=no,menubar=no");
       pname.focus();
       return true;
}

function PPop(pname) {
       pname=window.open("",pname,"width=500,height=550,left=160,top=190,dependent=yes,resizable=yes,scrollbars=yes,toolbar=no,menubar=no");
       pname.focus();
       return true;
}

function Popup(pname,file,W,H,X,Y) {
       pname=window.open(file,pname,"width="+W+",height="+H+",left="+X+",top="+Y+",dependent=no,resizable=no,scrollbars=no,toolbar=no,menubar=no");
       pname.focus();
       return true;
}

function Anzeige(pname) {
       pname=window.open("",pname,"width=200,height=300,left="+(screen.availWidth - 500)/2+",top="+(screen.availHeight - 550)/2+",dependent=no,resizable=yes,scrollbars=auto,toolbar=no,menubar=no");
       pname.focus();
       return true;
}

function CheckUserlistAuswahl() {
    for(i=0;i<document.userlist_form.profil.length;++i)
        if(document.userlist_form.profil.options[i].selected == true)
            return true;
    return false;
}

function CheckFreundeAuswahl() {
    for(i=0;i<document.freunde_form.profil.length;++i)
        if(document.freunde_form.profil.options[i].selected == true)
            return true;
    return false;
}

function hide(name) {
    if(document.getElementById)
    document.getElementById(name).style.visibility = "hidden";
}

function change(col,a,stat) {
	if(document.all || document.getElementsByTagName) {
		if(stat)
			window.status = '';
		else
			window.status = '';
			a.style.backgroundColor = col;
	}
	return false;
}

function emoticon(text, tform, tfield) {
    var myField = document.forms[tform].elements[tfield];
	text = " " + text + " ";
    //IE support
    if (document.selection) {
        myField.focus();
        sel = document.selection.createRange();
        sel.text = text;
    }
    //MOZILLA/NETSCAPE support
    else if (myField.selectionStart || myField.selectionStart == "0") {
        var startPos = myField.selectionStart;
        var endPos = myField.selectionEnd;
        var rest = myField.value;
        myField.value = rest.substring(0, startPos) + text + rest.substring(endPos, rest.length);
   } else {
        myField.value += text;
  }
}

function x () {
    return;
}

function texterweiterung(start, ende) {
    var myField = document.versform.box;
    //IE support
    if (document.selection) {
        myField.focus();
        sel = document.selection.createRange();
        sel.text = start + sel.text + ende;
        myField.focus();
    }
    //MOZILLA/NETSCAPE support
    else if (myField.selectionStart || myField.selectionStart == "0") {
        var startPos = myField.selectionStart;
        var endPos = myField.selectionEnd;
        var rest = myField.value;
        myField.value = rest.substring(0, startPos) + start + rest.substring(startPos, endPos) + ende + rest.substring(endPos, rest.length);
    } else {
        myField.value += start + ende;
    }
}

function url() {
    var enterURL   = prompt("Bitte gib die komplette URL für den Link ein:", "http://");
    if (!enterURL)    {
        alert("Keine URL angegeben!");
        return;
    }
    texterweiterung("[URL="+enterURL+"]","[/URL]")
}

function email() {
    var enterEmail   = prompt("Bitte gib hier die Email-Adresse ein:", "");
    if (!enterEmail)    {
        alert("Keine Email-Adresse angegeben!");
        return;
    }
    texterweiterung("[MAIL="+enterEmail+"]","[/MAIL]")
}

function aufzaehlung() {
    var anzahl_punkte   = prompt("Wieviele Aufzählungspunkte?", "3");
    var aufzinhalt = "";
    for(var x = 0; x < anzahl_punkte; x++) {
        aufzinhalt += "\r  [*] Punkt "+(x+1);
    }
    texterweiterung("\r[AUFZAEHLUNG]"+aufzinhalt,"\r[/AUFZAEHLUNG]")
}

function tabelle() {
    var enterZeilen = prompt("Wieviele Zeilen?", "1");
    var enterSpalten = prompt("Wieviele Spalten?", "1");
    var enterWeite = prompt("Wie weit soll die Tabelle sein?", "100%");
    var enterRand = prompt("Wie dick soll der Rand sein? (Pixel)", "0");
    var enterAbstand = prompt("Wie gross soll der Zellenabstand sein? (Pixel)", "0");
    var enterAuffuellung = prompt("Um wieviele Pixel sollen die Zellen aufgefüllt werden?", "0");

    var tblinhalt = "";
    for(var x = 0; x < enterZeilen; x++) {
        tblinhalt += "\r[ZEILE]";
        for(var y = 0; y < enterSpalten; y++) tblinhalt += "\r  [SPALTE] text [/SPALTE]";
        tblinhalt += "\r[/ZEILE]";
    }

    texterweiterung("\r[TABELLE width=\""+enterWeite+"\" cellpadding=\""+enterAuffuellung+"\" cellspacing=\""+enterAbstand+"\" border=\""+enterRand+"\"]"+tblinhalt,"\r[/TABELLE]")
}

function admclear() {
	window.status = ''; return true;
}


//--------------------------------------------------------------------------------------------------------
// DHTML Tooltip
//--------------------------------------------------------------------------------------------------------

var hideTO, mouseIsOverLayer, mouseOverWhileLoad;
var bIE = (navigator.appName.indexOf("Microsoft") != -1);
var Yposition,Xposition,Yevent,Xevent;

if (!document.getElementById('Tooltip')) {
	document.writeln("<DIV onmouseover=\"mouseIsOverLayer = true;\" onmouseout=\" mouseOverWhileLoad=false; hideTitle(event, this);\" class=\"Tooltip\" id=\"Tooltip\" style=\"position: absolute; visibility: hidden; display: none;\">");
	document.writeln("<DIV id=\"TooltipText\" ></DIV>");
	document.writeln("</DIV>");
}


function hideTitle(e, elmnt) {
if (document.all) {
	if (!(Tooltip.contains(window.event.toElement))) {
		mouseIsOverLayer = false;
		if ( !mouseOverWhileLoad)
		{
			hideTO = window.setTimeout('hideTooltip()', 300);
		}
	}
} else {
		if (checkMouseLeave(elmnt, e))
		{
			if ( !mouseOverWhileLoad)
			{
				hideTO = window.setTimeout('document.getElementById(\'Tooltip\').style.visibility = \'hidden\'; document.getElementById(\'Tooltip\').style.display = \'none\';', 300);
			}
		}
	}
}

function hideTooltip()
{
if (!mouseIsOverLayer)
	document.all.Tooltip.style.display = 'none';
}

function checkIfMouseOverLayer()
{
if (!mouseIsOverLayer && !mouseOverWhileLoad) {
	if (document.all) {
		document.all.Tooltip.style.display = 'none';
	} else {
		var oLayer = document.getElementById('Tooltip');
		oLayer.style.visibility = 'hidden';
		oLayer.style.display = 'none';
	}
}
}


function containsDOM (container, containee) {
var isParent = false;
do {
if ((isParent = container == containee))
  break;
containee = containee.parentNode;
}
while (containee != null);
return isParent;
}


function checkMouseLeave (element, evt) {
if (element.contains && evt.toElement) {
return !element.contains(evt.toElement);
}
else if (evt.relatedTarget) {
return !containsDOM(element, evt.relatedTarget);
}
}


function calPos(e) {
		var moveByPx = -23;

		if (bIE){
			Yevent = window.event.y;
			Xevent = window.event.x;
		}else{
			Yevent = e.pageY - getScrollTop();
			Xevent = e.pageX - getScrollLeft();
		}

		Yposition =Yevent+getScrollTop()+10;

		if (Xevent < moveByPx) Xposition = 0;
		else if ((Xevent+moveByPx+160) > document.body.offsetWidth)
			Xposition = document.body.offsetWidth-360;
		else Xposition = Xevent+document.body.scrollLeft-moveByPx;

		if (Xposition < 120) Xposition = 120;

	if (document.all) {
		// IE
		document.all.Tooltip.style.left = Xposition;
		document.all.Tooltip.style.top = Yposition;

	} else {
		// NETSCAPE
		var oLayer = document.getElementById('Tooltip');
		oLayer.style.top = Yposition + "px";
		oLayer.style.left = Xposition + "px";
	}
}


function showTitle(e, obj, text, divId) {

		mouseOverWhileLoad = false;
		mouseIsOverLayer = true;

		calPos(e);

	if (document.all) {
		// IE
		document.all.TooltipText.innerHTML = text;
		document.all.Tooltip.style.display = '';
		document.all.Tooltip.style.zIndex = 100;
		document.all.Tooltip.style.visibility = 'visible';

	} else {
		// NETSCAPE
		var oLayer = document.getElementById('Tooltip');
		oLayer.innerHTML = text;
		oLayer.style.display = '';
		oLayer.style.zIndex = 100;
		oLayer.style.visibility = 'visible';
	}
}


function getScrollTop() {
var s = 0;
if (window.getSelection) {  // Moz
return document.body.scrollTop;
}
if (document.documentElement && document.documentElement.scrollTop) {
s = document.documentElement.scrollTop;
}
else if (document.body && document.body.scrollTop) {
s = document.body.scrollTop;
}
return s;
}


function getScrollLeft()
{
 if (window.getSelection) {  // Moz
 return document.body.scrollLeft;
 }
var s = 0;
if (document.documentElement && document.documentElement.scrollLeft)
{
	s = document.documentElement.scrollLeft;
}
else
	if (document.body && document.body.scrollLeft)
	{
		s = document.body.scrollLeft;
	}
return s;
}
