function GetParam(name)
{
	var start=location.search.indexOf("?"+name+"=" );
	 if (start<0) start=location.search.indexOf("&"+name+"=" );
	 if (start<0) return '';
	 start += name.length+2;
	 var end=location.search.indexOf("&",start)-1;
	 if (end<0) end=location.search.length;
	 var result='';
	 for(var i=start;i<=end;i++) {
		var c=location.search.charAt(i);
		result=result+(c=='+'?' ':c);
	 }
	 return unescape(result);
}



function RunFlash(fichier,largeur,hauteur){

    var_get = "?action="+GetParam("action");
    if ( GetParam("ssmenu") !="") {
	var_get += "&ssmenu="+GetParam("ssmenu");
    }
    else var_get += "&ssmenu=false"
    var_get += "&categorie="+GetParam("categorie");
    document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+largeur+'" height="'+hauteur+'">\n');
    document.write('<param name="movie" value="'+fichier+var_get+'" />\n');
	document.write('<param name="quality" value="high" />\n');
	document.write('<param name="wmode" value="transparent" />\n');
	document.write('<embed wmode="transparent" src="'+fichier+var_get+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"  width="'+largeur+'" height="'+hauteur+'"></embed>\n');
    document.write('</object>\n');
    //confirm('fonction execute');
}


