var in_progress = false; // pour tester si certains effets sont en cours de fonctionnement (apparition, fade, etc.)

function wm_effet_opacite(evenement, element) {
	
	if(evenement == 1) new Effect.Opacity(element, {to: 1, duration:0.2 });
	else new Effect.Opacity(element, {to: 0.5, duration:0.2 });
	
	return false;
}

function basename (path, suffix) {
    var b = path.replace(/^.*[\/\\]/g, '');
        if (typeof(suffix) == 'string' && b.substr(b.length-suffix.length) == suffix) {
        b = b.substr(0, b.length-suffix.length);
    } return b;
}

function isMail(email) {
    var expreg = new RegExp("^[a-zA-Z0-9_-].+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,4}$");
    return expreg.test(email);
}

function basename(path, suffix) {
    var b = path.replace(/^.*[\/\\]/g, '');
        if (typeof(suffix) == 'string' && b.substr(b.length-suffix.length) == suffix) {
        b = b.substr(0, b.length-suffix.length);
    }

    return b;
}

function submitFormNewsletter() {

    type = $('newsletter_type').checked ? 'inscription' : 'desinscription';

    if(!$('newsletter_email').present() || (type == 'inscription' && !$('newsletter_nom').present())) alert("Vous devez remplir tous les champs !");
    else if(!isMail($F('newsletter_email'))) alert("Adresse email incorrecte");
    else {

        new Ajax.Request('xhr/newsletter.php', {

        parameters:'nom='+$F('newsletter_nom')+'&email='+$F('newsletter_email')+'&type='+type,
        onSuccess: function(xhr) {
            var sortie = xhr.responseText;

            if(sortie == 'ko') alert("Erreur, votre adresse email n'a pas pu être enregistrée. ");
            else {
                alert("Votre demande a bien été prise en compte.");
                fermerPopupNewsletter();
            }
        }
        });
    }
}
function ouvrirPopupNewsletter() {
    $('bloc_newsletter').appear({ duration: 0.5 });
    new Effect.Highlight($('bloc_newsletter'), { delay: 0.5 });
    return false;
}
function fermerPopupNewsletter() {
    $('bloc_newsletter').fade({ duration: 0.5 });
}

//<---------------- HOME ---------------->
function onLoadHome() {
	$$('#menu-images .colonne > div, #menu-images .colonne > form').each(function(e){ new Effect.Opacity(e, { from: 1, to: 0.5, duration:1.5 } ) });
}

function menuHautOver(id) {
	
    $(id).setStyle({ backgroundPosition: '0 -328px' });

    if(id == 'collection') {
        $('newsletter').setStyle({ backgroundPosition: '0 -656px' });
        $('info').setStyle({ backgroundPosition: '0 -656px' });
    }

    if(id == 'newsletter') {
        $('collection').setStyle({ backgroundPosition: '0 -656px' });
        $('info').setStyle({ backgroundPosition: '0 -656px' });
    }

    if(id == 'info') {
        $('collection').setStyle({ backgroundPosition: '0 -656px' });
        $('newsletter').setStyle({ backgroundPosition: '0 -656px' });
    }

    $(id).select('cite').each(function(e){e.show()});
}


function menuHautOut(id) {
	
	$(id).setStyle({ backgroundPosition: '0 0' }); 
		
	if(id == 'collection') {
		
		$('newsletter').setStyle({ backgroundPosition: '0 0' }); 
		$('info').setStyle({ backgroundPosition: '0 0' }); 
	}
		
	if(id == 'newsletter') {
		
		$('collection').setStyle({ backgroundPosition: '0 0' }); 
		$('info').setStyle({ backgroundPosition: '0 0' }); 
	}
		
	if(id == 'info') {
		
		$('collection').setStyle({ backgroundPosition: '0 0' }); 
		$('newsletter').setStyle({ backgroundPosition: '0 0' }); 
	}
	
	$(id).select('cite').each(function(e){e.hide()});
}
//<-------------------------------------->


//<---------------- STORE --------------->
function storeVisuelOver(id) {
	
	$(id).setStyle({ backgroundPosition: '0 -515px' }); 
		
	if(id == 'visuel1') {
		
		$('visuel2').setStyle({ backgroundPosition: '0 -1030px' }); 
		$('visuel3').setStyle({ backgroundPosition: '0 -1030px' }); 
	}
	
	if(id == 'visuel2') {
		
		$('visuel1').setStyle({ backgroundPosition: '0 -1030px' }); 
		$('visuel3').setStyle({ backgroundPosition: '0 -1030px' }); 
	}
	
	if(id == 'visuel3') {
		
		$('visuel1').setStyle({ backgroundPosition: '0 -1030px' }); 
		$('visuel2').setStyle({ backgroundPosition: '0 -1030px' });
	}
}

