// JavaScript Document
function change_over(element, img, url){
	document.getElementById(element).src = url + 'images/' + img + '.gif';
}

function change_out(element, img, url){
	document.getElementById(element).src = url + 'images/' + img + '.gif';
}

function emailvalide(adresse){
	var str = new String(adresse);
	var point = str.lastIndexOf('.');
	var arobase = str.lastIndexOf('@');
	var espace = str.indexOf(' ');
	var lgtotal = str.length;
	
	if( (lgtotal-point <3) || point == -1 || arobase == -1 || espace != -1 || point < arobase)
		return false;
	else return true;
}

function testURL(url){
	var urlRE=/^\s*(?:https?:\/\/)(?:[-a-zA-Z0-9]+\.?)+([-a-zA-Z0-9]+)(?:\/.*)?/;
	return urlRE.test(url);
}

function estunjour(jour){
	j = new String(jour);
	j1 = j.substr(0,1);
	j2 = j.substr(1,1);
	
	if((!isNaN(j1) && !isNaN(j2)) && (Number(jour) >= 1 && Number(jour) <= 31)) return true;
	else return false;
}
	
function estunmois(mois){
	m = new String(mois)
	m1 = mois.substr(0,1);
	m2 = mois.substr(1,1);
	
	if((!isNaN(m1) && !isNaN(m2)) && (Number(mois) >= 1 && Number(mois) <= 12)) return true;
	else return false;
}
	
function estuneannee(annee){
	a = new String(annee);
	a1 = annee.substr(0,1);
	a2 = annee.substr(1,1);
	a3 = annee.substr(2,1);
	a4 = annee.substr(3,1);
	
	if((!isNaN(a1) && !isNaN(a2) && !isNaN(a3) && !isNaN(a4)) && (Number(annee) >= 1880 && Number(annee) <= Number(new Date().getFullYear()))) return true;
	else return false;
}

function nbjours_mois(mois,annee){  
	if ((mois==1)||(mois==3)||(mois==5)||(mois==7)||(mois==8)||(mois==10)||(mois==12))
	{
		return(31);
	}	
	else if ((mois==4)||(mois==6)||(mois==9)||(mois==11))
	{
		return(30);
	}
	else if ((mois==2)&&(annee % 4 ==0))
	{
		return(29);
	}
	else
	{
		return(28);
	}
}
	
function estunedatevalide(jour,mois,annee){
	if(estunjour(jour) && estunmois(mois) && estuneannee(annee))
	{
		i_jour 	= Number(jour);
		i_mois 	= Number(mois);
		i_annee	= Number(annee);
		
		nb_jours	= nbjours_mois(mois,annee);
		
		if ((i_jour <= 31) && (nb_jours == 31)) return true;
		else if ((i_jour <= 29) && (nb_jours == 29)) return true;
		else if ((i_jour <=28)&&(nb_jours == 28)) return true;
		else if ((i_jour <=30)&&(nb_jours == 30)) return true;
		else return false;
	}
	else
	{
		return false;
	}
}

function champnonvide(champ)
{
	var regx = /\w/;
	var erreur = 0 ;
	
	if(!champ) erreur++;
	else
	{
		if(champ == "") erreur++;
		else
		{
			if(!regx.test(new String(champ))) erreur++;
		}
	}
	
	if(erreur == 0) return true;
	else return false;
}

function valeurradio(rd){
	cocher=0;
	
	for(i=0;i<rd.length;i++)
	{
		if(rd[i].checked) cocher=rd[i].value;
	}
	
	return cocher;
}
		

function radio_est_coche(rd){
	cocher=false;
	
	for(i=0;i<rd.length;i++)
	{
		if(rd[i].checked) cocher=true;
	}
	
	return cocher;
}
		

function testerannee(annee){
	var today = new Date();
	
	if(annee.length < 4 || isNaN(annee) || annee > today.getFullYear()) return false;
	else return true;
}
	
function testercodepostal(codepostal){
	var erreur = 0;
	var str = new String(codepostal);
	for(i = 0; i<str.length;i++)
	{
		if(isNaN(str.charAt(i))) erreur++;
	}
	
	if(codepostal.length < 5)	erreur++;

	if(codepostal.length > 5 || /*isNaN(codepostal)*/ erreur!=0 || str.indexOf(' ') != -1) return false;
	else return true;
}

function testermobile(tel,pays){
	var erreur = 0;
	var str = new String(tel);
	for(i = 0; i<str.length;i++)
	{
		if(isNaN(str.charAt(i))) erreur++;
	}
	
	//if(pays == "FRANCE" || pays == "GUADELOUPE" || pays == "GUYANE FRANÇAISE" || pays == "MARTINIQUE" || pays == "MAYOTTE" || pays == "POLYNESIE FRANÇAISE" || pays == "REUNION")
	if(pays == "FRANCE")
	{
		if(str.length != 10) erreur++;
		//if(str.substr(0,2) != 06)	erreur++;
	}
	
	if(erreur!=0) return false;
	else return true;
}

function validemail(){
	var adresse = document.newsletter.email.value;
	
	if(!champnonvide(adresse) || !emailvalide(adresse))
	{
		alert("l'adresse email saisie n'a pas un format correct.");
		return false;
	}
	else{
		window.open("http://www.futuroscope.com/inscription-a-la-newsletter?fdv[email]=" + document.getElementById('email').value);
	}
}

