	//
	// variables de programmation
	//
	var zone = 0;
	var lastSelected   =0;
	var TitreMenu       =new Array(15);
	var LibeleMenu      =new Array(15);
	var LienMenu        =new Array(15);
	var CibleMenu       =new Array(15);
	var ImgMenuOn    	="images/fleche_menu_on.gif";
	var ImgMenuOff     	="images/fleche_menu_off.gif";
	var nbrLignesMenu  	=new Array(15);

	for (var STi=1; STi<=15; STi++)
		{
		TitreMenu[STi]  = "";
		LibeleMenu[STi] = new Array(15);
		LienMenu[STi]   = new Array(15);
		CibleMenu[STi]  = new Array(15);
		for (var STj=1;STj<=15; STj++)
			{
			LibeleMenu[STi][STj] = "";
			LienMenu[STi][STj]   = "";
			CibleMenu[STi][STj]  = "";
			}
		}
	
	// =============================================================================
	// DEBUT SECTION MODIFIABLE PAR SIGMA TEC
	// =============================================================================

//
	TitreMenu[1]="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Accueil";
	LibeleMenu[1][1] 	="NIL";
	LienMenu[1][1]      ="http://www.sigma-tec.fr/index.html";
//
	//
	TitreMenu[2]="&nbsp;&nbsp;&nbsp;Principes PV";
	//
	LibeleMenu[2][1] 	="L'&eacute;nergie solaire";
	LienMenu[2][1]      ="http://www.sigma-tec.fr/textes/texte_energies_solaires.html";
	//
	LibeleMenu[2][2] 	="L'effet photovolta&iuml;que";
	LienMenu[2][2]     	="http://www.sigma-tec.fr/textes/texte_principes.html";
	//
	LibeleMenu[2][3]    ="Les cellules";
	LienMenu[2][3]      ="http://www.sigma-tec.fr/textes/texte_cellule.html";
	//
	LibeleMenu[2][4] 	="Les modules / les panneaux";
	LienMenu[2][4]     	="http://www.sigma-tec.fr/textes/texte_panneau.html";
	//
	LibeleMenu[2][5] 	="Le champs photovolta&iuml;que";
	LienMenu[2][5]     	="http://www.sigma-tec.fr/textes/texte_champs_pv.html";
	//
	LibeleMenu[2][6]    ="Energie grise [CO2, recyclage]";
	LienMenu[2][6]      ="http://www.sigma-tec.fr/textes/texte_co2_recyclage.html";
	//
	LibeleMenu[2][7] 	="Le rendement des cellules";
	LienMenu[2][7]     	="http://www.sigma-tec.fr/textes/texte_rendement_cellule.html";
	//
	LibeleMenu[2][8] 	="La recherche";
	LienMenu[2][8]     	="http://www.sigma-tec.fr/textes/texte_recherche.html";
	//
	LibeleMenu[2][9] 	="Liens utiles";
	LienMenu[2][9]     	="http://www.sigma-tec.fr/textes/texte_liens_utiles.html";	
	//
	TitreMenu[3]="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mat&eacute;riel";
	//
	LibeleMenu[3][1] 	="Les modules / les panneaux";
	LienMenu[3][1]      ="http://www.sigma-tec.fr/textes/texte_materiel_panneau.html";
	//
	LibeleMenu[3][2]    ="Les onduleurs";
	LienMenu[3][2]      ="http://www.sigma-tec.fr/textes/texte_onduleur.html";
	//
	LibeleMenu[3][3] 	="Les c&acirc;bles";
	LienMenu[3][3]     	="http://www.sigma-tec.fr/textes/texte_cables.html";
	//
	LibeleMenu[3][4] 	="La mise &agrave; la terre";
	LienMenu[3][4]     	="http://www.sigma-tec.fr/textes/texte_terre.html";
	//
	LibeleMenu[3][5] 	="Les protections";
	LienMenu[3][5]     	="http://www.sigma-tec.fr/textes/texte_protections.html";
	//
	LibeleMenu[3][6] 	="Les parafoudres";
	LienMenu[3][6]     	="http://www.sigma-tec.fr/textes/texte_parafoudre.html";
	//
	//
	TitreMenu[4]="&nbsp;&nbsp;&nbsp;Installations";
	//
	LibeleMenu[4][1] 	="Calcul d'un champs PV";
	LienMenu[4][1]      ="http://www.sigma-tec.fr/textes/texte_parametres_installation.html";
	//
	LibeleMenu[4][2]    ="Les modes de pose";
	LienMenu[4][2]      ="http://www.sigma-tec.fr/textes/texte_types_poses.html";
	//
	LibeleMenu[4][3] 	="Le raccordement au r&eacute;seau";
	LienMenu[4][3]     	="http://www.sigma-tec.fr/textes/texte_raccordements.html";
	//
	LibeleMenu[4][4] 	="Le site isol&eacute;";
	LienMenu[4][4]     	="http://www.sigma-tec.fr/textes/texte_site_isole.html";
	//
	LibeleMenu[4][5] 	="Vente de la production";
	LienMenu[4][5]     	="http://www.sigma-tec.fr/textes/texte_revente_edf.html";
	//
	LibeleMenu[4][6] 	="Crit&egrave;res de performances";
	LienMenu[4][6]     	="http://www.sigma-tec.fr/textes/texte_parametres_installation.html";
	//
	LibeleMenu[4][7] 	="Les proc&eacute;dures administratives";
	LienMenu[4][7]     	="http://www.sigma-tec.fr/textes/texte_procedures_administratives.html";
	//
	LibeleMenu[4][8] 	="Les assurances";
	LienMenu[4][8]     	="http://www.sigma-tec.fr/textes/texte_assurances.html";	
	//
	LibeleMenu[4][9] 	="Chiffres France, Europe, Monde...";
	LienMenu[4][9]     	="http://www.sigma-tec.fr/textes/texte_chiffres.html";	
	//
	//
	TitreMenu[5]="&nbsp;&nbsp;Aides & taxes";
	//
	LibeleMenu[5][1] 	="Le cr&eacute;dit d'impots";
	LienMenu[5][1]      ="http://www.sigma-tec.fr/textes/texte_aides_impot.html";
	//
	LibeleMenu[5][2]    ="Les aides publiques";
	LienMenu[5][2]      ="http://www.sigma-tec.fr/textes/texte_aides_publiques.html";
	//
	LibeleMenu[5][3] 	="La TVA sur les travaux";
	LienMenu[5][3]     	="http://www.sigma-tec.fr/textes/texte_tva.html";
	//
	LibeleMenu[5][4] 	="Les impots";
	LienMenu[5][4]     	="http://www.sigma-tec.fr/textes/texte_impots.html";
	//	
	//
	TitreMenu[6]="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calculs";
	//
	LibeleMenu[6][1] 	="La simulation production/revenus";
	LienMenu[6][1]     ="http://www.sigma-tec.fr/textes/texte_calculs.html";
	//
	LibeleMenu[6][2]   ="La production d'un champ";
	LienMenu[6][2]     ="http://www.sigma-tec.fr/textes/texte_parametres_installation.html";
	//
	LibeleMenu[6][3] 	="Les chutes de tension/c&acirc;bles";
	LienMenu[6][3]     ="http://www.sigma-tec.fr/textes/texte_cables.html";
	//
	LibeleMenu[6][4]   ="Les &eacute;quations champs/onduleur";
	LienMenu[6][4]     ="http://www.sigma-tec.fr/textes/texte_equations.html";
		//
	LibeleMenu[6][5] 	="Les param&egrave;tres d'un syst&egrave;me";
	LienMenu[6][5]     ="http://www.sigma-tec.fr/textes/texte_parametres.html";
	//
	// ========================================================================
	TitreMenu[7]="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sigma Tec";
	//
	LibeleMenu[7][1] 	="Contacts";
	LienMenu[7][1]      ="http://www.sigma-tec.fr/textes/texte_contacts.html";
	//
	LibeleMenu[7][2]    ="Labels et qualifications";
	LienMenu[7][2]      ="http://www.sigma-tec.fr/textes/texte_labels.html";
	//
	LibeleMenu[7][3] 	="Votre projet...";
	LienMenu[7][3]     	="http://www.sigma-tec.fr/textes/texte_votre_projet.html";
	//
	LibeleMenu[7][4] 	="Notre offre";
	LienMenu[7][4]     	="http://www.sigma-tec.fr/textes/texte_notre_offre.html";
	//
	LibeleMenu[7][5] 	="Nos r&eacute;alisations";
	LienMenu[7][5]     	="http://www.sigma-tec.fr/textes/texte_realisations.html";
	//
	LibeleMenu[7][6] 	="Etudes en cours";
	LienMenu[7][6]     	="http://www.sigma-tec.fr/textes/texte_etudes_BE_en_cours.html";	
	//
	
	TitreMenu[8]="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Contacts";
	LibeleMenu[8][1] 	="NIL";
	LienMenu[8][1]     	="http://www.sigma-tec.fr/textes/texte_contacts.html";		