function storeVisuelOut(id) {
	
	$(id).setStyle({ backgroundPosition: '0 0' }); 
		
	if(id == 'visuel1') {
		
		$('visuel2').setStyle({ backgroundPosition: '0 0' }); 
		$('visuel3').setStyle({ backgroundPosition: '0 0' }); 
	}
		
	if(id == 'visuel2') {
		
		$('visuel1').setStyle({ backgroundPosition: '0 0' }); 
		$('visuel3').setStyle({ backgroundPosition: '0 0' }); 
	}
		
	if(id == 'visuel3') {
		
		$('visuel1').setStyle({ backgroundPosition: '0 0' }); 
		$('visuel2').setStyle({ backgroundPosition: '0 0' }); 
	}
}

function onLoadDetailsproduits() {
	$$('#miniatures > a').each(function(e){ new Effect.Opacity(e, { from: 1, to: 0.5, duration:1.5 } ) });
}

var vignette_cliquee = '';
function clicVignette(img, id_produit, n, from, discount, artistique) {

    if(!in_progress) {

        in_progress = true;
        
        if(!from) {
            url_discount = discount == 1 ? '&discount' : '';

            // REMETTRE LA LIGNE CI-DESSOUS QUAND TOUTES LES IMAGES ZOOM SONT CREEES
            if(!artistique) $('lien-zoom').href = 'details-produit-zoom.php?id='+ id_produit +'&img='+ n + url_discount;

        }

        vignette_cliquee = basename(img);

        $('image2').src = img;
        $('image2').appear({ 	duration: 0.6,
                                afterFinish: function() {
                                    $('image1').src = img;
                                    $('image2').hide();
                                    in_progress = false;
                            }
        });
    } return false;
}

function activationZoom(action) {
    if(action == 0) $('lien-zoom').setStyle({ visibility: 'hidden' });
    else            $('lien-zoom').setStyle({ visibility: 'visible' });
}

function ajoutePanier(id_produit, destination, catalogue) {

    var quantite = isNaN($F("quantite")) || $F("quantite") < 1 ? 1 : $F("quantite");

    if($F('taille') == 0)       alert("Veuillez choisir une taille");
    else if($F('couleur') == 0) alert("Veuillez choisir une couleur");

    else {

        new Ajax.Request('xhr/ajoutePanier.php', {
            method: 'post',
            parameters:'id='+id_produit+'&quantite='+quantite+'&taille='+$F('taille')+'&couleur='+$F('couleur')+'&destination='+destination,
            onSuccess: function(xhr) {

                if(xhr.responseText == 'ko') alert("Rupture de stock (En cours de réapprovisionnement).");

                else {

                    if(catalogue == false) {
                        var confirm_destination = destination == 'panier' ? 'au panier' : ' à la wish-list';

                        $('confirmation-destination').update(confirm_destination);
                        $('confirmation-taille').update($('taille').options[$('taille').selectedIndex].text);
                        $('confirmation-couleur').update($('couleur').options[$('couleur').selectedIndex].text);
                        $('confirmation-quantite').update($F('quantite'));
                    }

                    $('confirmation-panier').appear({ duration: 0.5,
                        afterFinish: function() {
                            $('confirmation-panier').fade({ delay: 2, duration: 0.5 })
                        }
                    });
                }
            }
        });
    } return false;
}

function changeTaille() {
    if($F('taille') > 0) {
        $('prix_a_changer').update(prixTailles[$F('taille')]+ " &euro;");
        $('prix_barre').show();
    } else {
        $('prix_a_changer').update("Choisissez une taille");
        $('prix_barre').hide();
    }
}

var id_produit_popup_details;
function affiche_popup_details(id_produit) {

    if(id_produit != id_produit_popup_details) {
        new Effect.Appear('popup_details_'+id_produit, {duration:0.4});

        if(id_produit_popup_details != undefined) new Effect.Fade('popup_details_'+id_produit_popup_details, {duration:0.4});
        id_produit_popup_details = id_produit;
    }
}
//<-------------------------------------->


//<-------------- HISTOIRE -------------->
function onLoadHistoire() {
	$$('#colonne-gauche, #colonne-droite, #illustration').each(function(e){ new Effect.Opacity(e, { from: 1, to: 0.5, duration:1.5 } ) });
}
//<-------------------------------------->


