//addeventlisteners:

function addEvent(elm, evType, fn, useCapture) 
			{
			if (elm.addEventListener) {
				  elm.addEventListener(evType, fn, useCapture); 
				  return 1;
				} else if (elm.attachEvent) {
				  var r = elm.attachEvent('on' + evType, fn);
				  return r;
				} else {
				  elm['on' + evType] = fn;
				}
  			}
			
// fcts de suppression, d'effacement

function supprimeImage(champ)

{
	//recup des pointeurs sur tags
	var par = window.parent.document;
	var instance = par.getElementById('champ'+champ);
	// supression de l'image du champ, si besoin
	var image = instance.getElementsByTagName('img')[0];
	if (image) {instance.removeChild(image);}	
}

/*function supprimeBtneffacer(champ)

{
	//recup des pointeurs sur tags
	var par = window.parent.document;
	var instance = par.getElementById('champ'+champ);
	// supression de l'image du champ, si besoin
	var btn = par.getElementById('btneffacer'+champ);
	if (btn) {instance.removeChild(btn);}	
}*/


function effaceChamp(champ, typedata) 
{ 
   if(confirm( lng_adminjs[2])) //msg alerte : etes vous sur?
		{
		var par = window.parent.document;
		par.getElementById('flagaction'+champ).value="suppr";
		par.getElementById('champ'+champ).style.display='none';
		ajouteBtnEnregistrer( lng_adminjs[0], typedata);	
		}  
	
}

// ***************************************************************************************  
// fcts d'ajout

function afficheImage(source, champ, typedata, forcageCache )

{
	// supression de l'image du champ, si besoin
	supprimeImage(champ);
	//recup des pointeurs sur tags
	var par = window.parent.document;
	var instance = par.getElementById('champ'+champ);
	//creation nouvelle image
	var image_new = par.createElement('img');
	image_new.id='image'+champ;
	image_new.name='image'+champ;
	if (forcageCache==1) image_new.src="../fonctions/afficheimage.php?unique="+(Math.round(Math.random(0)*9999999))+"&pic="+source;
	else image_new.src=source;
	image_new.className = typedata+'_vignetteloaded';
	instance.appendChild(image_new);
	
}

function afficheFeedback(msg, champ)

{
	//recup des pointeurs sur tags
	var par = window.parent.document;
	// supression de l'image du champ, si besoin
	var feedback = par.getElementById('feedback'+champ);
	feedback.innerHTML = msg;
	
}

function ajouteBtneffacer(champ, typedata)
{
	/*supprimeBtneffacer(champ);*/
	var par = window.parent.document;
	var instance = par.getElementById('spanbtnsuppr'+champ);
	instance.innerHTML='<input type="button" value="'+lng_adminjs[1]+'" name="btneffacer'+champ+'" id="btneffacer'+champ+'" class="'+typedata+'_btnsuppr" onclick=\'effaceChamp('+champ+', "'+typedata+'")\'></input>';
		
}

function ajouteBtnEnregistrer(label, typedata)
{
	var par = window.parent.document;
	var existbtn = par.getElementById(typedata+'_btnsubmit')
	if (!existbtn)
	{
		var upform= par.getElementById(typedata+'_mainform');
		var btnEnreg = par.createElement('input');
		btnEnreg.type='submit';
		btnEnreg.id=typedata+'_btnsubmit' ;
		btnEnreg.name=typedata+'_btnsubmit' ;
		btnEnreg.value=label;	
		upform.appendChild(btnEnreg);
	}
}

function nouveauChamp(dossier, nouvchamp, typedata, champtitre, champtexte) 
{ 
     // recup des pointeurs sur les tags
	var par = window.parent.document;
	var upform= par.getElementById(typedata+'_mainform');
	var url="uploadiframe.php?id="+dossier+"&champ="+nouvchamp+"&typedata="+typedata+"&champtitre="+champtitre+"&champtexte="+champtexte;
	// Feedback personnalisé en fct du type de fichier
	var fb="";
	if (typedata=='img' ) {fb=lng_adminjs[3]; }
	if (typedata=='pj' ) {fb=lng_adminjs[4];}
	var divchamp = par.createElement('div');
	
		divchamp.name="champ"+nouvchamp;
		divchamp.id="champ"+nouvchamp;
		divchamp.className=typedata+"_champ";
		var html="<div id='feedback"+nouvchamp+"' name='feedback"+nouvchamp+"' class='"+typedata+"_feedback'>"+fb+"</div>";
		html+="<input type='hidden' name='flagaction"+nouvchamp+"' id='flagaction"+nouvchamp+"' value=''></input>";
		html+="<input type='hidden' name='flagidfichier"+nouvchamp+"' id='flagidfichier"+nouvchamp+"'></input>";
		html+="<input type='hidden' name='flagtypedata"+nouvchamp+"' id='flagtypedata"+nouvchamp+"'></input>";
		html+="<input type='hidden' name='flagpathfichier"+nouvchamp+"' id='flagpathfichier"+nouvchamp+"'></input>";
		html+="<input type='hidden' name='flagorigine"+nouvchamp+"' id='flagorigine"+nouvchamp+"' value='vide'></input>";
		html+="<table>";
		html+="<tr>";
		html+="<td class='"+typedata+"_champ_label'>"+lng_adminjs[5]+"</td>";
		html+="<td><iframe id='"+typedata+"_frame'  src='"+url+"' frameborder=0 marginwidth=0 marginheight=0></iframe><span id='spanbtnsuppr"+nouvchamp+"'></span></td>";
		html+="</tr>";
		if (champtitre==1)
			{	html+="<tr><td class='"+typedata+"_champ_label'>"+lng_adminjs[6]+"</td><td><input type='text' id='titre"+nouvchamp+"' name='titre"+nouvchamp+"' class='"+typedata+"_titre' rows=1 onkeyup='handleKeyup("+nouvchamp+",\""+typedata+"\")'></input></td></tr>"; }
		if (champtexte==1)
			{	html+="<tr><td class='"+typedata+"_champ_label'>"+lng_adminjs[7]+"</td><td><textarea id='texte"+nouvchamp+"' name='texte"+nouvchamp+"'  class='"+typedata+"_commentaire' rows=3 onkeyup='handleKeyup("+nouvchamp+",\""+typedata+"\")'></textarea></td></tr>"; }	
		html+="</table>";
		
		divchamp.innerHTML=html;
	var boutonSubmit = par.getElementById(typedata+'_btnsubmit');
	if (boutonSubmit)
		{upform.insertBefore(divchamp, boutonSubmit);}
	else
		{upform.appendChild(divchamp);}
	var flaglastchamp = par.getElementById("lastchamp");
	flaglastchamp.value= nouvchamp;
}

