var memoInfoBulle;

// Constantes pour les sondes NTC
var ANTC = 0.001128367;
var BNTC = 0.0002342449;
var CNTC = 0.00000008725501;

// Constantes pour les sondes PT
var APT = 0.003907084;
var BPT = 0.000000578408;

var memoGalerieTableau;
var LONGUEUR_GALERIE_TABLEAU =5;

function Remplace(str,find,rep){
  var reg = new RegExp(find,"gi")
  return(str.replace(reg,rep));
}

/*window.addEvent('domready', function() {
	
	//create our Accordion instance
	var myAccordion = new Accordion($('accordion'), 'h3.toggler', 'div.element', {
		opacity: false,
		onActive: function(toggler, element){
			toggler.setStyle('color', '#41464D');
		},
		onBackground: function(toggler, element){
			toggler.setStyle('color', '#528CE0');
		}
	});

	//add click event to the "add section" link
	$('add_section').addEvent('onMouseOver', function(event) {
		event.stop();
		
		// create toggler
		var toggler = new Element('h3', {
			'class': 'toggler',
			'html': 'Common descent'
		});
		
		// create content
		var content = new Element('div', {
			'class': 'element',
			'html': '<p>A group of organisms is said to have common descent if they have a common ancestor. In biology, the theory of universal common descent proposes that all organisms on Earth are descended from a common ancestor or ancestral gene pool.</p><p>A theory of universal common descent based on evolutionary principles was proposed by Charles Darwin in his book The Origin of Species (1859), and later in The Descent of Man (1871). This theory is now generally accepted by biologists, and the last universal common ancestor (LUCA or LUA), that is, the most recent common ancestor of all currently living organisms, is believed to have appeared about 3.9 billion years ago. The theory of a common ancestor between all organisms is one of the principles of evolution, although for single cell organisms and viruses, single phylogeny is disputed</p>'
		});
		
		// position for the new section
		var position = 0;
		
		// add the section to our myAccordion using the addSection method
		myAccordion.addSection(toggler, content, position);
	});
});*/


/*function goToPage(page){
	
	var destination = page + '.html';

	document.getElementById('myIframe').src = destination;	
}*/

// Validation du formulaire de contact
function verification(){
	// Test du nom
	if(document.formulaire.nom.value == "") {
	  	alert("Veuillez entrer votre nom");
	  	document.formulaire.nom.focus();
	  	return false;
	}
	// Test du prenom
	/*if(document.formulaire.prenom.value == "") {
	  	alert("Veuillez entrer votre prenom");
	  	document.formulaire.prenom.focus();
	  	return false;
	}*/
	// Test de la societe
	if(document.formulaire.societe.value == "") {
	  	alert("Veuillez entrer le nom de votre soci\351t\351");
	  	document.formulaire.societe.focus();
	  	return false;
	}
	// Test de l'adresse de l'expediteur
	/*if(document.formulaire.email.value == "") {
		alert("Veuillez entrer votre adresse \351lectronique");
	  	document.formulaire.email.focus();
	  	return false;
	}
	else if(document.formulaire.email.value.indexOf('@') == -1) {
		alert("Veuillez entrer votre adresse \351lectronique");
		document.formulaire.email.focus();
		return false;
	}*/
	
	if(document.formulaire.texte.value == "") {
	  	alert("Veuillez entrer le texte de votre message");
	  	document.formulaire.texte.focus();
	  	return false;
	}
	
	return true;
}


// Fonction qui gère le changement des pages
//function accesPage(id){document.getElementById(id).submit();}
//function chargeProduit(){document.getElementById("subProduit").submit();}

// Gestion du survol pour les documentations techniques
function survol(id){document.getElementById(id).className="produitDocTexteSurvol";}
function normal(id){document.getElementById(id).className="produitDocTexte";}

function SurvolMiniature(idMini, idMain)
{
	
	GetId(idMain).src = GetId(idMini).src;
	
	//var i ;
	//var elmt = GetId(idMini);
	
	//alert(LONGUEUR_GALERIE_TABLEAU);
	
	
	//GetId(idMini).filters.alpha.opacity=50;
	
	//GetId(idMini).style.setProperty("-moz-opacity", 0.5, "");
	//GetId(idMini).style.setProperty("-khtml-opacity", 0.5, "");
	//GetId(idMini).style.setProperty("opacity", 0.5, "");
	
	//alert(LONGUEUR_GALERIE_TABLEAU);
	
	/*memoGalerieTableau = mini;
	
	for (i=0 ; i<LONGUEUR_GALERIE_TABLEAU ; i++)
	{
		alert(i);
		var object = GetId("tableau" + i);
		alert(object);
		if (object != mini)
		{
			object.style.setProperty("-moz-opacity", 1, "");
			object.style.setProperty("-khtml-opacity", 1, "");
    		object.style.setProperty("opacity", 1, "");
			object.filters[0].opacity=100;
		}
		
	}*/
	
}

