/**
 *	JAvascripts pour la fiche produit
 */
$(document).ready( function(){

	chargerLoupe();
	
	$('#tailleId option:first').attr( 'selected', 'selected' );
	
	// Gestion du bouton ajouter caddie et du bouton alert reassort en fonction du stock dispo
	$('#tailleId').change( function(){ 
		
			if( $(this).find( ':selected').attr( 'class' ) == 'enReassort' )
			{
				$('#btnAjoutCaddie').css( 'display', 'none' );
				$('#btnAlertReassort').css( 'display', 'block' );
			}
			else
			{
				$('#btnAjoutCaddie').css( 'display', 'block' );
				$('#btnAlertReassort').css( 'display', 'none' );
			}
	});
	
	$(window).load( function(){ jQuery.preloadImages(IMAGES_URL+'/produit/btn_popup_continuer_achats.jpg', IMAGES_URL+'/produit/btn_popup_valider_caddie.jpg' ); });
});

function chargerLoupe()
{
	// preload des zooms
	$(window).load( preloadLoupeImages );
		
	// loupe
	$(".jqzoom").jqueryzoom({xzoom: 510, yzoom: 268, Yoffset: -10, position: "right", preload:1, lens:1	});
			
	// Pour changer la src de la loupe
	$('a.jqzoomvignette').click( changerLoupe );
}

function preloadLoupeImages()
{
	jQuery("a.jqzoomvignette").not(':first').each( function () {
		var imagetopreloadZoom = $(this).attr("href");
		var imagetopreloadFiche = imagetopreloadZoom.replace( 'loupe', 'fiche' );

		jQuery.preloadImages( imagetopreloadZoom, imagetopreloadFiche );
	});
}

function changerLoupe()
{
	var loupeImg = this.href;
	var ficheSrc = loupeImg.replace( 'loupe', 'fiche' );
	
	$('#mainPhoto').attr( 'src', ficheSrc );
	$('#mainPhoto').attr( 'jqimg', loupeImg );
	
	return false;
}

function creerConfirmAjoutCaddie()
{
	var confirmAjoutCaddie = '';
	confirmAjoutCaddie += '<div id="confirmAjoutCaddie" style="display:none;">';
	confirmAjoutCaddie += '	<p class="reponse" style="color: #999999;padding: 47px 30px;font-size:12px;">&nbsp;</p>';
	confirmAjoutCaddie += '	<a href="javascript:void(0)" id="btnContinuerAchats">';
	confirmAjoutCaddie += '		<img src="'+IMAGES_URL+'/produit/btn_popup_continuer_achats.jpg" alt="Continuer vos achats" />';
	confirmAjoutCaddie += '	</a>';
	confirmAjoutCaddie += '	&nbsp;&nbsp;&nbsp;';
	confirmAjoutCaddie += '	<a href="'+SITE_URL+'/caddie">';
	confirmAjoutCaddie += '		<img src="'+IMAGES_URL+'/produit/btn_popup_valider_caddie.jpg" alt="Valider votre caddie" />';
	confirmAjoutCaddie += '	</a>';
	confirmAjoutCaddie += '</div>';
	
	$('#ajaxDiv').append( confirmAjoutCaddie );
	
	//$('#btnContinuerAchats').click( ajaxContext.closeAll.bind( ajaxContext ) );
	$('#btnContinuerAchats').click( function(){ ajaxContext.closeAll();} );
}

function ajouterAuCaddie()
{
	if( !$('#tailleId').val() ) 
	{
		ajaxContext.showAll();
		//ajaxContext.animAjaxDiv( ajaxContext.messageBox.curry( ajaxContext, '<p class="error">Vous devez choisir une taille<br />avant d\'ajouter le produit au caddie</p>' ) );
		ajaxContext.animAjaxDiv( function(){ ajaxContext.messageBox( '<p class="error">Vous devez choisir une taille<br />avant d\'ajouter le produit au caddie</p>' );} );
		return false;
	}
	else if( $('#tailleId').find( ':selected').attr( 'class' ) == 'enReassort' )
	{
		alert( 'Vous ne pouvez pas ajouter au caddie un produit qui n\'est pas en stock' );
	}
	else
	{
		$.ajax( { data:  'prod_id='+$('#produitId').val()+'&tail_id='+$('#tailleId').val(), url: SITE_URL+'/ajouterAuCaddie.htm', success: successAjoutCaddie } );
	}
}

