var NbMin=0;

function initialiseDBMin(txtDbMin) {
	DBMin=txtDBMin.split('£');
}


function filtreMineraux(leSelect,lesConstituants,idNbMin)
{
	tConstituants=lesConstituants.split("+");
	iFiltre=0;
	lesOptionstxt="";
	lesNumOptionstxt="";
	leMin=DBMin[1].split(';');
	for(var iMin=0; iMin<DBMin.length;iMin++)
	{
		bRetenu=1
		leMin=DBMin[iMin].split(';');
		if ((leMin[0]!="") && (leMin[0]!="Minéral"))
		{
			if (lesConstituants.length==0)
			{
			} else {
				for (iConstituant=0; iConstituant<tConstituants.length; iConstituant++)
				{
					iPos=leMin[7].indexOf(tConstituants[iConstituant],0);
					leCarSuivant=leMin[7].substring(iPos+tConstituants[iConstituant].length,iPos+tConstituants[iConstituant].length+1);
					leCarSuivant_maj=String.toUpperCase(leCarSuivant);
					if ((iPos==-1) || (leCarSuivant!=leCarSuivant_maj))
					{
						bRetenu=0;
						break;
					}
				}
			}
			if (bRetenu==1)
			{
				lesNumOptionstxt+=iMin+";";
				lesOptionstxt+=leMin[0]+";";
				iFiltre++;
			}
		} 
	}
	lesNumOptions=lesNumOptionstxt.split(";");
	lesOptions=lesOptionstxt.split(";");
	leSelect.options.length=iFiltre
	for(var iMin=0; iMin<iFiltre;iMin++)
	{
		leSelect.options[iMin].value=lesNumOptions[iMin];
		leSelect.options[iMin].text=lesOptions[iMin];
	}
	document.getElementById(idNbMin).innerHTML=')&nbsp;parmi les '+iFiltre+'/'+NbMin+' filtrés';
}


function listeMineraux(lesConstituants)
{
	for(var iMin=0; iMin<DBMin.length;iMin++)
	{
		leMin=DBMin[iMin].split(';');
		if ((leMin[0]!="") && (leMin[0]!="Minéral"))
		{

			txt_photos="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
			if (isNaN(leMin[1])) {
			} else {
				if (leMin[1]!="") {
					txt_photos="=>&nbsp;"
				}
			}

		
			document.write('<option value='+iMin+'>'+txt_photos+leMin[0]+'</option>');
			NbMin++;
		}
	}
}


function leMineral(NumMin) {
	leMin=DBMin[NumMin].split(';');
	this.nom=leMin[0];
	this.nomreduit=leMin[0].split(" ")[0];
	this.formule=laFormuleChimique(leMin[7]);
	this.systeme=leSysteme(leMin[2]);
	this.durete=leMin[3];
	this.couleur=laCouleur(leMin[4]);
	if (isNaN(leMin[1])) {
		this.nb_photos=0;
	} else {
		photos=""
		this.nb_photos=parseInt(leMin[1]);
		for (iPhoto=1; iPhoto<=this.nb_photos; iPhoto++) {
			photos+="£$img/mineraux/"+(this.nomreduit).toLowerCase()+"_"+iPhoto+".jpg";
		}
		this.photos=photos.split("£$");
	}
}


function AfficheMineral(NumMin,idNom,idFormule,idSysteme,idDurete,idCouleur,idPhoto) {
	var MonMineral = new leMineral(NumMin);
	document.getElementById(idNom).innerHTML='<b><u>Nom</u></b> : '+MonMineral.nom;
	document.getElementById(idFormule).innerHTML='<b><u>Formule chimique</u></b> : '+MonMineral.formule;
	document.getElementById(idSysteme).innerHTML='<b><u>Système cristallin</u></b> : '+MonMineral.systeme+'<br><img src="img/mineraux/'+(MonMineral.systeme.split(" ")[0]).toLowerCase()+'.gif" alt=" " border="0"><br>';
	document.getElementById(idDurete).innerHTML='<b><u>Dureté</u></b> : '+MonMineral.durete;
	document.getElementById(idCouleur).innerHTML='<b><u>Couleur(s)</u></b> : '+MonMineral.couleur;
	if (MonMineral.nb_photos>0){
		document.getElementById(idPhoto).innerHTML=''
		for (iPhoto=1; iPhoto<=MonMineral.nb_photos; iPhoto++) {
			document.getElementById(idPhoto).innerHTML+='<br><img src="'+MonMineral.photos[iPhoto]+'" alt="Photo de '+MonMineral.nom+' introuvable" width="300px" border="0"><br>';
		}
	} else {document.getElementById(idPhoto).innerHTML='<br>Aucune Photo de '+MonMineral.nom+'<br>';}
}


