
var Tag_tab=new Array();
// La classe Tag posséde 3 propriétés
// Voici son constructeur
function TagObjet ( id, nomTag, Tcouleur) {
 this.ident = id;
 this.nom = nomTag;
 this.couleur = Tcouleur;
}

/////////////////////////////////////////////////////
// Pour recuperer en Ajax toutes les infos du XML
////////////////////////////////////


function makeRequest(url, parameters,imageList,urlList,IconList,DateList,carousel) {
    var http_request = null;
    	if(window.XMLHttpRequest){
    	 // Firefox
      	http_request = new XMLHttpRequest();
      	//alert('firefox');
      } 
    	else{
        if(window.ActiveXObject){
         // Internet Explorer
      		http_request = new ActiveXObject("Microsoft.XMLHTTP");
      		//alert('explorer');
          }
      	else { // XMLHttpRequest non supporté par le navigateur
      		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
      		return;
      	}
    	} 
  //http_request.open('GET', url + parameters, true);
      
   http_request.onreadystatechange = function () {
			if (http_request.readyState == 4  && http_request.status == 200)  { 
            reconstruitTableau(imageList,urlList,IconList,DateList,http_request); 
            document.getElementById('textRechercheResultat').style.display = 'none';     
      }
		}; 
   //alert('2: '+http_request.readyState);
   http_request.open('GET', url + parameters, true);
   http_request.send(null);
}
function reconstruitTableau(imageList,urlList,IconList,DateList,http_request) {
 
         var xmlobject = http_request.responseXML;
         var x = xmlobject.getElementsByTagName('mail');
         var j=0;
         var le_tag;
         var TagObj;
         Tag_tab=new Array();
         var CommentList= new Array;
        // var SiteName_tab = new Array();
         var mon_lien;
         //pour la recherche
         var Id_mail=mail_ID;
         var Trouve=0;
         // Pour retrouver le jour en francais
         var le_jour=new Date();
         var tab_jour=new Array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi");
         var tab_mois=new Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
         for (i=0;i<x.length;i++)
       	{	
      		if (x[i].nodeType != 1) continue;
          imageList[i] = x[i].getElementsByTagName("chemin_jpeg")[0].childNodes[0].nodeValue;
          urlList[i] = x[i].getElementsByTagName("chemin_html")[0].childNodes[0].nodeValue;
          IconList[i] = x[i].getElementsByTagName("chemin_ico")[0].childNodes[0].nodeValue;
         // DateList[i] = x[i].getElementsByTagName("site")[0].childNodes[0].nodeValue;
          
          SiteList[i] = x[i].getElementsByTagName("site")[0].childNodes[0].nodeValue;
          CommentList[i]=x[i].getElementsByTagName("subject")[0].childNodes[0].nodeValue;
          
           DateList[i] = x[i].getElementsByTagName("datelim")[0].childNodes[0].nodeValue;
          le_jour = new Date(DateList[i]);
          DateList[i]=tab_jour[le_jour.getDay()]+' '+le_jour.getDate()+' '+tab_mois[le_jour.getMonth()];
		  le_mois = le_jour.getMonth()+1;
          DateListSansJour[i]=le_jour.getDate()+'/'+le_mois+'/'+le_jour.getFullYear();
          if (Id_mail==ValeurAttribut(x[i],'ID'))
            {
              Trouve=i-1;
            }
          //ensuite on rempli le tableau d'objet
          le_tag=x[i].getElementsByTagName("tag");
          Tag_tab[i]=new Array();
            for(j=0;j<le_tag.length;j++){   
            TagObj=new TagObjet( ValeurAttribut(le_tag[j],'IDtag'), le_tag[j].childNodes[0].nodeValue,ValeurAttribut(le_tag[j],'Couleur'));      
             Tag_tab[i][j]=TagObj;
            }
      	}
     // alert(Tag_tab[4][1].nom);
     if(Affiche_date==1){
        	for( i=1;i<=x.length+1;i++) {  
          	 if(IconList[i-1]!=''){
              mon_lien="<img src='../"+IconList[i-1]+"'></img>" + DateList[i-1];
             }else{
              mon_lien=DateList[i-1];
             }
             carousel.addItem(i, fmtItem(imageList[i-1], urlList[i-1], mon_lien, i, CommentList[i-1]), 'non-spotlight');
              // Image click will scroll to the corresponding carousel item.
              YAHOO.util.Event.addListener('carousel-image-'+i, 'click', function(evt) {
                  this.carousel.scrollTo(this.index-2);
              }, {carousel:carousel,index:i}, true);
          }
     }else{
         for( i=1;i<=x.length+1;i++) {  
            	 if(IconList[i-1]!=''){
/*                mon_lien="<img src='../"+IconList[i-1]+"'></img>" + SiteList[i-1]+"<br>"+DateListSansJour[i-1];*/
                mon_lien="<img src='../"+IconList[i-1]+"'>"+DateListSansJour[i-1];

               }else{
                mon_lien=DateList[i-1];
               }
               carousel.addItem(i, fmtItem(imageList[i-1], urlList[i-1], mon_lien, i, CommentList[i-1]), 'non-spotlight');
                // Image click will scroll to the corresponding carousel item.
                YAHOO.util.Event.addListener('carousel-image-'+i, 'click', function(evt) {
                    this.carousel.scrollTo(this.index-2);
                }, {carousel:carousel,index:i}, true);
            }
     }
     
    // Si on a defini un Mail_ID qu'on veux visualiser directement
    if (Trouve!=0){
      this.carousel.scrollTo(Trouve);
      spotlight(carousel);
      preview(carousel); 
    } else{
     spotlight(carousel);
     preview(carousel); 
    }
 
}


