var dirIcons = "http://www.guhla.de/pics/wysiwyg/";

  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='<span style="font-family:arial;font-size:12px">Sehr geehrtes Guhla Bedachungen Team,<br><br><br>[ <span style="font-size:10px;color:#777777">Tragen Sie hier Ihre Nachricht ein</span> ]<br><br><br><br><br>Mit freundlichen Gr&uuml;&szlig;en</span>'; }

  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);
};

