/*
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
* Copyright (C) 2003-2009 Frederico Caldeira Knabben
*
* == BEGIN LICENSE ==
*
* Licensed under the terms of any of the following licenses at your
* choice:
*
* - GNU General Public License Version 2 or later (the "GPL")
* http://www.gnu.org/licenses/gpl.html
*
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
* http://www.gnu.org/licenses/lgpl.html
*
* - Mozilla Public License Version 1.1 or later (the "MPL")
* http://www.mozilla.org/MPL/MPL-1.1.html
*
* == END LICENSE ==
*
* Utility functions.
*/
var FCKTools = new Object() ;
FCKTools.CreateBogusBR = function( targetDocument )
{
var eBR = targetDocument.createElement( 'br' ) ;
// eBR.setAttribute( '_moz_editor_bogus_node', 'TRUE' ) ;
eBR.setAttribute( 'type', '_moz' ) ;
return eBR ;
}
/**
* Fixes relative URL entries defined inside CSS styles by appending a prefix
* to them.
* @param (String) cssStyles The CSS styles definition possibly containing url()
* paths.
* @param (String) urlFixPrefix The prefix to append to relative URLs.
*/
FCKTools.FixCssUrls = function( urlFixPrefix, cssStyles )
{
if ( !urlFixPrefix || urlFixPrefix.length == 0 )
return cssStyles ;
return cssStyles.replace( /url\s*\(([\s'"]*)(.*?)([\s"']*)\)/g, function( match, opener, path, closer )
{
if ( /^\/|^\w?:/.test( path ) )
return match ;
else
return 'url(' + opener + urlFixPrefix + path + closer + ')' ;
} ) ;
}
FCKTools._GetUrlFixedCss = function( cssStyles, urlFixPrefix )
{
var match = cssStyles.match( /^([^|]+)\|([\s\S]*)/ ) ;
if ( match )
return FCKTools.FixCssUrls( match[1], match[2] ) ;
else
return cssStyles ;
}
/**
* Appends a or