var avengerEnabledToogleVisiblity = true;
var avengerEnabledToogleVisiblityID;
var avengerSubmitButtons = new Object();
var avengerSubmitButtonsActions = new Array();
var avengerIDContainer;
var CKEDITOR_BASEPATH = '/backoffice/ckeditor/';

function toogleVisibility(id)
{
	if(avengerEnabledToogleVisiblity)
	{
		if(jQuery('#avenger-toolboxcontent-' + id).css("display") == "none")
		{
			if(jQuery('#avenger-container-content-' + id).height() < 70)
				jQuery('#avenger-toolboxcontent-' + id).css("margin-top", "5px");
			
			jQuery('#avenger-toolboxcontent-' + id).css("display", "block");
		}
		else
		{
			jQuery('#avenger-toolboxcontent-' + id).css("display", "none");
		}
		
		avengerEnabledToogleVisiblityID = id;
	}
}

function avengerDeleteContentContainer()
{
	jQuery.ajax({'type':'GET','url':'/index.php?r=site/widget&name=AvengerContainer&action=deleteContainerContent&proceed=true&IDContainerContent=' + IDContainerContent,'cache':false,'success':function(html){jQuery("#avenger-container-" + avengerIDContainer).html(html)}})
	avengerWindowClose("", "");
}

function avengerSetCurrentContainer(IDContainer)
{
	avengerIDContainer = IDContainer;
}

function avengerWindowOpen(url, title, width, height, buttons)
{
	if(width == 0)
		width = jQuery(window).width() - 100;
	
	if(height == 0)
		height = jQuery(window).height() - 100;
	
	jQuery('#avenger-dialog').dialog('destroy');
	jQuery('#avenger-dialog').dialog({	'title':title,
										'autoOpen':true,
										'modal':true,
										'draggable':false,
										'resizable':false,
										'width': width,
										'height': height,
										'close': avengerWindowClose,
										'buttons': buttons
									});
	
	jQuery.ajax({'url':url,'cache':false,'success':function(html){jQuery("#avenger-main-content").html('<div>' + html + '</div>')}});
	
	/*jQuery('<div />', {  
		id: 'avenger-window' 
	}).appendTo('body');
	
	jQuery('<div />', {
		id: 'avenger-window-shadow' 
	}).appendTo('body');
	
	jQuery.ajax({'url':url,'cache':false,'success':function(html){jQuery("#avenger-window").html('<div><a href="javascript:avengerWindowClose(\'\', \'\');">close</a><a href="javascript:removeEditor()">Remove</a>' + html + '</div>')}});*/
}

function avengerAjax(url, update)
{
	jQuery.ajax({'type':'GET','url':url,'cache':false,'success':function(html){jQuery("#" + update).html(html)}});
}

function avengerPreview(isPreview)
{
	jQuery.ajax({'type':'GET','url':'/index.php?r=site/blank&preview=' + isPreview,'cache':false,'success':function(html){window.location.reload()}});
}

function avengerRegisterSubmitButtonID(name, dialog, label)
{
	avengerSubmitButtons[label] = avengerPostForm;
	avengerSubmitButtonsActions[label] = name;
	
	jQuery(dialog).dialog('option', 'buttons', avengerSubmitButtons);
}

function avengerClearDialogButtons(dialog)
{
	avengerSubmitButtons = new Object();
	avengerSubmitButtonsActions = new Object();
	jQuery(dialog).dialog('option', 'buttons', avengerSubmitButtons);
}

function avengerPostForm(event)
{
	label = document.createElement('div');
	label.innerHTML = event.target.innerHTML;
	
	if(label.childNodes[0].innerHTML == undefined)
		jQuery(avengerSubmitButtonsActions[event.target.innerHTML]).click();
	else
		jQuery(avengerSubmitButtonsActions[label.childNodes[0].innerHTML]).click();	
}

function avengerUpdateModulePanel(name, close, updateAllPage)
{
	url = "/index.php?r=site/widget&name=AvengerTools&action=updateModuleRecords&className=" + name;
	update = "avenger-toolbar-module-" + name;
	
	if(close)
	{	
		jQuery.ajax({'type':'GET','url':url,'updateID':update,'cache':false,'success':function(html){jQuery("#" + this.updateID).html(html);avengerWindowClose("", "");}});
	}
	else
	{
		jQuery.ajax({'type':'GET','url':url,'updateID':update,'cache':false,'success':function(html){jQuery("#" + this.updateID).html(html);}});
	}
	
	if(updateAllPage)
	{
		avengerUpdateAllPage();
	}
}