function NormalMiniature(idMini, idMain)
{
	
	//GetId(idMini).style.setProperty("-moz-opacity", 1, "");
	//GetId(idMini).style.setProperty("-khtml-opacity", 1, "");
    //GetId(idMini).style.setProperty("opacity", 1, "");
	//GetId(idMini).filters[0].opacity=100;
	
}


/*function defilement(){
	document.getElementById('image').style.left = document.getElementById('image').style.left+50+"px";
}*/


function GetId(id){return document.getElementById(id);}

function affiche(texte){alert(texte);}
	
function move(e)
{
	alert("move");
	if(i)
	{  // Si la bulle est visible, on calcul en temps reel sa position ideale
		if (navigator.appName!="Microsoft Internet Explorer")
		{ // Si on est pas sous IE
			GetId("curseur").style.left=e.pageX + 10+"px";
			GetId("curseur").style.top=e.pageY + 10+"px";
		}
		else
		{ // Modif proposé par TeDeum, merci à lui
			if(document.documentElement.clientWidth>0)
			{
				GetId("curseur").style.left=20+event.x+document.documentElement.scrollLeft+"px";
				GetId("curseur").style.top=10+event.y+document.documentElement.scrollTop+"px";
			}
			else
			{
				GetId("curseur").style.left=20+event.x+document.body.scrollLeft+"px";
				GetId("curseur").style.top=10+event.y+document.body.scrollTop+"px";
			}
		}
  	}
}

function montre(text) {
  if(memoInfoBulle==false) {
  	GetId("curseur").style.visibility="visible"; // Si il est cacher (la verif n'est qu'une securité) on le rend visible.
	GetId("curseur").innerHTML = text; // Cette fonction est a améliorer, il parait qu'elle n'est pas valide (mais elle marche)
	memoInfoBulle=true;
  }
}
function cache() {
	if(memoInfoBulle==true) {
		GetId("curseur").style.visibility="hidden"; // Si la bulle etais visible on la cache
		memoInfoBulle=false;
	}
}
	

function RtoT_NTC(i, o)
{
	
	// On efface le champ de reponse
	GetId(o).innerHTML = "";
	
	var val = GetId(i).value;
	val=Remplace(val, ",", ".");
	
	// Verification de l'entrée
	// Verification d'un champ non vide
	if (val.length < 1){alert("Veuillez remplir le champ R\351sistance");GetId(i).focus();return;}
	// Verification d'un nombre
	Expression = new RegExp("[a-zA-Z]");
	if(Expression.test(val)){alert("Veuillez entrer un nombre");GetId(i).focus();return;}
	
	// ATTENTION : tres utile
	val = parseFloat(val);
	
	if (val<0){alert("Veuillez entrer un nombre positif");GetId(i).focus();return;}
	
	GetId(i).value = val;
	
	
	// Calcul de la valeur de la température
	res =  ANTC;
	res += BNTC * Math.log(val);
	res += CNTC * Math.pow((Math.log(val)), 3);
	res =  1/res;
	res += -273.15;
	// Arrondi au dixieme
	res = Math.round(res * 10) / 10;
	
	GetId(o).innerHTML = res ;
	
}

function TtoR_NTC(i, o)
{
	var val = GetId(i).value;
	val=Remplace(val, ",", ".");
	
	var gamma, gamma1, gamma2, delta, C1, C2;
	
	// On efface le champ de reponse
	GetId(o).innerHTML = "";
	
	// Verification de l'entrée
	// Verification d'un champ non vide
	if (val.length < 1){alert("Veuillez remplir le champ Temp\351rature");GetId(i).focus();return;}
	// Verification d'un nombre
	Expression = new RegExp("[a-zA-Z]");
	// Vérification d'un champ numérique non négatif
	if(Expression.test(val)){alert("Veuillez entrer un nombre");GetId(i).focus();return;}
	
	// ATTENTION : tres utile
	val = parseFloat(val);
	
	GetId(i).value = val;
	
	// Calcul de la valeur de la résistance
	// Calcul de gamma
	gamma1 =  val + 273.15;
	gamma1 = 1 / gamma1;
	gamma1 = gamma1 - ANTC;
	gamma2 = CNTC;
	gamma2 = 1 / gamma2;
	gamma  = gamma1 * gamma2;
	// Calcul de delta
	delta = BNTC / CNTC;
	delta  =  Math.pow(delta, 3);
	delta = delta * (4/27) + (gamma*gamma);
	delta  = Math.sqrt(delta);
	// Calcul de C1
	C1 = (gamma+delta) / 2;
	C1 = Math.pow(C1, 1/3);
	// Calcul de C2
	C2 = (gamma-delta) / 2;
	C2 = Math.abs(C2);
	C2 = Math.pow(C2, 1/3);
	
	// Calcul du résultat
	res = Math.pow(2.71828182845905, (C1-C2));
	
	// Arrondi a l'unité
	res = Math.round(res * 10) / 10;
	
	GetId(o).innerHTML = res ;
	
}
 
