/**
 * @author Nurun
 */
//*** ECOUTEURS ***//
Event.observe(window, 'load', initFilters, false);

function showLoading(text){
    if (text == "") 
        text = "Chargement...";
    
    if (!$("loaderDiv")) {
        var htmlCode = '<div id="loaderDiv" style="display:block;z-index:200;position:absolute;width:280px;height:70px;left:339px;top:50px;text-align:center;padding-top:40px"><img src="/fr/fr/img/cdc_loader.gif" alt="" /><p>' + text + '</p><img alt="" style="position:absolute;left:-539px;top:-300px;" src="/fr/fr/img/px.gif" width="1200" height="500" border="0"/></div>';
        $("galery").innerHTML += htmlCode;
        $("scrollZone").style.display = 'none';
        $("galeryPagination").style.display = 'none';
        $("filters").style.display = 'none';
        $("categorieName").style.display = 'none';
        $("foreword").style.display = 'none';
        $("prev").style.display = 'none';
        $("next").style.display = 'none';
    }
    else {
        $("loaderDiv").getElementsByTagName("p")[0].innerHTML = text;
        //alert($("loaderDiv").getElementsByTagName("p")[0].innerHTML);
    }
}

function hideLoading(){
    $("loaderDiv").style.display = "none";
    $("scrollZone").style.display = 'block';
    $("galeryPagination").style.display = 'block';
    $("filters").style.display = 'block';
    $("categorieName").style.display = 'block';
    $("foreword").style.display = 'block';
    $("prev").style.display = 'block';
    $("next").style.display = 'block';
}

function initFilters(){
    try {
        // Initialisation XML
        
        
        // Filtres
        Event.observe('btModelFilters', 'click', modelFiltersON, false);
        Event.observe('btColorFilters', 'click', colorFiltersON, false);
        Event.observe('btThemeFilter', 'click', themeFilterON, false); 
        
        //etats ouverts ou fermes des listes d?roulantes
        etatModel = 0;
        etatColor = 0;
        etatTheme = 0;
        //?tats item s?lectionn? ou non des listes d?roulantes
        selectedModel = "";
        selectedColor = "";
        selectedTheme = "";
        //stockage du titre des combos
        themeTitle = $('themeFilter').parentNode.getElementsByTagName("a")[0].firstChild.nodeValue;
        modelTitle = $('modelFilters').parentNode.getElementsByTagName("a")[0].firstChild.nodeValue;
        colorTitle = $('colorFilters').parentNode.getElementsByTagName("a")[0].firstChild.nodeValue;
		//alert(themeTitle+" "+modelTitle+" "+colorTitle);
        displayZoom = true;
        // Pop-in
        xMousePos = 0;
        yMousePos = 0;
        Event.observe('popinThemesClose', 'click', popinThemesClose, false);
		if ($('filters')) {
            if (!document.getElementById('categorieName').className) 
                return;
            //loadXml('/fr/fr/xml/'+document.getElementById('categorieName').className+'.xml');// pour tester en local
            loadXml('/fr/fr/xml/' + document.getElementById('categorieName').className + '.xmlx');
        }
    } 
    catch (e) {
    }
}


//*** FICHIERS XML ***//
function loadXml(url){
    showLoading("Chargement des données");
    var req = new Ajax.Request(url, {
        method: 'get',
        asynchronous: true,
        onSuccess: initData,
        onFailure: reportError
    });
}

var colorMapping = {
    'Les beiges': {
        name: 'Les beiges',
        url: '/fr/fr/img/color-beige.gif'
    },
    'Les blancs': {
        name: 'Les blancs',
        url: '/fr/fr/img/color-blanc.gif'
    },
    'Les bleus': {
        name: 'Les bleus',
        url: '/fr/fr/img/color-bleu.gif'
    },
    'Les bordeaux': {
        name: 'Les bordeaux',
        url: '/fr/fr/img/color-BURGANDY.gif'
    },
    'Les gris': {
        name: 'Les gris',
        url: '/fr/fr/img/color-gris.gif'
    },
    'Les jaunes': {
        name: 'Les jaunes',
        url: '/fr/fr/img/color-jaune.gif'
    },
    'Les marrons': {
        name: 'Les marrons',
        url: '/fr/fr/img/color-marron.gif'
    },
    'Les noirs': {
        name: 'Les noirs',
        url: '/fr/fr/img/color-noir.gif'
    },
    'Les oranges': {
        name: 'Les oranges',
        url: '/fr/fr/img/color-ORANGERS.gif'
    },
    'Les roses': {
        name: 'Les roses',
        url: '/fr/fr/img/color-rose.gif'
    },
    'Les rouges': {
        name: 'Les rouges',
        url: '/fr/fr/img/color-rouge.gif'
    },
    'Les uniques': {
        name: 'Les imprimés',
        url: '/fr/fr/img/color-IMPRIMES.gif'
    },
    'Les verts': {
        name: 'Les verts',
        url: '/fr/fr/img/color-VERTS.gif'
    },
    'Les violets': {
        name: 'Les violets',
        url: '/fr/fr/img/color-VIOLETS.gif'
    }
};
/**
 * INITIALISATION
 */
