/* ---------------------------------------------------------------------------------------------------------------------------------------------------
//	Project : Archeval
//	Date : 08/09/08
//	Description :  Fichier Javascript pour le front office
//	Author : Maxime Cazé (maxime.caze@francebay.net)
--------------------------------------------------------------------------------------------------------------------------------------------------- */

// ############################################################################"
// ------------  Création de l'objet XMLHTTPREQUEST ------------------
// parametre : none
// ############################################################################"
function getXhr()
{
	var xhr = null; 
	if(window.XMLHttpRequest) // Firefox et autres
	   xhr = new XMLHttpRequest(); 
	else if(window.ActiveXObject)
	{ // Internet Explorer 
	    try
	    {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	else
	{ // XMLHttpRequest non supporté par le navigateur 
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	   xhr = false;
	} 
	return xhr
}
// -------------------------


function PopupImage(img) { 
	titre="Zoom"; 
	w=open("",'image','width=400, height=400, status=no, location=no, toolbar=no, menubar=no, resizable=no, scrollbars=no'); 
	w.document.write("<html><head><title>"+titre+"</title></head>"); 
	w.document.write("<script language=javascript>function checksize() { if (document.images[0].complete) { window.resizeTo(document.images[0].width+50,document.images[0].height+150); window.focus();} else { settimeout('checksize()',250) } }</"+"script>"); 
	w.document.write("<body onload='checksize()' leftmargin=0 topmargin=0 marginwidth=0 marginheight=0>");
	w.document.write("<table width='100%' border='0' cellspacing='0' cellpadding='0' height='100%'><tr>");
	w.document.write("<td valign='middle' align='center'><img src='"+img+"' border=0 alt=''>"); 
	w.document.write("<br /><br /><a href='#' style='font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color: #40362B;' onclick='window.close();'>Fermer cette fenêtre</a>");
	w.document.write("</td></tr></table>");
	w.document.write("</body></html>"); 
	w.document.close(); 
} 

$(document).ready(
	function () { 
		// Bouton OK pour l'input rechercher
		$('img#input-rechercher').click( function() {
			if( $("input",$('form#form-rechercher')).val().length > 0) {
				$('form#form-rechercher').submit();
			}else{
				alert('Merci d\'indiquer un mot clé au minimum');
			}
		});
		// Liste des catégories -- au survol d'une catégorie, la liste des sous-catégories correspondantes s'affichent...
		$('td[@id^=img-cat-]').hover(
			function() {
				// HOVER
				var attr_id = $(this).attr('id')
				var tab_attr_id = attr_id.split('-');
				var id = tab_attr_id[2];

				$('div#scat-'+id).css({ visibility: 'visible'}); 
			}, function() {
				// NON HOVER
				var attr_id = $(this).attr('id')
				var tab_attr_id = attr_id.split('-');
				var id = tab_attr_id[2];

				$('div#scat-'+id).css('visibility', 'hidden'); 			
			}
		);
		
		// Affichage du prix et des couleurs selon la taille choisie
		$('select#slct-taille').change(
			function() {
				id = $('select#slct-taille').val();
				idProduit = $('input#idproduit').val();
				if( id != -1 ) 
					changeCouleur(id, idProduit);			
			}
		);
		// Affichage du prix et des couleurs selon la taille choisie
		$('select#slct-couleur').change(
			function() {
				id = $('select#slct-couleur').val();
				if( id != -1 ) 
					changePrix(id);			
			}
		);
		// Affichage du DIV pour confirmation du "vidage" du panier
		$('input#vider_panier').click(
			function() {
				$('div#confirmation').toggle();
			}
		);
	}
);

function changeCouleur(id, idProduit) {

	var xhr = getXhr(); 
	
	xhr.onreadystatechange = function()
	{
		try
		{
			// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
			if(xhr.readyState == 4 && xhr.status == 200)
			{
				// Récupération
				var retour = xhr.responseText.split('#');
				// Récup du prix
				var prix = retour[0];
				$('#prix').empty().append(prix + ' €');
				$('#input-prix').empty().val(prix);
				
				// Suppression des anciennes couleurs dans le select
				$('#slct-couleur').empty();
				// Récup de toutes les couleurs sous format 'modele_id'^'modele_couleur'
				var couleurs = retour[1].split('|');
				// Affichage du nombre de coloris pour cette taille
				$('#nb-colors').empty().append(couleurs.length + ' coloris');
				// if( couleurs.length > 1 ) $('#nb-colors').append('s');
				
				
				// Remplissage du select avec les bonnes couleurs
				for( i = 0; i < couleurs.length; i++ ) {
					// Récupération de la couleur et de l'id du modèle
					var oneColor = couleurs[i].split('^');
					// Ajout d'un tag option
					$('#slct-couleur').append('<option value="'+oneColor[0]+'" style="width: 100%;">'+oneColor[1]+'</option>');
					// Le premier modèle indiqué est mis dans l'input hidden des modèles
					if( i == 0 )
						$('#input-modele').empty().val(oneColor[0]);					
				}

				//si j'utilise IE, je réinitialise l'objet (quelle merde ce truc, sérieux)
				if (window.ActiveXObject)
				{
					xhr = new ActiveXObject('Microsoft.XMLHTTP');
				}			
			}
		}
		catch ( e )
		{
			// Si une exception s'est produite, on catch
			alert("Une exception s'est produite : " + e.description);
		}
	}
	
	// Ouverture de la requete et modification du Content-type
	xhr.open("POST","./ajax/slct_modeles.php",true);
	xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

	// Envoi de la requete au script PHP avec les variables
	xhr.send("id=" + id + "&idProduit=" + idProduit);	
}

function changePrix(id) {
	
	var xhr = getXhr(); 
	
	xhr.onreadystatechange = function()
	{
		try
		{
			// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
			if(xhr.readyState == 4 && xhr.status == 200)
			{
				$('#prix').empty().append(xhr.responseText + ' €');
				$('#input-prix').empty().val(xhr.responseText);
				$('#input-modele').empty().val(id);
				
				//si j'utilise IE, je réinitialise l'objet (quelle merde ce truc, sérieux)
				if (window.ActiveXObject)
				{
					xhr = new ActiveXObject('Microsoft.XMLHTTP');
				}			
			}
		}
		catch ( e )
		{
			// Si une exception s'est produite, on catch
			alert("Une exception s'est produite : " + e.description);
		}
	}
	
	// Ouverture de la requete et modification du Content-type
	xhr.open("POST","./ajax/slct_couleurs.php",true);
	xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	
	// Envoi de la requete au script PHP avec les variables
	xhr.send("id="+id);	
}
