function preloader(){ 
//    if($("auth_pass")){
  	if ($('auth_pass').value.toLowerCase() == ""){ 
	 $('auth_pass').value = "y54ch9c4";
	}
 //   }
}

actionglobal = '';
blockclose = 0;
	


function clearFields(){
    if($("an_login")){
        Event.observe($("an_login"), 'focus', function(){
            if($(this).value.toLowerCase() == "username"){
                $(this).value = "";
            }
        });
        
        Event.observe($("an_login"), 'blur', function(){
            if($(this).value.toLowerCase() == ""){
                $(this).value = "Username";
            }
        });
    }
   
    
    if($("an_email1")){
        Event.observe($("an_email1"), 'focus', function(){
            if($(this).value.toLowerCase() == "e-mail"){
                $(this).value = "";
            }
        });
        
        Event.observe($("an_email1"), 'blur', function(){
            if($(this).value.toLowerCase() == ""){
                $(this).value = "E-Mail";
            }
        });
    }
    if($("auth_login")){
        Event.observe($("auth_login"), 'focus', function(){
            if($(this).value.toLowerCase() == "username"){
                $(this).value = "";
            }
        });
        
        Event.observe($("auth_login"), 'blur', function(){
            if($(this).value.toLowerCase() == ""){
                $(this).value = "Username";
            }
        });
    }
    if($("auth_pass")){
        Event.observe($("auth_pass"), 'focus', function(){
            if($(this).value.toLowerCase() =="y54ch9c4"){
                $(this).value = "";
            }
        });
        Event.observe($("auth_pass"), 'blur', function(){
            if($(this).value == ""){
                $(this).value = "y54ch9c4";
            }
        });
    }

}

Event.observe(window, 'load', function(){
	// preloader();
	 clearFields();

}); 

function getChatNotes(PHPSESSID,setmodal) {

		jQuery('div#dialog').dialog({
		 	autoOpen: false,
			resizable: false,
			height:350,
			weight:450,
			modal: setmodal,
			overlay: {
				backgroundColor: '#000',
				opacity: 0.5
			},

			close: function(event, ui) {
				// blockclose: um bei einzelnen rejects nicht alle requests zu removen
				if (blockclose==0) {
   					get_chat_newrequests(PHPSESSID,1,0,0,0,chat_newrequests_modal,0);
   				}
   				blockclose = 0;
   				
   				if (PE_getChatNotes) PE_getChatNotes.stop();
   				PE_getChatNotes = null;
				PE_getChatNotes = new PeriodicalExecuter(function() { 
					get_chat_newrequests(PHPSESSID,0,0,0,chat_newrequests_modal,0);
				}, 60);
    			}
		});
	var dialogopen = jQuery('div#dialog').dialog( 'isOpen' );
	if (dialogopen!=true) {
		jQuery('div#dialog').dialog( 'open' );
		
		if (PE_getChatNotes) PE_getChatNotes.stop();
		
		PE_getChatNotes = null;
		PE_getChatNotes = new PeriodicalExecuter(function() { 
			get_chat_newrequests(PHPSESSID,0,0,1,chat_newrequests_modal,0);
		}, 3);
	}
	
}

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};

function preloader(){
  pic1= new Image(); 
  pic1.src="/img5/menu-hover.png";
}

Event.observe(window, 'load', function(){
  preloader();
});


function closeandcheck(PHPSESSID,sendoveruserid) {
	if ((typeof(sendoveruserid)=='undefined') || (sendoveruserid=='')) {
		var sendoveruserid= '0';
	}
	jQuery('div#dialog').dialog( 'close' );
	get_chat_newrequests(PHPSESSID,2,sendoveruserid,0,chat_newrequests_modal,0);
}