function reconstruitTableau2(imageList,urlList,IconList,DateList,http_request) {
 
         var xmlobject = http_request.responseXML;
         var x = xmlobject.getElementsByTagName('mail');
         var j=0;
         var le_tag;
         var TagObj;
         Tag_tab=new Array();
         //pour la recherche
         var Id_mail=mail_ID;
         var Trouve=0;
         // Pour retrouver le jour en francais
         var le_jour=new Date();
         var tab_jour=new Array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi");
         var tab_mois=new Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
         for (i=0;i<x.length;i++)
       	{	
      		if (x[i].nodeType != 1) continue;
          imageList[i] = x[i].getElementsByTagName("chemin_jpeg")[0].childNodes[0].nodeValue;
          urlList[i] = x[i].getElementsByTagName("chemin_html")[0].childNodes[0].nodeValue;
          IconList[i] = x[i].getElementsByTagName("chemin_ico")[0].childNodes[0].nodeValue;
          DateList[i] = x[i].getElementsByTagName("datelim")[0].childNodes[0].nodeValue;
          le_jour = new Date(DateList[i]);
          DateList[i]=tab_jour[le_jour.getDay()]+' '+le_jour.getDate()+' '+tab_mois[le_jour.getMonth()];
          if (Id_mail==ValeurAttribut(x[i],'ID'))
            {
              Trouve=i-1;
            }
          //ensuite on rempli le tableau d'objet
          le_tag=x[i].getElementsByTagName("tag");
          Tag_tab[i]=new Array();
            for(j=0;j<le_tag.length;j++){   
            TagObj=new TagObjet( ValeurAttribut(le_tag[j],'IDtag'), le_tag[j].childNodes[0].nodeValue,ValeurAttribut(le_tag[j],'Couleur'));      
             Tag_tab[i][j]=TagObj;
            }
      	}
     // alert(Tag_tab[4][1].nom);
      	if(Affiche_date==1){
          for( i=1;i<=x.length+1;i++) {
         
             carousel.addItem(i, fmtItem(imageList[i-1], urlList[i-1], "<img src='../"+IconList[i-1]+"'></img>" + DateList[i-1], i), 'non-spotlight');
        
              // Image click will scroll to the corresponding carousel item.
              YAHOO.util.Event.addListener('carousel-image-'+i, 'click', function(evt) {
                  this.carousel.scrollTo(this.index-2);
              }, {carousel:carousel,index:i}, true);
          }
        }else {
          for( i=1;i<=x.length+1;i++) {
         
             carousel.addItem(i, fmtItem(imageList[i-1], urlList[i-1], "<img src='../"+IconList[i-1]+"'></img>" + SiteList[i-1], i), 'non-spotlight');
        
              // Image click will scroll to the corresponding carousel item.
              YAHOO.util.Event.addListener('carousel-image-'+i, 'click', function(evt) {
                  this.carousel.scrollTo(this.index-2);
              }, {carousel:carousel,index:i}, true);
          }
        }
        
        
     
    // Si on a defini un Mail_ID qu'on veux visualiser directement
    if (Trouve!=0){
      this.carousel.scrollTo(Trouve);
      spotlight(carousel);
      preview(carousel); 
    } else{
     spotlight(carousel);
     preview(carousel); 
    }
 
}



