var dirIcons = "http://www.matthias-glaessner.de/pics/icon/";



  var Fonts = new Array();

  Fonts[0] = "Arial";

  Fonts[1] = "Sans Serif";

  Fonts[2] = "Tahoma";

	Fonts[3] = "Verdana";

	Fonts[4] = "Courier New";

	Fonts[5] = "Times New Roman";

	Fonts[6] = "Impact";



  var FontSizes = new Array();

  FontSizes[0]  = "1";

  FontSizes[1]  = "2";

  FontSizes[2]  = "3";

	FontSizes[3]  = "4";

	FontSizes[4]  = "5";

	FontSizes[5]  = "6";

	FontSizes[6]  = "7";



  var Icons = new Array();

  Icons[0] =  dirIcons + "emoticon/smiley-1.jpg";

  Icons[1] =  dirIcons + "emoticon/smiley-2.jpg";

  Icons[2] =  dirIcons + "emoticon/smiley-3.jpg";

  Icons[3] =  dirIcons + "emoticon/smiley-4.jpg";

  Icons[4] =  dirIcons + "emoticon/smiley-5.jpg";

  Icons[5] =  dirIcons + "emoticon/smiley-6.jpg";

  Icons[6] =  dirIcons + "emoticon/smiley-7.jpg";

  Icons[7] =  dirIcons + "emoticon/smiley-8.jpg";

  Icons[8] =  dirIcons + "emoticon/smiley-9.jpg";

  Icons[9] =  dirIcons + "emoticon/smiley-10.jpg";

  Icons[10] =  dirIcons + "flaggen/flagge-deutschland.jpg";

  Icons[11] =  dirIcons + "flaggen/flagge-eu.jpg";

  Icons[12] =  dirIcons + "flaggen/flagge-england.jpg";

  Icons[13] =  dirIcons + "flaggen/flagge-usa.jpg";

  Icons[14] =  dirIcons + "flaggen/flagge-russland.jpg";

  Icons[15] =  dirIcons + "flaggen/flagge-frankreich.jpg";

  Icons[16] =  dirIcons + "flaggen/flagge-italien.jpg";

  Icons[17] =  dirIcons + "flaggen/flagge-belgien.jpg";

  Icons[18] =  dirIcons + "flaggen/flagge-china.jpg";

  Icons[19] =  dirIcons + "flaggen/flagge-griechenland.jpg";

  Icons[20] =  dirIcons + "flaggen/flagge-norwegen.jpg";

  Icons[21] =  dirIcons + "flaggen/flagge-japan.jpg";

  Icons[22] =  dirIcons + "flaggen/flagge-schweden.jpg";

  Icons[23] =  dirIcons + "flaggen/flagge-schweiz.jpg";

  Icons[24] =  dirIcons + "flaggen/flagge-oesterreich.jpg";

  Icons[25] =  dirIcons + "herzen/herz.jpg";

  Icons[26] =  dirIcons + "herzen/herz-gebrochen.bmp";

  Icons[27] =  dirIcons + "symbole/ja.jpg";

  Icons[28] =  dirIcons + "symbole/nein.jpg";

  Icons[29] =  dirIcons + "symbole/email.bmp";

  Icons[30] =  dirIcons + "pfeile/back.gif";

  Icons[31] =  dirIcons + "pfeile/next.gif";

  Icons[32] =  dirIcons + "pfeile/pfeil-rechts-2.bmp";

  Icons[33] =  dirIcons + "pfeile/pfeil-unten-2.bmp";

  Icons[34] =  dirIcons + "pfeile/pfeil-links-2.bmp";

  Icons[35] =  dirIcons + "pfeile/pfeil-oben-2.bmp";

  Icons[36] =  dirIcons + "pfeile/pfeil-rechts-oben.jpg";



  var n=0;

  var TextMode=0;



