//fichier qui vas gérer le javascript pour le menu qui permet la gestion des articles (barre_article.php)



//fonction qui peremt de récupérer tous les éléments qui possède une classe particulière
function getElementsByClass(searchClass, node, tag) {
    var classElements = new Array();
    if ( node == null )
        node = document;
    if ( tag == null )
        tag = '*';
    var els = node.getElementsByTagName(tag);//on récupère tous les tag (*)
    var elsLen = els.length;//on récupère la longeur du tableau qui contient tous les tags
    var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
    for (i = 0, j = 0; i < elsLen; i++) {
        if ( pattern.test(els[i].className) ) {//si on trouve la classe cherché alors on l'enregistre dans le tableau de la classe
            classElements[j] = els[i];
            j++;
        }
    }
    return classElements;
}

//pour changer de taille les tag on ont pour classe mod
function tailleFonte(classe, taille) {
    cibles = getElementsByClass('mod');
    for (i=0; i < cibles.length; i++) {
        cibles[i].style.fontSize = taille;
    }
}

//fonction qui permet de changer la taille des articles (contenue dans la div content)
/*
div : l'id de la div qui vas changer de taille de texte
change : 2 valeur plus (pour augmenter la taille) ou moins (pour diminuer la taille)
no_change_class : peux etre une valeur ou un tableau qui empèche le changement de taille des class de ce nom dans la div
size_no_change : la taille des classe qui ne doivent pas changer
*/
function change_taille(div,change,no_change_class,size_no_change){
	
	if(no_change_class == undefined)
		no_change_class = '';
	if(size_no_change == undefined)
		size_no_change = 12;
		
	var content = document.getElementById(div);
	
	if(no_change_class != ''){
		var les_classe = no_change_class.split('|');
		var taille = les_classe.length;
		for(var i = 0; i < taille; i++){
			cibles = getElementsByClass('auteur',content);
			for (var j=0; j < cibles.length; j++) {
				cibles[i].style.fontSize = size_no_change;
			}
		}
	}
	
	if(change == 'plus' && preg_replace(Array('px'),Array(''),content.style.fontSize) < 20)
		content.style.fontSize = parseInt(preg_replace(Array('px'),Array(''),content.style.fontSize)) + 1;
	if(change == 'moins' && preg_replace(Array('px'),Array(''),content.style.fontSize) > 10)
		content.style.fontSize = parseInt(preg_replace(Array('px'),Array(''),content.style.fontSize)) - 1;
}

//pour définir une taille fixe
function change_taillev2(div,taille){
	
	var content = document.getElementById(div);
	cibles = getElementsByClass('auteur',content);
    for (i=0; i < cibles.length; i++) {
        cibles[i].style.fontSize = taille+"px";
    }
	cibles2 = content.getElementsByTagName('p');//parceque les balises ne change pas dans la div content (en dehors du dossier) alors on les force tous à changer
    for (i=0; i < cibles2.length; i++) {
        cibles2[i].style.fontSize = taille+"px";
    }
	cibles3 = content.getElementsByTagName('div');//parceque les balises ne change pas dans la div content (en dehors du dossier) alors on les force tous à changer
    for (i=0; i < cibles3.length; i++) {
        cibles3[i].style.fontSize = taille+"px";
    }
	content.style.fontSize = taille+"px";
	
}

function envoyer(lien){
	width = 600;
	height = 600;
	//centrage de le fenetre
	position_x = window.screen.width/2 - width/2;
	position_y = 0;//window.screen.height/2 - height/2;
	window.open ('modules/envoyer.php?'+lien+'', 'Impression', config='height='+height+', width='+width+', toolbar=no, menubar=no, scrollbars=yes, top='+position_y+', left='+position_x+',resizable=no, location=no, directories=no, status=no');
	//window.open ('imprimer.php?pageID='+id_article, 'Impression', config='height='+height+', width='+width+', toolbar=no, menubar=no, scrollbars=yes, top='+position_y+', left='+position_x+',resizable=no, location=no, directories=no, status=no')
}

function impression(idarticle){
	width = 720;
	height = 800;
	//centrage de le fenetre
	position_x = window.screen.width/2 - width/2;
	position_y = 0;//window.screen.height/2 - height/2;
	window.open ('modules/imprimer.php?id_article='+idarticle+'', 'Impression', config='height='+height+', width='+width+', toolbar=no, menubar=no, scrollbars=yes, top='+position_y+', left='+position_x+',resizable=no, location=no, directories=no, status=no');
	//window.open ('imprimer.php?pageID='+id_article, 'Impression', config='height='+height+', width='+width+', toolbar=no, menubar=no, scrollbars=yes, top='+position_y+', left='+position_x+',resizable=no, location=no, directories=no, status=no')
}

//fonction qui permet d'editer des champs (qui ont bie nsur un input caché) les champs avant édition ont la meme idé que les champ editable sauf qu'ils ont marqué brute_ avant (brute_%id_champs_editable%)
function edit(champ){
	var les_champs = champ.split('|');//dans le cas où on passe plusierus paramètre
	var taille = les_champs.length;
	for(var i = 0; i < taille;i++){
		//si les 2 champs existe (celui qui est éditable et l'autre)
		if(document.getElementById('brute_'+les_champs[i]) && document.getElementById(les_champs[i])){
			//si le champ est caché alors on le décache sinon on fait l'inverse
			if(document.getElementById('brute_'+les_champs[i]).style.display == 'none'){
				document.getElementById(les_champs[i]).style.display = 'none';
				document.getElementById('brute_'+les_champs[i]).style.display = 'block';
			}
			else{
				document.getElementById('brute_'+les_champs[i]).style.display = 'none';
				document.getElementById(les_champs[i]).style.display = 'block';
			}
		}
		else{
			//si il n'existe que le champ éditable (surtout pour le bouton submit)
			if(document.getElementById(les_champs[i]))
			if(document.getElementById(les_champs[i]).style.display == 'block'){
				document.getElementById(les_champs[i]).style.display = 'none';
			}
			else{
				document.getElementById(les_champs[i]).style.display = 'block';
			}
		}
	}
}


	