function initData(req){
    try {
        data = req.responseXML;
        //alert(data);
        // Categorie
        var categorie = data.getElementsByTagName('CalledCategory');
        //alert(categorie);
        var categorieName = categorie[0].getElementsByTagName('DisplayName')[0].firstChild.nodeValue;
        $('categorieName').innerHTML = categorieName;
        $('categorieName2').innerHTML += categorieName;
        
        // visuel de background
        try{
        var globalBackground = categorie[0].getElementsByTagName('MediaUrl')[0].firstChild.nodeValue;
        }
        catch (ee)
        {
        var globalBackground = "vide";
        }
        // parfois pas de jpeg dans le cms, du coup le xml renvoi un répertoire au lieu d'un fichier .jpg, dans ce cas, pas de changement de visuel
        /*if(globalBackground!="" && (globalBackground.indexOf(".jpg")>0) && globalBackground.indexOf(".jpeg")>0){
         changeGlobalBackground(globalBackground);
         }*/
        if (globalBackground != "" || (globalBackground.indexOf(".jpg") > 0) || globalBackground.indexOf(".jpeg") > 0) {
            changeGlobalBackground(globalBackground);
        }
        // Produits
        productNameArray = new Array();
        productIdArray = new Array();
        productUrlArray = new Array();
        colorNameArray = new Array();
        colorNameArrayAll = new Array();
        colorUrlArray = new Array();
        colorUrlArrayAll = new Array();
        themeNameArray = new Array();
        themeNameArrayAll = new Array();
        codeNameArray = new Array();
        codeNameArrayAll = new Array();
        productPhotoArray = new Array();
        productPriceArray = new Array();
        productOriginalPriceArray = new Array();
        productPercentPriceArray = new Array();
        modelesArray = new Array();
        modelesArrayAll = new Array();
        modelesUrlArray = new Array();
        modelesUrlArrayAll = new Array();

        var products = data.getElementsByTagName('Product');
        productXml = products;
        productLen = products.length;
        for (var i = 0; i < productLen; i++) {
            
            // ID
            var productId = products[i].getElementsByTagName('ProductId')[0].firstChild.nodeValue;
            productIdArray.push(productId);
            // Name
            var productName = products[i].getElementsByTagName('MainCategory')[0].getElementsByTagName('DisplayName')[0].firstChild.nodeValue;
            productNameArray.push(productName);
            // url product
            var productUrl = products[i].getElementsByTagName('Url')[0].firstChild.nodeValue;
            productUrlArray.push(productUrl);
            // Photo
            var productPhoto = products[i].getElementsByTagName('MainCategory')[0].getElementsByTagName('Path')[0].firstChild.nodeValue;
            productPhotoArray.push(productPhoto);
            // Prix
            if (products[i].getElementsByTagName('Price')[0].firstChild) {
                var productPrice = products[i].getElementsByTagName('Price')[0].firstChild.nodeValue;
		            // Ancien Prix
								if (products[i].getElementsByTagName('OriginalPrice')[0].firstChild) {
										var productOriginalPrice = products[i].getElementsByTagName('OriginalPrice')[0].firstChild.nodeValue;
										if (productOriginalPrice != productPrice) {
												var productPercentPrice = Math.round(100-((100*parseFloat(productPrice))/parseFloat(productOriginalPrice)));

												productOriginalPrice += " Euros";
												productPercentPrice = "- "+productPercentPrice+"%";
										}
										else
										{
												productOriginalPrice = "";
												var productPercentPrice = "";
										}
								}
								else {
										var productOriginalPrice = "";
										var productPercentPrice = "";
								}
                productPrice += " Euros";
                
                //el090115 a enlever pour apparition pourcentage
                //productPercentPrice ="";
                ///////////////////////////////////////
            }
            else {
                var productPrice = "Non disponible";
                var productOriginalPrice = "";
                var productPercentPrice = "";
            }
            
            productPercentPriceArray.push(productPercentPrice);         
               
            productPriceArray.push(productPrice);
            // Ancien Prix
            productOriginalPriceArray.push(productOriginalPrice);



            // Couleurs
	    if (products[i].getElementsByTagName('ColorList').length > 0)
	    {
	            var colors = products[i].getElementsByTagName('ColorList')[0].getElementsByTagName('Color');
	            var colorLen = colors.length;
	            for (var j = 0; j < colorLen; j++) {
	                var colorUrl = [];
	                var colorName = colors[j].getElementsByTagName('Name')[0].firstChild.nodeValue;
	                if (colorMapping[colorName]) {
	                    colorNameArrayAll.push(colorMapping[colorName].name);
	                    colorUrlArrayAll.push(colorMapping[colorName].url);
	                }
	            }
	    }
            //if (i==39) alert(colorLen);
            // Modeles
            var modeles = products[i].getElementsByTagName('MainCategory')[0].getElementsByTagName('DisplayName')[0].firstChild.nodeValue;
            modelesArrayAll.push(modeles);
            var modelesUrl = products[i].getElementsByTagName('MainCategory')[0].getElementsByTagName('Path')[0].firstChild.nodeValue;
            modelesUrlArrayAll.push(modelesUrl);
            // Themes
            var themeTemp = products[i].getElementsByTagName('SecondaryCategory');
            themeLen = themeTemp.length;
            for (var k = 0; k < themeLen; k++) {
                if (themeTemp[k].getElementsByTagName('Path')[0].firstChild.nodeValue.indexOf('AXE_THEMES') < 1) {
                    continue
                }
                else {
                }
                var themeName = themeTemp[k].getElementsByTagName('DisplayName')[0].firstChild.nodeValue;
                themeNameArrayAll.push(themeName);
				//var escapedThemeName = themeName.replace("'","");
				//themeNameArrayAll.push(escapedThemeName);
                var codeName = themeTemp[k].getElementsByTagName('Code')[0].firstChild.nodeValue;
                codeNameArrayAll.push(codeName);
            }
        }
        colorNameArray = deleteDoublon(colorNameArrayAll);
        colorUrlArray = deleteDoublon(colorUrlArrayAll);
        themeNameArray = deleteDoublon(themeNameArrayAll);
        codeNameArray = deleteDoublon(codeNameArrayAll);
        modelesArray = deleteDoublon(modelesArrayAll);
        
        hideLoading();
        //alert("après hideloading");
        if (getUrl() != "") {
            //alert("url :" + getUrl() + ":");
            selectedColor = getColorUrlParameter();
            selectedModel = getModelUrlParameter();
            selectedTheme = getThemeUrlParameter();
            initGallery();
            galerieNow = Number(getPageUrlParameter());
            
            if (selectedModel != "") {
                $('modelFilters').parentNode.getElementsByTagName("a")[0].innerHTML = selectedModel;
            }
            if (selectedTheme != "") {
                //$('themeFilter').parentNode.getElementsByTagName("a")[0].innerHTML = selectedTheme;
                //$('btThemeFilter').innerHTML="<a href='#'>"+selectedTheme+"</a><a href='#' class='test' onclick=\"popinThemes('"+"');return false\"><img src='/fr/fr/img/picto-info.gif' alt='Informations' class='infoPicto' /></a>"
                displaySelectedThemeTitle();
            }
            else {
                displayDefaultThemeTitle();
            }
            
            if (selectedColor != "") {
                $('colorFilters').parentNode.getElementsByTagName("a")[0].innerHTML = selectedColor;
            }
            
            displayGallery(getProductIdList(selectedModel, selectedColor, selectedTheme));
        }
        else {
            selectedColor = "";
            selectedModel = "";
            selectedTheme = "";
            //alert("avant initGallery");
            initGallery();
            //alert("après initGallery");
            galerieNow = 0;
            displayDefaultThemeTitle();
            //alert("après displayDefaultThemeTitle");
        }
        
        if (etatModel == 0 && etatTheme == 0 && etatColor == 0) {
            $('filters').style.zIndex = 1;
            $('galery').style.zIndex = 5;
            displayZoom = true;
        }
        else {
            $('filters').style.zIndex = 5;
            $('galery').style.zIndex = 1;
            displayZoom = false;
        }
        //alert("avant initGalerie");
        initGalerie();
        //alert("après initGalerie");
    } 
    catch (e) {
    }
}

/**
 * LISTE DEROULANTE MODELE
 */
