Index: /FCKeditor/trunk/_test/manual/fckeditingarea/test1.html
===================================================================
--- /FCKeditor/trunk/_test/manual/fckeditingarea/test1.html	(revision 201)
+++ /FCKeditor/trunk/_test/manual/fckeditingarea/test1.html	(revision 202)
@@ -79,6 +79,4 @@
 	var _BehaviorsStyle = '<style type="text/css" _fcktemp="true">' ;
 
-	_BehaviorsStyle += 'INPUT { behavior: url(' + sBasePath + 'editor/css/behaviors/hiddenfield.htc) ; } ' ;
-
 	_BehaviorsStyle += 'TABLE { behavior: url(' + sBasePath + 'editor/css/behaviors/showtableborders.htc) ; }' ;
 
Index: /FCKeditor/trunk/_whatsnew.html
===================================================================
--- /FCKeditor/trunk/_whatsnew.html	(revision 201)
+++ /FCKeditor/trunk/_whatsnew.html	(revision 202)
@@ -104,4 +104,6 @@
 			element is now considered a block container if EnterMode=p|br. It acts like a simple
 			block only if EnterMode=div.</li>
+		<li>Hidden fields will now show up as an icon in IE, instead of a normal text field.
+			They are also selectable and draggable, in all browsers.</li>
 	</ul>
 	<h3>
Index: /FCKeditor/trunk/editor/_source/internals/fck_contextmenu.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fck_contextmenu.js	(revision 201)
+++ /FCKeditor/trunk/editor/_source/internals/fck_contextmenu.js	(revision 202)
@@ -203,5 +203,5 @@
 			AddItems : function( menu, tag, tagName )
 			{
-				if ( tagName == 'INPUT' && tag.type == 'hidden' )
+				if ( tagName == 'IMG' && tag.getAttribute( '_fckinputhidden' ) )
 				{
 					menu.AddSeparator() ;
Index: /FCKeditor/trunk/editor/_source/internals/fck_ie.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fck_ie.js	(revision 201)
+++ /FCKeditor/trunk/editor/_source/internals/fck_ie.js	(revision 202)
@@ -36,7 +36,5 @@
 		// The behaviors should be pointed using the FullBasePath to avoid security
 		// errors when using a differente BaseHref.
-		sStyle =
-			'<style type="text/css" _fcktemp="true">' +
-			'INPUT { behavior: url(' + sBasePath + 'css/behaviors/hiddenfield.htc) ; }' ;
+		sStyle = '<style type="text/css" _fcktemp="true">' ;
 
 		if ( FCKConfig.ShowBorders )
@@ -44,5 +42,5 @@
 
 		// Disable resize handlers.
-		sStyle += 'INPUT,TEXTAREA,SELECT,.FCK__Anchor,.FCK__PageBreak' ;
+		sStyle += 'INPUT,TEXTAREA,SELECT,.FCK__Anchor,.FCK__PageBreak,.FCK__InputHidden' ;
 
 		if ( FCKConfig.DisableObjectResizing )
Index: /FCKeditor/trunk/editor/_source/internals/fckdocumentprocessor.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fckdocumentprocessor.js	(revision 201)
+++ /FCKeditor/trunk/editor/_source/internals/fckdocumentprocessor.js	(revision 202)
@@ -222,2 +222,22 @@
 	}
 }
+
+// INPUT:hidden Processor.
+FCKDocumentProcessor.AppendNew().ProcessDocument = function( document )
+{
+	var aInputs = document.getElementsByTagName( 'INPUT' ) ;
+
+	var oInput ;
+	var i = aInputs.length - 1 ;
+	while ( i >= 0 && ( oInput = aInputs[i--] ) )
+	{
+		if ( oInput.type == 'hidden' )
+		{
+			var oImg = FCKDocumentProcessor_CreateFakeImage( 'FCK__InputHidden', oInput.cloneNode(true) ) ;
+			oImg.setAttribute( '_fckinputhidden', 'true', 0 ) ;
+
+			oInput.parentNode.insertBefore( oImg, oInput ) ;
+			oInput.parentNode.removeChild( oInput ) ;
+		}
+	}
+}
Index: Keditor/trunk/editor/css/behaviors/hiddenfield.htc
===================================================================
--- /FCKeditor/trunk/editor/css/behaviors/hiddenfield.htc	(revision 201)
+++ 	(revision )
@@ -1,30 +1,0 @@
-<public:component lightweight="true">
-
-<public:attach event="oncontentready" onevent="ShowField()" />
-<public:attach event="ondoubleclick" onevent="EditField()" />
-
-<script language="javascript">
-
-var bIsHiddenField = this.type == 'hidden' ;
-
-function ShowField()
-{
-	if ( bIsHiddenField ) 
-	{
-		this.runtimeStyle.width				= '20px' ;
-		this.runtimeStyle.height			= '20px' ;
-		this.runtimeStyle.border			= '1px dotted #FF0000' ;
-		this.runtimeStyle.backgroundImage	= 'url(css/behaviors/hiddenfield.gif)' ;
-		this.runtimeStyle.fontSize			= '99px' ;
-	}
-}
-
-function EditField()
-{
-	if ( bIsHiddenField ) 
-		alert( this.outerHTML ) ;
-}
-
-</script>
-
-</public:component>
Index: /FCKeditor/trunk/editor/css/fck_internal.css
===================================================================
--- /FCKeditor/trunk/editor/css/fck_internal.css	(revision 201)
+++ /FCKeditor/trunk/editor/css/fck_internal.css	(revision 202)
@@ -26,5 +26,5 @@
 html
 {
-	min-height:100%;
+	min-height: 100%;
 }
 
