var baseURL = "http://"+window.location.hostname+"/manage/";
var isMassiveAction=false;
var FCKeditorAPI;
function unhtmlentities(str){
	var msgContainer=document.createElement('div');
	msgContainer.innerHTML=str;
	return msgContainer.innerHTML;
}

function initZoom(fieldID,editorType,toolbar){
	var styles='';
	var ContentArea='';
// 	if(document.getElementById(fieldID+'_styles')){
// 		ContentArea=$('#'+fieldID+'_styles').html();
// 		if (ContentArea.substring(0,1) == '/')
// 			styles ='<!--BeginOfStyles--><link rel=\"stylesheet" type="text/css" href="'+ContentArea+'" media="screen" title="Normal" /><!--EndOfStyles-->';
// 		else
// 			styles ='<!--BeginOfStyles--><style type="text/css">'+ContentArea+'</style><!--EndOfStyles-->';
// 	}
	$('#'+fieldID+'zoom').val(styles+$('#'+fieldID).val());
	
	$('#expand ul.emajine_tabs li').attr('class','default_tab');
	$('#expand ul.emajine_tabs li:first-child').attr('class','active_tab');
	
	if(editorType==='wiki')
		initWikiToolBar(fieldID);
	else if(editorType==='fck'){
		initFCKEditorToolBar(fieldID,toolbar);
	}
}
function updateTextarea(fieldID){
	$('#'+fieldID).val($('#'+fieldID+'zoom').val());
}
function switchZoomTabs(tab,fieldID,editorType,action){
	var currentTab=tab.parentNode;
	$('#expand ul.emajine_tabs li').each(function(i,v){
		if(currentTab===v) $(v).attr('class','active_tab'); else $(v).attr('class','default_tab');
	});
	if(action==='preview'){
		$('#overlibzoom').css('display','none');
		getZoomPreview(fieldID,editorType);
	}else{
		$('#overlibzoom').css('display','block');
		$('#overlibpreview').css('display','none');
	}
}
function getZoomPreview(fieldID,editorType){
	if(editorType==='fck'){
		$('#overlibpreview').html(FCKAPI.GetXHTML());
		$('#overlibpreview').css('display','block');
	}else{
		var content=preparePostValue($('#'+fieldID+'zoom').val());
		$.ajax({
			type: 'POST',
			url: baseURL+'getzoompreview',
			dataType : 'html',
			data: 'content='+content,
			complete: function(msg){
				$('#overlibpreview').html(msg.responseText);
				$('#overlibpreview').css('display','block');
			}
		});
	}
}
var wikiAreaId;
function initWikiToolBar(fieldID){
	if (document.getElementById) {
		if(typeof(wikiToolBar) != "function"){
			$.getScript('/manage/core/1.3e/js/wikitoolbar/toolbar.js', function(){
 				loadWikiToolBar(fieldID);
 			});
		}
		/*if(typeof(wikiToolBar) != "function"){
			wikiAreaId=fieldID;
			setTimeout('loadWikiToolBar(wikiAreaId)',1000);
		}*/else
			loadWikiToolBar(fieldID);
	}
}
function loadWikiToolBar(id_area){
	var tb = new wikiToolBar(document.getElementById(id_area+'zoom'),'/manage/core/1.3e/images_manage/wikiToolbar/');
	tb.btStrong('Gras');
	tb.btEm('Italique');
	tb.btQ('Référence');
	tb.btCode('Code');
			tb.btH1('Titre de niveau 1');
		tb.btH2('Titre de niveau 2');
		tb.btH3('Titre de niveau 3');
		tb.btH4('Titre de niveau 4');
		tb.btH5('Titre de niveau 5');
		tb.btH6('Titre de niveau 6');
		tb.addSpace(10);
	tb.btBr('Saut de ligne');
	tb.btHr('Ligne horizontale');
	tb.addSpace(10);
	tb.btBquote('Bloc de citation');
	tb.btPre('Texte préformaté');
	tb.btList('Liste non ordonnée','ul');
	tb.btList('Liste ordonnée','ol');
	tb.btDl('Définition','Terme','Définition');
	tb.btAcronym('Sigle','Sigle','Définition');
	tb.btCite('Citation','Citation','Langue','fr','Source');
	tb.addSpace(10);
	tb.btLink('Lien externe','Texte du lien','URL ?','Langue ?','fr');
	tb.btImgLink('Image externe','URL ?','Texte alternatif');
	tb.addSpace(10);
	tb.btEmajineImg('Média dans mes ressources','/manage/ressources/index.php?ch=insert_ressource&ressource=image,diaporama,flash,map&input_id='+id_area+'&lang=&insertType=1');
	tb.btEmajineLink('Lien vers un médias de mes ressources','/manage/ressources/index.php?ch=insert_ressource&ressource=link,media&input_id='+id_area+'&lang=&insertType=2');
	tb.btEmajineLinkRub('Lien vers une rubrique','/manage/global_scripts/index.php?ch=insert_rubriques&displaycontent=True&input_id='+id_area+'&lang=&type=1');
	tb.addSpace(10);
	tb.btEmajineHelp('Aide','/manage/wikihelp');
	tb.draw(false);
}
// FCKEditor
var FCKAPI;
var FCKPageAreaId;
var FCKOverlibAreaId;
function initFCKEditorToolBar(id_area,toolbar){
	FCKAPI = null;
	__FCKeditorNS = null;
	FCKEditorAPI = null;
	FCKPageAreaId = id_area;
	FCKOverlibAreaId = id_area+'zoom';
// 	document.getElementById('pleasewait').style.display = 'block';
	if(typeof(FCKeditor) != "function"){
// 		$.getScript('/manage/core/1.3e/js/fckeditor/fckeditor.js');
		$.getScript('/manage/core/1.3e/js/fckeditor/fckeditor.js', function(){
			loadFCKEditorToolBar(FCKOverlibAreaId,toolbar);
		});
	}
// 	if(typeof(FCKeditor) != "function")
// 		setTimeout('loadFCKEditorToolBar(FCKOverlibAreaId,toolbar)',500);
	else
		loadFCKEditorToolBar(FCKOverlibAreaId,toolbar);
}
function loadFCKEditorToolBar(FCKOverlibAreaId,toolbar){
	var BasePath = '/manage/core/1.3e/js/fckeditor/';
	if(!toolbar){
				toolbar='Advanced';
	}
	var oFCKeditor = new FCKeditor(FCKOverlibAreaId, '100%', '500px',toolbar);
	oFCKeditor.BasePath = BasePath;
	if(toolbar==='Newsletter') oFCKeditor.Config['EMailProtection'] = 'none' ;
	oFCKeditor.ReplaceTextarea();
}
function FCKeditor_OnComplete(ref){
	FCKAPI = ref;
	FCKAPI.hasChanged = false;
	document.getElementById('pleasewait').style.display = 'none';
	FCKSetIframeszIndex();
	
	var layer_id=Emajine_Layers_Obj.emajine_layer_get_element_id_by_token('overDivZoom');

	if(document.getElementById("emajine_layer_footer_expand")){
		var FCKOverlibCloseButton = document.getElementById("emajine_layer_footer_expand").firstChild;
		FCKOverlibCloseButton.onmousedown = FCKOnClose;
	}
	if(document.getElementById("emajine_layer_close_expand")){
		var FCKOverlibCrossButton = document.getElementById("emajine_layer_close_expand").firstChild;
		FCKOverlibCrossButton.onmousedown = FCKOnClose;
	}
	return false;
}
function FCKSetIframeszIndex(){
	// Augmente le zIndex des iframes des menu déroulants et du menu contextuel pour passer au dessus des overlibs. Ce pb n'affecte pas IE
	var elmt = document.getElementById("page");
	var inc = 0;
	while(inc<40){
		if(elmt.nextSibling){
			elmt = elmt.nextSibling;
			if(elmt.tagName == "IFRAME")
				elmt.style.zIndex = "10000";
		}else break;
		inc++;
	}
}
function FCKOnClose(e){
// 	if(document.getElementById(FCKPageAreaId+'_styles')){ // Cas d'intégration de styles.
// 		var content;
// 		content = FCKAPI.GetXHTML();
// 		var BeginStyle = content.indexOf('<!--BeginOfStyles-->');
// 		var EndStyle = content.indexOf('<!--EndOfStyles-->')+22;
// 		var area = content.substring(0,BeginStyle);
// 		area =area+content.substr(EndStyle, content.length);
// 		document.getElementById(FCKPageAreaId).value = area;
// 	}else {
	 	document.getElementById(FCKPageAreaId).value = FCKAPI.GetXHTML();
// 	}
	// Désactive le designeMode sinon IE plante si une image est sélectionnée
	FCKAPI.EditorDocument.designMode = "off";
	FCKAPI=false;
}



