/* AUTEUR: Paulet */
/* Date de création: 27/06/2004 */
/* ************************************************************************************************/
// Morceau de musique changeant dans la journée		 //
// ----------------------------------------------------
/*SCRIPT EDITE SUR L'EDITEUR JAVASCRIPT
http://www.editeurjavascript.com
*/
/*Définition :
La balise HTML EMBED permet d'insérer, une vidéo ou du son ou du flash.<EMBED> </EMBED>La balise HTML EMBED est généralement 
associée avec la balise HTML <OBJECT>
Les attributs Html cités sont les attributs principaux de la balise HTML EMBED.
Chaque plugin a ses propres attributs.

Pour la balise HTML OBJECT, ces attributs seront mis dans la balise HTML PARAM dans l'attribut HTML NAME. 
Pour la balise HTML EMBED, ils seront insérés en temps qu'attributs.
--------------------------------------------------------------------------------
DéfinitionL'attribut HTML ALIGN de la balise HTML EMBED définit l'alignement horizontal de l'objet. <EMBED ALIGN="left"> </EMBED>
L'attribut HTML ALIGN de la balise HTML EMBED peut prendre la valeur de : 
- left, alignement à gauche. 
- right, alignement à droite. 
- center, alignement au centre.
- top,alignement bas. 
- bottom, alignement bas. Attribut html ou xhtml BORDER [s]   
 DéfinitionL'attribut HTML BORDER de la balise HTML EMBED permet de spécifier le taille de la bordure.<EMBED BORDER="1">
	</EMBED>L'unité par défaut est le pixel. Attribut html ou xhtml CLASS [s]   
 DéfinitionL'attribut HTML CLASS de la balise HTML EMBED, permet d'identifier la balise.<EMBED CLASS="Nom">
	</EMBED>Utilisé pour les cascading style sheets.
--------------------------------------------------------------------------------
 Attribut html ou xhtml FRAMEBORDER [s]   
 DéfinitionL'attribut HTML FRAMEBORDER de la balise HTML EMBED permet de spécifier si l'objet a une bordure.
	<EMBED FRAMEBORDER="yes"> </EMBED>L'attribut HTML FRAMEBORDER peut prendre la valeur de :
- no, pas de bordure.
- yes, avec bordure. Attribut html ou xhtml HEIGHT [s]   
 DéfinitionL'attribut HTML HEIGHT de la balise HTML EMBED permet de spécifier la hauteur de l'objet.<EMBED HEIGHT="10">
	</EMBED> Attribut html ou xhtml HIDDEN [s]   
 DéfinitionL'attribut HTML HIDDEN de la balise HTML EMBED permet de spécifier si l'object est visible.<EMBED HIDDEN="true"> 
	</EMBED>L'attribut HTML HIDDEN de la balise HTML EMBED peut prendre la valeur de :
- true, visible.
- false, invisible. Attribut html ou xhtml HSPACE [s]   
 DéfinitionL'attribut HTML HSPACE de la balise HTML EMBED gère l'espace horizontal entre l'objet et ce qui l'entoure.
	<EMBED HSPACE="10"> </EMBED>
L'unité par défaut est le pixel. Attribut html ou xhtml ID [s]   
 DéfinitionL'attribut HTML ID de la balise HTML EMBED permet d'identifier la balise.<EMBED ID="Nom"> 
	</EMBED>Utilisé pour les cascading style sheets et le javascript.
--------------------------------------------------------------------------------
 Attribut html ou xhtml NAME [s]   
 DéfinitionL'attribut HTML NAME de la balise HTML EMBED, permet d'identifier la balise.<EMBED NAME="Nom"> 
	</EMBED>Utilisé pour le javascript. Attribut html ou xhtml PLUGINSPAGE [s]   
 DéfinitionL'attribut HTML PLUGINSPAGE de la balise HTML EMBED fournit l'URL à partir duquel le plugin pourra être téléchargé.
	<EMBED PLUGINSPAGE="http://www.macromedia.com/ shockwave/ download/ index.cgi?P1_Prod_Version = ShockwaveFlash"> 
	</EMBED> Balise EMBED align 
 --------------------------------------------------------------------------------
*/ 
// Bouton du contrôle d'affichage du calque supportant le contrôle "Audio"
var resol = window.screen.width;
var pos7X = (resol * 70)/100;
var pos7Y = 100;

