
/*  ---------------------------------------------------------------
/*  Valide la saisie d'un envoi de mail
 */
 
function valide_saisie(objet, txt_pas_de_message, txt_champ, txt_non_rens, txt_email_correct) {
	// Commentaire obligatoire
	if (objet.comment.value == "") {
		alert(txt_pas_de_message);
		objet.focus();
		return false;
	}
	// Email obligatoire
	if (objet.email.value == "") {
		return(check_saisie(objet.email, 'Email ', txt_champ, txt_non_rens));
	}
 	return check_email(objet.email, txt_email_correct);
}

// Valide la saisie d'une adresse email
function valide_email(objet, txt_pas_de_message, txt_champ, txt_non_rens, txt_email_correct) {
	// Email obligatoire
	if (objet.email.value == "") {
		return(check_saisie(objet.email, 'Email ', txt_champ, txt_non_rens));
	}
 	return check_email(objet.email, txt_email_correct);
}

// Vérifie qu'un champ est bien renseigné (non vide)
function check_saisie(objet, msg, txt_champ, txt_non_rens) {
	alert(txt_champ+" '"+msg+"' "+txt_non_rens);
	objet.focus();
	return false;
}

// Vérifie qu'une adresse email est valide (bien formée)
function check_email(objet, txt_email_correct) {
	if (objet.value.indexOf("@") == -1) {
		alert(txt_email_correct);
		objet.focus();
		return false;
	} else  {
		longueur = objet.value.length;
		position = objet.value.indexOf("@");
		left_str = objet.value.substring(0,position);
		right_str = objet.value.substring(position+1,longueur);
		left_len = left_str.length;
		right_len = right_str.length;
		if ((left_len==0) || (right_len==0)) {
			alert(txt_email_correct);
			objet.focus();
			return false;
		} else {
			if (right_str.indexOf(".")==-1) {
				alert(txt_email_correct);
				objet.focus();
				return false;
			} else {
				right_longueur = right_str.length;
				right_position = right_str.lastIndexOf(".");
				l_right_str = right_str.substring(0,right_position);
				r_right_str = right_str.substring(right_position+1,right_longueur);
				l_right_len = l_right_str.length;
				r_right_len = r_right_str.length;
				if ((r_right_len < 2) || (r_right_len > 4)) {
					alert(txt_email_correct);
					objet.focus();
					return false;
				} else {
					if (l_right_len==0) {
						alert(txt_email_correct);
						objet.focus();
						return false;
					}
				}
			}
		}
	}
	return true;
}



/* ---------------------------------------------------------------
:: Permet la mise à jour de la page en ajoutant le numéro de zone à l'url
:: Mise à jour dynamique des listes déroulantes
---------------------------------------------------------------- */
function Clique_Zone()
{
	// Récupération du numéro de zone sélectionné
	Num_Zone=document.Form.Choix_Zone.options[document.Form.Choix_Zone.options.selectedIndex].value;

	// Créationd e l'url

	Url="index.php?num_znc="+Num_Zone;
	
	// On redirige
	document.location=Url;
}



/* ---------------------------------------------------------------
 * Fonction de récupération des paramètres GET de la page
 * @return Array Tableau associatif contenant les paramètres GET
 */

function extractUrlParams(){	
	var t = location.search.substring(1).split('&');
	var f = [];
	for (var i=0; i<t.length; i++){
		var x = t[ i ].split('=');
		f[x[0]]=x[1];
	}
	return f;
}

/* ---------------------------------------------------------------
:: Permet la redirection vers un spot à partir du bloc de recherche
::
---------------------------------------------------------------- */
function go_spot_rech()
{
var url='';
var valeur=document.form_rech.sites.options[document.form_rech.sites.options.selectedIndex].value;
var type_site = valeur.substr(0, 1);
if (type_site == 'S') {
	type_site='surf';
}
if (type_site == 'W') {
	type_site='windsurf';
}
if (type_site == 'I') {
	type_site='windsurf';
}
url="/detail/previsions.php";
var lg = valeur.length-1;
var num_spot = valeur.substr(1, lg);

// récupération des paramètres du moteur de recherche
//		pour conserver les résultats de recherche d'une page sur l'autre
var params_rech = extractUrlParams();
var addurl = "";	
for (var cle in params_rech)
{
	if (cle == 'type_rech') addurl = addurl + "&type_rech=" + params_rech[cle];
	if (cle == 'rech_marine') addurl = addurl + "&rech_marine=" + params_rech[cle];
	if (cle == 'region') addurl = addurl + "&region=" + params_rech[cle];
}
//alert(addurl);

var theurl=url+"?langue=fr&type_site="+type_site+"&num_site="+num_spot+"&echeance=3"+addurl;
document.location=theurl;

//alert (type_site);
}