@@ -70,5 +70,5 @@
 	background-image: url(images/fck_anchor.gif);
 	background-repeat: no-repeat;
-	padding-left:18px;
+	padding-left: 18px;
 }
 
@@ -81,5 +81,5 @@
 	background-image: url(images/fck_anchor.gif);
 	background-repeat: no-repeat;
-	padding-left:18px;
+	padding-left: 18px;
 }
 
@@ -100,17 +100,12 @@
 }
 
-input[type="hidden"]
+/* Hidden fields */
+.FCK__InputHidden
 {
-	display: inline;
-	width:20px;
-	height:20px;
-	border:1px dotted #FF0000 ;
-	background-image: url(behaviors/hiddenfield.gif);
+	width: 19px;
+	height: 18px;
+	background-image: url(images/fck_hiddenfield.gif);
 	background-repeat: no-repeat;
+	vertical-align: text-bottom;
+	background-position: center center;
 }
-
-input[type="hidden"]:after
-{
-	padding-left: 20px;
-	content: "" ;
-}
Index: /FCKeditor/trunk/editor/dialog/fck_hiddenfield.html
===================================================================
--- /FCKeditor/trunk/editor/dialog/fck_hiddenfield.html	(revision 201)
+++ /FCKeditor/trunk/editor/dialog/fck_hiddenfield.html	(revision 202)
@@ -22,18 +22,29 @@
  * Hidden Field dialog window.
 -->
-<html>
-	<head>
-		<title>Hidden Field Properties</title>
-		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-		<meta content="noindex, nofollow" name="robots">
-		<script src="common/fck_dialog_common.js" type="text/javascript"></script>
-		<script type="text/javascript">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>Hidden Field Properties</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<meta content="noindex, nofollow" name="robots" />
+	<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+	<script type="text/javascript">
 
 var oEditor = window.parent.InnerDialogLoaded() ;
+var FCK = oEditor.FCK ;
 
 // Gets the document DOM
-var oDOM = oEditor.FCK.EditorDocument ;
+var oDOM = FCK.EditorDocument ;
 
-var oActiveEl = oEditor.FCKSelection.GetSelectedElement() ;
+// Get the selected flash embed (if available).
+var oFakeImage = FCK.Selection.GetSelectedElement() ;
+var oActiveEl ;
+
+if ( oFakeImage )
+{
+	if ( oFakeImage.tagName == 'IMG' && oFakeImage.getAttribute('_fckinputhidden') )
+		oActiveEl = FCK.GetRealElement( oFakeImage ) ;
+	else
+		oFakeImage = null ;
+}
 
 window.onload = function()
@@ -42,11 +53,9 @@
 	oEditor.FCKLanguageManager.TranslatePage(document) ;
 
-	if ( oActiveEl && oActiveEl.tagName == 'INPUT' && oActiveEl.type == 'hidden' )
+	if ( oActiveEl )
 	{
 		GetE('txtName').value		= oActiveEl.name ;
 		GetE('txtValue').value		= oActiveEl.value ;
 	}
-	else
-		oActiveEl = null ;
 
 	window.parent.SetOkButton( true ) ;
@@ -58,7 +67,8 @@
 	if ( !oActiveEl )
 	{
-		oActiveEl = oEditor.FCK.EditorDocument.createElement( 'INPUT' ) ;
+		oActiveEl = FCK.EditorDocument.createElement( 'INPUT' ) ;
 		oActiveEl.type = 'hidden' ;
-		oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ;
+
+		oFakeImage = null ;
 	}
 
@@ -66,30 +76,41 @@
 	SetAttribute( oActiveEl, 'value', GetE('txtValue').value ) ;
 
+	if ( !oFakeImage )
+	{
+		oFakeImage	= oEditor.FCKDocumentProcessor_CreateFakeImage( 'FCK__InputHidden', oActiveEl ) ;
+		oFakeImage.setAttribute( '_fckinputhidden', 'true', 0 ) ;
+		oFakeImage	= FCK.InsertElementAndGetIt( oFakeImage ) ;
+	}
+	else
+		oEditor.FCKUndo.SaveUndoStep() ;
+
+	oEditor.FCKFlashProcessor.RefreshView( oFakeImage, oActiveEl ) ;
+
 	return true ;
 }
 
-		</script>
-	</head>
-	<body style="OVERFLOW: hidden" scroll="no">
-		<table height="100%" width="100%">
-			<tr>
-				<td align="center">
-					<table border="0" class="inhoud" cellpadding="0" cellspacing="0" width="80%">
-						<tr>
-							<td>
-								<span fckLang="DlgHiddenName">Name</span><br>
-								<input type="text" size="20" id="txtName" style="WIDTH: 100%">
-							</td>
-						</tr>
-						<tr>
-							<td>
-								<span fckLang="DlgHiddenValue">Value</span><br>
-								<input type="text" size="30" id="txtValue" style="WIDTH: 100%">
-							</td>
-						</tr>
-					</table>
-				</td>
-			</tr>
-		</table>
-	</body>
+	</script>
+</head>
+<body style="overflow: hidden" scroll="no">
+	<table height="100%" width="100%">
+		<tr>
+			<td align="center">
+				<table border="0" class="inhoud" cellpadding="0" cellspacing="0" width="80%">
+					<tr>
+						<td>
+							<span fcklang="DlgHiddenName">Name</span><br />
+							<input type="text" size="20" id="txtName" style="width: 100%" />
+						</td>
+					</tr>
+					<tr>
+						<td>
+							<span fcklang="DlgHiddenValue">Value</span><br />
+							<input type="text" size="30" id="txtValue" style="width: 100%" />
+						</td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+	</table>
+</body>
 </html>