//fonction activ?e au clic sur le titre de la liste d?roulante Modele
function modelFiltersON(e){
    try {
        galerieZoomOff();
        if (etatModel == 0) {
            $('modelFilters').innerHTML = "";
            // si aucun autre filtre selectionn?, on liste tous les possibles.
            if (selectedModel == "") {
                if (selectedColor == "" && selectedTheme == "") {
                    displayModelList(modelesArray, true);
                }
                else {
                    displayModelList(getModelList(selectedTheme, selectedColor), true);
                }
            }
            else {
                displaySelectedModelMode();
            }
            etatModel = 1;
        }
        else {
            disappearList('modelFilters');
            etatModel = 0;
        }
        if (etatModel == 0 && etatTheme == 0 && etatColor == 0) {
            $('filters').style.zIndex = 1;
            $('galery').style.zIndex = 5;
            displayZoom = true;
        }
        else {
            $('filters').style.zIndex = 5;
            $('galery').style.zIndex = 1;
            displayZoom = false;
        }
        Event.stop(e);
    } 
    catch (e) {
    }
}

//fonction activ?e au clic sur un item de la liste d?roulante Modele
function filtreModel(id){
    try {
        galerieZoomOff();
        selectedModel = id;
        //la s?lection d'un modele affecte la liste des valeurs possibles de couleurs
        //et la change si la liste d?roulante est ouverte
        if (etatColor == 1 && selectedColor == "") {
            $('colorFilters').innerHTML = "";
            if (selectedModel == "" && selectedTheme == "") {
                displayColorList(colorNameArray, false);
            }
            else {
                displayColorList(getColorList(selectedModel, selectedTheme), false);
            }
        }
        //la s?lection d'un modele affecte la liste des valeurs possibles de theme
        //et la change si la liste d?roulante est ouverte
        if (etatTheme == 1 && selectedTheme == "") {
            $('themeFilter').innerHTML = "";
            if (selectedModel == "" && selectedColor == "") {
                //console.log('function filtreModel(id) // if (selectedModel == "" && selectedColor == "") => '+themeNameArray)
				displayThemeList(themeNameArray, false);				
            }
            else {
                displayThemeList(getThemeList(selectedModel, selectedColor), false);
            }
        }
        if (etatModel == 1 && selectedModel == "") {
            $('modelFilters').parentNode.getElementsByTagName("a")[0].innerHTML = modelTitle;
            disappearList('modelFilters');
            etatModel = 0;
        }
        if (etatModel == 1 && selectedModel != "") {
            etatModel = 0;
            $('modelFilters').parentNode.getElementsByTagName("a")[0].innerHTML = selectedModel;
            disappearList('modelFilters');
        }
        galerieNow = 0;
        if (etatModel == 0 && etatTheme == 0 && etatColor == 0) {
            $('filters').style.zIndex = 1;
            $('galery').style.zIndex = 5;
            displayZoom = true;
        }
        else {
            $('filters').style.zIndex = 5;
            $('galery').style.zIndex = 1;
            displayZoom = false;
        }
        displayGallery(getProductIdList(selectedModel, selectedColor, selectedTheme));
    } 
    catch (e) {
    }
}

//affiche la liste des modeles possibles
//modelesArray : Array d?signe le tableau des valeurs possibles
//animation : Boolean indique si l'affichage se fait avec animation
function displayModelList(modelesArray, animation){
    try {
        var modelesLen = modelesArray.length;
        $('modelFilters').innerHTML = "";
        $('modelFilters').parentNode.getElementsByTagName("a")[0].innerHTML = modelTitle;
        for (var i = 0; i < modelesLen; i++) {
            var modelesName = modelesArray[i];
            $('modelFilters').innerHTML += "<li><a href='#" + buildModelUrl(modelesName) + "' onclick=\"filtreModel('" + modelesName + "');\">" + modelesName + "</a></li>";
        }
        $('modelFilters').innerHTML += "<li><div class='listFilters-bas'></div></li>";
        
        if (animation == true) {
            appearList('modelFilters');
        }
        else {
            $('modelFilters').style.display = "block";
        }
    } 
    catch (e) {
    }
}

// affiche la liste d?roulante des Modeles lorsqu'une valeur est d?ja s?lectionn?e
function displaySelectedModelMode(){
    $('modelFilters').parentNode.getElementsByTagName("a")[0].innerHTML = selectedModel;
    $('modelFilters').innerHTML = "";
    $('modelFilters').innerHTML = "<li><a href='#" + buildModelUrl("") + "' onclick=\"filtreModel('" + "" + "');\"><span class='colorName'>" + modelTitle + "</span></a></li>";
    $('modelFilters').innerHTML += "<li><div class='listFilters-bas'></div></li>";
    //$('modelFilters').style.display="block";
    appearList('modelFilters');
    
}

// permet d'obtenir la liste des modeles possibles par rapport a un theme et une couleur
// color="" si aucune color n'est selectionn?e
// theme ="" si aucun theme n'est s?lectionn?
function getModelList(theme, color){
    try {
        var temp = new Array();
        var result = new Array();
        var products = data.getElementsByTagName('Product');
        for (var i = 0; i < products.length; i++) {
            var pcolorList = getColorListFromProduct(i);
            var pthemeList = getThemeListFromProduct(i);
            if (isInArray(pcolorList, color) && isInArray(pthemeList, theme)) {
                temp.push(i);
            }
        }
        for (var j = 0; j < temp.length; j++) {
            result.push(getModelFromProduct(temp[j]));
        }
        result = deleteDoublon(result);
        return result;
    } 
    catch (e) {
    }
}

// permet d'obtenir le modele d'un produit
function getModelFromProduct(i){
    try {
        var modele = data.getElementsByTagName('Product')[i].getElementsByTagName('MainCategory')[0].getElementsByTagName('DisplayName')[0].firstChild.nodeValue;
        return modele;
    } 
    catch (e) {
    }
}

/**
 * LISTE DEROULANTE COULEUR
 */
//fonction activ?e au clic sur le titre de la liste d?roulante Color
function colorFiltersON(e){
    try {
        galerieZoomOff();
        if (etatColor == 0) {
            $('colorFilters').innerHTML = "";
            if (selectedColor == "") {
                if (selectedModel == "" && selectedTheme == "") {
                    displayColorList(colorNameArray, true);
                }
                else {
                    displayColorList(getColorList(selectedModel, selectedTheme), true);
                }
            }
            else {
                displaySelectedColorMode();
            }
            etatColor = 1;
        }
        else {
            disappearList('colorFilters');
            etatColor = 0;
        }
        if (etatModel == 0 && etatTheme == 0 && etatColor == 0) {
            $('filters').style.zIndex = 1;
            $('galery').style.zIndex = 5;
            displayZoom = true;
        }
        else {
            $('filters').style.zIndex = 5;
            $('galery').style.zIndex = 1;
            displayZoom = false;
        }
        Event.stop(e);
    } 
    catch (e) {
    }
}