function avengerUpdatePublication(data ,IDContainer, className)
{
	jQuery.ajax({'type':'POST','url':'/index.php?r=site/widget&name=AvengerContainer&action=updatePublication&IDContainer=' + IDContainer,'cache':false,'data':data,'success':function(html){jQuery("#avenger-container-" + IDContainer).html(html);avengerUpdateModulePanel(className, false, true);}});
}

function avengerUpdateAllPage(test)
{
	jQuery.ajax({'type':'GET','url':'/index.php?r=site/content','cache':false,'success':function(html){jQuery("#avenger-page").html(html);}});
}

function avengerWindowClose(event, ui)
{
	avengerSubmitButtons = new Object();
	
	jQuery('#avenger-dialog').dialog('option', 'buttons', avengerSubmitButtons);
	jQuery('#avenger-dialog').dialog('destroy');
	jQuery("#avenger-main-content").html('');
}

function onContainerSort(event, ui)
{
	newOrder = jQuery("#" + this.id).sortable('toArray');
	
	jQuery("#containersOrder").val(newOrder);
}

function toogleToolBarVisbility(a, b)
{
	if(avengerEnabledToogleVisiblity)
		avengerEnabledToogleVisiblity = false;
	else
	{
		avengerEnabledToogleVisiblity = true;
		toogleVisibility(avengerEnabledToogleVisiblityID);
	}
}

function toogleBusyIndicator()
{
	if(jQuery('#avenger-busy-indicator img').attr("src") == "/backoffice/images/loader-off.gif"){
		jQuery('#avenger-busy-indicator img').attr("src", "/backoffice/images/loader.gif");
	}else{
		jQuery('#avenger-busy-indicator img').attr("src", "/backoffice/images/loader-off.gif");
	}
}

function avengerRefreshMenu(id)
{
	jQuery.ajax({'type':'GET','url':'/index.php?r=site/widget&name=AvengerMenu&IDPageRoot=' + id + '&view=' + jQuery("#avenger-menu-" + id).attr('currentview'),'cache':false,'success':function(html){jQuery("#avenger-menu-" + id).html(html)}});
}

function avengerToogleModuleSearch(id)
{
	jQuery("#avenger-module-search-" + id + "-content").slideToggle(500);
	
	if(jQuery("#avenger-module-search-" + id + "-arrow").attr("src") == "/backoffice/images/next.gif")
		jQuery("#avenger-module-search-" + id + "-arrow").attr("src", "/backoffice/images/down.gif");
	else
		jQuery("#avenger-module-search-" + id + "-arrow").attr("src", "/backoffice/images/next.gif");
	
	if(jQuery("#avenger-module-search-" + id).css("margin-top") == "-53px")
		marginTop = 14;
	else
		marginTop = -53;
	
	jQuery("#avenger-module-search-" + id).animate({ 
		marginTop: marginTop
	}, 500 );
}

function avengerSetWindowTitle(title)
{
	jQuery("#ui-dialog-title-avenger-dialog").html(title);
}

function avengerSearch(className)
{
	id = '#avenger-search-' + className;
	cat = '#avenger-category-' + className;
	destination = '#avenger-toolbar-module-' + className;
	 
	$.ajax({
		type:'POST',
		url:"/index.php?r=site/widget&name=AvengerTools&action=search",
		data:({
			'value':$(id).val(),
			'cat':$(cat).val(),
			'class' : className
		}), 
		success: function(html) { 
			$(destination).html(html); 
		}
	});
}

jQuery(document).ajaxStart(toogleBusyIndicator);
jQuery(document).ajaxStop(toogleBusyIndicator);

jQuery(document).ready(function() {
	jQuery('#avenger-toolbar').draggable({
		cursor: 'move',
		stop: function(event, ui) { 
			top = $("#avenger-toolbar").css("top");
			left = $("#avenger-toolbar").css("left");
			$.ajax({type: 'GET', url:"/index.php?r=site/widget&name=AvengerTools&action=updatePosition&top=" +  top + "&left=" + left});
		}
	});
});

$(document).keydown(function(e) {
	if(e.altKey && e.ctrlKey && e.which == "65")
		avengerWindowOpen('/backoffice/index.php?r=site/login', 'Veuillez vous identifier', 400, 190);
});
