var canSelectTag = false; var canSelectFolder = false; var lbl_Unlink = "Unlink"; function on_UserLogout(){ top.location.replace( '/' ); } function allowSelectPath() { canSelectFolder = true; canSelectTag = false; } function allowSelectTag() { canSelectFolder = false; canSelectTag = true; } function articleAppEventProcessor( ev ) { switch( ev.type ) { case "changeTag" : updateTag( ev.id, ev.name, ev.description ); reloadPaths(); break; case "selectTag" : if( canSelectTag ) { addTagToList( ev ); reloadPaths(); } break; case "removeTag" : reloadPaths(); break; case "selectFolder" : if( canSelectFolder ) { addFolder( ev ); reloadPaths(); } break; case "documentLoaded" : break; case "mainboxChangeWidth" : /* **** Так мы получаем идентификатор iframe соответствующего экземпляра tinyMCE var xxx = tinyMCE.getInstanceById("annotation"); xxxx = xxx.editorId; xxx = document.getElementById( xxxx ); */ break; } } // function articleAppEventProcessor() function reloadPaths() { var div = document.getElementById( "form_article_path_tags" ); var html = ''; for( var i in present_tags ) { html += ''; } div.innerHTML = html; var f = document.form_article_path; f.submit(); } // function reloadPaths() function drawPaths( paths ) { present_paths = paths; var div = document.getElementById( "paths" ); var html = drawPath( paths, 0 ); div.innerHTML = html; if( div.onchange ) { div.onchange(); } } // function drawPaths() function drawPath( paths ) { var html = ""; for( var i in paths ) { html += '
'; html += '' + paths[i].name + ''; if( !paths[i].leaf ) { html += '
'; html += drawPath( paths[i].childs ); html += '
'; } html += '
'; } return html; } // function drawPath() function addFolder( ev ) { if( ev.id != -1 ) { var tags = ev.tags; for( i in tags ) { addTagToList( tags[i] ); } } // if( ev.id != -1 ) } // function addFolder() function updateTag( id, name, description ) { var div = document.getElementById( "tag_l_" + id + "_name" ); if( div != undefined ) { div.innerHTML = name; } } function unlinkTag( id ) { var pt = eval( "present_tags.id_" + id ); if( pt != null ) { eval( "delete present_tags.id_" + id ); var el = document.getElementById( "tag_l_" + id ).parentNode; var p = el.parentNode; p.removeChild( el ); dispatchAppEvent( { type : "removeTag", id : id } ); } } function addTagToList( tag, nobuttons ) { var tag_already_present = eval( "present_tags.id_" + tag.id ); if( tag_already_present == null ) { eval( "present_tags.id_" + tag.id + " = tag" ); var el = document.createElement( "DIV" ); var html = ''; html += '
'; if( "undefined" == typeof( nobuttons ) || !nobuttons ) { html += ''; html += ''; } html += ''; html += tag.name; html += ''; html += '
'; el.innerHTML = html; document.getElementById( "tags" ).appendChild( el ); } // if( tag_already_present == null ) } // function addTagToList() top.registerAppEventProcessor( self, "articleAppEventProcessor" ); var present_tags = new Object(); var present_paths = new Object();