// 
// PROG DBN ==============================================================
//


	//
function STinitGlobales()
	{

	//
	// recherche le nbr de menus et le nombre de leurs sous-menus
	//
	for (var STi=1; STi<=15; STi++)
		{
		if (TitreMenu[STi] != "")
			{
			nbrMenus = STi;
			}
		for (var STj=1; STj<=15; STj++)
			{
			if (LibeleMenu[STi][STj] != "" && LibeleMenu[STi][STj] != "NIL")
				{
				nbrLignesMenu[STi] = STj;
				}
			}
		} 
		
	STinitpage(nbrMenus,nbrLignesMenu);
	}

function STinitpage(nbrMenus,nbrLignesMenu)
	{
	for (var i=1; i<=nbrMenus; i++)
		{
		STinitMenu(i,nbrLignesMenu[i]);
		}		
	}

function STinitMenu(numMenu,nbrItemMenu)
	{
	document.getElementById('libmenu'+numMenu).innerHTML = TitreMenu[numMenu];
	if (LibeleMenu[numMenu][1] != "NIL")
		{
		for (var j=1; j<=nbrItemMenu; j++)
			{
			document.getElementById('item'+numMenu+j).innerHTML = LibeleMenu[numMenu][j];
			document.getElementById('item'+numMenu+j).href = LienMenu[numMenu][j];
			} 
		}
	else
		{
		document.getElementById('libmenu'+numMenu).href = LienMenu[numMenu][1];
		}
	}
function previouspage()
	{
	history.back();
	}


//  calcul long de cable (chute de tension)


