var myZoom;
var accordion;

var debug = function(msg) {

  if(typeof console !='undefined' ) { console.warn(msg); } else { alert(msg.message); }
 
}

function init(o) {
	
	// -------- ZOOM PHOTOS --------
	
	if(document.getElementById("zoom")) {
		$('zoom').style.display = 'block';
		myZoom = new Fx.Slide('zoom', {height: true, opacity: true, duration: 500});
		myZoom.hide();
	}
	
	if(document.getElementById("select")) {
		zoom = document.getElementsByClassName('zoom');
		for(i=0; i<zoom.length; i++) {
			zoom[i].onmouseover = function() { document.getElementById("galerie").style.backgroundImage = "url('"+this.href+"')"; }
			zoom[i].onclick = function() { return false; }
		}
	}
	
	accordion = new Accordion('h2.menutitre', 'ul.stretcher', { opacity: false, duration: 300,
			onActive:function(toggler, element){ element.setStyle("display", "block"); },
			onBackground:function(toggler, element){ element.setStyle("display", "none"); }
	}, $('accordion'));
	accordion.display (-1);
	setTimeout(function(){
		( o==-1 ) ? accordion.display () : accordion.display (o);
	}, 10);
	
	// -------- FLASH INFOS --------
	
	try {
		window.addEvent('domready', function(){
	    $('flash_infos').innerHTML = '<marquee behavior="scroll" direction="up" scrollamount="1" scrolldelay="1" onMouseOver="this.stop()" onMouseOut="this.start()">'+($('flash_infos').innerHTML)+'</marquee>';
	    $('flash_infos').setStyles({'visibility':'visible'});
    });
	} catch(e) { /* Pas de flash infos... */}

	// -------- FIN INIT --------
	
}

function zoom() {
	myZoom.toggle();
}

function open_next(id) {
	document.getElementById(id).style.display = '';
    accordion.display(-1);
	setTimeout(function(){ accordion.display(parentId); }, 10);	
}

function addToFavorites() {
	if (document.all) { window.external.AddFavorite(location.href, document.title); }
	else { alert("Votre navigateur n'autorise pas l'ajout direct de signets.\n"
	            +"Pour ce faire, faites 'Control + D' pour l'ajouter ou utilisez le menu marque-pages."); }
}

function retour() {
	history.go(-1);	
}

function OpenWin(URL,width,height,nom) {
	window.open(URL,nom,"toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,width=" + width + ",height=" + height + ",resizable=no");
}

function OpenWin2(URL,width,height,nom) {
	window.open(URL,nom,"toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,width=" + width + ",height=" + height + ",resizable=yes");
}

function DisplayZoomPopUp(url) {
	window.open(url,'Zoom','height=500,width=500,left=0,top=0,scrollbars=yes');
}

function qte_moins(champ) {
	champ2 = champ + "_2";
	qte = document.getElementById(champ).value;
	document.getElementById(champ).value = Number(qte) - 1;
	document.getElementById(champ2).value = Number(qte) - 1;
	frmsubmit('recalc');
}

function qte_plus(champ) {
	champ2 = champ + "_2";
	qte = document.getElementById(champ).value;
	document.getElementById(champ).value = Number(qte) + 1;
	document.getElementById(champ2).value = Number(qte) + 1;
	frmsubmit('recalc');
}

function frmsubmit(func) {
	frm = document.entryform;
	frm.func.value = func;
	frm.submit();
}

var requete = null;

function creerRequete() {
    try {
        requete = new XMLHttpRequest();
    } catch (microsoft) {
        try {
            requete = new ActiveXObject('Msxml2.XMLHTTP');
        }
        catch(autremicrosoft) {
            try {
                requete = new ActiveXObject('Microsoft.XMLHTTP');
            } catch(echec) {
                requete = null;
            }
        }
    }
    if(requete == null) {
        alert('Impossible de créer l\'objet requête,\nVotre navigateur ne semble pas supporter les object XMLHttpRequest.');
    }
}

