// JavaScript Document
//domEl('a', 'go home', [['href', 'index.html']], document.getElementById('content'));

//domEl() prend 5 arguments, la plupart optionnels ce qui permet d'avoir plusieurs cas de figure.
//Le premier donne le type de l'élément à créer, le second le contenu de cet élément, le troisième ses attributs,
//le quatrième indique dans quel(s) élément(s) celui-ci doit être créé, et le dernier précise si l'élément remplace
//les éléments existants, ou s'ajoute à eux. 

 var domEl = function(e,c,a,p,x) {
if(e||c) {
     c=(typeof c=='string'||(typeof c=='object'&&!c.length))?[c]:c;   
    e=(!e&&c.length==1)?document.createTextNode(c[0]):e;   
     var n = (typeof e=='string')?document.createElement(e) : !(e&&e===c[0])?e.cloneNode(false):e.cloneNode(true);   
    if(e.nodeType!=3) {
        c[0]===e?c[0]='':'';
        for(var i=0,j=c.length;i<j;i++) typeof c[i]=='string'? n.appendChild(document.createTextNode(c[i]))  : n.appendChild(c[i].cloneNode(true));
        if(a) {for(var i=(a.length-1);i>=0;i--) a[i][0]=='class' ? n.className=a[i][1] : n.setAttribute(a[i][0],a[i][1]);}
     }
 }
    if(!p)return n;
     p=(typeof p=='object'&&!p.length)?[p]:p;
     for(var i=(p.length-1);i>=0;i--) {
         if(x) { while(p[i].firstChild) p[i].removeChild(p[i].firstChild);
             if(!e&&!c&&p[i].parentNode) p[i].parentNode.removeChild(p[i]);}
         if(n) p[i].appendChild(n.cloneNode(true));
     }   
 }
 //la fonction baptisée $(), issue du projet Prototype et qui sert de remplacement efficace à getElementById().
 //En effet, grâce à elle, un développeur peut remplacer ces appels de la forme var el = document.getElementById('id');
 //en var el = $('id'). C'est bien sûr plus court, mais $() va plus loin, en donnant la possibilité d'appeller plusieurs
 //id différents pour obtenir un tableau d'éléments à parcourir ensuite : var el = $('id1', 'id2', 'id3');.

function $() {
 var elements = new Array();
   for (var i=0,len=arguments.length;i<len;i++) {
        var element = arguments[i];
        if (typeof element == 'string') {
            var matched = document.getElementById(element);
             if (matched) {
                 elements.push(matched);
             } else {
                 var allels = (document.all) ? document.all : document.getElementsByTagName('*');
                 var regexp = new RegExp('(^| )'+element+'( |$)');
                 for (var i=0,len=allels.length;i<len;i++) if (regexp.test(allels[i].className)) elements.push(allels[i]);
             }
             if (!elements.length) elements = document.getElementsByTagName(element);
             if (!elements.length) {
                 elements = new Array();
                 var allels = (document.all) ? document.all : document.getElementsByTagName('*');
                 for (var i=0,len=allels.length;i<len;i++) if (allels[i].getAttribute(element)) elements.push(allels[i]);
             }
             if (!elements.length) {
                 var allels = (document.all) ? document.all : document.getElementsByTagName('*');
                 for (var i=0,len=allels.length;i<len;i++) if (allels[i].attributes) for (var j=0,lenn=allels[i].attributes.length;j<lenn;j++) if (allels[i].attributes[j].specified) if (allels[i].attributes[j].nodeValue == element) elements.push(allels[i]);
             }
         } else {
             elements.push(element);
         }
     }
     if (elements.length == 1) {
        return elements[0];
     } else {
         return elements;
     }
 }

function changeNbRows(form){
	if(form.numT){
if(form.numT.selectedIndex>0){
form.contenu.rows=7;
form.contenu.cols=60;
form.contenu.wrap="physical"
}else{
form.contenu.rows=1;
form.contenu.cols=60;
}
	}
}

function LD(form){
var num=form.numRub.selectedIndex;
var tabTemp=new Array;
if(num<3){
	setStyle('bloc_lienPage','display','block');
for(i=0;i<pageJS.length;i++){
if(pageJS[i][0]==(num+1)){	
	tabTemp.push(pageJS[i]);
		}
	}	
	remettreZero("lienPage");
	document.getElementById("lienPage").options[0]=new Option("","",false,false);
	for(j=1;j<=tabTemp.length;j++){		
		document.getElementById("lienPage").options[j]=new Option(tabTemp[j-1][1],tabTemp[j-1][2],false,false);		
	}	
}else{
	var requete = null;
	setStyle('bloc_lienPage','display','none');	
}
getCat(form);
}
function remettreZero(idListe) {
	//Suppression de l'élément d'option
	var selectListe = document.getElementById(idListe);
	var option = selectListe.getElementsByTagName("option");
	var Length = option.length;
	for (i=0;i<Length;i++) {
		selectListe.options[0]=null;		
	}
}
function supprimer(param){	
if(confirm('Voulez-vous supprimer cette ligne?')){
document.location.href=param;
}
}
function setStyle(objId, style, value) {
    document.getElementById(objId).style[style] = value;
}
function cacherChamps(form){
var num=form.numCat.selectedIndex;
if(num==9){
	setStyle('bloc_siret','display','none');
	setStyle('bloc_fax','display','none');
	setStyle('bloc_mail','display','none');
	setStyle('bloc_siteWeb','display','none');
	setStyle('bloc_nbAdherent','display','none');
	setStyle('bloc_photo','display','none');
	setStyle('bloc_photo2','display','none');
	setStyle('bloc_logo','display','none');
}else{
	setStyle('bloc_siret','display','block');
	setStyle('bloc_fax','display','block');
	setStyle('bloc_mail','display','block');
	setStyle('bloc_siteWeb','display','block');
	setStyle('bloc_nbAdherent','display','block');
	setStyle('bloc_photo','display','block');
	setStyle('bloc_photo2','display','block');
	setStyle('bloc_logo','display','block');
}
}
function getCat(formulaire) {
	
	creerRequete();
	
	var categories = formulaire.numRub;
	var numC = 0;
	
	for (i = 0; i < categories.options.length; i++) {
		if (categories.options[i].selected) {
			numC += categories.options[i].value;
		}
	}	
	
	var url = 'listes.php?numC='+numC;
	requete.open('GET', url, true);
		
	requete.onreadystatechange = function() {
		if(requete.readyState == 4) {
			if(requete.status == 200) {	
			document.getElementById('bloc_listeEnt').innerHTML = requete.responseText;			
				
			}
		}
	};	
	requete.send(null);	
}
function creerRequete() {
           if (window.ActiveXObject) { // Mozilla, Safari,...
             try {
               requete = new ActiveXObject("Msxml2.XMLHTTP");			  
            }
            catch (e) {
                try {
                    requete = new ActiveXObject("Microsoft.XMLHTTP");					
                }
                catch (e) {					
					requete = null;}
            }			 
		   }else if (window.XMLHttpRequest) { // IE		  
		   requete = new XMLHttpRequest();
            if (requete.overrideMimeType) {
                requete.overrideMimeType('text/xml');
                // Voir la note ci-dessous à propos de cette ligne
            }           
        }		
    if(requete == null) {
        alert('Votre navigateur ne semble pas supporter les objets XMLHttpRequest.');
    }
	
}