function PopupImage(img,comm) {
titre="Agrandissement";
w=open("",'image','width=400,height=400,toolbar=no,scrollbars=no,resizable=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+10,document.images[0].height+30); window.focus();} else { setTimeout('checksize()',250) } }</"+"SCRIPT>");
w.document.write("<BODY onload='checksize()' onclick='window.close()' onblur='window.close()' 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 title="'+comm+'" alt="'+comm+'">');
w.document.write("</TD></TR></TABLE>");
w.document.write("</BODY></HTML>");
w.document.close();
}

function openFixPopup(lien,width,height)
{
	window.open (lien, 'popup', config='height='+ height +', width='+ width +', toolbar=no, menubar=no, scrollbars=no, resizable=no, location=0, directories=0, status=no');
}

function masque(id) {
	document.getElementById(id).style.display='none';
}

function montre(id) {
	document.getElementById(id).style.display='block';
}


function validForm(nomform,array) {

	msg_alerte = false;
	for (var i=0; i<array.length; i++) {
		var valeur = array[i];
		//alert(valeur);
		 if (document.forms[nomform].elements[valeur].value.length == 0) {
			document.forms[nomform].elements[valeur].className="champsincomplet";
			msg_alerte = true;
		 }
		 else document.forms[nomform].elements[valeur].className="";
	}


	if (msg_alerte == true) {
		alert("Les champs de saisie sur fond rouge sont incomplets");
		return false;
	}

	else {

		montre('chargement');
		masque('debug');
		return true;
	}
}

function masque(elem) {

	// Quel est l'état actuel ?
	etat=document.getElementById(elem).style.display;
	if(etat=="none"){document.getElementById(elem).style.display="block";}
	else{document.getElementById(elem).style.display="none";}
}

function change_image(chemin)
{
	//document.fiche_image.src = chemin
	document.getElementById('fiche_image').src = chemin;
}

function changerImage(img, src, maxWidth, maxHeight)
{
	if ( typeof(global_href)!= 'undefined' && global_href == src) return false;
 	$(img).setStyle('opacity', 0);
	var fx_opacity_image =new Fx.Style(img, 'opacity', {
		  duration: 500,
		  wait: true,
		  transition: Fx.Transitions.linear,
		  unit: ''
	});

   var image = new Image();

   image.onerror = function()
   {
      alert("Erreur lors du chargement de l'image");
   }

   image.onabort = function()
   {
      alert("Chargement interrompu");
   }

   // une fois l'image chargée :
   image.onload = function()
   {
      // si l'image est désignée par son id
      if(typeof img == "string")
         img = document.getElementById(img);

      // si l'image doit être redimensionnée
      var reduction = 1;
      if(maxWidth && maxHeight)
         if(image.width > maxWidth || image.height > maxHeight)
            reduction = Math.max(image.width/maxWidth, image.height/maxHeight);

	if (image.width < maxWidth ){
		difference = maxWidth-image.width;
		padding_left = difference/2;
	}
	else padding_left=0;
      // on affiche l'image
      img.src = image.src;
      img.width = image.width;
      img.style.margin = "0px "+padding_left+"px";
      //img.width = Math.round(image.width / reduction);
      //img.height = Math.round(image.height / reduction);
      fx_opacity_image.start(0,1);
   }
	global_href = src;
   image.src = src;
}

//scrollbar sur un element
function makeScrollbar(content,scrollbar,handle,horizontal,ignoreMouse){
	if(content.getSize().scrollSize.y - content.getSize().size.y>0){
				$(scrollbar).setStyle('display', 'block');
				//$(handle).setStyle('display', 'none');
				//document.write('dimensionscroll'+content.getSize().scrollSize.y );
				//var steps = (horizontal?(content.getScrollSize().x - content.getSize().x):(content.getScrollSize().y - content.getSize().y))
				var slider = new Slider(scrollbar, handle, {
					steps: content.getSize().scrollSize.y - content.getSize().size.y,
					mode: 'vertical',
					onChange: function(step){
						// Scrolls the content element in x or y direction.
						var x = (horizontal?step:0);
						var y = (horizontal?0:step);
						content.scrollTo(x,y);
					}
				}).set(0);
				if( !(ignoreMouse) ){
					// Scroll the content element when the mousewheel is used within the
					// content or the scrollbar element.
					$$(content, scrollbar).addEvent('mousewheel', function(e){
						e = new Event(e).stop();
						var step = slider.step - e.wheel * 30;
						slider.set(step);
					});
				}
				// Stops the handle dragging process when the mouse leaves the document body.
				//$(document.body).addEvent('mouseleave',function(){slider.drag.stop()});
	}//fin if
	var ancre = parseInt(GetParam("ancre"));
	//document.write(ancre);
	if(!isNaN(ancre)) slider.set(ancre);
}

//scrollbar sur un element horizontal
function makeScrollbarHorizontal(content,scrollbar,handle,horizontal,ignoreMouse){
	var x = 0;
	var y = 0;
	var position = 0;
	//var fx_scroll = new Fx.Scroll(content,{link:'cancel'});
	if(content.getScrollSize().x - content.getSize().x>0){
				$(scrollbar).setStyle('display', 'block');
				//$(handle).setStyle('display', 'none');
				//document.write('dimensionscroll'+content.getSize().scrollSize.y );
				//var steps = (horizontal?(content.getScrollSize().x - content.getSize().x):(content.getScrollSize().y - content.getSize().y))
				var slider = new Slider(scrollbar, handle, {
					steps: content.getScrollSize().x - content.getSize().x,
					mode: 'horizontal',
					onChange: function(step){
						// Scrolls the content element in x or y direction.
						 y = (horizontal?step:0);
						 x = (horizontal?0:step);
						//content.scrollTo(x,y);
						//fx_scroll.start(x,y);
					}
				}).set(0);

				//mobile
					//Test iphone
				var start_step = 0;
				var start_finger = 0;
				$(document).addEvent("touchstart", function(event) {
					  var touch = event.touches[0]; // Get the information for finger #1
					  //alert(touch.pageX);
					  start_step = slider.step;
					  start_finger = touch.pageX;
					  //slider.set(mobile_step);
				});

				$(document).addEvent("touchmove", function(event) {
					  event.preventDefault();
					  var touch = event.touches[0]; // Get the information for finger #1
					  var step = 0;
					  step = start_step + (start_finger - touch.pageX)*2;
					  slider.set(step);
					  //start_step = touch.pageX;
					  //alert('step = ' + step);

					  //alert("touche end detecté!");
					 // var step = 0;
					/*  if ( star_step > touch.pageX ) {
					  	alert('condition executé!');
					  	step = slider.step - Math.abs(star_step- touch.pageX);
					  }//else {
					 // 	alert('right');
					  	//step = slider.step + Math.abs(star_step- touch.pageX);
					//  }
					  //mobile_step =  slider_step + touch.pageX;
					  //var step = ;
					  step = slider.step - Math.abs(star_step- touch.pageX);
					  slider.set(step);
					  start_step = touch.pageX;*/
				});

				if( !(ignoreMouse) ){
					// Scroll the content element when the mousewheel is used within the
					// content or the scrollbar element.
					$$(content, scrollbar).addEvent('mousewheel', function(e){
						//alert("alert e wheel" + e.wheel);
						var step = slider.step - e.wheel * 120;
						slider.set(step);
					});

					window.addEvent('keydown', function(e){

						//alert("clef= " + e.key);
						if (e.key == "right") slider.set(slider.step + 150);
						if (e.key == "left") slider.set(slider.step - 150);
						//alert("alert!");
						//alert("clef= " + e.key);
						/*e = new Event(e).stop();
						var step = slider.step - e.wheel * 120;
						slider.set(step);*/
					});


				}
				// Stops the handle dragging process when the mouse leaves the document body.
				//$(document.body).addEvent('mouseleave',function(){slider.drag.stop()});
	}//fin if

	var deplacement = ( function(){
			var position_actuel = content.getScroll().x;
			position += (x.toInt()-position_actuel.toInt())/10;
			var difference = Math.abs(position_actuel.toInt()-x.toInt());
			if (difference > 0) {
			 	content.scrollTo(position.toInt(),0);
				//$('info').set('html','position executée!'+position);
			}
			//else $('info').set('html','position non executée...'+position);
		}).periodical(5);

	var ancre = parseInt(GetParam("ancre"));
	//document.write(ancre);
	if(!isNaN(ancre)) slider.set(ancre);
}

//scroll horizontal sans slider visible
function scrollHorizontal(div,el_repete,el_conteneur_repete,ajustement,alignement_defaut) {
		//gestion de la superposition  horiztonal des blocs
		var els_repetes = $$(el_repete);
		var largeur_total = 0;
		var float_position;
		els_repetes.each(function(el,i){
			largeur_total += el.getSize().size.x;
			//prise en condiseration des margin possibles
			largeur_total += el.getStyle('margin-left').toInt()+el.getStyle('margin-right').toInt();
			//float_position = el.getStyle('float'); marche pas sous IE..
		});
		//document.write('float position :'+float_position);
		//prise en consideration des pâdding possible du div contenant les elements repétes
		largeur_total += $(el_conteneur_repete).getStyle('padding-left').toInt()+$(el_conteneur_repete).getStyle('padding-right').toInt();
		largeur_total += ajustement;
		//on defini une nouvelle largeur uniquement si le contenu est plus large que le contenant
		if (largeur_total>$(div).getSize().size.x) $(el_conteneur_repete).setStyle('width',largeur_total+'px');

		//gestion du defilement
		var scrollMax = $(div).getSize().scrollSize.x - $(div).getSize().size.x;
		if(scrollMax>0) {
			//silaposition des box qui se repete a float right on aligne le scroll  droite
			if(alignement_defaut=='right') $(div).scrollTo(scrollMax,0);
			$(div).addEvent('mousemove', function(e){
				var e = new Event(e).stop();
				var mouseX =  e.client.x-$(div).getLeft();
				var mouseY =  e.client.y-$(div).getTop();
				scrollX = mouseX*scrollMax/$(div).getSize().size.x;
				$(div).scrollTo(scrollX.toInt(),0);
			});//fin mousemove
		}//fin if
}

function intro(string_elements,delay,vitesse){
var x= new Chain();
	var divz = $$(string_elements);
	//divz = shuffle(divz);
	//var divz = $$("body *");
		divz.each(function(div, i) {
			//li.fade('hide');
			//mot_principal= li.getElement('H3');
			if( !div.hasClass("no_effet") && div.getStyle('opacity').toInt() > 0 ) {
				var opacite = div.getStyle('opacity').toInt();
				div.setStyle("opacity",0);
				//description.fade('hide');
				var Fx1 = new Fx.Morph(div, {duration:vitesse, transition: Fx.Transitions.Sine.easeIn,wait:false});
				window['effet'+i]= function(){
					Fx1.start({
						//'padding':['50px','0px'],
						//'font-size':['0px','20px'],
						'opacity':[0,opacite]
					});
				};
				x.chain(window['effet'+i]);
				x.callChain.delay((i*delay), x);
			}//fin if
			//gestion description
			//gestionDesMotclefs(mot_principal,description);

		});//fin boucle each
}

//class progressbar
var dwProgressBar = new Class({

	//implements
	Implements: [Options],

	//options
	options: {
		container: $$('body')[0],
		boxID:'',
		percentageID:'',
		displayID:'',
		startPercentage: 0,
		displayText: false,
		speed:10
	},

	//initialization
	initialize: function(options) {
		//set options
		this.setOptions(options);
		//create elements
		this.createElements();
	},

	//creates the box and percentage elements
	createElements: function() {
		var box = new Element('div', { id:this.options.boxID });
		var perc = new Element('div', { id:this.options.percentageID, 'style':'width:0px;' });
		perc.inject(box);
		box.inject(this.options.container);
		if(this.options.displayText) {
			var text = new Element('div', { id:this.options.displayID });
			text.inject(this.options.container);
		}
		this.set(this.options.startPercentage);
	},

	//calculates width in pixels from percentage
	calculate: function(percentage) {
		return ($(this.options.boxID).getStyle('width').replace('px','') * (percentage / 100)).toInt();
	},

	//animates the change in percentage
	animate: function(to) {
		$(this.options.percentageID).set('morph', { duration: this.options.speed, link:'cancel' }).morph({width:this.calculate(to.toInt())});
		if(this.options.displayText) {
			$(this.options.displayID).set('text', to.toInt() + '%');
		}
	},

	//sets the percentage from its current state to desired percentage
	set: function(to) {
		this.animate(to);
	}

});

function ie6Detecteur() {
	//alert(Browser.name);
	if	(Browser.ie6 || Browser.ie7 || Browser.firefox1 || Browser.firefox2 || (Browser.firefox3 && Browser.version != "3.6") || Browser.safari1 || Browser.safari2 || Browser.safari3) {
		var html = '<img style="float:left;padding:10px;padding-top:12px;padding-right:20px;z-index:10000;" src="http://www.studiomilk.fr/logo_browser/warning.jpg" />';
		html += 'Votre navigateur est obsoléte et n\'est plus pris en charge. Ce site ne peut donc pas s\'afficher correctement.<br />';
		html += 'Veuillez utiliser un navigateur plus récent : <br /><br />';
		html += '<a href="http://www.mozilla.com/fr/" target="blank"><img src="http://www.studiomilk.fr/logo_browser/firefox.jpg"></a> ';
		html += '<a href="http://www.microsoft.com/france/windows/internet-explorer/" target="blank"><img src="http://www.studiomilk.fr/logo_browser/ie.jpg"></a> ';
		html += '<a href="http://www.google.fr/chrome/" target="blank"><img src="http://www.studiomilk.fr/logo_browser/chrome.jpg"></a> ';
		html += '<a href="http://www.apple.com/fr/safari/" target="blank"><img src="http://www.studiomilk.fr/logo_browser/safari.jpg"></a> ';
		html += '<a href="http://www.opera.com/browser/" target="blank"><img src="http://www.studiomilk.fr/logo_browser/opera.jpg"></a>';
		var new_div = new Element('div');
		var bouton = new Element('div');

		bouton.set('html','<img src="http://www.studiomilk.fr/logo_browser/fermer.png" />');
		bouton.setStyles({float:"right","padding-right":"10px","cursor": "pointer"});
		new_div.set('html',html);
		new_div.set('id',"warning_navigateur");
		new_div.setStyles({"background-color":"#333333","left":0,"color":"#FFFFFF","font-family":"Arial",fontSize:'15px',"font-weight":'bold',"z-index":1000,"position":"absolute",width:"100%","padding-bottom":"5px","padding-top":"10px"});

		bouton.inject(new_div,'top');
		new_div.inject( $(document.body),'top');

		bouton.addEvent("click",function(){
			new_div.destroy();
		});
	}
}

//scroll bar juste au survol sur un element
function makeMouseScroll(content){

		position = 0;
		scrollY = 0;
		content.addEvent('mousemove', function(e){
				//largeuraffiche = window.getSize().x;
				hauteur_affiche = content.getSize().y;
				//encore et toujours  pour beug moteur safari..
				//page= $(document.body).scrollWidth;
				//if (page == largeuraffiche)page=$(window).getScrollSize().x;

				//page=$(document.body).getScrollWidth();
				scrollMax = content.getScrollSize().y-hauteur_affiche;
				var e = new Event(e).stop();
				//var mouseX =  e.client.x;
				//var mouseY =  e.client.y-250;
				var mouseX =  e.client.x - - content.getPosition().x;
       		    var mouseY =  e.client.y - content.getPosition().y;

				scrollY= mouseY*scrollMax/hauteur_affiche;

				//alert(mouseY + "mousemove detecté!" + scrollY + " & " + scrollMax + " & " + hauteur_affiche);
				//content.scrollTo(0,scrollY.toInt()-290);
				//alert("scrolly= " + scrollY);
				//alert('largeur_affiche='+largeuraffiche+' page='+page+"mousex="+mouseX+"scrollmax="+scrollMax+"scrollx="+scrollX);
		});//fin mousemove

		var deplacement = ( function(){
			var position_actuel = content.getScroll().y;
			position += (scrollY.toInt()-position_actuel.toInt())/10;
			var difference = Math.abs(position_actuel.toInt()-scrollY.toInt());
			//if (difference > 0) {
			 	content.scrollTo(0,position.toInt());
				//$('info').set('html','position executée!'+position);
			//}
			//else $('info').set('html','position non executée...'+position);
		}).periodical(20);
}