/////////////////////////////////////
//recupere la variable dans l'url 
function url(param) {
     var chaine=window.location.search;
     chaine=chaine.substring(1);
     
     var dz=chaine.indexOf("#",0);
     if(dz!=-1) {
     chaine=chaine.substring(0,dz);}
     chaine=chaine+"&";
     if(chaine.indexOf(param,0)!=-1){
     var pos=chaine.indexOf(param,0);
     var pos2=chaine.indexOf("=",pos);
     var pos3=chaine.indexOf("&",pos);
     var contenu=chaine.substring(pos2+1,pos3);}
    return contenu;
}

// Charge le fichier XML
function importXML(imageList,urlList,xml_Name)
{
  
	if (document.implementation && document.implementation.createDocument)
	{
	  //xml_Name="datamail.data.xml";
		xmlDoc = document.implementation.createDocument("", "", null);
		xmlDoc.load(xml_Name);
		
	 //  alert('c est firefox');
	//	xmlDoc.onload = createTableau(imageList,urlList);
		xmlDoc.onload = function(){createTableau(imageList,urlList);}
	}
	else if (window.ActiveXObject)
	{
	  //alert('c est explorer');
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.onreadystatechange = function () {
			if (xmlDoc.readyState == 4) createTableau(imageList,urlList)
		};
 	}
	else
	{
		alert('Your browser can\'t handle this script');
		return;
	}
	xmlDoc.load(xml_Name);
}
// Rempli les tableaux à partir du document XML
function createTableau(imageList,urlList)
{
  var x = xmlDoc.getElementsByTagName('mail');
  //alert(x.length);
  //alert("taille"+x.length);
  
  
  for (i=0;i<x.length;i++)
	{
	
		if (x[i].nodeType != 1) continue;
	
    imageList[i] = ValeurAttribut(x[i],'chemin_jpeg');
    //alert(imageList[i]);
    urlList[i]= ValeurAttribut(x[i],'chemin_jpeg');
	}

}
///////////////////////////////////
////////
///////
///////////////////////////////////
// Charge le fichier XML
function importeXML(imageList,urlList,IconList,xml_Name)
{
  
	if (document.implementation && document.implementation.createDocument)
	{
	  //xml_Name="datamail.data.xml";
		xmlDoc = document.implementation.createDocument("", "", null);
		xmlDoc.load(xml_Name);
		
	 //  alert('c est firefox');
	//	xmlDoc.onload = createTableau(imageList,urlList);
		xmlDoc.onload = function(){rempliTableau(imageList,urlList,IconList);}
	}
	else if (window.ActiveXObject)
	{
	  //alert('c est explorer');
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.onreadystatechange = function () {
			if (xmlDoc.readyState == 4) rempliTableau(imageList,urlList,IconList)
		};
 	}
	else
	{
		alert('Your browser can\'t handle this script');
		return;
	}
	xmlDoc.load(xml_Name);
}

// Rempli les tableaux à partir du document XML
function rempliTableau(imageList,urlList,IconList)
{
  var x = xmlDoc.getElementsByTagName('mail');

  for (i=0;i<x.length;i++)
	{	
		if (x[i].nodeType != 1) continue;
    imageList[i] = x[i].getElementsByTagName("chemin_jpeg")[0].childNodes[0].nodeValue;
    urlList[i] = x[i].getElementsByTagName("chemin_html")[0].childNodes[0].nodeValue;
    IconList[i] = x[i].getElementsByTagName("chemin_ico")[0].childNodes[0].nodeValue;
	}
}

function ValeurAttribut(noeud, attribut) {
  if (!noeud) return "";
  if ((!attribut) || (attribut=="")) return "";
  if (noeud.getAttribute(attribut)) return noeud.getAttribute(attribut);
  if (noeud.attributes[attribut]) return noeud.attributes[attribut].value;
  return "";
}

