//MooTools More, <http://mootools.net/more>. Copyright (c) 2006-2009 Aaron Newton <http://clientcide.com/>, Valerio Proietti <http://mad4milk.net> & the MooTools team <http://mootools.net/developers>, MIT Style License.

MooTools.More={version:"1.2.4.4",build:"6f6057dc645fdb7547689183b2311063bd653ddf"};Element.implement({tidy:function(){this.set("value",this.get("value").tidy());
},getTextInRange:function(b,a){return this.get("value").substring(b,a);},getSelectedText:function(){if(this.setSelectionRange){return this.getTextInRange(this.getSelectionStart(),this.getSelectionEnd());
}return document.selection.createRange().text;},getSelectedRange:function(){if($defined(this.selectionStart)){return{start:this.selectionStart,end:this.selectionEnd};
}var e={start:0,end:0};var a=this.getDocument().selection.createRange();if(!a||a.parentElement()!=this){return e;}var c=a.duplicate();if(this.type=="text"){e.start=0-c.moveStart("character",-100000);
e.end=e.start+a.text.length;}else{var b=this.get("value");var d=b.length;c.moveToElementText(this);c.setEndPoint("StartToEnd",a);if(c.text.length){d-=b.match(/[\n\r]*$/)[0].length;
}e.end=d-c.text.length;c.setEndPoint("StartToStart",a);e.start=d-c.text.length;}return e;},getSelectionStart:function(){return this.getSelectedRange().start;
},getSelectionEnd:function(){return this.getSelectedRange().end;},setCaretPosition:function(a){if(a=="end"){a=this.get("value").length;}this.selectRange(a,a);
return this;},getCaretPosition:function(){return this.getSelectedRange().start;},selectRange:function(e,a){if(this.setSelectionRange){this.focus();this.setSelectionRange(e,a);
}else{var c=this.get("value");var d=c.substr(e,a-e).replace(/\r/g,"").length;e=c.substr(0,e).replace(/\r/g,"").length;var b=this.createTextRange();b.collapse(true);
b.moveEnd("character",e+d);b.moveStart("character",e);b.select();}return this;},insertAtCursor:function(b,a){var d=this.getSelectedRange();var c=this.get("value");
this.set("value",c.substring(0,d.start)+b+c.substring(d.end,c.length));if($pick(a,true)){this.selectRange(d.start,d.start+b.length);}else{this.setCaretPosition(d.start+b.length);
}return this;},insertAroundCursor:function(b,a){b=$extend({before:"",defaultMiddle:"",after:""},b);var c=this.getSelectedText()||b.defaultMiddle;var g=this.getSelectedRange();
var f=this.get("value");if(g.start==g.end){this.set("value",f.substring(0,g.start)+b.before+c+b.after+f.substring(g.end,f.length));this.selectRange(g.start+b.before.length,g.end+b.before.length+c.length);
}else{var d=f.substring(g.start,g.end);this.set("value",f.substring(0,g.start)+b.before+d+b.after+f.substring(g.end,f.length));var e=g.start+b.before.length;
if($pick(a,true)){this.selectRange(e,e+d.length);}else{this.setCaretPosition(e+f.length);}}return this;}});Fx.Scroll=new Class({Extends:Fx,options:{offset:{x:0,y:0},wheelStops:true},initialize:function(b,a){this.element=this.subject=document.id(b);
this.parent(a);var d=this.cancel.bind(this,false);if($type(this.element)!="element"){this.element=document.id(this.element.getDocument().body);}var c=this.element;
if(this.options.wheelStops){this.addEvent("start",function(){c.addEvent("mousewheel",d);},true);this.addEvent("complete",function(){c.removeEvent("mousewheel",d);
},true);}},set:function(){var a=Array.flatten(arguments);if(Browser.Engine.gecko){a=[Math.round(a[0]),Math.round(a[1])];}this.element.scrollTo(a[0],a[1]);
},compute:function(c,b,a){return[0,1].map(function(d){return Fx.compute(c[d],b[d],a);});},start:function(c,g){if(!this.check(c,g)){return this;}var e=this.element.getScrollSize(),b=this.element.getScroll(),d={x:c,y:g};
for(var f in d){var a=e[f];if($chk(d[f])){d[f]=($type(d[f])=="number")?d[f]:a;}else{d[f]=b[f];}d[f]+=this.options.offset[f];}return this.parent([b.x,b.y],[d.x,d.y]);
},toTop:function(){return this.start(false,0);},toLeft:function(){return this.start(0,false);},toRight:function(){return this.start("right",false);},toBottom:function(){return this.start(false,"bottom");
},toElement:function(b){var a=document.id(b).getPosition(this.element);return this.start(a.x,a.y);},scrollIntoView:function(c,e,d){e=e?$splat(e):["x","y"];
var h={};c=document.id(c);var f=c.getPosition(this.element);var i=c.getSize();var g=this.element.getScroll();var a=this.element.getSize();var b={x:f.x+i.x,y:f.y+i.y};
["x","y"].each(function(j){if(e.contains(j)){if(b[j]>g[j]+a[j]){h[j]=b[j]-a[j];}if(f[j]<g[j]){h[j]=f[j];}}if(h[j]==null){h[j]=g[j];}if(d&&d[j]){h[j]=h[j]+d[j];
}},this);if(h.x!=g.x||h.y!=g.y){this.start(h.x,h.y);}return this;},scrollToCenter:function(c,e,d){e=e?$splat(e):["x","y"];c=$(c);var h={},f=c.getPosition(this.element),i=c.getSize(),g=this.element.getScroll(),a=this.element.getSize(),b={x:f.x+i.x,y:f.y+i.y};
["x","y"].each(function(j){if(e.contains(j)){h[j]=f[j]-(a[j]-i[j])/2;}if(h[j]==null){h[j]=g[j];}if(d&&d[j]){h[j]=h[j]+d[j];}},this);if(h.x!=g.x||h.y!=g.y){this.start(h.x,h.y);
}return this;}});var Asset={javascript:function(f,d){d=$extend({onload:$empty,document:document,check:$lambda(true)},d);if(d.onLoad){d.onload=d.onLoad;
}var b=new Element("script",{src:f,type:"text/javascript"});var e=d.onload.bind(b),a=d.check,g=d.document;delete d.onload;delete d.check;delete d.document;
b.addEvents({load:e,readystatechange:function(){if(["loaded","complete"].contains(this.readyState)){e();}}}).set(d);if(Browser.Engine.webkit419){var c=(function(){if(!$try(a)){return;
}$clear(c);e();}).periodical(50);}return b.inject(g.head);},css:function(b,a){return new Element("link",$merge({rel:"stylesheet",media:"screen",type:"text/css",href:b},a)).inject(document.head);
},image:function(c,b){b=$merge({onload:$empty,onabort:$empty,onerror:$empty},b);var d=new Image();var a=document.id(d)||new Element("img");["load","abort","error"].each(function(e){var g="on"+e;
var f=e.capitalize();if(b["on"+f]){b[g]=b["on"+f];}var h=b[g];delete b[g];d[g]=function(){if(!d){return;}if(!a.parentNode){a.width=d.width;a.height=d.height;
}d=d.onload=d.onabort=d.onerror=null;h.delay(1,a,a);a.fireEvent(e,a,1);};});d.src=a.src=c;if(d&&d.complete){d.onload.delay(1);}return a.set(b);},images:function(d,c){c=$merge({onComplete:$empty,onProgress:$empty,onError:$empty,properties:{}},c);
d=$splat(d);var a=[];var b=0;return new Elements(d.map(function(e){return Asset.image(e,$extend(c.properties,{onload:function(){c.onProgress.call(this,b,d.indexOf(e));
b++;if(b==d.length){c.onComplete();}},onerror:function(){c.onError.call(this,b,d.indexOf(e));b++;if(b==d.length){c.onComplete();}}}));}));}};

