/**
 * Script client commun à toutes les pages du site
 */

// Fonctions Standard Macromedia Dreamweaver
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_validateForm() { //v3.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) {
  	test=args[i+2];
  	val=MM_findObj(args[i]);
    	if (val) {
    		nm=val.name;
			//alert(nm);
    		if (val.options){
    			if (val.options[val.selectedIndex].value=="")
    				errors+='- Vous devez choisir une valeur dans la boite de sélection '+nm+'.\n';
    		}else{
				if ((val=val.value)!="") {
					if (test.indexOf('isEmail')!=-1) {
						p=val.indexOf('@');
						if (p<1 || p==(val.length-1))
							errors+='- Le champ '+nm+' doit contenir une adresse mail valide.\n';
					} else if (test!='R') {
						num = parseFloat(val);
						if (val!=''+num)
							errors+='- Le champ '+nm+' doit contenir une valeur numérique.\n';
						if (test.indexOf('inRange') != -1) {
							p=test.indexOf(':');
							min=test.substring(8,p); max=test.substring(p+1);
							if (num<min || max<num)
							errors+='- Le champ '+nm+' doit contenir une valeur numérique comprise entre '+min+' et '+max+'.\n';
						}
					}
				} else if (test.charAt(0) == 'R')
					errors += '- Le champ '+nm+' est obligatoire.\n';
			}
    	}
  }
  if (errors)
  	alert('Le formulaire n\' a pas pu être validé pour les raisons suivantes :\n'+errors);
  document.MM_returnValue = (errors == '');
}

// Menu récursif
var Menu = new Class({
	initialize: function(menu){
		var items = menu.getChildren('li');
		var links = items.getChildren('span').flatten();
		var submenus = items.getChildren('ul').flatten();
		var height = menu.getStyle("height");
		if (submenus.length > 0){
			var accordion = new Accordion(links,submenus,{
				duration:300,
				onActive:function(e){
					e.getNext("ul").setStyles({
						overflow:'hidden',
						height:'0px'
					});
				},
				onComplete:function(e){
					e.getParent().getParent().setStyles({
						overflow:'visible',
						height:'auto'
					});
				}
			});
			accordion.display(-1);
			links.each(function(link,i){
				link.addEvent('mouseenter', function(){
					link.getElement('a').addClass('hover');
					accordion.display(i);
				});
			});
			items.each(function(i){
				i.addEvent('mouseleave', function(){
					links.each(function(l){
						l.getElement('a').removeClass('hover');
					});
					accordion.display(-1);
				});
			});
			submenus.each(function(submenu){
				new Menu(submenu);
			});
		}
	}
});
// Pulsation
var Pulse = function(element,from, to){
	element.fade(to);
	setTimeout(function(){
		Pulse(element, to, from);
	},500);
}
// Initialisation de la page
window.addEvent('domready',function(){
	// Menu
	new Menu($('menu'));
	// Animations Flash
	$$('.flash').each(function(flash){
		new Swiff('/swf/'+flash.id+'.swf', {
			container : flash.id,
			width: flash.getStyle('width'),
			height: flash.getStyle('height'),
			params: {
				wmode: 'transparent',
				menu: 'false'
			}
		});
	});
	// Initialisation des liens sur le rubriques
	$$("div.rubrique").addEvents({
		mouseover : function(){this.addClass('survol');},
		mouseout : function(){this.removeClass('survol');},
		click : function(){location.href = this.getElement('a').href;}
	});
	// Affecte les lignes paires des tableaux riches
	$$("table.riche tr:nth-child(even)").addClass('pair');
	// Les éléments les plus importants sont pulsés
	$$('.important').each(function(important){
		Pulse(important,0.5,1);
	});
});
