var OwnHtmlAreaWindow = new Class({

	Implements: [Events, Options],

	options: {
		    fxDuration: 1000,
			maxOpacity: 1,
			timeIn: 1000,
			timeOut: 5000,
			width:'300px',
			height:'400px',
			ownPosition:false,
			fixed:true,
			offsets: {'x': 16, 'y': 16},
			modal:false,
			draggMe:false,
			resizeMe:false,
			resizeLimit:{y: [100, 600],x:[100,600]},
			effecting:false,
			stayalive:true,
			transitionEffect: Fx.Transitions.Elastic.easeOut,
			startFrom: {'x': 0, 'y': 0},
			moveTo: {'x': 100, 'y': 100},
			title:'',
			text:'',
			limitContainer:false,
			lilWindowShow:false,
			ajaxfile:'tooltext.php',
			ajaxoption:'',
			className: 'myHtmlAreaWin',
			onAjaxComplete: Class.empty


    },

	initialize: function(element, options){
	    this.setOptions(options);

		this.element = $(element);

		this.document = (element.length) ? element[0].ownerDocument : document;

		this.WindooMain = new Element('div').setProperties({'id':this.element.id+'_main','class':this.options.className+'-WinMain'}).setStyles({'position': 'absolute','top': '0px','left': '0px','width': this.options.width +'px','height': this.options.height+'px','visibility':'hidden'}).inject(document.body);
        if(this.options.modal==true){
			if(Browser.Engine.trident) {
				this.iframeBG= new Element("iframe").setProperties({'id':this.element.id+'_iframeBg','class':this.options.className+'-DivBg'}).setStyles({'height':Window.getScrollHeight()+'px','opacity':0.1}).inject(this.WindooMain,'before');
			}
			this.divBG= new Element('div').setProperties({'id':this.element.id+'_divBg','class':this.options.className+'-DivBg'}).setStyles({'height':Window.getScrollHeight()+'px','opacity':0.7}).inject(this.WindooMain,'before');
		}
  	    if(this.options.stayalive){
		 var WindooCloseImg='<img id="'+this.element.id+'_close'+'" style="cursor: pointer;" src="'+this.options.imageClose+'" border="0" align="absbottom" />';
		}else{
		WindooCloseImg='';
		}

		if(this.options.resizeMe){
			 var WindooResizeImg='<div id="'+this.element.id+'_resize" class="'+this.options.className+'-WinResize"></div>';
		}else{
				WindooResizeImg='';
		}

		WindooLilWindow='<div class="'+this.options.className+'-WinMakeLil'+'" id="'+this.element.id+'_lilknob'+'"></div>';


  	    var WindooHead ='<div id="'+this.element.id+'_dragToolArea'+'" class="'+this.options.className+'-WinDragToolArea'+'"><div class="'+this.options.className+'-WinheadLeft'+'"></div><div id="'+this.element.id+'_dragTool'+'" class="'+this.options.className+'-WinDragTool'+'">'+this.options.title+'</div>'+WindooLilWindow+'<div class="'+this.options.className+'-WinClose'+'">'+WindooCloseImg+'</div><div class="'+this.options.className+'-WinheadRight'+'"></div></div>';
  	    var WindooBody='<div id="'+this.element.id+'_toolBody'+'" class="'+this.options.className+'-WinBody'+'"><div id="'+this.element.id+'_ajaxcontent'+'" class="'+this.options.className+'-WinContent'+'"></div></div>';
  		var WindooFooter ='<div class="'+this.options.className+'-WinBotLeft'+'"></div><div id="'+this.element.id+'_bot'+'" class="'+this.options.className+'-WinImgBotLeft'+'"></div><div class="'+this.options.className+'-WinImgBotRight'+'"></div>'+WindooResizeImg+'<div class="'+this.options.className+'-WinBotRight'+'"></div>';

  		this.WindooMain.set('html',WindooHead+WindooBody+WindooFooter);

  		 //DEFINE Aktuelles Objekt
      this.BodyInstance=$(this.element.id+'_toolBody');
      this.AjaxInstance=$(this.element.id+'_ajaxcontent');
      this.FooterInstance=$(this.element.id+'_bot');
      this.DragerInstance=$(this.element.id+'_dragToolArea');

      this.lilWindowHandler= $(this.element.id+'_lilknob');

		this.lilWindowHandler.addEvent('click',function(){
		       this.hideWindow();
		}.bind(this));

	    if(this.options.resizeMe){

		   this.ResizerInstance=$(this.element.id+'_resize');

		   this.ResizerInstance.addEvent('click',function(){

			    this.cloneInstance=new Element('div').setProperties({'id':this.element.id+'_CloneResize','class':this.options.className+'-resizeDiv'}).setStyles($(this.element.id+'_main').getCoordinates())
                     			            .setStyles({'opacity':'0.5'})
                                            .inject(document.body);
               this.cloneInstance.set('html','<br />Resize Me');
               this.WindooMain.setStyles({'opacity':'0.8'});

                this.cloneInstance.makeResizable({
		        	  limit: this.options.resizeLimit,
		         	  snap: 2,
		          	  onStart:function(){
                      }.bind(this),
		          	  onComplete:function(){
                       		saveHeight=this.cloneInstance.getCoordinates().height.toInt();
				            saveWidth=this.cloneInstance.getCoordinates().width.toInt();
				            saveBotHeight=this.FooterInstance.getCoordinates().height.toInt();
				            saveTopHeight=this.DragerInstance.getCoordinates().height.toInt();

				            this.WindooMain.setStyles({'width':saveWidth,'height':saveHeight}).setStyles({'position':'absolute','opacity':'1'});

				            this.BodyInstance.setStyles({
				               	   'height':(saveHeight-saveTopHeight)+'px'
				            });
				            this.AjaxInstance.setStyles({
				                  'height':(saveHeight-(saveBotHeight+saveTopHeight+10))+'px',
				                  'width':(saveWidth-16)+'px'
				            });

		          	      this.cloneInstance.destroy();

			          	  }.bind(this)
			        });

            }.bind(this));
		}

		if(this.options.draggMe){
           this.DraggerHandlerInstance=$(this.element.id+'_dragTool');

		   this.DraggerHandlerInstance.addEvent('click',function(){
		    this.cloneDrag=new Element('div').setProperties({'id':this.element.id+'_CloneMove','class':this.options.className+'-resizeDiv'}).setStyles(this.WindooMain.getCoordinates())
                     			            .inject(document.body);
                this.cloneDrag.set('html','<br />Drag Me').setStyles({'opacity':'0.8','cursor':'move'});
               // this.WindooMain.setStyles({'opacity':'0.8'});

		       this.cloneDrag.makeDraggable({
		       			container:this.options.limitContainer,
		       			onBeforeStart:function(){

					         if($$('.'+this.options.className+'-WinMain').length>1){
					            $$('.'+this.options.className+'-WinMain').each(function(el){
								    el.setStyles({'zIndex':100});
							    });
					            this.WindooMain.setStyle('zIndex',101);
				         	}
					      }.bind(this),
					    onComplete:function(){
		       				this.WindooMain.setStyles(this.cloneDrag.getCoordinates()).setStyles({'position':'absolute'});
		       				this.cloneDrag.destroy();
		       			}.bind(this)
					});
					}.bind(this));
		}

        if(this.options.stayalive){
           this.CloserHandlerInstance=$(this.element.id+'_close');

			this.CloserHandlerInstance.addEvent('click',function(){
				this.end();
			}.bind(this));
		}
		if(!this.options.stayalive && this.options.effecting==false){
            var end = this.endAlive.bind(this);
		    this.element.addEvent('mouseleave', end);
		}

         this.myEffect = new Fx.Morph(this.WindooMain, {duration: 500, transition: this.options.transitionEffect});

        this.BodyInstance.setStyles({'height':(this.options.height-(this.FooterInstance.getCoordinates().height*2))+'px','width':'100%'});



	 if (this.options.initialize) this.options.initialize.call(this);
	},

	hideWindow:function(){


	    if(this.options.lilWindowShow!=false){
	      this.LilWindow=new Element('div').setProperties({'id':this.element.id+'_CloneWin','class':this.options.className+'-WinLil'}).set('html',this.options.title);
          this.LilWindow.inject(this.options.lilWindowShow,'after');
		}else{

	      showLilTop=this.WindooMain.getCoordinates().top;
	      showLilLeft=this.WindooMain.getCoordinates().left;
	      this.LilWindow=new Element('div').setProperties({'id':this.element.id+'_CloneWin','class':this.options.className+'-WinLil'}).setStyles({'position':'absolute','top':showLilTop+'px','left':showLilLeft+'px'})
                   			            .set('html',this.options.title)
                   			            .inject(document.body);

	    }

		this.WindooMain.setStyle('opacity','0');

		this.LilWindow.addEvent('click',function(){
			this.WindooMain.setStyle('opacity','1');
			this.LilWindow.destroy();
		}.bind(this));

	},
    end: function(event){

		$clear(this.timer);
		this.timer = this.disappear.delay(this.options.timeIn, this);


	},
	endAlive: function(event){

		$clear(this.timer);
		this.timer = this.disappear.delay(this.options.fxDuration, this);


	},
    position: function(element){


	 var newleft='';
	 var pos = element.getPosition();
     if((this.options.width.toInt()+pos.x.toInt()) > Window.getWidth()){
     newleft=(Window.getWidth()-this.options.width-20);
     }else{
     newleft=pos.x;
     }

		this.WindooMain.setStyles({
			'left': newleft + this.options.offsets.x,
			'top': pos.y + this.options.offsets.y
		});
	},
	ownposition: function(){
     var newleft='';

     if((this.options.width.toInt()+this.options.offsets.x.toInt()) > Window.getWidth()){
     newleft=(Window.getWidth()-this.options.width-20);
     }else{
     newleft=this.options.offsets.x;
     }
		this.WindooMain.setStyles({
		    'position':'absolute',
			'left': newleft+'px',
			'top':  this.options.offsets.y+'px'
		});
	},
    getEffect: function(){

     var newleft='';
     if((this.options.width.toInt()+this.options.moveTo.x.toInt()) > Window.getWidth()){
     newleft=(Window.getWidth()-this.options.width-20);
     }else{
     newleft=this.options.moveTo.x;
     }
              this.myEffect.start({
   		         	'top':[this.options.startFrom.y,this.options.moveTo.y],
   		         	'left':[this.options.startFrom.x,newleft],
   		         	'width':[0,this.options.width],
   		         	'height':[0,this.options.height],
   		         	'opacity':[0,this.options.maxOpacity],
		         	onComplete:function(){
		   	      		this.BodyInstance.setStyles({'height':(this.options.height-(this.FooterInstance.getCoordinates().height*2))+'px'});
   	              		  this.show();
   	              		 if(!this.options.stayalive){
   	              		  this.endAlive(this);
		                }


		         		}.bind(this)
		         	}
		         );

    },
	show: function(){

		if(this.options.takeajax){
			this.ajaxload();
		}else{
		    this.AjaxInstance.set('html', this.options.text);
			saveHeight=this.WindooMain.getCoordinates().height.toInt();
            saveWidth=this.WindooMain.getCoordinates().width.toInt();
            saveBotHeight=this.FooterInstance.getCoordinates().height.toInt();
            saveTopHeight=this.DragerInstance.getCoordinates().height.toInt();

            this.BodyInstance.setStyles({
               	   'height':(saveHeight-saveTopHeight)+'px'
            });
            this.AjaxInstance.setStyles({
                  'height':(saveHeight-(saveBotHeight+saveTopHeight+10))+'px',
                  'width':(saveWidth-16)+'px'
            });
		}

        if(!this.options.effecting){
			this.appear();


		}
	},

	appear: function(){

	  this.WindooMain.setStyle('visibility','visible');
	},



    ajaxload: function(){

	 	new Request.HTML({url:this.options.ajaxfile, method:'post',data:this.options.ajaxoption,update:this.AjaxInstance,
			onFailure:function(){},
			onRequest:function(){
		        this.AjaxInstance.set('html','<br /><div style="text-align:center"><table align="center" style="table-layout:fixed;background-color:#fff; border:1px solid #333;margin-right:auto;margin-left:auto; height:100px; width:100px;"><tr><td align="center"><img src="./htmlarea/images/loading.gif" border="0" title="loading" /></td></tr></table></div>');
	             this.WindooMain.setStyle('opacity','0.5');
	        }.bind(this),
			onComplete:function(){
					saveHeight=this.WindooMain.getCoordinates().height.toInt();
                    saveWidth=this.WindooMain.getCoordinates().width.toInt();
	                saveBotHeight=this.FooterInstance.getCoordinates().height.toInt();
	                saveTopHeight=this.DragerInstance.getCoordinates().height.toInt();

	                this.BodyInstance.setStyles({
                 		      'height':(saveHeight-saveTopHeight)+'px'
                 	});
	                this.AjaxInstance.setStyles({
	                 		      'height':(saveHeight-(saveBotHeight+saveTopHeight+10))+'px',
	                 		      'width':(saveWidth-16)+'px'
	                });
	               this.WindooMain.setStyle('opacity','1');
					this.fireEvent('onAjaxComplete',this.options.onAjaxComplete);

			}.bind(this)}).send();
		return this;
		 },


    showMe:function(){

        if(!this.options.effecting){


   			if (!this.options.fixed && !this.options.ownPosition) {
			    this.position(this.element);
   			}
	   		if(!this.options.fixed && this.options.ownPosition){
	   		 	this.ownposition();
	   		}
	    	if(this.options.fixed && !this.options.ownPosition){
	    	   this.position(this.element);
	    	}

           this.show();
     }

        if(this.options.effecting){
        this.timer = $clear(this.timer);
        this.timer = this.getEffect.delay(this.options.timeIn, this);
        }
    },
	disappear: function(){

       if(this.options.modal==true){
                this.divBG.destroy();
					if(Browser.Engine.trident) {
						this.iframeBG.destroy();
					}
           }
       this.WindooMain.destroy();
	}

});//Copyright © 2005-2007, John Goodman - john.goodman(at)unverse.net  *date 070107 v3
//Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
//The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 

