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;
		if(!MLP.FileSelector.inited) {
			MLP.FileSelector.FS = document.createElement("DIV");
			var s = MLP.FileSelector.FS.style;
			s.position = "absolute"; s.zIndex = "6000"; 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
		{
			var 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() {
		overlay_hide();
		if (MLP.FileSelector.FS)
			MLP.FileSelector.FS.style.display = "none";
		MLP.FileSelector.fs_type = 0; 
		MLP.FileSelector.call_back = function() { };
	},
	
	load : function(type, group, from) {
		waitDiv_show();
		MLP.FileSelector.fs_group = group;
		new Ajax.Request("/home/file_selector/"+type+"/?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)
			; //alert('! Отладка : файл не выбран');
		else
			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.length - 3, 3)

		if(MLP.FileSelector.fs_type == 33) { // audio
			var 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");
			//mlp_put_html_by_id(fs_attr(r,"file") + "?file_autoplay_button=on&width=96%", "fs_view")
			$("fs_view").innerHTML="Loading player...";
		}
		else {
			var w = fs_attr(r,"img_w"), h = fs_attr(r,"img_h");
			c = "<img id='img_fs_view' width='"+w+"px' height='"+h+"px' src='"+fs_attr(r,"img")+"' border='0'>";
			if(MLP.FileSelector.fs_type == 32) // video
			{
				var url = MLP.ControlPanel.url() + '/ajax/get_media_file/video/';
				c = "<a href='javascript:mlp_put_html_by_id(\""+url+"?get_media_file=do&userid=0&fileid="+id+"&filetype=3\",\"fs_view\",\"img_fs_view\")'>"+c+"</a>";
				//c = "<a href='javascript:mlp_put_html_by_id(\""+fs_attr(r,"file")+"?file_autoplay_flv=on&width="+w+"&height="+h+"\",\"fs_view\")'>" + c + "</a>"
			}
			$("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'
	}
}