//fonction activ?e au clic sur un item de la liste d?roulante Color
function filtreColor(name){
    try {
        galerieZoomOff();
        selectedColor = name;
        //la sélection d'une couleur affecte la liste des valeurs possibles de theme
        //et la change si la liste d?roulante est ouverte
        if (etatTheme == 1 && selectedTheme == "") {
            $('themeFilter').innerHTML = "";
            if (selectedModel == "" && selectedColor == "") {
                //console.log('function filtreColor(name) // if (selectedModel == "" && selectedColor == "") => '+themeNameArray)
				displayThemeList(themeNameArray, false);				
            }
            else {
                displayThemeList(getThemeList(selectedModel, selectedColor), false);
            }
        }
        //la s?lection d'une couleur affecte la liste des valeurs possibles de modele
        //et la change si la liste d?roulante est ouverte
        if (etatModel == 1 && selectedModel == "") {
            $('modelFilters').innerHTML = "";
            // si aucun autre filtre selectionn?, on liste tous les possibles.
            if (selectedColor == "" && selectedTheme == "") {
                displayModelList(modelesArray, false);
            }
            else {
                displayModelList(getModelList(selectedTheme, selectedColor), false);
            }
        }
        if (etatColor == 1 && selectedColor == "") {
            $('colorFilters').parentNode.getElementsByTagName("a")[0].innerHTML = colorTitle;
            disappearList('colorFilters');
            etatColor = 0;
        }
        if (etatColor == 1 && selectedColor != "") {
            etatColor = 0;
            disappearList('colorFilters');
            $('colorFilters').parentNode.getElementsByTagName("a")[0].innerHTML = selectedColor;
        }
        galerieNow = 0;
        if (etatModel == 0 && etatTheme == 0 && etatColor == 0) {
            $('filters').style.zIndex = 1;
            $('galery').style.zIndex = 5;
            displayZoom = true;
        }
        else {
            $('filters').style.zIndex = 5;
            $('galery').style.zIndex = 1;
            displayZoom = false;
        }
        displayGallery(getProductIdList(selectedModel, selectedColor, selectedTheme));
    } 
    catch (e) {
    }
}

/* affiche la liste des couleur possibles
 * colorNameArray : Array d?signe le tableau des valeurs possibles
 * colorUrlArray : Array d?signe le tableau des urls des pastilles
 * animation : Boolean indique si l'affichage se fait avec animation*/
function displayColorList(colorNameArray, animation){
    try {
        var colorLen = colorNameArray.length;
        $('colorFilters').parentNode.getElementsByTagName("a")[0].innerHTML = colorTitle;
        $('colorFilters').innerHTML = "";
        for (var i = 0; i < colorLen; i++) {
            var colorName = colorNameArray[i];
            var colorUrl = getColorUrl(colorName);
            
            $('colorFilters').innerHTML += "<li><a href='#" + buildColorUrl(colorName) + "' onclick=\"filtreColor('" + colorName + "');\"><span class='colorName'>" + colorName + "</span><img src='" + colorUrl + "' alt='' class='colorPicto' width='13' height='13' onerror='this.src=\"/fr/fr/img/px.gif\"' /></a></li>";
        }
        $('colorFilters').innerHTML += "<li><div class='listFilters-bas'></div></li>";
        if (animation == true) {
            appearList('colorFilters');
        }
        else {
            $('colorFilters').style.display = "block";
        }
        
    } 
    catch (e) {
    }
}

// affiche la liste d?roulante des couleurs lorsqu'une valeur est d?ja s?lectionn?e
function displaySelectedColorMode(){
    try {
        $('colorFilters').parentNode.getElementsByTagName("a")[0].innerHTML = selectedColor;
        $('colorFilters').innerHTML = "<li><a href='#" + buildColorUrl("") + "' onclick=\"filtreColor('" + "" + "');\"><span class='colorName'>" + colorTitle + "</span></a></li>";
        $('colorFilters').innerHTML += "<li><div class='listFilters-bas'></div></li>";
        //$('colorFilters').style.display="block";
        appearList('colorFilters');
    } 
    catch (e) {
    }
}

// permet d'obtenir la liste des couleurs possible dans le contexte d'un theme et d'un modele
// model="" si aucun modele n'est selectionn?
// theme ="" si aucun theme n'est s?lectionn?
function getColorList(model, theme){
    try {
        var temp = new Array();
        var result = new Array();
        var products = data.getElementsByTagName('Product');
        var len = products.length;
        for (var i = 0; i < len; i++) {
            var pmodel = getModelFromProduct(i);
            var pthemeList = getThemeListFromProduct(i);
            if ((model == pmodel || model == "") && isInArray(pthemeList, theme)) {
                temp.push(i);
            }
        }
        for (var j = 0; j < temp.length; j++) {
            result = addArray(getColorListFromProduct(temp[j]), result);
        }
        result = deleteDoublon(result);
        return result;
    } 
    catch (e) {
    }
}

///liste des couleur associ?es a un produit
function getColorListFromProduct(i){
    try {
        var colorListArrayAll = new Array();
        var result = new Array();
        var colorList = data.getElementsByTagName('Product')[i].getElementsByTagName('ColorList')[0].getElementsByTagName('Color');
        for (var i = 0; i < colorList.length; i++) {
            colorListArrayAll.push(colorList[i].getElementsByTagName('Name')[0].firstChild.nodeValue);
        }
        var colorLen = colorListArrayAll.length;
        for (var j = 0; j < colorLen; j++) {
            var colorUrl = [];
            var colorName = colorListArrayAll[j];
            if (colorMapping[colorName]) {
                result.push(colorMapping[colorName].name);
            }
        }
        return deleteDoublon(result);
    } 
    catch (e) {
    }
}

function getColorUrlList(model, theme){
    try {
        var temp = new Array();
        var result = new Array();
        var products = data.getElementsByTagName('Product');
        for (var i = 0; i < products.length; i++) {
            var pmodel = getModelFromProduct(i);
            var pthemeList = getThemeListFromProduct(i);
            if ((model == pmodel || model == "") && isInArray(pthemeList, theme)) {
                temp.push(i);
            }
        }
        for (var j = 0; j < temp.length; j++) {
            result = addArray(getColorUrlListFromProduct(temp[j]), result);
        }
        result = deleteDoublon(result);
        return result;
    } 
    catch (e) {
    }
}

