Index: /CKEditor/trunk/_source/core/dom/element.js
===================================================================
--- /CKEditor/trunk/_source/core/dom/element.js	(revision 3643)
+++ /CKEditor/trunk/_source/core/dom/element.js	(revision 3644)
@@ -1,3 +1,3 @@
-﻿﻿/*
+﻿/*
 Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
@@ -152,8 +152,8 @@
 		removeClass : function( className )
 		{
-			var c = this.$.className;
+			var c = this.getAttribute( 'class' );
 			if ( c )
 			{
-				var regex = new RegExp( '(?:^|\\s+)' + className + '(?=\\s|$)', '' );
+				var regex = new RegExp( '(?:^|\\s+)' + className + '(?=\\s|$)', 'i' );
 				if ( regex.test( c ) )
 				{
@@ -161,5 +161,5 @@
 
 					if ( c )
-						this.$.className = c;
+						this.setAttribute( 'class', c );
 					else
 						this.removeAttribute( 'class' );
@@ -171,5 +171,5 @@
 		{
 			var regex = new RegExp( '(?:^|\\s+)' + className + '(?=\\s|$)', '' );
-			return regex.test( this.$.className );
+			return regex.test( this.getAttribute('class') );
 		},
 
@@ -757,5 +757,5 @@
 		 */
 		hasAttributes :
-			CKEDITOR.env.ie ?
+			CKEDITOR.env.ie && ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) ?
 				function()
 				{
@@ -775,5 +775,5 @@
 								// Note : I was not able to reproduce it outside the editor,
 								// but I've faced it while working on the TC of #1391.
-								if ( this.$.className.length > 0 )
+								if ( this.getAttribute( 'class' ) > 0 )
 									return true;
 
@@ -878,5 +878,5 @@
 			};
 
-			if ( CKEDITOR.env.ie && !CKEDITOR.env.ie8 )
+			if ( CKEDITOR.env.ie && ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) )
 			{
 				return function( name, value )
@@ -944,5 +944,5 @@
 			};
 
-			if ( CKEDITOR.env.ie && !CKEDITOR.env.ie8  )
+			if ( CKEDITOR.env.ie && ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) )
 			{
 				return function( name )
