/* Rendre le PNG transparent sous IE
Par Revaz sur forum.forumactif.com
***************************************************/
function correctPNG() 
{
	for(var i=0; i<document.images.length; i++)
	{
		var img = document.images[i];
		var imgName = img.src.toUpperCase();
		
		if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
		{
			var imgID = (img.id) ? "id='" + img.id + "' " : "";
			var imgClass = (img.className) ? "class='" + img.className + "' " : "";
			var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' ";
			var imgStyle = "display:inline-block;" + img.style.cssText ;
			
			if (img.align == "left")
				imgStyle = "float:left;" + imgStyle;
			if (img.align == "right")
				imgStyle = "float:right;" + imgStyle;
			if (img.parentElement.href)
				imgStyle = "cursor:hand;" + imgStyle ;
			
			var strNewHTML = '<span ' + imgID + imgClass + imgTitle
				+ ' style="width:' + img.width + 'px; height:' + img.height + 'px;' + imgStyle + '; '
				+ 'filter: progid:DXImageTransform.Microsoft.AlphaImageLoader'
				+ '(src=\'' + img.src + '\', sizingMethod=\'scale\');"></span>' ;
			img.outerHTML = strNewHTML;
			i = i-1;
		}
	}
}


// récupération du nom du navigateur
var agt = navigator.userAgent.toLowerCase();
var is_ie6 = (agt.indexOf("msie 6") != -1) ? true : false;

if (is_ie6) // IE 6
{
	//window.attachEvent("onload", correctPNG);
}





//(posX et posY optionnels)
function openPopup(page, sizeX, sizeY, posX, posY)
{
    var position = "";
    if (posX && posY)
        position = ",screenX="+posX+",screenY="+posY+",left="+posX+",top="+posY;
    
    window.open(page, "","width="+sizeX+",height="+sizeY+",scroll=yes,directories=no,location=no,menubar=no,resizable=no,scrollbars=yes,status=no,toolbar=no");
}

/* Afficher/masquer un bloc
***************************************************/
function setVisible(myObjectID,show)
{
	if (show == true || show == false) // si c'est TRUE/FALSE
		document.getElementById(myObjectID).style.display = (show == true) ? "block" : "none";
	else // si c'est NONE/BLOCK/INLINE
		document.getElementById(myObjectID).style.display = show;
}
/* Afficher/masquer un bloc
***************************************************/
function invertVisible(myObjectID)
{
	var visible = document.getElementById(myObjectID).style.display;
	document.getElementById(myObjectID).style.display = (visible == "none") ? "block" : "none";
	return document.getElementById(myObjectID).style.display;
}

/* Donner le focus à un champ
***************************************************/
function setFocus(myInputID)
{
	document.getElementById(myInputID).focus();
}





/* Ajouter une note
***************************************************/
function addComment(myItemID,myAreaContent,myPseudo,myMail,myComment,myNote)
{
	if (confirm("Envoyer le commentaire ?"))
	{
		var message = "id=" + replaceProhibitedCaracts(myItemID);
		message += "&pseudo=" + replaceProhibitedCaracts(myPseudo);
		message += "&mail=" + replaceProhibitedCaracts(myMail);
		message += "&comment=" + replaceProhibitedCaracts(myComment);
		message += "&note=" + myNote;
		
		// execution du fichier
		var retour = executeFile("ajax/add_comment.php",message,"POST");
		
		switch(retour)
		{
			case "1":
				alert("Erreur :\n\nImpossible d'enregistrer ces données car elles proviennent d'un formulaire frauduleux.");
				break;
			case "2":
				document.getElementById(myAreaContent).innerHTML += "<br/><b>Erreur :</b> Toutes les informations nécessaires n'ont pas été entrées. Veuillez remplir le formulaire correctement";
				break;
			case "3":
				alert("Erreur :\n\nVous avez déjà déposé un commentaire.");
				break;
			case "done":
				document.getElementById(myAreaContent).innerHTML = "Commentaire envoyé avec succès.";
				break;
			default:
				alert("Erreur :\n\n" + retour);
				break;
		}
	}
}