var nlTag='|div|p|table|tbody|tr|td|th|title|script|comment|li|h1|h2|h3|h4|h5|h6|hr|ul|ol|option|select|'; 
var tagNl='|p|th|style|'; 
var regCmt=new RegExp(); 
regCmt.compile("^<!--(.*)-->$"); 
var regHyph=new RegExp(); 
regHyph.compile("-$"); 
function get_xhtml(node,ndNl,inPre){
 var i; 
 var tx=''; 
 var kids=node.childNodes; 
 var kidsL=kids.length; 
 var tagNm; 
 var doNl=ndNl?true:false; 
 var sz=["small","xx-small","x_small","small","medium","large","x-large","xx-large"];
 for(i=0; i<kidsL; i++){
  var kid=kids[i]; 
  switch(kid.nodeType){
   case 1:{
    var tagNm=String(kid.tagName).toLowerCase(); 
    if(tagNm=='')break; 
    if(tagNm=='font') { 
     if (kid.size) {kid.style.fontSize=sz[kid.size]; kid.removeAttribute('size');} 
     if (kid.face) {kid.style.fontFamily=kid.face; kid.removeAttribute('face');}
     if (kid.color) {kid.style.color=kid.color; kid.removeAttribute('color');}
     tagNm='span'; 
     }
    if(tagNm=='!'){
     var bits=regCmt.exec(kid.tx); 
     if(bits){
      var innerTx=bits[1]; 
      tx+=tidyCmt(innerTx); 
     }
    }else{
     if(nlTag.indexOf('|'+tagNm+'|')!=-1){
      if((doNl||tx!='')&&!inPre)tx+='\n'; 
      else doNl=true; 
     }
     tx+='<'+tagNm; 
     var attr=kid.attributes; 
     var atLn=attr.length; 
     var atVal; 
     var atLang=false; 
     var atXml=false; 
     var atXmlns=false; 
     var isAlt=false; 
     for(j=0; j<atLn; j++){
      var atNm=attr[j].nodeName.toLowerCase(); 
      if(!attr[j].specified&&(atNm!='selected'||!kid.selected)
         && (atNm!='style'||kid.style.cssText=='')
         && atNm!='value')
       continue; 
      if(atNm=='_moz_dirty'||atNm=='_moz_resizing'||tagNm=='br'&&atNm=='type'&&kid.getAttribute('type')=='_moz')
       continue; 
      var valid_attr=true;
      switch(atNm){
       case "color":atNm="style"; 
        tVal="color:"+kid.color+";";
        if (window.atVal){atVal+=tVal ;}else{atVal=tVal;}
        break;
       case "style":atVal=kid.style.cssText.toLowerCase(); 
        break; 
       case "class":atVal=kid.className; 
        break; 
       case "noshade":
       case "checked":
       case "selected":
       case "multiple":
       case "nowrap":
       case "disabled":atVal=atNm;
        break; 
       default:try{
        atVal=kid.getAttribute(atNm,2); 
       }catch(e){ valid_attr=false; }
      }
      if(valid_attr){
       if(!(tagNm=='li'&&atNm=='value')){
        tx+=' '+atNm+'="'+tidyAt(atVal)+'"';  
       }
      }
      if(atNm=='alt')isAlt=true; 
     }
     if(tagNm=='img'&&!isAlt) tx+=' alt=""';
    if(kid.canHaveChildren||kid.hasChildNodes()){
     tx+='>'; 
     if(tagNl.indexOf('|'+tagNm+'|')!=-1){}
     tx+=get_xhtml(kid,true,inPre||tagNm=='pre'?true:false); 
     tx+='</'+tagNm+'>'; 
    }else{ 
     if(tagNm=='style'||tagNm=='title'||tagNm=='script'){
      tx+='>';  
      var innerTx; 
      if(tagNm=='script'){
       innerTx=kid.tx; 
      }else innerTx=kid.innerHTML; 
      if(tagNm=='style'){
       innerTx=String(innerTx).replace(/[\n]+/g,'\n'); 
      }
      tx+=innerTx+'</'+tagNm+'>'; 
     }else{ tx+=' />'; }
    }
   }
   break; 
  }
  case 3:{
   if(!inPre){
    if(kid.nodeValue!='\n'){ tx+=tidyTxt(kid.nodeValue); }
   }
   else tx+=kid.nodeValue; 
   break; 
  }
  case 8:{
   tx+=tidyCmt(kid.nodeValue); 
   break; 
  }
  default: break; 
  }
 }
 return tx; 
}
function tidyCmt(tx){
 tx=tx.replace(/--/g,"__"); 
 if(regHyph.exec(tx)){
  tx+=" "; 
 }return "<!--"+tx+"-->"; 
}
function tidyTxt(tx){
 return String(tx).replace(/\n{2,}/g,"\n").replace(/\&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\u00A0/g,"&nbsp;");
}
function tidyAt(tx){
 return String(tx).replace(/\&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\"/g,"&quot;");
}// Copyright © 2005-2007, Döll Sebastian
// sebastian.doell(at)owncms-online.de
// date 02092007
// ownCMS WYSIWYG Editor Version 1.1 stable
// It' s not allowed to remove the copyright
// Special credits to John Goodman - john.goodman(at)unverse.net for the xhtml.js
// Special thanks to Valerio from mootools.net
function ReturnChoosenLang(langChoose){

			if(langChoose=='de'){

        		langObj={};
          		langObj["vers"]='Versionsinfo';
                langObj["verstext"]='<br /> Version:1.1 stable<br />Mootools: Version 1.1<br />Thanks to john.goodman(at)unverse.net for the xhtml.js';
                langObj["undo"]='<b>Rückgänging </b><br /> Der letze Schritt wird rückgängig gemacht';
                langObj["redo"]='<b>Wiederherstellen </b><br /> Der letzte Schritt wird wieder hergestellt';
                langObj["cut"]='<b>Ausschneiden </b><br /> Markierten Text ausschneiden';
                langObj["copy"]='<b>Kopieren </b><br /> Markierten Text kopieren';
                langObj["paste"]='<b>Einfügen </b><br /> Zwischengespeicherten Text einfügen';
                langObj["bold"]='<b>Fettschreiben </b><br /> Der markierte Text wird fett dargestellt';
                langObj["italic"]='<b>Kursiv schreiben </b><br /> Der markierte Text wird schräg dargestellt.<br /> Ctrl-I';
                langObj["underline"]='<b>Text unterstrichen </b><br /> Der markierte Text wird unterstrichen <br /> Ctrl-U';
                langObj['strikethrough']='<b>Text durchstreichen </b><br /> Der markierte Text wird durchgestrichen!';
                langObj["forecolor"]='<b>Schriftfarbe </b><br /> Auswahl der Schriftfarbe für Ihren Text.<br />Es öffnet sich ein neuer Dialog<br /> Ctrl-q zum Schliessen';
                langObj["backcolor"]='<b>Hintergrundfarbe </b><br /> Markierten Text mit einer anderen Hintergrundfarbe darstellen.<br /> Ein neuer Dialog wird geöffnet<br /> Ctrl-q zum Schliessen';
                langObj["justifyleft"]='<b>Text Linksbündig </b><br /> Die Ausrichtung des Textes wird linksbündig';
                langObj["justifycenter"]='<b>Text Zentriert </b><br /> Die Ausrichtung des Textes wird zentriert';
                langObj["justifyright"]='<b>Text Rechtsbündig </b><br /> Der Text wird rechtsbündig ausgerichtet';
                langObj["justifyfull"]='<b>Text Absatz </b><br /> Der Text wird mit Leerzeichen aufgefüllt und standardisiert dargestellt';
                langObj["orderedlist"]='<b>Geordnete Liste </b><br /> Nummerierte Listenpunkte werden eingefügt';
                langObj["unorderedlist"]='<b>Ungeordnete Liste </b><br /> Listenpunkte werden eingefügt';
                langObj["outdent"]='<b>Tab Links </b><br /> Ein Tapstopp nach links';
                langObj["indent"]='<b>Tab Rechts </b><br /> Ein Tabstop nach rechts';
                langObj["subscript"]='<b>Text hochgestellt </b><br /> Markierter Text wird hoch dargestellt';
                langObj["superscript"]='<b>Text tiefgestellt </b><br /> Markierter Text wird tiefgestellt';
                langObj["table"]='<b>Tabelle erzeugen </b><br /> Erzeugen Ihres eigenen Tabellenmodels oder Nutzung einer Vorlage.<br /> Ctrl-q zum Schliessen';
                langObj["image"]='<b>Bild einfuegen </b><br /> Bildupload und Bilder einfügen.<br /> Ctrl-q zum Schliessen';

                langObj["makeBig"]='<b>Vollbildmodus </b><br /> Die HTMLAREA wird im Vollbildmodus aktiviert, durch erneutes Anklicken des Icons wird der Normale Modus wieder hergestellt';
                langObj["Smilies"]='<b>Smilies </b><br /> Durch Anklicken wird das Smilie eingefügt<br /> Ctrl-q zum Schliessen';
                langObj["clear"]='<b>Alle Formatierungen aufheben </b><br /> hebt alle Formatierungen auf';
                langObj["print"]='<b>Drucken </b><br /> Der Druckdialog wird geöffnet';
                langObj["preview"]='<b>Vorschau </b><br /> Das Vorschaufenster wird geöffnet';

                langObj["help"]='und Supportangaben Ctrl-A';
                langObj["size"]='Groesse';
                langObj["font"]='Schriftart';
				langObj["usecss"]=' Nur CSS verwenden ';
				langObj["source"]=' Quelltext ansehen';
				langObj["init"]='Initialisierung erfolgreich ...';
			 	langObj["yessource"]='Quelltextansicht aktiviert';
				langObj["nosource"]='Quelltextansicht deaktiviert';
				langObj["forecolorchoose"]='Schriftfarbe auswaehlen';
				langObj["backcolorchoose"]='Hintergrundfarbe auswaehlen';
				langObj["smiliechoose"]='Smilies auswaehlen';
				langObj["tablechoose"]='Tabelle erzeugen';
        		langObj["printPreview"]='Ausdruck';
				langObj["preview"]='Vorschau';
				langObj['editItem']='<b>HTML Element bearbeiten </b><br /> Hier können sie bequem Html Elemente bearbeiten';
	            langObj["elPath"]=' Pfad';
			    langObj["GoodSave"]='Speicherung erfolgreich!';
				langObj["NoSave"]='Keine Speicherung erfolgt!<br /> Sie befinden sich noch in der Quelltextansicht!';
	            langObj["noPrint"]="Ihr Browser kann dieses Formular nicht drucken.";
			    langObj['special']='<b>Sonderzeichen </b><br /> Auswahl an Sonderzeichen';
			    langObj['specialchoose']='Sonderzeichen';
		        langObj['ImageChoose']='Bilder hochladen';
		        return langObj;
		   }
		 else if(langChoose=='en'){
          		langObj={};
          		langObj["vers"]='version info';
                langObj["verstext"]='<br /> Version:1.1 stable<br />Mootools: Version 1.1<br />Thanks to john.goodman(at)unverse.net for the xhtml.js';
                langObj["undo"]='<b>Rückgänging </b><br /> Der letze Schritt wird rückgängig gemacht';
                langObj["redo"]='<b>Wiederherstellen </b><br /> Der letzte Schritt wird wieder hergestellt';
                langObj["cut"]='<b>Ausschneiden </b><br /> Markierten Text ausschneiden';
                langObj["copy"]='<b>Kopieren </b><br /> Markierten Text kopieren';
                langObj["paste"]='<b>Einfügen </b><br /> Zwischengespeicherten Text einfügen';
                langObj["bold"]='<b>Bold </b><br /> Der markierte Text wird fett dargestellt<br /> Ctrl-B </b><br /> htmlarea/images/icons/bold.gif';
                langObj["italic"]='<b>Italic </b><br /> Der markierte Text wird schräg dargestellt.<br /> Ctrl-I';
                langObj["underline"]='<b>Text underline </b><br /> Der markierte Text wird unterstrichen <br /> Ctrl-U';
                langObj['strikethrough']='<b>Text durchstreichen </b><br /> Der markierte Text wird durchgestrichen!';
                langObj["forecolor"]='<b>Forecolor </b><br /> Auswahl der Schriftfarbe für Ihren Text.<br />Es öffnet sich ein neuer Dialog';
                langObj["backcolor"]='<b>Background Color </b><br /> Markierten Text mit einer anderen Hintergrundfarbe darstellen.<br /> Ein neuer Dialog wird geöffnet';
                langObj["justifyleft"]='<b>Text justifyleft </b><br /> Die Ausrichtung des Textes wird linksbündig';
                langObj["justifycenter"]='<b>Text center </b><br /> Die Ausrichtung des Textes wird zentriert';
                langObj["justifyright"]='<b>Text justifyright </b><br /> Der Text wird rechtsbündig ausgerichtet';
                langObj["justifyfull"]='<b>Text full </b><br /> Der Text wird mit Leerzeichen aufgefüllt und standardisiert dargestellt';
                langObj["orderedlist"]='<b>ordered list </b><br /> Nummerierte Listenpunkte werden eingefügt';
                langObj["unorderedlist"]='<b>unordered list </b><br /> Listenpunkte werden eingefügt';
                langObj["outdent"]='<b>Outdent </b><br /> Ein Tapstopp nach links';
                langObj["indent"]='<b>Indent </b><br /> Ein Tabstop nach rechts';
                langObj["subscript"]='<b>Text subscript  </b><br /> Markierter Text wird hoch dargestellt';
                langObj["superscript"]='<b>Text superscript </b><br /> Markierter Text wird tiefgestellt';
                langObj["table"]='<b>Generate table </b><br /> Erzeugen Ihres eigenen Tabellenmodels oder Nutzung einer Vorlage.';
                langObj["image"]='<b>Pic Manage </b><br /> Bildupload und Bilder einfügen.<br /> Ctrl-q zum Schliessen';
                langObj["makeBig"]='<b>Fullscreen </b><br /> Die HTMLAREA wird im Vollbildmodus aktiviert, durch erneutes Anklicken des Icons wird der Normale Modus wieder hergestellt';
                langObj["Smilies"]='<b>Smilies </b><br /> Durch Anklicken wird das Smilie eingefügt';
                langObj["clear"]='<b>Clear all format </b><br /> hebt alle Formatierungen auf';
                langObj["preview"]='<b>Vorschau </b><br /> Das Vorschaufenster wird geöffnet';
                langObj["print"]='<b>Print </b><br /> Der Druckdialog wird geöffnet';
                langObj["help"]='and support question';
                langObj["size"]='size';
                langObj["font"]='font';
				langObj["usecss"]=' Use CSS ';
				langObj["source"]=' View Source';
				langObj["init"]='Init successful ...';
			 	langObj["yessource"]='Activate Source';
				langObj["nosource"]='Deactivate Source';
				langObj["forecolorchoose"]='Choose Color';
				langObj["backcolorchoose"]='Choose background color';
				langObj["smiliechoose"]='Choose smilie';
				langObj["tablechoose"]='Generate table';
            	langObj["printPreview"]='Print Preview';
				langObj["preview"]='Preview';
				langObj['editItem']='<b>HTML Element edit </b><br /> Hier können sie bequem Html Elemente bearbeiten';
	            langObj["elPath"]=' Path';
				langObj["GoodSave"]='Saving successful!';
			    langObj["NoSave"]='No Save<br /> Sie befinden sich noch in der Quelltextansicht!';
	            langObj["noPrint"]="Ihr Browser kann dieses Formular nicht drucken.";
				langObj['special']='<b>Sonderzeichen </b><br /> Auswahl an Sonderzeichen';
				langObj['specialchoose']='Sonderzeichen';
		       langObj['ImageChoose']='Image Upload';
		        return langObj;
		   }
          else if(langChoose=='fr'){
          		  langObj={};
          		  langObj["vers"]='Version';
                  langObj["verstext"]='<br /> Version:1.1 stable<br />Mootools: Version 1.1<br />Thanks to john.goodman(at)unverse.net for the xhtml.js';
 		          langObj["undo"]='<b>Rückgänging </b><br /> Der letze Schritt wird rückgängig gemacht';
                  langObj["redo"]='<b>Wiederherstellen </b><br /> Der letzte Schritt wird wieder hergestellt';
       	          langObj["cut"]='<b>Ausschneiden </b><br /> Markierten Text ausschneiden';
    	          langObj["copy"]='<b>Kopieren </b><br /> Markierten Text kopieren';
  	              langObj["paste"]='<b>Einfügen </b><br /> Zwischengespeicherten Text einfügen';
       			  langObj["bold"]='<b>Gras </b><br /> Texte Sélectionné en gras<br /> Ctrl-B </b><br /> htmlarea/images/icons/bold.gif';
				  langObj["italic"]='<b>Italique </b><br /> Texte Sélectionné en italique<br /> Ctrl-I';
				  langObj["underline"]='<b>Souligné </b><br /> Souligne le Texte sélectionné<br /> Ctrl-U';
			      langObj['strikethrough']='<b>Text durchstreichen </b><br /> Der markierte Text wird durchgestrichen!';
        		  langObj["forecolor"]='<b>Couleur du texte </b><br /> Dans un nouveau dialogue';
				  langObj["backcolor"]='<b>Couleur de fond </b><br /> Dans un nouveau dialogue.';
				  langObj["justifyleft"]='<b>Aligner à gauche </b><br /> Aligne le texte sélectionné à gauche.';
				  langObj["justifycenter"]='<b>Centrer </b><br /> Centre le texte sélectionné.';
				  langObj["justifyright"]='<b>Aligner à droite </b><br /> Aligne le texte sélectionné à droite.';
				  langObj["justifyfull"]='<b>Justifier </b><br /> Centre le texte sélectionné.';
				  langObj["orderedlist"]='<b>Liste ordonnée </b><br /> Crée une liste numérotée';
				  langObj["unorderedlist"]='<b>Liste simple </b><br /> Crée une liste sans numérotation';
				  langObj["outdent"]='<b>Des-Indenter </b><br /> Tabulation vers la gauche';
				  langObj["indent"]='<b>Indenter </b><br /> Tabulation vers la droite';
				  langObj["subscript"]='<b>Subscript  </b><br /> Texte sélectionné vers le bas';
				  langObj["superscript"]='<b>Superscript  </b><br /> Texte sélectionné décalé vers le haut';
				  langObj["table"]='<b>Créer un tableau </b><br /> Générer votre modèle de table.';
				  langObj["image"]='<b>Bild einfuegen </b><br /> Bildupload und Bilder einfügen.<br /> Ctrl-q zum Schliessen';
				  langObj["makeBig"]='<b>Plein écran </b><br /> Cliquez de nouveau pour mode standard';
				  langObj["Smilies"]='<b>Emoticones </b><br /> Cliquez sur un émoticone pour insérer';
				  langObj["clear"]='<b>Nettoyage mise en page </b><br /> Supprime toute la mise en page';
	              langObj["preview"]='<b>Vorschau </b><br /> Das Vorschaufenster wird geöffnet';
 				  langObj["print"]='<b>Imprimer </b><br /> Ouverture du dialogue impression';
				  langObj["help"]='aide et support';
				  langObj["size"]='taille';
				  langObj["font"]='font';
				  langObj["usecss"]=' Utiliser feuille de style ';
				  langObj["source"]=' Voir le code source';
				  langObj["init"]='Initialisation ok ...';
				  langObj["yessource"]='Activer mode code source';
				  langObj["nosource"]='Désactiver mode code source';
				  langObj["forecolorchoose"]='Choisir une couleur';
				  langObj["backcolorchoose"]='Choisir une couleur de fond';
				  langObj["smiliechoose"]='Choisir un émoticone';
				  langObj["tablechoose"]='Créer le tableau';
				  langObj["printPreview"]='Ausdruck';
				  langObj["preview"]='Vorschau';
				  langObj['editItem']='<b>HTML Element bearbeiten </b><br /> Hier können sie bequem Html Elemente bearbeiten';
	      		  langObj["elPath"]=' Pfad';
				  langObj["GoodSave"]='Speicherung erfolgreich!';
				  langObj["NoSave"]='Keine Speicherung erfolgt!<br /> Sie befinden sich noch in der Quelltextansicht!';
	              langObj["noPrint"]="Ihr Browser kann dieses Formular nicht drucken.";
				  langObj['special']='<b>Sonderzeichen </b><br /> Auswahl an Sonderzeichen';
				  langObj['specialchoose']='Sonderzeichen';
                  langObj['ImageChoose']='Bilder hochladen';
                  return langObj;
		   }


};
// Copyright © 2005-2007, Döll Sebastian
// sebastian.doell(at)owncms-online.de
// date 02092007
// ownCMS WYSIWYG Editor Version 1.1 stable
// It' s not allowed to remove the copyright
// Special credits to John Goodman - john.goodman(at)unverse.net for the xhtml.js
// Special thanks to Valerio from mootools.net

var HtmlArea = new Class({

    Implements: [Events, Options],
    options:{
            form: '',
            width: '100%',
            height:'',
            align:'top',
            inlineEdit:false,
            toolbar: '',
			initfactor: 1.5,
            ViewSource:true,
            CssFile:'style1.css',
            picupload :false,
            limitContainer:false,
            uploadfolder :'',
            title:'ownCMS WYSIWYG Editor',
            lang:'de',
            onReadyLoad: Class.empty

    },
    initialize: function(el,pathtoArea,options){
        this.setOptions(options);

        this.inlineEdit = this.options.inlineEdit;

         if(this.inlineEdit==false){

         	//FORM TAG sauber initialisieren
    	  	var tempForm=this.options.form;


        	if(tempForm.nodeType==1){
				this.form=$(tempForm) ;
			}

        	if(tempForm.nodeType!=1){

				if($$('form').length > 1){
        			$$('form').each(function(elem){
         				if(elem.name==tempForm && elem.id=='') {
         					elem.setProperty('id',elem.name);
          				}
        			});
        			this.form=$(tempForm);
        		}

        		else if($$('form').length == 1 && $$('form').getProperty('name')==tempForm){
        			$$('form').setProperty('id',$$('form').getProperty('name'));
        			this.form=$(tempForm);
        		}

			}

        //ENDE
       //TEXTAREA sauber initialisieren
		if(el.nodeType==1){
			this.element = $(el);
		}

		if(el.nodeType!=1){

        	if($$(this.form.getElementsByTagName('textarea')).length > 1){
                    var tempElement='';

        			$$(this.form.getElementsByTagName('textarea')).each(function(ele){
        				if(ele.name==el && ele.id=='') {
         					ele.setProperty('id',ele.name);
         					tempElement=$(el);
         				}
         		});

        	this.element=$(tempElement);
          	}
      		else if(this.form.getElementsByTagName('textarea').length == 1 && $$(this.form.getElementsByTagName('textarea')).getProperty('name')==el){
        			 $$(this.form.getElementsByTagName('textarea')).setProperty('id',el);
         		 	 this.element=$(el);
        	}

        }


         }//ENDE INLINE EDIT FALSE


         //INLINE EDIT
         if(this.inlineEdit==true){
            this.element=$(el);
         }

         this.width = this.options.width;
         this.height = this.options.height;
         this.align = this.options.align;

         this.MyPicLoad=this.options.picupload;
		 this.initfactor=this.options.initfactor;

         this.toolbar = this.options.toolbar;
         if(this.toolbar==''){
		    this.toolbar=['undo','redo','bold','underline','italic','cut','copy','paste','editItem','strike','forecolor','backcolor','justifyleft','justifycenter','justifyright','justifyfull','orderedlist','unorderedlist','outdent','indent','subscript','superscript','special','table','image','makeBig','Smilies','clear','print','preview','help','fontname','formatblock','fontsize'];
     	  }


		 this.ViewSource = this.options.ViewSource;
		 this.title = this.options.title;
		 this.prefLang = this.options.lang;
         this.pathChoose=pathtoArea;
         this.MyUploadFolder=this.options.uploadfolder;

         this.selImg=null;
		 var selImg=this.selImg;



         //function INIT
		 this.loadCss.bind(this).delay((200*this.initfactor));

         this.loadInitFunction.bind(this).delay((400*this.initfactor));
         this.onReadyLoad=this.fireEvent('onReadyLoad',this.options.onReadyLoad,2000);


      if (this.options.initialize) this.options.initialize.call(this);


    },
   loadCss: function(){
        try{

        	if($('editorCssFile')==null){

        	this.CssFile = new Asset.css(this.pathChoose+'htmlarea/css/'+this.options.CssFile, {id: 'editorCssFile'});
         }
        }catch(e){
        	alert(e);
		}

   },
   loadInitFunction: function(){
     try{

         this.generateHTMLArea();

	     this.generateButtons();

		 if(Browser.Engine.trident) {
			this.ownEditor.contentWindow.document.designMode='on';
         }

       }catch(e){
    	 alert("Reinitialisierung:"+e+this.element.id);
      }
   },

    ActivateEvents : function(){

       try{
         var MouseEvents = this.capturemouse.bind(this);
		 this.ownEditor.contentWindow.document.addEvent('mousedown', MouseEvents);

         var KeyEvents = this.capturekey.bind(this);
		 this.ownEditor.contentWindow.document.addEvent('keypress', KeyEvents);

        selImg=null;

		}catch(e){
			alert(e);
		}

       },

    capturemouse:function (evt){

		      evt = new Event(evt);

              myTarget=$$(evt.target);

	    	  selImg=myTarget;

               var id='';

              if(myTarget.getProperty('id')!=''){
                id=myTarget.getProperty('id');
              }

             var Vater='';

            	if(myTarget.get('tag')!='html'){
              		Vater=myTarget.getParent().get('tag');
	       	     }

              if(this.BoldImg!=null){
        	      if(myTarget.get('tag')=='b' || myTarget.get('tag')=='strong' || myTarget.getStyle('font-weight')=='bold'){
            	 	 this.BoldImg.removeClass('imagebutton');
              		 this.BoldImg.addClass('over');
              	  }
              	  if(myTarget.get('tag')!='b' && myTarget.getStyle('font-weight')!='bold' && myTarget.get('tag')!='strong' ){
                	 this.BoldImg.removeClass('over');
                	 this.BoldImg.addClass('imagebutton');
             	  }
             }

             if(this.ItalicImg!=null){
            	 if(myTarget.get('tag')=='i' || myTarget.getStyle('font-style')=='italic'){
               		this.ItalicImg.removeClass('imagebutton');
               		this.ItalicImg.addClass('over');
              	 }

              	if(myTarget.get('tag')!='i' && myTarget.getStyle('font-style')!='italic'){
              		this.ItalicImg.removeClass('over');
               		this.ItalicImg.addClass('imagebutton');
             	}
             }

             if(this.UnderlineImg!=null){
             	if(myTarget.get('tag')=='em' || myTarget.getStyle('text-decoration')=='underline'){
              		this.UnderlineImg.removeClass('imagebutton');
              		this.UnderlineImg.addClass('over');
                }
                if(myTarget.get('tag')!='em' && myTarget.getStyle('text-decoration')!='underline'){
               		this.UnderlineImg.removeClass('over');
               		this.UnderlineImg.addClass('imagebutton');
             	}
             }

             if(this.OrderListImg!=null){
             	if(myTarget.get('tag')=='li' && Vater=='ol'){
              		this.OrderListImg.removeClass('imagebutton');
              		this.OrderListImg.addClass('over');
             	}

               if(myTarget.get('tag')!='li' && Vater!='ol'){
               		this.OrderListImg.removeClass('over');
               		this.OrderListImg.addClass('imagebutton');
              }
            }

            if(this.UnorderListImg!=null){
              if(myTarget.get('tag')=='li' && Vater=='ul'){
            	  this.UnorderListImg.removeClass('imagebutton');
                  this.UnorderListImg.addClass('over');
              }

              if(myTarget.get('tag')!='li' && Vater!='ul'){
     		  	  this.UnorderListImg.removeClass('over');
               	 this.UnorderListImg.addClass('imagebutton');
			  }
            }

 		   var lang=ReturnChoosenLang(this.options.lang);

           var arrow='';
            if(Vater!=''){
            arrow='->';
            }

          $(this.element.id+'_viewPath').set('html',' <b>'+lang['elPath']+':</b> '+Vater+' '+arrow+' '+myTarget.get('tag'));

    },
    capturekey:function (evt){

	         evt = new Event(evt);
	         //IE ENTER Taste
	         if(Browser.Engine.trident) {

	         	if (evt.key == 'enter') {
					evt.stop();
					HtmlArea.Help.pasteTable(this.ownEditor,'<br />\n');
				}
			 }

	         if (!evt.control) return;

	         if (evt.control && evt.key=='b'){
	         		evt.stop();
					this.getCommands('bold');
	         }

	         if (evt.control && evt.key=='i'){
	             evt.stop();
			     this.getCommands('italic');
	         }

	      	if (evt.control && evt.key=='u'){
	        	evt.stop();
	        	this.getCommands('underline');
	        }

            var lang=ReturnChoosenLang(this.options.lang);


	         //About Versionsinfo
	        if (evt.control && evt.key=='a'){
	        	evt.stop();
				var text='<div class="OwnHtmlstandard" style="text-align:center; margin-left:3px; margin-right:3px;"><a href="http://owncms-online.de" target="_blank"><img src="'+this.pathChoose+'htmlarea/images/logo.gif" border="0" /></a>'+lang["verstext"]+'</div>';
	          	this.GenerateDivShow('_help',lang['vers'],'',text,'300','250',true,true);

			  }

	       //Vorschau
            if (evt.key=='p' && evt.control){
		        evt.stop();
	           	this.printMe(1,lang);
		    }

      },



   generateButtons :function(){


                 var lang=ReturnChoosenLang(this.prefLang);
                 var Tools=null;

                 // toolbar

        this.Tools={};
         //[2] Rechte [1] Sprache [0] buttonName
	  this.Tools['undo']			=  ['undo',lang['undo'], true,true,'click'];
	  this.Tools['bold']			=  ['bold',lang['bold'], true,true,'click'];
	  this.Tools['underline']		=  ['underline',lang['underline'], true,true,'click'];
	  this.Tools['italic']			=  ['italic',lang['italic'], true,true,'click'];
	  this.Tools['redo']			=  ['redo',lang['redo'], true,true,'click'];
	  this.Tools['cut']				=  ['cut',lang['cut'], true,true,'click'];
	  this.Tools['copy']			=  ['copy',lang['copy'], true,true,'click'];
	  this.Tools['paste']			=  ['paste',lang['paste'], true,true,'click'];
	  this.Tools['editItem']		=  ['editItem',lang['editItem'], true,false,'click'];
	  this.Tools['strike']			=  ['strike',lang['strikethrough'], true,true,'click'];
	  this.Tools['justifyleft']		=  ['justifyleft',lang['justifyleft'], true,true,'click'];
	  this.Tools['justifycenter']	=  ['justifycenter',lang['justifycenter'], true,true,'click'];
	  this.Tools['justifyright']	=  ['justifyright',lang['justifyright'], true,true,'click'];
	  this.Tools['justifyfull']		=  ['justifyfull',lang['justifyfull'], true,true,'click'];
	  this.Tools['orderedlist']		=  ['orderedlist',lang['orderedlist'], true,true,'click'];
	  this.Tools['unorderedlist']	=  ['unorderedlist',lang['unorderedlist'], true,true,'click'];
	  this.Tools['outdent']			=  ['outdent',lang['outdent'], true,true,'click'];
	  this.Tools['indent']			=  ['indent',lang['indent'], true,true,'click'];
	  this.Tools['subscript']		=  ['subscript',lang['subscript'], true,true,'click'];
	  this.Tools['superscript']		=  ['superscript',lang['superscript'], true,true,'click'];

  	  this.Tools['fontname']		=  ['fontname','<b>Schriftart </b><br /> Schriften', true,true,'change'];
      this.Tools['formatblock']		=  ['formatblock','<b>Formatierung </b><br /> Formatierungsauswahl', true,true,'change'];
      this.Tools['fontsize']		=  ['fontsize','<b>Schriftgroesse </b><br /> Schriftgroesse auswaehlen', true,true,'change'];

  	  this.Tools['forecolor']		=  ['forecolor',lang['forecolor'], true,false,'click'];
	  this.Tools['backcolor']		=  ['backcolor',lang['backcolor'], true,false,'click'];
	  this.Tools['special']			=  ['special',lang['special'], true,false,'click'];
	  this.Tools['table']			=  ['table',lang['table'], true,false,'click'];
	  this.Tools['image']			=  ['image',lang['image'], true,false,'click'];
	  this.Tools['makeBig']			=  ['makeBig',lang['makeBig'], true,false,'click'];
	  this.Tools['Smilies']			=  ['Smilies',lang['Smilies'], true,false,'click'];
	  this.Tools['clear']			=  ['clear',lang['clear'], true,false,'click'];
	  this.Tools['print']			=  ['print',lang['print'], true,false,'click'];
	  this.Tools['reload']			=  ['reload',lang['reload'], true,false,'click'];
	  this.Tools['preview']			=  ['preview',lang['preview'], true,false,'click'];
	  this.Tools['help']			=  ['help','<b>'+lang['vers']+" </b><br /> "+lang['vers']+" "+lang['help'], true,false,'click'];



    Tools=this.Tools;


     this.toolbar.each(function(el){

       if(Tools[el][2]==true){
        this.img = new Element('img').setProperties({'id':this.element.id+'_'+Tools[el][0],'src':this.pathChoose+'htmlarea/images/icons/'+Tools[el][0]+'.gif','title':Tools[el][1],'class':'imagebutton '+this.element.id+'_areatool','width':'23','height':'22'});
     	this.img.inject(this.Label);

	       if(Tools[el][3]==true && Tools[el][4]=='click'){

		        this.img.addEvent('click',function(){
		             this.getCommands(Tools[el][0]);
		        }.bind(this));

	        }
	        if(Tools[el][3]==true && Tools[el][4]=='change'){
		        this.img.addEvent('change',function(){
		             this.getOnChangeCommands(Tools[el][0]);
		        }.bind(this));
	        }
        }

     }.bind(this));

    this.ownEditor=$(this.element.id+'_edit');
    this.ownEditorMainDiv=$(this.element.id+'_toolmain');
    this.ownEditorToolViewDiv=$(this.element.id+'_toolview');

     this.BoldImg=$(this.element.id+'_bold');
     this.ItalicImg=$(this.element.id+'_italic');
     this.UnderlineImg=$(this.element.id+'_underline');
     this.OrderListImg=$(this.element.id+'_orderedlist');
     this.UnorderListImg=$(this.element.id+'_unorderedlist');
     this.MakeBigImg=$(this.element.id+'_makeBig');
     this.ClearImg=$(this.element.id+'_clear');
     this.PrintImg=$(this.element.id+'_print');
     this.ForecolorImg=$(this.element.id+'_forecolor');
     this.BackcolorImg=$(this.element.id+'_backcolor');
     this.PreviewImg=$(this.element.id+'_preview');
     this.FontnameImg=$(this.element.id+'_fontname');
     this.FormatblockImg=$(this.element.id+'_formatblock');
     this.FontsizeImg=$(this.element.id+'_fontsize');
     this.SmiliesImg=$(this.element.id+'_Smilies');
     this.SpecialImg=$(this.element.id+'_special');
     this.HelpImg=$(this.element.id+'_help');
     this.ImageImg=$(this.element.id+'_image');
     this.TableImg=$(this.element.id+'_table');
     this.EditItemImg=$(this.element.id+'_editItem');
     this.ViewSourceRadio=$(this.element.id+'_viewSource');

             //Hover Effekt
             $$('img.imagebutton').each(function(el){
             	el.addEvent('mouseenter', function(){
             		el.setProperty('class','over');
             	});
             	el.addEvent('mouseleave', function(){
             		el.setProperty('class','imagebutton');
             	});
             });



	//Vollbildmodus
			  if(this.MakeBigImg!=null){
				var tempIDbSize=true;
				var saveOldHeight=this.ownEditor.getCoordinates().height;

				this.MakeBigImg.addEvent('click', function(){
    				if(tempIDbSize==true){
    					this.ownEditorMainDiv.setStyles({'position':'absolute','height':(Window.getScrollHeight()-260)+'px','top':'0','left':'10px','zIndex':'99','width':'99%'});
						this.ownEditor.setStyles({'height':(Window.getScrollHeight()-100)+'px','width':'98%'});

						tempIDbSize=false;
     				}else{
						this.ownEditorMainDiv.setStyles({'position':'relative','top':'0','left':'0','height':(saveOldHeight+160)+'px','width':this.width});
						this.ownEditor.setStyles({'height':saveOldHeight+'px','zIndex':'1','width':(this.width.toInt()-20)+'px'});
						tempIDbSize=true;
					}
				}.bind(this));
              }

                if(this.ClearImg!=null){
					this.ClearImg.addEvent('click', function(){
						 this.ownEditor.contentWindow.document.execCommand('removeFormat', false,null);
					     this.ownEditor.contentWindow.focus();
					}.bind(this));
				}


			//Drucken
			if(this.PrintImg!=null){
				this.PrintImg.addEvent('click', function(){
				  this.printMe(0,lang);
				}.bind(this));
             }


        	 //Schriftfarbe
				if(this.ForecolorImg!=null){
					this.ForecolorImg.addEvent('click', function(){
						this.GenerateDivShow('_forecolor',lang['forecolorchoose'],'htmlarea/control.php','LangChoose='+this.prefLang+'&LOAD=4&DOING=forecolor&id='+this.element.id+'_edit'+'&path='+this.pathChoose,'360','360',false,false);
					}.bind(this));
				}

			//Hintergrundfarbe
				if(this.BackcolorImg!=null){
					this.BackcolorImg.addEvent('click', function(){
						this.GenerateDivShow('_backcolor',lang['backcolorchoose'],'htmlarea/control.php','LangChoose='+this.prefLang+'&LOAD=4&DOING=backcolor&id='+this.element.id+'_edit'+'&path='+this.pathChoose,'360','360',false,false);
					}.bind(this));
                }

              	//Vorschau
              	if(this.PreviewImg!=null){
					this.PreviewImg.addEvent('click', function(){
			   			var text=this.ownEditor.contentWindow.document.body.innerHTML;
						this.GenerateDivShow('_preview','Vorschau','',text,'500','500',false,true);
					}.bind(this));
	 	        }

			//Font-Family
				if(this.FontnameImg!=null){
					this.FontnameImg.addEvent('click', function(){
						this.GenerateDivShow('_fontname','Schriftart','htmlarea/control.php','LangChoose='+this.prefLang+'&LOAD=10&DOING=font-fam&id='+this.element.id+'_edit'+'&path='+this.pathChoose,'200','280',false,false);
					}.bind(this));
                }

             //Font-Format
				if(this.FormatblockImg!=null){
					this.FormatblockImg.addEvent('click', function(){
						this.GenerateDivShow('_formatblock','Formatierung','htmlarea/control.php','LangChoose='+this.prefLang+'&LOAD=10&DOING=font-form&id='+this.element.id+'_edit'+'&path='+this.pathChoose,'300','300',false,false);
					}.bind(this));
                }

              //Font-Size
				if(this.FontsizeImg!=null){
					this.FontsizeImg.addEvent('click', function(){
						this.GenerateDivShow('_fontsize','Schriftgroesse','htmlarea/control.php','LangChoose='+this.prefLang+'&LOAD=10&DOING=font-size&id='+this.element.id+'_edit'+'&path='+this.pathChoose,'200','300',false,false);
					}.bind(this));
                }


           //Smilies
			 if(this.SmiliesImg!=null){
				this.SmiliesImg.addEvent('click', function(){
					this.GenerateDivShow('_Smilies',lang['smiliechoose'],'htmlarea/control.php','LOAD=3&id='+this.element.id+'_edit'+'&path='+this.pathChoose,'360','270',false,false);
				}.bind(this));
             }

			 //Sonderzeichen
			 if(this.SpecialImg!=null){
				this.SpecialImg.addEvent('click', function(){
				 			this.GenerateDivShow('_special',lang['specialchoose'],'htmlarea/control.php','LangChoose='+this.prefLang+'&LOAD=5&id='+this.element.id+'_edit','400','410',false,false);
				}.bind(this));
			}

			//Hilfe
			  if(this.HelpImg!=null){
				this.HelpImg.addEvent('click', function(){
			     	var text='<div class="OwnHtmlstandard" style="text-align:center; margin-left:3px; margin-right:3px;"><a href="http://owncms.de" target="_blank"><img src="'+this.pathChoose+'htmlarea/images/logo.gif" border="0" /></a>'+lang["verstext"]+'</div>';
					this.GenerateDivShow('_help',lang['vers'],'',text,'300','250',true,true);
				}.bind(this));
				}

		       //Bilder Upload
		       if(this.ImageImg!=null){
					this.ImageImg.addEvent('click', function(){
			           	var tempPic='';
		                if(this.MyPicLoad) tempPic='&PICLOAD='+this.MyPicLoad;
		                var tempFolder='';
		                if(this.MyUploadFolder!='') tempFolder='&uploadfolder='+this.MyUploadFolder;
			           	this.GenerateDivShow('_image',lang["ImageChoose"],'htmlarea/control.php','LangChoose='+this.prefLang+'&LOAD=6&id='+this.element.id+'_edit'+'&PATH='+this.pathChoose+tempPic+tempFolder,'630','500',false,false);
	     			}.bind(this));
				}
       //ENDE

             if(this.TableImg!=null){

		  	 	this.TableImg.addEvent('click', function(){

                    if($(this.element.id+'_table_main')==null){
					myTableWindow= new OwnHtmlAreaWindow(this.TableImg, {
								fxDuration: 1000,
								maxOpacity: 1,
								timeIn: 200,
								timeOut: 500,
								width:500,
								height:460,
								clickable: true,
								lilWindowShow:this.DIV,
								stayalive: true,
								limitContainer:this.options.limitContainer,
								title:'Neues Element einfuegen',
								imageClose:this.pathChoose+'htmlarea/images/close.gif',
			                    imageResize:this.pathChoose+'htmlarea/images/resize.gif',
								draggMe:true,
								resizeMe:true,
								offsets: {'x': 10, 'y': 10},
		    					takeajax:true,
								ajaxfile: this.pathChoose+'htmlarea/control.php',
								ajaxoption: 'LangChoose='+this.prefLang+'&LOAD=1&DOING=0&id='+this.element.id+'_edit'+'&PATH='+this.pathChoose,
								onAjaxComplete:function(){
          		                  var myBG='';
	            		          var myAccordion = new Accordion($$('.Tabletab_'+this.element.id+'_edit'), $$('.Tablestretcher_'+this.element.id+'_edit'), {
								  opacity : false,
	                        	  onActive:function(toggles1){
		                     		myBG=$(toggles1).getStyle("background-image");
			                  		toggles1.setStyles({'background-image':'url('+this.pathChoose+'htmlarea/images/but_aktiv.gif)'});
							   		}.bind(this),
							 		onBackground:function(toggles1){
          							toggles1.setStyles({'background-image':myBG});
		 							}
						   		});


						}.bind(this)
					});

     				myTableWindow.showMe();
                  }
		     }.bind(this));
             }


            if(this.EditItemImg!=null){

			   this.EditItemImg.addEvent('click', function(){
                     if($(this.element.id+'_editItem_main')==null){
                   //Auswertung
               		var LoadContentChoose=0;
                      if(selImg!=null){
						var selected_obj=null;

		                if(selImg.get('tag')=='a'){
		                	selected_obj=selImg;
	    					LoadContentChoose=4;
		                }
		                if(selImg.get('tag')=='img'){
		                	selected_obj=selImg;
	    					LoadContentChoose=3;
		                }
		                if(selImg.get('tag')=='div'){
		                	selected_obj=selImg;
	    					LoadContentChoose=2;
		                }

                        if(selImg.get('tag')!='a' && selImg.get('tag')!='img' && selImg.get('tag')!='div' && selImg.get('tag')!='html'){
                        	saveTemp=selImg.getParent();

                        	var look_Inside = saveTemp;

	           				var check_tagName = saveTemp.get('tag');

	          				 while(check_tagName != "html"){

			    				if (check_tagName == "table") {
                                   selected_obj=look_Inside;

			    					LoadContentChoose=1;
			    					break;
			    				}

			    				look_Inside = look_Inside.getParent();
		        				check_tagName = look_Inside.get('tag');
			    			}

                        }

                    myTableWindow= new OwnHtmlAreaWindow(this.EditItemImg, {
								fxDuration: 1000,
								maxOpacity: 1,
								timeIn: 200,
								timeOut: 500,
								width:500,
								height:460,
								clickable: true,
								stayalive: true,
								title:'Element bearbeiten',
								lilWindowShow:this.DIV,
								draggMe:true,
								limitContainer:this.options.limitContainer,
								resizeMe:true,
								imageClose:this.pathChoose+'htmlarea/images/close.gif',
			                    imageResize:this.pathChoose+'htmlarea/images/resize.gif',
		    					takeajax:true,
								ajaxfile: this.pathChoose+'htmlarea/control.php',
								ajaxoption: 'LangChoose='+this.prefLang+'&LOAD=2&id='+this.element.id+'&path='+this.pathChoose+'&load='+LoadContentChoose,
								onAjaxComplete:function(){


                                    if(LoadContentChoose!=0){
						              HtmlArea.Help.GetEditHtml(selected_obj);

				       		         if($(this.element.id+'_saveEdit')!=null){
				       		         	$(this.element.id+'_saveEdit').addEvent('click', function(){
               					    	if(LoadContentChoose!=3){
               						   		HtmlArea.Help.InsertEditHTML(selected_obj);
           			    		    	}else{
           			    			   		HtmlArea.Help.InsertEditHTML(selected_obj,this.element.id+'_edit');
           			    			    	selected_obj=null;
           			        	     	}
           			    	         }.bind(this));
           			    			}

								   if($(this.element.id+'_DelEdit')!=null){
										$(this.element.id+'_DelEdit').addEvent('click', function(){
               							if(LoadContentChoose!=3){
               								HtmlArea.Help.DeleteHtml(selected_obj);
           			    				}else{
           			    					HtmlArea.Help.DeleteHtml(selected_obj);
           			    					selected_obj=null;
										}
           			    			}.bind(this));
           			       		  }
                              }


						}.bind(this)
					});

     				myTableWindow.showMe();

                }
              }
           }.bind(this));
          };//ENDE

           //SourceCode Ansehen
			if(this.ViewSource){
				this.ViewSourceRadio.addEvent('click', function(){
 				var htmlTemp=this.htmlTemp;

  				if (this.ViewSourceRadio.checked) {

                this.ViewSourceRadio.disabled=true;

				htmlTemp=this.ownEditor.contentWindow.document.body;

                htmlTemp=(window.get_xhtml) ? get_xhtml(htmlTemp) : htmlTemp.innerHTML;

   						this.ownEditor.contentWindow.document.body.innerHTML='';
    					this.ownEditorToolViewDiv.setStyle('display','none');

			    	 	if(this.inlineEdit==false){
			    			this.element.inject(this.ownEditor,'after');
    						this.element.value = htmlTemp;
    						this.element.setStyles({'display':'inline','width':'99%','height':(this.ownEditor.getCoordinates().height)+'px'});
   			    		}

						if(this.inlineEdit==true){
			    			this.textarea = new Element("textarea").setProperties({'id':'tempText'});
                    		this.textarea.setStyles({'display':'inline','width':'99%','height':(this.ownEditor.getCoordinates().height)+'px'});
   			        		this.textarea.value=htmlTemp;
			    			this.textarea.inject(this.ownEditor,'after');
			    		}

					    this.ownEditor.setStyle('display','none');
   				        this.showMeldung(lang['yessource']);
   				        this.ViewSourceRadio.disabled=false;
   				} else {
    				 if(this.inlineEdit==false){
    					htmlTemp = this.element.value;
    					this.element.value='';
    				 }
    				 if(this.inlineEdit==true){
    					htmlTemp=$('tempText').value;
    					$('tempText').destroy();
    				 }

    				this.ownEditor.contentWindow.document.body.innerHTML=htmlTemp;
    				this.ownEditorToolViewDiv.setStyle('display','block');
    				this.ownEditor.setStyle('display','inline');

    				 if(this.inlineEdit==false){
    			    	this.element.setStyle('display','none');
					 }
                    htmlTemp='';
					this.showMeldung(lang['nosource']);
  				}

 			}.bind(this));

           }

        this.resizDiv.addEvent('click',function(){

			   this.cloneDiv=new Element('div').setProperties({'id':this.element.id+'_toolResize','class':'resizeDiv'}).setStyles(this.ownEditorMainDiv.getCoordinates())
                     			            .setStyles({'opacity':'0.8'})
                                            .inject(document.body);
               this.cloneDiv.set('html','<br />Resize Me');

               this.ownEditorMainDiv.setStyles({'opacity':'0.5'});

                this.cloneDiv.makeResizable({
		        	  limit: {y: [200, 600],x:[200,800]},
		         	  snap: 2,
		          	  onStart:function(){
                      }.bind(this),
		          	  onComplete:function(){
                         	saveHeight=this.cloneDiv.getCoordinates().height.toInt();
	                        saveWidth=this.cloneDiv.getCoordinates().width.toInt();

                         this.ownEditorMainDiv.setStyles({'width':saveWidth+'px','height':saveHeight+'px'}).setStyles({'position': 'relative','opacity':'1'});
		          	     this.ownEditor.setStyles({
                 		       'height':(saveHeight-this.ownEditorToolViewDiv.getCoordinates().height.toInt()-52)+'px'
                 		 });

		          	      this.cloneDiv.destroy();

		          	  }.bind(this)
		         });

     }.bind(this));

             	       //tooltips
	this.myTips=new Tips($$('.'+this.element.id+'_areatool'),
					 {className:'areaTool'});


     if(this.inlineEdit==false){
            //onsubmit
            	this.form.addEvent('submit', function(){
					this.getSubmitHtml(this.element,this.element.id+'_edit');
				}.bind(this));
            }


   },
    generateHTMLArea:function(){


		    try{
                 var temCont=this.element.value;

                 this.element.setStyle('display','none');


     		    //komplett
     		    this.DIV = new Element("div").setProperties({'id':this.element.id+'_toolmain','class':'toolmain'});
			    this.DIV.setStyle('width',this.width);


			    //Head
			    this.DIVHEAD = new Element("div").setProperties({'id':this.element.id+'_header','class':'toolheader'});
			    this.DIVHEAD.set('html',this.title);
			    this.DIVHEAD.inject(this.DIV);

                //Toolbar Top
                if(this.align=='top'){
			        this.Label = new Element("div").setProperties({'id':this.element.id+'_toolview','class':'toolbar'});
                 	this.Label.inject(this.DIV);
        			this.DIVTEMPTOP = new Element("div").setProperty('class','tempDivTop');
        			this.DIVTEMPTOP.inject(this.DIV);

                 }

            	//IFRAME
				if(this.height==''){
					this.height=this.element.getCoordinates().height;
				}


                //alert(this.height);
   	            this.iframe = new IFrame({
   	                src: this.pathChoose+'ieditor.inc.php',
   	                id:this.element.id+'_edit',
   	                'class':'toolIframe',
  	                styles: {
        			width: '100%',
        			height: this.height,
    				position: 'relative',
					top: '0px',
					left: '0px',
					'margin-bottom':30
    				},
 				    events: {

        		   load: function(){


        			   this.tempDiv=new Element('div').setProperty('id',this.element.id+'_meldung').setStyle('visibility','hidden').inject(this.ownEditorMainDiv,'before');


					   if(temCont!='' && this.inlineEdit==false){
       	                 this.element.set('value','');
		                 this.ownEditor.contentWindow.document.body.innerHTML=temCont;
   			            }

			          if(this.inlineEdit==true && this.element.get('html')!=''){

						 tempContent=this.element.get('html');
 		             	 this.element.set('html','');
	        			 this.ownEditor.contentWindow.document.body.innerHTML=tempContent;
			             tempContent='';
			           }

        			 	if(!Browser.Engine.trident) {
						   this.ownEditor.contentWindow.document.designMode='on';
                        }

                        this.ActivateEvents.bind(this).delay((500));



       					var lang=ReturnChoosenLang(this.prefLang);


        			}.bind(this)
 			    }
 			});
   	        this.iframe.setProperty('frameborder','no');
            this.iframe.inject(this.DIV);  //ENDE IFRAME




             //Toolbar bottom
            if(this.align=='bottom'){
                   this.Label = new Element("div").setProperties({'id':this.element.id+'_toolview','class':'toolbarbot'});
                    this.DIVTEMPBOT = new Element("div").setProperty('class','tempDivBot');
            	    this.DIVTEMPBOT.inject(this.DIV);
                	this.Label.inject(this.DIV);
            }

	       //Footer
	       this.DIV1 = new Element("div").setProperties({'id':this.element.id+'_divFoot','class':'toolfooter'});
		   this.resizDiv= new Element('div').setProperties({'id':this.element.id+'_resize','class':'toolresize'});
		   this.resizDiv.set('html','<img src="'+this.pathChoose+'htmlarea/images/resize.gif" border="0" />');

	       //lang init
	        var lang=ReturnChoosenLang(this.prefLang);

			   //Usecss nicht für IE
			  if(!Browser.Engine.trident){
    		  		this.inputcss = new Element("input").setProperties({'id':this.element.id+'_cssgood','type':'checkbox','checked':'checked'});
                 	this.csstext= document.createTextNode(lang['usecss']);
               		this.inputcss.inject(this.DIV1);
               		this.DIV1.appendChild(this.csstext);

   			   }

			 //Resize
            this.resizDiv.inject(this.DIV1);


				//Option Quelltext ansehen aktiviert?
              if(this.ViewSource){
          	   		this.inputSource = new Element("input").setProperties({'id':this.element.id+'_viewSource','type':'checkbox'});
               		this.sourcetext= document.createTextNode(lang['source']+' ');
               		this.inputSource.inject(this.DIV1);
               		this.DIV1.appendChild(this.sourcetext);
			   }
			   //Path Attribute Show
			  this.inputPath = new Element("label").setProperties({'id':this.element.id+'_viewPath'});
              this.inputPath.set('html','&nbsp; <b>'+lang["elPath"]+':</b> ');
              this.inputPath.inject(this.DIV1);


			   this.DIV1.inject(this.DIV);
    		   this.DIV.inject(this.element,'before');

              if(!Browser.Engine.trident){
			//Firefox Option für css interpretation
				$(this.element.id+'_cssgood').addEvent('click', function(){
 			  		this.ownEditor.contentWindow.document.execCommand('useCSS', false, false);
				}.bind(this));


        	  }
               //   $$('.toolWinDraggerArea').makeDraggable({handle: $$('.toolWinDraggerArea').getElement('.toolWinDragt')});



			}catch(e){
            // alert(e);
             this.element.setStyle('display','inline');
             this.element.value="Problem";
          }



// ENDE ALLE ELEMENTE GENERIERT!




    },
      //documentExec einfach
    getCommands: function(what){
             try {

     		 this.ownEditor.contentWindow.document.execCommand(what, false,null);
 	  		 this.ownEditor.contentWindow.focus();
 	  		 }catch(e){
 	  		// var lang=ReturnChoosenLang(choosenLang);
			 alert('Ihr Browser unterstützt diese Funktion nicht');
			 }
   	 },

  //Color Container laden
    GenerateDivShow : function(elname,lang,file,options,dwith,dheight,Effecting,Modaling){
      if($(this.element.id+elname+'_main')==null){
			   bAjax=true;
			   myText='';
			   if(file==''){
                     bAjax=false;
					myText=options;
					options='';
				}
       POSLEFT=this.ownEditorMainDiv.getCoordinates().left+(this.ownEditorMainDiv.getCoordinates().width/2)-(dwith/2);
       POSTOP=this.ownEditorMainDiv.getCoordinates().top+100;

			   myWindow= new OwnHtmlAreaWindow($(this.element.id+elname), {
								fxDuration: 6000,
								maxOpacity: 1,
								timeIn: 200,
								timeOut: 3000,
								width:dwith,
								height:dheight,
								stayalive: true,
								title:lang,
								text:myText,
								lilWindowShow:this.DIV,
								draggMe:true,
								limitContainer:this.options.limitContainer,
								modal:Modaling,
								offsets: {'x': POSLEFT, 'y': POSTOP},
								imageClose:this.pathChoose+'htmlarea/images/close.gif',
			                    imageResize:this.pathChoose+'htmlarea/images/resize.gif',
								ownPosition:true,
								fixed:false,
								effecting:false,
								transitionEffect: Fx.Transitions.Elastic.easeOut,
								startFrom: {'x': POSLEFT, 'y': POSTOP},
			                    moveTo: {'x': POSLEFT, 'y': POSTOP},
			                    resizeMe:true,
								resizeLimit:{y: [10, 600],x:[10,700]},
		    					takeajax:bAjax,
								ajaxfile:this.pathChoose+file,
								ajaxoption:options,
								onAjaxComplete:function(){
							    }
					});

     				myWindow.showMe();
               }

     	},

    //Druckfunktion
    printMe : function(modi,langChoose){
               if(modi==0){

				if (window.print){
      				ParaString ='toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,WIDTH=800,HEIGHT=600';
      				druck = window.open ('', 'druckerplatte',ParaString);
      				druck.document.clear();
      				druck.document.open();
      				druck.document.write('<html><head><title>'+langChoose['printPreview']+'</title></head>');
    			    druck.document.write(this.ownEditor.contentWindow.document.body.innerHTML);
	  				druck.document.write('</body></html>');
	  				druck.print();
      				druck.document.close();
   				}
   				else

					this.showMeldung(lang['noPrint']);
 			 }
			 if(modi==1){
			 	ParaString ='toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,WIDTH=800,HEIGHT=600';
      				preview = window.open ('', 'vorschau',ParaString);
      				preview.document.clear();
      				preview.document.open();
      				preview.document.write('<html><head><title>'+langChoose['preview']+'</title></head>');
    			    preview.document.write(this.ownEditor.contentWindow.document.body.innerHTML);
	  				preview.document.write('</body></html>');
	  				preview.document.close();
			 }
			},
    saveCheck : function(){

       			html=this.ownEditor.contentWindow.document.body.innerHTML;

       			if(html!=''){
       				return true;
       			}else{
      	 			var lang=ReturnChoosenLang(this.prefLang);
      				this.showMeldung(this.element.id,lang["NoSave"]);
       				return false;
       			}

    },
 //Meldungen anzeigen
	showMeldung : function(sText){


			   this.GenerateDivShow('_meldung','Information','',sText,'300','200',false,false);

				setTimeout("$('"+this.element.id+"_meldung_main').destroy()",1500);

	},

    getSubmitHtml : function() {

				var save=this.ownEditor.contentWindow.document.body;
 				    save=(window.get_xhtml) ? get_xhtml(save) : save.innerHTML;

				this.element.value=save;

				this.ownEditor.contentWindow.document.body.innerHTML='';
				save='';

		},

    save : function(){

   		    /*NOW XHTML YEAHHHHH */
   		        var	html=this.ownEditor.contentWindow.document.body;
                html=(window.get_xhtml) ? get_xhtml(html) : html.innerHTML;

            var lang=ReturnChoosenLang(this.options.lang);
       		this.showMeldung(lang["GoodSave"]);

       		setTimeout("$('"+this.element.id+"_toolmain').destroy()",2000);
       		this.element.setStyles({'display':'block'});
       		this.element.innerHTML=html;
    }

}); //ENDE KLasse

HtmlArea.Help={
  //Smilies setzen
 	SmiliesSet:function(el,smilie_code) {

		$(el).contentWindow.document.execCommand("InsertImage", false,smilie_code);
		$(el).contentWindow.focus();

    },
   	ImageSet:function(el,imageinsert) {

 		$(el).contentWindow.document.execCommand("InsertImage", false,imageinsert);
		$(el).contentWindow.focus();

    },
    //Farbe setzen
   color:function(el,doing,setcolor) {

		if(doing=="forecolor"){
			$(el).contentWindow.document.execCommand("forecolor", false,'#'+setcolor);

		}else if(doing=="backcolor"){
			if(Browser.Engine.trident) {
				$(el).contentWindow.document.execCommand("backcolor", false,'#'+setcolor);

			}else{
			    $(el).contentWindow.document.execCommand("hilitecolor", false,'#'+setcolor);
			}
		}else if (doing=="font-fam"){
				$(el).contentWindow.document.execCommand('fontname', false, setcolor);
   		}
   		else if (doing=="font-form"){
				$(el).contentWindow.document.execCommand('formatblock', false, '<'+setcolor+'>');
   		}
   		else if(doing=='font-size'){

		    var input = $(el).contentWindow;
         	var selected = setcolor;

            if(Browser.Engine.trident) {

             var range = input.document.selection.createRange();

    		myFont="<span style=\"font-size:"+selected+"px;\">";
    		myFont+=range.text;
    		myFont+="</span>";
    		range.pasteHTML(myFont);

    		range = input.document.selection.createRange();
     		range.collapse(false);
			range.select();

            }else{

             var range = input.getSelection().getRangeAt(0);
             var documentFragment = range.cloneContents();
             var htmlString = (new XMLSerializer()).serializeToString(documentFragment);


            var	myFont="<span style=\"font-size:"+selected+"px;\">";
    			myFont+=htmlString;
    			myFont+="</span>";
   			    range.deleteContents();

               input.document.execCommand('inserthtml', false,myFont);
			   input.focus();

            }

		   }
         $(el).contentWindow.focus();

	},
  // Paste HTML
	pasteTable:function(el,which){

        var input = $(el).contentWindow;

  		if(Browser.Engine.trident) {
   			input.focus();
   			var range = document.selection.createRange();
    		range.pasteHTML(which);
    		/* Anpassen der Cursorposition */
    		range = document.selection.createRange();
     		range.collapse(false);
			range.select();

  		}else{
			input.document.execCommand('inserthtml', false,which);
			input.focus();
		}

	},
	//Tabellen pasten
	LoadTablesExe : function(el,DOING,java_obj,mypath) {

		new Request.HTML({url:mypath+'htmlarea/control.php', method: 'post',data: 'LOAD=1&DOING='+DOING+'&java_obj='+java_obj+'&id='+el+'&PATH='+mypath,evalScripts:true,onComplete:function(){$(el).contentWindow.focus();}}).send();

	},

	//Putzerfunktion
	strip_tags : function(txt){
  				txt=txt.replace(/(<br\/?\s*>|<\/p>\s*<p>)/gi,'\n');
  				return txt.replace(/<\/?[^>]+>/gi,'');
			},



    //onChange Commands


     DeleteHtml:function(el){

        	 el.destroy();

	 },

     InsertEditHTML: function(el,elID) {

       	  if(el.get('tag')=='img'){
        	 el.destroy();
	         var newImg='';
     	     if($("Ilink").get('value')!=""){newImg+='<a href="'+$("Ilink").get('value')+'"';}
             if($("Ilinktarget").get('value')!=""){newImg+=' target="'+$("Ilinktarget").get('value')+'"';}
             if($("Ilink").get('value')!=""){newImg+='>';}
             newImg+='<img';
             if($("Isrc").get('value')!=""){newImg+=' src="'+$("Isrc").get('value')+'"';}
			 if($("Iwidth").get('value')!=""){newImg+=' width="'+$("Iwidth").get('value')+'"';}
			 if($("Iheight").get('value')!=""){newImg+=' height="'+$("Iheight").get('value')+'"';}
			 if($("Iborder").get('value')!=""){newImg+=' border="'+$("Iborder").get('value')+'"';}
			 if($("Ititle").get('value')!=""){newImg+=' title="'+$("Ititle").get('value')+'"';}
             newImg+=' />';
             HtmlArea.Help.pasteTable(elID,newImg);
         }

		if (el.get('tag') == 'table') {

				if(Browser.Engine.trident5){
					cellpadding="cellPadding";
					cellspacing="cellSpacing";
				}else{
					cellpadding="cellpadding";
					cellspacing="cellspacing";
				}

				if($("Twidth").get('value')!="" || $("Twidth").value!='auto'){el.setProperty("width",$("Twidth").get('value') + '' + $("Twidth_type").get('value'));}
				if($("Tborder").get('value')!=""){el.setProperty("border",$("Tborder").get('value'));}
				if($("Tcellspacing").get('value')!=""){el.setProperty(cellspacing,$("Tcellspacing").get('value'));}
				if($("Tcellpadding").get('value')!=""){el.setProperty(cellpadding,$("Tcellpadding").get('value'));}
				if($("Talignment").get('value')!=""){el.setProperty("align",$("Talignment").get('value'));}
				if($("Tcolor").get('value')!=""){el.setStyle("color",$("Tcolor").get('value'));}
				if($("Tbackgroundcolor").get('value')!=""){el.setStyle("background-color",$("Tbackgroundcolor").get('value'));}
		}

		if(el.get('tag') == 'div'){

		        if($("Dposition").get('value')!=""){el.setStyle("position",$("Dposition").get('value'));}
			   	if($("Dtop").get('value')!=""){el.setStyle("top",$("Dtop").get('value'));}
			   	if($("Dtop").get('value')==""){el.setStyle("top",'auto');}
			   	if($("Dleft").get('value')!=""){el.setStyle("left",$("Dleft").get('value'));}
			   	if($("Dleft").get('value')==""){el.setStyle("left",'auto');}
			   	if($("Dheight").get('value')!=""){el.setStyle("height",$("Dheight").get('value'));}
			   	if($("Dwidth").get('value')!=""){el.setStyle("width",$("Dwidth").get('value'));}
			   	if($("Dzindex").get('value')!=""){el.setStyle("zIndex",$("Dzindex").get('value'));}
		 		if($("Dcolor").get('value')!=""){el.setStyle("color",$("Dcolor").get('value'));}
				if($("Dborder").get('value')!=""){el.setStyle("border",$("Dborder").get('value'));}
				if($("Dbackgroundcolor").get('value')!=""){el.setStyle("background-color",$("Dbackgroundcolor").get('value'));}
		}

		if(el.get('tag') == 'a'){
		        if($("link").get('value')!=""){el.setProperty("href",$("link").get('value'));}
			   	if($("linktarget").get('value')!=""){el.setProperty("target",$("linktarget").get('value'));}
			   	if($("linktext").get('value')!=""){el.set('html',$("linktext").get('value'));}
			   	if($("linkclick").get('value')!=""){el.setProperty("onclick",$("linkclick").get('value'));}
			   	if($("linktitle").get('value')!=""){el.setProperty("title",$("linktitle").get('value'));}
			   	if($("linkid").get('value')!=""){el.setProperty("id",$("linkid").get('value'));}
			   	if($("linkclass").get('value')!=""){el.setProperty("class",$("linkclass").get('value'));}
	 	}

      },

     GetEditHtml: function(el){


            if(el.get('tag')=='img'){

	           	if (el.getProperty("width") != "") {$("Iwidth").set('value',  el.getProperty("width"));}
				if (el.getProperty("height") != "") {$("Iheight").set('value', el.getProperty("height"));}
				if (el.getProperty("border") != "") {$("Iborder").set('value',  el.getProperty("border"));}
				if (el.getProperty("src") != "") {
					$("Isrc").set('value', el.getProperty("src"));
					$("Cimage").setProperty('src',el.getProperty("src"));
				}

				if (el.getProperty("onmouseover") != "") {	$("Imouseover").set('value', el.getProperty("onmouseover"));}
				if (el.getProperty("title") != "") {$("Ititle").set('value',  el.getProperty("title"));}

            }

            if (el.get('tag') == "table") {

					if(Browser.Engine.trident5){
						cellpadding="cellPadding";
						cellspacing="cellSpacing";
					}else{
						cellpadding="cellpadding";
						cellspacing="cellspacing";
					}

					if (el.getProperty("width") != "") {

						saveWidth=el.getProperty("width").toString();

						if (saveWidth.test('%')) {
							$("Twidth_type").set('value','%');
							$("Twidth").set('value', saveWidth.replace("%",""));
						} else {
							$("Twidth_type").set('value', "px");
							$("Twidth").set('value', el.getProperty("width"));
						}
					}

					if (el.getProperty("border") != "") {$("Tborder").set('value', el.getProperty("border"));}
					if (el.getProperty(cellspacing) != null) {$("Tcellspacing").set('value', el.getProperty(cellspacing));}
					if (el.getProperty(cellpadding) != null) {$("Tcellpadding").set('value', el.getProperty(cellpadding));}
					if (el.getProperty("align") != "") {$("Talignment").set('value', el.getProperty("align"));}
            		if (el.getStyle("background-color") != "") {$("Tbackgroundcolor").set('value', el.getStyle("background-color"));}
					if (el.getStyle("color") != "") {$("Tcolor").set('value', el.getStyle("color"));}

		  	}

			if(el.get('tag') == 'div'){

					if (el.getStyle("position") != "") {$("Dposition").set('value', el.getStyle("position"));}
					if (el.getStyle("top") != "") {$("Dtop").set('value', el.getStyle("top"));}
					if (el.getStyle("top") == "") {$("Dtop").set('value', 'auto');}
					if (el.getStyle("left") != "") {$("Dleft").set('value', el.getStyle("left"));}
					if (el.getStyle("left") == "") {$("Dleft").set('value','auto');}
					if (el.getStyle("height") != "") {$("Dheight").set('value', el.getStyle("height"));}
					if (el.getStyle("width") != "") {$("Dwidth").set('value', el.getStyle("width"));}
					if (el.getStyle("zIndex") != "") {$("Dzindex").set('value', el.getStyle("zIndex"));}
					if (el.getStyle("border") != "") {$("Dborder").set('value', el.getStyle("border"));}
					if (el.getStyle("background-color") != "") {$("Dbackgroundcolor").set('value', el.getStyle("background-color"));}
					if (el.getStyle("color") != "") {$("Dcolor").set('value', el.getStyle("color"));}
			}

			if(el.get('tag') == 'a'){
					if (el.getProperty("href") != "") {$("link").set('value', el.getProperty("href"));}
					if (el.getProperty("target") != "") {$("linktarget").set('value', el.getProperty("target"));}
					if (el.get('html') !='') {$("linktext").set('value', el.get('html'));}
					if (el.getProperty("onclick") != "") {$("linkclick").set('value', el.getProperty("onclick"));}
					if (el.getProperty("id") != "") {$("linkid").set('value', el.getProperty("id"));}
					if (el.getProperty("title") != "") {$("linktitle").set('value', el.getProperty("title"));}
					if (el.getProperty("class") != "") {$("linkclass").set('value', el.getProperty("class"));}
			}


     },
    RefreshImage: function(el,Folder,Path,choosenLang){

	this.loadImages = new Request.HTML({url:Path+'htmlarea/control.php', method: 'post',data: 'LangChoose='+choosenLang+'&LOAD=7&id='+el+'&folder='+Folder+'&path='+Path,update:$('imageFolder'),evalScripts:true,
  	onComplete:function(){

  	}}).send();

    },

    KillImage: function(el,Folder,Path,choosenLang){

	this.loadImages = new Request.HTML({url:Path+'htmlarea/control.php', method: 'post',data: 'LangChoose='+choosenLang+'&LOAD=9&id='+el+'&folder='+Folder+'&path='+Path,update:$('imageFolder'),evalScripts:true,
  	onComplete:function(){

  	}}).send();

    },
    helpWindow:function(ID,dwith,dheight,Path,actionIt,lang,titleWin){
          myWindow= new OwnHtmlAreaWindow($(ID), {
								fxDuration: 6000,
								maxOpacity: 1,
								timeIn: 200,
								timeOut: 3000,
								width:dwith,
								height:dheight,
								stayalive: true,
								title:titleWin,
								text:'',
								draggMe:true,
								lilWindowShow:this.DIV,
								modal:false,
								offsets: {'x': 10, 'y': 10},
								imageClose:Path+'htmlarea/images/close.gif',
								fixed:true,
			                    resizeMe:true,
		   					    takeajax:true,
								ajaxfile:Path+'htmlarea/control.php',
								ajaxoption:actionIt,
								onAjaxComplete:function(){
							    }
					});

     				myWindow.showMe();

    }
};