function getColorUrlListFromProduct(i){
    try {
        var colorUrlListArrayAll = new Array();
        var result = new Array();
        var colorUrlList = data.getElementsByTagName('Product')[i].getElementsByTagName('ColorList')[0].getElementsByTagName('Color');
        for (var i = 0; i < colorUrlList.length; i++) {
            colorUrlListArrayAll.push(colorUrlList[i].getElementsByTagName('Url')[0].firstChild.nodeValue);
        }
        return deleteDoublon(colorUrlListArrayAll);
    } 
    catch (e) {
    }
}

function getColorUrl(colorName){
    for (var i = 0; i < colorNameArray.length; i++) {
        if (colorNameArray[i] == colorName) {
            return colorUrlArray[i];
        }
    }
}

/**
 * LISTE DEROULANTE THEME
 */
//fonction activ?e au clic sur le titre de la liste d?roulante Theme
function themeFilterON(e){
    try {
        galerieZoomOff();
        if (etatTheme == 0) {
            $('themeFilter').innerHTML = "";
            if (selectedTheme == "") {
                if (selectedModel == "" && selectedColor == "") {
					//console.log('function themeFilterON(e) // if (selectedModel == "" && selectedColor == "") => '+themeNameArray)
                    //var unescapedThemeNameArray = themeNameArray.replace("'","");
					displayThemeList(themeNameArray, true);
                }
                else {
                    displayThemeList(getThemeList(selectedModel, selectedColor), true);
                }
            }
            else {
                displaySelectedThemeMode();
            }
            etatTheme = 1;
        }
        else {
            disappearList('themeFilter');
            etatTheme = 0;
        }
        
        if (etatModel == 0 && etatTheme == 0 && etatColor == 0) {
            $('filters').style.zIndex = 1;
            $('galery').style.zIndex = 5;
            displayZoom = true;
        }
        else {
            $('filters').style.zIndex = 5;
            $('galery').style.zIndex = 1;
            displayZoom = false;
        }
        Event.stop(e);
    } 
    catch (e) {
    }
}

//fonction activ?e au clic sur un item de la liste d?roulante Theme
function filtreTheme(name){
    try {
        galerieZoomOff();
		selectedTheme = name;
        //selectedTheme = unescape(name);
        //la s?lection d'un theme affecte la liste des valeurs possibles de couleur
        //et la change si la liste d?roulante est ouverte
        if (etatColor == 1 && selectedColor == "") {
            $('colorFilters').innerHTML = "";
            if (selectedModel == "" && selectedTheme == "") {
                displayColorList(colorNameArray, false);
            }
            else {
				//console.log('if (etatColor == 1 && selectedColor == "") => '+selectedTheme)
                displayColorList(getColorList(selectedModel, selectedTheme), false);
            }
        }
        //la s?lection d'un theme affecte la liste des valeurs possibles de modele
        //et la change si la liste d?roulante est ouverte
        if (etatModel == 1 && selectedModel == "") {
            $('modelFilters').innerHTML = "";
            // si aucun autre filtre selectionn?, on liste tous les possibles.
            if (selectedColor == "" && selectedTheme == "") {
                displayModelList(modelesArray, false);
            }
            else {
				//console.log('if (etatModel == 1 && selectedModel == "") => '+selectedTheme)
                displayModelList(getModelList(selectedTheme, selectedColor), false);
            }
        }
        if (etatTheme == 1 && selectedTheme == "") {
            displayDefaultThemeTitle();
            disappearList('themeFilter');
            etatTheme = 0;
        }
        if (etatTheme == 1 && selectedTheme != "") {
            etatTheme = 0;
            disappearList('themeFilter');
            displaySelectedThemeTitle();
        }
        if (etatModel == 0 && etatTheme == 0 && etatColor == 0) {
            $('filters').style.zIndex = 1;
            $('galery').style.zIndex = 5;
            displayZoom = true;
        }
        else {
            $('filters').style.zIndex = 5;
            $('galery').style.zIndex = 1;
            displayZoom = false;
        }
        galerieNow = 0;
        displayGallery(getProductIdList(selectedModel, selectedColor, selectedTheme));
		//console.log('displayGallery(getProductIdList(selectedModel, selectedColor, selectedTheme)); => '+unescape(selectedTheme)
    } 
    catch (e) {
    }
}

/* affiche la liste des Theme possibles
 * themeNameArray : Array d?signe le tableau des valeurs possibles
 * animation : Boolean indique si l'affichage se fait avec animation*/
function displayThemeList(themeNameArray, animation){
	//console.log('function displayThemeList => '+themeNameArray)
    try {
        var themeLen = themeNameArray.length;
        displayDefaultThemeTitle();
        $('themeFilter').innerHTML = "";
        for (var i = 0; i < themeLen; i++) {
            var themeName = themeNameArray[i];
			var cleanThemeName = themeName.replace("'"," ");
			//console.log('function displayThemeList => '+themeName)
            var codeName = codeNameArray[i];
            // POP-IN
            //if (hasThemeSomeInfos(themeName)) {$('themeFilter').innerHTML += "<li><a href='#' title=' ' onclick=\"filtreTheme('"+themeName+"');\"><span class='colorName'>"+themeName+"</span></a><a href='#' class='test' onclick=\"popinThemes('"+codeName+"');return false\"><img src='/fr/fr/img/picto-info.gif' alt='Informations' class='infoPicto' /></a></li>";}
            //else {
            $('themeFilter').innerHTML += "<li><a href='#" + buildThemeUrl(themeName) + "' onclick=\"filtreTheme('" + cleanThemeName + "')\">" + themeName + "</a></li>";
            //$('themeFilter').innerHTML += "<li><a href='#" + buildThemeUrl(escape(themeName)) + "' onclick='filtreTheme(\"" + themeName + "\")'>" + themeName + "</a></li>";
        }
        //}
        $('themeFilter').innerHTML += "<li><div class='listFilters-bas'></div></li>";
        if (animation == true) {
            appearList('themeFilter');
        }
        else {
            $('themeFilter').style.display = "block";
        }
    } 
    catch (e) {
    }
}

// affiche la liste d?roulante des Themes lorsqu'une valeur est d?ja s?lectionn?e
function displaySelectedThemeMode(){
    try {
        displaySelectedThemeTitle();
        $('themeFilter').innerHTML = "";
        $('themeFilter').innerHTML = "<li><a href='#" + buildThemeUrl("") + "' onclick=\"filtreTheme('" + "" + "');\"><span class='colorName'>" + themeTitle + "</span></a></li>";
        $('themeFilter').innerHTML += "<li><div class='listFilters-bas'></div></li>";
        //$('themeFilter').style.display="block";
        appearList('themeFilter');
    } 
    catch (e) {
    }
}

