/** * */ MLP.FileSelector = { inited : 0, callback : function() { }, fs_type : 0, fs_cur : 0, fs_group : 0, fs_cur_name : "", editor_id : null, FS : null, /** * */ init: function(type, callback, tinyMCE_editor_id) { MLP.FileSelector.fs_cur_name = ''; MLP.FileSelector.callback = callback; var s; if ( !MLP.FileSelector.inited ) { MLP.FileSelector.FS = document.createElement("DIV"); s = MLP.FileSelector.FS.style; s.position = "absolute"; s.zIndex = "10100"; MLP.FileSelector.FS.className = "mlp_window"; var B = document.getElementsByTagName("body").item(0); B.insertBefore(MLP.FileSelector.FS, B.firstChild); MLP.FileSelector.inited = 1; } else { s = MLP.FileSelector.FS.style; } var v = (type > 40) ? 400 : 900; s.width = v + "px"; if ( s.display != "block" ) { var wp = getWindowParams(self); s.left = (wp.width - v)/2 + "px"; s.top = (wp.top + 40) + "px"; if ( MLP.FileSelector.fs_type != type ) { MLP.FileSelector.load(type); } else { MLP.FileSelector.show(); } } else { MLP.FileSelector.hide(); } MLP.FileSelector.fs_type = type; MLP.FileSelector.editor_id = tinyMCE_editor_id || null; }, /** * */ show: function() { overlay_show(MLP.FileSelector.hide); MLP.FileSelector.FS.style.display = "block"; }, /** * */ hide: function() { if(!$('popup_window').visible()) overlay_hide(); if (MLP.FileSelector.FS) { MLP.FileSelector.FS.style.display = "none"; } MLP.FileSelector.fs_type = 0; MLP.FileSelector.callback = function() { }; }, /** * */ load: function(type, group, from) { waitDiv_show(); MLP.FileSelector.fs_group = group; new Ajax.Request( "/ajax/file_selector/?file_selector="+type + (group ? "&group="+group : "") + (from ? "&from="+from : ""), { onComplete: MLP.FileSelector.load_complete } ); }, /** * */ load_complete: function(response) { MLP.FileSelector.FS.innerHTML = response.responseText; waitDiv_hide(); MLP.FileSelector.show(); }, /** * */ over_item: function(id) { var r = $("fs_tr_"+id); if ( r.className.indexOf(" LineOver") == -1 ) { r.className = r.className + " LineOver"; } }, /** * */ out_of_item: function(id) { var r = $("fs_tr_"+id); if ( r.className.indexOf(" LineOver") != -1 ) { r.className = r.className.replace(" LineOver", ""); } }, /** * */ select_item: function(id) { id = id || MLP.FileSelector.fs_cur_name; if ( id ) { MLP.FileSelector.callback(MLP.FileSelector.fs_type, id); } MLP.FileSelector.hide(); }, /** * */ highlight_item: function(id, name) { var r = $("fs_tr_"+id), c; if ( MLP.FileSelector.fs_cur && (c = $("fs_tr_"+MLP.FileSelector.fs_cur)) ) { c.style.fontWeight = ""; } r.style.fontWeight = "bold"; MLP.FileSelector.fs_cur = id; MLP.FileSelector.fs_cur_name = name; $("fs_name").innerHTML = name.length > 24 ? name.substr(0, 23) + "..." : name; $("fs_date").innerHTML = r.cells[2].innerHTML; $("fs_size").innerHTML = r.cells[1].innerHTML; $("fs_format").innerHTML = name.substr( name.lastIndexOf('.') + 1 ).toUpperCase(); var url; if ( MLP.FileSelector.fs_type == 33 ) { // audio url = MLP.ControlPanel.url() + '/ajax/get_media_file/audio/'; mlp_put_html_by_id(url+'?get_media_file=do&userid=0&fileid='+id+'&filetype=1', "fs_view"); $("fs_view").innerHTML = "Loading player..."; } else { var w = fs_attr(r,"img_w"), h = fs_attr(r,"img_h"); c = ""; if ( MLP.FileSelector.fs_type == 32 ) { // video url = MLP.ControlPanel.url() + '/ajax/get_media_file/video/'; c = ""+c+""; } $("fs_view").innerHTML = c; } } }; function fs_open(type, callback, tinyMCE_editor_id) { MLP.FileSelector.init(type, callback, tinyMCE_editor_id); } function fs_hide() { MLP.FileSelector.hide(); } function fs_show() { MLP.FileSelector.show(); } function fs_load(type, group, from) { MLP.FileSelector.load(type, group, from); } function fs_sel(id) { MLP.FileSelector.select_item(id); } function fs_row_over(id) { MLP.FileSelector.over_item(id); } function fs_row_out(id) { MLP.FileSelector.out_of_item(id); } function fs_attr(b, n) { return b[n] ? b[n] : b.attributes.getNamedItem(n).value; } function fs_row_sel(id, name) { MLP.FileSelector.highlight_item(id, name); } function fs_change_elements(i, prefix) { if ( i == 1 ) { $('select_folder_w').style.display = 'none'; $('create_folder_w').style.display = 'block'; $('add_entry_create_folder').value = 1; } else { $('select_folder_w').style.display = 'block'; $('create_folder_w').style.display = 'none'; $('add_entry_create_folder').value = 0; } } function fs_change_file_source(i, prefix) { if ( i == 1 ) { $( prefix + 'from_net').value = 0; $( prefix + 'load_div').style.display = 'block'; $( prefix + 'link_div').style.display = 'none'; $( prefix + 'load_div_title').style.display = 'block'; $( prefix + 'link_div_title').style.display = 'none'; } else { $( prefix + 'from_net').value = 1; $( prefix + 'load_div').style.display = 'none'; $( prefix + 'link_div').style.display = 'block'; $( prefix + 'load_div_title').style.display = 'none'; $( prefix + 'link_div_title').style.display = 'block'; } }