//<------------- REVENDEURS ------------->
var i_bloc = new Array();

var deplacement_y = 100; // Valeur du déplacement vertical du bloc

function up_btn(n) {
    if(!in_progress && i_bloc[n] > 0) {
        in_progress = true;
        new Effect.Move($('ul_bloc' + n), { x: 0, y: deplacement_y, duration:0.3,  mode: 'relative', afterFinish: function(){ in_progress = false; } });

        i_bloc[n] --;
    }
    return false;
}

function down_btn(n) {
    var hauteur_ul_bloc = $('ul_bloc' + n).getHeight();
    var hauteur_bloc 	= $('bloc' + n).getHeight();

    if(!in_progress && (hauteur_ul_bloc > hauteur_bloc)) {

        if(i_bloc[n] == undefined) i_bloc[n] = 0;

        if(Math.round((hauteur_ul_bloc - hauteur_bloc) / deplacement_y) >= i_bloc[n]) {

            in_progress = true;
            new Effect.Move($('ul_bloc' + n), { x: 0, y: deplacement_y * -1, duration:0.3,  mode: 'relative', afterFinish: function(){ in_progress = false; } });

            i_bloc[n] ++;
        }
    }
    return false;
}
//<-------------------------------------->


//<------------- CATALOGUE -------------->
var i_catalogue_img = 1;

function catalogue_img_suivante(total_img) {
	
	if(!in_progress && i_catalogue_img < total_img) {
		
		in_progress = true;
		
		if(i_catalogue_img == 1) $('precedent').setStyle( {visibility: 'visible'} );
		
		i_catalogue_img++;
		
		$('img-catalogue'+i_catalogue_img).appear({ duration: 1, afterFinish: function() { in_progress = false; } });
		
		if(i_catalogue_img == total_img) {
			$('suivant').setStyle( {visibility: 'hidden'} );
			$('lien_img').setStyle( {cursor: 'auto'} );
		}
	}
	
	return false;
}

function catalogue_img_precedente() {
	
	if(!in_progress && i_catalogue_img > 1) {
		
		in_progress = true;
		
		$('img-catalogue'+i_catalogue_img).fade({ duration: 1, afterFinish: function() { in_progress = false; } });
		
		i_catalogue_img--;
		
		if(i_catalogue_img == 1) $('precedent').setStyle( {visibility: 'hidden'} );
		$('suivant').setStyle( {visibility: 'visible'} );
		$('lien_img').setStyle( {cursor: 'pointer'} );
	}
	
	return false;
}
//<-------------------------------------->

//<----------- QUESTIONNAIRE ------------>
var i_page_questionnaire = 1;

function questionnaire_page_suivante(total_pages_questionnaire) {

	if(!in_progress && i_page_questionnaire < total_pages_questionnaire) {
		
		in_progress = true;
		
		if(i_page_questionnaire == 1) $('precedent').setStyle( {visibility: 'visible'} );
		
		i_page_questionnaire++;
		
		new Effect.Move($('questionnaire'), { x: -594, y: 0, mode: 'relative', duration: 0.3, afterFinish: function() { in_progress = false; } });

		if(i_page_questionnaire == total_pages_questionnaire) {
			$('suivant').setStyle( {visibility: 'hidden'} );
		}
	}
	
	return false;
}

function questionnaire_page_precedente() {
	
	if(!in_progress && i_page_questionnaire > 1) {
		
		in_progress = true;
		
		new Effect.Move($('questionnaire'), { x: 594, y: 0, mode: 'relative', duration: 0.3, afterFinish: function() { in_progress = false; } });
		
		i_page_questionnaire--;
		
		if(i_page_questionnaire == 1) $('precedent').setStyle( {visibility: 'hidden'} );
		$('suivant').setStyle( {visibility: 'visible'} );
	}
	
	return false;
}
//<-------------------------------------->

//<-------------- CLIENTS --------------->
function check_livraison_facturation() {
    if(!$F('livraison_facturation')) {
        $('adresse_facturation').enable();
        $('pays').enable();
        $('cp').enable();
        $('ville').enable();

    } else {
        $('adresse_facturation').disable();
        $('pays').disable();
        $('cp').disable();
        $('ville').disable();
    }
}
//<-------------------------------------->

//<----------- MES COMMANDES ------------>
var i_page_commande = 1;