function RtoT_PT(i, o, t)
{
	var val = GetId(i).value;
	val=Remplace(val, ",", ".");
	var s = GetId(t);
	var type = GetId(t).options[GetId(t).selectedIndex].value;
	var discri;
	
	// On efface le champ de reponse
	GetId(o).innerHTML = "";
	
	// Verification de l'entrée
	// Verification d'un champ non vide
	if (val.length < 1){alert("Veuillez remplir le champ R\351sistance");GetId(i).focus();return;}
	// Verification d'un nombre
	Expression = new RegExp("[a-zA-Z]");
	if(Expression.test(val)){alert("Veuillez entrer un nombre");GetId(i).focus();return;}
	// Vérification d'un champ numérique non négatif
	if (val<0){alert("Veuillez entrer un nombre positif");GetId(i).focus();return;}
	
	// ATTENTION : tres utile
	val = parseFloat(val);
	
	GetId(i).value = val;
	
	// Calcul de la valeur de la température
	discri = (APT*APT) - (4*BPT*(1-(val/type)));
	res =  (-APT + Math.sqrt(discri)) / (2*BPT);
	
	// Arrondi au millieme
	res = Math.round(res * 1000) / 1000;
	
	GetId(o).innerHTML = res ;
	
}	

function TtoR_PT(i, o, t)
{
	var val = GetId(i).value;
	val=Remplace(val, ",", ".");
	var s = GetId(t);
	var type = GetId(t).options[GetId(t).selectedIndex].value;
	
	// On efface le champ de reponse
	GetId(o).innerHTML = "";
	
	// Verification de l'entrée
	// Verification d'un champ non vide
	if (val.length < 1){alert("Veuillez remplir le champ Temp\351rature");GetId(i).focus();return;}
	// Verification d'un nombre
	Expression = new RegExp("[a-zA-Z]");
	if(Expression.test(val)){alert("Veuillez entrer un nombre");GetId(i).focus();return;}
	
	// ATTENTION : tres utile
	val = parseFloat(val);
	
	GetId(i).value = val;
	
	// Calcul de la valeur de la température
	res =  (BPT*val*val) + (APT*val) + 1;
	res = res * type;
	
	// Arrondi au millieme
	res = Math.round(res * 1000) / 1000;
	
	GetId(o).innerHTML = res ;
	
}	

function TexteGV_Bars(t, t1, t2, v1, v2)
{
	
	
	var type = GetId(t).options[GetId(t).selectedIndex].value;
	
	if (type == "V")
	{
		GetId(t1).innerHTML = "Module de conversion : bars vers volts";
		GetId(t2).innerHTML = "Module de conversion : volts vers bars";
		GetId(v1).innerHTML = "Valeur mesur\351e(V) :";
		GetId(v2).innerHTML = "Valeur mesur\351e(V) :";
	}
	if (type == "mA")
	{
		GetId(t1).innerHTML = "Module de conversion : bars vers mA";
		GetId(t2).innerHTML = "Module de conversion : mA vers bars";
		GetId(v1).innerHTML = "Valeur mesur\351e(mA) :";
		GetId(v2).innerHTML = "Valeur mesur\351e(mA) :";
	}
	
	
}
function TexteGV_Hr(t, t1, t2, v1, v2)
{
	
	var type = GetId(t).options[GetId(t).selectedIndex].value;
	
	if (type == "V")
	{
		GetId(t1).innerHTML = "Module de conversion : Hr% vers volts";
		GetId(t2).innerHTML = "Module de conversion : volts vers Hr%";
		GetId(v1).innerHTML = "Valeur mesur\351e(V) :";
		GetId(v2).innerHTML = "Valeur mesur\351e(V) :";
	}
	if (type == "mA")
	{
		GetId(t1).innerHTML = "Module de conversion : Hr% vers mA";
		GetId(t2).innerHTML = "Module de conversion : mA vers Hr%";
		GetId(v1).innerHTML = "Valeur mesur\351e(mA) :";
		GetId(v2).innerHTML = "Valeur mesur\351e(mA) :";
	}
	
	
}

