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; }