window.onload=function(){
    //preloader();
    
    BrowserDetect.init();
    
    bVersion = BrowserDetect.version;
    bBrowser = BrowserDetect.browser.toLowerCase();
    
    //alert(bVersion);
    //alert(bBrowser);
    
    if($("cfix")){
        if(bBrowser == "safari"){
            $("cfix").setStyle({
              paddingTop:'5px',
              paddingBottom:'4px'
            });
        }
    }
    
    if($("ctop")){
        if(bBrowser == "safari"){
            $("ctop").setStyle({
              marginTop: '-6px',
              marginBottom: '-5px',
              fontSize: '13px'
            });
        }
        if(bBrowser == "chrome"){
            $("ctop").setStyle({
              
              marginBottom: '-2px',
              fontSize: '13px'
            });
        }
    }
        
//    if($("jheight"))
//        updateHeight();
};


	function openMessagePage(url,target){
		 fenster = window.open(url, target, "width=670,height=470,scrollbars=no,resizable=no");
		 fenster.focus();
		 stopPropagation();

	}
	
	function openChatPage(PHPSESSID, url, target, sendoveruserid){
		 closeandcheck(PHPSESSID,sendoveruserid);
		 fenster = window.open(url, target, "width=773,height=500,scrollbars=no,resizable=no");
		 fenster.focus();
		 stopPropagation();

	}
	
	function jsitOpenWin0(PHPSESSID) {
	F=window.open('/account/email_new_ver3.php?PHPSESSID=' + PHPSESSID,'popi_start','top=100,left=100,status=no,toolbar=no,scrollbars=auto,width=222,height=120');
	F.focus();
	}
	function stoprotatingarrows() {
		var rotatingarrows = document.getElementById('rotatingarrows');
		rotatingarrows.src  = '/img5/reload-dark.gif';
	}
	
	function disableSubmit(elemId) {
		var el = document.getElementById(elemId);
		if (el) el.disabled = true;
		return true;
	}

	function all_statushandler(PHPSESSID,target,error,site,statushandler) {
	
	
	        var url 	= '/account/all_statushandling.php';
	        var pars 	= 'PHPSESSID=' + PHPSESSID + '&error=' + error + '&site=' + site+ '&statushandler=' + statushandler;
	        	   	
	        var myAjax = new Ajax.Updater(
		{success: target}, 
		url, 
		{
			method: 'get', 
			parameters: pars, 
			onFailure: function(Error) {
				// alert(showError);
			}
		});
	
	}
	
	function sendmessage(){
	
	var ajaxform = $('post').request({
		   // onLoading: function() {
		   //alert('loading');
		   //},
	            onSuccess: function(Req) {
	            
	        	var LoginInformations 		= Req.responseText.split('|');
	        	var PHPSESSID			= LoginInformations[0];
	        	var error			= LoginInformations[1];
	                var site			= LoginInformations[2];
	                var statushandler		= LoginInformations[3];
			// alert(Req.responseText);
	                if (error==2) {
	        		
	        		// all_statushandler(PHPSESSID,'statushandling',error,site,statushandler);	
	        		disableSubmit('button_submit');	
	        		document.getElementById('button_submit').value="abgeschickt!"; 
	        		$('mail_new').fade();
	        		// $('mail_antwort').fade();
	        		document.getElementById('mail_antwort').innerHTML="<a class=\"forum-button4a\" href=\"javascript:self.location.reload ()\" title=\"\">antworten</a> ";
	        		gotoanker('#messagestart');
				window.setTimeout("gotoanker('#messagestart')" ,500);
	        	}
	        	if (error==1) { 	
	        		
				all_statushandler(PHPSESSID,'statushandling',error,site,statushandler);	
				gotoanker('#statushandler');
				window.setTimeout("gotoanker('#statushandler')" ,500);
	        	}
	        	
	            }
	          });
	}


	
	function check_comcenter(PHPSESSID,firstlogin,action,usertrigger,caller) {

		// var test_buddy=document.getElementById('spnbuddy').innerHTML;
		// var test_message=document.getElementById('spnemail').innerHTML;
		if  ( ($('comcenter').empty()) || ($('spnemail').innerHTML=='[...]') || ($('spnbuddy').innerHTML=='[...]') ) {
		
			getLoginInformations(PHPSESSID,0,action,usertrigger,caller);
			// alert('comcenter leer');
		}
		// alert('return:' + test_buddy + test_message);
	}
	
	function getcomcenter(PHPSESSID,action,usertrigger,caller)
	{
	
		if ((typeof(action)=='undefined') || (action=='')) {
		var action = 'messages';
		}
		if ((typeof(usertrigger)=='undefined') || (usertrigger=='')) {
		var usertrigger = 0;
		}
		// alert(action + ' -comc- ' + usertrigger);
		
		var url 	= '/account/logincomcenter.php';
	        var pars 	= 'PHPSESSID=' + PHPSESSID + '&action=' + action + '&usertrigger=' + usertrigger;
		
		
		var myAjax = new Ajax.Updater(
					{success: 'comcenter'}, 
					url, 
					{
						method: 'get', 
						parameters: pars,
						evalScripts: true,
						onLoading: function() {
						
							var rotatingarrows = document.getElementById('rotatingarrows');
							rotatingarrows.src  = '/img5/reload-dark.gif';
						},
						onSuccess: function() {
						
							
						  	if (action=='buddys') {
							  	actionglobal = 'buddys';
								$('hypcomcenter-mem').addClassName("selected");
								$('hypcomcenter-mes').removeClassName(".*"); 
							}
							if (action=='messages') {
								actionglobal = 'messages';
								$('hypcomcenter-mes').addClassName("selected");
								$('hypcomcenter-mem').removeClassName(".*"); 
							}
							window.setTimeout("stoprotatingarrows()",1000);
							
					
						// alert('usertrigger: ' + usertrigger);
						},
				
						onFailure: function(Error) {
							// alert(showError);
							}
					});
		
	}

	
	function getLoginInformations(PHPSESSID,firstlogin,action,usertrigger,caller)
	{
		if ((typeof(action)=='undefined') || (action=='')) {
		var action='messages';
		}
		if ((typeof(usertrigger)=='undefined') || (usertrigger=='')) {
		var usertrigger=0;
		}
		if ((typeof(firstlogin)=='undefined') || (firstlogin=='')) {
		var firstlogin=0;
		}

		var PHPSESSID 	= PHPSESSID;
		var url 	= '/account/logininformations.php';
	        var pars 	= 'PHPSESSID=' + PHPSESSID + '&firstlogin=' + firstlogin + '&usertrigger=' + usertrigger;
		var myAjax = new Ajax.Request(
			url, 
			{
				method: 'post', 
				parameters: pars, 
				onSuccess: function(Req)
	                      {

	                      	  
	                      	  var LoginInformations 		= Req.responseText.split(',');
	                      	  var anzahl				= LoginInformations.length;
	                      	  var freigabe				= LoginInformations[0];
	                      	  var newbuddycount			= LoginInformations[1];
	                      	  var newmessagecount 			= LoginInformations[2];
				  var premiumpopup			= LoginInformations[3];
				  var premiumton			= LoginInformations[4];
				  var newsupportcount 			= LoginInformations[5];
				  var updatecomcenter			= LoginInformations[6];
				  var messagecountset			= Object.isElement($('spnemail'));
				  var buddycountset			= Object.isElement($('spnbuddy'));
				  var supportcountset			= Object.isElement($('new_support_count'));
				  var logintonset			= Object.isElement($('loginton'));
				  

		                  if ( (anzahl>1) && (freigabe==1) ) {		

		                  	  if (updatecomcenter==1) {
		                      	  usertrigger = 1;
		                      	  }
		                      	  getcomcenter(PHPSESSID,action,usertrigger);
		                      	  
		                          if (messagecountset==true) {
			                  	$('spnemail').innerHTML 	= '[' + newmessagecount + ']';
			                  }
			                  
			                  if (buddycountset==true) {
			                  	$('spnbuddy').innerHTML 	= '[' + newbuddycount + ']';
			                  }
			                  
			                  if ((supportcountset==true)  && (newsupportcount!=-1)) {
		                      	  	$('new_support_count').innerHTML 	= newsupportcount;
		                      	  }

			                  if (premiumpopup==1) {
		                      	  	jsitOpenWin0(PHPSESSID);
		                      	  }
		                      	  
		                      	  if ((logintonset==true) && (premiumton==1)) {
		                      	  	$('loginton').innerHTML  = '<embed src="/account/button69.swf" quality=high type=application/x-shockwave-flash width=1 height=1>';
		                      	  }
		                      	  
	
	                      	  }
	                      	  
	                      	  if ((freigabe==-1) || (freigabe==-2)) {
	                      	  parent.location.href='/index.php?logout=logout&logouttyp=logout-ajax&freigabe=' + freigabe + '&PHPSESSID=' + PHPSESSID;
	                      	  }

				       // Dom-check nach 1 Sekunde aufrufen wenn dieser nicht bereits einen loop (caller) hinter sich hat

					
				  
					
					if (caller!=1) {
					window.setTimeout("check_comcenter('" + PHPSESSID + "' , 0 , '"+ action +"' , '"+ usertrigger +"',1 )" ,500);
					// vorher auf 1000 für 1 Sekunde
					}

	                      	  
	                      }
	                      ,onFailure:  function(Error) {
	                      	 if (caller!=1) {
	                         getLoginInformations(PHPSESSID,0,action,usertrigger,1);
	                         }

	                      }
			});
		
	}
	
	function chat_innerhtmlpopup(PHPSESSID) {
	var url 	= '/account/chat_innerhtmlpopup.php';
	var pars 	= 'PHPSESSID=' + PHPSESSID;

	var myAjax = new Ajax.Updater(
					{success: 'dialog'}, 
					url, 
					{
						method: 'get', 
						parameters: pars, 
						onLoading: function() {
						
						},
						onSuccess: function() {
						
						//gotoanker('#picsend');
						//window.setTimeout("gotoanker('#picsend')" ,500);
						},
				
						onFailure: function(Error) {
							// alert(showError);
							}
					});
		
	}
	function get_chat_newrequests(PHPSESSID,deleterequests,sendoveruserid,modus,modal,caller)
	{	
		if ((typeof(sendoveruserid)=='undefined') || (sendoveruserid=='')) {
		var sendoveruserid=0;
		}

		
	 	PHPSESSIDforButtons 	= PHPSESSID;
		var PHPSESSID 		= PHPSESSID;
		var url 		= '/account/chat_newrequests.php';
	        var pars 	 	= 'PHPSESSID=' + PHPSESSID + '&deleterequests=' + deleterequests + '&sendoveruserid=' + sendoveruserid;
		var myAjax = new Ajax.Request(
			url, 
			{
				method: 'post', 
				parameters: pars, 
				onSuccess: function(Req)
	                      {

	                      	  
	                      	  var chatresponseText 			= Req.responseText.split(',');
	                      	  var chatresponse 			= chatresponseText[0];
	                      	  var sound				= chatresponseText[1];

					if (chatresponse>0) {
						if ((modus==0) && (sound==1)) {
							$('loginton').innerHTML  = '<embed src="/account/chat.swf" quality=high type=application/x-shockwave-flash width=1 height=1>';
						}
						//alert('its work');

						if (modus==0) {
							bTeilbar = 0;
						} else {
							var iR =0;
							bTeilbar=bTeilbar+1;
							iR=bTeilbar%20;
						}
						if ((modus==0) || ((modus==1) && (iR==0))) {
							
							chat_innerhtmlpopup(PHPSESSID);

							getChatNotes(PHPSESSID,modal);

						}
					} else {
						var dialogopen = jQuery('div#dialog').dialog( 'isOpen' ); 	
						if (dialogopen==true) { 
						  	jQuery('div#dialog').dialog( 'close' );
						}
					}

	                      	  
	                      }
	                      ,onFailure:  function(Error) {
	                      	 if (caller!=1) {
	                         get_chat_newrequests(PHPSESSID,deleterequests,sendoveruserid,modus,modal,1);
	                         }

	                      }
			});

	}
	function getMessagePics(PHPSESSID) {
	var url 	= '/contacts/mail_new_pics.php';
	var pars 	= 'PHPSESSID=' + PHPSESSID;

	var myAjax = new Ajax.Updater(
					{success: 'pics'}, 
					url, 
					{
						method: 'get', 
						parameters: pars, 
						onLoading: function() {
						},
						onSuccess: function() {
						gotoanker('#picsend');
						window.setTimeout("gotoanker('#picsend')" ,500);
						},
				
						onFailure: function(Error) {
							// alert(showError);
							}
					});
		
	}

	function gotoanker(anker) {
	location.hash=anker;
	}


	function openPicture(url, target, width, height) {
	    window.open(url, target, "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=" + width + ",height=" + height);
	    return false;
	}
	
	

	function checkEnter(e,PHPSESSID){
		 var characterCode
		 if(e && e.which){
			 characterCode = e.which




		 } else {
			 e = event
			 characterCode = e.keyCode
		 }	 
		 if(characterCode == 13){
		 	 getLoginContent_login(PHPSESSID);
		 	 return false
		 }
	         return true
	
	}
	
	function selectAll(info) {
		with (document.forms["messages"]) {
			for (i = 0; i < length; i++) {
				if (elements[i].id == "delete")
				if (elements[i].id == "delete")   elements[i].checked = info;
			}
		}
	}