MaDate = new Date;
heure = MaDate.getHours();
var no_sel = 0;
var ivolume = 0;
var mem_ivolume = 0;
var volume = 50;
// ----------------------------------------------------
// Le nombre de morceaux de musique est limité à 8.
     musique = new Array(19);
    musique[0] = "rain.mid|Rain|100|";
    musique[1] = "ail_rich.mid|Ail rich|100|";
    musique[2] = "autres_gares.mid|Autres gares|100|";
    musique[3] = "aven.mid|Aven|100|";
    musique[4] = "catsoc.mid|Catsoc|100|";
    musique[5] = "chantier.mid|Chantier|100|";
    musique[6] = "chute_ete.mid|Chute été|100|";
    musique[7] = "fernand.mid|Fernand|100|";
    musique[8] = "issetire.mid|Issetire|100|";
    musique[9] = "la_mouche.mid|La mouche|100|";
    musique[10] = "l_enfant.mid|l'enfant|100|";
    musique[11] = "mars_2000.mid|Mars 2000|100|";
    musique[12] = "mots_et_musique.mid|Mots et musique|100|";
    musique[13] = "myso.mid|Myso|100|";
    musique[14] = "orient.mid|Orient|100|";
    musique[15] = "petite_flamme.mid|Petite flamme|100|";
    musique[16] = "tu_es_venu.mid|Tu es venu|100|";
    musique[17] = "voix1.mid|Voix|100|";
    musique[18] = "marseillaise.mid|La Marseillaise|50|";
   				
    var nb_musiques = musique.length;
				//alert(nb_musiques);
// ----------------------------------------------------
// Calque supportant le contrôle "Audio"
// drap= drapeau (la Marseillaise), gcontr_son = décalage par rapport au bord gauche de l'écran et 
// topcontr_son = hauteur par rapport au haut de l'écran
   