if(typeof HTMLElement!="undefined" && !HTMLElement.prototype.insertAdjacentElement){

  HTMLElement.prototype.insertAdjacentElement = function

  (where,parsedNode)

	{

	  switch (where){

		case 'beforeBegin':

			this.parentNode.insertBefore(parsedNode,this)

			break;

		case 'afterBegin':

			this.insertBefore(parsedNode,this.firstChild);

			break;

		case 'beforeEnd':

			this.appendChild(parsedNode);

			break;

		case 'afterEnd':

			if (this.nextSibling) 

      this.parentNode.insertBefore(parsedNode,this.nextSibling);

			else this.parentNode.appendChild(parsedNode);

			break;

		}

	}



	HTMLElement.prototype.insertAdjacentHTML = function

  (where,htmlStr)

	{

		var r = this.ownerDocument.createRange();

		r.setStartBefore(this);

		var parsedHTML = r.createContextualFragment(htmlStr);

		this.insertAdjacentElement(where,parsedHTML)

	}





	HTMLElement.prototype.insertAdjacentText = function

  (where,txtStr)

	{

		var parsedText = document.createTextNode(txtStr)

		this.insertAdjacentElement(where,parsedText)

	}

};



function createWYSIWYG(text) {  

  var doc = document.getElementById("editor").contentWindow.document;

  

  doc.open();

  doc.write("");

  doc.close();



  doc.body.contentEditable = true;

  doc.designMode = "on";



  createDropdown_Font();

  createDropdown_FontSize(); 

  createDropdown_Icons(); 

	

  hide_dropdown_Font();

  hide_dropdown_FontSize();

  hide_dropdown_Icons();

  

  if (text=="") {text='<div style="padding-left:5px;font-family:arial;font-size:12px">Sehr geehrter Herr Gl&auml;&szlig;ner,<br><br><br>&raquo; <span style="font-size:12px;color:#2580A2">Tragen Sie hier bitte Ihre Nachricht ein</span> &laquo; <br><br><br><br></div>'; }



  doc.getElementsByTagName("body")[0].innerHTML=text;



  doFont("Arial");  

  doFontSize("2");    

}







function viewSource() {

  var doc = document.getElementById("editor").contentWindow.document;



  if (TextMode==0) {	

    if (document.all) {

      var iHTML = doc.body.innerHTML;

      doc.body.innerText = iHTML;

	  } else {

      var html = document.createTextNode(doc.body.innerHTML);

      doc.body.innerHTML = "";

      doc.body.appendChild(html);

	  }

    TextMode = 1;

  } else {	

    if (document.all) {

      var iText = doc.body.innerText;

      doc.body.innerHTML = iText;

	  } else {

      var html = doc.body.ownerDocument.createRange();

      html.selectNodeContents(doc.body);

      doc.body.innerHTML = html.toString();

	  }



	  TextMode = 0;

  }

};









function createDropdown_Font() {

  

	Fonts.sort();

  

	var dd_font = new Array;

	dd_font = '<table id="table_font" border=0 cellpadding=0 cellspacing=0 class="wysiwyg_listbox_font" onmousedown=\"mhHover(\'table_font\', \'wysiwyg_listbox_font_click\')\" onmouseup=\"mhHover(\'table_font\', \'wysiwyg_listbox_font_over\')\" onmouseover=\"mhHover(\'table_font\', \'wysiwyg_listbox_font_over\')\" onmouseout=\"mhHover(\'table_font\', \'wysiwyg_listbox_font\')\" unselectable="on" style="height:20px"><tr><td id="tdFontName" onClick="show_dropdown_Font();" unselectable="on" style="padding:5px">Arial</td></tr><tr><td>';

	dd_font += '<span id="span_dropdown_Font" class="dropdown">';



	for (var i = 0; i <= Fonts.length; i++) {

	  if (Fonts[i]) {

      dd_font += '<button type="button" onClick="doFont(\''+ Fonts[i] + '\'); hide_dropdown_Font();" onMouseOver="this.className=\'mouseOver\'" onMouseOut="this.className=\'mouseOut\'" class="mouseOut" style="width: 120px;"><table cellpadding="0" cellspacing="0" border="0"><tr><td align="left" style="font-family:' + Fonts[i] + '; font-size: 12px;">' + Fonts[i] + '</td></tr></table></button><br>';	

    }	  

  }

	dd_font += '</span></td></tr></table>';

	document.getElementById('dropdown_Font').insertAdjacentHTML("afterBegin", dd_font);

};