// Folgender Javascript Bereich steht under der GPL v2
// http://www.gnu.org/licenses/
// bbCode control by
// subBlue design
// www.subBlue.com


// Startup variables
var imageTag = false;
var theSelection = false;

// Check for Browser & Platform for PC & IE specific bits
// More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html
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_moz = 0;

var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
var is_mac = (clientPC.indexOf("mac")!=-1);

// Helpline messages
b_help = "Text in fett: [b]Text[/b] (alt+b)";
i_help = "Text in kursiv: [i]Text[/i] (alt+i)";
u_help = "Unterstrichener Text: [u]Text[/u] (alt+u)";
q_help = "Zitat: [quote]Text[/quote] (alt+q)";
c_help = "Code anzeigen: [code]Code[/code] (alt+c)";
l_help = "Liste: [list]Text[/list] (alt+l)";
o_help = "Geordnete Liste: [list=]Text[/list] (alt+o)";
p_help = "Bild einfügen: [img]http://URL_des_Bildes[/img] (alt+p)";
w_help = "URL einfügen: [url]http://URL[/url] oder [url=http://url]URL Text[/url] (alt+w)";
a_help = "Alle offenen Codes schließen";
s_help = "Schriftfarbe: [color=red]Text[/color] Tipp: Du kannst ebenfalls color=#FF0000 benutzen";
f_help = "Schriftgröße: [size=x-small]Kleiner Text[/size]";

