window.addEvent('domready', function(){

	// on charge les valeurs des sélect
	$$('select').each(function(el){
		val = $(el).getAttribute('value');
		$(el).getElements('option').each(function(op){
			if(val && $(op).getAttribute('value')==val){
				$(op).set('selected', 'selected');
			}
		})
	});
	// on charge les valeurs des boutons modifier
	$$('input[type=checkbox], input[type=radio]').each(function(el){
		if($(el).getAttribute('value')==$(el).getAttribute('check_value')){
			$(el).setAttribute('checked', 'checked');
		}
	});
	// on vérifie la saisie des formulaires
	$$('form').each(function(el){
		if(!el.hasClass('notest') && !$('punwrap')){
		el.addEvent('submit', function(e){
			new Event(e).stop();
			var message = '';
			$(el).getElements('input').each(function(op){
				if($(op).hasClass('required') && $(op).get('value').trim()==''){
					message = "\r\n "+$(op).get('name')+' ne peut etre vide';
				}
			})
			$(el).getElements('textarea').each(function(op){
				if($(op).hasClass('required') && $(op).get('value').trim()==''){
					message = "\r\n "+$(op).get('name')+' ne peut etre vide';
				}
			})
			if(message.trim()==''){
				el.submit();
			}else{
				alert(message);
			}
		});
		}
	});


	// fenetre à confirmation
	$$('.confirm').each(function(el){
		el.addEvent('click', function(e){
			new Event(e).stop();
			if(confirm('Etes vous sur de vouloir faire cette action irreversible?')){
				window.location.href=el.getAttribute('href')
			}
		})
	})


	// on transforme les datepicker
	$$('input.DatePicker').each( function(el){
		new DatePicker(el);
	});

	// on transforme les champs uploader
	$$('form').each(function(fel){
		$(fel).getElements('input.uploader').each(function(el){
			console.log(fel)
			btn = new Element('a', { href:'javascript:mcImageManager.open("'+fel.get('name')+'","'+el.get('id')+'");', html:'<span class="btn picture" style="float:left"></span>' });
			btn.injectBefore(el);
		});
	});
	new Tips('.Tips');
})

// on compte les éléments d'un textarea ou input
var Countable = new Class({
  defaultOptions: {
    maximum: 30,
    minimum: 0,
    offset: 30
  },
  initialize: function(inputId, options) {

    this.setOptions($merge(options));
    input = $(inputId);

    if (input) {
      this.handle = new Element("div", {'class': "count"});
      this.handle.set('html','&nbsp;').inject(input, 'after');
      this.handle.setStyle('opacity', 0);
      input.addEvent('keydown', this.onKeyPress.bindWithEvent(this));
      input.addEvent('keyup', this.onKeyPress.bindWithEvent(this));
      this.input = input;
    }
  },
  onKeyPress: function(event) {
    event = new Event(event);
    if(!event.shift && !event.control && !event.alt && !event.meta) {
      this.update();
    }
  },
  update: function() {
    if (this.input.value.length > this.options.maximum) {
      this.input.value = this.input.value.substring(0, this.options.maximum);
    }
    if(this.input.value.length <= this.options.minimum){
	  var count = this.options.minimum - this.input.value.length;
      if (count<=0) {
        var string = "";
      } else {
        var string = count + " caractères minimum restants";
      }
      this.handle.set('html', string);
      if (this.handle.getStyle('opacity')==0) {
        this.handle.setStyle('opacity', 1);
      }
    } else if (this.handle.getStyle('opacity')!=0) {
      this.handle.getStyle('opacity', 0)
    }

      if (this.input.value.length > (this.options.maximum - this.options.offset)) {
      var count = this.options.maximum - this.input.value.length;
      if (count == 0) {
        var string = "<span class=\"error\">Plus de caractère restant</span>";
      } else if (count == 1) {
        var string = "1 caractère restant";
      } else {
        var string = count + " caractères restants";
      }
      this.handle.set('html', string);
      if (this.handle.getStyle('opacity')==0) {
        this.handle.setStyle('opacity', 1);
      }
    } else if (this.handle.getStyle('opacity')!=0) {
      this.handle.getStyle('opacity', 0)
    }
  }
});
Countable.implement(Options.prototype);



function lecture_cookie(name){
	var cookie = Cookie.read(name);
	return cookie;
}