// <![CDATA[
/*######## Temps et délais pour les animations (en secondes) ########*/
var tempsDisparitionPreloader = 2//2.0;
var tempsApparitionTableaux = 2//2;
var delaiApparitionTableaux = 2.4//2.4;

var tempsApparitionSlider = 0.2;
var tempsDisparitionSlider = 0.2;

var tempsApparitionFenetreDetail = 1;
var delaiApparitionFenetreDetail = 0.1;

var tempsApparitionContenuDetail = 1;
var tempsDisparitionContenuDetail = 1;
var delaiApparitionContenuDetail = tempsApparitionFenetreDetail + delaiApparitionFenetreDetail + 0.1; //on attend que la fenêtre soit apparue avant d'affiche le contenu
var delaiDisparitionContenuDetail = 0.5; //on fait d'abord disparaitre le contenu avant la fenêtre, donc on déclare la variable avant

var tempsDisparitionFenetreDetail = 0;
var delaiDisparitionFenetreDetail = tempsDisparitionContenuDetail + delaiDisparitionContenuDetail + 0.1; //on attend que le contenu soit disparu avant de cacher la fenêtre

var tempsDeplacementCarrousel = 2; //le temps utilisé pour bouger le carousel de haut en bas et de bas en haut
var tempsDeplacementSlider = 1; //temps pour repositionnement du slider

var tempsApparitionContenuAccueil = 1;
var delaiApparitionContenuAccueil = tempsDisparitionFenetreDetail + delaiDisparitionFenetreDetail + 0.5; //on attend que le detail disparaisse au complet.

var tempsApparitionImageDetail = 1; //1
var delaiApparitionImageDetail = 0.2; // 0.0
/* ############################################*/

var oTableau; //variable qui va contenir l'object JSON utilisé pour montrer le détail d'un projet
var dimensionsDetail; //objet Json qui contient les dimensions de la div Detail;
var tableauOpacityOn = new Array(); //tableau qui va contenir les images sur lesquels l'effet Opacity est appliqué.
var cpt = 0; //compteur qui sert à connaitre à quelle dimension est rendu le tableauOpacityOn
var timer; //timer pour annuler l'opacité.
var timerReplaceScroll; //timer pour replace le scrollbar


/* Variables de pré-chargements des images */
var areImagePreloaded = false; //boolean qui dit si les images suivantes et précédentes sont déjà loadés.
var preloadedImagesPath = new Array();
var preloadedImages = new Array();
var loadedImages = new Array();
var cptPreloadedImages = 0;
var cptLoadedImages = 0;
var isOdd = false;
var boDetailDisplayed = false;

var bo_mouseover=false;
var captureMouse = { 
	getPositions : function(e)
						{  // grab the x-y pos.s if browser is NS
							var IE = document.all?true:false;
							var position;
							if (IE)
							{ 
								position = 	{ // grab the x-y pos.s if browser is IE
												x : event.clientX + document.body.scrollLeft,
												y : event.clientY + document.body.scrollTop
											}
							}
							else
							{ 
								e = e ? e : window.event;
								position = 	{ // grab the x-y pos.s if browser is IE
												x : e.pageX,
												y : e.pageY
											}
							}
							
							return position;
						}
  };

function loadContent()
{
    var projetIndex = -1;//on initialise le projetIndex si des fois on veut afficher directement le tableau;
    var idTableau = arguments[0];
    var TableauxJSON;
    dimensionsDetail = $("detail").getDimensions();
    new Ajax.Request("/ajax/tableaux.php", {
                      method: 'get',
                      encoding: 'windows-1252',
                      onSuccess: function(response) {
                        TableauxJSON = response.responseJSON;
                        if (TableauxJSON == null)
                            alert("Erreur lors du chargement!");
                        else
                        {
                            oTableau = TableauxJSON.tableaux;
                            //on initialise le projetIndex si des fois on veut afficher directement le tableau;
                            if (idTableau!=null) projetIndex = getIndex(idTableau);
                            BuildCarousel('tableau');
                            new Effect.Appear('caroussel',{ from:0.0, to:1.0 ,duration: tempsApparitionTableaux,delay: delaiApparitionTableaux});
                            setTimeout("CreateSlider();",(delaiApparitionTableaux*1000)+500);
                            if (projetIndex != -1) setTimeout("showDetail('tableau'," + projetIndex + ");",(delaiApparitionTableaux*1000)+500);
                        }
                      }
                    });

    new Effect.Fade('preloader',{ from:1.0, to:0.0 ,duration: tempsDisparitionPreloader,delay: 0});
    

    
}