function updateHiddenField(list_id,hidden_id){
	var items = document.getElementById(list_id).getElementsByTagName('li');
	var array = new Array();
	var sortvalues = '';
	for (var i = 0, n = items.length; i < n; i++) {
		var item = items[i].innerHTML;
		var searchresult=item.match(/Delete\('(.*)'\)/);
		if(searchresult){
			searchresult=searchresult[1].split("'");
			sortvalues+='_'+searchresult[0];
		}
	}
	window.document.getElementById(hidden_id).value=sortvalues;
}
//-------------------
// Gestion des editeurs WIKI et WYSIWYG
//-------------------

function reportText(id_area,text) {
	if(FCKAPI){
		var oEditor = FCKeditorAPI.GetInstance(id_area) ;
		if(typeof oEditor=='undefined') oEditor=FCKAPI;
	 	oEditor.InsertHtml(text);
	}
}

function reportImgWiki(id_area,src,alt,flash){
	if(FCKAPI){
		var oEditor = FCKeditorAPI.GetInstance(id_area) ;
		if(typeof oEditor=='undefined') oEditor=FCKAPI;

		if(typeof flash!='undefined'){
			var FCKEmjFlash = oEditor.EditorDocument.createElement('DIV');
			FCKEmjFlash.innerHTML = flash;
			oEditor.InsertElementAndGetIt(FCKEmjFlash);
			oEditor.OnAfterSetHTML();
		}else{
			var FCKEmjImg = oEditor.EditorDocument.createElement('IMG') ;
			FCKEmjImg.setAttribute('alt',alt, 0);
			FCKEmjImg.setAttribute('src',src);
			oEditor.InsertElementAndGetIt(FCKEmjImg);
		}
	}else{
		var tbIns = new wikiToolBar(document.getElementById(id_area+'zoom'),'/manage/core/1.3e/images_manage/wikiToolbar/');
		tbIns.insImg(src,alt);
	}
	Emajine_Layers_Obj.cancel_emajine_layer('insertRessource');
}
function reportLinkWiki(id_area,href,label,lang,title,opt){
	if(FCKAPI){
		var oEditor = FCKeditorAPI.GetInstance(id_area);
		
		var sText='';
		if(oEditor.EditorDocument.getSelection) sText=oEditor.EditorDocument.getSelection();
		else if(oEditor.EditorDocument.selection) sText=oEditor.EditorDocument.selection.createRange().text;
		
		if(sText.length){
			if(label===title) title=sText;
			label=sText;
		}
		
		if(typeof title=='undefined') title=label.replace(/"/g,"''");
		if(typeof opt=='undefined') opt='';
		if(typeof oEditor=='undefined') oEditor=FCKAPI;
		oEditor.InsertHtml("<a href='"+href+"' title=\""+title+"\" hreflang='"+lang+"' "+(opt!=''?"opt='"+opt+"'":'')+">"+label+"</a>");
	}else{
		var tbIns = new wikiToolBar(document.getElementById(id_area+'zoom'),'/manage/core/1.3e/images_manage/wikiToolbar/');
		tbIns.insLink(href,label,lang);
	}
	Emajine_Layers_Obj.cancel_emajine_layer('insertRessource');
}
function setWIKIOrFCKEditor(selectRef, elmtName,no_confirm){
	var area = $('#'+elmtName);
	if(area.val() && typeof no_confirm==='undefined'){
		if(confirm(unhtmlentities("Si vous changer le mode d'&eacute;dition, les donn&eacute;es seront perdues.\nVoulez-vous vraiment changer le mode d'&eacute;dition?"))){
			area.val('');
		}else{
			if(selectRef.val() == 'html')
				selectRef.val('wiki')
			else
				selectRef.val('html')	
		}
	}
	var type='wiki';	
	if(selectRef.val() =='html'){
		var type='fcke';
	}
	var link=$('#div'+elmtName+' a.expand');
	link.attr('onclick','void(0)');
	link.unbind('click');
	link.bind("click", function() {
		open_div('expand','Agrandir','/manage/textAreaExpand-'+elmtName+'-'+type,'auto');
		return false;
	});
}
function findPosX(object){
	var curleft = 0;
	var obj = document.getElementById(object);
	if (obj.offsetParent){
		while (obj.offsetParent){
			curleft += obj.offsetLeft - obj.scrollLeft;
			obj = obj.offsetParent;
		}
	}else if (obj.x){
		curleft += obj.x;
	}
	return curleft;
}
function findPosY(object){
	var curtop = 0;var curtop = 0;
	var obj = document.getElementById(object);
	if (obj.offsetParent){
		while (obj.offsetParent){
			curtop += obj.offsetTop - obj.scrollTop;
			obj = obj.offsetParent;
		}
	}else if (obj.y){
		curtop += obj.y;
	}
	return curtop;
}
//-------------------
// Insertion d'éléments
//-------------------
var noInsertionAlert=false;
function reportElement(json,type,layer){
	var data = eval('('+json+')');
	if(type==='single'){
		$('#'+data.field).val(data.id);
		var elmt=$('#'+data.field+'div');
		if(data.icon)
			elmt.children('.icon').html(data.icon);
		else
			elmt.children('.icon').html('');
		if(data.label)
			elmt.children('.label').html(data.label);
		else
			elmt.children('.label').html('');
		var actions=$('#'+data.field+'actions');

		if($('#'+name+'_divjs')) {
			eval($('#'+data.field+'_divjs').html());
		}
		actions.children('.edit').css('display','block');
		actions.children('.edit').click(function(){eval(data.edit);});
		actions.children('.delete').css('display','block');
		actions.children('.delete').click(function(){deleteElement(data.field,data.id,type);});
		
		if(layer==='overlib')
			cancelOverDiv();
		else
			Emajine_Layers_Obj.cancel_emajine_layer('insertRessource');
	}else{
		var itemID='item_'+data.id.replace('://','-');
		isEnabled=true;
		$('#'+data.field+'div li').each(function(i,v){
			if(v.id==itemID) isEnabled=false;
		});
		if( ! isEnabled ){
			if(!noInsertionAlert)
				alert('Cet élément est déjà sélectionné');
		}else{
			var iconEdit='<img src="/manage/core/1.3e/images_manage/actions/edit_small.png" />';
			var iconDelete='<img src="/manage/core/1.3e/images_manage/actions/delete_small.png" />';
			var iconMove='<img src="/manage/core/1.3e/images_manage/actions/move_small.png" />';
			
			
			var label=$('<span class="elementLabel">'+data.label+'</span>');
			
			$('#'+data.field).val($('#'+data.field).val()+'_'+data.id);
			
			var list=$('<ul></ul>');
			list.append('<li class="move"><a href="javascript:void(0)" class="move">'+iconMove+'</a></li>');
			if(data.edit){
				list.append('<li class="edit"><a href="javascript:void(0);" class="edit">'+iconEdit+'</a></li>');
				list.children('li.edit').click(function(){eval(data.edit);});
			}
			list.append('<li class="delete"><a href="javascript:void(0);" class="delete">'+iconDelete+'</a></li>');
			list.children('li.delete').click(function(){deleteElement(data.field,data.id,type);});
			var tools=$('<div class="tools" style="visibility:hidden"></div>');
			tools.append(list);
			
			
			var item=$('<li id="'+itemID+'"></li>');
			item.append(label);
			item.append(tools);
			item.hover(
				function(){
					$(this).children('div.tools').css('visibility','visible');
				},
				function(){
					$(this).children('div.tools').css('visibility','hidden');
				});
			$('#'+data.field+'div').append(item);
			$('#'+data.field+'div').sortable('refresh')
		}
		if(!isMassiveAction){
			if(layer==='overlib')
				cancelOverDiv();
			else
				Emajine_Layers_Obj.cancel_emajine_layer('insertRessource');
		}
	}
}
//////////////////////////////////////
// reportElement pour le seDB avec layer de selection //
//////////////////////////////////////
function reportElementSeDB(json,type,layer){
	var data = eval('('+json+')');
	var iconDelete='<img src="/manage/core/1.3e/images_manage/actions/delete_small.png" />';
	if(type==='single'){
		deleteElementSeDB(data.field,data.id,type);//clean default value
		document.getElementById(data.field).options[0]=new Option(" ",data.id,'selected','selected');
		
		var list=$('<ul></ul>');
		var label=$('<span class="label">'+data.label.replace(/¬¬/g,"\"").replace(/¬/g,"\'")+'</span>');
		var tools=$('<div class="tools" style="visibility:hidden"></div>');
		var item=$('<li id="1"></li>');
		
		list.append('<li class="delete"><a href="javascript:void(0);" onclick="deleteElementSeDB(\''+data.field+'\',\''+data.id+'\',\''+type+'\')" class="delete">'+iconDelete+'</a></li>');
		list.children('li.delete').click(function(){deleteElementSeDB(data.field,data.id,type);});
		tools.append(list);
		item.append(label);
		item.append(tools);
		item.hover(function(){$(this).children('div.tools').css('visibility','visible');},function(){$(this).children('div.tools').css('visibility','hidden');});
		$('#'+data.field+'div').append(item);
		return cClick();//close modal
	}else{
		var itemID=data.id;
		isEnabled=true;
		var nbOptElmts=$('#'+data.field+' option').length;
		$('#'+data.field+' option').each(function(i,v){if(v.value==itemID) isEnabled=false;});
		if(!isEnabled && !noInsertionAlert){
			alert('Cet élément est déjà sélectionné');
		}else{
			document.getElementById(data.field).options[nbOptElmts]=new Option(" ",data.id,'selected','selected');
			
			var label=$('<span class="label">'+data.label+'</span>');
			var list=$('<ul></ul>');
			var tools=$('<div class="tools" style="visibility:hidden"></div>');
			var item=$('<li id="'+itemID+'"></li>');
			
			list.append('<li class="delete"><a href="javascript:void(0);" class="delete">'+iconDelete+'</a></li>');
			list.children('li.delete').click(function(){deleteElementSeDB(data.field,data.id,type);});
			tools.append(list);
			item.append(label);
			item.append(tools);
			item.hover(function(){$(this).children('div.tools').css('visibility','visible');},function(){$(this).children('div.tools').css('visibility','hidden');});
			$('#'+data.field+'div').append(item);
		}
	}
}
function deleteElementSeDB(fieldID,elementID,type){
	if(type==='single'){
		$('#'+fieldID).empty();
		$('#'+fieldID+'div').empty();
	}else{
		$('#'+elementID).remove();
		$('#'+fieldID+' option[value='+elementID+']').remove();
	}
}

function reportMassiveElement(displayMode){
	isMassiveAction=true;
	noInsertionAlert=true;
	var lastObjDOM;
	if(displayMode==='list'){
		$('table').each(function(i,v){
			if(v.id==='contentsTable') lastObjDOM=v;
		});
		var checkboxes=$(lastObjDOM).find('input:checkbox');
		checkboxes.each(function(i,v){
			if($(v).attr('checked')){
				var row=$(v).parent().parent();
				$('td.action a',row).click();
			}
		});
	}else{
		$('#ressourcesCenterContentsInLayer div').each(function(i,v){
			if(v.id==='contentsIconDetail') lastObjDOM=v;
		});
		var checkboxes=$(lastObjDOM).find('input:checkbox');
		checkboxes.each(function(i,v){
			if($(v).attr('checked')){
				var pDiv=$(v).parent().parent();
				$('a',pDiv).click();
			}
		});
	}
	noInsertionAlert=false;
	Emajine_Layers_Obj.cancel_emajine_layer('insertRessource');
	isMassiveAction=false;
}
function deleteElement(fieldID,elementID,type){
	if(type==='single'){
		$('#'+fieldID).val('');
		var elmt=$('#'+fieldID+'div');
		elmt.children('.icon').html('');
		elmt.children('.label').html('');
		var actions=$('#'+fieldID+'actions');
		actions.children('.edit').css('display','none');
		actions.children('.delete').css('display','none');
	}else{
		$('#'+fieldID+'div #item_'+elementID.replace('://','-')).remove();
		if($('#'+fieldID).val()[0]==='_'){
			$('#'+fieldID).val($('#'+fieldID).val().replace('_'+elementID,''));
		}else{
			$('#'+fieldID).val($('#'+fieldID).val().replace(elementID,''));
		}
	}
}
function initInsertMultipleActions(element,type){
	$('#'+element+' li').hover(
	function(){
		$(this).children('div.tools').css('visibility','visible');
	},
	function(){
		$(this).children('div.tools').css('visibility','hidden');
	});
	$('#'+element).sortable(
		{
			handle:'li.move',
			placeholder:'sortHelper',
			revert:true,
			axis:'y',
			zIndex:2000,
			update:function(e,ui)
				{
					var output='';
					vd($('#'+element).sortable("serialize"));
					var datas=$('#'+element).sortable("serialize").split('&');
					$(datas).each(function(i,v){
						var tmp=v.split('=');
						var prefix='';
						if(tmp[0].indexOf('_')!==-1){
							var ressourceType=tmp[0].split('_');
							prefix=ressourceType[1].replace('[','').replace(']','')+'://';
						}
						output+='_'+prefix+tmp[1];
					});
					$('#'+element.replace('div','')).val(output);
				}
		}
	);
}

function reportSingleElement(name,choix,nom){
	if(document.getElementById(name+'_divjs')) eval(document.getElementById(name+'_divjs').innerHTML);
	document.getElementById(name).value=choix;
	document.getElementById(name+'div').innerHTML=nom+'&nbsp;';

	var deleteLink=document.createElement('a');
	deleteLink.href='javascript:deleteSingleElement(\''+name+'\')';
	deleteLink.innerHTML='Supprimer';
	document.getElementById(name+'div').appendChild(deleteLink);

	cancelInsertDiv();
}
function deleteSingleElement(name) {
	if (confirm ('Etes-vous sûr de vouloir supprimer cet élément ?')){
		window.document.getElementById(name).value='';
		window.document.getElementById(name+'div').innerHTML='';
	}
}
function categoryReporter(name,choix,nom){
	if(name.substr(name.length-2,2)=='[]'){
		name = name.substr(0,name.length-2)
		document.getElementById(name).value=document.getElementById(name).value+'_'+choix;
		document.getElementById(name+'div').innerHTML+='<div id="'+name+'_'+choix+'">'+nom+'&nbsp;<a href="javascript:categoryDelete(\''+name+'\','+choix+')">Supprimer</a></div>';
	} else {
		document.getElementById(name).value=choix;
		document.getElementById(name+'div').innerHTML='<div id="'+name+'_'+choix+'">'+nom+'&nbsp;<a href="javascript:categoryDelete(\''+name+'\','+choix+')">Supprimer</a></div>';
	}
	cancelOverDiv();
}
function categoryDelete(name,data) {
	if (confirm ('Etes-vous sûr de vouloir supprimer cet élément ?')){
		window.document.getElementById(name+'_'+data).innerHTML='';
		var hideVal=window.document.getElementById(name).value;
		var vals = hideVal.split('_');
		hideVal = '';
		for(i in vals) if(vals[i] && vals[i]!=data) hideVal+=vals[i]+'_';
		hideVal = hideVal.substr(0,hideVal.length-1);
		window.document.getElementById(name).value=hideVal;
	}
}
function multiRessourcesReporter(choix,nom,url,name){
	var value=document.getElementById(name).value;
	var re = new RegExp('_'+choix+'$');
	var var1=value.match(re);
	re = new RegExp('_'+choix+'_');
	var var2=value.match(re);
	if(! var1 && ! var2){
		document.getElementById(name).value+='_'+choix;
		var span=name+'div';
		var list=document.getElementById(span).innerHTML;
		document.getElementById(span).innerHTML=list.replace('</ul>','<li><img src="/manage/core/1.3e/images_manage/updown.png" alt="up and down" />'+nom+'&nbsp;<span class="actions"><a href="'+url+'" onclick="window.open(this.href); return false;">Editer</a>&nbsp;<a href="javascript:multiRessourcesDelete(\''+choix+'\',\''+name+'\')">Supprimer</a></span></li></ul>');
		list=document.getElementById(span).innerHTML;
		document.getElementById(span).innerHTML=list.replace('</UL>','<li><img src="/manage/core/1.3e/images_manage/updown.png" alt="up and down" />'+nom+'&nbsp;<span class="actions"><a href="'+url+'" onclick="window.open(this.href); return false;">Editer</a>&nbsp;<a href="javascript:multiRessourcesDelete(\''+choix+'\',\''+name+'\')">Supprimer</a></span></li></ul>');
		initSortList('list_'+name);
	}else{
		alert(unhtmlentities("Cette ressource a d&eacute;j&agrave; &eacute;t&eacute; ajout&eacute;e !!!"));
	}
}
function multiRessourcesDelete(data,name) { 
	if (confirm ('Etes-vous sûr de vouloir supprimer cet élément ?')){
		var hideVal=window.document.getElementById(name).value;
		hideVal=hideVal.replace('_'+data+'_', '_');
		var re = new RegExp('_'+data+'$');hideVal=hideVal.replace(re, '');
		window.document.getElementById(name).value=hideVal;
		var items=window.document.getElementById('list_'+name).getElementsByTagName('li');;
		var list='<ul id="list_'+name+'" class="elements_list">';
		for (var i = 0, n = items.length; i < n; i++) {
			var item = items[i].innerHTML;
			var searchresult=item.match(/multiRessourcesDelete\('(.*)'\)/);
			if(searchresult){
				searchresult=searchresult[1].split("'");
				if(searchresult[0]!=data){
					list+='<li>'+item+'</li>';
				}
			}
		}
		window.document.getElementById(name+'div').innerHTML=list+'</ul>';
		initSortList('list_'+name);  
	}
}
function rubriquesReporter(choix,nom,name){
	var value=document.getElementById(name).value;
	var re = new RegExp('_'+choix+'$');
	var var1=value.match(re);
	re = new RegExp('_'+choix+'_');
	var var2=value.match(re);
	if(! var1 && ! var2){
		document.getElementById(name).value+='_'+choix;
		var span=name+'div';
		var list=document.getElementById(span).innerHTML;
		document.getElementById(span).innerHTML=list.replace('</ul>','<li><img src="/manage/core/1.3e/images_manage/updown.png" alt="up and down" />'+nom+'&nbsp;<span class="actions" /><a href="javascript:rubriquesDelete(\''+choix+'\',\''+name+'\')">Supprimer</a></span></li></ul>');
		list=document.getElementById(span).innerHTML;
		document.getElementById(span).innerHTML=list.replace('</UL>','<li><img src="/manage/core/1.3e/images_manage/updown.png" alt="up and down" />'+nom+'&nbsp;<span class="actions" /><a href="javascript:rubriquesDelete(\''+choix+'\',\''+name+'\')">Supprimer</a></span></li></ul>');
		initSortList('list_'+name);
	}else{
		alert(unhtmlentities("Cette ressource a d&eacute;j&agrave; &eacute;t&eacute; ajout&eacute;e !!!"));
	}
}
function rubriquesDelete(data,name) { 
	if (confirm ('Etes-vous sûr de vouloir supprimer cet élément ?')){
		var hideVal=window.document.getElementById(name).value;
		hideVal=hideVal.replace('_'+data+'_', '_');
		var re = new RegExp('_'+data+'$');
		hideVal=hideVal.replace(re, '');
		window.document.getElementById(name).value=hideVal;
		var items=window.document.getElementById('list_'+name).getElementsByTagName('li');;
		var list='<ul id="list_'+name+'" class="elements_list">';
		for (var i = 0, n = items.length; i < n; i++) {
			var item = items[i].innerHTML;
			var searchresult=item.match(/Delete\('(.*)'\)/);
			if(searchresult){
				searchresult=searchresult[1].split("'");
				if(searchresult[0]!=data){
					list+='<li>'+item+'</li>';
				}
			}
		}
		window.document.getElementById(name+'div').innerHTML=list+'</ul>';
		initSortList('list_'+name);
	}
}

function fillSelect(url, selectId, elmtId, arrayData){
	if (document.getElementById(selectId) == 'undefined'){
		return false;
	}
	var xmlhttp=getXmlHttpObject();
	xmlhttp.open("POST",url,true);
	xmlhttp.onreadystatechange=function(){
		if(xmlhttp.readyState==4){
			if (xmlhttp.status==200){
				var selectElmt=document.getElementById(selectId);
				selectElmt.options.length=0;
				if (xmlhttp.responseXML){
					var options=xmlhttp.responseXML.getElementsByTagName('option');
					var i, len=options.length;
					if (len>0){
						for(i=0;i<len;i++){
							selectElmt.options[i]=new Option(options[i].firstChild.data, options[i].getAttribute('value'));
						}
					}else{
						var messages=xmlhttp.responseXML.getElementsByTagName('message');
						len=messages.length;
						for (i=0;i<len;i++){
							selectElmt.options[i]=new Option(messages[i].firstChild.data, '');
							selectElmt.options[i].className='combo_message';
						}
					}
				}
			}
		}
	}
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	strData='';
	try{strData=document.getElementById(elmtId).value;}catch(e){}
	xmlhttp.send('strData='+encodeURIComponent(strData)+'&'+implodeArray(arrayData));
}

function implodeArray(array, key){
	if(typeof(array) != 'object')
		return array+'='+array;
	this.out=new String();
	this._implodeArray=function(arr, k){
		var out=new String();
		for(d in arr)
			if(typeof(arr[d]) == 'object')
				if (k)	out += this._implodeArray(arr[d], k+'['+d+']');
				else	out += this._implodeArray(arr[d], d);
			else
				if(k)	out += k+'['+d+']='+encodeURIComponent(arr[d])+'&';
				else	out += d+'='+encodeURIComponent(arr[d])+'&';
		return out;
	}
	this.out=this._implodeArray(array, key);
	return this.out.substring(0, this.out.length-1);
}

var comboMultipleInputValue='';

function comboMultipleSendRequest(input, selectId, defaultContent, url, data, minChars, minMess){
	if(!minChars) minChars=1;
	var select=document.getElementById(selectId);
	if(input.value == ''){
		select.style.display='none';
	} else {
		select.style.display='inline';
		if(input.value.length<minChars){
			select.options.length=0;
			select.options[0]=new Option(minMess, '');
		}else if (input.value.length>comboMultipleInputValue.length){
			select.options.length=0;
			select.options[0]=new Option(defaultContent, '');
			fillSelect(url, selectId, input.id, data);
		}
	}
	comboMultipleInputValue=input.value;
}

function comboMultipleDrop(select, inputId, ulId, template)
{
	var value=select.options[select.selectedIndex].value;
	var content=select.options[select.selectedIndex].text;
	if(value){
		var ulRef=document.getElementById(ulId);
		var inputs=ulRef.getElementsByTagName('input');
		var inList=false;
		for(input in inputs){
			if(inputs[input].value == value){
				inList=true;
			}
		}
		if (inList == false) {
			ulRef.innerHTML+=template.replace(/{value}/, value).replace(/{content}/, content);
		}
	}
	select.style.display='none';
	var input=document.getElementById(inputId);
	input.select();
	input.focus();
	
}

// Fonction pour plier/déplier les arbos des rubriques
function collapse(id){
	var list=document.getElementById('list_'+id);
	var link=document.getElementById('collapse_'+id);
	if(list.style.display=='none'){
		list.style.display='block';
		link.innerHTML='[-]';
	}else{
		list.style.display='none';
		link.innerHTML='[+]';
	}
}

function changeSelect(name,value){
	document.getElementById(name).value=value;
	var options=document.getElementById(name).options;
	for(var i=0;i<options.length;i++){
		var opt=options[i].value;
		if(opt==value){
			window.document.getElementById(opt+name).innerHTML='<img src="/manage/core/1.3e/images_manage/structuredElement/position/selector.gif" alt="Selection" />';
		}else{
			window.document.getElementById(opt+name).innerHTML="&nbsp;";
		}
	}
}

function link_ressource_set_type(selectObj){
	var enabled_elements=new Array;
	var disabled_elements=new Array;
	switch($(selectObj).val()){
			case 'text_url': enabled_elements=['url'];disabled_elements=['picture','media','rubrique','form']; break
			case 'text_media': enabled_elements=['media'];disabled_elements=['picture','url','rubrique','form']; break
			case 'text_heading': enabled_elements=['rubrique'];disabled_elements=['picture','url','media','form']; break
			case 'text_form': enabled_elements=['form'];disabled_elements=['picture','url','media','rubrique']; break
			case 'media_url': enabled_elements=['picture','url'];disabled_elements=['media','rubrique','form']; break
			case 'media_media': enabled_elements=['picture','media'];disabled_elements=['url','rubrique','form']; break
			case 'media_heading': enabled_elements=['picture','rubrique'];disabled_elements=['url','media','form']; break
			case 'media_form': enabled_elements=['picture','form'];disabled_elements=['url','media','rubrique']; break
	}
	var fieldset=selectObj.parentNode.parentNode.parentNode;
	$.each(enabled_elements,function(i){
		$('#div'+enabled_elements[i],fieldset).show();
	});
	$.each(disabled_elements,function(i){
		$('#div'+disabled_elements[i],fieldset).hide();
	});
}

function getCalendar(name,caption,closecaption){
	var month=false;
	var day=false;
	var year=false;
	var value=document.getElementById(name).value;
	if(value.match(/(.*)\/(.*)\/(.*)/)){
		var date=value.split('/');
		day=date[0];
		month=date[1];
		year=date[2];
	}
	var url='/manage/calendar-name-'+name+'-day-'+day+'-month-'+month+'-year-'+year;
	displayContent(url,caption,closecaption,'calendar');
}
function dateReporter(name,date){
	document.getElementById(name).value=date;
	cancelOverDiv();
}


function dumpObject(object2dump){
	var propValue = '';
	document.body.appendChild(document.createElement('hr'));
	document.body.appendChild(document.createTextNode(">> \""+object2dump+"\" <<"));
	document.body.appendChild(document.createElement('br'));
	if(typeof(object2dump)=="object"){
		for(prop in object2dump){
			try{propValue = eval("object2dump."+prop)}
			catch(e){propValue = "UNKNOWN";}
			document.body.appendChild(document.createTextNode(prop+" : "+propValue));
			document.body.appendChild(document.createElement('br'));
		}
		document.body.appendChild(document.createElement('hr'));
	}
};

function drop_recipient_rule(id, content){
	if(content){
		var d=document.createElement('div');
		d.innerHTML=content;
		var fr=document.getElementById('form_rules');
		var r;
		if(r = document.getElementById('form_rule_'+id)){
			r.innerHTML=d.firstChild.innerHTML;
		}else{
			fr.appendChild(d.firstChild);
		}
	}
}



function removeNode(node){
	node.parentNode.removeChild(node);
}

function Add_Option(nameselect){
	var Obj = document.getElementById(nameselect);
	var Opt = document.createElement("OPTION");
	var first=Obj.getElementsByTagName("OPTION")[0];
	if(first != null && first.innerHTML == '') {
		Obj.options[0] = null;
	}
	if(document.getElementById(nameselect+'txt').value != '') {
		Opt.innerHTML= document.getElementById(nameselect+'txt').value;
		Opt.selected=true;
		Obj.appendChild(Opt);
		document.getElementById(nameselect+'txt').value="";
	}
}
	
function Delete_Option(nameselect){
	var Obj = document.getElementById(nameselect);
	var Opt = document.createElement("OPTION");
	var nb = Obj.length;
	if(Obj.selectedIndex !=-1) {
		for (i = nb-1 ; i >=0 ; i--) {
			if (Obj.options[i].selected) {
				Obj.options[i] = null;
			}
		}
	}else {
		alert("Sélectionnez la valeur à supprimer");
	}
}

//
//gestion des fieldset pliables/depliables
//
function initFoldableFieldset(){
	$("fieldset.foldable > legend.folded").each(function(i,v){
		if($(this).parent("fieldset").find("label.error").size()){
			$(this).next("div.wrap").css("display","block");
			$(this).attr("class","unfolded");
		}
	});
	$("fieldset.foldable > legend").click(function(event){
		event.stopImmediatePropagation();
		var wrap=$(this).next("div.wrap"), aclass=($(wrap).css("display")==="none")?"unfolded":"folded";
		$(this).attr("class",aclass);
		$(wrap).slideToggle();
		return false;
	});
}
//fin gestion des fieldset pliables/depliables

//
//fonctions d'actions sur les champs textarea avec fckeditor
//
function initFckPreviewZone(){
	$("div.fck_preview > div.fieldDataDetail").click(function(event){
		event.stopImmediatePropagation();
		$(this).next("div.fieldActions").find("a.selector:first").click();
		return false;
	});
	$("div.fck_preview > div.fieldDataDetail").tooltip({ 
		delay: 0,
		track: true,
		showURL: false,
		fade: 250,
		bodyHandler: function() { return $(this).next("div.fieldActions").find("a:first").text(); } 
	});
}
function toggleFckEdit(elmt){
	var wrap=$(elmt).parents("div.fck_preview:first");
	$(wrap).hide();
	var idArea=$(wrap).nextAll("div.fck_edit:first").show().find("textarea:first").attr("id");
	eval("loadfck_"+idArea+"()");
}
function increase(linkElmt){
	var editor=$('iframe',linkElmt.parentNode.parentNode);
	var currentHeight=parseInt($('iframe',linkElmt.parentNode.parentNode).css('height'))+100;
	$('iframe',linkElmt.parentNode.parentNode).css('height',currentHeight+'px');
	checkState($('a.decrease',linkElmt.parentNode),editor);
}
function decrease(linkElmt){
	var editor=$('iframe',linkElmt.parentNode.parentNode);
	var currentHeight=parseInt($('iframe',linkElmt.parentNode.parentNode).css('height'))-100;
	if(currentHeight>100) $('iframe',linkElmt.parentNode.parentNode).css('height',currentHeight+'px');
	checkState($(linkElmt),editor);
}
function checkState(decreaseLinkElmt,editor){
	var height=parseInt(editor.css('height'));
	if(height<=200) decreaseLinkElmt.css('display','none'); else decreaseLinkElmt.css('display','inline');
}
//fin fonctions d'actions sur les champs textarea avec fckeditor

//fonctions pour le champs SMS_Area
function getSmsLength(sms){
	return sms.replace(/€|\f|\^|\~|\\|\||\[|\]|\{|\}/g,"12").length;
}
function updateNbCharSms(areaId){
	$("#"+areaId+"_nbcurchar").text(getSmsLength($("#"+areaId).val()));
}
function cleanSms(areaId){
	var sms=$("#"+areaId).val();
	var old_sms=sms;
	
	sms=sms.replace(/\t/g," ");// remplacement tabs et rcs...
	sms=sms.replace(/ +/g," ");// suppressions doublons blancs
	sms=sms.replace(/ \n/g," ");// suppresions des blancs avant fin de ligne
	sms=sms.replace(/œ/g,"oe");
	sms=sms.replace(/`|’/g,"'");
	sms=sms.replace(/…/g,"...");
	
	while(getSmsLength(sms)>160){
		var lastChar=sms.charAt(sms.length-1);
		var reg=/€|\f|\^|\~|\\|\||\[|\]|\{|\}/g;
		sms=(reg.test(lastChar))?sms.substr(0,sms.lastIndexOf(lastChar)):sms.substr(0,sms.length-1);
	}
	
	if(old_sms != sms){	
		var Target = document.getElementById(areaId);
		var tempFiltr = sms;
		
		if (tempFiltr != Target.value) {
			// Récupère la position du curseur
			var selStart = 0;
			
			if(Target.selectionStart){
				// Mozilla
				selStart = Target.selectionStart - 1;
			}
			else if(!document.selection){
				// Autres
				selStart = 0;
			}
			else {
				// Internet Explorer
				var c = "\001"
				var sel = document.selection.createRange();
				var dul = sel.duplicate();
				var len = 0;
				dul.moveToElementText(Target);
				sel.text = c;
				len = (dul.text.indexOf(c));
				sel.moveStart('character',-1);
				sel.text  = "";
				selStart = len;
			}
			
			var diffLng = tempFiltr.length - Target.value.length;
			Target.value = tempFiltr;
			
			// Remet le curseur à la bonne position
			if (Target.setSelectionRange) {
				// Mozilla
				Target.focus();
				Target.setSelectionRange(selStart + diffLng + 1, selStart + diffLng + 1);
			} 
			else if (Target.createTextRange) {
				// Internet Explorer
				var range = Target.createTextRange();
				range.collapse(true);
				range.moveEnd('character', selStart + diffLng);
				range.moveStart('character', selStart + diffLng);
				range.select();
			} 
		}
	}
}