//création d'une fonction getElementsByReg

document.getElementsByReg=function(){
//constante et méthode privé
//groupe ed prop spécifique pas accessible via getattribute et syntaxe particuliere,...si ie
var camelGroupe = ['colSpan', 'rowSpan', 'vAlign', 'dateTime', 'accessKey', 'tabIndex', 'encType', 'maxLength', 'readOnly', 'longDesc', 'cellPadding', 'cellSpacing', 'frameBorder', 'useMap'],
isIE = /msie/i.test(navigator.userAgent);
//contruit un objet d'acces rapide au propriété spécifique
for(var i = 0, c, isCamel = {'class' : 'className', 'className' : 'className', id : 'id'}; c = camelGroupe[i]; i++)
isCamel[c.toLowerCase()] = c;
//récupere la valeur via getAttribute
function _get(el, attr){
return el.getAttribute(attr)
}
//récupere la valeur via propriété du noeud (tjrs accessible avec ie)
function _getCamel(el, attr){
return el[attr]
}
//rourne la fonction publique
return function(reg, attr, tag){
var tab=[];
if(!(reg instanceof RegExp))
return tab;
//définit la fonction a utilser pour récupérer l'attribut, redéfinit l'attribut si spécifique
var camel,
get = (camel = isCamel[attr]) || isIE ? _getCamel : _get;
attr = camel || attr;
for(var i=-1, els = document.body.getElementsByTagName(tag || '*'), el; el = els[++i];){
if(reg.test(get(el,attr)))
tab[tab.length] = el;//plus rapide qu'un push
}
return tab;
}
}(); 




function trim (myString)
{
	//pour supprimer les espace blanc
	return myString.replace(/^\s+/g,'').replace(/\s+$/g,'');
} 

var mes_nuance = document.getElementsByReg(/cellcouleur/,"class","td"); // on récupère les nuances du nuancier
var texte_fonction="";
var nb_quantite_max_nuancier = 0;
var tab_quantite = new Array();  // on crée un tableau dans lequel on va stoquer les références en fonction des quantité