//// permet d'obtenir la liste des couleurs possible dans le contexte d'un model et d'une couleur
// color="" si aucune couleur n'est selectionn?e
// theme ="" si aucun theme n'est s?lectionn?
function getThemeList(model, color){
    try {
        var temp = new Array();
        var result = new Array();
        var products = data.getElementsByTagName('Product');
        for (var i = 0; i < products.length; i++) {
            var pcolorList = getColorListFromProduct(i);
            var pmodel = getModelFromProduct(i);
            if (isInArray(pcolorList, color) && (model == pmodel || model == "")) {
                temp.push(i);
            }
        }
        for (var j = 0; j < temp.length; j++) {
            result = addArray(getThemeListFromProduct(temp[j]), result);
        }
        result = deleteDoublon(result);
        return result;
    } 
    catch (e) {
    }
}

//permet d'obtenir la liste des theme associ?s a un produit
//i:Number le numero du produit dans la liste globale
//return un tableau
function getThemeListFromProduct(i){
    try {
        var themeListArrayAll = new Array();
        var themeTemp1 = data.getElementsByTagName('Product')[i].getElementsByTagName('SecondaryCategory');
        var themeLen = themeTemp1.length;
        for (var i = 0; i < themeLen; i++) {
            if (themeTemp1[i].getElementsByTagName('Path')[0].firstChild.nodeValue.indexOf('AXE_THEMES') < 1) {
                continue
            }
            else {
                var themeName = themeTemp1[i].getElementsByTagName('DisplayName')[0].firstChild.nodeValue;
                themeListArrayAll.push(themeName);
            }
        }
		//console.log(deleteDoublon(themeListArrayAll));
        return deleteDoublon(themeListArrayAll);
    } 
    catch (e) {
    }
}

//Permet de savoir si un theme a une pastille infos associ?e
function hasThemeSomeInfos(themeName){
    try {
        var products = data.getElementsByTagName('Product');
        var len = products.length;
        for (k = 0; k < len; k++) {
            var themeTemp1 = products[k].getElementsByTagName('SecondaryCategory');
            var themeLen = themeTemp1.length;
            for (var i = 0; i < themeLen; i++) {
                if (themeTemp1[i].getElementsByTagName('Path')[0].firstChild.nodeValue.indexOf('AXE_THEMES') < 1) {
                    continue
                }
                else {
                    var name = themeTemp1[i].getElementsByTagName('DisplayName')[0].firstChild.nodeValue;
                    if (name == themeName) {
                        var hasInfos = themeTemp1[i].getElementsByTagName('IsContentDisplayed')[0].firstChild.nodeValue;
                        return Boolean(Number(hasInfos));
                    }
                }
            }
        }
        return false;
    } 
    catch (e) {
    }
}

function displaySelectedThemeTitle(){
    if (hasThemeSomeInfos(selectedTheme)) {
        var codeName = codeNameArray[getIndex(themeNameArray, selectedTheme)];
        //var codeName="";
        //alert(getIndex(themeNameArray,selectedTheme));
        //$('btThemeFilter').innerHTML = "<a href='#' onclick='themeFilterON();return false;'>" + selectedTheme + "</a><a href='#' class='test' onclick=\"popinThemes('" + codeName + "');return false\"><img src='/fr/fr/img/picto-info.gif' alt='Informations' class='infoPicto' /></a>";
		$('btThemeFilter').innerHTML = "<a href='#'>" + selectedTheme + "</a><a href='#' class='test' onclick=\"popinThemes('" + codeName + "');return false\"><img src='/fr/fr/img/picto-info.gif' alt='Informations' class='infoPicto' /></a>";
    }
    else {
        //$('btThemeFilter').innerHTML = "<a href='#' onclick='themeFilterON();return false;'>" + selectedTheme + "</a>";
		$('btThemeFilter').innerHTML = "<a href='#'>" + selectedTheme + "</a>";
    }
}

function displayDefaultThemeTitle(){
	//alert(themeTitle);
    //$('btThemeFilter').innerHTML = "<a href='#' onclick=\"themeFilterON();return false;\">" + themeTitle +"</a>";
	$('btThemeFilter').innerHTML = "<a href='#'>" + themeTitle +"</a>";
}

function appearList(list){
    //alert("appearlist")
    //new Effect.Appear(list, {duration:2, fps:25, from:1.0, to:0.0});
    //new Effect.Opacity(list,{duration:0.6, from:0, to:1.0});
    $(list).style.display = 'block';
    //$(list).setOpacity(0);
}

function disappearList(list){
    //new Effect.Opacity(list,{duration:0.3, from:1.0, to:0.0});
    $(list).style.display = 'none';
}

function getUrl(param){
    //var q=document.location.search||document.location.hash;
    var q = document.location.hash;
    if (q) {
        return unescape(q);
    }
    return "";
}

/**
 * GESTION DES PARAMETRES D'URLS
 */
function getUrlParameter(param){
    var q = unescape(document.location.hash);
    if (q) {
        var _2b = q.substring(1).split(";;");
        for (var i = 0; i < _2b.length; i++) {
            if (_2b[i].substring(0, _2b[i].indexOf(":")) == param) {
                return _2b[i].substring((_2b[i].indexOf(":") + 1));
            }
        }
    }
    return "";
}

function getModelUrlParameter(){
    return getUrlParameter("m");
}

function getColorUrlParameter(){
    return getUrlParameter("c");
}

function getThemeUrlParameter(){
    return getUrlParameter("t");
}

function getPageUrlParameter(){
    return getUrlParameter("p");
}

function buildThemeUrl(theme){
	//console.log('buildThemeUrl => '+theme)
    var url = "";
    if (selectedModel != "") {
        url += "m:" + selectedModel + ";;";
    }
    if (selectedColor != "") {
        url += "c:" + selectedColor + ";;";
    }
    if (theme != "") {
        url += "t:" + unescape(theme) + ";;";
    }
    return escape(url + "p:" + 0);
}

function buildColorUrl(color){
    var url = "";
    if (selectedModel != "") {
        url += "m:" + selectedModel + ";;";
    }
    if (color != "") {
        url += "c:" + color + ";;";
    }
    if (selectedTheme != "") {
        url += "t:" + selectedTheme + ";;";
    }
    return escape(url + "p:" + 0);
}

function buildModelUrl(model){
    var url = "";
    if (model != "") {
        url += "m:" + model + ";;";
    }
    if (selectedColor != "") {
        url += "c:" + selectedColor + ";;";
    }
    if (selectedTheme != "") {
        url += "t:" + selectedTheme + ";;";
    }
    return escape(url + "p:" + 0);
}

function buildPageUrl(page){
    var url = "";
    if (selectedModel != "") {
        url += "m:" + selectedModel + ";;";
    }
    if (selectedColor != "") {
        url += "c:" + selectedColor + ";;";
    }
    if (selectedTheme != "") {
        url += "t:" + selectedTheme + ";;";
    }
    return escape(url + "p:" + page);
}