/* *
 * permet de trouver l'index du tableau dans l'object JSON en fonction de son id
 * */
function getIndex(idTableau) {
    for (var i=0;i < oTableau.length; i++)
        if (oTableau[i].tableau.id == idTableau) return i;

    return -1;
}

/* Crée le tableau qui va être affiché dans la DIV. Ça ajoute chaque thumnbail l'un après l'autre */
function BuildCarousel(rubrique)
{
	var div = $(rubrique + "_thumb_pics");
    var sHTML = '';

    /* Construction du code HTML. Essayez avec DOM, mais ça a chié ben raide */
	for (var i=0;i<oTableau.length;i++)
	{
        sHTML += "<a href='javascript://' onclick=\"showDetail('" + rubrique + "'," + i + ");\" onmouseover=\"setOpacityOn('" + rubrique + "'," + i + ");\" onmouseout=\"setOpacityOff('" + rubrique + "'," + i + ");\"><img src='" + oTableau[i].tableau.thumbnailPath + "' title=\"" + oTableau[i].tableau.titre + "\" id='thumb_" + rubrique + "_" + oTableau[i].tableau.id + "' width='156' height='156' class='current'/></a>";
		if (i<oTableau.length-1)
			sHTML += '<span style="padding-right:12px;"></span>';
	}
 
  	div.innerHTML = sHTML;
}


/* Permet d'afficher le nom du projet, sous le nom de la rubrique en rollover */
function setOpacityOn(rubrique,projetIndex)
{
    var currentImg = $("thumb_" + rubrique + "_" + oTableau[projetIndex].tableau.id);
	var divProjets = $(rubrique + "_thumb_pics");

    //on kill le timer qui va appeler la fonction hideShadows
    if (typeof(timer) == "number") clearTimeout(timer);

    if (tableauOpacityOn.indexOf(currentImg.id) > -1)
    {
        tableauOpacityOn.splice(tableauOpacityOn.indexOf(currentImg.id),1);
        new Effect.Opacity(currentImg, { from: 0.4, to: 1.0, duration: 0.2 });
        cpt -= 1;
    }

    for (var i=0;i<divProjets.childNodes.length;i++) //on boucle sur les liens de la div des thumbnails
        for (var j=0;j<divProjets.childNodes[i].childNodes.length;j++) //on boucle sur les éléments qui sont dans le lien courant.
            if (divProjets.childNodes[i].childNodes[j]!=currentImg)
                if (divProjets.childNodes[i].childNodes[j].tagName=="IMG")
                {
                    if (tableauOpacityOn.indexOf(divProjets.childNodes[i].childNodes[j].id) == -1)
                    {
                        tableauOpacityOn[cpt++] = divProjets.childNodes[i].childNodes[j].id;
                        new Effect.Opacity(divProjets.childNodes[i].childNodes[j], { from: 1.0, to: 0.4, duration: 0.2 });
                    }
                }



    return false;
}

function setOpacityOff(rubrique,projetIndex)
{
     if (typeof(timer) == "number") clearTimeout(timer);
     timer = setTimeout("processOpacity('" + rubrique + "'," + projetIndex + ")",200);
     
}