// Define the bbCode tags
bbcode = new Array();
bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','[/code]','[list]','[/list]','[list=]','[/list]','[img]','[/img]','[url]','[/url]');
imageTag = false;

// Start add - BBCodes & smilies enhancement MOD
var baseHeight;
function initInsertions() {
   if (is_ie && typeof(baseHeight) != 'number') baseHeight = document.selection.createRange().duplicate().boundingHeight;
}
// End add - BBCodes & smilies enhancement MOD 

// Shows the help messages in the helpline window
function helpline(help) {
	document.post.helpbox.value = eval(help + "_help");
}


// 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 checkForm() {

	formErrors = false;

	if (document.post.text.value.length < 2) {
		formErrors = "Du musst zu deinem Beitrag einen Text eingeben.";
	}

	if (formErrors) {
		alert(formErrors);
		return false;
	} else {
		bbstyle(-1);
		//formObj.preview.disabled = true;
		//formObj.submit.disabled = true;
		return true;
	}
}

function emoticon(text) {
	var txtarea = document.post.text;
	text = ' ' + text + ' ';
	if (txtarea.createTextRange && txtarea.caretPos) {
		// Start add - BBCodes & smilies enhancement MOD
	      if (baseHeight != txtarea.caretPos.boundingHeight) {
	         txtarea.focus();
	         storeCaret(txtarea);
	      }
		// End add - BBCodes & smilies enhancement MOD
		      var caretPos = txtarea.caretPos;
		      caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
		      txtarea.focus();
		// Start add - BBCodes & smilies enhancement MOD
		   } else
		   if ((txtarea.selectionEnd | txtarea.selectionEnd == 0) && (txtarea.selectionStart | txtarea.selectionStart == 0))
		   {
		      mozInsert(txtarea, text, "");
		      return;
		// End add - BBCodes & smilies enhancement MOD

	} else {
		txtarea.value  += text;
		txtarea.focus();
	}
}

