var editeur_exist = false;;

function editer_paragraphe(num, lock) {
	editeur_exist = false;
	$('editeur').style.display = 'block';
	
	var variables = '&num='+num;
	if(lock) {
		variables += '&mode=open-lock';
	} else {
		variables += '&mode=open-unlock';
	}
	new Ajax.Updater('editeur', './include/editeur.php', {
		method: 'post',
		onComplete:function(request){	
			request.responseText.evalScripts();
        },
		parameters: variables
	}
	);
}

function nouveau_paragraphe(num, auteur, objet,num_pa) {
	var param = "&mode=new&num=" + num + '&auteur='+auteur + '&num_pa=' + num_pa;
	new Ajax.Request(BASEHREF+"include/editeur.php", {
		method: 'post',
		onSuccess: function(request) {
			if(request.responseText == 'ok') {
				$('new_paragraphe_'+objet).onclick = function() { editer_paragraphe(num, 0); };
				$('new_paragraphe_'+objet).className = 'paragraphe_unlock';
				editer_paragraphe(num, 0);
			}			
		},
		parameters : param	
		}		
	);	
}


function formatEditeur() {
	var ed = tinyMCE.get('zoneediteur').getContent();
	var reg=new RegExp("</p>", "g");
	ed = ed.replace(reg,"<br/>");
	reg=new RegExp("<p>", "g");
	ed = ed.replace(reg,"");
	reg=new RegExp("<br/>$", "g");
	ed = ed.replace(reg,"");
	return ed;
}	

function initEditeur() {
	editeur_exist = true;  
    
	tinyMCE.init({
		mode : "exact",
		elements : "zoneediteur",

		theme : "advanced",
		theme_advanced_styles : "italic=bt_test",
		theme_advanced_buttons1 : "italic", 
		theme_advanced_buttons2 : "",
		theme_advanced_buttons3 : "",
		theme_advanced_toolbar_location : "top",

		onchange_callback : "myCustomOnChangeHandler"

	});
}

function tabulation() {
	tinyMCE.execCommand('mceInsertContent',false,'&nbsp;&nbsp;&nbsp;');
}

function survolBtOver(id) {
	$(id).className="bt_survol";
}

function survolBtOut(id) {
		$(id).className="bt_normal";
}

function publier(num) {
  enregistrer(num);
  var param = "&mode=publier&num=" + num;
	new Ajax.Request(BASEHREF+"include/editeur.php", {
		method: 'post',
		onSuccess: function(t) {
			if(t.responseText == 'ok') {
        $('editeur_info').innerHTML = 'Publi&eacute;';
        location.reload();
      } else {
			 $('editeur_info').innerHTML = 'Erreur publication';
			}
		},
		onLoading: function() {
			$('editeur_info').innerHTML = 'Publication...';
		},
		parameters : param	
		}		
	);
}

function publier_collabo(num) {
  enregistrer_collabo(num);
  var param = "&mode=publiercollabo&num=" + num;
	new Ajax.Request(BASEHREF+"include/editeur.php", {
		method: 'post',
		onSuccess: function(t) {
		  if(t.responseText == 'ok') {
        $('editeur_info').innerHTML = 'Publi&eacute;';
        window.location.reload();
      } else {
			 $('editeur_info').innerHTML = 'Erreur publication';
			}
		},
		onLoading: function() {
			$('editeur_info').innerHTML = 'Publication...';
		},
		parameters : param	
		}		
	);
}

function enregistrer(num) {
	var ed = formatEditeur();
	var reg=new RegExp("\\?", "g");
	ed = ed.replace(reg,"%3F");
	reg=new RegExp("&", "g");
	ed = ed.replace(reg,"%26");
	
	var param = "&mode=save&num=" + num + "&texte=" + ed;
	new Ajax.Request(BASEHREF+"include/editeur.php", {
		method: 'post',
		onSuccess: function() {
			$('editeur_info').innerHTML = 'Sauvegard&eacute;';
		},
		onLoading: function() {
			$('editeur_info').innerHTML = 'Sauvegarde...';
		},
		parameters : param	
		}		
	);
}

function enregistrer_collabo(num) {
	var ed = formatEditeur();
	var reg=new RegExp("\\?", "g");
	ed = ed.replace(reg,"%3F");
	reg=new RegExp("&", "g");
	ed = ed.replace(reg,"%26");
	
	var param = "&mode=savecollabo&num=" + num + "&texte=" + ed;
	new Ajax.Request(BASEHREF+"include/editeur.php", {
		method: 'post',
		onSuccess: function() {
			$('editeur_info').innerHTML = 'Sauvegard&eacute;';
		},
		onLoading: function() {
			$('editeur_info').innerHTML = 'Sauvegarde...';
		},
		parameters : param	
		}		
	);
}

function enregistrer_auto(num) {
	new PeriodicalExecuter(
		function(pe) {
				enregistrer(num); 
		},
	10);
}

function enregistrer_auto_collabo(num) {
	new PeriodicalExecuter(
		function(pe) {
				enregistrer_collabo(num); 
		},
	10);
}