function calculSectionOff() {
	document.getElementById('btncalculer').disabled=true;
	document.getElementById('btncalculer2').disabled=false;
	document.getElementById('idSectionCond').value = "";
}

function calculLongOff() {
	document.getElementById('btncalculer2').disabled=true;
	document.getElementById('btncalculer').disabled=false;
	document.getElementById('idLongMax').value = "";

}

function calculLongCable() {


	var coultext = "#000000";
	var coulfond = "#FEF5ED"
	var coulbord = "#8C0000";

	SectionCond = document.getElementById('idSectionCond').value;
	Impp         = document.getElementById('idImpp').value;
	Umpp         = document.getElementById('idUmpp').value;
	aIcc         = document.getElementById('idaIcc').value;
	aUco         = document.getElementById('idaUco').value;	
	SectionCond = SectionCond.replace(",",".");
	Impp 		= Impp.replace(",",".");
	Umpp 		= Umpp.replace(",",".");
	aIcc 		= aIcc.replace(",",".");
	aUco 		= aUco.replace(",",".");	
	
	okCalculer=1;

	if (isNaN(SectionCond) || SectionCond <= 0)
		{
			SectionCond = "";
			document.getElementById('idSectionCond').value = SectionCond;
			okCalculer = 0;
		}
	if (isNaN(Impp) || Impp <= 0)
		{
			Impp = "";
			document.getElementById('idImpp').value = Impp;
			okCalculer = 0;
		}	
	if (isNaN(Umpp) || Umpp <= 0)
		{
			Umpp = "";
			document.getElementById('idUmpp').value = Umpp;
			okCalculer = 0;
		}	
	if (isNaN(aIcc) || aIcc <= 0)
		{
			aIcc = "";
			document.getElementById('idaIcc').value = aIcc;
			okCalculer = 0;
		}	
	if (isNaN(aUco) || aUco <= 0)
		{
			aUco = "";
			document.getElementById('idaUco').value = aUco;
			okCalculer = 0;
		}	

	if (okCalculer==1)
		{

		indexMateriau = document.getElementById('idMateriau').options[document.getElementById('idMateriau').selectedIndex].index;
		if (indexMateriau=="0") // cuivre
			{
			Conductivite = 58;
			}
		if (indexMateriau=="1") // aluminium
			{
			Conductivite = 36;			
			}
		/*document.getElementById('idConductivite').value = Conductivite;*/

		// correction I et U sous 70°C (70°-25° STC =45°C)
		
		UmppNominal = Umpp;  // sauvegarde Umpp
		ImppNominal = Impp;  // sauvegarde Impp
		Umpp = parseFloat(Umpp) - parseFloat((45 * Umpp * aUco / 100));  // Umpp a 70°C
		Impp = parseFloat(Impp) + parseFloat((45 * Impp * aIcc / 100));	 // Impp a 70°C

		// calculs
	
		DeltaU = Umpp/100;

		document.getElementById('idDeltaU').value = formatN(DeltaU,2,".");
		document.getElementById('idI').value = formatN(Impp,2,".");
		document.getElementById('idU').value = formatN(Umpp,2,".");	
	
		// sans tenir compte des liaisons inter-modules
		LongMax = parseInt((Conductivite * DeltaU * SectionCond) / (2 * Impp ));
		LongMax = formatN(LongMax,2,".");
		document.getElementById('idLongMax').value = LongMax;
	
		document.getElementById('idLongMax').style.color = coultext;
  	 	document.getElementById('idLongMax').style.backgroundColor = coulfond;
  	 	document.getElementById('idLongMax').style.borderColor = coulbord;
  	 	document.getElementById('idLongMax').style.borderStyle = "outset";
		}
	else
		{
		document.getElementById('idDeltaU').value = "";
		document.getElementById('idI').value = "";
		document.getElementById('idU').value = "";	
		document.getElementById('idLongMax').value = "";			
		}
	
}

