function URLEncode(str )
{
	// The Javascript escape and unescape functions do not correspond
	// with what browsers actually do...
	var SAFECHARS = "0123456789" +					// Numeric
					"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
					"abcdefghijklmnopqrstuvwxyz" +
					"-_.!~*'()";					// RFC2396 Mark characters
	var HEX = "0123456789ABCDEF";

	var plaintext = str ;
	var encoded = "";
	for (var i = 0; i < plaintext.length; i++ ) {
		var ch = plaintext.charAt(i);
	    if (ch == " ") {
		    encoded += "+";				// x-www-urlencoded, rather than %20
		} else if (SAFECHARS.indexOf(ch) != -1) {
		    encoded += ch;
		} else {
		        var charCode = ch.charCodeAt(0);
			if (charCode > 255) {
				encoded += "+";
			} else {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	} // for

	return encoded;
};

//------------------------------ Chiffre Securite --------------------------

var n, chiffreHasard;
var memoireChiffreSequence = "";
var nombreChiffreSequence = 5;
var dossierChiffreSequenece = "image/chiffre_securite/";
function genererChiffreSequence() {
    if( document.getElementById( 'chiffre_securite_div' ) ) {
        for( n = 1; n <= nombreChiffreSequence; n++ ) {
            chiffreHasard = Math.floor( Math.random() * 10 );
            document.getElementById( 'chiffre_securite_div' ).innerHTML += "<img src=\""+ dossierChiffreSequenece + chiffreHasard.toString() +".gif\" width=\"24\" height=\"24\" border=\"0\" alt=\"\" />";
            memoireChiffreSequence += chiffreHasard.toString();
        }
        document.getElementById( 'chiffre_securite_div' ).innerHTML += "<br /><input type=\"text\" name=\"sequence_chiffre_utilisateur_input\" id=\"sequence_chiffre_utilisateur_input\" value=\"\" />";
    }
}

function validerChiffreSequenceUtilisateur() {
    if( document.getElementById( 'sequence_chiffre_utilisateur_input' ) ) {
        if( document.getElementById( 'sequence_chiffre_utilisateur_input' ).value === memoireChiffreSequence )
            return true;
        else
            return false;
    } else
        return false;
}
//------------------------------ Commande de guides --------------------------

function valider_demande_information_fr(){
	if(document.demande.nom.value=="" || document.demande.courriel.value==""){
		alert("Les champs suivants doivent être remplis :\n\n- Nom et prénom\n- Courriel");
	}
	else{
                                          if( validerChiffreSequenceUtilisateur() )
		    document.demande.submit();
                                         else
                                              alert( "Vous devez réinscrire les chiffres exactement comme vous les voyez au bas du formulaire." );
	}
}

function valider_demande_information_an(){
	if(document.demande.nom.value=="" || document.demande.courriel.value==""){
		alert("The following fields must be filled :\n\n- First and Last Name\n- Email");
	}
	else{
                                          if( validerChiffreSequenceUtilisateur() )
		    document.demande.submit();
                                         else
                                              alert( "You must type down the digits exactly as you see them at the bottom of the form." );
	}
}

//-------------------------------- IMAGES --------------------------------------------------
//var global
var imageOverId; 		//contient le id de l'image en survol ou de la derniere image survolee
var imageNormalSrc;		//contient la source de l'image en survol de l'etat normal d'avant le survol de celle-ci

//Prechargement des images
function imageChargement()
{
	//Traitement
	var imagesList 		= Array(); 				//Liste des images pechargees
	var donneesList 	= imageChargement.arguments; 	//Liste indefinie de valeur est passee a la function
	for( i=0; i<donneesList.length; i++ )
	{
		//Push de l'image
		imagesList[i] 	= new Image;
		
		//Chargement de l'image
		if ( donneesList[i].indexOf("#")!=0 )
			imagesList[i].src = donneesList[i];
	}
}

//Au survol de l'image
function imageOver( imageId, imageSrc )
{
	//Enregistrement du id dans les var global
	imageOverId 		= imageId;
	imageNormalSrc 		= document.getElementById( imageId ).src;
	
	//Traitement
	document.getElementById( imageId ).src = imageSrc;
}

//A la sortie de l'image
function imageOut()
{
	//Traitement
	document.getElementById( imageOverId ).src = imageNormalSrc;
}

imageChargement("image/interface/map_accueil.gif","image/interface/map_destination_roll.gif","image/interface/map_evenement_roll.gif","image/interface/map_circuit_roll.gif","image/interface/map_loger_roll.gif","image/interface/map_meteo_roll.gif");


//-------------------------------- ZONES ---------------------------------------------------
//var global
var zoneOverId; 		//contient le id de la zone en survol ou de la derniere zone survolee

//Au survol de la zone
function zoneCouleur( idBlock, couleur)
{
	zoneOverId = idBlock;
	document.getElementById( idBlock ).style.backgroundColor = couleur;
}

//A la sortie de la zone
function zoneOut()
{
	document.getElementById( zoneOverId ).style.backgroundColor = '';
}
