 
 //load xml 
xmlDoc=loadXMLDoc(dname);
var NohCP;
var NohCPCities		= new Array();

var NohCPCountries	= new Array();
var NohCPDates    	= new Array();

//xml tags                                          
var pays    = xmlDoc.getElementsByTagName("pays"); 
var ville   = xmlDoc.getElementsByTagName("ville");

var dateDebutValiditeJour   = xmlDoc.getElementsByTagName("date_debut_validite_jour");
var dateDebutValiditeMois   = xmlDoc.getElementsByTagName("date_debut_validite_mois");
var dateDebutValiditeAnnee  = xmlDoc.getElementsByTagName("date_debut_validite_annee");

var dateFinValiditeJour   = xmlDoc.getElementsByTagName("date_fin_validite_jour");
var dateFinValiditeMois   = xmlDoc.getElementsByTagName("date_fin_validite_mois");
var dateFinValiditeAnnee  = xmlDoc.getElementsByTagName("date_fin_validite_annee");

var periodeValidite	  	= xmlDoc.getElementsByTagName("periode_validite");

var nombreNuits = xmlDoc.getElementsByTagName("nb_nuit");
var itemFixes = xmlDoc.getElementsByTagName("fixe");

var itemtarskey1   = xmlDoc.getElementsByTagName("tarskey1");
var itemtarskey2   = xmlDoc.getElementsByTagName("tarskey2");
var itemtarskey3   = xmlDoc.getElementsByTagName("tarskey3");


var tmp_compare = Array();
var tmp_countries = Array();



for (i=0,j=0,kntr=0;i<pays.length;i++)
{
    try 
    {
        //get xml tags values
        var nom_pays    = pays[i].childNodes[0].nodeValue;
	
        var nom_ville   = ville[i].childNodes[0].nodeValue;
        
        var date_debut_validite_jour    = dateDebutValiditeJour[i].childNodes[0].nodeValue;
        var date_debut_validite_mois    = dateDebutValiditeMois[i].childNodes[0].nodeValue;
        var date_debut_validite_annee   = dateDebutValiditeAnnee[i].childNodes[0].nodeValue;
        
        var date_fin_validite_jour  = dateFinValiditeJour[i].childNodes[0].nodeValue;
        var date_fin_validite_mois  = dateFinValiditeMois[i].childNodes[0].nodeValue;
        var date_fin_validite_annee = dateFinValiditeAnnee[i].childNodes[0].nodeValue;
		
		var periode_validite = periodeValidite[i].childNodes[0].nodeValue;
        
        var nb_nuits = nombreNuits[i].childNodes[0].nodeValue;
        var item_fixes = itemFixes[i].childNodes[0].nodeValue;
       
        var tab_tarskey1 = typeof(itemtarskey1[i].childNodes[0])!="undefined" && itemtarskey1[i].childNodes[0]!=null ? itemtarskey1[i].childNodes[0].nodeValue : "";
        var tab_tarskey2 = typeof(itemtarskey2[i].childNodes[0])!="undefined" && itemtarskey2[i].childNodes[0]!=null ? itemtarskey2[i].childNodes[0].nodeValue : "";
        var tab_tarskey3 = typeof(itemtarskey3[i].childNodes[0])!="undefined" && itemtarskey3[i].childNodes[0]!=null ? itemtarskey3[i].childNodes[0].nodeValue : "";
       
        if (!tmp_compare.in_array_minus(nom_pays)) {
            j=0;
            //store country name
            NohCPCountries[kntr] = nom_pays;
            //store country name as displayed
            tmp_compare[i]  = nom_pays;
            tmp_countries[nom_pays] = kntr;
            //store the first city
            NohCPCities[kntr+1] = new Array();
            NohCPCities[kntr+1][j] = ville[i].childNodes[0].nodeValue;
            //store the dates 
            NohCPDates[nom_pays] = [];
            NohCPDates[nom_pays][nom_ville] = [];
            NohCPDates[nom_pays][nom_ville].push (date_debut_validite_jour + "/" + date_debut_validite_mois + "/" + date_debut_validite_annee);
            NohCPDates[nom_pays][nom_ville].push (date_fin_validite_jour + "/" + date_fin_validite_mois + "/" + date_fin_validite_annee);
            NohCPDates[nom_pays][nom_ville].push (nb_nuits);
            NohCPDates[nom_pays][nom_ville].push (item_fixes);
			NohCPDates[nom_pays][nom_ville].push (periode_validite);
           	NohCPDates[nom_pays][nom_ville].push (tab_tarskey1);
           	NohCPDates[nom_pays][nom_ville].push (tab_tarskey2);
           	NohCPDates[nom_pays][nom_ville].push (tab_tarskey3);
            //counters
            kntr++;
        } else {
            j++;
            NohCPCities[tmp_countries[nom_pays]+1][j] = nom_ville;
            //store the dates
            NohCPDates[nom_pays][nom_ville] = [];
            NohCPDates[nom_pays][nom_ville].push (date_debut_validite_jour + "/" + date_debut_validite_mois + "/" + date_debut_validite_annee);
            NohCPDates[nom_pays][nom_ville].push (date_fin_validite_jour + "/" + date_fin_validite_mois + "/" + date_fin_validite_annee);
            NohCPDates[nom_pays][nom_ville].push (nb_nuits);
            NohCPDates[nom_pays][nom_ville].push (item_fixes);
			NohCPDates[nom_pays][nom_ville].push (periode_validite);
            NohCPDates[nom_pays][nom_ville].push (tab_tarskey1);
           	NohCPDates[nom_pays][nom_ville].push (tab_tarskey2);
           	NohCPDates[nom_pays][nom_ville].push (tab_tarskey3);
       
		
	   }
    } catch(e) {
    }
}