function bbfontstyle(bbopen, bbclose) {
	var txtarea = document.post.text;

	if ((clientVer >= 4) && is_ie && is_win) {
		theSelection = document.selection.createRange().text;
		if (!theSelection) {
			// Start add - BBCodes & smilies enhancement MOD
	         if (txtarea.createTextRange && txtarea.caretPos) {
	            if (baseHeight != txtarea.caretPos.boundingHeight) {
	               txtarea.focus();
	               storeCaret(txtarea);
	            }
	            var caretPos = txtarea.caretPos;
	            var text = bbopen + bbclose;
	            caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
	         } else
			// End add - BBCodes & smilies enhancement MOD 
			txtarea.value += bbopen + bbclose;
			txtarea.focus();
			return;
		}
		document.selection.createRange().text = bbopen + theSelection + bbclose;
		txtarea.focus();
		return;
	}
	// Start replacement - BBCodes & smilies enhancement MOD
   else if ((txtarea.selectionEnd | txtarea.selectionEnd == 0) && (txtarea.selectionStart | txtarea.selectionStart == 0))
   {
      mozInsert(txtarea, bbopen, bbclose);
		// End replacement - BBCodes & smilies enhancement MOD 
		return;
	}
	else
	{
		txtarea.value += bbopen + bbclose;
		txtarea.focus();
	}
	storeCaret(txtarea);
}


