var Preloader = {
  callbacks: [],
  images: [],
  loadedImages: [],
  imagesLoaded: 0,

  add: function(image){
    if (typeof image == 'string') this.images.push(image);
    if (typeof image == 'array' || typeof image == 'object'){
      for (var i=0; i< image.length; i++){
        this.images.push(image[i]);
      }
    }
  },
  onFinish: function(func){
    if (typeof func == 'function') this.callbacks.push(func);
    if (typeof func == 'array' || typeof func == 'object'){
      for (var i=0; i< func.length; i++){
        this.callbacks.push(func[i]);
      }
    }
  },
  load: function(){
    for(var i=0; i<this.images.length; i++){
      this.loadedImages[i] = new Image();
      this.loadedImages[i].onload = function(){ Preloader.checkFinished.apply(Preloader) }
      this.loadedImages[i].src = this.images[i];
    }
  },

  checkFinished: function(){
    this.imagesLoaded++;
    if (this.imagesLoaded == this.images.length) this.fireFinish();
  },
  fireFinish: function(){
    for (var i=0; i<this.callbacks.length; i++){
      this.callbacks[i]();
    }
    this.images = [];
    this.loadedImages = [];
    this.imagesLoaded = 0;
    this.callbacks = [];
  }
}

function loadContent(){
	new Effect.Appear('center', {
		afterFinish:function(){
			Element.hide('loadPage'); 
		}
	}); 
}




function preloadImage(tabImg){
	Element.hide('center');
	$('loadPage').innerHTML = 'La page se charge, merci de patienter...';
	Element.show('loadPage');

	
	for(i=0; i<tabImg.length; i++){
		Preloader.add(tabImg[i]);
	}
	Preloader.onFinish(loadContent);
	Preloader.load();
}

function sendForm(page, formulaire, message){
	
	Element.hide('variableElement_container_right');
	$('form_message_reserv').innerHTML = 'Traitement en cours...';
	Element.show('form_message_reserv');
	new Ajax.Updater('variableElement_container_right', page, {
		method:'post', 
		parameters:Form.serialize(formulaire),
		onComplete:function(){ 
			Element.hide('form_message_reserv');
		
				new Ajax.Updater('variableElement_container_right', message, {
					method:'get',
					onComplete:function(){ 
						Element.show('variableElement_container_right');
					}
				});
		}
	});
}

function couleur(obj) {
     obj.style.backgroundColor = "#FFFFFF";
	 
}

function checkreserv() {
	var msg = "";

		if (document.reservform.adressemail.value != "")	{
		indexAroba = document.reservform.adressemail.value.indexOf('@');
		indexPoint = document.reservform.adressemail.value.indexOf('.');
		if ((indexAroba < 0) || (indexPoint < 0))		{
		document.reservform.adressemail.style.backgroundColor = "#F3C200";
			msg += "Le mail est incorrect\n";
		}
	}
	else	{
		document.reservform.adressemail.style.backgroundColor = "#F3C200";
		msg += "Veuillez saisir votre mail.\n";
	}

if (document.reservform.nom.value == "")	{
		msg += "Veuillez saisir votre nom\n";
		document.reservform.nom.style.backgroundColor = "#F3C200";
	}
	
	
if (document.reservform.prenom.value == "")	{
		msg += "Veuillez saisir votre prenom\n";
		document.reservform.prenom.style.backgroundColor = "#F3C200";
	}
	
	
if (document.reservform.rue.value == "")	{
		msg += "Veuillez saisir votre rue\n";
		document.reservform.rue.style.backgroundColor = "#F3C200";
	}
	
	
if (document.reservform.no.value == "")	{
		msg += "Veuillez saisir votre numéro de rue\n";
		document.reservform.no.style.backgroundColor = "#F3C200";
	}
	
	
if (document.reservform.npa.value == "")	{
		msg += "Veuillez saisir votre numéro postal\n";
		document.reservform.npa.style.backgroundColor = "#F3C200";
	}
	
	
if (document.reservform.ville.value == "")	{
		msg += "Veuillez saisir votre ville\n";
		document.reservform.ville.style.backgroundColor = "#F3C200";
	}
	
if (document.reservform.telephone.value == "")	{
		msg += "Veuillez saisir votre téléphone\n";
		document.reservform.telephone.style.backgroundColor = "#F3C200";
	}

	if (msg == "")  {
		sendForm('item1.php','contact_form_reserv', 'item1_msg.php'); return(true);
	}
	
	else	{
		alert(msg);
		return(false);
	}
}