function calculSectionCable() {

	var coultext = "#000000";
	var coulfond = "#FEF5ED"
	var coulbord = "#8C0000";

	okCalculer = 1;

	LongCond 	= document.getElementById('idLongMax').value;
	LongCond 	= LongCond.replace(",",".");

	Impp         = document.getElementById('idImpp').value;
	Umpp         = document.getElementById('idUmpp').value;
	aIcc         = document.getElementById('idaIcc').value;
	aUco         = document.getElementById('idaUco').value;	
	Impp 		= Impp.replace(",",".");
	Umpp 		= Umpp.replace(",",".");
	aIcc 		= aIcc.replace(",",".");
	aUco 		= aUco.replace(",",".");


	
	if (isNaN(LongCond) || LongCond <= 0)
		{
			LongCond = "";
			document.getElementById('idLongMax').value = LongCond;
			okCalculer = 0;
		}

	if (isNaN(Impp) || Impp <= 0)
		{
			Impp = "";
			document.getElementById('idImpp').value = Impp;
			okCalculer = 0;
		}	
	if (isNaN(Umpp) || Umpp <= 0)
		{
			Umpp = "";
			document.getElementById('idUmpp').value = Umpp;
			okCalculer = 0;
		}	
	if (isNaN(aIcc) || aIcc <= 0)
		{
			aIcc = "";
			document.getElementById('idaIcc').value = aIcc;
			okCalculer = 0;
		}	
	if (isNaN(aUco) || aUco <= 0)
		{
			aUco = "";
			document.getElementById('idaUco').value = aUco;
			okCalculer = 0;
		}	

	
	if (okCalculer == 1)
		{
		indexMateriau = document.getElementById('idMateriau').options[document.getElementById('idMateriau').selectedIndex].index;
		if (indexMateriau=="0") // cuivre
			{
			Conductivite = 58;
			}
		if (indexMateriau=="1") // aluminium
		{
			Conductivite = 36;			
			}
		/*document.getElementById('idConductivite2').value = Conductivite;*/
		// correction I et U sous 70°C (70°-25° STC =45°C)
		
		UmppNominal = Umpp;  // sauvegarde Umpp
		ImppNominal = Impp;  // sauvegarde Impp
		Umpp = parseFloat(Umpp) - parseFloat((45 * Umpp * aUco / 100));  // Umpp a 70°C
		Impp = parseFloat(Impp) + parseFloat((45 * Impp * aIcc / 100));	 // Impp a 70°C

		// calculs
	
		DeltaU = Umpp/100;
		document.getElementById('idDeltaU').value = formatN(DeltaU,2,".");
		document.getElementById('idI').value = formatN(Impp,2,".");
		document.getElementById('idU').value = formatN(Umpp,2,".");
	
		// sans tenir compte des liaisons inter-modules
 	   	SectionMin = parseFloat((2 * LongCond * Impp )/(Conductivite * DeltaU));	
		SectionMin = formatN(SectionMin,2,".");
		document.getElementById('idSectionCond').value = SectionMin;
	
		document.getElementById('idSectionCond').style.color = coultext;
 	  	document.getElementById('idSectionCond').style.backgroundColor = coulfond;
 	  	document.getElementById('idSectionCond').style.borderColor = coulbord;
	   	document.getElementById('idSectionCond').style.borderStyle = "outset";	
		}
	else
		{
		document.getElementById('idDeltaU').value = "";
		document.getElementById('idI').value = "";
		document.getElementById('idU').value = "";	
		document.getElementById('idSectionCond').value = "";			
		}		
}

function calculSectionCableAC() {

	var coultext = "#000000";
	var coulfond = "#FEF5ED"
	var coulbord = "#8C0000";
	var Conductivite = 56;  /* cuivre */

	okCalculer = 1;

	LongCond 	= document.getElementById('idLongCable').value;
	PuOnduleur  = document.getElementById('idPuOnduleur').value;	

	LongCond 	= LongCond.replace(",",".");
	PuOnduleur 	= PuOnduleur.replace(",",".");

	if (isNaN(LongCond) || LongCond <= 0)
		{
			LongCond = "";
			document.getElementById('idLongCable').value = LongCond;
			okCalculer = 0;
		}

	if (isNaN(PuOnduleur) || PuOnduleur <= 0)
		{
			PuOnduleur = "";
			document.getElementById('idPuOnduleur').value = PuOnduleur;
			okCalculer = 0;
		}	

	if (okCalculer == 1)
		{
		indexTypeReseau = document.getElementById('idTypeReseau').options[document.getElementById('idTypeReseau').selectedIndex].index;
		if (indexTypeReseau=="0") // Mono 240V
			{
			nbPhase = 1;
			UReseau = 240;
			}
		if (indexTypeReseau=="1") // Tri 240V
			{
			nbPhase = 2;	
			UReseau = 240;
			}
		if (indexTypeReseau=="2") // Tri 400V
			{
			nbPhase = 3;	
			UReseau = 400;
			}
		// calculs
	
		IReseau = PuOnduleur/UReseau/nbPhase;
		DeltaU = UReseau/100;
		document.getElementById('idDeltaU2').value = formatN(DeltaU,2,".");

		if (nbPhase==1 || nbPhase==2)
			{
			SectionMin = parseFloat((2 * LongCond * IReseau )/(Conductivite * DeltaU));	
			}
		if (nbPhase==3)
			{
			SectionMin = parseFloat(( LongCond * IReseau )/(Conductivite * DeltaU));	
			}			

		SectionMin = formatN(SectionMin,2,".");
		document.getElementById('idSectionCond2').value = SectionMin;
		SectionReele = adjustSection(SectionMin);
		document.getElementById('idSectionReele2').value = SectionReele;
		
		document.getElementById('idSectionReele2').style.color = coultext;
 	  	document.getElementById('idSectionReele2').style.backgroundColor = coulfond;
 	  	document.getElementById('idSectionReele2').style.borderColor = coulbord;
	   	document.getElementById('idSectionReele2').style.borderStyle = "outset";
		
		/* reclacul avec le deltaU reele du a la section reele du cable */
		
		if (nbPhase==1 || nbPhase==2)
			{
			DeltaUReele = parseFloat((2 * LongCond * IReseau )/(Conductivite * SectionReele));	
			}
		if (nbPhase==3)
			{
			DeltaUReele = parseFloat(( LongCond * IReseau )/(Conductivite * SectionReele));	
			}	
		document.getElementById('idDeltaUReele2').value = formatN(DeltaUReele,2,".");
		
		}
	else
		{
		document.getElementById('idDeltaU2').value = "";
		document.getElementById('idSectionCond2').value = "";
		document.getElementById('idSectionReele2').value = "";
		}		
}