/* ------------------------------------------------------------------------------------
:: Permet la redirection vers la page de détails suite au clique sur la liste des spots
------------------------------------------------------------------------------------- */
function Clique_Spot(type_site)
{
	// Récupération du numéro de zone sélectionné
	Num_Spot=document.Form.Choix_Spot.options[document.Form.Choix_Spot.options.selectedIndex].value;

	// Créationd e l'url

	if(type_site=='surf'){
		Url="../detail/previsions.php?num_site="+Num_Spot+"&langue=fr&echeance=3&type_site="+type_site;
	}
	if(type_site=='windsurf'){
		Url="../detail/previsions.php?num_site="+Num_Spot+"&langue=fr&echeance=3&type_site="+type_site;
	}
	// plans d'eau intérieurs pour le windsurf
	if(type_site=='interieur'){
		type_site='windsurf';
		Url="../detail/previsions.php?num_site="+Num_Spot+"&langue=fr&echeance=3&type_site="+type_site;
	}
	
	// On redirige
	document.location=Url;
}

/* ----------------------------------------------------------------------------------------------
:: Permet la redirection vers la page de détails suite au clique sur la liste des zones de spots
----------------------------------------------------------------------------------------------- */
function Clique_Zn_Spot()
{
	// Récupération du numéro de zone sélectionné
	Num_Zn_Spot=document.Form.List_Zn_Spot.options[document.Form.List_Zn_Spot.options.selectedIndex].value;

	// Créationd e l'url

	Url="detail_spot.php?num_zn_spot="+Num_Zn_Spot;
	
	// On redirige
	document.location=Url;
}

/* ----------------------------------------------------------------------------------------------
:: Permet l'affichage de la carte isobarique sélectionnée
----------------------------------------------------------------------------------------------- */
function Montre_Carte(id)
{
	// Création de la ressource
	carte = 'carte_iso_'+id;
	bouton = 'btn_carte_'+id;
	ressource_carte = document.getElementById(carte);
	ressource_bouton = document.getElementById(bouton);
	// On efface les 3 cartes et le fond des boutons
	for(i=1; i<4; i++)
	{
		if(document.getElementById('carte_iso_'+i))
			document.getElementById('carte_iso_'+i).style.display='none';
		if(document.getElementById('btn_carte_'+i))
			document.getElementById('btn_carte_'+i).style.background='#EEEEEE';
			document.getElementById('btn_carte_'+i).style.color='#000080';
			document.getElementById('btn_carte_'+i).style.fontWeight='normal';
	}

	// On affiche la bonne carte et on colorie le bon bouton
	ressource_carte.style.display='block';
	ressource_bouton.style.background='#3B6DC0';
	ressource_bouton.style.color='#FFFFFF';
	ressource_bouton.style.fontWeight='bold';
}


/* ----------------------------------------------------------------------------------------------
:: gère les cookies permettant de savoir quels blocs de prévi sont en mode graphique
----------------------------------------------------------------------------------------------- */

// l'état des graphiques (ouvert, fermé) est stocké dans des cookies de session
function EcrireCookie(nom, valeur)
{
var argv=EcrireCookie.arguments;
var argc=EcrireCookie.arguments.length;
var expires=(argc > 2) ? argv[2] : null;
var path=(argc > 3) ? argv[3] : null;
var domain=(argc > 4) ? argv[4] : null;
var secure=(argc > 5) ? argv[5] : false;
document.cookie=nom+"="+escape(valeur)+
((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
((path==null) ? "" : ("; path="+path))+
((domain==null) ? "" : ("; domain="+domain))+
((secure==true) ? "; secure" : "");
}

function getCookieVal(offset)
{
var endstr=document.cookie.indexOf (";", offset);
if (endstr==-1) endstr=document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function LireCookie(nom)
{
var arg=nom+"=";
var alen=arg.length;
var clen=document.cookie.length;
var i=0;
while (i<clen)
{
var j=i+alen;
if (document.cookie.substring(i, j)==arg) return getCookieVal(j);
i=document.cookie.indexOf(" ",i)+1;
if (i==0) break;

}
return null;
}