function processOpacity(rubrique,projetIndex)
{
    var i=0;
    var j=0;
    var divProjets = $(rubrique + "_thumb_pics");
    var currentImg;
    if (projetIndex == -1)
        currentImg = document.createElement("A");
    else
        currentImg = $("thumb_" + rubrique + "_" + oTableau[projetIndex].tableau.id);

    if (!boDetailDisplayed)
    {
        
        for (i=0;i<divProjets.childNodes.length;i++) //on boucle sur les liens de la div des thumbnails
            for (j=0;j<divProjets.childNodes[i].childNodes.length;j++) //on boucle sur les éléments qui sont dans le lien courant.
                if (divProjets.childNodes[i].childNodes[j]!=currentImg)
                    if (divProjets.childNodes[i].childNodes[j].tagName=="IMG")
                    {
                        divProjets.childNodes[i].childNodes[j].className = "not_current";
                        new Effect.Opacity(divProjets.childNodes[i].childNodes[j], { from: 0.4, to: 1.0, duration: 0.2, delay: 0.0 });
                    }
        tableauOpacityOn = new Array();
        cpt = 0;
    }
    else
    {
        for (i=0;i<divProjets.childNodes.length;i++) //on boucle sur les liens de la div des thumbnails
            for (j=0;j<divProjets.childNodes[i].childNodes.length;j++) //on boucle sur les éléments qui sont dans le lien courant.
                if (divProjets.childNodes[i].childNodes[j].tagName=="IMG")
                    if (divProjets.childNodes[i].childNodes[j].className=="current")
                    {
                        currentImg = divProjets.childNodes[i].childNodes[j];
                        break;
                    }
             
        for (var k=0;k<oTableau.length;k++)
            if (currentImg.id == "thumb_" + rubrique + "_" + oTableau[k].tableau.id)
                break;

        setOpacityOn(rubrique,k);
    }

    return false;
}

function PositionnerControle(ctrl,x,y)
{
	eval("ctrl.style.left='" + x + "px'");
	eval("ctrl.style.top='" + y + "px'");
}

/* Fait apparaitre la div du detail du projet*/
function showDetail(rubrique,projetIndex)
{
	var currentImg = $("thumb_" + rubrique + "_" + oTableau[projetIndex].tableau.id);
    var divProjets = $(rubrique + "_thumb_pics");

    /* petit hack, on attribut une classe CSS pour pouvoir savoir quelle image est celle courante.
     * On a juste à boucler sur les iamges pour trouver laquelle à cette classe.*/
    currentImg.className = "current";
    for (var i=0;i<divProjets.childNodes.length;i++) //on boucle sur les liens de la div des thumbnails
        for (var j=0;j<divProjets.childNodes[i].childNodes.length;j++) //on boucle sur les éléments qui sont dans le lien courant.
            if (divProjets.childNodes[i].childNodes[j]!=currentImg)
                if (divProjets.childNodes[i].childNodes[j].tagName=="IMG")
                    divProjets.childNodes[i].childNodes[j].className = "not_current";
                    

    if (!boDetailDisplayed)
    {
        /*première qu'on entre dans le détail*/
        isOdd = false;
        fillContentDetail(projetIndex,0);
        setDetailPage(rubrique,projetIndex);
        $("detail").show();
    }
    else
    {
        fillContentDetail(projetIndex,0);
    }
    return false;
}

/**/
function setDetailPage(rubrique,projetIndex)
{
    var divProjets = $(rubrique + "_thumb_pics");
    /* on set la hauteur pour empêche les liens sur les images de se décaller.
     * si on voit un cadre autour de l'image et c'est pas beau!*/
    setTimeout("$('" + rubrique + "_thumb_pics').style.height = '72px';",tempsDeplacementCarrousel*1000);
    
    if (typeof(timer) == "number") clearTimeout(timer);
    boDetailDisplayed = true;

    new Effect.Parallel([
              new Effect.Fade('logo', { sync: true}),
              new Effect.Fade('liens', { sync: true})
            ], {
              duration: tempsApparitionFenetreDetail,
              delay: delaiApparitionFenetreDetail
            });

    for (var i=0;i<divProjets.childNodes.length;i++) //on boucle sur les liens de la div des thumbnails
        for (var j=0;j<divProjets.childNodes[i].childNodes.length;j++) //on boucle sur les éléments qui sont dans le lien courant.
                if (divProjets.childNodes[i].childNodes[j].tagName=="IMG")
                    new Effect.Scale(divProjets.childNodes[i].childNodes[j],46.15);

    new Effect.Move('caroussel', { x: 44, y: 37, mode: 'absolute',duration:tempsDeplacementCarrousel });
    new Effect.Move('tableau_slider_track', { x: 0, y: -84, mode: 'relative',duration:tempsDeplacementSlider });

   timerReplaceScroll = setTimeout("replaceImage('" + rubrique + "');",300);
   setTimeout("clearTimeout(timerReplaceScroll);",1000);
   new Effect.Appear('detailContent', { from:0.0, to:1.0 ,duration: tempsApparitionContenuDetail,delay: delaiApparitionContenuDetail});

}

