// Fonctions javascripts communes

/****************************/
/*
<Type>	Fonction
<Categorie>
<Nom>	recupereElementsHTML
<NbParam>	1
<param>
	monElement (string) 
</Param>
<Description>
	Permet de recuperer un tableau contenant tous les elements envoyés en parametre de la page.
	Ex : on souhaiterai recuperer tous les DIV de notre page HTML
</Description>
<Date Création>	02/06/2008
<Auteur Création>	STACHOWIAK Jérôme
<Modification>
</Modification> 
*/
/****************************/

function recupereElementsHTML(monElement) {
	if(monElement!= "") {
		var monTableau;
		monTableau=document.getElementsByTagName(monElement);
		return monTableau;
	}
	else
		return false;
}

/****************************/
/*
<Type>	Fonction
<Categorie>
<Nom>	siDivExist
<NbParam>	1
<param>
	monDiv (string) 
</Param>
<Description>
	Permet de tester si un div est bien present dans la page
</Description>
<Date Création>	02/06/2008
<Auteur Création>	STACHOWIAK Jérôme
<Modification>
</Modification> 
*/
/****************************/

function siDivExist(monDiv) {
	if(monDiv!="") {
		monTableau = recupereElementsHTML("DIV");
		//on recherche dans le tableau
		for(i=0;i<monTableau.length;i++) {
			if(monTableau[i].id.length != 0) {
				if(monTableau[i].id == monDiv) {
					return true
				}
			}
		}
	}
	return false;
}

/****************************/
/*
<Type>	Fonction
<Categorie>
<Nom>	cacheDiv
<NbParam>	1
<param>
	maChaine (string) 
</Param>
<Description>
	Permet de cacher un DIV a partir de son ID
</Description>
<Date Création>	02/06/2008
<Auteur Création>	STACHOWIAK Jérôme
<Modification>
</Modification> 
*/
/****************************/

function cacheDiv(maChaine) {
	if(maChaine!="") {
		if(siDivExist(maChaine) == true) {
			document.getElementById(maChaine).style.display = "none";
		}
	}
}

/****************************/
/*
<Type>	Fonction
<Categorie>
<Nom>	montreDiv
<NbParam>	1
<param>
	maChaine (string) 
</Param>
<Description>
	Permet de montrer un DIV a partir de son ID
</Description>
<Date Création>	02/06/2008
<Auteur Création>	STACHOWIAK Jérôme
<Modification>
</Modification> 
*/
/****************************/

function montreDiv(maChaine) {
	if(maChaine!="") {
		//alert(maChaine);
		if(siDivExist(maChaine) == true) {
			//alert("ok");
			document.getElementById(maChaine).style.display = "block";
		}
	}
}

/****************************/
/*
<Type>	Fonction
<Categorie>
<Nom>	testDivDisplay
<NbParam>	1
<Param>
	monDiv (string) 
</Param>
<Description>
	Permet de tester si un DIV est visible soit display = block
</Description>
<Date Création>	02/06/2008
<Auteur Création>	STACHOWIAK Jérôme
<Modification>
</Modification> 
*/
/****************************/

function testDivDisplay(monDiv)
{
	if(siDivExist(monDiv) == true)
	{
		if(document.getElementById(monDiv).style.display == 'block')
			return true;
		else
			return false;
	}
}

/****************************/
/*
<Type>	Fonction
<Categorie>
<Nom>	cutChaine
<NbParam>	2
<param>
	maChaine (string) 
	nombre (int)
</Param>
<Description>
	Permet de couper une chaine de caractere, on recupere les x caracteres (definit par nombre) du debut de la chaine
</Description>
<Date Création>	02/06/2008
<Auteur Création>	STACHOWIAK Jérôme
<Modification>
</Modification> 
*/
/****************************/
function cutChaine(maChaine, nombre)
{
	if(maChaine!="") {
		if(maChaine.length > nombre) {
			return maChaine.substring(0 , nombre);
		}
		return maChaine;
	}
}