function getAllNuancier(img,produit,showgroup,unite,formatImg)
{
	for(var i=0; i<mes_nuance.length; i++)
	{
		var les_references_produit= mes_nuance[i].getElementsByTagName("span"); // on récupère les possibles différentes quantité

		var nb_quantites = les_references_produit.length; // on calcul le nombre de quantité pour une nuance	
		
			if(unite=="ml") var expReg = /([0-9 ]+)(ml)/gi;
			if(unite=="g") var expReg = /([0-9 ]+)(g)/gi;
			if(unite=="l") var expReg = /([0-9 ]+)(l)/gi;
			if(unite=="kg") var expReg = /([0-9 ]+)(kg)/gi;
			if(unite=="feutre") var expReg = /feutre/gi;
			
			var chaine = mes_nuance[i].innerHTML;
			
					
			var quantites = chaine.match(expReg);
			
				for(var m=0; m<nb_quantites; m++)
				{
				//var reference_produit =  les_references_produit[m].innerHTML;
				
					if(quantites && unite!="")
					{
						//****** INSERTION DES QUANTITES DANS LE TABLEAU *********************************************************************
						
						var quantite = parseInt(quantites[m]);
						//if(quantite==35) alert("ok");
						//alert(quantite);
						
						var variable_test=0;
						for(var j=0; j<=tab_quantite.length; j++)// on regarde si quantité trouvé existe deja dans le tableau
						{
							//alert(tab_quantite[j]);
							if(tab_quantite[j] && tab_quantite[j][0]==quantite) variable_test++; // si la quantité existe déjà dans le tableau on incrémente la variable test
						}
						if(variable_test==0)
						{
							//alert(tab_quantite.length);
							tab_quantite[tab_quantite.length]= new Array();
							//alert(tab_quantite.length);
							tab_quantite[tab_quantite.length-1][0]=quantite; // on insère la nouvelle quantité dans le tableau
						}
						//****** FIN INSERTION DES QUANTITES DANS LE TABLEAU *********************************************************************
					}
					
					else 
					{
						if(tab_quantite.length==0) tab_quantite[0]= new Array();
						tab_quantite[0][0] = "no quantite";
					}
					
				}
				
				//****** INSERTION DES REFERENCES DANS LE TABLEAU *********************************************************************
				
				for(var m=0; m<nb_quantites; m++)
				{
				var reference_produit =  les_references_produit[m].innerHTML;
					if(quantites && unite!="")
					{	
						var quantite = parseInt(quantites[m]);
						var emplacement = 0;
						var test_passage = 0;
						//quantite=parseInt(quantite);
						//alert(quantites);
						do
						{		
							//alert("m: "+m+"     emplacement: "+emplacement );
							//alert(tab_quantite[emplacement].length);
							//if(tab_quantite[emplacement][0]==quantite && quantite==35) alert("ok");
							if(tab_quantite[emplacement][0]==quantite)
							{
								tab_quantite[emplacement][tab_quantite[emplacement].length]=reference_produit; // on check à quelle ligne la quantite se trouve
								test_passage++;
							}
							else emplacement++;
						}
						while (test_passage==0)
					}
					else
					{
						tab_quantite[0][tab_quantite[0].length]=reference_produit;
					}
				}
				//****** FIN INSERTION DES REFERENCES DANS LE TABLEAU *********************************************************************


	}

	//****** CONSTRUCTION DE LA FORMULE ***********************************************

		// On créé les boutons en fonction du nombre de quantité disponible
		//alert(tab_quantite[0][0]);
		var texte_fonction="";
		
		nb_quantite_max_nuancier = 	tab_quantite.length;
		var format_image = formatImg.split("x");
		var longueur = format_image[0];
		var hauteur = format_image[1];
		//alert(tab_quantite[0][0]);
		for(var b=0; b<nb_quantite_max_nuancier; b++)
		{
			//alert("test");
			texte_fonction+="1,'"+tab_quantite[b][1]+"'"; // c'est la premiere valeur on ne met pas de virgule devant
			for(var g=1; g<tab_quantite[b].length-1; g++)
			{
				texte_fonction+=",1,'"+tab_quantite[b][g+1]+"'"; 
			}
		
			document.write('<a style="background:url(\'http:\/\/www.geant-beaux-arts.fr/geniecube/FRfr/ressources/bdo_allefarben.jpg\'); display:block; width:800px; height:109px;" href="javascript:acheterMultiRefs('+texte_fonction+')">');
				document.write('<span align="center" style="position:absolute; display:block; background-color:none; width:125px; height:52px; margin:29px 0px 0px 144px; text-align:center; "><img align="center" height="'+hauteur+'px" width="'+longueur+'px" src="'+img+'" style="padding:0px; border:0px; " /></span>');
				document.write('<span style="position:absolute; margin:40px 0px 0px 280px; color:#212221; font-weight:bold; font-size:11px; text-align:left;">'+produit+'<br />');
				document.write('<span style="color:#666666; font-size:9px; text-align:left">Ref : '+showgroup+'/...</span></span>');
				if(nb_quantite_max_nuancier>1) document.write('<span style="position:absolute; margin:37px 0px 0px 375px; color:#212221; font-weight:bold; font-size:12px; color:#df0b1a; text-align:center;">Commandez toutes les couleurs <br />du nuancier en '+tab_quantite[b][0]+unite+' en un seul clic !<br /></span>');
				else document.write('<span style="position:absolute; margin:37px 0px 0px 400px; color:#212221; font-weight:bold; font-size:12px; color:#df0b1a; text-align:center;">Commandez toutes les couleurs <br />du nuancier en un seul clic !<br /></span>');
			document.write('</a><br />');
			texte_fonction="";
			//acheter toutes les nuances en '+tab_quantite[b][0]+'ml
		}
}	