/* permet de remettre l'image sur laquelle on a cliqué en place dans le caroussel.
 * à cause du resize, le caroussel capote sinon! */
function replaceImage(rubrique)
{
    scrollHorizontal(tableau_slider.value, $(rubrique + "_thumb_pics"), tableau_slider);
    timerReplaceScroll = setTimeout("replaceImage('" + rubrique + "')",50);
}

/* initialise les div de contenu du detail du projet */
/* si le pagingIndex, ça veut dire qu'on a changé de projet par les flèches et non par clic sur l'image */
function fillContentDetail(projetIndex,pagingIndex)
{
	/**
     * On set les valeurs dans des valeurs cachées pour être les utiliser lors de
     * l'envoi d'un email à un ami.
     */
    $("ApercuTableau").value = oTableau[projetIndex].tableau.thumbnailPath;
    $("TitreTableau").value = oTableau[projetIndex].tableau.titre;
    $("IdTableau").value = oTableau[projetIndex].tableau.id;

    /**
     * On renseigne chaque champs de la page
     */
    $("titre").innerHTML = oTableau[projetIndex].tableau.titre;
    $("annee").innerHTML = oTableau[projetIndex].tableau.annee;
    $("medium").innerHTML = oTableau[projetIndex].tableau.medium;
    $("dimensions").innerHTML = oTableau[projetIndex].tableau.hauteur + oTableau[projetIndex].tableau.unite + " x " + oTableau[projetIndex].tableau.largeur + oTableau[projetIndex].tableau.unite;
    $("galerie").innerHTML = oTableau[projetIndex].tableau.galerie;

	
    if (!isOdd)
    {
	    showImage(projetIndex,pagingIndex,"pair");
    }
	else
	{
	    showImage(projetIndex,pagingIndex,"impair");
    }

	isOdd = isOdd ? false: true;

	//on affiche les flèches de navigations ou non!
	//si le projet a plusieurs maquettes et qu'on est pas sur la dernière, alors on affiche la flèche suivante
	if (projetIndex<(oTableau.length-1))
	{
		$("detail_next").onclick = function() {
            fillContentDetail(projetIndex+1,0);
            scrollToImage(projetIndex+1);
        };

		$("detail_next").show();
	}
	else	
		$("detail_next").hide();
		
	
	//si le projet a plusieurs maquettes et qu'on est pas sur la première, alors on affiche la flèche précédente
	if (projetIndex>0)
	{
		$("detail_prev").onclick = function() {
            fillContentDetail(projetIndex-1,0);
            scrollToImage(projetIndex-1);
        };
		$("detail_prev").show();
	}
	else	
		$("detail_prev").hide();
	
	//s'il y a plusieurs maquettes on affiche le paging	
	if 	(oTableau[projetIndex].tableau.images.length>1)
	{
		var pagingStr = "";
		for (k=0;k<oTableau[projetIndex].tableau.images.length;k++)
		{
			if (k!=pagingIndex) 
				pagingStr += "<a href=\"javascript:fillContentDetail(" + projetIndex + "," + k + ")\">" + (k+1) + "</a>";
			else
				pagingStr += k+1;
				
			if (k<oTableau[projetIndex].tableau.images.length-1) pagingStr += "&nbsp;.&nbsp;";
		}
		$("detail_paging").innerHTML = pagingStr;
	}
	else
		$("detail_paging").innerHTML = "";
	
}

/**
 * Affiche l'image demandée.
 **/
