// JavaScript Document
	
	function inscriptionNewsletter() {
		
	   var message = "";

			message += verif('f_email', 'email');
				  
			if(message == "") {
				
					var E = $('f_newsletter');										 
													 
					new Ajax.Updater('f_newsletter', 'include/ajax/inscriptionNewsletterWarrenZavatta.php', {
									 method: 'post',
									 parameters: E.serialize(),
									 asynchronous:false,
									 evalScripts:true,
									 onCreate: function() {
										 E.startWaiting('blackWaiting');
										 },
									 onComplete: function() {
										E.stopWaiting();
										}
									 }
					);
				
				} 
				
			return false;
			
		}
		
	
	// Vérification en direct qu'un champ est un chiffre
	function verif_nombre(champ) {
	var chiffres = new RegExp("[0-9/.-]");
	var verif;
	
		for(x = 0; x < champ.value.length; x++)
		{
		verif = chiffres.test(champ.value.charAt(x));
		if(verif == false){champ.value = champ.value.substr(0,x) + champ.value.substr(x+1,champ.value.length-x+1); x--;}
		}
	
	}
	
	// Verifier si c'est une numéro de téléphone correcte
	function Verifier_Numero_Telephone(num_tel)
	{
	// Definition du motif a matcher
	var regex = new RegExp(/^(01|02|03|04|05|06|08)[0-9]{8}/gi);

	// On renvoie match
 	return regex.test(num_tel) ? true : false;
 } 
 
 	// Véfifier qu'un champ est un chiffre
	function isNumber(num) {
			var exp = new RegExp("^[0-9-.]*$","g");
			return exp.test(num);
	}
	
	// Vérifié la validité d'un champ peut importe son type
	function verif(id, type, nomForm) {
	
		var mauvais = null;
		var action = null;
		var message = null;
		var champ = $(id);				
		
		// On vérifie si le champ existe
		if(champ) {
			
			// On verifie que le champ n'est pas en disabled
			if(champ.disabled == false) {
				
				if(type == "text") {
						
					mauvais = eval(champ.value.blank());
					action = "saisir";

				} else if(type == "select") {
					
					mauvais = eval(champ.selectedIndex == 0);
					action = "selectionner";
					
				} else if(type == "email") {
					
					a = champ.value;
					mauvais = true;
					
					for(var j=1;j<(a.length);j++){
							if(a.charAt(j)=='@'){
								if(j<(a.length-4)){
									for(var k=j;k<(a.length-2);k++){
										if(a.charAt(k)=='.') mauvais = false;
									}
								}
							}
						}
						
					action = "corriger";
					
				} else if(type == "date") {
					
					var input = champ.value;
					var regex = new RegExp("[/-]");
					var date = input.split(regex);
					var nbJours = new Array('',31,28,31,30,31,30,31,31,30,31,30,31);
					var result = false;
					
					if ( date['2']%4 == 0 && date['2']%100 > 0 || date['2']%400 == 0 )
					nbJours['2'] = 29;
					
					if( isNaN(date['2']) )
					result = true;
					
					if ( isNaN(date['1']) || date['1'] > 12 || date['1'] < 1 )
					result=true;
					
					if ( isNaN(date['0']) || date['0'] > nbJours[Math.round(date['1'])] || date['0'] < 1 )
					result=true;
					
					mauvais = eval(result);
					action = "corriger";
										
				} else if(type == "numeric") {
					
					mauvais = eval(!isNumber(champ.value));
					action = "numeriser";
					
				} else if(type == "telephone") {
					
					mauvais = eval(!Verifier_Numero_Telephone(champ.value));
					action = "corriger";
					
				} else if(type == "url") {
					
   					var regexp = new RegExp(/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/);
   					mauvais = eval(!regexp.test(champ.value));
					action = 'corriger';
					
				} else if(type == "checkbox") {
					
					var checkbox = $(nomForm).getInputs(type, id);
					var nb_coche = 0;
					
					// S'il n'y a que une case
					nb_coche += (!checkbox.length && checkbox.checked) ? 1 : 0;
										
					for (i=0;i<checkbox.length;i++) {
					nb_coche += checkbox[i].checked ? 1 : 0;
					}
					
					mauvais = eval(nb_coche == 0);
					action = "cocher";
					
				}
								
				// En fonction du resultat.
				if(mauvais == true) {
				  	
				  message = "Veuillez "+action+" votre "+id.gsub('_', ' ')+".<br />";
				  $(id).setStyle({background:"#fff url(img/layout/warning.gif) no-repeat center right"});
 				  msgWindow.pop({y: Position.positionedOffset($(id))[1]+10, x: Position.positionedOffset($(id))[0]+$(id).getWidth()-110}, message);
				  $(id).focus();
				  
				} 
					
			}
		}
		
		return (message != null) ? message : "";
	}
	
	var msgWindow = {
		pop: function(marker, msg) {
			var ymarker = marker.y;
			var xmarker = marker.x;
			if((this.currentMsg = msg) != this.lastMsg) {
				$("pop").down(2).innerHTML = this.lastMsg = msg;
				$("pop").setStyle({"top": (ymarker - Element.getHeight("pop")) + "px", "left": xmarker + "px"});
				new Effect.Appear("pop", {duration: 0.4});
			}	
		},	
		hide: function() {
			if($('pop').getStyle('display') == 'block') {
				new Effect.Appear("pop", {duration: 0.4, from: 1, to: 0, afterFinish:function() { $('pop').hide(); } });
			}
		},
		currentMsg: "current",
		lastMsg: "last"
	}
	
	Event.observe(window, "load", function(event) {
										   
		$A(document.getElementsByTagName("textarea")).each(function (input) {
			Event.observe($(input), "keyup", function(event){
				$(input).setStyle({ background: '#fff'});
				msgWindow.hide();
				}.bindAsEventListener($(input))
			);
				
		}, false),
		$A(document.getElementsByTagName("input")).each(function (input) {
			Event.observe($(input), "keyup", function(event){
				msgWindow.hide();
				$(input).setStyle({ background: '#fff'});
				}.bindAsEventListener($(input))
			);
				
		}, false);
		
	});
	
