He.IncludeJavascript('/He/Components/GenDialog/clientside.js');
He.Bootstrap('He.Components.MediaManager');

He.Components.MediaManager.mediaIdFromLibrary = null;

He.Components.MediaManager.Open = function(_title,_msg,_ok_label,_cancel_label,_ok_cb,_cancel_cb)
{
	if(He.Components.AlertDialog.modal)
	{
		He.Components.AlertDialog.Close();
	}

	_ok_label = _ok_label ? _ok_label : 'Ok';
	_cancel_label = _cancel_label ? _cancel_label : 'Cancel';

	He.Framework.Ajax.Request(
		'/He/Components/MediaManager/ajax.php',
		'action=media',
		function(xhr)
		{
			var win = He.Components.GenDialog.DoModal((_title), xhr.responseText,{width:670, height:400});
			He.Components.MediaManager.modal = win;
			win.MediaManagerCbs = { onOk:_ok_cb, onCancel:_cancel_cb };
		}
	);
}

He.Components.MediaManager.Close = function()
{
	var win = He.Components.MediaManager.modal;
	He.Components.MediaManager.modal = null;
	new Effect.Opacity(win.getId(),{duration:0.3, from:1.0, to:0.0});
	setTimeout(function(){win.close();},700);
}

He.Components.MediaManager.onOk = function(id)
{
	He.Components.MediaManager.mediaIdFromLibrary = id;
	var onOk = He.Components.MediaManager.modal.MediaManagerCbs.onOk;
	He.Components.MediaManager.Close();
	if(typeof(onOk) == 'function')
	{
		onOk(id);
	}
}

He.Components.MediaManager.onCancel = function()
{
	var onCancel = He.Components.MediaManager.modal.MediaManagerCbs.onCancel;
	He.Components.MediaManager.Close();
	if(typeof(onCancel) == 'function')
	{
		onCancel();
	}
}

/**/

He.Components.MediaManager.chooseType = function(type)
{
	He.Components.MultiPage.start = {};
	He.Components.MultiPage.max = {}

	He.Framework.Ajax.Update(
				'displayCategories',
				'/He/Components/MediaManager/ajax.php',
				'action=step1&media_type='+ type
	);
	var types = new Array('photo', 'video', 'document', 'composition');
	for(i = 0; i < types.length;  i++)
	{
		var id=types[i] + '_type';
		if(types[i] == type)
		{
			var className='active'+types[i];
			var className0='cat'+types[i];
			if(Element.hasClassName(id, className0))
			{
				$(id).removeClassName(className0);
				$(id).addClassName(className);
			}
		}
		else
		{
			var className0='active'+types[i];
			var className='cat'+types[i];
			if(Element.hasClassName(id, className0))
			{
				$(id).removeClassName(className0);
				$(id).addClassName(className);
			}
		}
	}
	$('displayInfosCategory').update('<fieldset class="empty" id="displayFiles"><p class="step2">' + _T('Step2') + '<br />' + _T ('Choose a category') + '</p>');
}

He.Components.MediaManager.showCat = function(category, type, index)
{
	$('chooseItem').show();
	if($('step4')) $('step4').hide();
	$('step3').show();
	He.Framework.Ajax.Update(
				'displayFiles',
				'/He/Components/MediaManager/ajax.php',
				'action=step2&category='+ category + '&media_type='+ type + '&index='+ index
	);
}

He.Components.MediaManager.addLink = function(id, title)
{
	$('step3').hide();
	$('step4').show();
	$('step4').update('<strong>' + _T('File') + ': ' + title +'</strong><a href="javascript:void(0);" id="mediaLink" class="button"><span>' + _T('Add') + '</span></a>');
	$('mediaLink').writeAttribute("onclick", "He.Components.MediaManager.onOk("+ id + ")");
}


