var avengerEnabledToogleVisiblity = true;
var avengerEnabledToogleVisiblityID;
var avengerSubmitButtons = new Object();
var avengerSubmitButtonsActions = new Array();
var avengerIDContainer;
var avengerIsQuickEdit = false;
var CKEDITOR_BASEPATH = '/backoffice/ckeditor/';

function toogleVisibility(id)
{
	if(!avengerIsQuickEdit)
	{
		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");
				jQuery('#avenger-container-content-' + id).addClass("avenger-content-over");
				
				if(!jQuery('#avenger-container-content-' + id).hasClass("avenger-content-notpublished"))
					jQuery('#avenger-container-content-' + id).removeClass("avenger-content-nostyle");
				
			}
			else
			{
				jQuery('#avenger-toolboxcontent-' + id).css("display", "none");
				jQuery('#avenger-container-content-' + id).removeClass("avenger-content-over");
				jQuery('#avenger-container-content-' + id).addClass("avenger-content-nostyle");
			}
			
			avengerEnabledToogleVisiblityID = id;
		}
	}
}

function avengerDeleteContentContainer()
{
	jQuery.ajax({'type':'GET','url':'/index.php?r=site/deleteContainerContent&proceed=true&IDContainerContent=' + IDContainerContent,'cache':false,'success':function(html){jQuery("#avenger-container-" + avengerIDContainer).html(html)}})
	avengerWindowClose("", "");
}

function avengerSetCurrentContainer(IDContainer)
{
	avengerIDContainer = IDContainer;
}

var isWindowOpening = false;
function avengerWindowOpen(url, title, width, height, buttons)
{
	if(!isWindowOpening)
	{
		isWindowOpening = true;
		
		if(width == 0)
			width = jQuery(window).width() - 200;
		
		if(height == 0)
			height = jQuery(window).height() - 200;
		
		jQuery('<div />', {  
			id: 'avenger-window',
			style: 'width:' + width + 'px;height:' + height + 'px;margin-left:-' + width / 2 + 'px;margin-top:-' + height / 2 + 'px;'
		}).appendTo('body');
		
		jQuery('<div />', {
			id: 'avenger-window-shadow' 
		}).appendTo('body');
		
		jQuery.ajax({'url':url + "&windowWidth=" + width + "&windowHeight=" + height,'cache':false,'success':function(html){jQuery("#avenger-window").html(html);isWindowOpening = false;}});
	}
}

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/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(id, IDContainer, className)
{
	jQuery.ajax({'type':'POST','url':'/index.php?r=site/updatePublication&id=' + id + '&class=' + className,'cache':false,'success':function(html){jQuery("#avenger-container-" + IDContainer).html(html);avengerUpdateModulePanel(className, false, true);}});
}

function avengerUpdateAllPage()
{
	jQuery.ajax({'type':'GET','url':'/index.php?r=site/content','cache':false,'success':function(html){jQuery("#avenger-page").html(html);}});
}

function avengerWindowClose(event, ui)
{
	$("#avenger-window").remove();
	$("#avenger-window-shadow").remove();
}

function onContainerSort(event, ui)
{
	newOrder = jQuery("#" + this.id).sortable('toArray');
	
	jQuery("#containersOrder").val(newOrder);
	
	jQuery.ajax({'type':'POST','url':'/backoffice/index.php?r=container/organize','cache':false,'data':jQuery("#form-sort-item").serialize(),'success':function(html){jQuery("#update-page").html(html)}});
}

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/menu&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 avengerDisplayWindowContent()
{
	$('#avenger-window-content-hidden').css('overflow', 'auto');
	$('#avenger-window-content-hidden').css('visibility', 'visible');
}

function avengerSearch(className)
{
	id = '#avenger-search-' + className;
	cat = '#avenger-category-' + className;
	destination = '#avenger-toolbar-module-' + className;
	 
	$.ajax({
		type:'POST',
		url:"/index.php?r=site/updateModuleRecords",
		data:({
			'value':$(id).val(),
			'cat':$(cat).val(),
			'className' : className
		}), 
		success: function(html) { 
			$(destination).html(html); 
		}
	});
}

function avengerStartQuickEditor(id, className, attribute, isTranslated, uuid, editor)
{
	if(!avengerIsQuickEdit)
	{
		toogleVisibility(avengerEnabledToogleVisiblityID);
		
		jQuery.ajax({'type':'GET','url':'/index.php?r=site/quickedit&id=' + id + '&class=' + className + '&attribute=' + attribute + '&isTranslated=' + isTranslated + '&uuid=' + uuid + '&editor=' + editor,'cache':false,'success':function(html){jQuery("#avenger-quickedit-" + uuid).html(html);}});
		avengerIsQuickEdit = true;
	}
}

function avengerOnChangeMediaDisplayType(value)
{
	jQuery.ajax({'type':'GET','url':'/backoffice/index.php?r=media/listMedia&listType=' + value,'cache':false,'success':function(html){jQuery("#avenger-media-list").html(html);}});
}

function avengerSetCookie(name, value, expires, path, domain, secure)
{
	cookie = name + "=" + escape (value) +
		((expires) ? "; expires=" + expires : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		((secure) ? "; secure" : "");
	
	document.cookie = cookie;
}

jQuery(document).ajaxStart(toogleBusyIndicator);
jQuery(document).ajaxStop(toogleBusyIndicator);

jQuery(document).ready(function() {
	if(jQuery('#avenger-toolbar').css("top") != undefined)
		jQuery('#avenger-toolbar').draggable({
			cursor: 'move',
			stop: function(event, ui) { 
				topy = $("#avenger-toolbar").css("top");
				left = $("#avenger-toolbar").css("left");
				$.ajax({type: 'GET', url:"/index.php?r=site/updatePosition&top=" +  topy + "&left=" + left});
			}
		});
	
	jQuery(window).keyup(function(e) { if(e.keyCode  == 27) { avengerWindowClose("", ""); } });
});

$(document).keydown(function(e) {
	if(e.altKey && e.ctrlKey && e.which == "65")
		avengerWindowOpen('/index.php?r=site/login', 'Veuillez vous identifier', 400, 147);
});