function afficheChampUpload( dossier, nouvchamp, idfichier, typedata, titre, texte, pathimage, pathfichier, champtitre, champtexte)
{ 
     //on crée le champ à vide en fct des données module, iddossier et n° de champ
	nouveauChamp(dossier, nouvchamp, typedata, champtitre, champtexte) ;
	 //création de l'image et du bouton effacer
	afficheImage(pathimage, nouvchamp, typedata, 1);
	ajouteBtneffacer(nouvchamp, typedata);
	 // recup des pointeurs sur les tags
	var par = window.parent.document;
	//maj
	par.getElementById('flagorigine'+nouvchamp).value='bdd';
	par.getElementById('flagpathfichier'+nouvchamp).value=pathfichier;
	par.getElementById('flagidfichier'+nouvchamp).value=idfichier;
	var champtitre= par.getElementById('titre'+nouvchamp);
	if(champtitre) {champtitre.value=titre;}
	var champtexte= par.getElementById('texte'+nouvchamp);
	if(champtexte) 
		{
		while (texte.indexOf("<br/>") >= 0)
			{texte=texte.replace("<br/>","\n");}
		champtexte.value=texte;
		}
	if (typedata=='img')
		{
		afficheFeedback(lng_adminjs[8]+(nouvchamp+1), nouvchamp);
		}
	else
		{
		var pos= pathfichier.indexOf('_');
		var msg= lng_adminjs[9]+(nouvchamp+1)+" : "+pathfichier.substring(pos+1, pathfichier.length);
		afficheFeedback(msg, nouvchamp);
		}
}

// ************************************************************************************** 
// fcts de maj de flag



function handleKeyup(champ, typedata)
{
	majFlagaction(champ, "modiftxt");
	var par = window.parent.document;
	if (par.getElementById('flagorigine'+champ).value=='bdd' || par.getElementById('flagaction'+champ).value=='ajout')
		{ajouteBtnEnregistrer( lng_adminjs[0], typedata);}
}


function majFlagaction(champ, action)

{
	//recup des pointeurs sur tags
	var par = window.parent.document;
	var newflagaction = par.getElementById('flagaction'+champ);
	if (action!='modiftxt' || newflagaction.value!='ajout')
		{newflagaction.value=action;}	
}

function majFlagpathfichier(champ, path)

{
	//recup des pointeurs sur tags
	var par = window.parent.document;
	var instance = par.getElementById('flagpathfichier'+champ);
	instance.value=path;
	
}

function majTitre(champ, newtitre)

{
	//recup des pointeurs sur tags
	var par = window.parent.document;
	var instance = par.getElementById('titre'+champ);
	if (instance)
		{if(instance.value=='') instance.value=newtitre;}
	
}

// ***************************************************************************************   
// fcts d'action

function uploadFichier(dossier, champ, typedata, champtitre, champtexte) 
{ 
     // recup des pointeurs sur les tags
	var par = window.parent.document;
	var instance = par.getElementById('champ'+champ);
	var image = instance.getElementsByTagName('img')[0];
	//msg en transfert
	afficheFeedback(lng_adminjs[10], champ);
	// vérifier si existe déjà une image (signe qu'il faut la supprimer)
	if (image) 
		{instance.removeChild(image);}
	//ajouter l'image "en transfert"
	var new_img = par.createElement('img');
	new_img.src = '../../design/admin/indicator.gif';
	new_img.className = typedata+'_vignetteloading';
	instance.appendChild(new_img);	
	// s'il n'a pas de bloc champ suivant, on en crée un
	var instancesuivante = par.getElementById('champ'+(champ+1));
	if  (!instancesuivante)
		{nouveauChamp( dossier, champ+1, typedata, champtitre, champtexte) ;}
	// envoyer la purée
	 document.iframeform.submit()
}



// ************************ MODIF SQL+REEL SUR LES ARTICLES *****************************************

function bdd_changeStatut(id, nouveauStatut ) //change le statut(privé/public) d'un dossier, en rafraichissant la page
	{ 
    window.location.replace('index.php?action=gerer&maj=updatestatut&id='+id+'&nouvstatut='+nouveauStatut );
	}
 
function bdd_supprDossier(id) // supprime un dossier donné, après confirmation, et rafraichit la page
	{	
	if(confirm(lng_adminjs[11] )) 
		{ 
		window.location.replace('index.php?action=gerer&maj=deletedossier&id='+id );
		}
	}