function adjustSection(sectionTheorique)
	{
	sectionReele = 0;
	if (sectionTheorique >  -1.000     && sectionTheorique <   1.501) {sectionReele = 1.5;}
	if (sectionTheorique >   1.500     && sectionTheorique <   2.501) {sectionReele = 2.5;}
	if (sectionTheorique >   2.500     && sectionTheorique <   4.001) {sectionReele = 4;}
	if (sectionTheorique >   4.000     && sectionTheorique <   6.001) {sectionReele = 6;}	
	if (sectionTheorique >   6.000     && sectionTheorique <  10.001) {sectionReele = 10;}
	if (sectionTheorique >  10.000     && sectionTheorique <  16.001) {sectionReele = 16;}
	if (sectionTheorique >  16.000     && sectionTheorique <  25.001) {sectionReele = 25;}
	if (sectionTheorique >  25.000     && sectionTheorique <  35.001) {sectionReele = 35;}
	if (sectionTheorique >  35.000     && sectionTheorique <  50.001) {sectionReele = 50;}
	if (sectionTheorique >  50.000     && sectionTheorique <  70.001) {sectionReele = 70;}	
	if (sectionTheorique >  70.000     && sectionTheorique <  95.001) {sectionReele = 95;}
	if (sectionTheorique >  95.000     && sectionTheorique < 120.001) {sectionReele = 120;}
	if (sectionTheorique > 120.000     && sectionTheorique < 150.001) {sectionReele = 150;}
	if (sectionTheorique > 150.000     && sectionTheorique < 185.001) {sectionReele = 185;}
	if (sectionTheorique > 185.000     && sectionTheorique < 240.001) {sectionReele = 240;}
	if (sectionTheorique > 240.000     && sectionTheorique < 400.001) {sectionReele = 400;}
	return sectionReele;
	}
	
function formatN(valeur,decimal,separateur) 
    	{
    	// formate un chiffre avec 'decimal' chiffres après la virgule et un separateur
		var deci=Math.round( Math.pow(10,decimal)*(Math.abs(valeur)-Math.floor(Math.abs(valeur)))) ;
		var val=Math.floor(Math.abs(valeur));
		if ((decimal==0)||(deci==Math.pow(10,decimal))) {val=Math.floor(Math.abs(valeur)); deci=0;}
		var val_format=val+"";
		var nb=val_format.length;
		for (var i=1;i<4;i++)
			{
			if (val>=Math.pow(10,(3*i)))
				{
				val_format=val_format.substring(0,nb-(3*i))+separateur+val_format.substring(nb-(3*i));
				}
			}
		if (decimal>0)
			{
			var decim="";
			for (var j=0;j<(decimal-deci.toString().length);j++) {decim+="0";}
			deci=decim+deci.toString();
			val_format=val_format+"."+deci;
			}
		if (parseFloat(valeur)<0) {val_format="-"+val_format;}
		return val_format;
		}



// --------------carte des gisements et calculs
// =============================================

function nompropre(mot) {
      var m=mot.charAt(0).toUpperCase() + mot.substring(1).toLowerCase();
      return m;
   }

// pour texte_parametres_installation.html
function mapvalid1(ville,region,gisement) {
	Ville = ville;
	Region = region;
	Gisement = gisement;
	document.getElementById('idVille').value = Ville.toUpperCase();
	document.getElementById('idRegion').value = Region.charAt(0).toUpperCase() + Region.substring(1).toLowerCase();
	document.getElementById('idGisement').value = Gisement;	
	}
	
	
// ------------init de base 
var Ville    = "";
var Region   = "";
var Gisement = 0;
var ValInclinaison = -1;
var ValOrientation = -1;
var Inclinaison = -1;
var Orientation = -1;
var coultext = "#000000";
var coulfond = "#FEF5ED"
var coulbord = "#8C0000";


// ------------facteur de perf gisement ------------------ CoefGisement[Inclinaison][Orientation]
CoefGisement =new Array(7);
CoefGisement[1] = new Array(11);
CoefGisement[2] = new Array(11);
CoefGisement[3] = new Array(11);
CoefGisement[4] = new Array(11);
CoefGisement[5] = new Array(11);
CoefGisement[6] = new Array(11);
CoefGisement[7] = new Array(11);

// inclin 0deg
 CoefGisement[1][0]= 93;
 CoefGisement[1][1]= 93;
 CoefGisement[1][2]= 93;
 CoefGisement[1][3]= 93;
 CoefGisement[1][4]= 93;
 CoefGisement[1][5]= 93;
 CoefGisement[1][6]= 93;
 CoefGisement[1][7]= 93;
 CoefGisement[1][8]= 93;
 CoefGisement[1][9]= 93;
 CoefGisement[1][10]= 93;

// inclin 15deg 										
 CoefGisement[2][0]= 97;
 CoefGisement[2][1]= 96.7;
 CoefGisement[2][2]= 96.4;
 CoefGisement[2][3]= 96;
 CoefGisement[2][4]= 95.5;
 CoefGisement[2][5]= 95;
 CoefGisement[2][6]= 94.5;
 CoefGisement[2][7]= 93.8;
 CoefGisement[2][8]= 93.2;
 CoefGisement[2][9]= 92.6;
 CoefGisement[2][10]= 92;


