// JavaScript Document

// LIBRAIRIE de eric lonni necessaire pour le bon fonctionnement de la SALADOTEC
// Cette librairie doit pas être utilisé sans autorisation 


/* ***************************************************************** */ 
/*  Obtient l'arrondi du nombre nb avec N chiffres apres la virgule  */
/* ***************************************************************** */ 
function getArrondi(nb,N) {
	return Math.round(Math.pow(10,N)*nb)/Math.pow(10,N);
}


/* ***************************************************************** */ 
// Raccourci pour les document.getElementById
/* ***************************************************************** */ 
function $(element) { 
	return document.getElementById('element');
}

/* ***************************************************************** */ 
// Fonction d'affichage dans pop up  
/* ***************************************************************** */ 
function MM_popupMsg(msg) { //v1.0
  alert(msg);
}



/* ***************************************************************** */ 
/* Fonction qui formate les chiffres 					             */
/* ***************************************************************** */ 
function formaterMontant(mnt, nbDecimal) {
	if(nbDecimal == 0) {
		return Math.round(mnt);
	}
	var exposant = Math.pow(10, nbDecimal);
	var mnt =  Math.round(exposant*mnt) / exposant ;
	if (Math.round(mnt)-mnt==0 ) {
		var txtMnt = mnt +".0000000000";
	} else {
		var txtMnt = mnt +"0000000000";
	}
	return txtMnt.substring(0,txtMnt.indexOf(".")+1+nbDecimal);
}


/* ***************************************************************** */ 
// fonction qui depend du browser 	  A METTRE AU POINT   NON UTILISE		                         */
/* ***************************************************************** */ 
function browser() {	 



var msg = "VERIFICATION FONCTION BOWSER" ;
//  MM_popupMsg(msg) ;

	// detection du navigateur
	if (navigator.userAgent.indexOf('Opera')		!=-1)		{ this.opera 		= true; }
	if (navigator.userAgent.indexOf('Konqueror')	!=-1) 	 	{ this.Konqueror 	= true; }
	if (navigator.userAgent.indexOf('Safari')		!=-1) 	 	{ this.Safari 		= true; }
	if (navigator.userAgent.indexOf('Firefox/1.0')	!=-1) 		{ this.ff10 		= true; }
	if (navigator.userAgent.indexOf('Firefox/1.5')	!=-1) 		{ this.ff15 		= true; }
	if (navigator.userAgent.indexOf('Netscape/7.0')	!=-1) 		{ this.netscape 	= true; }
	if (navigator.userAgent.indexOf('MSIE 7')		!=-1) 		{ this.ie7 			= true; }
	if (navigator.userAgent.indexOf('MSIE 6')		!=-1) 		{ this.ie6 			= true; }
	if (navigator.userAgent.indexOf('Netscape/7.0')	!=-1) 		{ this.netscape 	= true; }



/* ***************************************************************** */ 
/*CHUTES A TESTER OU A METTRE AU POINT */
/* ***************************************************************** */ 
// fonction qui affecte l opacité		/* ***************************************************************** */ 
	/*this.setOpacity = function (element,valeur) {
	
	if( this.ie7 || this.ie6 ) {	// sous IE
		var op = parseInt(valeur*100);
		element.style.filter = 'alpha(opacity='+op+')';
	} else { 				// sous les autres navigateurs
		element.style.opacity = valeur ;
	}*/

// fonction qui  recalcul les valeurs de la taille des fenetres /* ***************************************************************** */ 	
	/*this.getWindowWidth = fonction () {
	
	if( this.ie7 || this.ie6 ) {	// sous IE
		return document.body.clientHeight;
	} else { 						// sous les autres navigateurs
		return window.innerHeight - 18;
	}*/


// Fonction qui recupere X de la souris	/* ***************************************************************** */ 
	/*browser.getMouseX = function (e) {
	if( this.ie7 || this.ie6 ) {	// sous IE
		return event.offsetX;
	} else { 				// sous les autres navigateurs
		return e.layerX;	
	}*/

// Fonction qui recupere Y de la souris	/* ***************************************************************** */ 
	/*browser.getMouseY = function (e) {
	if( this.ie7 || this.ie6 ) {	// sous IE
		return event.offsetY;
	} else { 				// sous les autres navigateurs
		return e.layerY;	
	}*/


// Fonction qui recupere le code de la touche pressée	/* ***************************************************************** */ 
	/*browser.getTouche = function (e) {
	if( this.ie7 || this.ie6 ) {	// sous IE
		return event.keyCode;
	} else { 				// sous les autres navigateurs
		return e.which;	
	}*/

// Fonction qui rétablie la compatibilite sur les CSS	/* ***************************************************************** */ 
	/*browser.setWidth = function (element,valeur) {
	if( this.ie7 || this.ie6 ) {	// sous IE
		element.style.width = valeur + 'px';
	} else { 				// sous firefox
		// On recupere la bordure
		var b =parseInt(element.style.border||0);	
		// et le padding
		var p =parseInt(element.style.padding ||	0);
		// pour les soustraie a la taille reelle
		element.style.width = ( valeur - 2 * ( p+b) + 'px';
	}	*/


// Fonction integration de l object XMLHttpRequest	/* ***************************************************************** */ 
	browser.getHttpObject = function () {
		
	// 	alert ('Browser ');
		if( this.ie7 || this.ie6 ) {	// sous IE
			return new ActiveXobject('microsoft.XMLHTTP');
		} else { 				// sous les autres navigateurs
			return new XMLHttpRequest();	
		}	
	}



} // fin fonction browser	/* ***************************************************************** */ 