function showImage(projetIndex,pagingIndex,parite)
{
	var autre = parite=="pair"?"impair":"pair";
	var projetCourant = oTableau[projetIndex].tableau.images[pagingIndex];

    PreloadImages(projetIndex,pagingIndex);

	$("detail_img_" + parite).style.width = projetCourant.largeur + "px";
	$("detail_img_" + parite).style.height = projetCourant.hauteur + "px";
    $("detail_image_" + parite).style.width = projetCourant.largeur + "px";
	$("detail_image_" + parite).style.height = projetCourant.hauteur + "px";
	new Effect.Move("detail_image_" + parite, {x: 168, y: (dimensionsDetail.height/2-projetCourant.hauteur/2), mode: 'absolute', duration:0.0});
	$("detail_img_" + parite).src = projetCourant.path;

    /* on déplace la flèche de droite à 12 pixel de l'image
     * elle reste toujours à 199px du top */
    setTimeout("PositionnerControle($('detail_next')," + parseInt(parseInt(168) + parseInt(projetCourant.largeur) + parseInt(12)) + ",199);",((delaiApparitionImageDetail+(tempsApparitionImageDetail/3))*1000) + 100);
		
		
	new Effect.Parallel([
        new Effect.Appear("detail_img_" + parite, { sync:true, from:0.0, to:1.0 }) ,
        new Effect.Fade("detail_img_" + autre, { sync:true, from:1.0, to:0.0 })
                        ], {duration: tempsApparitionImageDetail,delay: delaiApparitionImageDetail, queue: { position: 'end', scope: 'imageDetail' }});
}

function scrollToImage(projetIndex)
{
    var element = $('tableau_thumb_pics');
    var value = tableau_slider.value;
    var largeur = (element.scrollWidth-2) / (oTableau.length - 1);

    if (projetIndex == oTableau.length - 1)
        value = 1;
    else
        value = projetIndex  * largeur * 1/(element.scrollWidth-2);
    
    tableau_slider.setValue(value);
    scrollHorizontal(value, element, tableau_slider);
    setOpacityOn('tableau',projetIndex);

}

/* Preload les images avant et après l'image courant*/
function PreloadImages(projetIndex,pagingIndex)
{
    areImagePreloaded = false;
    var cptTmp = cptPreloadedImages;

    if (oTableau[projetIndex].tableau.images.length > 1)
    {
        //on ajoute l'image précédente du projet courant si ce n'est pas déjà fait et si elle existe
        if (pagingIndex > 0)
            if (preloadedImagesPath.indexOf(oTableau[projetIndex].tableau.images[pagingIndex - 1].path) == -1)
                preloadedImagesPath[cptPreloadedImages++] = oTableau[projetIndex].tableau.images[pagingIndex - 1].path;

        //on ajoute l'image suivante du projet courant si ce n'est pas déjà fait et si elle existe
        if (pagingIndex < oTableau[projetIndex].tableau.images.length - 1)
            if (preloadedImagesPath.indexOf(oTableau[projetIndex].tableau.images[pagingIndex + 1].path) == -1)
                preloadedImagesPath[cptPreloadedImages++] = oTableau[projetIndex].tableau.images[pagingIndex + 1].path;
       

    }

    //on ajoute la première image du projet précédent s'il existe
    if (projetIndex > 0)
        if (preloadedImagesPath.indexOf(oTableau[projetIndex - 1].tableau.images[0].path) == -1)
            preloadedImagesPath[cptPreloadedImages++] = oTableau[projetIndex - 1].tableau.images[0].path;

    //on ajoute la première image du projet suivant s'il existe
    if (projetIndex < oTableau.length - 1)
        if (preloadedImagesPath.indexOf(oTableau[projetIndex + 1].tableau.images[0].path) == -1)
            preloadedImagesPath[cptPreloadedImages++] = oTableau[projetIndex + 1].tableau.images[0].path;



    if (cptPreloadedImages==cptTmp) //les images ont déjà été toutes loadées
    {
        areImagePreloaded = true; //variable qui peut être utilisée pour savoir si les images sont toutes loadées ou non
    }
    else
    {
        for (i = cptTmp; i < preloadedImagesPath.length; i++) {
            preloadedImages[i] = new Image();
            preloadedImages[i].src = preloadedImagesPath[i];
            loadedImages[i] = false;
        }

    }

	
}

