//IE

function displayFlash(swf,largeur,hauteur,alternatif)
{
	document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="370" height="74" id="lecteur_mp3" align="middle" wmode="transparent">');
	document.write('<param name="allowScriptAccess" value="always"/>');
	document.write('<param name="movie" value="lecteur_mp3.swf"/>');
	document.write('<param name="quality" value="high"/>');
	document.write('<param name="wmode" value="transparent"/>');
	document.write('<embed src="lecteur_mp3.swf" quality="high"  wmode="transparent" width="370" height="74" name="lecteur_mp3" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
	document.write('</object>');
}

// Tableau des filtres
var tab_filtre = [];
tab_filtre.push({id_div:"0",type_fil:"genre",htmlid:"f_gen"});
tab_filtre.push({id_div:"1",type_fil:"ambiance",htmlid:"f_amb"});
tab_filtre.push({id_div:"2",type_fil:"instrument",htmlid:"f_ins"});
tab_filtre.push({id_div:"3",type_fil:"tempo",htmlid:"f_tem"});
tab_filtre.push({id_div:"4",type_fil:"compositeur",htmlid:"f_com"});
tab_filtre.push({id_div:"5",type_fil:"format",htmlid:"f_reg"});
var tab_tri = ["titre","duree"]; // Tableau des tri
var critere_recherche = "tous critères"; //Recherche par critère
var traitement = false; // Permet de supprimer deux appels successifs à l'ajax

/**
* cle = commander->projet
*/
function aff_page(val,bool){
	// Remet le lien supprimer un morceau si on provient du devis
	if(gd("lien_sup"))
	{
		var texte = '<a style="margin-left:2px;" href="#" onclick="aff_proj_sup(); return false;" title="Supprimer le morceau sélectionné de votre projet."><img src="img/menuimg/icon_bin.png" alt=""/></a>';
		cih("lien_sup",texte);
		var texte = '<a style="margin-right:5px;" title="Ajouter le morceau sélectionné dans votre projet" href="#" onclick="aff_proj_add();return false;"><img src="img/ajouter.png" alt=""/></a>';
		cih("lien_ecoute_add",texte);
	}
	var data = "action=page&page="+escape(val);
	go_php(data,"tablecontent");

	var data = "action=aide&page="+escape(val);
	go_php(data,"one");
	if("wls" == val)
	{
		cih("projet","");
		if(gd("four"))
			document.getElementById("four").style.display = 'none';
	}
}

function page_compo(cle){
	var data = "action=page_compo&cle="+escape(cle);
	var xhr = null;
	xhr = (window.XMLHttpRequest)? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
//	xhr.onload = null;
	xhr.open("POST", "xmlhttprequest.php", true);
	xhr.onreadystatechange=function(){
	   if(xhr.readyState == 4 && xhr.status == 200)
	   	 document.getElementById("bio").innerHTML = xhr.responseText;
	};
	xhr.setRequestHeader("Cache-Control","no-cache");
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr.send(data);
}

/**
* Lance une requete AJAX et affiche le resultat dans le div souhaîté
* @param: data // variables à transmettre
* @param: nom_div // id du div à affecter
**/
function go_php(data,nom_div,synchrone){
	var xhr = null;
	xhr = (window.XMLHttpRequest)? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
	//xhr.onload = null;
	var data = "ms=" + new Date().getTime()+",&"+data;
	if(synchrone)
	{
		xhr.open("POST", "xmlhttprequest.php", false);
		xhr.setRequestHeader("Cache-Control","no-cache");
		xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xhr.send(data);
		if(xhr.readyState == 4 && null != gd(nom_div))
		 cih(nom_div,xhr.responseText);
	}
	else
	{
		xhr.open("POST", "xmlhttprequest.php", true);
		xhr.onreadystatechange=function(){
				if(xhr.readyState == 2 && null != gd(nom_div))
					gd("download").style.display = 'block';
	    	if(xhr.readyState == 4 && xhr.status == 200)
	    	{
	    		if(null != gd(nom_div))
	    			cih(nom_div,xhr.responseText);
	    		if(null != gd(nom_div))
	    			gd("download").style.display = 'none';
	    	}
	  };
	  xhr.setRequestHeader("Cache-Control","no-cache");
		xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xhr.send(data);
	}
}

/**
* Function rendant visible ou invisible un element div
* @param: nom_div // nom du div
*/
function aff_div(nom_div){
	if(gd(nom_div))
	{
		d = gd(nom_div).style.display;
		t = ('' == d) ? 'none' : d;
		gd(nom_div).style.display = ('block' == t) ? 'none' : 'block';
	}
}

/**
* Appellée lors de la detection de la touche entrée sur le formulaire de recherche
* @param: new_critere_recherche (string critere)
* @return: Affichage dans div id="crit"
*/
function rech_chang_crit(new_critere_recherche){
	critere_recherche = new_critere_recherche;
	gd("criteres").style.display='none';
	var t1 = new_critere_recherche;
	if("nom_compo_complet" == new_critere_recherche)
		var t1 = "compositeur";
	if("descriptif" == new_critere_recherche)
		var t1 = "description";

	cih("crit","Recherche par: "+t1);
	t = roi("champ");
  (t != "") ? rech_go(t) : gd("champ").focus();
}

/**
* Appellée lors de la detection de la touche entrée sur le formulaire de recherche
* @param: val_champ (string saisie)
* @return: Affichage de la table resultat id="tablecontent"
*/
function rech_go(val_champ){
	var data = "action=req_form&mot="+escape(val_champ)+"&critere="+escape(critere_recherche);
	go_php(data,"tablecontent");
}

/**
* Ajoute un critère de recherche à la requete
* Modifie la phrase explicative
* Affiche les resultats
* @param: type_filtre // genre, ambiance, instrument...
* @param: val_filtre // Valeur numérique du filtre
*/
function req_addfilter(type_filtre,val_filtre){
	ci("champ",""); // Reset du formulaire de recherche
	var data = "action=req_addfilter&filtre="+escape(val_filtre)+"&type_filtre="+escape(type_filtre);
	go_php(data,"tablecontent");
}

function req_addfilter_select(select_filtre){
	if(null != gd("champ"))
		ci("champ","");
	var select = ros(select_filtre);
	var val_filtre = select["index"];
	var type_filtre = select_filtre.substring(4,select_filtre.length);
	var data = "action=req_addfilter&filtre="+escape(val_filtre)+"&type_filtre="+escape(type_filtre);
	go_php(data,"tablecontent");
}

/**
* Effectue la requete lors de la navigation entre les resultats
* @param index // limit bdd
*/
function req_navresult(index){
	var data = "action=req_navresult&index="+escape(index);
	go_php(data,"tablecontent");
}

/**
* Trie les resultats par ordre ASC ou DESC
* @param: nom_filtre_tri (nom,duree,genre,ambiance,instrument)
* @param: order (0= sans tri, 1= ASC, 2=DESC)
*/
function req_tri(nom_filtre,order){
	var data = "action=req_tri&filtre_tri="+escape(nom_filtre)+"&val="+escape(order);
	go_php(data,"tablecontent");
}

/**
* Affiche les versions d'un morceau
* @param nom_fichier
* @param ligne_ecoute // Pour mettre l'écouteur
*/
function affiche_version(nom_fichier,ligne_ecoute){
	cih("version","");
	var data = "action=version&nom_fichier="+escape(nom_fichier)+"&ligne="+escape(ligne_ecoute);
	go_php(data,"version");
	if('none' == gd("version").style.display || '' == gd("version").style.display)
		aff_div("version");
	gd("catal").className = 'opacite_on';
}

/**
* Supprime tous les filtres
*/
function filter_supall(){
	ci("champ","");
	var data = "action=req_supallfilter";
	go_php(data,"tablecontent");	
}

/**
* Supprime un filtre
* @param: id_div_filtre //N° id du filtre à supprimer
*/
function filter_supone(id_div_filtre){
	for(i=0; i < tab_filtre.length; i++)
	{
		if(tab_filtre[i].id_div == id_div_filtre)
		{
			var data = "action=req_suponefilter&type_filtre="+escape(tab_filtre[i].type_fil);
			var new_valeur = parseInt(id_div_filtre) + 1;
			cih(tab_filtre[i].htmlid,'<p class="nofiltre">'+new_valeur+' '+tab_filtre[i].type_fil.charAt(0).toUpperCase() + tab_filtre[i].type_fil.substring(1).toLowerCase() +' pas de filtre</p>');
		}
	}
	go_php(data,"tablecontent");
}

/**
* Function permettant d'écouter un morceau
* Met à jour le symbole écoute dans la table
* Ajoute un morceau dans la liste ecoute si celui ci ne si trouve pas
*/
function ecoute_musique(nom_fichier,ligne_ecoute,aff_icon_ecoute){
	//Symbole ecoute
	aff_sym_ecoute(ligne_ecoute);
	//Ajoute un morceau dans la liste d'ecoute si non présent
	add_list_ecoute(nom_fichier,aff_icon_ecoute);
	//Ouvre le panel derniere ecoutes
	document.getElementById("tree").style.display = 'block';
	//Player
	lance_player(nom_fichier);
}

/**
* Lance le player
* @param: cd // utile pour le player
* @param: titre //Le titre de la chanson encours qui sera mis en session
* @param: editeur // utile pour le player
* @return Affichage balise marquee + symbole ecoute
*/
function lance_player(nom_fichier){
	var data = "action=play_morceau&nom_fichier="+escape(nom_fichier);
	go_php(data,"affiche");
	Flash_callExternalInterface(nom_fichier);
}

/**
* Affiche le symbole ecoute dans la table resultats
* @param: ligne_ecoute // n° du div à tagguer
* @param: nb_result //nb de resultat dans la table resultat
*/
function aff_sym_ecoute(ligne_ecoute){
	for(i=0 ; i < 100; i++)
	{
		var nom_div = "e_"+i;
		var tr = "tr_"+i;
		if(gd(nom_div))
		{
			gd(tr).className = (i%2 == 0) ? 'row0' : 'row1';
			gd(tr).style.backgroundColor = (i%2 == 0) ? '#FFF' : '#e0ecef';
			cih(nom_div,"");
		}
	}
	if("" != ligne_ecoute)
	{
		cih("e_"+ligne_ecoute,'<img src="img/i_listen.png" alt=""/>');
		var tr = "tr_"+ligne_ecoute;
		gd(tr).style.backgroundColor = '#8FE4FF';
	}
}

/**
* Supprime le symbole ecoute dans la table resultats
*/
function sup_sym_ecoute(){
	for(i=0 ; i < 100; i++)
	{
		var nom_div = "e_"+i;
		if(gd(nom_div) && i != nom_div)
			cih(nom_div,"");
	}
}

/************************************
* GESTION DES PROJETS
************************************/
/**
* Affecte le nouveau nom du projet
*/
function change_nom_projet(new_val){
	cih("nom_projetencours",new_val);
}

/**
* Charge un projet
*/
function proj_load(cle_p,nom_p){
	var data = "action=proj_load&cle_projet="+escape(cle_p)+"&nom_projet="+escape(nom_p);
	go_php(data,"projet");
	change_nom_projet(nom_p);
}

/**
* Sauvegarde un projet sous
*/
function proj_saveas(cle_p,nom_p,comment){
	var bool = true;
	var cle_p = ("nouveau" == cle_p) ? '' : cle_p;
	if("nouveau" != cle_p)
		bool = confirm("Attention si le projet de destination contient déjà des morceaux, ces derniers seront supprimés\nSouhaitez-vous continuer ?", "Texte par défaut");
	if(bool)
	{
		var data = "action=proj_saveas&cle_projet="+escape(cle_p)+"&nom_projet="+escape(nom_p)+"&comment="+escape(comment);
		go_php(data,"projet");
		change_nom_projet(nom_p);
		alert("Votre projet a été enregistré sous.\nVous travaillez désormais sur "+nom_p);
		var data = "action=proj_menu";
		go_php(data,"filtre_projet");
	}
}

/**
* Création d'un projet
*/
function proj_creer(nom,comment){
	var data = "action=proj_creer&nom="+escape(nom)+"&comment="+escape(comment);
	go_php(data,"projet");
}

/**
* Supprime un morceau du projet encours
* @param: cle_mor
*/
function proj_sup_mor(cle_mor,cle_sel){
	var t = memorise_posProjet();
	var data = "action=proj_sup_mor&cle_mor="+escape(cle_mor)+"&cle_sel="+escape(cle_sel);
	go_php(data,"projet",true);
	position_projet(t);
}

/**
* Ajoute un morceau dans le projet en cours
* @param nom_fichier // nom du fichier
*/
function proj_ajout_mor(nom_fichier){
	var t = memorise_posProjet();
	var cle_sel = parseInt(roi("projet_cle_sel"));
	var data = "action=proj_ajout_mor&nom_fichier="+escape(nom_fichier)+"&cle_sel="+escape(cle_sel);;
	go_php(data,"projet",true);
	position_projet(t);
	var mem_etat = gdD("four");
	message_clignotant("lprojetIMG","projet",mem_etat);
}

/** Devis express */
function licence_express(expr){
	var data = "action=licence_express&expr="+escape(expr);
	go_php(data,"licence");
}

/**
* Function permettant de modifier les paramètres du player flash
* @param: isrc // Le n° isrc du fichier à écouter
*/
function Flash_callExternalInterface(cd,nom_fichier,editeur) {
	Flash_getMovieName("lecteur_mp3").callmp3Control(cd,nom_fichier,editeur);
}

function Flash_getMovieName(movieName) {
   if (navigator.appName.indexOf("Microsoft") != -1)
        return window[movieName];
   else
       return document[movieName];
}

/**
* Function utilisée pour le référencement
* Permet de revenir sur la page d'accueil avec le filtre associé
*/
function content_ref(filtre,cle,valeur){
	var texte  = '<p class="top">Retournez sur le site ';
	texte += '<a href="../?filtre='+filtre+'&amp;cle='+cle+'&amp;valeur='+valeur+'">Musicjag, Illustration Sonore</a> ',
	texte += 'avec le filtre <b>'+filtre+'</b>: <b>'+valeur+'</b> comme valeur.</p>';
	cih("ct_ref",texte);
}

function list_proj(cle_proj,nom_sel){
	proj_load(cle_proj,nom_sel);
	alert("Votre projet "+nom_sel+" a été chargé");
	aff_page('ctl');
}

function change_proj(cle_p,nom_sel){
	var data = "action=devis_changeprojet&cle_p="+escape(cle_p)+"&proj="+escape(nom_sel);
	go_php(data,"");
	alert("Votre projet "+nom_sel+" a été chargé pour le bon de commande");
	aff_page('dvs',true);
}

/**
* Affiche les div suivant le choix de l'internaute
* Producteur ou Compositeur
*/
function inscription(type_inscr){
	if("prod" == type_inscr){
		gd("resul_form").style.display='none';
		gd("producteur").style.display='block';
		gd("conditions_pro").style.display='none';
		gd("compositeur").style.display='none';
		gd("conditions_comp").style.display='none';
	}else{
		gd("resul_form").style.display='none';
		gd("producteur").style.display='none';
		gd("conditions_pro").style.display='none';
		gd("compositeur").style.display='block';
		gd("conditions_comp").style.display='none';
	}
}

function compte_change_champ(){
		var data = "action=change_compte";
		ti = ri();
		for(i=0; i < ti.length; i++)
		{
			if(ti[i].className == "compte")
				data += "&"+ti[i].id+"="+escape(ti[i].value);
		}
		go_php(data,"",true);
		alert("Votre profil a été mis à jour.");
		aff_page("cpt");
}

function compte_conf(){
	var nb_minf = roi("conf_nbminf");
	var nb_maxf = roi("conf_nbmaxf");
	var nb_letter = roi("conf_nbletter");
	var t_order = recup_one_select("conf_order");
	order = t_order["index"];
	var data = "action=compte_config&order="+escape(order)+"&nb_maxf="+escape(nb_maxf)+"&nb_minf="+escape(nb_minf)+"&nb_letter="+escape(nb_letter);
	go_php(data,null);
	var data = "action=proj_menu";
	go_php(data,"filtre_projet");
	aff_page("cpt");
}

function envoi_mail(){
	var obj = escape(roi("mail_obj"));
	var texte = escape(gd("mail_com").value);
	var data = "action=mail&obj="+obj+"&texte="+texte;
	// Evite le cache
	var data = "ms=" + new Date().getTime()+",&"+data;
	xhr = (window.XMLHttpRequest)? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
//	xhr.onload = null;
	xhr.open("POST", "xmlhttprequest.php", "");
	xhr.onreadystatechange = function() {
			if(xhr.readyState == 4 && xhr.status == 200)
			{
				alert("Votre message a été envoyé.");
				ci("mail_obj",'');
				ci("mail_com",'');
			}
	}
	xhr.setRequestHeader("Cache-Control","no-cache");
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr.send(data);
}