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);
});

/************************************************/
/*							 								 								*/
/*							 Achat en ligne 								*/
/*							 								 								*/
/************************************************/

var currentProd = '';

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

var selectProd = function (id){
	/* on mets les champs caché à jour */
	if (currentProd != '') {
		$(currentProd).removeClass('imgproduitSelect');
	}
	currentProd = 'prod_'+id;
	$(currentProd).addClass('imgproduitSelect');
	document.forms["ajout_form"].elements["id"].value = id;
	
	/* on active le bouton 'Etape suivante' */
	$('validProd').addClass('validOk');
	$('validProd').addEvent('click', soumettre_form);
	
	/* on recupere les infos du produits pour initialiser les champs */
	creerRequete();
	var url = 'scripts/produit.php?etape=2&idProd='+id;
	requete.open('GET', url, true);
	
	requete.onreadystatechange = function() {
		if(requete.readyState == 4) {
			if(requete.status == 200) {
				document.getElementById('etape2').innerHTML = requete.responseText;
				new Milkbox({
				  initialWidth : 10,
				  initialHeight: 10,
				  resizeTransition: Fx.Transitions.Back.easeOut
				});
			}
		}
	};
	requete.send(null);
}

var soumettre_form = function(){
	this.form.submit();
}

var endEtape1 = function(){
	/* on change l'etape affichée */
	$('etape1').setStyle('display', 'none');
	$('etape2').setStyle('display', 'block');
	$('liste-etape').setStyle('background', 'url('+wwwroot+'/images/etape-2.jpg)');
	
	/* on mets les boutons à jour */
	$('etape1Btn').removeClass('etapeActu');
	$('etape2Btn').addClass('etapeOk');
	$('etape2Btn').addClass('etapeActu');
	$('etape2Btn').href = "javascript:goEtape(2)";
}

var endEtape2 = function(){
	
	/* on change l'etape affichée */
	$('etape1').setStyle('display', 'none');
	$('etape2').setStyle('display', 'none');
	$('etape3').setStyle('display', 'block');
	$('liste-etape').setStyle('background', 'url('+wwwroot+'/images/etape-3.jpg)');
	
	/* on mets les boutons à jour */
	$('etape2Btn').removeClass('etapeActu');
	$('etape3Btn').addClass('etapeOk');
	$('etape3Btn').addClass('etapeActu');
	$('etape3Btn').href = "javascript:goEtape(3)";
}

var ajouterProd = function(){
	document.forms['ajout_form'].submit();
}

var goEtape = function (etape){
	switch (etape){
		case 1:
		/* on change l'etape affichée */
		$('etape1').setStyle('display', 'block');
		$('etape2').setStyle('display', 'none');
		$('etape3').setStyle('display', 'none');
		$('liste-etape').setStyle('background', 'url('+wwwroot+'/images/etape-1.jpg)');
		break;
		
		case 2:
		$('etape1').setStyle('display', 'none');
		$('etape2').setStyle('display', 'block');
		$('etape3').setStyle('display', 'none');
		$('liste-etape').setStyle('background', 'url('+wwwroot+'/images/etape-2.jpg)');
		break;
		
		case 3:
		$('etape1').setStyle('display', 'none');
		$('etape2').setStyle('display', 'none');
		$('etape3').setStyle('display', 'block');
		$('liste-etape').setStyle('background', 'url('+wwwroot+'/images/etape-3.jpg)');
		break;
		
		case 4:
		$('etape1').setStyle('display', 'none');
		$('etape2').setStyle('display', 'none');
		$('etape3').setStyle('display', 'none');
		$('liste-etape').setStyle('background', 'url('+wwwroot+'/images/etape-4.jpg)');
		break;
	}
		
	/* on mets les boutons à jour */
	$('etape1Btn').removeClass('etapeActu');
	$('etape2Btn').removeClass('etapeActu');
	$('etape3Btn').removeClass('etapeActu');
	$('etape4Btn').removeClass('etapeActu');
	$('etape'+etape+'Btn').addClass('etapeActu');
}

var verifDimension = function (value, min, max, element){
	if (value != "" && value < min){
		$('span-'+element).innerHTML = 'inférieur au minimum';
		return false;
	} else {
		$('span-'+element).innerHTML = '';
	}
	
	if (value != "" && value > max){
		$('span-'+element).innerHTML = 'supérieur au maximum';
		return false;
	} else {
		$('span-'+element).innerHTML = '';
	}
	
	if (document.forms["ajout_form"].elements["largeur"].value != "" && document.forms["ajout_form"].elements["hauteur"].value != ""){
		largeur = document.forms["ajout_form"].elements["largeur"].value;
		hauteur = document.forms["ajout_form"].elements["hauteur"].value;
	} else {
		if (document.forms["ajout_form"].elements["largeur_fin"].value != "" && document.forms["ajout_form"].elements["hauteur_fin"].value != ""){
			largeur = document.forms["ajout_form"].elements["largeur_fin"].value;
			hauteur = document.forms["ajout_form"].elements["hauteur_fin"].value;
		} else {
			largeur = 0;
			hauteur = 0;
		}
	}
	
	/* on affiche le prix */
	if (largeur != 0 && hauteur != 0){
		creerRequete();
		id = document.forms["ajout_form"].elements["id"].value;
		var url = 'scripts/prixProduit.php?idProd='+id+'&largeur='+largeur+'&hauteur='+hauteur;
		requete.open('GET', url, true);
		
		requete.onreadystatechange = function() {
			if(requete.readyState == 4) {
				if(requete.status == 200) {
					$('affPrix').innerHTML = requete.responseText;
				}
			}
		};
		requete.send(null);
		
		$('validOptions').addClass('validOk');
		$('validOptions').addEvent('click', soumettre_form);
		//$('validOptions').addEvent('click', endEtape2);
	}
}

var addCoordValue = function (value, input){
	if ($(input).value == ''){
		$(input).value = value;
	}
	verifCoord();
}

var verifCoord = function (){
	cpt = 0;
	if ($('client1') != '')
		cpt++;
	if ($('client2') != '')
		cpt++;
	if ($('email1') != '')
		cpt++;
	if ($('email2') != '')
		cpt++;
	if ($('contact1') != '')
		cpt++;
	if ($('contact2') != '')
		cpt++;
	if ($('adresse1') != '')
		cpt++;
	if ($('adresse2') != '')
		cpt++;
	if ($('code_postal1') != '')
		cpt++;
	if ($('code_postal2') != '')
		cpt++;
	if ($('ville1') != '')
		cpt++;
	if ($('ville2') != '')
		cpt++;
}

var calcFdP = function(zip){
	creerRequete();
	var url = 'scripts/fraisDePort.php?zip='+zip;
	requete.open('GET', url, true);
	
	requete.onreadystatechange = function() {
		if(requete.readyState == 4) {
			if(requete.status == 200) {
				$('fraisDePort').innerHTML = requete.responseText;
			}
		}
	};
	
	requete.send(null);
}

var showMessage = function (value){
	switch (value){
		case "1":
		$('message').setStyle('display', 'none');
		break;
		
		case "5":
		$('message').setStyle('display', 'block');
		break;
		
		default:
		break;
	}
}

var showPaiement = function (choice, prix, comID){
	creerRequete();
	var url = 'scripts/paiement.php?type='+choice+'&prix='+prix+'&commandeid='+comID;
	requete.open('GET', url, true);
	
	requete.onreadystatechange = function() {
		if(requete.readyState == 4) {
			if(requete.status == 200) {
				document.getElementById('div-paiement').innerHTML = requete.responseText;
				return false;
			}
		}
	};
	
	requete.send(null);
}