/* ***************************************************************** */ 
//  FONCTIONS DE GESTION DU PANIER DANS LA PAGE CHERCHERSON
/* ***************************************************************** */ 

//  Fonction d update du panier sert à metre les sons dans le panier du user loggue

//  Fonction d update du panier
function update_panier(idson,iduser) {
	// alert('UPDATE PANIER');
	
	// On AJOUTE le son dans le panier
			var action = 1 ;
			var url_php ='ajax/MAJ_panier.php' +'?action='+ action +'&idson='+ idson +'&iduser='+ iduser;
			var requete = new browser();  // verifier  sil est possible de trvailler avec les browsers
			requete = browser.getHttpObject();  // ca marche
			requete.open('GET',url_php,false);  // a changer pour une requete asynchrone
		// On envoie la requete 
			requete.send(null);
			var reponse = requete.responseText;
		
	// Ou on reload la page
		 window.document.location.reload();

			return reponse ;
			
		// On doit changer le logo dans la liste des resultats des recheche
			var cadrepanier = 'logo_panier' + idson;
			var logoreplace = 'images/Boutons/panier_over.png';
			var logoreplace = 'Ce son est dans le panier';

		document.getElementById['cadrepanier'].innerHTML = logoreplace ; 
	// On doit changer le logo dans la liste des resultat des recheche

}


/*  supprime un item du panier sur action du bouton supprimer panier */
function supprimepanier(idson,iduser) {					//  Supprime le son demandé du panier du user demande
//  alert('SUPPRIME PANIER');
		var action = 0 ;
	// On doit SUPPRIMER le son dans le panier
			var url_php ='ajax/MAJ_panier.php' +'?action='+ action +'&idson='+ idson +'&iduser='+ iduser;
			var requete = new browser();  // verifier  sil est possible de trvailler avec les browsers
			requete = browser.getHttpObject();  // ca marche
			requete.open('GET',url_php,false);  // a changer pour une requete asynchrone
		// On envoie la requete
			requete.send(null);
			var reponse = requete.responseText;
	// Ou on reload la page
		 window.document.location.reload();
			 return reponse ;
		// On doit changer le logo dans la liste des resultat des recheche
		//	var cadrepanier = 'logo_panier' + idson;
		//	var logoreplace = 'images/Boutons/panier_over.png';
		//	var logoreplace = 'Ce son est dans le panier';

	// 	document.getElementById['cadrepanier'].innerHTML = logoreplace ; 
		
	// On doit changer le logo dans la liste des resultat des recheche}

}



/*  Vide tout le panier du user loggue  */
function viderpanier(iduser) {
	 // alert('VIDE PANIER');  // Fonctionne ok
		var action = 2 ;  // le numero de l action de vidage du panier entier du user logué
	// On doit VIDER  le panier
			var url_php ='ajax/MAJ_panier.php' +'?action='+ action + '&iduser='+ iduser;
			var requete = new browser();  // verifier  sil est possible de trvailler avec les browsers
			requete = browser.getHttpObject();  // ca marche
			requete.open('GET',url_php,false);  // a changer pour une requete asynchrone
		// On envoie la requete
			requete.send(null);
			var reponse = requete.responseText;
	// on reload la page
		  window.document.location.reload();
		// on doit faire disparaitre le bouton vidage du panier puisq u il est vide maintenant
			 return reponse ;
}