function VtoG(i, o, t, b1, b2)
{
	var borne1 = GetId(b1).value;
	val=Remplace(borne1, ",", ".");
	var borne2 = GetId(b2).value;
	val=Remplace(borne2, ",", ".");
	var val = GetId(i).value;
	val=Remplace(val, ",", ".");
	var type = GetId(t).options[GetId(t).selectedIndex].value;
	
	// On efface le champ de reponse
	GetId(o).innerHTML = "";
	
	
	// Verification des entrées
	
	// Vérification de la borne Inf
	// Verification d'un champ non vide
	if (borne1.length < 1){alert("Veuillez remplir le champ borne inf\351rieure");return;}
	// Verification d'un nombre
	Expression = new RegExp("[a-zA-Z]");
	if(Expression.test(borne1)){alert("Veuillez entrer un nombre dans le champ borne inf\351rieure");return;}
	
	// Vérification de la borne Sup
	// Verification d'un champ non vide
	if (borne2.length < 1){alert("Veuillez remplir le champ borne sup\351rieure");return;}
	// Verification d'un nombre
	Expression = new RegExp("[a-zA-Z]");
	if(Expression.test(borne2)){alert("Veuillez entrer un nombre dans le champ borne sup\351rieure");return;}
	
	// Verification d'un champ non vide
	if (val.length < 1){alert("Veuillez remplir le champ valeur");return;}
	// Verification d'un nombre
	Expression = new RegExp("\d");
	if(Expression.test(val)){alert("Veuillez entrer un nombre dans le champ valeur");return;}
	
	
	// ATTENTION : tres utile
	borne1 = parseFloat(borne1);
	borne2 = parseFloat(borne2);
	val = parseFloat(val);
	
	GetId(b1).value = borne1;
	GetId(b2).value = borne2;
	GetId(i).value = val;
	
	// Calcul de la valeur de la pression (bars)
	var deltaX;
	var deltaY;
	var Xmax;
	var a;
	var b;
	var res;
	
	if (type == "V"){deltaX = 10; Xmax=10;}		// 0-10V
	if (type == "mA"){deltaX = 16; Xmax=20;}	// 4-20mA
	
	deltaY = borne2 - borne1;
	
	a = (deltaY) / (deltaX) ;
	b = borne2 - (a * Xmax);
	
	res = (a*val) + b ;
	
	GetId(o).innerHTML = res ;
	
}	

function GtoV(i, o, t, b1, b2)
{
	var borne1 = GetId(b1).value;
	val=Remplace(borne1, ",", ".");
	var borne2 = GetId(b2).value;
	val=Remplace(borne2, ",", ".");
	var val = GetId(i).value;
	val=Remplace(val, ",", ".");
	var type = GetId(t).options[GetId(t).selectedIndex].value;
	
	// On efface le champ de reponse
	GetId(o).innerHTML = "";
	
	
	// Verification des entrées
	
	// Vérification de la borne Inf
	// Verification d'un champ non vide
	if (borne1.length < 1){alert("Veuillez remplir le champ borne inf\351rieure");return;}
	// Verification d'un nombre
	Expression = new RegExp("[a-zA-Z]");
	if(Expression.test(borne1)){alert("Veuillez entrer un nombre dans le champ borne inf\351rieure");return;}
	
	// Vérification de la borne Sup
	// Verification d'un champ non vide
	if (borne2.length < 1){alert("Veuillez remplir le champ borne sup\351rieure");return;}
	// Verification d'un nombre
	Expression = new RegExp("[a-zA-Z]");
	if(Expression.test(borne2)){alert("Veuillez entrer un nombre dans le champ borne sup\351rieure");return;}
	
	// Verification d'un champ non vide
	if (val.length < 1){alert("Veuillez remplir le champ valeur");return;}
	// Verification d'un nombre
	Expression = new RegExp("\d");
	if(Expression.test(val)){alert("Veuillez entrer un nombre dans le champ valeur");return;}
	
	
	// ATTENTION : tres utile
	borne1 = parseFloat(borne1);
	borne2 = parseFloat(borne2);
	val = parseFloat(val);
	
	GetId(b1).value = borne1;
	GetId(b2).value = borne2;
	GetId(i).value = val;
	
	// Calcul de la valeur de la pression (bars)
	var deltaX;
	var deltaY;
	var Xmax;
	var a;
	var b;
	var res;
	
	if (type == "V"){deltaY = 10; Xmax=10;}		// 0-10V
	if (type == "mA"){deltaY = 16; Xmax=20;}	// 4-20mA
	
	deltaX = borne2 - borne1;
	
	a = (deltaY) / (deltaX) ;
	b = Xmax - (a * borne2);
	
	res = (a*val) + b ;
	
	GetId(o).innerHTML = res ;
}	
