/**
*
*/
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';
}
}