Index: FCKeditor/trunk/fckeditor.cfc
===================================================================
--- FCKeditor/trunk/fckeditor.cfc	(revision 1038)
+++ FCKeditor/trunk/fckeditor.cfc	(revision 1039)
@@ -45,4 +45,6 @@
 --->
 
+<cfinclude template="fckutils.cfm">
+
 <cffunction
 	name="Create"
@@ -99,48 +101,5 @@
 		return true;
 
-	// check for Internet Explorer ( >= 5.5 )
-	if( find( "msie", sAgent ) and not find( "mac", sAgent ) and not find( "opera", sAgent ) )
-	{
-		// try to extract IE version
-		stResult = reFind( "msie ([5-9]\.[0-9])", sAgent, 1, true );
-		if( arrayLen( stResult.pos ) eq 2 )
-		{
-			// get IE Version
-			sBrowserVersion = mid( sAgent, stResult.pos[2], stResult.len[2] );
-			return ( sBrowserVersion GTE 5.5 );
-		}
-	}
-	// check for Gecko ( >= 20030210+ )
-	else if( find( "gecko/", sAgent ) )
-	{
-		// try to extract Gecko version date
-		stResult = reFind( "gecko/(200[3-9][0-1][0-9][0-3][0-9])", sAgent, 1, true );
-		if( arrayLen( stResult.pos ) eq 2 )
-		{
-			// get Gecko build (i18n date)
-			sBrowserVersion = mid( sAgent, stResult.pos[2], stResult.len[2] );
-			return ( sBrowserVersion GTE 20030210 );
-		}
-	}
-	else if( find( "opera/", sAgent ) )
-	{
-		// try to extract Opera version
-		stResult = reFind( "opera/([0-9]+\.[0-9]+)", sAgent, 1, true );
-		if( arrayLen( stResult.pos ) eq 2 )
-		{
-			return ( mid( sAgent, stResult.pos[2], stResult.len[2] ) gte 9.5);
-		}
-	}
-	else if( find( "applewebkit", sAgent ) )
-	{
-		// try to extract Gecko version date
-		stResult = reFind( "applewebkit/([0-9]+)", sAgent, 1, true );
-		if( arrayLen( stResult.pos ) eq 2 )
-		{
-			return ( mid( sAgent, stResult.pos[2], stResult.len[2] ) gte 522 );
-		}
-	}
-
-	return false;
+	return FCKeditor_IsCompatibleBrowser();
 	</cfscript>
 </cffunction>
Index: FCKeditor/trunk/fckeditor.cfm
===================================================================
--- FCKeditor/trunk/fckeditor.cfm	(revision 1038)
+++ FCKeditor/trunk/fckeditor.cfm	(revision 1039)
@@ -46,4 +46,5 @@
 <cfparam name="attributes.checkBrowser" type="boolean" default="true">
 <cfparam name="attributes.config" 		type="struct" default="#structNew()#">
+<cfinclude template="fckutils.cfm">
 
 <!--- ::