/****************************/
/*
<Type>	Fonction
<Categorie>
<Nom>	PopupCentrer
<NbParam>	10
<param>
	page 
	name
	largeur
	hauteur
	toolbar
	menubar
	scrollbars
	resizable
	status
	location
</Param>
<Description>
	Permet d'ouvrir un pop-up centre avec parametres definis
</Description>
<Date Création>	21/01/2009
<Auteur Création>	STACHOWIAK Jérôme
<Modification>
</Modification> 
*/
/****************************/
/*
function PopupCentrer(page,name,largeur,hauteur,toolbar,menubar,scrollbars,resizable,status,location) {
	var top=(screen.height-hauteur)/2;
  	var left=(screen.width-largeur)/2;
  	window.open(page,name,"top="+top+",left="+left+",height="+hauteur+",width="+largeur+",toolbar="+toolbar+",menubar="+menubar+",scrollbars="+scrollbars+",resizable="+resizable+",status="+status+",location="+location);
}*/
function PopupCentrer(page,largeur,hauteur,options,name)
{
	var top=(screen.height-hauteur)/2;
	var left=(screen.width-largeur)/2;
	window.open(page,name,"top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
}


/****************************/
/*
<Type>	Fonction
<Categorie>
<Nom>	fermerFen
<NbParam>	
<Param>
	
</Param>
<Description>
	Ferme la fenetre
</Description>
<Date Création>	25/07/2008
<Auteur Création>	STACHOWIAK Jérôme
<Modification>
</Modification> 
*/
/****************************/
function fermerFen() {
	window.close();
}


/*
<Type>	Fonction
<Categorie>
<Nom>	envoiContenu
<NbParam>	5
<Param>
	momForm
	monText
	lang
	expForm
	champ
</Param>
<Description>
	Permet de renvoyer à la page appelante le contenu saisi dans tiny
	Le formulaire qui transmet le contenu porte le nom de parametre momForm
	Le textarea qui transmet le contenu porte le nom de parametre monText
	Le formulaire de la page qui ouvre le pop-up porte le nom expForm
</Description>
<Date Création>	25/07/2008
<Auteur Création>	STACHOWIAK Jérôme
<Modification>
</Modification> 
*/
/****************************/
function envoiContenu(monForm, monText, lang, expForm, champ) {
if(lang!="")
{
	var langue = lang;
	var article="";

	if(langue=="fr")
	{
		if(champ=="article")
			article = expForm.article_fr;
		else
			article = expForm.accroche_fr;
	}
	else
	{
		if(champ=="article")
			article = expForm.article_en;
		else
			article = expForm.accroche_en;
		
	}
}
monForm.submit();
article.value = monText.value;
fermerFen();
}


function CouperChaineApres(chaine, lettre) {
  	var pos = chaine.lastIndexOf(lettre); // position de lettre dans la chaine
	var sousChaine = chaine.substr(pos+1); // renvoi tous les caracteres se trouvant apres la lettre
	return sousChaine;
}

function CouperChaineAvant(chaine, lettre) {
  	var pos = chaine.lastIndexOf(lettre); // position de lettre dans la chaine
	var sousChaine = chaine.substr(0, pos); // renvio tous les caracteres se trouvant avant la lettre
	return sousChaine;
}

function raffraichir_page() {
	// On recharge la page
	document.location = "/contenus/28/D%C3%83%C2%A9lais-de-paiement";
}

function initialise_form_adherent() {
	// On initialise les champs du formulaire de connexion adherent
	document.getElementById("identifiant").value = "";
	document.getElementById("password").value = "";
}

function affiche_sous_menu(affiche,id_rubrique, pos_top, pos_left) 
{
	sous_rubrique = "menu_sous_rubrique_" + id_rubrique;

	if(affiche==2)
	{
		// On cache toutes les div dont la classe est menu_sous_rubrique
		$("#menu .menu_sous_rubrique").hide();

		$flag_marqueur = 0;
	}

	if(affiche==1)
	{
		// On cache toutes les div dont la classe est menu_sous_rubrique
		$("#menu .menu_sous_rubrique").hide();
		$("#"+sous_rubrique).css({ top: pos_top, left: pos_left, width: 'auto', height: 'auto' });
		$("#"+sous_rubrique).show();

		$flag_marqueur = 1;
	}

	if(affiche==0 & flag_marqueur==0)
	{
		document.getElementById(sous_rubrique).style.display = "none";
	}
}

function supp_arbo_fichier(id,element)
{
	if(element!=null && id!=null)
	{
		// Noeud parent de l'arbre
		elementId = document.getElementById(id);
		element = document.getElementById(element);
		elementId.removeChild(element);
	}
}

function DOM_ARBO_FICHIERS(nbr_fichier)
{
	// On commence a creer les differentes structures dont on a besoin
	var TABLE = document.createElement('table');
	var TBODY = document.createElement('tbody');

	TBODY.setAttribute('id','fichier_'+nbr_fichier);

	TABLE.setAttribute('id','fichier_'+nbr_fichier);
	TABLE.setAttribute('cellpadding','0');
	TABLE.setAttribute('cellspacing','0');
	TABLE.setAttribute('width','620');
	TABLE.setAttribute('border','0');

	var LIGNE = document.createElement('tr');
	var TDEspaceLigne = document.createElement('td');
	//var TDtext = document.createTextNode("hi");

	TDEspaceLigne.setAttribute('height','20');
	TDEspaceLigne.setAttribute('colspan','3');
	TDEspaceLigne.colSpan = "3";

	//TDEspaceLigne.appendChild(TDtext);
	LIGNE.appendChild(TDEspaceLigne);
	//TBODY.appendChild(LIGNE);
	//TABLE.appendChild(TBODY);
	//TABLE.appendChild(LIGNE);

	//opener.document.getElementById("tableau_fichier").appendChild(TABLE);
	
	//alert(document.getElementById("tableau_fichier").innerHTML);

	///////////////////////////////////////////
	// On genere la premiere ligne du tableau
	///////////////////////////////////////////
	var LIGNE1=document.createElement('tr');

	var TDTitreFichier=document.createElement('td');
	var TITRE=document.createTextNode("Titre du fichier * :");

	TDTitreFichier.appendChild(TITRE);

	var TDInputFichier=document.createElement('td');
	var ImgInputGauche1=document.createElement('img');
	var InputTitreFichier=document.createElement('input');
	var ImgInputDroite1=document.createElement('img');

	ImgInputGauche1.setAttribute('src','/medias/images/admin/connect_input_left.gif');
	ImgInputGauche1.setAttribute('alt','');
	ImgInputGauche1.setAttribute('style','float:left;border:0;');

	InputTitreFichier.setAttribute('type','text');
	InputTitreFichier.setAttribute('name','titre_fichier_'+nbr_fichier);
	InputTitreFichier.setAttribute('id','titre_fichier_'+nbr_fichier);
	InputTitreFichier.setAttribute('value','');
	InputTitreFichier.setAttribute('class','input_connect');

	InputTitreFichier.style.marginBottom = "4px";
	InputTitreFichier.style.width = "120px";
	InputTitreFichier.style.height = "20px"; 
	InputTitreFichier.style.border = "0";
	InputTitreFichier.style.backgroundImage = "url('/medias/images/admin/connect_input_bkg.gif')";
	InputTitreFichier.style.backgroundRepeat = "repeat-x";
	InputTitreFichier.style.fontSize = "11px";
	InputTitreFichier.style.float = "left";

	InputTitreFichier.setAttribute('maxlength','150');

	ImgInputDroite1.setAttribute('src','/medias/images/admin/connect_input_right.gif');
	ImgInputDroite1.setAttribute('alt','');
	ImgInputDroite1.setAttribute('style','float:left;border:0;');

	TDInputFichier.appendChild(ImgInputGauche1);
	TDInputFichier.appendChild(InputTitreFichier);
	TDInputFichier.appendChild(ImgInputDroite1);

	var TDLegendeFichier=document.createElement('td');

	TDLegendeFichier.setAttribute('style','font-style:italic')

	var Legende=document.createTextNode("Le titre du fichier est limité à 150 caractères");

	TDLegendeFichier.appendChild(Legende);

	LIGNE1.appendChild(TDTitreFichier);
	LIGNE1.appendChild(TDInputFichier);
	LIGNE1.appendChild(TDLegendeFichier);


	///////////////////////////////////////////
	// On genere la deuxieme ligne du tableau
	///////////////////////////////////////////
	var LIGNE2=document.createElement('tr');

	var TDNomFichier=document.createElement('td');
	var NOM=document.createTextNode("Nom du fichier :");
	var TDInputNomFichier=document.createElement('td');
	var InputNomFichier=document.createElement('input');

	TDInputNomFichier.setAttribute('colspan','2');
	TDInputNomFichier.colSpan = "2";

	InputNomFichier.setAttribute('type','text');
	InputNomFichier.setAttribute('name','nom_fichier_'+nbr_fichier);
	InputNomFichier.setAttribute('id','nom_fichier_'+nbr_fichier);
	InputNomFichier.setAttribute('value','');
	InputNomFichier.setAttribute('class','input_connect');

	InputNomFichier.style.marginBottom = "4px";
	InputNomFichier.style.width = "120px";
	InputNomFichier.style.height = "20px"; 
	InputNomFichier.style.border = "0";
	InputNomFichier.style.backgroundImage = "url('/medias/images/admin/connect_input_bkg.gif')";
	InputNomFichier.style.backgroundRepeat = "repeat-x";
	InputNomFichier.style.fontSize = "11px";
	InputNomFichier.style.float = "left";

	InputNomFichier.setAttribute('maxlength','150');
	InputNomFichier.setAttribute('disabled','disabled');

	var ImgInputGauche2=document.createElement('img');
	var ImgInputDroite2=document.createElement('img');

	ImgInputGauche2.setAttribute('src','/medias/images/admin/connect_input_left.gif');
	ImgInputGauche2.setAttribute('alt','');
	ImgInputGauche2.setAttribute('style','float:left;border:0;');

	ImgInputDroite2.setAttribute('src','/medias/images/admin/connect_input_right.gif');
	ImgInputDroite2.setAttribute('alt','');
	ImgInputDroite2.setAttribute('style','float:left;border:0;');

	TDInputNomFichier.appendChild(ImgInputGauche2);
	TDInputNomFichier.appendChild(InputNomFichier);
	TDInputNomFichier.appendChild(ImgInputDroite2);

	TDNomFichier.appendChild(NOM);

	LIGNE2.appendChild(TDNomFichier);
	LIGNE2.appendChild(TDInputNomFichier);


	///////////////////////////////////////////
	// On genere la troisieme ligne du tableau
	///////////////////////////////////////////
	var LIGNE3=document.createElement('tr');

	var TDModifFichier=document.createElement('td');
	var PModifFichier=document.createElement('p');
	var AModifFichier=document.createElement('a');
	var AText=document.createTextNode('Modifier le fichier');

	TDModifFichier.setAttribute('colspan','3');
	TDModifFichier.colSpan = "3";
	TDModifFichier.style.color = "red";
	TDModifFichier.setAttribute('align','right');

	PModifFichier.setAttribute('class','add_fichier');
	PModifFichier.setAttribute('align','center');
	PModifFichier.setAttribute('style','width:100px;font-size:11px;font-family:Arial,Verdana;font-weight:normal');
	PModifFichier.style.backgroundColor = "black";
	PModifFichier.style.width = "100px";
	PModifFichier.style.fontSize = "11px";
	PModifFichier.style.fontfamily = "Arial,Verdana;font-weight:normal";

	AModifFichier.setAttribute('href','javascript:PopupCentrer("/outils/gest_fichier/lib/gest_fichier_lib.php?fichier='+nbr_fichier+'",602,600,"menubar=no,scrollbars=no,statusbar=no,resizable=no,location=no,toolbar=no")');
	AModifFichier.setAttribute('title','Modifier votre fichier');
	AModifFichier.setAttribute('style','width:100px;font-size:11px;font-family:Arial,Verdana;font-weight:normal');
	AModifFichier.style.color = "white";
	AModifFichier.style.textDecoration = "none";

	AModifFichier.appendChild(AText);
	PModifFichier.appendChild(AModifFichier);

	TDModifFichier.appendChild(PModifFichier);

	LIGNE3.appendChild(TDModifFichier);


	///////////////////////////////////////////
	// On genere la quatrieme ligne du tableau
	///////////////////////////////////////////
	var LIGNE4 = LIGNE.cloneNode(true);

	LIGNE4.firstChild.height = "5";


	///////////////////////////////////////////
	// On genere la cinquime ligne du tableau
	///////////////////////////////////////////
	var LIGNE5=document.createElement('tr');

	var TDSuppFichier=document.createElement('td');
	var PInputSupp=document.createElement('p');
	var InputSuppFichier=document.createElement('input');

	TDSuppFichier.setAttribute('colspan','3');
	TDSuppFichier.colSpan = "3";
	TDSuppFichier.setAttribute('align','right');

	InputSuppFichier.setAttribute('type','button');
	InputSuppFichier.setAttribute('value','Supprimer le fichier');
	InputSuppFichier.setAttribute('id','supp_arbo_fichier'+nbr_fichier);
	InputSuppFichier.setAttribute('class','bt_edit couleurBouton');

	InputSuppFichier.style.width = "100px";
	InputSuppFichier.style.fontSize = "11px";
	InputSuppFichier.style.fontFamily = "Arial,Verdana";
	InputSuppFichier.style.fontWeight = "normal";
	InputSuppFichier.style.border = "0";
	InputSuppFichier.style.cursor = "pointer";
	InputSuppFichier.style.backgroundColor = "black";
	InputSuppFichier.style.color = "white";

	InputSuppFichier.onclick = function() { supp_arbo_fichier("tableau_fichier","fichier_"+nbr_fichier) };

	PInputSupp.appendChild(InputSuppFichier);
	TDSuppFichier.appendChild(PInputSupp);

	LIGNE5.appendChild(TDSuppFichier);


	///////////////////////////////////////////
	// On genere la sixieme ligne du tableau
	///////////////////////////////////////////
	var LIGNE6 = document.createElement('tr');

	var TDIdHiddenFichier = document.createElement('td');
	var TDNomHiddenFichier = document.createElement('td');
	var HiddenIdFichier = document.createElement('input');
	var HiddenNomFichier = document.createElement('input');

	HiddenIdFichier.setAttribute('type','hidden');
	HiddenIdFichier.setAttribute('name','id_fichier_hidden_'+nbr_fichier);
	HiddenIdFichier.setAttribute('id','id_fichier_hidden_'+nbr_fichier);
	HiddenIdFichier.setAttribute('value','');

	HiddenNomFichier.setAttribute('type','hidden');
	HiddenNomFichier.setAttribute('name','nom_fichier_hidden_'+nbr_fichier);
	HiddenNomFichier.setAttribute('id','nom_fichier_hidden_'+nbr_fichier);
	HiddenNomFichier.setAttribute('value','');

	TDNomHiddenFichier.appendChild(HiddenNomFichier);
	TDIdHiddenFichier.appendChild(HiddenIdFichier);

	LIGNE6.appendChild(TDIdHiddenFichier);
	LIGNE6.appendChild(TDNomHiddenFichier);

	///////////////////////////////////////////
	// On genere la septieme ligne du tableau
	///////////////////////////////////////////
	var LIGNE7 = LIGNE4.cloneNode(true);

	LIGNE7.firstChild.height = "20";


	///////////////////////////////////////////
	// On genere la huitieme ligne du tableau
	///////////////////////////////////////////
	var LIGNE8 = document.createElement('tr');

	var TDhr = document.createElement('td');
	var hr = document.createElement('hr');

	TDhr.setAttribute('colspan','3');
	TDhr.colSpan = "3";
	TDhr.setAttribute('align','center');

	hr.setAttribute('width','100%');

	TDhr.appendChild(hr);
	LIGNE8.appendChild(TDhr);

	TBODY.appendChild(LIGNE);
	TBODY.appendChild(LIGNE1);
	TBODY.appendChild(LIGNE2);
	TBODY.appendChild(LIGNE3);
	TBODY.appendChild(LIGNE4);
	TBODY.appendChild(LIGNE5);
	TBODY.appendChild(LIGNE6);
	TBODY.appendChild(LIGNE7);
	TBODY.appendChild(LIGNE8);
	TABLE.appendChild(TBODY);

	// On attache toute la structure au tableau ayant comme id tableauFichier
	document.getElementById("tableau_fichier").appendChild(TABLE);
}


// Fonction qui test si l'on peut construire l'arbre
function construction_arbre_fichier()
{
	var nbr_fichier = $("#cpt_fichier").val();
	var nbr_fichier_suivant = eval(nbr_fichier) + 1;

	//alert(nbr_fichier_suivant);

	var id_prec_fichier = "#id_fichier_hidden_" + nbr_fichier_suivant;

	//alert(id_prec_fichier);
	//alert($(id_prec_fichier).val());

	// On controle si le DOM precédemment formé est vide
	// alert($(id_prec_fichier).val());

	if(nbr_fichier == 0 || ($(id_prec_fichier).val() != "" && nbr_fichier > 0))
	{
		// On incremente le compteur de fichier 
		document.getElementById("cpt_fichier").value = nbr_fichier_suivant;

		// On cré l'arborescence
		DOM_ARBO_FICHIERS(nbr_fichier_suivant);
	}
}
