var isNetscape = (navigator.appName.indexOf('Netscape') != -1);
var isOpera    = (navigator.userAgent.indexOf('Opera') != -1);
var isIE       = (!isOpera && navigator.userAgent.indexOf('MSIE') != -1);

var nextfield='userINPUT'
// Trap des evenements touches
if (isIE) 
{
  document.onkeydown = keyDown 
}
else
{
  document.captureEvents(Event.KEYPRESS);
  document.onkeypress=keyDown
}

function keyDown(DnEvents)
{
	try
	{
		k = (isNetscape) ? DnEvents.which : window.event.keyCode;
		if (k == 13 && nextfield == 'connect') 
		{ 
			checkLogin('formLogin');
		}
	}
	catch(e)
	{
		alert("keydown : "+e.message);
	}
}

function get(id)
{
	try
	{
		if(document.getElementById(id))
		{
			return document.getElementById(id);
		}
		else
		{
			return false;
		}
	}
	catch(e)
	{
		alert("get :"+e.message);
	}
}

function isCp(cp)
{
	try
	{
		var retour=true;
		
		if(cp=="") retour=false;
		
		if(isNaN(cp)) retour=false;
		
		if(cp.length!=5) retour=false;
		
		return retour;
	}
	catch(e)
	{
		alert("isCp :\n"+e.message)
	}
}
	
	
	
function isEmail(email)
{
	try
	{
		// on passe la donnée saisie par le visiteur en variable pour plus de facilités
		var adresse = email;
		var taille = email.length;
		// on créé 3 variables pour valider au fur et à mesure le login, le domaine et l'extension qui constituent l'adresse e-mail
		var validelog = false;
		var validedom = false;
		
		var valideext = false;
		
		// on extrait le 'login' qui se situe avant l'arobace
		
		var arob = adresse.lastIndexOf("@");
		
		var login = adresse.substring(0,arob);
		
		// on extrait l'extension qui se situe à partir du dernier point
		
		var pointfinal = adresse.lastIndexOf(".");
		
		var extension = adresse.substring(pointfinal,taille);
		
		// on extrait le domaine qui se trouve entre l'arobace et le dernier point
		
		var domaine = adresse.substring(arob+1,pointfinal);
		
		// un login a toujours plus de 2 caractères, on fait le test
		
		if ( login.length > 2 )
		{
			validelog = true;
		}
		else
		{
			validelog = false;
		}
		
		// un domaine a toujours plus de 1 caractère, on fait le test
		
		if ( domaine.length > 1 )
		{
			validedom = true;
		}
		else
		{
			validelog = false;
		}
		
		// une extension a toujours 2 ou 3 caractères, on fait le test
		
		if ( pointfinal > -1 && (extension.length == 3 || extension.length == 4) )
		{
			valideext = true;
		}
		else
		{
			valideext = false;
		}
		
		// on vérifie que nos trois variables sont vraies pour accepter la soumission du formulaire
		
		if ( validelog == false || validedom == false || valideext == false )
		{
			return false;
		}
		else
		{
			return true;
		}
	}
	catch(e)
	{
		//alert("isEmail :\n"+e.message);
	}
}


function checkLogin(form)
{
	try
	{
		var erreur=checkForm(form);
		if( erreur!="")
		{
			alert('Identifiant et Mot de passe obligatoires');
		}
		else
		{
			get('formLogin').submit();
		}
	}
	catch(e)
	{
		alert("checkLogin"+e.message);
	}
}

function submitLogin(login,pass)
{
	try
	{
		if(login!="" && pass!="")
		{
			form="formLogin";
			input=get(form).getElementsByTagName('input');
			input[0].value=login;
			input[1].value=pass;
			get(form).submit();
		}
	}
	catch(e)
	{
		//alert("submitLogin"+e.message);
	}
}