function buildCurrentUrl(){
    var url = "";
    if (selectedModel != "") {
        url += "m:" + selectedModel + ";;";
    }
    if (selectedColor != "") {
        url += "c:" + selectedColor + ";;";
    }
    if (selectedTheme != "") {
        url += "t:" + selectedTheme + ";;";
    }
    return escape(url + "p:" + galerieNow);
}

/**
 * LISTE DE RESULTATS
 */
function initGallery(){
    try {
        $('galeryList').innerHTML = "";
        //alert("initGallery "+productIdArray.length);
        var s = "";
        for (var i = 0; i < productIdArray.length; i++) {
            //console.log("productIdArray.length : "+productIdArray.length);
            var a = getSmallImageProductUrl(i, selectedColor);
            //console.log(a);
            var oLi = "<li id='" + productIdArray[i].replace(/[()]/ig, "_") + "'><div class='itemDisplay'>";
            //alert("1: "+i);
            var oA = "<a onmouseover=\"galerieZoom('" + i + "','" + productIdArray[i].replace(/[()]/ig, "_") + "')\" href='" + productUrlArray[i] + "' >";
            //alert("2: "+i);
            var oImg = "<img id='" + productIdArray[i].replace(/[()]/ig, "_") + "_img' src='" + a + "' alt='' width='160' height='172' onerror='this.src=\"/fr/fr/img/px.gif\"' />";
            if (productOriginalPriceArray[i] == "") {
            	var oEnd = "</a><p>" + productPriceArray[i] + "</p></div></li>";
            }
            else
            {
            	//var oEnd = "</a><p>" + productPriceArray[i] + "</p></div></li>";
            	var oEnd = "</a><p><span class='prix_barre'>" + productOriginalPriceArray[i] + "</span>&nbsp;" + productPriceArray[i] + "&nbsp;<span class='promo'>" + productPercentPriceArray[i] + "</span></p></div></li>";


            }

            //alert("4: "+i);
            var oO1 = oLi + oA;
            var oO2 = oImg + oEnd;
            s += oO1 + oO2;
            //alert(i);
        }
        toShow = new Array();
        $('galeryList').innerHTML = s;
    } 
    catch (e) {
    }
}

//Affiche la liste des produits
//productIdList : Array liste des id de produit a montr?s
function displayGallery(productIdList){
    try {
        toShow = new Array();
        paginate();
        displayZoom = false;
        var prodIdArLen = productIdArray.length;
        //alert("displayGallery "+prodIdArLen);
        var k = 0;
        var l = 0;
        var num = 0;
        var num2 = 0;
        for (var i = 0; i < prodIdArLen; i++) {
            //console.log("prodIdArLen : "+prodIdArLen)
            tomask = true;
            var prodIdLiLen = productIdList.length;
            
            for (var j = 0; j < prodIdLiLen; j++) {
                if (productIdList[j] == i) {
                    tomask = false;
                    //alert('if (productIdList[j] == i)')
                }
            }
            //alert(tomask+" "+productIdArray[i]);
            if (tomask == true) {
				//console.log((productIdArray[i]))
                if ($(productIdArray[i].replace(/[()]/ig, "_")).style.display != 'none') {
                    
					num2 = num2 + 1;
                }
                if (num2 >= (galerieNow - 0.4) * 5 && num2 < (galerieNow + 1.4) * 5) {
                    if ($(productIdArray[i].replace(/[()]/ig, "_")).style.display != 'none') {
                        //new Effect.DropOut(productIdArray[i].replace(/[()]/ig, "_"),{duration:(0.2+k*0.2)});
                        new Effect.Shrink(productIdArray[i].replace(/[()]/ig, "_"), {
                            duration: (0.2 + k * 0.2)
                        });
                        k = k + 1;
                    }
                }
                else {
                    $(productIdArray[i].replace(/[()]/ig, "_")).style.display = 'none';
                }
            }
            else {
                num = num + 1;
                //alert('tomask == false')
                if (num >= (galerieNow - 0.4) * 5 && num < (galerieNow + 1.4) * 5) {
                    if ($(productIdArray[i].replace(/[()]/ig, "_")).style.display == 'none') {
                        new Effect.Grow(productIdArray[i].replace(/[()]/ig, "_"), {
                            duration: (0.6 + l * 0.2),
                            fps: 25,
                            from: 0.0,
                            to: 1.0
                        });
                        l = l + 1;
                    }
                }
                else {
                    toShow.push(productIdArray[i].replace(/[()]/ig, "_"));
                    //$(productIdArray[i].replace( /[()]/ig, "_")).style.display = 'block';	
                }
                //$(productIdArray[i].replace( /[()]/ig, "_")).style.display = 'block';
                //alert($(productIdArray[i]+'_img').src);
                $(productIdArray[i].replace(/[()]/ig, "_") + '_img').src = getSmallImageProductUrl(i, selectedColor);
            }
            
        }
        paginate();
        setTimeout("showHiddenItems()", 1000);
        setTimeout("allowZoom()", 2000);
        //alert('selectedColor => '+selectedColor)
        galerieGo(galerieNow);
    } 
    catch (e) {
    }
}

function showHiddenItems(){
    for (var i = 0; i < toShow.length; i++) {
        $(toShow[i]).style.display = 'block';
    }
}

function allowZoom(){
    displayZoom = true;
    paginate();
}

function changeGlobalBackground(url_new){
    try {
        if (url_new != "") {
            //alert('backgroundImage:'+url_new);
            $("backgroundImage").onload = function(){
                //alert("onload")
                //this.style.display="block";
                new Effect.Appear('backgroundImage', {
                    duration: 2,
                    fps: 25,
                    from: 0.0,
                    to: 1.0
                });
                //new Effect.Opacity('backgroundImage',{ duration: 0.5, transition: Effect.Transitions.linear, from: 0, to: 1 });
            }
            $("backgroundImage").src = url_new;
            $("backgroundImage").style.display = 'none';
        }
        else {
            $("backgroundImage").src = '/fr/fr/img/px.gif';
        }
    } 
    catch (e) {
    }
}

// permet d'obtenir la liste des produit par rapport aux diff?rents crit?res selectionn?es
function getProductIdList(model, color, theme){
    try {
        //alert("getProductIdList");
        var temp = new Array();
        var products = data.getElementsByTagName('Product');
        var len = products.length;
        for (var i = 0; i < len; i++) {
            var pmodel = getModelFromProduct(i);
            var pthemeList = getThemeListFromProduct(i);
            var pcolorList = getColorListFromProduct(i);
			//console.log("pthemeList => "+pthemeList+ " theme => "+theme)
            if ((model == pmodel || model == "") && isInArray(pthemeList, theme) && isInArray(pcolorList, color)) {
				//console.log("pthemeList => "+pthemeList+ " theme => "+theme)
                temp.push(i);				
            }
        }
		//console.log("temp : "+temp)
        return temp;
    } 
    catch (e) {
    }
}