/*  ************************************************************************************************************ */


/*  ***  DELETE TRANSACTION**************************** */

function annultransaction(idtransaction) {
	// alert('DELET'+ idtransaction);
		// confirm('Voulez vous annuler la transaction en cours n°'+idtransaction+ ' ?');
			var url_php ='ajax/annultransaction.php' +'?idtransaction='+ idtransaction;
			var requete = new browser();  			// Verifier  sil est possible de trvailler avec les browsers
			requete = browser.getHttpObject();  	// ca marche
			requete.open('GET',url_php,false);  	// a changer pour une requete asynchrone
		// On envoie la requete
			requete.send(null);
			var reponse = requete.responseText;

	// alert('REPONSE'+ reponse);


	// on reload la page
		 window.document.location.reload();
		// on doit faire disparaitre le bouton vidage du panier puisq u il est vide maintenant
			 return reponse ;
}
/*  ************************************************************************************************************ */

		
		// Affiche la photo dont l url est en parametre 
		function affichePhoto(PathPhoto){
			//  alert ("c est le bon js");
			// alert (PathPhoto);
			document.getElementById("cadrephoto").style.visibility = "visible";
			document.images["cadrephoto"].src = PathPhoto;
		}
		
		
		// Fonction qui desaffiche la phot de la barre latérale
		function effacePhoto(){
			// alert('effacement de l photo ');
			document.getElementById("cadrephoto").style.visibility = "hidden";
		} 
		
		
		// Fonction qui lit le son demandé par le clic sur la photo
		function refresh_player(idson){
			document.getElementById("cadrephoto").style.visibility = "hidden";
		} 


/*  JAVASCRIPT REPRIS DE LA PAGE  CHERCERSON;PHP   */

 
function EL_loader() {
}

/*  FIN DES FONCTION D DEVELOPPEMENTS */

/* FONCTIONS COMMUNES ISSU DE DREAMWAVER */

		function MM_swapImgRestore() { //v3.0
		  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
		}
		
		function MM_preloadImages() { //v3.0
		  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
			var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
			if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
		}
		
		function MM_findObj(n, d) { //v4.01
		  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
			d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
		  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
		  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
		  if(!x && d.getElementById) x=d.getElementById(n); return x;
		}
		
		function MM_swapImage() { //v3.0
		
		  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; 
		  for(i=0;i<(a.length-2);i+=3)
		   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
		}
		
		function MM_jumpMenu(targ,selObj,restore){ //v3.0
		  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
		  if (restore) selObj.selectedIndex=0;
		}

 


/* *************************************************************************************************** */
//  GESTION DU CADRE DE PROPOSITION DE PHOTO  dans la partie admin pour choiir la photo de kla fiche
/* *************************************************************************************************** */
function afficheCadre(cadre) {
		//  alert(cadre);
		document.getElementById(cadre).style.display = "block";
		return;
}

function cacheCadre(cadre) {
		// alert(cadre);
		document.getElementById(cadre).style.display = "none";
		return;
}

//  affiche  le cadre proposition de photo
function afficheCadrePhoto(cadre) {
	// affiche la cadre de proposition de photo
		document.getElementById('CADRE_PHOTO').style.display 		= "block";
		document.getElementById('MENU_CADRE_PHOTO').style.display 	= "block";
		document.getElementById('PROPOSITION_PHOTO').style.display 	= "block";
		return;
}


function efface_cadre_photo(cadre) {
	// alert ('effacement du cadre '+ cadre );
	document.getElementById(cadre).style.display = "none";
}