function successAjoutCaddie( response )
{
	//ajaxContext.animAjaxDiv( successAjoutCaddieAfterAnim.curry( document, response ) );
	ajaxContext.animAjaxDiv( function(){ successAjoutCaddieAfterAnim( response );} );
}

function successAjoutCaddieAfterAnim( response )
{
	ajaxContext.hideLoader();
		
	if( response.status == 'ok' ) 
	{ 
		if( $('#confirmAjoutCaddie').length == 0 ) creerConfirmAjoutCaddie();
		$('#confirmAjoutCaddie').show();
		$("#confirmAjoutCaddie p:first").html( response.messageSuccess );
		ajaxContext.displayedDivId = 'confirmAjoutCaddie';
	}
	else
	{
		ajaxContext.htmlMessagebox( '<p class="error"">'+response.messageError+'</p>' );
		ajaxContext.showMessageBox();
	}
}

/************* Gestion alert reassort ************************/

function creerAlertReassortForm()
{
	var alertReassort ='';
	alertReassort += '<div id="alertReassortForm" style="display:none;color:#999999;padding:45px;font-size:12px;">';
	alertReassort += '	<p>M\'alerter par mail du réassort du produit :<br /><strong>'+$('div.blockCentreTitre :first' ).text()+'</strong><br /> en taille : <strong><span id="tailleReassort">&nbsp;</span></strong></p>';
	alertReassort += '	<br /><br />';
	alertReassort += '	<form id="alertReassortFormulaire" action="">';
	alertReassort += '		<label for="email">E-Mail : </label>';
	alertReassort += '		<input type="text" name="email" id="email" style="width:200px" /><br /><br />';
	alertReassort += '		<input type="button" name="envoyer" value="envoyer" id="btnEnvoyerMailAlert" />';
	alertReassort += '	</form>';
	alertReassort += '</div>';
		
	$('#ajaxDiv').append( alertReassort );
	
	$('#alertReassortFormulaire').submit( submitMailAlert );
	$('#btnEnvoyerMailAlert').click( submitMailAlert );
}

function alertReassort()
{	
	ajaxContext.showAll();
	ajaxContext.animAjaxDiv( displayAlertReassortForm );
}

function displayAlertReassortForm()
{	
	ajaxContext.hideLoader();
	
	if( $('#alertReassortForm').length == 0 ) { creerAlertReassortForm(); };
	
	$('#tailleReassort').text(  $('#tailleId option:selected').text().replace( "- m'alerter du réassort", '' ) );
	
	$('#alertReassortForm').show();
	ajaxContext.displayedDivId = 'alertReassortForm'; 	
}

function submitMailAlert( event )
{
	if( verif( $('#email').val() ) )
	{
		$('#alertReassortForm').hide();
		ajaxContext.displayedDivId = ''; 
		ajaxContext.showLoader();
		
		var data = 'email='+$('#email').val()+'&prod_id='+$('#produitId').val()+'&tail_id='+$('#tailleId').val()
			
		$.ajax( { data: data, url: SITE_URL+'/ecommerce/AlerteProduit', success:successAlerteProduit, beforeSend:function(){} } );
	}
	else
	{
		alert( 'Adresse email invalide' );
	}
	return false;
}

function successAlerteProduit( response )
{
	ajaxContext.hideLoader();
	
	if( response.status == 'ok' ) 
	{ 
		ajaxContext.htmlMessagebox(  response.messageSuccess );
	}
	else
	{
		ajaxContext.htmlMessagebox(  '<p class="error"">'+response.messageError+'</p>' );
	}
	
	ajaxContext.showMessageBox();
}