var ResizingTextArea = Class.create();

ResizingTextArea.prototype = {
    defaultRows: 1,

    initialize: function(field)
    {
        this.defaultRows = Math.max(field.rows, 1);
        this.resizeNeeded = this.resizeNeeded.bindAsEventListener(this);
        Event.observe(field, "click", this.resizeNeeded);
        Event.observe(field, "keyup", this.resizeNeeded);
    },

    resizeNeeded: function(event)
    {
        var t = Event.element(event);
        var lines = t.value.split('\n');
        var newRows = lines.length + 1;
        var oldRows = t.rows;
        for (var i = 0; i < lines.length; i++)
        {
            var line = lines[i];
            if (line.length >= t.cols) newRows += Math.floor(line.length / t.cols);
        }
        if (newRows > t.rows) t.rows = newRows;
        if (newRows < t.rows) t.rows = Math.max(this.defaultRows, newRows);
    }
}

// Self Label
if (Object.isUndefined(Axent)) { var Axent = { } }
Axent.SelfLabeledInput = Class.create({
	initialize: function() {
		var labelSelector = arguments[0] || 'label';
		$$(labelSelector).findAll(function(l) { return (l.readAttribute('for') !== null)}).each(function(l) {
		    l.hide();
			$(l.readAttribute('for'))._value = l.innerHTML;
			if ($(l.readAttribute('for')).value.empty()) {
                $(l.readAttribute('for')).value = $(l.readAttribute('for'))._value
            }
			$(l.readAttribute('for')).observe('blur',function(e){if(Event.element(e).value == '') Event.element(e).value = l.innerHTML;});
			$(l.readAttribute('for')).observe('focus',function(e){if(Event.element(e).value == l.innerHTML) Event.element(e).value = '';});
		});
	}
});

	function disabledIt(champ, type, target) {
		
		if(type == 'text') {
			
			(champ.value != '') ? $(target).disable() : $(target).enable();
			
		} else {
			
			(champ.selectedIndex != 0) ? $(target).disable() : $(target).enable();
			
		}
		
	}