// more : Assets, Fx.Scroll, Element.Forms

/*
Script: InputMask.js
	Allows masking of input elements
License:
	MIT-style license.
Authors:
	Christoph Pojer
*/
(function(){
var InputMask = this.InputMask = new Class({
	Implements: [Options, Events],
	options: {
		/*onKeypress: $empty,
		onError: $empty*/
		rules: {},
		mask: null
	},
	initialize: function(selector, options){
		this.setOptions(options);
		this.rules = $merge(this.options.rules, InputMask.lookupRules());
		this.keys = Hash.getKeys(this.rules);
		
		var self = this;
		this.fire = function(e){
			self.fireEvent(e.type)[e.type].apply(self, [e, this]);
		};
		this.attach(selector);
	},
	attach: function(selector){
		$$(selector).addEvents({
			keypress: this.fire
		});
		return this;
	},
	detach: function(selector){
		$$(selector).removeEvents({
			keypress: this.fire
		});
		return this;
	},
	keypress: function(e, element){
		var key = e.key.toLowerCase(), value = element.get('value');
		
		if (e.control || e.meta) return (e.key == 'a' || e.key == 'c');
		var range = element.getSelectedRange();
		if ($chk(range.start) && range.start != range.end){
			e.stop();
			element.set('value', value = value.substring(0, range.start) + value.substring(range.end, value.length));
		} else if (key == 'backspace'){
			e.stop();
			element.set('value', value.substring(0, value.length - 1));
			this.previous(element);
		}
		// Fixes weird keypress bug for % & / ( ' .
		if ((['right', 'up', 'down', 'left'].contains(key) && e.shift) || key == 'delete') e.stop();
		if (key.length > 1) return true
		
		var before = value;
		this.next(element);
		value = '' + element.get('value');
		e.stop();
		var current = this.options.mask.charAt(value.length),
			group = this.getPrevious(value, key);
		for (var i in this.rules){
			var rule = this.rules[i],
				result = ($type(rule) == 'function' ? rule(key, {
					element: element,
					value: value,
					position: value.length,
					group: group
				}) : key.test(rule));
			if (current == i && result){
				element.set('value', value + key);
				return true;
			}
		}
		
		this.next(element);
		if (before == element.get('value')) this.fireEvent('error', [element, key]);
	},
	getPrevious: function(value, key){
		var length = value.length, mask = this.options.mask;
		if (!value) return key;
		
		var group = [key], current = mask.charAt(length);
		for (var i = length; i--; ){
			if (mask.charAt(i) == current) group.push(value.charAt(i));
			else break;
		}
		
		return group.reverse().join('');
		
	},
	previous: function(element){
		var value = element.get('value'), length = value.length - 1, mask = this.options.mask;
		if (!value) return this;
		for (var i = length; i--; ){
			if (this.keys.contains(mask.charAt(length))) break;
			else element.set('value', value.substring(0, length));
		}
		
		return this;
	},
	
	next: function(element){
		var value = element.get('value'), length = value.length, mask = this.options.mask;
		if (mask.length <= length) return this;
		for (var i = length; i <= mask.length; i++){
			var current = mask.charAt(length);
			if (this.keys.contains(current)) break;
			else element.set('value', value + current);
		}
		return this;
	}
});
InputMask.extend({
	rules: {},
	defineRule: function(rule, chars){
		this.rules[rule] = chars;
		return this;
	},
	defineRules: function(rules){
		for (var i in rules) this.defineRule(i, rules[i]);
		return this;
	},
	lookupRule: function(rule){
		return rules[rule] || null;
	},
	lookupRules: function(rules){
		if (!rules) return this.rules;
		var result = {};
		rules.each(function(rule){
			result[rule] = this.rules[rule] || null;
		}, this);
		return result;
	},
	upTo: function(max){
		max = '' + max;
		return function(key, options){
			if (!options.group.test(/^\d+$/)) return false;
			
			return options.group <= max.substr(0, options.group.length);
		};
	}
}).defineRules((function(){
	var rules = {
		'0': /0/,
		a: /\w/,
		x: /(\w|\d)/
	};
	
	for (var i = 1; i <= 9; i++) rules[i] = new RegExp('[0-' + i + ']');
	return rules;
})());
InputMask.Time = new Class({
	Extends: InputMask,
	options: {
		rules: {
			h: InputMask.upTo(23)
		},
		mask: 'hh:59'
	}
});
InputMask.Date = new Class({
	Extends: InputMask,
	options: {
		rules: {
			m: InputMask.upTo(12),
			d: InputMask.upTo(31)
		},
		mask: 'dd/mm/2999'
	}
});
})();

