// Inscriptions JavaScript

function trim(phrase)
  {
  var data = '';
  var last = ' ';
  for (var index=0; index<phrase.length; index++)
    {
    var character = phrase.charAt(index);
    if ((character != ' ') || (character != last))
      {
      data += character;
      last = character;
      }
    }
  if ((data.length > 1) && (last == ' '))
    {
    data = data.substr(0,data.length-1);
    }
  return data;
  }

function clean(field)
  {
  if (field.type == "text")
    {
    field.value = trim(field.value);
    }
  return true;
  }

function future(year,month,day)
  {
  var today = new Date();
  var limit = new Date(year,month-1,day);
  return (limit-today > 0);
  }

function checkForm(form)
  {
  for (var i=0; i<form.elements.length; i++)
    {
    var element = form.elements[i];
    if (element.type == 'text')
      {
      if ((element.name == "Prenom") ||
	  (element.name == "Nom")    ||
	  (element.name == "Ville"))
	{
	if (element.value == '')
	  {
	  self.alert("Veuillez indiquer votre " + element.name);
	  element.focus();
	  return false;
	  }
	}
      if (element.name == "mailfrom")
	{
	if ((element.value == '') || (element.value.search('@') < 0))
	  {
	  self.alert("Veuillez indiquer une adresse de courriel");
	  element.focus();
	  return false;
	  }
	}
      if (element.name == "Total")
	{
	if (element.value <= '0')
	  {
	  self.alert("Veuillez indiquer le nombre de personnes à inscrire pour calculer le tarif");
	  return false;
	  }
	else if (!future(2009,12,05))
	  {
	  self.alert("La période d'inscription par internet est terminée, veuillez vous inscrire sur place");
	  return false;
	  }
	}
      }
    }
  return true;
  }

function compute(item)
  {
  var qty = Number(item.value);
  var rate = 0;
  var rebate = (future(2009,12,5) ? 0 : 0)
  if (item.name == "EtudiantFAAQ")
    {
    rate = 0 - rebate;
    }
  if (item.name == "Etudiant")
    {
    rate = 0 - rebate;
    }
  if (item.name == "AdulteFAAQ")
    {
    rate = 0 - rebate;
    }
  if (item.name == "Adulte")
    {
    rate = 20 - rebate;
    }
  return qty * rate;
  }

function price(form)
  {
  var total = 0;
  for (var i=0; i<form.elements.length; i++)
    {
    var element = form.elements[i];
    if ((element.name == "EtudiantFAAQ")||
	(element.name == "Etudiant")	||
	(element.name == "AdulteFAAQ")	||
	(element.name == "Adulte"))
      {
      clean(element);
      if (isNaN(element.value))
	{
	self.alert('La valeur inscrite de ' + element.name + ' (' + element.value +') est incorrecte (sera 0)');
	element.value = '0';
	}
      else
	{
	element.value = String(Number(element.value));
        total += compute(element);
	}
      }
    }
  form.Total.value = String(total);
  return true;
  }