function activerlistevisite(etat){
	f = document.form;
	
	if(etat == "ok")
	{
		f.last.disabled = false;
		if(f.last.selectedIndex == 0) f.last.selectedIndex = 1;
	}
	else
	{
		f.last.disabled = true;
		f.last.selectedIndex = 0;
	}
}

function activerradio(){
	if(document.form.last.value != "") document.form.visite[0].checked = true;
	else document.form.visite[1].checked = true;
}

function enmajuscule(){
	with(document.form)
	{
		nom.value = nom.value.toUpperCase();
		prenom.value = prenom.value.toUpperCase();
		adresse1.value = adresse1.value.toUpperCase();
		adresse2.value = adresse2.value.toUpperCase();
		ville.value = ville.value.toUpperCase();
	}
}

function verifform()
{
	var erreur = "";
	
	with(document.form)
	{
		var chpnom = nom.value;
		var chpprenom = prenom.value;
		var chpcp = cp.value;
		var chptel = tel.value;
		var chpnaissjj = annee_jj.value;
		var chpnaissmm = annee_mm.value;
		var chpnaissaaaa = annee_aaaa.value;
		var chplast = last.value;
		var chpverif = verif.value;	
		var chppays = pays.options[pays.selectedIndex].value;
	}

	if(!chpnom || !chpprenom || !chpcp || (chpnaissjj == "" || chpnaissmm == "" || chpnaissaaaa == "") || !chpverif)
	{
		erreur += "Veuillez remplir les champs obligatoires :\n\n";
		
		if(!chpnom) erreur += "\t- votre nom\n";
		
		if(!chpprenom) erreur += "\t- votre prenom\n";
		
		if(!chpcp) erreur += "\t- votre code postal\n";
		
		if(chpnaissjj == "" || chpnaissmm == "" || chpnaissaaaa == "") erreur += "\t- votre date de naissance\n";
		
		if(!chpverif) erreur += "\t- le code de verification\n";
		
		erreur += "\n";
	}
		
	if(chppays == "FRANCE" && chpcp && !testercodepostal(chpcp))
	{
		erreur += "Le code postal saisi n'a pas un format correct.\n\n";
	}
	
	if(chptel && !testermobile(chptel,chppays))
	{
		if(chppays == "FRANCE")
		{
			erreur += "Votre numero de Telephone Mobile doit etre compose de 10 chiffres.\n\n";
		}
		else
		{
			erreur += "Votre numero de Telephone Mobile ne doit etre compose que de chiffres.\n\n";
		}
	}
	
	if(!radio_est_coche(document.form.tiers))
	{
		erreur += "Veuillez indiquer si vous souhaitez recevoir des informations de la part des partenaires du Futuroscope.\n\n";
	}
	

	if((chpnaissjj != "" && chpnaissmm != "" && chpnaissaaaa != "") && !estunedatevalide(chpnaissjj,chpnaissmm,chpnaissaaaa))
	{
		erreur += "Votre date de naissance n'est pas valide.\n\n";
	}
	
	if(!radio_est_coche(document.form.enfantsmoins16))
	{
		erreur += "Veuillez indiquer si vous avez des enfants de moins de 16 ans\n\n";
	}
	
	if(valeurradio(document.form.visite) != 0 && chplast == "0")
	{
		erreur += "Veuillez selectionner l'annee de votre derniere visite.\n\n";
	}
	
	if(erreur != "")
	{
		alert(erreur);
		return false;
	}
	else 
	{
		//enmajuscule();
		return true;
	}
}

function verifformpart()
{
	var erreur = "";
	
	with(document.form)
	{
		var chpnom = nom.value;
		var chpprenom = prenom.value;
		var chpemail = email.value;
		var chpnomsite = nomsite.value;
		var chpurlsite = urlsite.value;
		var chpurlpage = urlpage.value;
		var chpverif = verif.value;	
	}

	if(!chpnom || !chpprenom || !chpemail || !chpnomsite || !chpurlsite || !chpurlpage || !chpverif)
	{
		erreur += "Veuillez remplir les champs obligatoires :\n\n";
		
		if(!chpnom) erreur += "\t- votre nom\n";
		
		if(!chpprenom) erreur += "\t- votre prenom\n";
		
		if(!chpemail) erreur += "\t- votre email\n";
		
		if(!chpnomsite) erreur += "\t- le nom du site\n";
		
		if(!chpurlsite) erreur += "\t- l'URL du site\n";
		
		if(!chpurlpage) erreur += "\t- la page proposee pour le lien Arthur Futuroscope\n";
		
		if(!chpverif) erreur += "\t- le code de verification\n";
		
		erreur += "\n";
	}
	
	if(chpemail && !emailvalide(chpemail))
	{
		erreur += "L'adresse e-mail saisie n'a pas un format correct.\n\n";
	}
	
	if(chpurlsite && !testURL(chpurlsite))
	{
		erreur += "l'URL du site n'a pas un format correct.\n\n";
	}
	
	if(chpurlpage && !testURL(chpurlpage))
	{
		erreur += "l'URL de la page du lien vers le site Arthur n'a pas un format correct.\n\n";
	}
	
	if(erreur != "")
	{
		alert(erreur);
		return false;
	}
	else 
	{
		//enmajuscule();
		return true;
	}
}