function getSmallImageProductUrl(index, sColor){
    try {
        var colorList = data.getElementsByTagName('Product')[index].getElementsByTagName('ColorList')[0].getElementsByTagName('Color');
        
        for (var i = 0; i < colorList.length; i++) {
            xmlColorName = colorList[i].getElementsByTagName('Name')[0].firstChild.nodeValue;
            if (colorMapping[xmlColorName].name == sColor && sColor != "") {
                var allColors = colorList[i].getElementsByTagName('Name');
                //alert(allColors);			
                for (var k = 0; k < allColors.length; k++) {
                    //alert(colorList[i].getElementsByTagName('Name')[0]);
                    //alert("colorList[i].getElementsByTagName('Name')[k] => "+colorList[i].getElementsByTagName('Name')[k].firstChild.nodeValue+ " sColor => "+sColor);
                    if (colorList[i].getElementsByTagName('Name')[k].firstChild.nodeValue == sColor) {
                        //console.log('image OK => '+colorList[i].getElementsByTagName('Name')[k].firstChild.nodeValue);
                        //alert("if => "+colorList[i].getElementsByTagName('Url')[k].firstChild.nodeValue);
                        //return colorList[i].getElementsByTagName('Url')[k].firstChild.nodeValue;
                        return colorList[i].getElementsByTagName('Url')[k].firstChild.nodeValue
                    }
                    else {
                        //console.log('image pas OK => '+colorList[i].getElementsByTagName('Name')[k].firstChild.nodeValue);
                        //alert("else => "+colorList[i].getElementsByTagName('Url')[0].firstChild.nodeValue);
                        return colorList[i].getElementsByTagName('Url')[0].firstChild.nodeValue;
                    }
                    
                }
            }
            if (sColor == "") {
                //alert('nocolor');
                return colorList[i].getElementsByTagName('Url')[0].firstChild.nodeValue;
            }
        }
    } 
    catch (e) {
    }
}

function getBackgroundImageProductUrl(productId, selectedColor){
    var url = "";
    
    return url;
}

function getProductOriginalPrice(index){
    return data.getElementsByTagName('Product')[index].getElementsByTagName('OriginalPrice')[0].firstChild.nodeValue;
}

function getProductPercentPrice(index){
		return Math.round(100-((100*parseFloat(getProductPrice(index)))/parseFloat(getProductOriginalPrice(index))));
}

function getProductPrice(index){
    return data.getElementsByTagName('Product')[index].getElementsByTagName('Price')[0].firstChild.nodeValue;
}

function getProductUrl(index){
    return data.getElementsByTagName('Product')[index].getElementsByTagName('Url')[0].firstChild.nodeValue;
}

function getLargeImageProductUrl(productId, selectedColor){
    try {
        var colorList = data.getElementsByTagName('Product')[productId].getElementsByTagName('ColorList')[0].getElementsByTagName('Color');
        for (var i = 0; i < colorList.length; i++) {
            xmlColorName = colorList[i].getElementsByTagName('Name')[0].firstChild.nodeValue;
            if (colorMapping[xmlColorName].name == selectedColor) {
                return colorList[i].getElementsByTagName('Url')[1].firstChild.nodeValue
            }
            if (selectedColor == "") {
                //alert(productId+" "+i+" "+sColor+" "+colorList[i].getElementsByTagName('Url')[0].firstChild.nodeValue);
                return colorList[i].getElementsByTagName('Url')[1].firstChild.nodeValue;
                //alert('return selectedColor +> '+colorList[i].getElementsByTagName('Url')[0].firstChild.nodeValue)
            }
        }
    } 
    catch (e) {
    }
}

function reportError(req){
    //alert("Erreur de chargement...");
    showLoading("Erreur de chargement...");
}


//*** POP-IN : MESSAGE ***//
function popinThemes(codeTheme){
    try {
        var req = new Ajax.Request('/fr/fr/xml/' + codeTheme + '.xmlx?noproducts', {
            method: 'get',
            onComplete: getThemeResponse,
            onFailure: reportError
        });
        $('popinMask').style.display = "block";
        $("loaderDiv").style.display = "block";
        //var req = new Ajax.Request('/fr/fr/xml/F1_NEW_JUPES_ET_ROBES(Catalogue).noproducts.xml',{method:'get', onComplete:getThemeResponse, onFailure:reportError});// pour tester en local
    } 
    catch (e) {
    }
}

function getThemeResponse(req){
    $('popinMask').style.display = "block";
    $('popinThemes').style.display = "block";
    $("loaderDiv").style.display = "none";
    $$('.themesTitre')[0].innerHTML = "Erreur de chargement";
    $$('.themesDescription')[0].innerHTML = "";
    
    var dataTheme = req.responseXML;
    
    var themeTitle = dataTheme.getElementsByTagName('DisplayName')[0].firstChild.nodeValue;
    var themeDescription = dataTheme.getElementsByTagName('Description')[0].firstChild.nodeValue;
    
    $$('.themesTitre')[0].innerHTML = themeTitle;
    $$('.themesDescription')[0].innerHTML = themeDescription;
    
}

function popinThemesClose(){
    $('popinMask').style.display = "none";
    $('popinThemes').style.display = "none";
}

/**
 * FONCTIONS UTILES
 */
function deleteDoublon(tab){
    var temp = tab.slice(0);
    var result = new Array();
    var len = tab.length;
    var q = 0;
    for (var x = 0; x < len; x++) {
        for (var z = 0; z < len; z++) {
            if (temp[x] == temp[z] && x != z) {
                temp[x] = 0;
            }
        }
        if (temp[x] != 0) {
            result[q] = temp[x];
            q++;
        }
    }
    return result;
}

function addArray(tab1, tab2){
    var temp1 = tab1.slice(0);
    var temp2 = tab2.slice(0);
    for (var i = 0; i < temp2.length; i++) {
        temp1.push(temp2[i]);
    }
    return temp1;
}

function isInArray(tab, item){
    var len = tab.length;
    if (item == "") {
        return true;
    }
    for (var i = 0; i < len; i++) {
       // if (tab[i] == item) {
        if (tab[i].replace("'"," ") == item) {
            return true;
        }
    }
    return false;
}

function getIndex(tab, item){
    if (item == "") {
        return -1;
    }
    var len = tab.length;
    for (var i = 0; i < len; i++) {
        if (tab[i] == item) {
            return i;
        }
    }
    return -1;
}
