// $Id: functions.js,v 1.1.4.2 2008/12/05 10:59:28 wwalc Exp $
function preinit() {
// Initialize
tinyMCE.setWindowArg('mce_windowresize', false);
}
function init() {
window.focus();
loadCategories(null);
}
/**
* loadCategories()
* @param obj parent Object
**/
function loadCategories(obj) {
var params = '';
var mid = '0';
var top = 75;
var objTop;
if (obj != null) {
mid = $(obj).get(0).value;
try
{
objTop = $(obj).attr('id').match(/_(\d+)_sel/);
top += (objTop[1] * 17);
}
catch (e) {
top += 0;
}
}
params = 'ltc-type=linktocontent_menu<c-menu-id=' + mid;
$('#statusImg').css({top: top + 'px'}).show();
$.ajax({
type: "POST",
url: _getBaseHref() + 'index.php?q=linktocontent',
data: params,
error: function(xml, msg, exc) {
$('#statusImg').hide();
alert('Error: ' + msg + '\n' + xml.responseText);
},
success: function(data){
try {
var results = eval('(' + data + ');');
_clearNodeList();
if ((obj == null) || ($(obj).get(0).value > -1)) {
if (_fillDropdown(obj, results)) {
window.resizeBy(0, 17);
}
}
_fillNodelist(results);
}
catch (e) {
alert('Error on retrieving data from module.\n' + e.name + '\n' + e.message);
}
finally {
$('#statusImg').hide();
}
}});
}
function insertAction() {
if (selectedNode == null) {
return;
}
var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
var elm = inst.getFocusElement();
elm = tinyMCE.getParentElement(elm, "a");
tinyMCEPopup.execCommand("mceBeginUndoLevel");
// Create new anchor elements
var path = selectedNode.cells[0].firstChild.nodeValue;
if (elm == null) {
var insertText = selectedNode.cells[1].firstChild.nodeValue;
if (inst.selection.getSelectedText().length == 0) {
tinyMCEPopup.execCommand("mceInsertContent", false,
'' + insertText + '');
}
else {
tinyMCEPopup.execCommand("mceInsertContent", false,
'' + inst.selection.getSelectedHTML() + '');
} // end (getSelectedText == 0)
}
else {
elm.setAttribute("mce_href", path);
// Refresh in old MSIE
if (tinyMCE.isMSIE5)
elm.outerHTML = elm.outerHTML;
}
tinyMCE._setEventsEnabled(inst.getBody(), false);
tinyMCEPopup.execCommand("mceEndUndoLevel");
tinyMCEPopup.close();
}
function loadScript(url) {
$('head', document).append('');
}
/**
* returns the base drupal path
* @access public
**/
function _getBaseHref() {
var url = baseUrl.substring(0, baseUrl.indexOf('modules/'));
if (url.indexOf('sites/') > -1)
url = url.substring(0, url.indexOf('sites/'));
return url;
}
// dropdown functions
/**
*
* @access public
* @return void
**/
function _createDropdown(obj){
var dropdown;
var elemname = '';
if (obj == null) {
elemname = 'browse_sel_-1';
}
else {
elemname = $(obj).parent().attr('id');
_removeDescendant($(obj));
}
var level = parseInt(elemname.substring(elemname.lastIndexOf("_") + 1, elemname.length)) + 1;
var elemBase = elemname.substring(0, elemname.lastIndexOf("_") + 1);
// create surrounding
var sel_div = $('
');
$(sel_div).attr('name', elemBase + level);
$(sel_div).attr('id', elemBase + level);
$(sel_div).attr('style', 'display: block; margin: 1px 0; padding: 0; border: 0;');
// create