window.addEvent('domready', function(){
	// Suppression de la classe "no-js" et ajout de la classe "js" au body
	document.getElement('body').removeClass('no-js').addClass('js');
	
	var fieldsets = $$('fieldset');
	// Gestion du menu
	$E('#menu ul').getChildren().each(function(child, i){
		if(ul = child.getElement('ul')){
			ul.setOpacity(0);
			var fx = new Fx.Style(ul, 'opacity', {duration: 250, wait: false, transition: Fx.Transitions.Cubic.easeOut});
			child.addEvents({
				'mouseenter': function(){
					if(window.ie){
						this.addClass('hover');
						//this.getElement('ul').setStyle('position', 'fixed').setStyle('z-index', 10000).setStyle('position', 'absolute');
						if(document.getElement('body').hasClass('reseau')) fieldsets.setStyle('visibility', 'hidden');
					}
					if(fx) fx.start(1);
				},
				'mouseleave': function(){
					if(window.ie){
						this.removeClass('hover');
						if(document.getElement('body').hasClass('reseau')) fieldsets.setStyle('visibility', 'visible');
					}
					if(fx) fx.start(0);
				}
			});
		}
	});
	
	// Gestion des news
	var news = $E('#news ul');
	if((document.getElement('body').hasClass('accueil') && news.getElements('li').length > 2) || (!document.getElement('body').hasClass('accueil') && news.getElements('li').length > 1)){
		var fx = new Fx.Style(news, 'opacity', {duration: 250});
		var next = function(){
			fx.start(0).chain(function(){
				news.getElement('li').injectInside(news);
				if(document.getElement('body').hasClass('accueil')) news.getElement('li').injectInside(news);
				fx.start(1);
			})
		};
		var periodical = next.periodical(5000, this);
		news.addEvents({
			'mouseenter': function(){
				$clear(periodical);
			},
			'mouseleave': function(){
				periodical = next.periodical(5000, this);
			}
		});
	}
	
	// Gestion du target=_blank e, javascript
	$$('a.blank', 'a[target=_blank]').addEvent('click', function(event){
		event = new Event(event).stop();
		this.removeProperty('target');
		window.open(this.href);
	});
	
	// Gestion du selecteur :focus sous IE
	if(window.ie) $$('input').addEvents({
		'focus': function(){
			this.addClass('focus');
		},
		'blur': function(){
			this.removeClass('focus');
		}
	});
	
	// Gestion des filtres
	$$('#form-filtres select').addEvent('change', function(){
		var liste = $('liste-presse').empty();
		$('form-filtres').send({
			update: liste
		});
	});
	
	// Gestion des vérifications du formulaire garantie
	if(form = $E('form.verification')){
		if(form.getProperty('id') == 'form-garantie'){
			$('ajouter-materiel').addEvent('click', function(event){
				event = new Event(event).stop();
				var el = this.getParent().getPrevious().clone();
				var nb = el.getElement('span').getText().toInt()+1;
				if(nb<9){
					el.getElement('span').setText(nb);
					el.getElement('select').setAttribute('name', 'mat'+nb);
					el.getElement('select').selectedIndex = 0;
					el.getElement('input').setAttribute('name', 'smat'+nb);
					el.getElement('input').value = '';
					el.injectBefore(this.getParent());
					//this.setText(sprintf(_('Déclarer un %sème produit'), (nb+1)));
				}
				if(nb==8) this.getParent().remove();
			});
		}
		var erreurs = new Array();
		var button = form.getElement('input[type=submit]');
		$ES('p', form).each(function(p, i){
			if((input = p.getElement('input')) || (input = p.getElement('textarea'))){
				input.addEvent('keyup', function(event){
					verif(p, this, erreurs, button);
					this.addClass('already-used');
				});
				verif(p, input, erreurs, button);
			}
		});
	}
	//alert(sprintf(_('Bonjour %s'), 'Pierre'));
});

function verif(p, input, erreurs, button){
	if(p.hasClass('obligatoire')){
		if(input.value.clean() == ''){
			if(input.hasClass('already-used')){
				p.removeClass('ok');
				p.addClass('erreur');
			}
			erreurs.push(input.name);
		}else if((p.hasClass('email') && !input.value.test(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)) || (p.hasClass('codepostal') && !input.value.test(/^([a-zA-Z0-9]{5})$/))){
			p.removeClass('ok');
			p.addClass('erreur');
			erreurs.push(input.name);
		}else{
			p.addClass('ok');
			p.removeClass('erreur');
			erreurs.remove(input.name);
		}
	}
	//if(erreurs.length > 0) button.disabled = true;
	//else button.disabled = false;
}