function createDropdown_FontSize() {

	var dd_fontsize = new Array;

	dd_fontsize = '<table id="table_fontsize" border="0" cellpadding="0" cellspacing="0" onmousedown=\"mhHover(\'table_fontsize\', \'wysiwyg_listbox_fontsize_click\')\" onmouseup=\"mhHover(\'table_fontsize\', \'wysiwyg_listbox_fontsize_over\')\" onmouseover=\"mhHover(\'table_fontsize\', \'wysiwyg_listbox_fontsize_over\')\" onmouseout=\"mhHover(\'table_fontsize\', \'wysiwyg_listbox_fontsize\')\" class="wysiwyg_listbox_fontsize"><tr><td id="tdFontSize" onClick="show_dropdown_FontSize();" unselectable="on" style="width:60px;padding:5px">1</td></tr><tr><td>';

  dd_fontsize += '<span id="span_dropdown_FontSize" class="dropdown">';



	for (var i = 0; i <= FontSizes.length; i++) {

	  if (FontSizes[i]) {

      dd_fontsize += '<button type="button" onClick="doFontSize(FontSizes['+i+'])\;hide_dropdown_FontSize();" onMouseOver="this.className=\'mouseOver\'" onMouseOut="this.className=\'mouseOut\'" class="mouseOut" style="width: 60px;"><table cellpadding="0" cellspacing="0" border="0"><tr><td align="left" style="font-family: arial, verdana, helvetica;"><font size="' + FontSizes[i] + '"> ' + FontSizes[i] + '</font></td></tr></table></button><br>';	

    }	  

  }

	dd_fontsize += '</span></td></tr></table>';

	document.getElementById('dropdown_FontSize').insertAdjacentHTML("afterBegin", dd_fontsize);

};





function createDropdown_Icons() {

	var dd_icons = new Array;

	dd_icons = '<table id="table_icons" border="0" cellpadding="0" cellspacing="0" onmousedown=\"mhHover(\'table_icons\', \'wysiwyg_listbox_icons_click\')\" onmouseup=\"mhHover(\'table_icons\', \'wysiwyg_listbox_icons_over\')\" onmouseover=\"mhHover(\'table_icons\', \'wysiwyg_listbox_icons_over\')\" onmouseout=\"mhHover(\'table_icons\', \'wysiwyg_listbox_icons\')\" class="wysiwyg_listbox_icons"><tr><td id="tdIcon" onClick="show_dropdown_Icons();" unselectable="on" style="width:60px"><br><br>';

  dd_icons += '<span id="span_dropdown_Icons" class="dropdown">';



  dd_icons += '<table border=0 cellpadding=0 cellspacing=0>';

  

  for (a=0;a<=5;a++) {

    dd_icons += '<tr>';

    for (i=0;i<=6;i++) {

      index = (a*6) + i;

      dd_icons += '<td><button type="button" onClick="doIcon(Icons['+index+'])\;hide_dropdown_Icons();" onMouseOver="this.className=\'mouseOver\'" onMouseOut="this.className=\'mouseOut\'" class="mouseOut" style="width:20px"><table cellpadding="0" cellspacing="0" border="0"><tr><td align="left" style="font-family: arial, verdana, helvetica"><img src="' + Icons[index] + '" alt=""></td></tr></table></button></td>';

    }

    dd_icons += '</tr>';

  }

  dd_icons += '</table>';

    

	dd_icons += '</span></td></tr></table>';

	document.getElementById('dropdown_Icons').insertAdjacentHTML("afterBegin", dd_icons);

};







function hide_dropdown_Font() {

  document.getElementById('span_dropdown_Font').style.display = 'none'; 

};



function hide_dropdown_FontSize() {

  document.getElementById('span_dropdown_FontSize').style.display = 'none'; 

};



function hide_dropdown_Icons() {

  document.getElementById('span_dropdown_Icons').style.display = 'none'; 

};



function show_dropdown_Font() { 

  if (document.getElementById('span_dropdown_Font').style.display == 'block') {

    document.getElementById('span_dropdown_Font').style.display = 'none';    

	}

  else {

    document.getElementById('span_dropdown_Font').style.display = 'block'; 

    document.getElementById('span_dropdown_Font').style.position = 'absolute';		

  }

};



function show_dropdown_FontSize() { 

  if (document.getElementById('span_dropdown_FontSize').style.display == 'block') {

    document.getElementById('span_dropdown_FontSize').style.display = 'none';



	}

  else {

    document.getElementById('span_dropdown_FontSize').style.display = 'block'; 

    document.getElementById('span_dropdown_FontSize').style.position = 'absolute';		



  }

};



