Index: /FCKeditor/trunk/_dev/browserbugs/firefox/baseruntime.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/firefox/baseruntime.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/firefox/baseruntime.html	(revision 16)
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title></title>
+		<script language="javascript">
+
+document.write( '<base href="http://www.fckeditor.net">' ) ;
+
+window.onload = function()
+{
+return ;
+	var base = document.createElement( 'BASE' ) ;
+	
+	//var html = '<title></title><base href="http://www.fckeditor.net">' ;
+	document.getElementsByTagName("HEAD")[0].appendChild( base ) ;
+	base.href = 'http://www.fckeditor.net' ;
+}
+
+		</script>
+	</head>
+	<body>
+		This is some <strong>sample text</strong>. You are u<img src="/images/logotop.gif" alt="" />sing
+		<a href="http://www.fckeditor.net/">FCKeditor</a>.
+	</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/firefox/brokenimage.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/firefox/brokenimage.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/firefox/brokenimage.html	(revision 16)
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title></title>
+	<script type="text/javascript">
+
+window.onload = function()
+{
+	if ( document.all )
+		document.body.contentEditable = true ;	// IE
+	else
+		document.designMode = 'on' ;			// Firefox
+}
+
+	</script>
+</head>
+<body>
+	<img src="NoImage.jpg" alt="" align="left" />
+	You should see a broken image here in the left.
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/firefox/deleteimage.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/firefox/deleteimage.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/firefox/deleteimage.html	(revision 16)
@@ -0,0 +1,18 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title></title>
+		<script language="javascript">
+
+window.onload = function()
+{
+	if ( document.location.search != '?NoEdit' )
+		document.designMode = "on" ;
+}
+
+		</script>
+	</head>
+	<body>
+		<img src="http://www.firefox.com/title.gif">
+	</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/firefox/deletetable.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/firefox/deletetable.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/firefox/deletetable.html	(revision 16)
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title></title>
+		<script language="javascript">
+
+window.onload = function()
+{
+	if ( document.location.search != '?NoEdit' )
+		document.designMode = "on" ;
+}
+
+		</script>
+	</head>
+	<body>
+		Try to delete the following table...
+		<table border="1" width="200">
+			<tr>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+			</tr>
+			<tr>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+			</tr>
+			<tr>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+			</tr>
+			<tr>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+			</tr>
+			<tr>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+				<td>&nbsp;</td>
+			</tr>
+		</table>
+		...it is simply not possible.<BR>
+		<BR>
+		You should be able to do that when:
+		<ul>
+			<li>
+			Select the table and hit &lt;DEL&gt; or &lt;BACKSPACE&gt;&nbsp;(actually, there 
+			is no way to select the table).
+			<LI>
+			Place the cursor before the table and hit &lt;DEL&gt;.
+			<LI>
+				Place the cursor after the table and hit &lt;BACKSPACE&gt;.</LI>
+		</ul>
+	</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/firefox/designmode.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/firefox/designmode.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/firefox/designmode.html	(revision 16)
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title></title>
+		<script language="javascript">
+
+	window.onload = function()
+	{
+		document.designMode = 'on' ;
+
+		// Tell Gecko to use or not the <SPAN> tag for the bold, italic and underline.
+		document.execCommand( 'useCSS', false, false ) ;
+	}
+
+		</script>
+	</head>
+	<body>
+		<script>
+			document.write( 'This is some <b>sample</b> text' ) ;
+		</script>
+	</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/firefox/docwrite.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/firefox/docwrite.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/firefox/docwrite.html	(revision 16)
@@ -0,0 +1,40 @@
+<html>
+<head>
+    <title>Bugs - Firefox - Document Write</title>
+    <script type="text/javascript">
+
+window.onload = function()
+{
+	var oIFrame = document.createElement('iframe') ; 
+	oIFrame.frameBorder = 0 ;
+	oIFrame.style.border = '#000000 1px solid' ;
+	oIFrame.width = oIFrame.height = '100%' ;
+
+	document.body.appendChild( oIFrame ) ;
+	
+	var oDoc = oIFrame.contentWindow.document ;
+
+	oDoc.open() ;
+
+	oDoc.write( '<html>' ) ;
+	oDoc.write( '<head><title></title>' ) ;
+
+	oDoc.write( 
+		'<style type="text/css">' +
+		'B { color: #FF0000; }' +
+		'b { background-color: #FFFF00; }' +
+		'</style>' ) ;
+					
+	oDoc.write( '</head><body>' ) ;
+	oDoc.write( 'This is a <b>Test Case</b>.' ) ;
+	oDoc.write( '</body></html>' ) ;
+
+	oDoc.close() ;
+}
+
+    </script>
+</head>
+<body>
+
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/firefox/docwrite2.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/firefox/docwrite2.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/firefox/docwrite2.html	(revision 16)
@@ -0,0 +1,12 @@
+<html>
+<head>
+	<title>Bugs - Firefox - Document Write</title>
+	<style type="text/css">
+		B { color: #FF0000; }
+		b { background-color: #FFFF00; }
+	</style>
+</head>
+<body>
+	This is a <b>Test Case</b>.
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/firefox/fontface.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/firefox/fontface.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/firefox/fontface.html	(revision 16)
@@ -0,0 +1,10 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title></title>
+	</head>
+	<body>
+		<span style="font-family:fantasy">The font is correctly applied here.</span><br>
+		<span style="font-family:'fantasy'">The font is not applied here.</span><br>
+	</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/firefox/geckohistorybug1.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/firefox/geckohistorybug1.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/firefox/geckohistorybug1.html	(revision 16)
@@ -0,0 +1,9 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title></title>
+	</head>
+	<body>
+		<iframe src="GeckoHistoryBug2.html"></iframe>
+	</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/firefox/geckohistorybug2.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/firefox/geckohistorybug2.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/firefox/geckohistorybug2.html	(revision 16)
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title></title>
+		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
+		<script language="javascript">
+		
+window.onload = function()
+{
+	if ( document.location.search != '?NoEdit' )
+		document.designMode = "on" ;
+
+	CreateIFrame() ;
+	CreateIFrame() ;
+	CreateIFrame() ;
+}
+
+function CreateIFrame()
+{
+	var oIFrame = window.top.document.createElement('iframe') ; 
+	oIFrame.src = 'about:blank' ;
+    oIFrame.frameBorder		= '0';
+	oIFrame.scrolling			= 'no' ;
+    oIFrame.style.left			= '0px' ;
+	oIFrame.style.top			= '0px' ;
+    oIFrame.width				= 10 ;
+	oIFrame.height				= 10 ;
+    oIFrame.style.position		= 'absolute';
+	oIFrame.style.visibility	= 'hidden' ;
+	
+	window.top.document.body.appendChild( oIFrame ) ;
+	
+	var oFrmDocument = oIFrame.contentWindow.document ;
+	oFrmDocument.open() ;
+	oFrmDocument.write( '<html><head></head><body>fred<\/body><\/html>' ) ;
+	oFrmDocument.close() ;
+}
+
+		</script>
+	</head>
+	<body>
+	</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/firefox/iframe_onblur.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/firefox/iframe_onblur.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/firefox/iframe_onblur.html	(revision 16)
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title></title>
+		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
+	</head>
+	<body>
+		<input>
+		<hr>
+		<iframe src="IFrame_OnBlur_InnerPage.html" width="100%" height="50%"></iframe>
+	</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/firefox/iframe_onblur_innerpage.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/firefox/iframe_onblur_innerpage.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/firefox/iframe_onblur_innerpage.html	(revision 16)
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title></title>
+		<script language="javascript">
+
+window.onblur = function()
+{
+	alert( 'Blur' ) ;
+}
+
+		</script>
+	</head>
+	<body>
+		<iframe src="IFrame_OnBlur_InnerPage2.html"></iframe>
+	</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/firefox/iframe_onblur_innerpage2.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/firefox/iframe_onblur_innerpage2.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/firefox/iframe_onblur_innerpage2.html	(revision 16)
@@ -0,0 +1,10 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title></title>
+		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
+	</head>
+	<body>
+		<input>
+	</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/firefox/nodecoration.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/firefox/nodecoration.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/firefox/nodecoration.html	(revision 16)
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title></title>
+		<style>
+a
+{
+	text-decoration: none;
+}
+
+a:hover
+{
+	text-decoration: underline;
+}
+		</style>
+		<script language="javascript">
+
+window.onload = function()
+{
+	if ( document.location.search != '?NoEdit' )
+		document.designMode = "on" ;
+}
+
+		</script>
+	</head>
+	<body>
+		This is a <a href="http://www.fredck.com">sample link</a>.
+	</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/firefox/stylemove.htm
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/firefox/stylemove.htm	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/firefox/stylemove.htm	(revision 16)
@@ -0,0 +1,15 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Style Element Move</title>
+</head>
+<body onload="alert( document.documentElement.innerHTML ) ;">
+	<p>
+		The style element should be after this paragraph, as defined in the source.
+	</p>
+	<link rel="stylesheet" type="text/css" href="sample.css" />
+	<style type="text/css">
+		.MyStyle { color: red; }
+	</style>
+	<h1 class="MyStyle">Hello</h1>
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/ie/autoparagraphbug.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/ie/autoparagraphbug.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/ie/autoparagraphbug.html	(revision 16)
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title></title>
+		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
+		<script language="javascript">
+
+window.onload = function()
+{
+	var s = document.body.innerHTML ;
+	
+	var t = document.body.appendChild( document.createElement( "TEXTAREA" ) ) ;
+	t.rows = 10 ;
+	t.cols = 80 ;
+	
+	t.value = 'IE DOM returns:\n\n' + s ;
+
+	var t = document.body.appendChild( document.createElement( "TEXTAREA" ) ) ;
+	t.rows = 10 ;
+	t.cols = 80 ;
+	
+	t.value = 'Original:\n\n<p>First<hr/>Paragraph</p>\n<p>Second Paragraph</p>' ;
+}
+
+		</script>
+	</head>
+	<body>
+		<p>First<hr/>Paragraph</p>
+		<p>Second Paragraph</p>
+	</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/ie/tableduplication.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/ie/tableduplication.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/ie/tableduplication.html	(revision 16)
@@ -0,0 +1,15 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title></title>
+	</head>
+	<body>
+	<script language="javascript">
+
+var sHtml = '<p><font size="3"><table border="1"><tbody><tr><td>&nbsp;</td></tr></tbody></table></font></p>' ;
+
+document.write( sHtml ) ;
+
+</script>
+	</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/opera/buttonshrink.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/opera/buttonshrink.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/opera/buttonshrink.html	(revision 16)
@@ -0,0 +1,17 @@
+<html>
+<head>
+	<title>Opera Shrink Button Bug</title>
+</head>
+<body>
+	<table>
+		<tr>
+			<td width="100%">
+				&nbsp;
+			</td>
+			<td>
+				<input style="width: 100%;" type="button" value="My Button" />
+			</td>
+		</tr>
+	</table>
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/opera/commandstate.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/opera/commandstate.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/opera/commandstate.html	(revision 16)
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" >
+<head>
+    <title>Untitled Page</title>
+    <script type="text/javascript">
+
+function CheckCommand()
+{
+	alert( document.queryCommandEnabled( 'Bold' ) ) ;
+}
+
+    </script>
+</head>
+<body>
+	<b>Select part of this text and hit the "Query Command Enabled" button.</b><br />
+	<input type="button" value="Query Command Enabled" onmousedown="CheckCommand();" />
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/opera/createcontextualfragment.htm
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/opera/createcontextualfragment.htm	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/opera/createcontextualfragment.htm	(revision 16)
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Untitled Page</title>
+	<script type="text/javascript">
+
+function InsertHtml( html )
+{
+	// Get the first available range.
+	var oRange = window.getSelection().getRangeAt(0) ;
+	
+	// Create a fragment with the input HTML.
+	var oFragment = oRange.createContextualFragment( html ) ;
+
+	// Insert the fragment in the range.
+	oRange.insertNode(oFragment) ;
+}
+
+	</script>
+</head>
+<body>
+	Selection part of this text or just click on it and hit the "Insert HTML" button.
+	<br />
+	<input type="button" value="Insert HTML" onmousedown="InsertHtml('-- Inserted HTML--');" />
+	<br />
+	<br />
+	It must work on both cases, selecting text and clicking inside it (positioning a
+	empty selection inside it). Opera is throwing different erros for each case. For
+	FCKeditor, the "Type mismatch (usually a non-object value used where an object is
+	required)" error is more important.
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/opera/docopenhistory.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/opera/docopenhistory.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/opera/docopenhistory.html	(revision 16)
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" >
+<head>
+    <title>Untitled Page</title>
+    <script type="text/javascript">
+
+function SetHtml()
+{
+	var oDoc = window.frames[ 'xEditorArea' ].document ;
+
+	oDoc.open() ;
+
+	oDoc.write( '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' ) ;
+
+	oDoc.write( '<html>' ) ;
+	oDoc.write( '<head><title></title>' ) ;
+	oDoc.write( '</head><body>' ) ;
+	oDoc.write( 'Time: <b>' + new Date() + '</b>' ) ;
+	oDoc.write( '</body></html>' ) ;
+	
+	oDoc.close() ;
+}
+
+    </script>
+</head>
+<body>
+	<iframe id="xEditorArea" name="xEditorArea" src="about:blank" width="100%" height="400" style="border: #000000 1px solid;">
+	</iframe>
+	<hr />
+	<input type="button" value="Set HTML" onclick="SetHtml();" />
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/opera/fck_editor.css
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/opera/fck_editor.css	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/opera/fck_editor.css	(revision 16)
@@ -0,0 +1,262 @@
+/* @Packager.Header
+<FileDescription>
+	Styles used by the editor IFRAME and Toolbar.
+</FileDescription>
+<Author name="Frederico Caldeira Knabben" email="fredck@fckeditor.net" />
+*/
+
+/*
+	### Basic Editor IFRAME Styles.
+*/
+
+body
+{
+	padding: 1px 1px 1px 1px;
+	margin: 0px 0px 0px 0px;
+}
+
+#xEditingArea
+{
+	border: #696969 1px solid;
+}
+
+.SourceField
+{
+	padding: 5px;
+	font-family: Monospace;
+}
+
+/*
+	Toolbar
+*/
+
+.TB_ToolbarSet, .TB_Expand, .TB_Collapse
+{
+	cursor: default; 
+	background-color: #efefde;
+}
+
+.TB_ToolbarSet
+{
+	border-top: #efefde 1px outset;
+	border-bottom: #efefde 1px outset;
+}
+
+.TB_ToolbarSet TD
+{
+	font-size: 11px;
+	font-family: 'Microsoft Sans Serif' , Tahoma, Arial, Verdana, Sans-Serif;
+}
+
+.TB_Toolbar
+{
+	display: inline;
+}
+
+.TB_Separator
+{
+	width: 1px;
+	height: 16px;
+	margin: 2px;
+	background-color: #999966;
+}
+
+.TB_Start
+{
+	background-image: url(images/toolbar.start.gif);
+	margin: 2px;
+	width: 3px;
+	background-repeat: no-repeat;
+	height: 16px;
+}
+
+.TB_End
+{
+	display: none;
+}
+
+.TB_ExpandImg
+{
+	background-image: url(images/toolbar.expand.gif);
+	background-repeat: no-repeat;
+}
+
+.TB_CollapseImg
+{
+	background-image: url(images/toolbar.collapse.gif);
+	background-repeat: no-repeat;
+}
+
+.TB_SideBorder
+{
+	background-color: #696969;
+}
+
+.TB_Expand, .TB_Collapse
+{
+	padding: 2px 2px 2px 2px;
+	border: #efefde 1px outset;
+}
+
+.TB_Collapse
+{
+	width: 5px;
+}
+
+.TB_Break
+{
+	height: 24px;   /* IE needs the height to be set, otherwise no break */
+}
+
+/*
+	Toolbar Button
+*/
+
+.TB_Button_On, .TB_Button_Off, .TB_Button_On_Over, .TB_Button_Off_Over, .TB_Button_Disabled
+{
+	border: #efefde 1px solid; /* This is the default border */
+	height: 22px; /* The height is necessary, otherwise IE will not apply the alpha */
+}
+
+.TB_Button_On
+{
+	border: #316ac5 1px solid;
+	background-color: #c1d2ee;
+}
+
+.TB_Button_On_Over, .TB_Button_Off_Over
+{
+	border: #316ac5 1px solid;
+	background-color: #dff1ff;
+}
+
+.TB_Button_Off
+{
+	filter: alpha(opacity=70); /* IE */
+	opacity: 0.70; /* Safari, Opera and Mozilla */
+}
+
+.TB_Button_Disabled
+{
+	filter: gray() alpha(opacity=30); /* IE */
+	opacity: 0.30; /* Safari, Opera and Mozilla */
+}
+
+.TB_Button_Padding
+{
+	visibility: hidden;
+	width: 3px;
+	height: 22px;
+}
+
+.TB_Button_Image
+{
+	overflow: hidden;
+	width: 16px;
+	height: 16px;
+	margin: 3px;
+	background-repeat: no-repeat;
+}
+
+.TB_Button_Image img
+{
+	position: relative;
+}
+
+/*
+	Menu
+*/
+
+.MN_Menu
+{
+	border: 1px solid #8f8f73;
+	padding: 2px;
+	background-color: #ffffff;
+	cursor: default;
+}
+
+.MN_Menu, .MN_Menu .MN_Label
+{
+	font-size: 11px;
+	font-family: 'Microsoft Sans Serif', Tahoma, Arial, Verdana, Sans-Serif;
+}
+
+.MN_Item_Padding
+{
+	visibility: hidden;
+	width: 3px;
+	height: 20px;
+}
+
+.MN_Icon
+{
+	background-color: #e3e3c7;
+	text-align:center;
+	height:20px;
+}
+
+.MN_Label
+{
+	padding-left:3px;
+	padding-right:3px;
+}
+
+.MN_Separator
+{
+	height: 3px;
+}
+
+.MN_Separator_Line
+{
+	border-top: #b9b99d 1px solid;
+}
+
+.MN_Item .MN_Icon IMG
+{
+	filter: alpha(opacity=70);
+	opacity:0.70;
+}
+
+.MN_Item_Over
+{
+	color: #ffffff;
+	background-color: #8f8f73;
+}
+
+.MN_Item_Over .MN_Icon
+{
+	background-color: #737357;
+}
+
+.MN_Item_Disabled IMG
+{
+	filter: gray() alpha(opacity=30); /* IE */
+	opacity: 0.30; /* Safari, Opera and Mozilla */
+}
+
+.MN_Item_Disabled .MN_Label
+{
+	color: #b7b7b7;
+}
+
+.MN_Arrow
+{
+	padding-right:3px;
+	padding-left:3px;
+}
+
+.MN_ConnectionLine
+{
+	background-color: #ffffff ;
+}
+
+.Menu .TB_Button_On, .Menu .TB_Button_On_Over
+{
+	border: #8f8f73 1px solid;
+	background-color: #ffffff;
+}
+
+.Menu .TB_Button_Padding
+{
+	width:7px;
+}
Index: /FCKeditor/trunk/_dev/browserbugs/opera/iframeborder.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/opera/iframeborder.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/opera/iframeborder.html	(revision 16)
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+	<title>Opera IFRAME Border Bug</title>
+	<style type="text/css">
+.MyFrame
+{
+	border: #000000 1px solid;
+}
+	</style>
+</head>
+<body>
+	<table cellpadding="0" cellspacing="0" width="100%" height="100%">
+		<tr>
+			<td>
+				<iframe width="100%" height="100%" class="MyFrame" src="about:blank" frameborder="no">
+				</iframe>
+			</td>
+		</tr>
+	</table>
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/opera/movingdesign.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/opera/movingdesign.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/opera/movingdesign.html	(revision 16)
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Bugs - Opera - Moving Design</title>
+	<style type="text/css">
+
+body
+{
+	padding: 1px 1px 1px 1px;
+	margin: 0px 0px 0px 0px;
+}
+
+.TB_Toolbar
+{
+	display: inline;
+	float: left;
+}
+
+.TB_Button_On, .TB_Button_Off
+{
+	border: #ff0000 1px solid;
+	height: 22px;
+	width: 22px;
+}
+
+.TB_Button_On
+{
+	border: #316ac5 1px solid;
+	background-color: #c1d2ee;
+}
+
+	</style>
+</head>
+<body>
+	<table width="100%" style='height: 100%;' border="1">
+		<tr>
+			<td>
+				<table class="TB_Toolbar">
+					<tr>
+						<td>
+							<div class="TB_Button_Off" onmouseover="this.className='TB_Button_On';" onmouseout="this.className='TB_Button_Off';">
+								&nbsp;</div>
+						</td>
+					</tr>
+				</table>
+				<table class="TB_Toolbar">
+					<tr>
+						<td>
+							<div class="TB_Button_Off" onmouseover="this.className='TB_Button_On';" onmouseout="this.className='TB_Button_Off';">
+								&nbsp;</div>
+						</td>
+					</tr>
+				</table>
+				<table class="TB_Toolbar">
+					<tr>
+						<td>
+							<div class="TB_Button_Off" onmouseover="this.className='TB_Button_On';" onmouseout="this.className='TB_Button_Off';">
+								&nbsp;</div>
+						</td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+		<tr>
+			<td>
+				Pass your mouse over the red boxes or maximize and "demaximize" (restore, not minimize) the browser.
+			</td>
+		</tr>
+		<tr style='height: 100%'>
+			<td>
+				<iframe frameborder="0" height="100%" width="100%"></iframe>
+			</td>
+		</tr>
+	</table>
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/opera/nowrap.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/opera/nowrap.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/opera/nowrap.html	(revision 16)
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Opera No-Wrap Bug</title>
+</head>
+<body>
+	The following are tables with two cells. The first cell contains two buttons and a separator between them. The second cell has a &amp;nbsp; and its width is set to "100%", so it forces the first one to shrink as much as it can.
+	<hr />
+	&amp;nbsp; as separator (using nowrap) (bug on Opera):
+	<table cellspacing="0" cellpadding="0" border="1">
+		<tr>
+			<td nowrap>
+				<input type="button" value="Button 1">&nbsp;<input type="button" value="Button 2">
+			</td>
+			<td width="100%">&nbsp;</td>
+		</tr>
+	</table>
+	<br />
+	Space as separator (using nowrap):
+	<table cellspacing="0" cellpadding="0" border="1">
+		<tr>
+			<td nowrap>
+				<input type="button" value="Button 1"> <input type="button" value="Button 2">
+			</td>
+			<td width="100%">&nbsp;</td>
+		</tr>
+	</table>
+	<br />
+	&amp;nbsp; as separator (without nowrap) (bug on Firefox):
+	<table cellspacing="0" cellpadding="0" border="1">
+		<tr>
+			<td>
+				<input type="button" value="Button 1">&nbsp;<input type="button" value="Button 2">
+			</td>
+			<td width="100%">&nbsp;</td>
+		</tr>
+	</table>
+	<br />
+	Space as separator (without nowrap):
+	<table cellspacing="0" cellpadding="0" border="1">
+		<tr>
+			<td>
+				<input type="button" value="Button 1"> <input type="button" value="Button 2">
+			</td>
+			<td width="100%">&nbsp;</td>
+		</tr>
+	</table>
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/opera/onkeydown_prevent.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/opera/onkeydown_prevent.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/opera/onkeydown_prevent.html	(revision 16)
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Prevent OnKeyDown</title>
+	<script type="text/javascript">
+
+window.onload = function()
+{
+	if ( document.addEventListener )
+		document.addEventListener( 'keydown', Document_OnKeyDown, false ) ;
+	else
+		document.attachEvent( 'onkeydown', Document_OnKeyDown ) ;
+}
+
+function Document_OnKeyDown( ev )
+{
+	// Get the key code.
+	var keyCode = ev.keyCode || ev.which ;
+
+	var dump = document.getElementById( 'xDump' ) ;
+	dump.innerHTML = keyCode + '&nbsp;&nbsp; ' + dump.innerHTML ;
+
+	if (  keyCode == 88 || keyCode == 13 || keyCode == 9 || keyCode == 46 ||keyCode == 8 )
+	{
+		if ( ev.preventDefault )
+			ev.preventDefault() ;
+
+		return false ;
+	}
+}
+
+	</script>
+</head>
+<body>
+	<h1>Prevent OnKeyDown Test Page</h1>
+	<p>The [X], [Enter], [Tab], [Delete] and [Backspace] keys must not work in this page, even if combined with [Ctrl], [Shift] or [Alt].</p>
+	<textarea cols="80" rows="10"></textarea>
+	<div id="xDump"></div>
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/opera/onmousedownfocus.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/opera/onmousedownfocus.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/opera/onmousedownfocus.html	(revision 16)
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Untitled Page</title>
+	<script type="text/javascript">
+
+function CancelEvent( e )
+{
+	if ( e && e.preventDefault )
+		e.preventDefault() ;
+}
+
+	</script>
+</head>
+<body>
+	<div>
+		Click in the field. Then click on the following button or in the text in red. The
+		field must no loose the focus.<br />
+		<br />
+		<input type="button" value="Click me" onmousedown="return CancelEvent( event );" />
+	</div>
+	<br />
+	<div style="color: Red" onmousedown="return CancelEvent( event );">
+		Click me
+	</div>
+	<br />
+	<input size="80" value="This field must not loose the focus" />
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/opera/percent.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/opera/percent.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/opera/percent.html	(revision 16)
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Bugs - Opera - Percent</title>
+	<script type="text/javascript">
+
+window.onload = function()
+{
+	document.getElementById('xTxt').value = document.getElementById('xSource').innerHTML ;
+}
+
+	</script>
+</head>
+<body>
+	<div id="xSource" style="border: #ff0000 1px solid;">
+		<table width="100%" border="1">
+			<tr>
+				<td>
+					Table</td>
+			</tr>
+		</table>
+		<hr width="40%" />
+	</div>
+	<br />
+	The following TEXTAREA displays the innerHTML for the above DIV. The width values
+	have been set as percents (100% and 50%). Opera shows a negative number instead
+	(-100 and -50 respectively).<br />
+	<br />
+	<textarea id="xTxt" style="width: 100%" rows="15"></textarea>
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/opera/querycommandenabled.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/opera/querycommandenabled.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/opera/querycommandenabled.html	(revision 16)
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>queryCommandEnabled bug</title>
+	<script type="text/javascript">
+
+window.onload = function()
+{
+	// Catch the keydown event (not related to the bug).
+	if ( window.document.addEventListener )
+		window.document.addEventListener( 'keydown', Document_OnKeyDown, false ) ;
+	else
+		window.document.attachEvent( 'onkeydown', Document_OnKeyDown ) ;
+	
+	// Enable editing when the page. 
+	if ( (/msie/).test( navigator.userAgent.toLowerCase() ) )
+		document.body.contentEditable = true ;
+	else
+		document.designMode = 'on' ;
+}
+
+function Document_OnKeyDown( ev )
+{
+	var keyCode = ev.keyCode || ev.which ;
+
+	if ( keyCode == 16 || keyCode == 32 )	// Safari doesn't catch "Shift".
+	{
+		alert( document.queryCommandEnabled( 'Bold' ) ) ;
+		alert( document.queryCommandState( 'Bold' ) ) ;
+	}
+}
+
+	</script>
+</head>
+<body>
+	<p>
+		<b>Select a word in this phrase and press the [Shift]* key. You should see two alerts,
+			the first must say "true" and the second must say "true".<br /><span style="color: Red">Opera
+				will fail in this case.</span></b>
+	</p>
+	<p>
+		Select a word in this phrase and press the [Shift]* key. You should see two alerts,
+		the first must say "true" and the second must say "false".
+	</p>
+	<p>
+		* On Safari, hit the [Space] key instead.</p>
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/opera/scrollprop.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/opera/scrollprop.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/opera/scrollprop.html	(revision 16)
@@ -0,0 +1,9 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" >
+<head>
+    <title>Untitled Page</title>
+</head>
+<body>
+
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/opera/tablecell.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/opera/tablecell.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/opera/tablecell.html	(revision 16)
@@ -0,0 +1,49 @@
+﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Opera Table Cell Bug</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<script>
+
+window.onload = function()
+{
+	AddCell( 'Cell 1' ) ;
+	AddCell( 'Cell 2' ) ;
+	AddCell( 'Cell 3' ) ;
+	AddCell( 'Cell 4' ) ;
+}
+
+function AddCell( text )
+{
+	var eTargetRow = document.getElementById( 'xTarget' ) ;
+
+	var oCell = eTargetRow.insertCell(  eTargetRow.cells.length - 1 ) ;
+	oCell.noWrap = true ;		// Not related to the bug.
+	oCell.innerHTML = text ;
+}
+	</script>
+</head>
+<body>
+	In the following table, the 4 cells with text have been created by script. The last cell has "100%" width.<br />
+	<br />
+	<table cellspacing="0" cellpadding="0" width="100%" border="1">
+		<tr id="xTarget">
+			<td>&nbsp;</td>
+			<td width="100%">&nbsp;</td>
+		</tr>
+	</table>
+	<br /><br />
+	The following is the same table, not created by script but simply defined in the page. The above must render in the same way.<br />
+	<br />
+	<table cellspacing="0" cellpadding="0" width="100%" border="1">
+		<tr id="xTarget">
+			<td>&nbsp;</td>
+			<td nowrap>Cell 1</td>
+			<td nowrap>Cell 2</td>
+			<td nowrap>Cell 3</td>
+			<td nowrap>Cell 4</td>
+			<td width="100%">&nbsp;</td>
+		</tr>
+	</table>
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/opera/tablecss2selector.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/opera/tablecss2selector.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/opera/tablecss2selector.html	(revision 16)
@@ -0,0 +1,112 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Opera - No CSS2 Selector Support</title>
+	<style type="text/css">
+
+	TABLE[border="0"], 
+	TABLE[border="0"] > TR > TD, TABLE[border="0"] > TR > TH, 
+	TABLE[border="0"] > TBODY > TR > TD, TABLE[border="0"] > TBODY > TR > TH, 
+	TABLE[border="0"] > THEAD > TR > TD, TABLE[border="0"] > THEAD > TR > TH, 
+	TABLE[border="0"] > TFOOT > TR > TD, TABLE[border="0"] > TFOOT > TR > TH, 
+	TABLE:not([border]), 
+	TABLE:not([border]) > TR > TD, TABLE:not([border]) > TR > TH,
+	TABLE:not([border]) > TBODY > TR > TD, TABLE:not([border]) > TBODY > TR > TH,
+	TABLE:not([border]) > THEAD > TR > TD, TABLE:not([border]) > THEAD > TR > TH,
+	TABLE:not([border]) > TFOOT > TR > TD, TABLE:not([border]) > TFOOT > TR > TH
+	{
+		border: #aaaaaa 1px dotted ;
+	}
+
+	</style>
+</head>
+<body>
+	No border / THEAD, TBODY AND TFOOT:<br />
+	<table align="center">
+		<thead>
+			<tr>
+				<td>Head 1</td>
+				<td>Head 2</td>
+				<td>Head 3</td>
+			</tr>
+		</thead>
+		<tbody>
+			<tr>
+				<td>Cel 1</td>
+				<td>Cel 2</td>
+				<td>Cel 3</td>
+			</tr>
+		</tbody>
+		<tfoot>
+			<tr>
+				<td>Foot 4</td>
+				<td>Foot 5</td>
+				<td>Foot 6</td>
+			</tr>
+		</tfoot>
+	</table>
+	<hr />
+	Border = 0 / THEAD, TBODY AND TFOOT:<br />
+	<table border="0" align="center">
+		<thead>
+			<tr>
+				<td>Head 1</td>
+				<td>Head 2</td>
+				<td>Head 3</td>
+			</tr>
+		</thead>
+		<tbody>
+			<tr>
+				<td>Cel 1</td>
+				<td>Cel 2</td>
+				<td>Cel 3</td>
+			</tr>
+		</tbody>
+		<tfoot>
+			<tr>
+				<td>Foot 4</td>
+				<td>Foot 5</td>
+				<td>Foot 6</td>
+			</tr>
+		</tfoot>
+	</table>
+	<hr />
+	No border / No THEAD, TBODY OR TFOOT:<br />
+	<table align="center">
+		<tr>
+			<td>Cel 1</td>
+			<td>Cel 2</td>
+			<td>Cel 3</td>
+		</tr>
+		<tr>
+			<td>Cel 1</td>
+			<td>Cel 2</td>
+			<td>Cel 3</td>
+		</tr>
+		<tr>
+			<td>Cel 4</td>
+			<td>Cel 5</td>
+			<td>Cel 6</td>
+		</tr>
+	</table>
+	<hr />
+	Border = 0 / No THEAD, TBODY OR TFOOT:<br />
+	<table border="0" align="center">
+		<tr>
+			<td>Cel 1</td>
+			<td>Cel 2</td>
+			<td>Cel 3</td>
+		</tr>
+		<tr>
+			<td>Cel 1</td>
+			<td>Cel 2</td>
+			<td>Cel 3</td>
+		</tr>
+		<tr>
+			<td>Cel 4</td>
+			<td>Cel 5</td>
+			<td>Cel 6</td>
+		</tr>
+	</table>
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/opera/window_onblur.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/opera/window_onblur.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/opera/window_onblur.html	(revision 16)
@@ -0,0 +1,28 @@
+<html>
+<head>
+	<title>Window OnBlur with Overflow:Hidden</title>
+	<style type="text/css">
+		/* These styles have nothing to do with the bug */
+		div { background-color: #ffff99; }
+	</style>
+	<script type="text/javascript">
+
+window.onblur = function()
+{
+	alert( 'window.onblur has been fired' ) ;
+}
+
+	</script>
+</head>
+<body>
+	Click in the following DIVs. The "window.onblur" event must not be called.
+	<hr />
+	<div>
+		This DIV has the default overflow rule.
+	</div>
+	<br />
+	<div style="overflow: hidden;">
+		This DIV has overflow:hidden.
+	</div>
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/safari/iframe100percent.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/safari/iframe100percent.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/safari/iframe100percent.html	(revision 16)
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html xmlns="http://www.w3.org/1999/xhtml" >
+<head>
+    <title>Untitled Page</title>
+</head>
+<body>
+<table height="100%" cellspacing="0" cellpadding="0" width="100%" border="0">
+			<tr>
+				<td id="TitleArea" class="PopupTitle PopupTitleBorder">
+					<script type="text/javascript">
+document.write( 'Test' ) ;
+					</script>
+				</td>
+			</tr>
+			<tr id="TabsRow" style="DISPLAY: none">
+				<td class="PopupTabArea">
+					Test
+				</td>
+			</tr>
+			<tr>
+				<td id="FrameCell" height="100%" valign="top">
+					<iframe id="frmMain" src="about:blank" name="frmMain" frameborder="1" height="100%" width="100%" scrolling="auto">
+					</iframe>
+				</td>
+			</tr>
+			<tr>
+				<td class="PopupButtons">
+					Test
+				</td>
+			</tr>
+		</table>
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/safari/iframeblur/contents.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/safari/iframeblur/contents.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/safari/iframeblur/contents.html	(revision 16)
@@ -0,0 +1,11 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title></title>
+</head>
+<body>
+	<p>
+		Click inside this IFRAME and outside it. The "focus" and "blur" events should be
+		logged in the textarea bellow.
+	</p>
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/safari/iframeblur/iframeblur.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/safari/iframeblur/iframeblur.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/safari/iframeblur/iframeblur.html	(revision 16)
@@ -0,0 +1,31 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>IFrame Blur/Focus</title>
+	<script type="text/javascript">
+
+window.onload = function()
+{
+	document.getElementById( 'xIFrame' ).contentWindow.addEventListener( 'blur', IFrame_OnBlur, false ) ;
+	document.getElementById( 'xIFrame' ).contentWindow.addEventListener( 'focus', IFrame_OnFocus, false ) ;
+}
+
+function IFrame_OnBlur()
+{
+	var eOutput = document.getElementById( 'xOutput' ) ;
+	eOutput.innerHTML = 'Blur: ' + new Date() + '\n' + xOutput.innerHTML ;
+}
+
+function IFrame_OnFocus()
+{
+	var eOutput = document.getElementById( 'xOutput' ) ;
+	eOutput.innerHTML = 'Focus: ' + new Date() + '\n' + xOutput.innerHTML ;
+}
+
+	</script>
+</head>
+<body>
+	<iframe id="xIFrame" src="contents.html" frameborder="1"></iframe>
+	<hr />
+	<textarea id="xOutput" rows="15" cols="40" style="width: 100%" readonly="readonly"></textarea>
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/safari/iframefocus/editarea.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/safari/iframefocus/editarea.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/safari/iframefocus/editarea.html	(revision 16)
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Untitled Page</title>
+	<script type="text/javascript">
+
+	document.designMode = 'on' ;
+
+	</script>
+</head>
+<body>
+	This is some editable text.
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/safari/iframefocus/iframefocus.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/safari/iframefocus/iframefocus.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/safari/iframefocus/iframefocus.html	(revision 16)
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Bugs - Safari - IFrame Focus</title>
+	<script type="text/javascript">
+
+function Focus()
+{
+	var eIFrame = document.getElementById('xEditArea') ;
+	
+	if ( navigator.userAgent.indexOf( 'Safari' ) >= 0 )
+		eIFrame.focus() ;					// This is the Safari way (only).
+	else
+		eIFrame.contentWindow.focus() ;		// This one is not supported by Safari (another bug? or maybe this is the reason for the focus bug?)
+}
+
+	</script>
+</head>
+<body>
+	<iframe id="xEditArea" src="editarea.html" width="100%" height="200" frameborder="1"></iframe>
+	<br />
+	<br />
+	<ul>
+		<li>Click in the above editing area (in the middle of the text), or even select part
+			of it.</li>
+		<li>Click in the following input field to remove the focus from the editing area.</li>
+		<li>Click the "Focus" button to set the focus in the editing area again.</li>
+	</ul>
+	<p>
+		<input type="text" value="Simple input field" /><br />
+		<input type="button" value="Focus" onclick="Focus();" />
+	</p>
+	<p>
+		Expected results: The editing area must have the same selection (or caret position)
+		that was defined when it lost the focus. (Works well on Firefox 1.5 and Opera 9)</p>
+	<p>
+		Actual results: The editing area gets the focus, but the selection is lost, and
+		the caret is placed in the beginning of the text.</p>
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/safari/loadscript/default.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/safari/loadscript/default.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/safari/loadscript/default.html	(revision 16)
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title></title>
+		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
+		<script language="javascript">
+
+function LoadUsingCreateElement()
+{
+	// Create the script element.
+	var e = document.createElement( "script" ) ;
+	e.type	= "text/javascript" ;
+
+	// Add the new object to the HEAD.
+	document.getElementsByTagName("head")[0].appendChild( e ) ; 
+	
+	// Load the script.
+	// Gecko fires the "onload" event and IE fires "onreadystatechange"
+	e.onload = e.onreadystatechange = LoadUsingCreateElement_OnLoad ;
+	e.src = 'test.js' ;
+}
+
+function LoadUsingCreateElement_OnLoad()
+{
+	if ( !this.readyState || this.readyState == 'loaded' )
+		ShowMessage() ;
+}
+
+function LoadUsingXMLHttpRequest()
+{
+	var oXmlRequest ;
+	
+	// IE uses the ActiveX way, gecko the XMLHttpRequest native object.
+	if ( window.ActiveXObject )
+		oXmlRequest = new ActiveXObject("Microsoft.XMLHTTP") ;
+	else
+		oXmlRequest = new XMLHttpRequest() ;
+	
+	// Load the script synchronously.
+	oXmlRequest.open( "GET", 'test.js', false ) ;
+	oXmlRequest.send( null ) ;
+	
+	// Evaluate the script.
+	if ( oXmlRequest.status == 200 )
+		eval( oXmlRequest.responseText ) ;
+	
+	ShowMessage() ;
+}
+		</script>
+	</head>
+	<body>
+		Click a bottom. You should see two alert saying "Loaded!" and "External function call!".
+		<hr>
+		<input type="button" onclick="LoadUsingCreateElement()" value="Load script using createElement()">
+		<input type="button" onclick="LoadUsingXMLHttpRequest()" value="Load script using XMLHttpRequest">
+	</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/safari/loadscript/test.js
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/safari/loadscript/test.js	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/safari/loadscript/test.js	(revision 16)
@@ -0,0 +1,8 @@
+var sMsg = 'External Function Call!' ;
+
+function ShowMessage()
+{
+	alert( sMsg ) ;
+}
+
+alert( 'Loaded!' ) ;
Index: /FCKeditor/trunk/_dev/browserbugs/safari/loadscript2/default.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/safari/loadscript2/default.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/safari/loadscript2/default.html	(revision 16)
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+	<head>
+		<title></title>
+		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
+		<script language="javascript">
+
+function LoadUsingCreateElement()
+{
+	// Create the script element.
+	var e = document.createElement( "script" ) ;
+	e.type	= "text/javascript" ;
+	
+	// Load the script.
+	// Gecko fires the "onload" event and IE fires "onreadystatechange"
+	e.onload = e.onreadystatechange = LoadUsingCreateElement_OnLoad ;
+	e.src = 'test.js' ;
+
+	// Add the new object to the HEAD.
+	document.getElementsByTagName("head")[0].appendChild( e ) ; 
+}
+
+function LoadUsingCreateElement_OnLoad()
+{
+	window.document.title += ' - ' + this.readyState ;
+	if ( !this.readyState || this.readyState == 'loaded' || this.readyState == 'complete' )
+		ShowMessage() ;
+}
+
+function LoadUsingXMLHttpRequest()
+{
+	var oXmlRequest ;
+	
+	// IE uses the ActiveX way, gecko the XMLHttpRequest native object.
+	if ( window.ActiveXObject )
+		oXmlRequest = new ActiveXObject("Microsoft.XMLHTTP") ;
+	else
+		oXmlRequest = new XMLHttpRequest() ;
+	
+	// Load the script synchronously.
+	oXmlRequest.open( "GET", 'test.js', false ) ;
+	oXmlRequest.send( null ) ;
+	
+	// Evaluate the script.
+	if ( oXmlRequest.status == 200 )
+		eval( oXmlRequest.responseText ) ;
+	
+	ShowMessage() ;
+}
+		</script>
+	</head>
+	<body>
+		Click a bottom. You should see two alert saying "Loaded!" and "External function call!".
+		<hr>
+		<input type="button" onclick="LoadUsingCreateElement()" value="Load script using createElement()">
+		<input type="button" onclick="LoadUsingXMLHttpRequest()" value="Load script using XMLHttpRequest">
+	</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/safari/loadscript2/test.js
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/safari/loadscript2/test.js	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/safari/loadscript2/test.js	(revision 16)
@@ -0,0 +1,8 @@
+var sMsg = 'External Function Call!' ;
+
+function ShowMessage()
+{
+	alert( sMsg ) ;
+}
+
+alert( 'Loaded!' ) ;
Index: /FCKeditor/trunk/_dev/browserbugs/safari/row_display.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/safari/row_display.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/safari/row_display.html	(revision 16)
@@ -0,0 +1,33 @@
+﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Row Display Style Bug</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<script type="text/javascript">
+
+window.onload = function()
+{
+		document.getElementById( 'xToolbarRow' ).style.display = '' ;
+}
+	</script>
+</head>
+<body>
+	<table style="height: 100%;" border="1">
+		<tbody>
+			<!-- Problem: Remove the style declaration from the following tag and it will work -->
+			<tr id="xToolbarRow" style="display: none">
+				<td>
+					This row must take as few height as possible. It is being displayed by script once
+					the page is loaded.
+				</td>
+			</tr>
+			<!-- Workaround: Move the style declaration from the following TR to its child TD and it will work -->
+			<tr style="height: 100%;">
+				<td>
+					This row must get the rest of the available height.
+				</td>
+			</tr>
+		</tbody>
+	</table>
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/safari/window_eval/inner.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/safari/window_eval/inner.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/safari/window_eval/inner.html	(revision 16)
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Untitled Page</title>
+	<script type="text/javascript">
+    
+    window.parent.eval( 'var MyObject = new Object();' ) ;
+
+	</script>
+</head>
+<body>
+	<p>
+		This is the inner window. The following script is executed here and should define
+		an object in the parent window:
+	</p>
+	<pre>
+		window.parent.eval( 'var MyObject = new Object();' ) ;
+	</pre>
+	<p>
+		The following button must alert "undefined":
+	</p>
+	<input type="button" value="alert( typeof MyObject ) in the inner window" onclick="alert( typeof MyObject );" />
+</body>
+</html>
Index: /FCKeditor/trunk/_dev/browserbugs/safari/window_eval/window_eval.html
===================================================================
--- /FCKeditor/trunk/_dev/browserbugs/safari/window_eval/window_eval.html	(revision 16)
+++ /FCKeditor/trunk/_dev/browserbugs/safari/window_eval/window_eval.html	(revision 16)
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Window Eval</title>
+</head>
+<body>
+	<p>
+		<iframe src="inner.html" frameborder="1" width="100%" height="300"></iframe>
+	</p>
+	<p>
+		The following button must alert "object":
+	</p>
+	<input type="button" value="alert( typeof MyObject ) in the parent window" onclick="alert( typeof MyObject );" />
+	<p>
+		It works as expected with IE, Firefox and Opera.
+	</p>
+	<p>
+		A possible workaround could be the following:
+	</p>
+	<pre>
+		eval.call( window.parent, 'var MyObject = new Object();' ) ;
+	</pre>
+	<p>
+		The above works well with Firefox and Opera, but doens't work with Safari and IE.
+		Not even window.parent.eval.call helped. So, it seams there is no workaround for it.</p>
+</body>
+</html>