// inclin 20deg										
 CoefGisement[3][0]= 99;
 CoefGisement[3][1]= 98.5;
 CoefGisement[3][2]= 97.8;
 CoefGisement[3][3]= 97.2;
 CoefGisement[3][4]= 96.5;
 CoefGisement[3][5]= 95.9;
 CoefGisement[3][6]= 95.1;
 CoefGisement[3][7]= 94;
 CoefGisement[3][8]= 93;
 CoefGisement[3][9]= 92;
 CoefGisement[3][10]= 91;
 
 // inclin 30deg										
 CoefGisement[4][0]= 100;
 CoefGisement[4][1]= 99.3;
 CoefGisement[4][2]= 98.5;
 CoefGisement[4][3]= 97.6;
 CoefGisement[4][4]= 96.6;
 CoefGisement[4][5]= 96;
 CoefGisement[4][6]= 95.4;
 CoefGisement[4][7]= 94.1;
 CoefGisement[4][8]= 92.7;
 CoefGisement[4][9]= 91.4;
 CoefGisement[4][10]= 90;
// 	inclin 45deg								
 CoefGisement[5][0]= 96;
 CoefGisement[5][1]= 95.3;
 CoefGisement[5][2]= 94.5;
 CoefGisement[5][3]= 93.6;
 CoefGisement[5][4]= 92.6;
 CoefGisement[5][5]= 92;
 CoefGisement[5][6]= 91.3;
 CoefGisement[5][7]= 89.7;
 CoefGisement[5][8]= 88;
 CoefGisement[5][9]= 86;
 CoefGisement[5][10]= 84;

// inclin 60deg								
 CoefGisement[6][0]= 91;
 CoefGisement[6][1]= 90.6;
 CoefGisement[6][2]= 90.1;
 CoefGisement[6][3]= 89.5;
 CoefGisement[6][4]= 88.6;
 CoefGisement[6][5]= 88;
 CoefGisement[6][6]= 87.2;
 CoefGisement[6][7]= 85.3;
 CoefGisement[6][8]= 82.8;
 CoefGisement[6][9]= 80.3;
 CoefGisement[6][10]= 78;

// inclin 90deg								
 CoefGisement[7][0]= 68;
 CoefGisement[7][1]= 67.9;
 CoefGisement[7][2]= 67.8;
 CoefGisement[7][3]= 67.6;
 CoefGisement[7][4]= 66.6;
 CoefGisement[7][5]= 66;
 CoefGisement[7][6]= 65.2;
 CoefGisement[7][7]= 63;
 CoefGisement[7][8]= 60.45;
 CoefGisement[7][9]= 57.5;
 CoefGisement[7][10]= 55;


function inclinaison(i)
	{
	//if (ValInclinaison == -1) {i = 30}
	if (i != -1) 
		{
		ValInclinaison = Math.abs(i);
		// raz class * cellules
		for (var j=1; j<=7; j++)
			{
			document.getElementById('cel'+j).className='tbl_interne01_page';
			}
		// update class cellule selectionnee
		if (ValInclinaison ==  0) {Inclinaison =  1; document.getElementById('cel1').className='tbl_interne01_titre_gris'}
		if (ValInclinaison == 15) {Inclinaison =  2; document.getElementById('cel2').className='tbl_interne01_titre_gris'}
		if (ValInclinaison == 20) {Inclinaison =  3; document.getElementById('cel3').className='tbl_interne01_titre_gris'}
		if (ValInclinaison == 30) {Inclinaison =  4; document.getElementById('cel4').className='tbl_interne01_titre_gris'}
		if (ValInclinaison == 45) {Inclinaison =  5; document.getElementById('cel5').className='tbl_interne01_titre_gris'}
		if (ValInclinaison == 60) {Inclinaison =  6; document.getElementById('cel6').className='tbl_interne01_titre_gris'}		
		if (ValInclinaison == 90) {Inclinaison =  7; document.getElementById('cel7').className='tbl_interne01_titre_gris'}
		}		
	}
	
function orientation(i)
	{
	if (i == -999) // orientation saisie manuelle = dev futur
		{
		i = parseInt(document.getElementById('idOrientManu').value);
		}
	//if (ValOrientation == -1) {i = 0}
	
	// raz class * cellules
	for (var j=1; j<=5; j++)
		{
		document.getElementById('cel1O'+j).className='tbl_interne01_page';
		}
	// update class cellule selectionnee
	if (i ==   0) {document.getElementById('cel1O2').className='tbl_interne01_titre_gris'}
	if (i ==  45) {document.getElementById('cel1O4').className='tbl_interne01_titre_gris'}
	if (i ==  90) {document.getElementById('cel1O1').className='tbl_interne01_titre_gris'}
	if (i == -45) {document.getElementById('cel1O5').className='tbl_interne01_titre_gris'}
	if (i == -90) {document.getElementById('cel1O3').className='tbl_interne01_titre_gris'}		

	if (i != -1)
		{
		ValOrientation = Math.abs(i);
		if (ValOrientation > -1 && ValOrientation < 10) {Orientation = 0;} // 0-10
		if (ValOrientation >  9 && ValOrientation < 20) {Orientation = 1;} // 10-20
		if (ValOrientation > 19 && ValOrientation < 30) {Orientation = 2;} // 20-30
 		if (ValOrientation > 29 && ValOrientation < 40) {Orientation = 3;} // 30-40
 		if (ValOrientation > 39 && ValOrientation < 45) {Orientation = 4;} // 40-45
 		if (ValOrientation > 44 && ValOrientation < 50) {Orientation = 5;} // 45-50
 		if (ValOrientation > 49 && ValOrientation < 60) {Orientation = 6;} // 50-60
 		if (ValOrientation > 59 && ValOrientation < 70) {Orientation = 7;} // 60-70
 		if (ValOrientation > 69 && ValOrientation < 80) {Orientation = 8;} // 70-80
 		if (ValOrientation > 79 && ValOrientation < 90) {Orientation = 9;} // 80-90
 		if (ValOrientation > 89 && ValOrientation < 91) {Orientation = 10;} // 90
		}
	}	