function show_dropdown_Icons() { 

  if (document.getElementById('span_dropdown_Icons').style.display == 'block') {

    document.getElementById('span_dropdown_Icons').style.display = 'none';

	}

  else {

    document.getElementById('span_dropdown_Icons').style.display = 'block'; 

    document.getElementById('span_dropdown_Icons').style.position = 'absolute';		

  }

};





    

function runCommand(uCommand,parameter) {

  if (document.all) { 

    frames["editor"].document.execCommand(uCommand, false, parameter)

  } else { 

    document.getElementById("editor").contentWindow.document.execCommand(uCommand, false, parameter)

  }

}





function doIcon(hIcon) {

  srcIcon="<img src='"+hIcon+"' alt=''>";

  insertHTML(srcIcon);

}



function doFont(fName) { 

  runCommand('fontname',fName); 



  if (fName=="Arial") {mhHover('tdFontName', 'wysiwyg_fontname_arial'); } 

  if (fName=="Comic Sans MS") {mhHover('tdFontName', 'wysiwyg_fontname_comicsansms'); } 

  if (fName=="Courier New") {mhHover('tdFontName', 'wysiwyg_fontname_couriernew'); } 

  if (fName=="Georgia") {mhHover('tdFontName', 'wysiwyg_fontname_georgia'); } 

  if (fName=="Impact") {mhHover('tdFontName', 'wysiwyg_fontname_impact');  }

  if (fName=="Sans Serif") {mhHover('tdFontName', 'wysiwyg_fontname_sansserif'); } 

  if (fName=="Tahoma") {mhHover('tdFontName', 'wysiwyg_fontname_tahoma'); } 

  if (fName=="Times New Roman") {mhHover('tdFontName', 'wysiwyg_fontname_timesnewroman'); } 

  if (fName=="Verdana") {mhHover('tdFontName', 'wysiwyg_fontname_verdana'); } 



  document.getElementById('tdFontName').innerText = fName;

} 



function doFontSize(fSize) { 

  runCommand('fontsize',fSize);

  document.getElementById('tdFontSize').innerText = fSize;

} 



function makeBold() {

  runCommand('bold', null);

}



function makeItalic() {

  runCommand('italic', null);

}



function makeUnderline() {

  runCommand('underline', null);

}



function insertUnorderedList() {

  runCommand('insertUnorderedList', null);

}



function insertOrderedList() {

  runCommand('insertOrderedList', null);

}



function justifyLeft() {

  runCommand('justifyLeft', null);

}



function justifyCenter() {

  runCommand('justifyCenter', null);

}



function justifyRight() {

  runCommand('justifyRight', null);

}



function doForeColor(colorString) { 

  runCommand('ForeColor', colorString);

}



function doBackColor(colorString) { 

  runCommand('BackColor', colorString);

}









function insertHTML(html) {

  document.getElementById("editor").contentWindow.focus();



	if (document.all) {	  

	  document.getElementById('editor').contentWindow.document.selection.createRange().pasteHTML(html);   

	} 

	 

	else {

	  var div = document.getElementById('editor').contentWindow.document.createElement("div");

		 

		div.innerHTML = html;

		var node = insertNodeAtSelection(div);		

	}

	

}







function insertNodeAtSelection(insertNode) {

  var sel = document.getElementById('editor').contentWindow.getSelection();



  var range = sel.getRangeAt(0);



  sel.removeAllRanges();



  range.deleteContents();



  var container = range.startContainer;

  var pos = range.startOffset;



  range=document.createRange();



  if (container.nodeType==3 && insertNode.nodeType==3) {

    container.insertData(pos, insertNode.nodeValue);

    range.setEnd(container, pos+insertNode.length);

    range.setStart(container, pos+insertNode.length);

  } 

	

	else {

    var afterNode;

    

		if (container.nodeType==3) {

      var textNode = container;

      container = textNode.parentNode;

      var text = textNode.nodeValue;



      var textBefore = text.substr(0,pos);

      var textAfter = text.substr(pos);



      var beforeNode = document.createTextNode(textBefore);

      afterNode = document.createTextNode(textAfter);



      container.insertBefore(afterNode, textNode);

      container.insertBefore(insertNode, afterNode);

      container.insertBefore(beforeNode, insertNode);



      container.removeChild(textNode);

    } 

	

	  else {

      afterNode = container.childNodes[pos];

      container.insertBefore(insertNode, afterNode);

    }



    range.setEnd(afterNode, 0);

    range.setStart(afterNode, 0);

  }



  sel.addRange(range);

};