/*  GESTION DE LA PHOTO QUAND ON CLIQUE DESSUS  */
function choixPhoto(idson) {
	//   alert('je vais bientot pouvoir vous proposer une photo pour votre son... patience');
	
	var cadre = "CADRE_PHOTO";
	afficheCadrePhoto(cadre) ;				// affiche la cadre des photos
	
	var menu  = afficheMenuPhoto()	;		// affiche les menu du cadre de photo
	
//  alert(menu) ;
	var photo = proposePhoto(idson);			// propose des photos selon les infos deja saisie dans la fiche de son 
		// var contenu = menu + photo ;
		
 // alert(photo) ;	
	// va remplacer le mennu
		document.getElementById('MENU_CADRE_PHOTO').innerHTML = menu ;

	// Va remplacer les photo proposés
		document.getElementById('PROPOSITION_PHOTO').innerHTML = photo ;
		
	// va remplacer le numero du son pour l associer à la nouvelle photo.
		document.getElementById('ID_SON').value = idson ;
	
}


function afficheMenuPhoto(){
	var champRecherche  = "<input id=\"requete_photo\" type=\"text\" width=\"50\" value=\"recherche\" onclick=\"clearChamps(this)\" onblur =\"changePhoto(this.value)\"/>" ;
	var menu = "<p>" + champRecherche + "<a href =\"#\" onclick=\"selectPhotoDefault()\">Photo par default</a> -<a href=\"#\" onclick=\"selectPhotoSscat()\">Photo de la sous categorie</a> - <a href='#' onclick=efface_cadre_photo('CADRE_PHOTO')>fermer la fenetre</a></p> ";
	return menu ;
}



function proposePhoto(idson) {
	// propose des photos selon les infos deja saisie dans la fiche de son
		var test = "Chercher des photos pour la fiche  "+ idson ;
		
		var info_son = getmotcleson(idson);   
		
		// alert('Voila les mots cles '+info_son);
		// var photos = changephoto(idson);
		
		return test;
	/*	
	// va chercher le contenu du titre de la fiche
		var titre 			= 	document.getElementById('titre_fr').value ;
		var descripton 		= 	document.getElementById('description').value ;
		var motcles			=	document.getElementById('motcles').value ;
		
	// var case_close		= 	"<a href='#' onclick=efface_cadre_photo('CADRE_PHOTO')>fermer la fenetre</a>" ;
		var message			= 	"";
		var demande			=	titre ;
		var menu = titre ;
		
	// VA CHERCHER LES PHOTOS 
		var contenuphotos =	chercherPhoto(demande) ; // changer le mot cheval par une variable 
	// 	message =  photos   ;
		var photos = "<div id=\"PROPOSITION_PHOTO\">" + contenuphotos + "</div>" ;
		
		
		// alert (photos ) ;
		return contenuphotos;
	*/
}

function selectphoto(idphoto) {
	var idson = document.getElementById("ID_SON").value ;   // obetinr le numero du son par documet 

	alert('je selectionne cette photo '+ idphoto + 'pour le son ' + idson);
	
	/// il faut maintenant envoyer un fichier association.php qui donne la phot à la fiche son
	associePhotoSon(idphoto,idson) ;
	
	var cadre = "CADRE_PHOTO";
	cacheCadre(cadre)  ;
	
	return;
}

/* ****************************************  Fonction qui concerne la sidebar dans la page de recherche  *********************** */

		// Affiche la photo dont l url est en parametre   EN DOUBLE
/*		
		function affichePhoto(PathPhoto){
			 
			 //  alert (PathPhoto);
			document.getElementById("cadrephoto").style.visibility = "visible";
			document.images["cadrephoto"].src = PathPhoto;
			
		}
		
		
		// Fonction qui desaffiche la phot de la barre latérale
		function effacePhoto(){
			// alert('effacement de l photo ');
			document.getElementById("cadrephoto").style.visibility = "hidden";
		} 
		
		
		
		// Fonction qui lit le son demandé par le clic sur la photo
		
		function refresh_player(idson){
			document.getElementById("cadrephoto").style.visibility = "hidden";
		} 


*/


















function getmotcleson(idson) {
	var motcles = "chat";
	return motcles ;
}


function associePhotoSon(idphoto,idson) {
		// associe la photo n idphoto au son idson
		
		if (window.XMLHttpRequest) {
			update_son	=	new XMLHttpRequest();
		} else if (window.ActiveXObject) { 
			// code for IE
			update_son	=	new ActiveXObject("Microsoft.XMLHTTP");
		}
	
	 var url = "ajax/associephotoson.php?idphoto="+ idphoto + "&idson=" + idson; // Adresse pour la page de suggestion de mot clés

	update_son.open("GET", url ,true);
	update_son.onreadystatechange = function() {
		if (update_son.readyState == 4 && update_son.status == 200) {
			// Condition si il n'y a pas de réponse  dans la requete suggestmotcles.
			  document.getElementById('data_photo_son').innerHTML = update_son.responseText;
		}
  }
	update_son.send(null);
	return  ;
}


