/* Fonctions génériques de gestion de texte */
// Fonction trim (identique PHP)
String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

/* Fonctions génériques de validation de formulaire */
// Verifie la validite d'un email
function valide_mail_generique ( nameForm, champ ) {
	
	var email = document.forms[nameForm].elements[champ];
		
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	if ( !filter.test(email.value) ) {
		
	 	alert(get_trad_champ("email"));
		email.focus();
		return false;
	}
	else {
		return true;
	}
}


// Verifie les champs obligatoire d'un formulaire
valider_formulaire_generique = function () {
	var tab = valider_formulaire_generique.arguments;

	taille = tab.length;

	if ( taille > 0 ) {

		nameForm = tab[0];
		
		for ( i = 1; i < taille; i++ ) {
			
			if ( tab[i] == "email" || tab[i] == "email_voiture" ) {
				if ( !valide_mail_generique( nameForm, tab[i] ) ) {
					return false; 
				}
			}
			else {
				if ( ( document.forms[nameForm].elements[tab[i]].value.trim() == "" ) ) {				
					alert ( get_trad_champ( tab[i] ) );				
					document.forms[nameForm].elements[tab[i]].focus();
					return false; 
				}
			}
		}
		
		return true;
		
	}
	else {
		return false;
	}
}


// Valide le bulletin d'inscription Météo
function validInscriptionMeteo() {
	if ( valider_formulaire_generique('formInscriptionMeteo', 'prenom', 'nom', 'ville', 'email') ) {				
		if ( validCheckboxMeteo() ) {		
			document.getElementById('formInscriptionMeteo').submit();					
		}
		else {
			return false;
		}
	}
	else {
		return false;
	}		
}

// Vérifie qu'au moins une check a été cochée pour la météo
function validCheckboxMeteo() {
	var nbElement = document.formInscriptionMeteo.elements["alerte_meteo[]"];
	var indice = 0;
	
	for ( i = 1; i < nbElement.length; i++ ) {	
		if ( nbElement[i].checked == true ) {
			indice = 1;
		}
	}
	
	if ( indice == 1 ) {
		return true;
	}
	else {
		alert ( get_trad_champ( "alerte_meteo" ) );	
		return false;
	}
		
}

// Valide la réponse à une coactivitée
function validRepondreCo() {
	if ( valider_formulaire_generique ( 'formRepondreCo', 'nom', 'prenom', 'email', 'adresse', 'codepostal', 'ville', 'pays', 'message' ) ) {				
		if ( document.getElementById('cgus').checked == true ) {		
			document.getElementById('formRepondreCo').submit();					
		}
		else {
			alert ( get_trad_champ( "check_cgus" ) );	
			return false;
		}
	}
	else {
		return false;
	}		
}

// Valide l'annonce pour un coskiing
function validAnnonceCoskiing() {
	var dateDepart = document.getElementById('jour').value + "/" + document.getElementById('mois').value + "/" + document.getElementById('annee').value;
	
	if ( valider_formulaire_generique ( 'formAnnonceCoskiing', 'nom', 'prenom', 'email', 'adresse', 'codepostal', 'ville', 'annonce' ) ) {				
		if ( isValidDate ( dateDepart ) ) {
			if ( document.getElementById('cgus').checked == true ) {		
				document.getElementById('formAnnonceCoskiing').submit();					
			}
			else {
				alert ( get_trad_champ( "check_cgus" ) );	
				return false;
			}
		}
		else {
			alert ( get_trad_champ( "date_depart" ) );	
			return false;
		}
	}
	else {
		return false;
	}		
}

// Valide l'annonce pour un covoiturage
function validAnnonceCovoiturage() {
	var dateDepart = document.getElementById('jour_voiture').value + "/" + document.getElementById('mois_voiture').value + "/" + document.getElementById('annee_voiture').value;
	
	if ( valider_formulaire_generique ( 'formAnnonceCovoiturage', 'nom_voiture', 'prenom_voiture', 'email_voiture', 'adresse_voiture', 'codepostal_voiture', 'ville_voiture', 'lieu_depart_voiture', 'type_vehicule_voiture', 'nb_places_libres_voiture', 'prix_voiture', 'annonce_voiture' ) ) {				
		if ( isValidDate ( dateDepart ) ) {
			if ( document.getElementById('cgus_voiture').checked == true ) {		
				document.getElementById('formAnnonceCovoiturage').submit();					
			}
			else {
				alert ( get_trad_champ( "check_cgus" ) );	
				return false;
			}
		}
		else {
			alert ( get_trad_champ( "date_depart" ) );	
			return false;
		}
	}
	else {
		return false;
	}		
}

function isValidDate ( totalDate ) {
  
  if ( totalDate == "" )
      return false;
  
  // Découpage de la date récupérée
  var aDate = totalDate.split( "/" );
  if ( aDate.length != 3 )
      return false;

  // Création d'un objet date
  var generatedDate = new Date ( aDate[ 2 ], aDate[ 1 ] - 1, aDate[ 0 ] );
  
  // Test
  if (     generatedDate.getFullYear() == aDate[ 2 ]
      &&    generatedDate.getMonth() + 1 == aDate[ 1 ]
      &&    generatedDate.getDate() == aDate[ 0 ] )
      return true;
  
  return false;
  
}

/* Fonctions pour le flash */

//calcul hauteur du flash 
function defaultFlashHeight() {	
	var windowHeight=0;
	if (typeof(window.innerHeight)=='number') {
		windowHeight=window.innerHeight;
	}
	else {
	 if (document.documentElement&&
	   document.documentElement.clientHeight) {
		 windowHeight = document.documentElement.clientHeight;
	}
	else {
	 if (document.body&&document.body.clientHeight) {
		 windowHeight=document.body.clientHeight;
	  }
	 }
	}			
	$("#insertswf_home").css("height", windowHeight+"px"); //hauteur du flash par default	
}

// Affiche la div centrale
function showDiv() {			
	$("#principalContainer").fadeIn("normal");	
  var layerContentHeight = $(".layerContainer").height()+169;	  
	$("#insertswf_home").css("height", layerContentHeight+"px"); //hauteur du flash quand presence bloc de contenu
}

// Ferme la div centrale
function closeDiv() {
	$("#principalContainer").hide();	
}

/*
--> PLUS FONCTIONNELLE, FAIT DANS LE FLASH
function majTaillePage() {
	document.getElementById('insertswf_home').height = getWindowHeight(1);
}
*/

function openWebcamLive(url_from, url_webcam)
{
	var url_finale;
	//url_finale = "http://tracking.veille-referencement.com/statliensortant_v2.php?id_site=451&web_url=" + url_from + "&redirect=" + escape(url_webcam);
	
	window.open(url_webcam, '', '');
}

function checkForfait(){ // redirection forfait en ligne SEB V1.0
		if (document.getElementById('select_forfait').value != "") {
				var lien = document.createElement('a');
				lien.href = document.getElementById('select_forfait').value;
				lien.target = "_blank";						
				window.open(document.getElementById('select_forfait').value);
		}
		else {			
			alert ("Veuillez choisir une station s'il vous plaît");
		}
}