function page(catid, open_id) {
	creerRequete();
	var url = 'scripts/page.php?id='+catid+'&open='+open_id;
	requete.open('GET', url, true);
	
	requete.onreadystatechange = function() {
		if(requete.readyState == 4) {
			if(requete.status == 200) {
				document.getElementById('page').innerHTML = requete.responseText;
				new Milkbox({
				  initialWidth : 10,
				  initialHeight: 10,
				  resizeTransition: Fx.Transitions.Back.easeOut
				});
			}
		}
	};
	
	requete.send(null);
}

function vote(idProd, note) {
	creerRequete();
	var url = 'scripts/vote.php?id_produit='+idProd+'&note='+note;
	requete.open('GET', url, true);
	
	requete.onreadystatechange = function() {
		if(requete.readyState == 4) {
			if(requete.status == 200) {
				document.getElementById('module_vote').innerHTML = requete.responseText;
				Lightbox.init();
			}
		}
	};
	requete.send(null);
}

function vide(vdefault, champ){
	if(champ.value==vdefault){
		champ.value='';
	}
}

function zoomGalerie(src, width, height, texte){
    var div = $('div_zoom_galerie');
    var div2 = $('div_zoom_galerie_contenu');
    var img = div2.getElementsByTagName('canvas')[0];
    
    if(div!=null){
        
        div.style.width=document.width+'px'; 
        div.style.height=document.height+'px';
        div.style.visibility='visible';
        div.style.backgroundColor='#000';
        div.style.zIndex = '999';
        change_opacity('div_zoom_galerie', 0.1, 0.6, '+');
        
        div2.style.visibility='visible';
        div2.style.zIndex = '1000';
        change_opacity('div_zoom_galerie_contenu', 0.1, 1, '+');
        div2.style.top = Math.ceil(parseInt(window.innerHeight)/2) + 'px';
        div2.style.left= Math.ceil(parseInt(window.innerWidth)/2)-Math.ceil(width/2) + 'px';
        
        if(texte!=''){
            div2.innerHTML = '<p style="width:'+width+'px">'+texte+'</p>' + div2.innerHTML;
        }
        div2.innerHTML = '<img src="' + src + '" />' + div2.innerHTML;
    }
    return true;
}

function change_opacity(id, depart, arriver, sens){
    if(sens == '-' || sens == '-1')
        var arriver_test = depart>parseFloat(arriver)-0.1
    else
        var arriver_test = depart<parseFloat(arriver)+0.1
        
    if(arriver_test){
        $(id).style.opacity = depart;
        if(sens == '-' || sens == '-1')
            suivant = parseFloat(depart-0.1);
        else
            suivant = parseFloat(depart+0.1);
            
        setTimeout('change_opacity("'+id+'", '+suivant+', '+arriver+', "'+sens+'")', 10)
    }
    else{
        if(arriver==0){
            
            $(id).style.visibility='hidden';
        }
    }
}

function fermer_zoom_galerie(){
    var div = $('div_zoom_galerie_contenu');
    var img = div.getElementsByTagName('img')[0];
    var p = div.getElementsByTagName('p')[0];
    div.style.visibility='hidden';
    
    change_opacity('div_zoom_galerie_contenu', 1, 0, '-');
    
    var anciennoeud = div.removeChild(img);
    
    if(p!=null){
        var anciennoeud = div.removeChild(p);
    }
    
    change_opacity('div_zoom_galerie', 0.6, 0, '-');   
    
    return true;
}

// ------------------------------------------------------------------------------------------------

var qtemoin = function(el){
	var input = eval(el);
	
	if(parseInt(input.value)>1){
		input.value = parseInt(input.value) - 1;
	}
}

var qteplus = function(el){
    var input = eval(el);
    
	input.value = parseInt(input.value) + 1;
}