function checkForm(form)
{
	try
	{
		var input=get(form).getElementsByTagName('input');
		var erreur="";
		for(i=0;i<input.length;i++)
		{
			switch(input[i].title)
			{
				case "obligatoire":
					if(input[i].value=="")
					{
						 if(input[i].parentNode.parentNode) input[i].parentNode.parentNode.style.color="red";
						 if(get("case"+input[i].name)) get("case"+input[i].name).style.color="red";
						erreur+=input[i].id+' est obligatoire\n';
					}
					break;
				case "code postal":
					if(!isCp(input[i].value))
					{
						if(input[i].parentNode.parentNode) input[i].parentNode.parentNode.style.color="red";
						if(get('caseCP')) get('caseCP').style.color="red"
						erreur+=input[i].id+' doit être composé de 5 chiffres\n';
                     }
                     break;
				case "email":
                     if(!isEmail(input[i].value))
                     {
                                 if(input[i].parentNode.parentNode) input[i].parentNode.parentNode.style.color="red";
                                 erreur+=input[i].id+' est invalide\n';
                     }
                     break;
				case "tel":
					var reg=new RegExp("[+]", "g");
					var reg1=new RegExp("[-]", "g");
					var reg2=new RegExp("[/]", "g");
					var reg3=new RegExp("[ ]", "g");
					s = input[i].value.replace(reg,"");
					s = s.replace(reg1,"");
					s = s.replace(reg2,"");
					s = s.replace(reg3,"");
					if(isNaN(s) || s.length<10)
					{
						if(input[i].parentNode.parentNode) input[i].parentNode.parentNode.style.color="red";
						erreur+=input[i].id+' est invalide\n';
					}
					break;                     
				default :
                     break;
			}
		}
		return erreur;
	}
	catch(e)
	{
		alert("checkForm : "+e.message);
	}
}

function populateApe(tab)
{
	try
	{
		ape=get("ape");
		//alert(tab.length);
		for(i=0;i<tab.length;i++)
		{
			o=new Option(tab[i],tab[i]);
        	ape.options[ape.options.length]=o;
		}
	}
	catch(e)
	{
		alert("populateApe : "+e.message);
	}
}

function updateApe(val,tab)
{
	get('activite').value=tab[val];
}



function apercuPolice()
{
	try
	{
		get("apercu").style.display="block";
		//alert(tabPolices[1]);
		get("apercu").style.fontFamily=tabPolices[new Number(get("police").value)];
		if(get("taille_police").value!="" && !isNaN(get("taille_police").value))
		{
			get("apercu").style.fontSize=get("taille_police").value+"px";
		}
	}
	catch(e)
	{
		alert(e.message);
	}
}


function overMenu(menu)
{
	try
	{
		if(menu!="")
		{
				get('lien_'+menu).style.color="orange";
		}
		else
		{
			get('lien_accueil').style.color="white";
			get('lien_inscription').style.color="white";
			get('lien_contact').style.color="white";
		}
		switch(menu)
		{
			case "accueil":
				break;
			case "inscription":
				get('lien_inscription').style.color="orange";
				break;
			case "contact":
				get('lien_contact').style.color="orange";
				break;
			default:
				break;
		}
	}
	catch(e)
	{
		alert(e.message);
	}
}
/////////////////////////////////////////////
/// affiche les propriétés d'un objet
function showProps(object,objectName) 
{
	try
	{
      var fen = window.open();
      fen.document.open("text/html");

      fen.document.write("<H1>Contenu de l'objet " + objectName + "</H1>");
      fen.document.write("<TABLE>");

      for(var i in object) 
	  {
        fen.document.write("<TR><TD><TT>" + objectName + "." + i + " </TT>" +
                               "<TD><TT>== " + object[i] + "</TT>");
      }

      fen.document.write("</TABLE>");
      fen.document.close();
	}
	catch(e)
	{
		alert("showProps \n"+e.message);
	}
}

function insertANIM()
{
	try
	{
		document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="665" height="483" id="page_accueil_animation2" align="middle">\n');
		document.write('<param name="allowScriptAccess" value="sameDomain" />\n');
		document.write('<param name="movie" value="site/images/page_accueil_animation2.swf" />\n');
		document.write('<param name="quality" value="high" />\n');
		document.write('<param name="bgcolor" value="#e4ebf3" />\n');
		document.write('<embed src="site/images/page_accueil_animation2.swf" quality="high" bgcolor="#e4ebf3" width="665" height="483" name="page_accueil_animation2" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />\n');
		document.write('</object>\n');

	}
	catch(e)
	{
	}
}