function leSysteme(leSyst) {
	leNomSyst="Système cristallin non connu("+leSyst+")";
	leNomSyst="Monoclinique";
	
	if (leSyst[0]=="M") {leNomSyst="Monoclinique"};
	if (leSyst[0]=="T") {leNomSyst="Triclinique"};
	if (leSyst[0]=="R") {leNomSyst="Rhomboédrique"};
	if (leSyst[0]=="O") {leNomSyst="Orthorhombique"};
	if (leSyst[0]=="Q") {leNomSyst="Quadratique"};
	if (leSyst[0]=="C") {leNomSyst="Cubique"};
	if (leSyst[0]=="H") {leNomSyst="Hexagonal"};
	if (leSyst.length==2)
	{
		if (leSyst[1]=="M") {leNomSyst+=" (apparent : Monoclinique)"};
		if (leSyst[1]=="T") {leNomSyst+=" (apparent : Triclinique)"};
		if (leSyst[1]=="R") {leNomSyst+=" (apparent : Rhomboédrique)"};
		if (leSyst[1]=="O") {leNomSyst+=" (apparent : Orthorhombique)"};
		if (leSyst[1]=="Q") {leNomSyst+=" (apparent : Quadratique)"};
		if (leSyst[1]=="C") {leNomSyst+=" (apparent : Cubique)"};
		if (leSyst[1]=="H") {leNomSyst+=" (apparent : Hexagonal)"};
	}
	return leNomSyst;
}


function laCouleur(lesCoul) {
	Palette=["rouge","vert","bleu","jaune"];
	lesCouleurs="";
	tCoul=lesCoul.split("+");
	if (lesCoul!="")
	{
		for (iCoul=0; iCoul<tCoul.length; iCoul++)
		{
			lesCouleurs+=Palette[iCoul]+" "
		}
	}
	return lesCouleurs;
}


function laFormuleChimique(laForm) {
	lesNum="0123456789";
	leTypeNum="";
	leCar="";
	sschaine="";
	laNouvelleForm=laForm.substring(0,1);
	for(var i=1; i<laForm.length;i++)
	{
		leCar=laForm.substring(i,i+1)
		if (lesNum.indexOf(leCar,0)>=0)
		{
			sschaine+=leCar;
			if (sschaine==leCar) {leTypeNum="Sub";}
			if (laForm.substring(i-1,i)==".") {leTypeNum="Normal";}
			if (laForm.substring(i-1,i)=="+") {leTypeNum="Normal";}
			if (laForm.substring(i-1,i)=="-") {leTypeNum="Normal";}
			if (laForm.substring(i+1,i+2)=="+") {leTypeNum="Exp";}
			if (laForm.substring(i+1,i+2)=="-") {leTypeNum="Exp";}
		} else {
			if (sschaine.length>0) {
				switch(leTypeNum)
				{
				case "Exp": laNouvelleForm+="<sup>"+sschaine+leCar+"</sup>"; break;
				case "Normal": laNouvelleForm+=sschaine+leCar; break;
				case "Sub": laNouvelleForm+="<sub>"+sschaine+"</sub>"+leCar; break;
				}
				sschaine="";
			}else{
				laNouvelleForm+=leCar;
			}
		}
	}
	if (sschaine.length>0) {
		switch(leTypeNum)
		{
		case "Exp": laNouvelleForm+="<sup>"+sschaine+"</sup>"; break;
		case "Normal": laNouvelleForm+=sschaine; break;
		case "Sub": laNouvelleForm+="<sub>"+sschaine+"</sub>"; break;
		}
		sschaine="";
	}
	return laNouvelleForm;
}