/* Va chercher les photo qui correspondent au mot de recherche */ 
function chercherPhoto(mot) {
	// va cherher les photo  qui correspondent au mot
	//  alert(' Chercher Photo. Le mot est ' + mot);
	
	get_photo=null;
		// code for Mozilla, etc.
	if (window.XMLHttpRequest) {
		get_photo=new XMLHttpRequest();
  	} else if (window.ActiveXObject) { 
		// code for IE
		get_photo=new ActiveXObject("Microsoft.XMLHTTP");
  	}
	
	 var url = "ajax/getphotosaisie.php?mot="+ mot ; // Adresse pour la page de suggestion de mot clés

	get_photo.open("GET", url ,true);
	get_photo.onreadystatechange = function() {
		if (get_photo.readyState == 4 && get_photo.status == 200) {
			// Condition si il n'y a pas de réponse  dans la requete suggestmotcles.
			
			// alert(xmlhttp.responseText);  // affiche les résultat temporairament dans une fenetre.
				reponse = get_photo.responseText ;
				
			//  document.getElementById('CADRE_PHOTO').innerHTML = get_photo.responseText;
		}
  }
	get_photo.send(null);
				  return reponse ;
}

/* fonction d'affichage de la photo surl-volee et des description de la photo */
function previewPhoto(urlphoto) {
	// prendre l'adresse de la photo actuelle
		// ex_photo	=	document.getElementById('photo_son').value;
	//	alert('urlphoto') ;
		
		var photo = "<a href=\"#\" onclick=\"choixPhoto('CADRE_PHOTO');\"><img name=\"photo_son\" src=\"" + urlphoto + "\" width=\"200\" height=\"150\"  style=\"background-color: #006699\" /></a>";
		
		var description = "Description en cours "  ;
				
	// Remplacement de la photo par celle survole
		document.getElementById('photo_son').innerHTML = photo ;
		document.getElementById('data_photo_son').innerHTML = description ;
}





function changePhoto(champ){
	//  alert('Je cherche d autre photos '+ champ) ;
	
	get_photo=null;
		// code for Mozilla, etc.
	if (window.XMLHttpRequest) {
		get_photo=new XMLHttpRequest();
  	} else if (window.ActiveXObject) { 
		// code for IE
		get_photo=new ActiveXObject("Microsoft.XMLHTTP");
  	}
	
	 var url = "ajax/getphotosaisie.php?mot="+ champ ; // Adresse pour la page de suggestion de mot clés

	get_photo.open("GET", url ,true);
	get_photo.onreadystatechange = function() {
		if (get_photo.readyState == 4 && get_photo.status == 200) {
				reponse = get_photo.responseText ;
				document.getElementById('PROPOSITION_PHOTO').innerHTML = reponse  ;
		}
	  }
	  get_photo.send(null);
	  
	// Remplacement des photos dans le cadre PROPOSITION_PHOTO
	// 	document.getElementById('PROPOSITION_PHOTO').innerHTML = reponse  ;
		
}


/* Selectionne la phot par default pour le son selectionne */
/*function selectPhotoDefault() {
	// alert('Affectation photo par default ');
	var message = "<input name='idphoto' 	id='idphoto'	type='hidden' 			value='1'/>";  
	var photo = "<a href=\"#\" onclick=\"choixPhoto('CADRE_PHOTO');\"><img name=\"photo_son\" src=\"../photo/0.jpg\" width=\"200\" height=\"150\"  style=\"background-color: #006699\" /></a>";
	
	// Remplace la photo du cadre de saisie assiste par la bonne
	
		// document.getElementById('cadrephoto').innerHTML = photo;
		document.getElementById('photo_son').innerHTML = photo ;
		document.getElementById('select_photo').innerHTML = message ;
		efface_cadre_photo('CADRE_PHOTO');
}
*/


function clearChamps(champs) { //v3.0	  VALIDE
//	  alert ("champs name est -"+ champs.name+ " et champs value est -- "+ champs.value );
		champs.value="";
}

 
 /* ************************************************************************************************************************************** */