function controle_musique(pp) {
				jouer_musique = 1;
				//alert(parent.document.title);	
				// param_playeur[0] : joue le morceau sans afficher le contrôle.
				// param_playeur[1] : joue le morceau en affichant le contrôle.
				param_playeur = new Array(2);  
				param_playeur[1] = 'WIDTH="85" HEIGHT="20" CONTROLLER="true"';
				param_playeur[0] = 'WIDTH="85" HEIGHT="20" HIDDEN="true" CONTROLLER="false"';
				if (pp==1) {  
								param_playr=param_playeur[1];
				}
				else {
								param_playr=param_playeur[0];
				}
				//alert(param_playr);
				jour = new Date();
				z = jour.getTime();
				y = (z - (parseInt(z/1000,10) * 1000))/10;
				x = parseInt(y/100*nb_musiques,10) + 1;
				//x est l'index déterminé aléatoirement du morceau à jouer.
				// Le document ouvert n'est pas celui où est joué la Marseillaise (Drapeau de la France)
    if(( x == nb_musiques-1) && (parent.document.title != "La Marseillaise")) { 
								x = 1;  // La Marseillaise est exclue des morceaux joués aléatoirement.  
				}
				// Le document ouvert est celui où est joué la Marseillaise (Drapeau de la France)
				else if (parent.document.title == "La Marseillaise") {
								x = nb_musiques-1;
				}
				for (var i=1; i < nb_musiques; i++) {
			   		part_musique = musique[i].split("|"); 
								// C'est le morceau à jouer?    
       	if (i == x) {
												if (GetCookie('vmusique')) {
																volume = parseInt(GetCookie('vmusique'));
																//alert ("volume cookies : " + volume); 
												}
												else {
																// Le volume est indiqué dans le 3eme terme de la liste pour une égalisation éventuelle du niveau sonore.	
																volume =	part_musique[2];
																//alert ("volume associé au morceau : " + part_musique[2]); 
												}  
												var part_music = part_musique[0];
												//alert(part_music); 
												message = part_musique[1];
												i=nb_musiques;
								}
				}	
				ctrl_mus = "";
				/*if (parent.document.title == "Accueil"){ 
								volume=50;
								ctrl_mus += '<EMBED '+param_playr+' NAME="music" volume='+volume+' HIDDEN="true" SRC="sonorisation/bonjour.wav" AUTOSTART="true">\n';
				}*/
				ctrl_mus += '<EMBED '+param_playr+' NAME="music" VOLUME='+volume+' onMouseUp="javascript:lectvol()" SRC="sonorisation/'+part_music+'" LOOP="true" AUTOSTART="true" MASTERSOUND><\/EMBED>\n';
				//alert(titre+" - "+ctrl_mus);
				top.document.write (ctrl_mus);
}
function controle_volume() {	
				volume = parseInt(GetCookie('vmusique'));
				ctrl_vol = "";
				ctrl_vol += '<FONT FACE=arial SIZE=2 COLOR=red><B><U>Musique</U></B></FONT>&nbsp;&nbsp;';
				// Jouer ou non la musique
				ctrl_vol += '<input type="button" value=" | | " name="jouerson" onClick="jouermid()" style="cursor:hand; color: #000000; background-color: #FFD500">';
				// Volume d'écoute
				ctrl_vol += '&nbsp;&nbsp;<FONT FACE=arial SIZE=1 COLOR=red><B>0</B></FONT>';
				if (volume==0){
								ctrl_vol += '<input type="radio" name="volson" onClick="javascript:lecture_volume(0);" checked>';
				} else {
								ctrl_vol += '<input type="radio" name="volson" onClick="javascript:lecture_volume(0);">';
				}
				if (volume==20){
								ctrl_vol += '<input type="radio" name="volson" onClick="javascript:lecture_volume(20);" checked>';
				} else {
								ctrl_vol += '<input type="radio" name="volson" onClick="javascript:lecture_volume(20);">';
				}
				if (volume==40){
								ctrl_vol += '<input type="radio" name="volson" onClick="javascript:lecture_volume(40);" checked>';
				} else {
								ctrl_vol += '<input type="radio" name="volson" onClick="javascript:lecture_volume(40);">';
				}
				if (volume==60){
								ctrl_vol += '<input type="radio" name="volson" onClick="javascript:lecture_volume(60);" checked>';
				} else {
								ctrl_vol += '<input type="radio" name="volson" onClick="javascript:lecture_volume(60);">';
				}
				if (volume==80){
								ctrl_vol += '<input type="radio" name="volson" onClick="javascript:lecture_volume(80);" checked>';
				} else {
								ctrl_vol += '<input type="radio" name="volson" onClick="javascript:lecture_volume(80);">';
				}
				if (volume==100){
								ctrl_vol += '<input type="radio" name="volson" onClick="javascript:lecture_volume(100);" checked>';
				} else {
								ctrl_vol += '<input type="radio" name="volson" onClick="javascript:lecture_volume(100);">';
				}
				ctrl_vol += '<FONT FACE=arial SIZE=1 COLOR=red><B>100</B></FONT>';
				document.write (ctrl_vol);
}
// ----------------------------------------------------	
// http://www.namani.net			
function jouermid() {
				// "jouerson" = nom du bouton "son on/off"
				if (document.etatson.jouerson.value==' | | ') {
								document.etatson.jouerson.value='>>';
								top.music.Stop();
				}
				else {
								document.etatson.jouerson.value=' | | ';
								top.music.play();
				}
}		
// ----------------------------------------------------
function lecture_volume(vol) {
				var expDate = new Date (); 
				// expDate est la date à laquelle le cookie prend fin
				// elle est paramétrée pour un an
				expDate.setTime( expDate.getTime() + (365 * 24 * 60 * 60 * 1000) );
				//alert(vol);
				top.music.setVolume(vol);
				SetCookie ("vmusique", vol, expDate); // contrôle musique
				
}
/* ***********************************************************************************************/
//  Cookies
/* ***********************************************************************************************/
function getCookieVal (offset) {
    var endstr = document.cookie.indexOf (";", offset);
    if (endstr == -1)
    endstr = document.cookie.length;
    return unescape(document.cookie.substring(offset, endstr));
}
// ----------------------------------------------------
/*  Function to return the value of the cookie specified by "name".
    name - String object containing the cookie name.
    returns - String object containing the cookie value, or null if
    the cookie does not exist.
*/
function GetCookie (name) {
    var arg = name + "=";
    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;
}
// ----------------------------------------------------
function SetCookie (name, value, expires, path, domain, secure) {
    argv = SetCookie.arguments;
    argc = SetCookie.arguments.length;
    expires = (argc > 2) ? argv[2] : null;
    path = (argc > 3) ? argv[3] : null;
    domain = (argc > 4) ? argv[4] : null;
    secure = (argc > 5) ? argv[5] : false;
    document.cookie = name + "=" + escape (value) +
    ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
    ((path == null) ? "" : ("; path=" + path)) +
    ((domain == null) ? "" : ("; domain=" + domain)) +
    ((secure == true) ? "; secure" : "");
}
// ----------------------------------------------------
/*  Function to delete a cookie. (Sets expiration date to current date/time)
    name - String object containing the cookie name
*/
function DeleteCookie (name) {
    var expire = new Date();
    expire.setTime (expire.getTime() - 1);  // This cookie is history
    var cval = GetCookie (name);
    document.cookie = name + "=" + cval + "; expires=" + expire.toGMTString();
}
/* ***********************************************************************************************/