@@ -54,53 +55,5 @@
 if( attributes.checkBrowser )
 {
-	sAgent = lCase( cgi.HTTP_USER_AGENT );
-	isCompatibleBrowser = false;
-
-	// check for Internet Explorer ( >= 5.5 )
-	if( find( "msie", sAgent ) and not find( "mac", sAgent ) and not find( "opera", sAgent ) )
-	{
-		// try to extract IE version
-		stResult = reFind( "msie ([5-9]\.[0-9])", sAgent, 1, true );
-		if( arrayLen( stResult.pos ) eq 2 )
-		{
-			// get IE Version
-			sBrowserVersion = mid( sAgent, stResult.pos[2], stResult.len[2] );
-			if( sBrowserVersion GTE 5.5 )
-				isCompatibleBrowser = true;
-		}
-	}
-	// check for Gecko ( >= 20030210+ )
-	else if( find( "gecko/", sAgent ) )
-	{
-		// try to extract Gecko version date
-		stResult = reFind( "gecko/(200[3-9][0-1][0-9][0-3][0-9])", sAgent, 1, true );
-		if( arrayLen( stResult.pos ) eq 2 )
-		{
-			// get Gecko build (i18n date)
-			sBrowserVersion = mid( sAgent, stResult.pos[2], stResult.len[2] );
-			if( sBrowserVersion GTE 20030210 )
-				isCompatibleBrowser = true;
-		}
-	}
-	else if( find( "opera/", sAgent ) )
-	{
-		// try to extract Opera version
-		stResult = reFind( "opera/([0-9]+\.[0-9]+)", sAgent, 1, true );
-		if( arrayLen( stResult.pos ) eq 2 )
-		{
-			if ( mid( sAgent, stResult.pos[2], stResult.len[2] ) gte 9.5)
-				isCompatibleBrowser = true;
-		}
-	}
-	else if( find( "applewebkit", sAgent ) )
-	{
-		// try to extract Gecko version date
-		stResult = reFind( "applewebkit/([0-9]+)", sAgent, 1, true );
-		if( arrayLen( stResult.pos ) eq 2 )
-		{
-			if( mid( sAgent, stResult.pos[2], stResult.len[2] ) gte 522 )
-				isCompatibleBrowser = true;
-		}
-	}
+	isCompatibleBrowser = FCKeditor_IsCompatibleBrowser();
 }
 else
Index: FCKeditor/trunk/fckutils.cfm
===================================================================
--- FCKeditor/trunk/fckutils.cfm	(revision 1039)
+++ FCKeditor/trunk/fckutils.cfm	(revision 1039)
@@ -0,0 +1,55 @@
+<cfscript>
+function FCKeditor_IsCompatibleBrowser()
+{
+	sAgent = lCase( cgi.HTTP_USER_AGENT );
+	isCompatibleBrowser = false;
+
+	// check for Internet Explorer ( >= 5.5 )
+	if( find( "msie", sAgent ) and not find( "mac", sAgent ) and not find( "opera", sAgent ) )
+	{
+		// try to extract IE version
+		stResult = reFind( "msie ([5-9]\.[0-9])", sAgent, 1, true );
+		if( arrayLen( stResult.pos ) eq 2 )
+		{
+			// get IE Version
+			sBrowserVersion = mid( sAgent, stResult.pos[2], stResult.len[2] );
+			if( sBrowserVersion GTE 5.5 )
+				isCompatibleBrowser = true;
+		}
+	}
+	// check for Gecko ( >= 20030210+ )
+	else if( find( "gecko/", sAgent ) )
+	{
+		// try to extract Gecko version date
+		stResult = reFind( "gecko/(200[3-9][0-1][0-9][0-3][0-9])", sAgent, 1, true );
+		if( arrayLen( stResult.pos ) eq 2 )
+		{
+			// get Gecko build (i18n date)
+			sBrowserVersion = mid( sAgent, stResult.pos[2], stResult.len[2] );
+			if( sBrowserVersion GTE 20030210 )
+				isCompatibleBrowser = true;
+		}
+	}
+	else if( find( "opera/", sAgent ) )
+	{
+		// try to extract Opera version
+		stResult = reFind( "opera/([0-9]+\.[0-9]+)", sAgent, 1, true );
+		if( arrayLen( stResult.pos ) eq 2 )
+		{
+			if ( mid( sAgent, stResult.pos[2], stResult.len[2] ) gte 9.5)
+				isCompatibleBrowser = true;
+		}
+	}
+	else if( find( "applewebkit", sAgent ) )
+	{
+		// try to extract Gecko version date
+		stResult = reFind( "applewebkit/([0-9]+)", sAgent, 1, true );
+		if( arrayLen( stResult.pos ) eq 2 )
+		{
+			if( mid( sAgent, stResult.pos[2], stResult.len[2] ) gte 522 )
+				isCompatibleBrowser = true;
+		}
+	}
+	return isCompatibleBrowser;
+}
+</cfscript>