function commandesSuivantes(total_pages_commandes) {

	if(!in_progress && i_page_commande < total_pages_commandes) {
		
		in_progress = true;
		
		i_page_commande++;
		
		new Effect.Move($('liste-commandes'), { x: 0, y: -286, mode: 'relative', duration: 0.7, afterFinish: function() { in_progress = false; } });
	}
	
	return false;
}

function commandesPrecedentes() {
	
	
	if(!in_progress && i_page_commande > 1) {
		
		in_progress = true;
		
		new Effect.Move($('liste-commandes'), { x: 0, y: 286, mode: 'relative', duration: 0.7, afterFinish: function() { in_progress = false; } });
		
		i_page_commande--;
		
		
	}
	
	return false;
}
//<-------------------------------------->

//<----------- GALERIE PHOTOS ----------->
var i_page_photos = 1;

function photosSuivantes(total_pages_photos) {

    if(!in_progress && i_page_photos < total_pages_photos) {
        in_progress = true;
        i_page_photos++;

        new Effect.Move($('miniatures'), { x: 0, y: -503, mode: 'relative', duration: 0.7, afterFinish: function() { in_progress = false; } });
    }
    return false;
}

function photosPrecedentes() {

    if(!in_progress && i_page_photos > 1) {
        in_progress = true;
        new Effect.Move($('miniatures'), { x: 0, y: 503, mode: 'relative', duration: 0.7, afterFinish: function() { in_progress = false; } });
        i_page_photos--;
    }
    return false;
}

var i_photo = 0;

function photoSuivante(total_photos) {

    if(i_photo+1 < total_photos) {
        i_photo++;
        $('photo').src = photos_arr[i_photo];
        $('titre').update(titres_arr[i_photo]);
        $('description_txt').update(descriptions_arr[i_photo]);
        
    }
    return false;
}

function photoPrecedente() {

    if(i_photo > 0) {
        i_photo--;
        $('photo').src = photos_arr[i_photo];
        $('titre').update(titres_arr[i_photo]);
        $('description_txt').update(descriptions_arr[i_photo]);
    }
    return false;
}

function affichePhoto(i) {
    $('photo').src = photos_arr[i];
    $('titre').update(titres_arr[i]);
    $('description_txt').update(descriptions_arr[i]);
    i_photo = i;
    return false;
}
//<-------------------------------------->

//<---------- COMMANDE EXPRESS ---------->
function changeQuantite(id_case, value, stock) {
    
    if(value > stock || stock == 0) {
        $('case-'+ id_case).removeClassName('cercle-vert');
        $('case-'+ id_case).addClassName('cercle-rouge');
    } else {
        $('case-'+ id_case).removeClassName('cercle-rouge');
        $('case-'+ id_case).addClassName('cercle-vert');
    }
    
    if(value > 0) $('case-'+ id_case).addClassName('bg-gris');
    else  $('case-'+ id_case).removeClassName('bg-gris');
}

function initQuantite(id_case, value) {
    if(isNaN(value) || value == '') $('q-'+ id_case).value = 0;
}
//<-------------------------------------->

//<------------ INSCRIPTION ------------->
function verifForm(from) {

    var erreur = false;

    if(from == 'particulier') {
        if(     !$('nom').present()
            ||  !$('prenom').present()
            ||  !$('email').present()
            ||  !$('telephone').present()
            ||  !$('adresse_livraison').present()
            ||  $F('pays_livraison') == 0
            ||  !$('cp_livraison').present()
            ||  !$('ville_livraison').present()
        ) { erreur = "Vous devez remplir tous les champs obligatoires";}

        else if(!$('accepte').checked) {
            erreur = "Vous devez accepter les conditions de confidentialité";
        }
        
    } else if(from == 'revendeur') {
        if(     !$('nom_entreprise').present()
            ||  !$('nom_gerant').present()
            ||  !$('telephone').present()
            ||  !$('email').present()
            ||  !$('adresse_livraison').present()
            ||  $F('pays_livraison') == 0
            ||  !$('cp_livraison').present()
            ||  !$('ville_livraison').present()
            ||  !$('num_tva').present()
            ||  !$('superficie').present()
            ||  !$('siret').present()
            ||  !$('nb_employes').present()
            ||  !$('ca_annuel').present()
            ||  !$('marques').present()
            ||  !$('date_creation').present()
        ) { erreur = "Vous devez remplir tous les champs obligatoires";}

        else if($F('password') != $F('password2')) {
            erreur = "Les deux mots de passe que vous avez tapés ne sont pas identiques";
        }
    }

    if(erreur) alert(erreur);
    return !erreur;
}
//<-------------------------------------->