/* Afficher un certain nombre d'étoiles
***************************************************/
function displayStars(myNote,myItemID)
{
	// affichage des étoiles
	for (i=1 ; i<myNote+1 ; i++)
	{
		var myID = "star_" + myItemID + "_" + i;
		document.getElementById(myID).style.background = 'url("images/star_on.png") 50% 50%';
	}
	// masquage des étoiles en trop
	for(i=myNote+1 ; i<6 ; i++)
	{
		var myID = "star_" + myItemID + "_" + i;
		document.getElementById(myID).style.background =  'url("images/star_off.png") 50% 50%';
	}
}

/* Rafraichir la liste des commentaires d'un objet
***************************************************/
function refreshCommentsList(myItemID)
{
	var message = "id=" + replaceProhibitedCaracts(myItemID);
	var retour = executeFile("ajax/get_allComments.php",message,"POST");
	
	var myAreaContentID = "area_" + myItemID + "_viewComment_content";
	var myStarsDestinationObjectID = "stars_average_" + myItemID;
	
	
	// on place le contenu
		document.getElementById(myAreaContentID).innerHTML = retour;
	// mise à jour de la moyenne des notes
		refreshNotesAverage(myItemID,myStarsDestinationObjectID);
	// mise à jour du nombre de votes
		refreshNbComments(myItemID);
}

/* Acrialiser le nombre de votes pour un élément
***************************************************/
function refreshNbComments(myItemID)
{
	var message = "id=" + replaceProhibitedCaracts(myItemID);
	var retour = "0";
	// execution du fichier
	
	if (retour = executeFile("ajax/get_countComments.php",message,"POST"))
		document.getElementById("nbComments_" + myItemID).innerHTML = retour;
}

/* Mettre à jour le moyenne des notes
***************************************************/
function refreshNotesAverage(myItemID,myStarsDestinationObjectID)
{
	var message = "id=" + replaceProhibitedCaracts(myItemID);
	var notes_average = executeFile("ajax/get_notes_average.php",message,"POST");
	
	// on affiche la moyenne des notes
	insertStars(notes_average,myStarsDestinationObjectID);
}

/* Mettre les étoiles dans l'objet spécifié
Params : la note (de 1 à 5), l'ID de l'objet dans lequel insérer le code HTML
***************************************************/
function insertStars(myNote,myDestinationObjectID)
{
	var html_string = "";
	// arrondi au 5ème
	myNote = Math.round(myNote*2) / 2;
		// les étoiles pleines
		myNote_full = Math.floor(myNote);
		// les étoiles vides
		myNote_empty = Math.floor(5 - myNote);
	
	// s'il y a une note
	if (myNote > 0)
	{
		// affichage des étoiles pleines
		for(i=0 ; i<myNote_full ; i++)
			html_string += '<img src="images/star_medium_on.png" alt="" style="vertical-align: top;"/>';
		
		// affichage de la demi-étoile
		if (myNote_full + myNote_empty != 5)
			html_string += '<img src="images/star_medium_partial.png" alt="" style="vertical-align: top;"/>';
		
		// affichage des étoiles vides
		for(i=0 ; i<myNote_empty ; i++)
			html_string += '<img src="images/star_medium_off.png" alt="" style="vertical-align: top;"/>';
	}
	else
		html_string = "- Aucune note -";
	
	document.getElementById(myDestinationObjectID).innerHTML = html_string;
}

/* Afficher les étoiles si on a mis quelque chose dans tous les champs
***************************************************/
function setStarsVisible(myStarsID,myInfoAboutStarsID,objID_1,objID_2,objID_3)
{
	var visible = true;
	
	// si un des input est vide
	if (document.getElementById(objID_1).value == "")
		visible = false;
	if (document.getElementById(objID_2).value == "")
		visible = false;
	if (document.getElementById(objID_3).value == "")
		visible = false;
	
	// Affichage des étoiles
	setVisible(myStarsID,visible);
	// (inversion) Affichage de l'information utilisateurs
	setVisible(myInfoAboutStarsID,!visible);
}

// fonction de suppression d'un commentaire
function deleteComment(id_itemgal,id_comment)
{
	if (confirm('Voulez-vous réellement supprimer ce commentaire ?'))
	{
		var message = "id=" + replaceProhibitedCaracts(id_comment);
		var retour = executeFile("ajax/deleteComment.php",message,"POST");
		
		if(retour == "done")
		{
			// rafraichissement de la liste des commentaires
				refreshCommentsList(id_itemgal);
		}
		else
			alert("Ce message n'a pas pu être supprimé ! (code erreur : " + retour + ")");
	}
}