Element.implement({
    clearFocusResetBlur: function(attr){
        var valueString = this.get(attr);
        this.addEvents({
            'focus': function(){
                if( this.get('value') == valueString ) this.set('value','');
            },
            'blur': function(){
                if( this.get('value') == "" ) this.set('value',valueString);
            }
        });
    }
});
function validateFrDate( strValue ) {
  var objRegExp = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
  if(!objRegExp.test(strValue))
    return false; 
  else{
    var strSeparator = strValue.substring(2,3) 
    var arrayDate = strValue.split(strSeparator); 
    var arrayLookup = { '01' : 31,'03' : 31, 
                        '04' : 30,'05' : 31,
                        '06' : 30,'07' : 31,
                        '08' : 31,'09' : 30,
                        '10' : 31,'11' : 30,'12' : 31}
    var intDay = parseInt(arrayDate[0],10); 
    if(arrayLookup[arrayDate[1]] != null) {
      if(intDay <= arrayLookup[arrayDate[1]] && intDay != 0)
        return true; //found in lookup table, good date
    }
    
    var intMonth = parseInt(arrayDate[1],10);
    if (intMonth == 2) { 
       var intYear = parseInt(arrayDate[2]);
       if (intDay > 0 && intDay < 29) {
           return true;
       }
       else if (intDay == 29) {
         if ((intYear % 4 == 0) && (intYear % 100 != 0) || 
             (intYear % 400 == 0)) {
             return true;
         }   
       }
    }
  }  
  return false; 
}
function validateTime( strValue ) {
  var objRegExp = /^([0-1]?[0-9]|2[0-3]):[0-5]\d(:[0-5]\d(\.\d{1,3})?)?$/
  if(!objRegExp.test(strValue))
    return false; 
  else{
	return true
  }
}