function updateTaille(page)
{

	try
	{
		if(page=='etapes')
		{
			if(get("pied_etape"))
			{
				HR=get("bloc_recommande").offsetHeight;
				HM=get("bloc_metier").offsetHeight;
				HG=get("bloc_generique").offsetHeight;
				HOK=HR;
				if(HM>HOK) HOK=HM;
				if(HG>HOK) HOK=HG;
				//alert(HOK);
				HOK=HOK+300;
				if(HOK<650) HOK=700;
				//get("etapes").style.height=HOK;
				get("centre").style.height=HOK;
				HP=HOK+50;

				get("pied").style.top=HP;

				get("chargement").style.display="none";
				get("onglets").style.visibility="visible";
				//get("formTheme").style.backgroundColor="#91CAE7";
				get("pied").style.display="none";
			}
			else
			{
				if(get('info_abonnement'))
				{
					HOK=get("etapes").offsetHeight;
					if(document.all)
					{
						HP=HOK+40;
					}
					else
					{
						HP=HOK+345;
					}
					
					get("centre").style.height=HP+10;
					get("etapes").style.height=HP;
					get("etapes").style.width=940;
					get("pied").style.top=HP+70;
				}
				get("pied").style.display="block";
			}
			//get("pied").style.display="block";

		}
		
	}
	catch(e)
	{
		alert(e.message);
	}
}


function updateAbo(type,obj)
{
	try
	{
		var abo_decouverte=new Array(0,0,0,0,0);
		var abo_baby=new Array(0,30,0,50,90,110);
		var abo_junior=new Array(0,90,0,150,185,205);
		var abo_gold=new Array(0,120,0,200,230,250);
		var abo_platinium=new Array(0,180,0,300,325,345);
		
		var abo=new Array(abo_decouverte,abo_baby,abo_junior,abo_gold,abo_platinium);
	
		switch(type)
		{
			case "formule":
				obj2="prix_"+obj.value;
				prix=get(obj2).value;
				get("choix_formule").value=obj.value;
				updateFormule(obj.value);
				get("prixFormule").value=prix;
				get("prixAbo").value="";
				get("prixInterface").value="";
				get("prixPages").value="";
				get('nb_pages').value="";
				get('interface').checked=false;
				get('pages_fournies').checked=false;
				afficheTablesAbo('tables_abo');
				get("abo").value="";
				options=get('tables_abo').getElementsByTagName("input");
				for(i=0;i<options.length;i++)
				{
					if(options[i].type=="radio")
					{
						options[i].checked=false;
					}
				}
				break;
			case "abo":
				duree=obj.value;
				get("abo").value=duree;
				prix_abo=abo[get("choix_formule").value][duree];
				get("prixAbo").value=prix_abo;
				afficheTablesAbo('tables_options');
				/*get('tables_abo').style.display='none';
				get('tables_options').style.display='block';*/
				break;
			case "interface":
				prix_interface=0;
				if(obj.checked) prix_interface=490;
				get("prixInterface").value= prix_interface;
				break;
			case "pages":
				prix_pages=0;
				if(obj.checked)
				{
					nb_pages=get("nb_pages").value;
					if(nb_pages=="" || isNaN(nb_pages)) nb_pages=0;
					prix_pages=15*nb_pages;
				}
				
				get("prixPages").value= prix_pages;
				break;
			default:
				break;
		}
		
		pf=new Number(get("prixFormule").value);
		pa=new Number(get("prixAbo").value);
		pi=new Number(get("prixInterface").value);
		pp=new Number(get("prixPages").value);

		get("prixOptions").value=pi+pp;
		get("total").value=pf+pa+pi+pp;
		get('textTotal').innerHTML=get("total").value;
	}
	catch(e)
	{
		alert("updateAbo : "+e.message);
	}
}

function updateFormule(fo)
{
	try
	{
		classe="classe"+fo;
		td=document.getElementsByTagName("td");
		for(i=0;i<td.length;i++)
		{
			if(td[i].id == classe)
			{
				td[i].className="formuleok";
			}
			else if(td[i].id.substr(0,6)=="classe")
			{
				
				td[i].className="formulepasok";
			}
		}
	}
	catch(e)
	{
		alert(e.message);
	}
}

function afficheTablesAbo(ok)
{
	try
	{
		var tableau=new Array('tables_formules','tables_abo','tables_options');
		
		
		for(i=0;i<tableau.length;i++)
		{
			
			get(tableau[i]).style.display="none";
		}
		get(ok).style.display='';
	}
	catch(e)
	{
		alert("afficheTablesAbo : "+e.message);
	}
}

function updateDomaine()
{
	try
	{
		nom=get("domaine2").value;
		get("nom_domaine").value=nom;
		ext=get("extension2").value;
		get("ext_domaine").value=ext;
	}
	catch(e)
	{
		alert(e.message);
	}
}

function etape2()
{
	try
	{
		if(get("chargement") && get("onglets"))
		{
			get("chargement").style.display="none";
			get("onglets").style.visibility="visible";
		}
	}
	catch(e)
	{
		alert("etape2");
	}
}

