nl_tokens: Internal functions
pl_tokens: function ( s , tb , o , p ) { var t = this , ed = t . editor , lo = s . theme_advanced_toolbar_location , sl = s . theme_advanced_statusbar_location , n , ic , etb , c ; if ( s . readonly ) { n = DOM . add ( tb , 'tr' ) ; n = ic = DOM . add ( n , 'td' , { 'class' : 'mceIframeContainer' } ) ; return ic ; } // Create toolbar container at top
   if ( lo == 'top' ) t . _addToolbars ( tb , o ) ; // Create external toolbar
   if ( lo == 'external' ) { n = c = DOM . create ( 'div' , { style : 'position:relative' } ) ; n = DOM . add ( n , 'div' , { id : ed . <mask> + '_external' , 'class' : 'mceExternalToolbar' } ) ; DOM . add ( n , 'a' , { id : ed . id + '_external_close' , href : 'javascript:;' , 'class' : 'mceExternalClose' } ) ; n = DOM . add ( n , 'table' , { id : ed . id + '_tblext' , cellSpacing : 0 , cellPadding : 0 } ) ; etb = DOM . add ( n , 'tbody' ) ; if ( p . firstChild . className == 'mceOldBoxModel' ) p . firstChild . appendChild ( c ) ; else p . insertBefore ( c , p . firstChild ) ; t . _addToolbars ( etb , o ) ; ed . onMouseUp . add ( function ( ) { var e = DOM . get ( ed . id + '_external' ) ; DOM . show ( e ) ; DOM . hide ( lastExtID ) ; var f = Event . add ( ed . id + '_external_close' , 'click' , function ( ) { DOM . hide ( ed . id + '_external' ) ; Event . remove ( ed . id + '_external_close' , 'click' , f ) ; return false ; } ) ; DOM . show ( e ) ; DOM . setStyle ( e , 'top' , 0 - DOM . getRect ( ed . id + '_tblext' ) . h - 1 ) ; // Fixes IE rendering bug
   DOM . hide ( e ) ; DOM . show ( e ) ; e . style . filter = '' ; lastExtID = ed . id + '_external' ; e = null ; } ) ; } if ( sl == 'top' ) t . _addStatusBar ( tb , o ) ; // Create iframe container
   if ( ! s . theme_advanced_toolbar_container ) { n = DOM . add ( tb , 'tr' ) ; n = ic = DOM . add ( n , 'td' , { 'class' : 'mceIframeContainer' } ) ; } // Create toolbar container at bottom
   if ( lo == 'bottom' ) t . _addToolbars ( tb , o ) ; if ( sl == 'bottom' ) t . _addStatusBar ( tb , o ) ; return ic ; }