window.addEvent('domready',function() {
	$$('#search fieldset input').clearFocusResetBlur('alt');
	if ($('home-gallery')) {
		var showDuration = 5000;
		var container = $('home-gallery');
		var images = container.getElements('li').getElements('img');
		var currentIndex = 0;
		var interval;
		images.each(function(img,i){ 
			if(i > 0) {
				img.set('opacity',0);
			}
		});
		var show = function() {
			images[currentIndex].fade('out');
			images[currentIndex = currentIndex < images.length - 1 ? currentIndex+1 : 0].fade('in');
		};
		window.addEvent('load',function(){
			interval = show.periodical(showDuration);
		});
	}
	if ($$('.col-news .buttons').length>0) {
	  new Asset.javascript('public/ui/js/mootools-slide.js', {
		id: 'mootools-slide',
        onload: function(){
          var slide = new Slide({
            box: $('news-container'),
            items: $$('.news-block'),
            size: 345,
            autoPlay: false,
            addButtons: {
              previous: $('news-prev'),
              next: $('news-next')
            }
          });
        }
      });
	}
	// Gestion des selectbox sous IE, augmente la taille width en fonction du contenu lors de l'affichage des options
    if(Browser.Engine.trident){
	  function adjustWidth(el,m){
        el.setStyle('width',m+'px');
        el.setStyle('position','absolute');
	  }
	  function reinitWidth(el,s,p){
	    el.setStyle('width',s);
        el.setStyle('position',p);
	  }
      $$('.col-center form select').each(function(cb){
        var initsize = cb.getStyle('width'),initposition = cb.getStyle('position'),maxsize = 0;
		cb.setStyle('width','auto');
		maxsize=cb.offsetWidth;
		cb.setStyle('width',initsize);
		if (maxsize > initsize.substring(0,initsize.length-2)) {
          cb.addEvent('mousedown',function(e){adjustWidth(cb,maxsize);});
		  window.document.addEvent('click', function(e) {if(e.target != cb) reinitWidth(cb,initsize,initposition);});
          cb.addEvent('change',function(e){reinitWidth(cb,initsize,initposition);});
		}
      });
    }
	if ($('map')) {
	  new Asset.javascript('public/ui/js/map.js');
	}
	if ($('form-contact')) {
	  new Asset.javascript('public/ui/js/genform.js');
	}
	if ($('formsubmitmp')) {
	  verifForm($('formsubmitmp'));
	  new InputMask.Date($('dateMPConclu'), {
		    onError: function(element, key){
		      element.highlight('#ffe6e6');
		    }
		  });
	}
	if ($('formsubmitmpedit')) {
	  verifForm($('formsubmitmpedit'));
	  new InputMask.Date($('dateMPConclu'), {
		    onError: function(element, key){
		      element.highlight('#ffe6e6');
		    }
		  });
	}
	if ($('formsubmit')) {
	  if ($('critere2MPAvis')) if(!$('critere2MPAvis').checked && $('critere2MPAvis').hasClass('checkbox')) $('critere2MPAvisValues').setStyle('display', 'none');
	  if ($('critere3MPAvis')) if(!$('critere3MPAvis').checked && $('critere3MPAvis').hasClass('checkbox')) $('critere3MPAvisValues').setStyle('display', 'none');
	  new InputMask.Time($('heureDepotMPAvis'), {
        onError: function(element){
          element.highlight('#ffe6e6');
        }
	  });
	  new InputMask.Date($('dateDebPrestMPAvis'), {
	    onError: function(element, key){
	      element.highlight('#ffe6e6');
	    }
	  });
	  new InputMask.Date($('dateCandidatureMPAvis'), {
	    onError: function(element, key){
	      element.highlight('#ffe6e6');
	    }
	  });
	  new InputMask.Time($('heureCandidatureMPAvis'), {
        onError: function(element){
          element.highlight('#ffe6e6');
        }
	  });
	  new InputMask.Date($('dateOffreMPAvis'), {
	    onError: function(element, key){
	      element.highlight('#ffe6e6');
	    }
	  });
	  new InputMask.Time($('heureOffreMPAvis'), {
	    onError: function(element, key){
	      element.highlight('#ffe6e6');
	    }
	  });
      if ($('MPfile')) {
	  new Asset.javascript('public/ui/js/Stickman.MultiUpload.js', {
        onload: function(){
			var multiUp = new MultiUpload( $('formsubmit').MPfile );			
		    $$('.file_temp').each(function(el){multiUp.addRowWithoutFile(el, el.value);});
		}
      });
	  }
	  verifForm($('formsubmit'));
	  if ($('btmodify')) {
	  $('btmodify').addEvent('click', function(e) {
		if (!$('hiddenmodify')) {
		  var hiddenmodify = new Element('input', {
           'id': 'hiddenmodify',
           'type': 'hidden',
           'name': 'modify',
           'value': '1'
          });
          hiddenmodify.inject($('btmodify'), 'before');
		}
	  });
	  $('btsubmit').addEvent('click', function(e) {
		if (!$('hiddenvalid')) {
		  var hiddenvalid = new Element('input', {
           'id': 'hiddenvalid',
           'type': 'hidden',
           'name': 'saveMP',
           'value': '1'
          });
          hiddenvalid.inject($('btsubmit'), 'before');
		}
	  });
	  }
	  $('btsubmit').addEvent('click', function(e) {
		if ($('hiddenmodify')) $('hiddenmodify').dispose();
	  });
	  if ($('critere2MPAvis')){
	  $('critere2MPAvis').addEvent('click', function(e) {
        if($('critere2MPAvis').checked) {
          $('critere2MPAvisValues').setStyle('display', 'block');
		} else {
          $('critere2MPAvisValues').setStyle('display', 'none');
		}
	  });
	  }
	  if ($('critere3MPAvis')){
	  $('critere3MPAvis').addEvent('click', function(e) {
        if($('critere3MPAvis').checked) {
          $('critere3MPAvisValues').setStyle('display', 'block');
		} else {
          $('critere3MPAvisValues').setStyle('display', 'none');
		}
	  });
	  }
	  if ($('critere2MPAvisValues')){
	  $('critere2MPAvisValues').getElements('input').addEvents({
        change: function()  {
		  if(this.hasClass('percent')) {
	        this.getParent().removeClass('error');
		    this.getParent().getChildren('p').each(function(p){p.destroy();});
		    if(!isFinite(this.value)) {
			  var nextSibling = new Element('p');
			  nextSibling.inject(this, 'after');
			  nextSibling.getParent().addClass('error');
              nextSibling.set('text', 'Pond\u00e9ration non valide, veuillez saisir un nombre entre 0 et 99');
		    } else {
			  var restant = 100-getTotal($('critere2MPAvisValues').getElements('input.percent'));
			  if (restant>=0) {
                $('ponderationrestant').set('text', 'Pourcentage restant \u00e0 affecter : '+restant+' %');
			  } else {
			    var nextSibling = new Element('p');
			    nextSibling.inject(this, 'after');
			    nextSibling.getParent().addClass('error');
                nextSibling.set('text', 'Pond\u00e9ration non valide, le total est sup\u00e9rieur \u00e0 100%');
			  }
		    }
		  }
		}
	  });
	  }
	  
	}
	if ($('formlogin')) {
	  verifForm($('formlogin'));
	}
	if ($('organismlist')) {
	  $('organismlist').addEvent('change', function(e){
		$('citylist').set('value', 0);		
	  });
	}
	if ($('yearlist')) {
	  $('yearlist').addEvent('change', function(e){
		
		var req = new Request({
			method: 'post',  
			url: '/amm/marche/list',  
			data: 'year='+$('yearlist').value,  
			onRequest: function() {  
				$('yearlist').setProperty('disabled', 'true');
				$('yearlist').addClass('disabled');
				$('formmarches').getElement('button').addClass('disabled');
				$('formmarches').getElement('button').setProperty('disabled', 'true');
			},  
			onComplete: function (request){
				var result = eval('(' + request + ')');
				
				$('yearlist').removeProperty('disabled', 'true');
				$('yearlist').removeClass('disabled');
				$('formmarches').getElement('button').removeClass('disabled');
				$('formmarches').getElement('button').removeProperty('disabled', 'true');
				
				if (result.isValid) {
					$('citylist').innerHTML = result.cities;
					$('organismlist').innerHTML = result.organisms;
				}
			}
		}).send(); 
	  });
	}
	if ($('citylist')) {
	  $('citylist').addEvent('change', function(e){
		$('organismlist').set('value', 0);
	  });
	}
    function getTotal(inputs){
	  var total = 0;
	  inputs.each(function(el){
		if (!isNaN(parseInt(el.value)))
        total = total + parseInt(el.value);
      });
	  return total;
	}
    function verifForm(form){
	  form.addEvent('submit', function(e){
		$each(form.getElements('button[type=submit]'),function(el) {
		  el.addEvent('click',function(e) {
//			this.disabled = 1;
		  }.bind(el));
	    });
		form.addClass('ajax-loading');
		var first = 0;
        form.getElements('.required').each(function(el){
	      el.getParent().removeClass('error');
	      el.removeClass('error');
		  el.getParent().getChildren('p').each(function(p){if(p.id!='idOrganism')p.destroy();});
		  if (el.value=="") {
		    if (first==0) first = el;
			var nextSibling = new Element('p');
			nextSibling.inject(el, 'after');
			el.addClass('error');
			nextSibling.getParent().addClass('error');
            nextSibling.set('text', 'Ce champs est obligatoire');
	      }
		  if (el.hasClass('select') && el.value==0) {
		    if (first==0) first = el;
			var nextSibling = new Element('p');
			nextSibling.inject(el, 'after');
			el.addClass('error');
			nextSibling.getParent().addClass('error');
            nextSibling.set('text', 'Ce champs est obligatoire');
	      }
		});
		form.getElements('input.date').each(function(el){
		  if (el.value!='') {
		    el.getParent().removeClass('error');
	        el.removeClass('error');
		    el.getParent().getChildren('p').each(function(p){p.destroy();});
		    if (!validateFrDate(el.value)) {
		      if (first==0) first = el;
			  var nextSibling = new Element('p');
			  nextSibling.inject(el, 'after');
			  el.addClass('error');
			  nextSibling.getParent().addClass('error');
              nextSibling.set('text', 'Le format de la date est incorrect. Merci de saisir une date au format jj/mm/aaaa');			  
		    }
		  }
		});
		form.getElements('input.time').each(function(el){
		  if (el.value!='') {
	        el.getParent().removeClass('error');
	        el.removeClass('error');
		    el.getParent().getChildren('p').each(function(p){p.destroy();});
		    if (!validateTime(el.value)) {
		      if (first==0) first = el;
			  var nextSibling = new Element('p');
			  nextSibling.inject(el, 'after');
			  el.addClass('error');
			  nextSibling.getParent().addClass('error');
              nextSibling.set('text', 'Le format de l\'heure est incorrect. Merci de saisir une date au format HH:MM');			  
		    }
		  }
		});
		if ($('critere1MPAvis')) $('critere1MPAvis').getParent().getParent().removeClass('error');
		if ($('critere1MPAvis')) $('critere1MPAvis').getParent().getParent().getChildren('p').each(function(p){p.destroy();});
		if ($('critere1MPAvis') && $('critere2MPAvis') && $('critere3MPAvis') && $('critere4MPAvis')) {
		if (!$('critere1MPAvis').checked && !$('critere2MPAvis').checked && !$('critere3MPAvis').checked && !$('critere4MPAvis').checked) {
		      if (first==0) first = $('critere1MPAvis');		
			  var nextSibling = new Element('p');
			  nextSibling.inject($('critere1MPAvis').getParent().getParent(), 'top');
			  nextSibling.addClass('error');
			  nextSibling.getParent().addClass('error');
              nextSibling.set('text', 'Veuillez cocher au moins un crit\u00E8re d\'attribution du march\u00e9');	
		}}
		if ($('critere2MPAvis')) {
		if (form.getElements('input.percent') && $('critere2MPAvis').checked) {
			var percentinputs = $('critere2MPAvisValues').getElements('input.percent');
			percentinputs[0].getParent().getParent().getParent().removeClass('error');
			percentinputs[0].getParent().getParent().getChildren('p').each(function(p){p.destroy();});
			if (getTotal(percentinputs)!=100) {
		      if (first==0) first = percentinputs[0];
			  var nextSibling = new Element('p');
			  nextSibling.inject(percentinputs[0].getParent().getParent(), 'top');
			  nextSibling.getParent().getParent().addClass('error');
              nextSibling.set('text', 'Pond\u00e9rations non valide, le total n\'est pas \u00e9gale \u00e0 100%');
			}
		}
        }
        form.getElements('input.percent').each(function(el){
	      el.getParent().removeClass('error');
	      el.getNext('input').removeClass('error');
		  el.getParent().getChildren('p').each(function(p){p.destroy();});
		  if (el.value!='' && el.getNext('input').value=='') {
		    if (first==0) first = el;
			var nextSibling = new Element('p');
			nextSibling.inject(el.getNext('input'), 'after');
			el.getNext('input').addClass('error');
			nextSibling.getParent().addClass('error');
            nextSibling.set('text', 'Ce champs est obligatoire');
	      }
		});
		form.removeClass('ajax-loading');
		if (first!=0) {
		  first.focus();
		  first = first.getPosition();
		  first.y = first.y -15;
		  new Fx.Scroll(window).start(first.x ,first.y);		  
		  $$('button[type=submit]').each(function(el){el.disabled = 0;});
          return false;
		} else {
		  $$('button[type=submit]').each(function(el){el.disabled = 0;});
		}
      });
    }
});