function closeWindowDetail()
{
	var rubrique = 'tableau';
    var divProjets = $(rubrique + "_thumb_pics");
    divProjets.style.height = "156px";
    boDetailDisplayed = false;

    new Effect.Fade('detailContent', { from:1.0, to:0.0 ,duration: tempsDisparitionContenuDetail,delay: delaiDisparitionContenuDetail});
	setTimeout("$('detail').hide()",(delaiDisparitionFenetreDetail*1000)); //on le cache après l'animation;

    setOpacityOff(rubrique,-1);

    /* on ramène le caroussel à sa position initiale */
    for (var i=0;i<divProjets.childNodes.length;i++) //on boucle sur les liens de la div des thumbnails
        for (var j=0;j<divProjets.childNodes[i].childNodes.length;j++) //on boucle sur les éléments qui sont dans le lien courant.
                if (divProjets.childNodes[i].childNodes[j].tagName=="IMG")
                    new Effect.Scale(divProjets.childNodes[i].childNodes[j],216.66, {delay:delaiDisparitionFenetreDetail + 0.2});

    new Effect.Move('caroussel', { x: 44, y: 230, mode: 'absolute',duration:tempsDeplacementCarrousel,delay: delaiDisparitionFenetreDetail + 0.2});
    new Effect.Move('tableau_slider_track', { x: 0, y: 84, mode: 'relative',duration:tempsDeplacementSlider,delay: delaiDisparitionFenetreDetail + 0.2});

    new Effect.Parallel([
              new Effect.Appear('logo', { sync: true}),
              new Effect.Appear('liens', { sync: true})
            ], {
              duration: tempsApparitionContenuAccueil,
              delay: delaiApparitionContenuAccueil
            });


   setTimeout("timerReplaceScroll = setTimeout(\"replaceImage('" + rubrique + "');\",300);",(delaiDisparitionFenetreDetail+0.2)*1000);
   setTimeout("clearTimeout(timerReplaceScroll);",(delaiDisparitionFenetreDetail+1.2)*1000);

   return false;
}

/* trouve la position X (Left  en css) du contrôle HTML obj passé en paramètre*/
function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosXByNode(obj)
{
	var curleft = 0;
	if (obj.parentNode)
	{
		while (obj.parentNode)
		{
			curleft += obj.style.left;
			obj = obj.parentNode;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

/* trouve la position Y (top en css) du contrôle HTML obj passé en paramètre*/
function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

Array.prototype.indexOf = function()
{
	switch (arguments.length)
	{
		// recherche CS AS
		case 1 :
			if (arguments.length==1)
				for(var i=0;i<this.length;i++)
					if(this[i]==arguments[0])
                        return i;
			break;
		case 2 :
			switch (arguments[1])
			{
				//si = 1 => CS AS
				case 1 :
					for(var i=0;i<this.length;i++)
						if(this[i]==arguments[0])
							return i;
					break;
				//si = 2 => CI AS
				case 2 :
					for(var i=0;i<this.length;i++)
					{
						if(this[i].toLowerCase()==arguments[0].toLowerCase())
							return i;
					}

					break;
				//si = 3 => CI AI
				case 3 :
					var val_tab = "";
					var argument = arguments[0].toLowerCase();
					myregexp = new RegExp("[eéèëe]","gi");
					argument = argument.replace(myregexp,"[eéèëe]");

					myregexp = new RegExp("[iîï]","gi");
					argument = argument.replace(myregexp,"[iîï]");

					myregexp = new RegExp("[aà]","gi");
					argument = argument.replace(myregexp,"[aà]");

					myregexp = new RegExp("[uù]","gi");
					argument = argument.replace(myregexp,"[uù]");

					myregexp = new RegExp("( |\-)","gi");
					argument = argument.replace(myregexp,"( |\-)");

					for(var i=0;i<this.length;i++)
					{
						val_tab = this[i].toLowerCase();

						myregexp = new RegExp("[eéèëe]","gi");
						val_tab = val_tab.replace(myregexp,"[eéèëe]");

						myregexp = new RegExp("[iîï]","gi");
						val_tab = val_tab.replace(myregexp,"[iîï]");

						myregexp = new RegExp("[aà]","gi");
						val_tab = val_tab.replace(myregexp,"[aà]");

						myregexp = new RegExp("[uù]","gi");
						val_tab = val_tab.replace(myregexp,"[uù]");

						myregexp = new RegExp("( |\-)","gi");
						val_tab = val_tab.replace(myregexp,"( |\-)");

						if(val_tab==argument)
							return i;
					}
					break;
			}

			break;
	}


	/*if (arguments.length==1)
		for(var i=0;i<this.length;i++)
			if(this[i]==arguments[0])
				return i;*/
    return -1;
}


 // ]]>