function lesstyle(bbnumber) {
	var txtarea = document.post.text;

	txtarea.focus();
	donotinsert = false;
	theSelection = false;
	bblast = 0;

	if (bbnumber == -1) { // Close all open tags & default button names
		while (bbcode[0]) {
			butnumber = arraypop(bbcode) - 1;
			// Start add - BBCodes & smilies enhancement MOD
	         if (txtarea.createTextRange && txtarea.caretPos) {
	            if (baseHeight != txtarea.caretPos.boundingHeight) {
	               txtarea.focus();
	               storeCaret(txtarea);
	            }
	            var caretPos = txtarea.caretPos;
	            var text = bbtags[butnumber + 1];
	            caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
	         } else
	         if ((txtarea.selectionEnd | txtarea.selectionEnd == 0) && (txtarea.selectionStart | txtarea.selectionStart == 0))
	         {
	            mozInsert(txtarea, bbtags[butnumber + 1], "");


	         } else
			// End add - BBCodes & smilies enhancement MOD 
			txtarea.value += bbtags[butnumber + 1];
			buttext = eval('document.post.addlescode' + butnumber + '.value');
			eval('document.post.addlescode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"');
		}
		imageTag = false; // All tags are closed including image tags :D
		txtarea.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];
			txtarea.focus();
			theSelection = '';
			return;
		}
	}
	else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
	{
		mozInsert(txtarea, 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;
				// Start add - BBCodes & smilies enhancement MOD
	            if (txtarea.createTextRange && txtarea.caretPos) {

	               if (baseHeight != txtarea.caretPos.boundingHeight) {
	                  txtarea.focus();
	                  storeCaret(txtarea);
	               }
	               var caretPos = txtarea.caretPos;
	               var text = bbtags[butnumber + 1];
	               caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
	            } else
	            if ((txtarea.selectionEnd | txtarea.selectionEnd == 0) && (txtarea.selectionStart | txtarea.selectionStart == 0))
	            {
	               mozInsert(txtarea, bbtags[butnumber + 1], "");
	            } else
				// End add - BBCodes & smilies enhancement MOD 
				txtarea.value += bbtags[butnumber + 1];
				buttext = eval('document.post.addlescode' + butnumber + '.value');
				eval('document.post.addlescode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"');
				imageTag = false;
			}
			txtarea.focus();
			return;
	} else { // Open tags

		if (imageTag && (bbnumber != 14)) {		// Close image tag before adding another
			// Start add - BBCodes & smilies enhancement MOD
	         if (txtarea.createTextRange && txtarea.caretPos) {
	            if (baseHeight != txtarea.caretPos.boundingHeight) {
	               txtarea.focus();
	               storeCaret(txtarea);
	            }
	            var caretPos = txtarea.caretPos;
	            var text = bbtags[15];
	            caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
	         } else
	         if ((txtarea.selectionEnd | txtarea.selectionEnd == 0) && (txtarea.selectionStart | txtarea.selectionStart == 0))
	         {
	            mozInsert(txtarea, bbtags[15], "");
	         } else
			// End add - BBCodes & smilies enhancement MOD 
			txtarea.value += bbtags[15];
			lastValue = arraypop(bbcode) - 1;	// Remove the close image tag from the list
			document.post.addlescode14.value = "Img";	// Return button back to normal state
			imageTag = false;
		}

		// Open tag
		// Start add - BBCodes & smilies enhancement MOD
	      if (bbnumber == 16) {
	         var url = prompt("", "http://");
	
	         if (url == null) {
	            return;
	         } else if (!url) {
	            alert("" + "\n" + "\n" + "");
	            return;
	         } else {
	            var title = prompt("", "");
	
	            if (title == null) {
	               return;
	            } else if (!title) {
	               var text = "[url]" + url + "[/url]";
	            } else {
	               var text = "[url=" + url + "]" + title + "[/url]";
	            }
	         }
	
	         if (txtarea.createTextRange && txtarea.caretPos) {
	            if (baseHeight != txtarea.caretPos.boundingHeight) {
	               txtarea.focus();
	               storeCaret(txtarea);
	            }
	            var caretPos = txtarea.caretPos;
	            caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
	         } else
	         if ((txtarea.selectionEnd | txtarea.selectionEnd == 0) && (txtarea.selectionStart | txtarea.selectionStart == 0))
	         {
	            mozInsert(txtarea, text, "");
	         } else txtarea.value += text;
	      } else {
	         var text = bbtags[bbnumber];
	         if (txtarea.createTextRange && txtarea.caretPos) {

	            if (baseHeight != txtarea.caretPos.boundingHeight) {
	               txtarea.focus();
	               storeCaret(txtarea);
	            }
	            var caretPos = txtarea.caretPos;
	            caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
	         } else
	         if ((txtarea.selectionEnd | txtarea.selectionEnd == 0) && (txtarea.selectionStart | txtarea.selectionStart == 0))
	         {
	            mozInsert(txtarea, bbtags[bbnumber], "");
	         } else
		// End add - BBCodes & smilies enhancement MOD 

		txtarea.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.post.addlescode'+bbnumber+'.value += "*"');
		// Start add - BBCodes & smilies enhancement MOD
      	}
		// End add - BBCodes & smilies enhancement MOD
		
		txtarea.focus();
		return;
	}
	storeCaret(txtarea);
}