function integrationIB()
    {
	// mode de pose et typ batiment -> prix achat EDF AOA
	ModePose = document.getElementById('IdModeImp').options[document.getElementById('IdModeImp').selectedIndex].index;
	if (ModePose!=1)
		{
		document.getElementById('IdTypBat').disabled=true;
		}
	else
		{
		document.getElementById('IdTypBat').disabled=false;
		}			
	}
	
function calcul()
    {

	if (Inclinaison == -1 || Orientation == -1)
		{
		alert("[3] Position du champ\nIndiquer une inclinaison et une orientation svp.");
		}


	ValCoefGisement = CoefGisement[Inclinaison][Orientation];
	
	// recup valeur entrees par user
	
	ReadAlbedo 		= document.getElementById('IdAlbedo').options[document.getElementById('IdAlbedo').selectedIndex].index;
	if (ReadAlbedo==0) {ValAlbedo=1};
	if (ReadAlbedo==1) {ValAlbedo=1.006};
	if (ReadAlbedo==2) {ValAlbedo=1.012};
	if (ReadAlbedo==3) {ValAlbedo=1.018};
	if (ReadAlbedo==4) {ValAlbedo=1.025};
	if (ReadAlbedo==5) {ValAlbedo=1.030};
	if (ReadAlbedo==6) {ValAlbedo=1.036};
	if (ReadAlbedo==7) {ValAlbedo=1.042};
	if (ReadAlbedo==8) {ValAlbedo=1.048};	
	if (ReadAlbedo==9) {ValAlbedo=1.054};
	if (ReadAlbedo==10) {ValAlbedo=1.061};
	
	
	ValChamps       = document.getElementById('idChamps').value;
	ValRendOnduleur = document.getElementById('idRendOnduleur').value;
	ValCables       = document.getElementById('idCables').value;
	ValTolProd      = document.getElementById('idTolProd').value;
	ValPerteTemp    = document.getElementById('idPerteTemp').value;	
	
	okCalculer = 1;


	// verif valeur num ou non
	if (isNaN(ValChamps) || ValChamps <= 0)
		{
			ValChamps = "3.0";
			document.getElementById('idChamps').value = ValChamps;
			okCalculer = 0;
		}
	if (isNaN(ValRendOnduleur) || ValRendOnduleur < 0 || ValRendOnduleur > 100)
		{
		ValRendOnduleur = "98";
		document.getElementById('idRendOnduleur').value = ValRendOnduleur;
		okCalculer = 0;
		}
	else
		{
		CoefValRendOnduleur = parseFloat(ValRendOnduleur/100);
		}
	if (isNaN(ValCables) || ValCables < 0 || ValCables > 100)
		{
		ValCables = "0.4";
		document.getElementById('idCables').value = ValCables;
		okCalculer = 0;
		}
	else
		{
		CoefValCables = parseFloat((100-ValCables)/100);
		}
	if (isNaN(ValTolProd) || ValTolProd < 0 || ValTolProd > 100)
		{
		ValTolProd = "2.74";
		document.getElementById('idTolProd').value = ValTolProd;
		okCalculer = 0;
		}
	else
		{
		CoefValTolProd = parseFloat((100-ValTolProd)/100);
		CoefValTolProd = parseInt(CoefValTolProd*1000)/1000;
		}		
	if (isNaN(ValPerteTemp) || ValPerteTemp < 0 || ValPerteTemp > 100 )
		{
		ValPerteTemp = "2";
		document.getElementById('idPerteTemp').value = ValPerteTemp;
		okCalculer = 0;
		}
	else
		{
		CoefValPerteTemp = parseFloat((100-ValPerteTemp)/100);
		}

	if (okCalculer == 1)
		{
		ValChamps       = parseFloat(ValChamps);
		calculPossible = 1;
		
		// mode de pose et typ batiment -> prix achat EDF AOA
		
		ModePose = document.getElementById('IdModeImp').options[document.getElementById('IdModeImp').selectedIndex].index;
		TypeBat  = document.getElementById('IdTypBat').options[document.getElementById('IdTypBat').selectedIndex].index;

		if (ModePose==0)
			{
			alert("[2] Puissance et implantation\nIndiquer un mode de pose svp.");
			}
		if (TypeBat==0 && ModePose==1)
			{
			alert("[2] Puissance et implantation\nIndiquer type de batiment svp.");
			}	
	
		// intergation IB bat/enseignement/medical
		if (ModePose==1 && (TypeBat==1 || TypeBat==2 || TypeBat==3))
			{
			ValAchatEDF = 0.58;
			}
		// intergation IB autre
		if (ModePose==1 && TypeBat==4)
			{
			ValAchatEDF = 0.50;
			}			
		// integration ISB
		if (ModePose==2)
			{
			ValAchatEDF = 0.42;
			}			
		// surimposition
		if (ModePose==3)
			{
			if (Region == "CORSE" )
				{
				ValAchatEDF = 0.40;
				}
			else
				{
				ValAchatEDF = 0.314;
				if (ValChamps>250)
					{
					calculPossible = 0;
					alert("[2] Puissance > 250kWC\nCalculs hors limites...\nVoir la page INSTALLATIONS > VENTE LA PRODUCTION.");
					}
				}
			}

		// facteurs de correction
		
		ValProduction   	= parseInt(ValChamps*Gisement*ValAlbedo*ValCoefGisement/100);
		ValProductionMin   	= parseInt(ValProduction*CoefValRendOnduleur*CoefValCables*CoefValTolProd*CoefValPerteTemp);

		ValCO2          	= parseInt(ValProduction*0.36);
		
		if (calculPossible==1)
		{
		if (ValProduction != 0)
			{
			document.getElementById('idProduction').value = ValProduction;
			document.getElementById('idProductionMin').value = ValProductionMin;
			document.getElementById('idCO2').value = ValCO2;	
			document.getElementById('idRevenu').value = parseInt(ValProduction*ValAchatEDF);
			document.getElementById('idPxAchatEDF').value = ValAchatEDF;			
			// habillage
			document.getElementById('idRevenu').style.color = coultext;
    		document.getElementById('idRevenu').style.backgroundColor = coulfond;
    		document.getElementById('idRevenu').style.borderColor = coulbord;
    		document.getElementById('idRevenu').style.borderStyle = "outset";
			document.getElementById('idProduction').style.color = coultext;
    		document.getElementById('idProduction').style.backgroundColor = coulfond;
    		document.getElementById('idProduction').style.borderColor = coulbord;
    		document.getElementById('idProduction').style.borderStyle = "outset";
			
			// TEST ENVOI EMAIL VIA SCRIPT PHP
			//envoi_datas_calculs.php?message=toto';
			
			
			}
		else
			{
			alert("[1] Situation geographique\nIndiquer une ville svp.");				
			}
		}
		}
	}