var imgSelect = {
	
	verrou : false,
	imgSize : 181,
	myFx : null,
	
	ScrollDroit : function(scr){
		if(imgSelect.verrou){ return(true);}
		
		var scroller = $(scr);
		var limit = (($$('#'+scr+' img').length)*imgSelect.imgSize )-(3*imgSelect.imgSize);
		var pos = ( scroller.getScrollLeft() >= limit ) ? 0 : scroller.getScrollLeft()+imgSelect.imgSize;
		
		if (pos == limit) { pos = 0; }
		
		/*console.log('scrollLeft = '+scroller.getScrollLeft()+', pos = '+pos+', limit = '+limit);*/
		
		var myFx = new Fx.Scroll(scroller, {
						wait: false
						, duration: 500
						, transition: Fx.Transitions.Circ.easeInOut
						, onComplete : function() {
						imgSelect.DeverrouillerScroll();
						}
					});
					
		myFx.start(pos,0);
		imgSelect.VerrouillerScroll();
	},
	
	ScrollGauche : function(scr){
		if(imgSelect.verrou){ return(true);}
		
		var scroller = $(scr);
		var limit = (($$('#'+scr+' img').length)*imgSelect.imgSize )-(3*imgSelect.imgSize);
		var pos = ( scroller.getScrollLeft() <= 0 ) ? limit : scroller.getScrollLeft()-imgSelect.imgSize;
		
		/*console.log('scrollLeft = '+scroller.getScrollLeft()+', pos = '+pos+', limit = '+limit);*/
		
		var myFx = new Fx.Scroll(scroller, {
						wait: false
						, duration: 500
						, transition: Fx.Transitions.Circ.easeInOut
						, onComplete : function() {
						imgSelect.DeverrouillerScroll();
						}
					});
					
		myFx.start(pos,0);
		imgSelect.VerrouillerScroll();
	},
	
	VerrouillerScroll : function(){
		imgSelect.verrou = true;
	},
	
	DeverrouillerScroll : function(){
		imgSelect.verrou = false;
	}	
	
}// JavaScript Document

var AntiRobotUpdate = function() { $('AntiRobotImage').src = 'captcha.jpeg?v='+((new Date).getTime()); }

// ------------------------------------------------------------------------------------------------



/*************************/
/*                       */
/* DIAPORAMA AUTOMATIQUE */
/*                       */
/*************************/

Element.implement({

 fadeTo : function( amount, whenFinished, duration ) {
   if(typeof whenFinished != 'function') {
	 whenFinished = function() {}   
   }
   this.setStyle('visibility','visible');
   /*
   this.effect('opacity', {
      transition : new Fx.Transition(Fx.Transitions.Quad.easeOut, 6).easeOut 
    , duration : ( (duration!=null && duration>0) ? duration : 1000 )
    , onComplete : function() { 
	    if(amount==0) this.element.setStyle('visibility','hidden');
	    this.whenFinished.bind(this.element)();
	  }.bind({whenFinished:whenFinished,element:this})
   }).start(this.getOpacity(),amount);
   */
   effect = new Fx.Tween(this)
   effect.addEvent('complete',function() {
     if(amount==0) this.element.setStyle('visibility','hidden');
     this.whenFinished.bind(this.element)();
   }.bind({whenFinished:whenFinished,element:this}));
   effect.start('opacity', amount);
   return this;
 }
		
});

var currentPhoto = 0;
var photos = [];
var gid;

window.addEvent('load', function() {
  photos = $$('#diaporama img');
  var i = 0;
  photos.each(function(myEl){
	  if(i!=currentPhoto) { 
		myEl.setOpacity(0); 
	  } else {
		myEl.setOpacity(1);  
	  }
	  i++; 
  });
  gid = setInterval(function(){
	if(currentPhoto>=photos.length-1) {	
	  myImg = photos[0];
	  currentPhoto = 0;
	} else {
	  myImg = photos[currentPhoto];
	  currentPhoto++; 
	}
	
	i = 0;
	photos[currentPhoto];
	photos.each(function(myEl){
	  if(i!=currentPhoto) { 
		myEl.fadeTo(0); 
	  } else {
		myEl.fadeTo(1);  
	  }
	  i++; 
	});
  },3000);
});