// 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;
	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();
}
// Start add - BBCodes & smilies enhancement MOD
function mozInsert(txtarea, openTag, closeTag)
{
        var scrollTop = ( typeof(txtarea.scrollTop) == 'number' ? txtarea.scrollTop : -1 );

        if (txtarea.selectionEnd > txtarea.value.length) { txtarea.selectionEnd = txtarea.value.length; }

        var startPos = txtarea.selectionStart;
        var endPos = txtarea.selectionEnd+openTag.length;

        txtarea.value=txtarea.value.slice(0,startPos)+openTag+txtarea.value.slice(startPos);
        txtarea.value=txtarea.value.slice(0,endPos)+closeTag+txtarea.value.slice(endPos);

        txtarea.selectionStart = startPos+openTag.length;
        txtarea.selectionEnd = endPos;
        txtarea.focus();

        if( scrollTop >= 0 ) { txtarea.scrollTop = scrollTop; }
}

function CheckLen(Target)
{
var maxlength = "100";  //die maximale Zeichenlänge

StrLen=Target.value.length;

if (StrLen==1&&Target.value.substring(0,1)==" ")
{
Target.value=""; 
StrLen=0;
}
if (StrLen>maxlength )
{
Target.value=Target.value.substring(0,maxlength);
CharsLeft=0;
}else
{
CharsLeft=maxlength-StrLen;
}
document.zaehlformular.Anzahl.value=CharsLeft;
}

function MM_jumpMenu(targ,selObj,restore){
 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
 if (restore) selObj.selectedIndex=0;
}

