function preinit()
{
// Initialize
tinyMCE.setWindowArg('mce_windowresize', false);
}
function init()
{
if (tinyMCE.isMSIE) {
tinyMCEPopup.resizeToInnerSize();
} else {
tinyMCEPopup.resizeToContent();
}
window.focus();
loadCategories(null);
}
function insertAction()
{
var inst = tinyMCE.getInstanceById( tinyMCE.getWindowArg( 'editor_id' ) );
var elm = inst.getFocusElement();
elm = tinyMCE.getParentElement( elm, "a" );
tinyMCEPopup.execCommand( "mceBeginUndoLevel" );
// Create new anchor elements
if ( elm == null )
{
var form = document.forms['elemlist'];
var sel_option = form.nodelist.options[form.nodelist.selectedIndex];
if ( sel_option == null )
return;
var insertText = '';
var nid = sel_option.value;
if ( inst.selection.getSelectedText().length == 0)
{
insertText = sel_option.text;
tinyMCEPopup.execCommand( "mceInsertContent", false, '' + insertText + '' );
} else
{
if ( tinyMCE.isSafari )
tinyMCEPopup.execCommand( "mceInsertContent", false, '' + inst.selection.getSelectedHTML() + '' );
else
tinyMCEPopup.execCommand( "createlink", false, '' + nid );
var elementArray = tinyMCE.getElementsByAttributeValue( inst.getBody(), "a", "href", '' + nid );
for ( var i=0; i -1) {
url = url.substring(0, url.indexOf('sites/'));
}
url = url + 'ltc/linktonode';
alert("tinyMCE.baseURL: " + tinyMCE.baseURL + "\nrequestURL: " + url);
// native XMLHttpRequest object
if (window.XMLHttpRequest)
{
req = new XMLHttpRequest();
alert("XMLHttpRequest: " + req);
req.onreadystatechange = function() {requestDone( obj );};
var reqStr = '/';
if ( catId != vId )
reqStr += vId + '/';
reqStr += catId;
alert("send request: " + url + reqStr);
req.open( "GET", url + reqStr, true );
req.send( null );
} else {
alert("XMLHttpRequest not supported!");
}
statusImg( false );
}
function requestDone( obj )
{
alert("request state: " + req.readyState);
switch( req.readyState )
{
case 1:
case 2:
case 3:
statusImg( true );
break;
case 4: // only if req is "loaded"
alert("request status: " + req.status)
// only if "OK"
if (req.status == 200)
{
alert(req.responseText);
results = parseJson(req.responseText);
if ( obj == null )
{
// create first select
createSelect( false, results );
} else
{
// create child select
var selected = obj.value
var div_sel = obj.parentNode;
_removeDescendant( div_sel );
if ( selected == -1 )
return;
if ( div_sel.nodeName != 'DIV' )
{
alert( 'wrong DOM!' );
return;
}
createSelect( div_sel, results );
}
listNodes( results );
} else
{
alert(req.statusText);
}
statusImg( false );
default:
} // switch
}
/**
* creates a new select element
**/
function createSelect( parent, results )
{
var form = document.getElementById( 'form_browse' );
if ( !form )
{
alert( 'Error: form_browse not found!' );
return;
}
var elemname;
if ( parent == false )
elemname = 'browse_sel_-1';
else
elemname = parent.id;
var level = parseInt(elemname.substring( elemname.lastIndexOf( "_" )+1, elemname.length ) ) + 1;
var elemBase = elemname.substring( 0, elemname.lastIndexOf( "_" )+1 );
if ( results == null || results.category == null || results.category == false )
return;
var sel_div = document.createElement( 'div' );
var attrs = new Array();
attrs['name'] = elemBase + level;
attrs['id'] = attrs['name'];
attrs['style'] = 'display: block; margin: 1px 0; padding: 0; border: 0;';
for ( attrName in attrs )
sel_div.setAttribute( attrName, attrs[attrName] );
form.insertBefore( sel_div, document.getElementById( 'dummy' ) );
/* create