function mapvalid(ville,region,gisement) {
	//alert("Sélection : " + ville + " " + region + " " + gisement );
	Ville = ville;
	Region = region;
	Gisement = gisement;
	document.getElementById('idVille').value = Ville.toUpperCase();
	document.getElementById('idRegion').value = Region.charAt(0).toUpperCase() + Region.substring(1).toLowerCase();
	document.getElementById('idGisement').value = Gisement;

	document.getElementById('idVille').style.color = coultext;
    document.getElementById('idVille').style.backgroundColor = coulfond;
    document.getElementById('idVille').style.borderColor = coulbord;
    document.getElementById('idVille').style.borderStyle = "outset";
	document.getElementById('idGisement').style.color = coultext;
    document.getElementById('idGisement').style.backgroundColor = coulfond;
    document.getElementById('idGisement').style.borderColor = coulbord;
    document.getElementById('idGisement').style.borderStyle = "outset";

}


// --------------------- FOERMULAIRE DE CONTACT ------------------------------------

window.onload = HeureCheck();


function HeureCheck()
	{
	krucial = new Date;
	heure = krucial.getHours();
	min = krucial.getMinutes();
	sec = krucial.getSeconds();
	jour = krucial.getDate();
	mois = krucial.getMonth()+1;
	annee = krucial.getFullYear();
	if (sec < 10)
		{
		sec0 = "0";
		}
	else
		{
		sec0 = "";
		}
	if (min < 10)
		{
		min0 = "0";
		}
	else
		{
		min0 = "";
		}
	if (heure < 10)
		{
		heure0 = "0";
		}
	else
		{
		heure0 = "";
		}
	if (mois < 10)
		{
		mois0 = "0";
		}
	else
		{
		mois0 = "";
		}
	if (jour < 10)
		{
		jour0 = "0";
		}
	else
		{
		jour0 = "";
		}
	if (annee < 10)
		{
		annee0 = "0";
		}
	else
		{
		annee0 = "";
		}
	DinaDate = "" + jour0 + jour + "/" +  mois0 + mois + "/" + annee0 + annee;
	total = DinaDate
	DinaHeure = heure0 + heure + ":" + min0 + min + ":" + sec0 + sec;
	total = DinaHeure
	total = DinaDate + " - " + DinaHeure;
	document.time.timebox.value = total;
	tempo = setTimeout("HeureCheck()", 1000);
	}

	

function VerifEmailForm(formulaire)
	{
	adresse = formulaire.adresse_email.value;
	var place = adresse.indexOf("@",1);
	var point = adresse.indexOf(".",place+1);
	if ((place > -1)&&(adresse.length >2)&&(point > 1))
		{
		formulaire.submit();
		return(true);
		}
	else
		{
		alert('Adresse e-mail non valide.');
		return(false);
		}
	}
	

// Conversion des angles pourcent/degres

function ConvertPenteP100toDEG()
	{
	pourcentage = document.getElementById('idInputPour100').value;
	valeur = Math.round(360/(2*Math.PI)*100*Math.atan(pourcentage/100))/100;
	document.getElementById('idInputAngle').value = valeur;
	}
function ConvertDEGtoPenteP100()
	{
	angle = document.getElementById('idInputAngle').value;
	valeur = Math.round(Math.tan(angle*(2*Math.PI/360))*10000)/100;
	document.getElementById('idInputPour100').value = valeur;
	}	
	
	
	
