function choixCourses(form)
{
	choixCourses_internal(form);
	choixEpreuve_internal(form);
}

function choixCourses_internal(form) {

  // on desactive les courses
  courses = form.course;
  for (k=0; k<courses.length; k++)
    courses[k].disabled = true;

  // On verifie la date de naissance
  if (form.naissance.value.length==2) {
    form.naissance.value = 1900 + parseInt(form.naissance.value)
  } else if (form.naissance.value.length!=4) {
    form.naissance.focus();
    form.naissance.select();
    return false;
  }

  var age =  2011 - form.naissance.value;
  
  // on trouve la categorie
  for (i=0; i<categories.length; i++) {
    if (categories[i]['age_min']<=age && categories[i]['age_max']>=age) {
      form.categorie.value = categories[i]['code'];
      
	  // on active les courses
	  for (j=1; typeof(categories[i]['course_'+j])!="undefined"; j++) {
		for (k=0; k<courses.length; k++) {
		  if ( courses[k].value==categories[i]['course_'+j] ) {
			courses[k].disabled = false;
			//courses[k].checked = true;
		  }
		}
	  }
    }
  }
  
  // on check aussi en fonction de l'epreuve
  choixEpreuve_internal(form)
}

function choixEpreuve(form)
{
	choixCourses_internal(form);
	choixEpreuve_internal(form);
}

function choixEpreuve_internal(form)
{
	if (form.epreuve.value=='challengeent')
		form.entreprise.disabled = false;
	else
		form.entreprise.disabled = true;
		
	// Course : toutes les distances de dispo
	// ChanllengeEnt, marche : uniquement 10km
	// handiSport : uniquement 5km
	if (form.epreuve.value=='challengeent' || form.epreuve.value=='marche')
	{
		form.course[1].disabled = true;
		form.course[2].disabled = true;
		form.course[3].disabled = true;
	}
	else if (form.epreuve.value=='handisport')
	{
		form.course[0].disabled = true;
		form.course[2].disabled = true;
		form.course[3].disabled = true;
	}

}

// form: formulaire a valider, email: email obligatoire (true, false)
function valideInscription(form, email) {
  var error = "";
  var result = true;

  if (typeof(email)=='undefined')
    email = true;
  
  if (form.nom.value=="")
    error += "   - Le nom\n";
  if (form.prenom.value=="")
    error += "   - Le prenom\n";
  if (form.codepostal.value=="")
    error += "   - Le code postal\n";
  if (form.email.value=="" && email)
    error += "   - L'adresse email (obligatoire pour l'inscription par internet)\n";
  if (!emailCheck(form.email.value))
    error += "   - L'adresse email n'est pas valide\n"
  if (form.naissance.value=="")
    error += "   - L'année de naissance\n";

  var sexe_selected = false;
  for (k=0; k<form.sexe.length; k++)
	if (form.sexe[k].checked && form.sexe[k].disabled==false)
		sexe_selected = true;
  if (sexe_selected==false)
    error += "   - Le sexe.\n";

  var course_selected = false;
  for (k=0; k<form.course.length; k++)
	if (form.course[k].checked && form.course[k].disabled==false)
		course_selected = true;
  if (course_selected==false)
    error += "   - La distance.\n";
	
  if (error!="") {
    result = false;
    alert("Certain champs obligatoire ne sont pas remplit :\n\n"+error);
  }
  
  return result;
}

function emailCheck (emailStr) {

if (emailStr=="")
  return true;

/* The following string represents an atom (basically a series of
   non-special characters.) */
var atom="\[^\\s\\(\\)<>@,;:\\\\\\\"\\.\\[\\]\]+"
/* The following pattern describes the structure of a normal email */
var emailPat=new RegExp("^" + atom + "(\\." + atom +")*@" + atom + "(\\." + atom +")+$")

/* Begin with the coarse pattern to simply break up user@domain into
   different pieces that are easy to analyze. */
var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
	return false
}
return true;
}

function printWindow() {
	if ( typeof(window.print)!="undefined" ) 
		window.print();
	else
		alert("Impression automatique non supporté avec ce navigateur.\n Veuillez lancer l'impression manuellement : Menu Fichier->Imprimer");
}

function formatChrono(obj)
{
	var chrono = obj.value;
	
	if (chrono.length == 0)
		return false;

	chrono = chrono.replace( /[^0-9]+/g, "");

	var heure, minute, seconde;
	if (chrono.length == 6)
	{
		heure =  chrono.substr(0,2);
		minute = chrono.substr(2,2);
		seconde = chrono.substr(4,2);
	} 
	else if (chrono.length == 4)
	{
		heure = "00";
		minute = chrono.substr(0,2);
		seconde = chrono.substr(2,2);
	}
	else
	{
		heure = "42";
	}
	
	if (heure>=24 || minute>=60 || seconde>=60)
	{
		obj.value = "";
		return false;
	}
	
	obj.value = heure+":"+minute+":"+seconde;
	return true;
}

function secondToChrono(chrono)
{
	return voir_zero(Math.floor(chrono/3600))
		+ ":" + voir_zero(Math.floor((chrono%3600)/60))
		+ ":" + voir_zero((chrono%60));
}

function voir_zero(nombre)
{
	if (nombre > 9)
	{
	  return "" + nombre;
	}
	return "0" + nombre;
}

function openPdf() {
	var largeur = 850
	var hauteur = 700
	var xPos = (window.screen.width  - largeur) / 2
	var yPos = (window.screen.height - hauteur) / 2

	var popup = open("images/pdf/photos.pdf#zoom=100&toolbar=0&statusbar=0&navpanes=0&messages=1", "pdf", "toolbar=no,resizable=1,left=" + xPos + ",top=" + yPos + ",width=" + largeur + ",height=" + hauteur);
}

function siKey()
{
}

function siFocus(me)
{
	var list = me.parentNode.getElementsByTagName("UL")[0];
	list.style.display = 'block';
	if (siBlurTimeout)
		clearTimeout(siBlurTimeout);
}

var siBlurTimeout;
function siBlur(me)
{
	var list = me.parentNode.getElementsByTagName("UL")[0];
	siBlurTimeout = setTimeout( function() { list.style.display = 'none'; }, 200);
}

function siSelect(me)
{
	var input = me.parentNode.parentNode.getElementsByTagName("INPUT")[0];
	input.value = me.innerHTML;
	input.focus();
}

function inputFocus(input)
{
	if (input.value==input.title)
		input.value = "";
	
	input.className = 'searchFilled'
}

function inputBlur(input)
{
	if (input.value=='' || input.value==input.title)
	{
		input.value = input.title;
		input.className = 'searchEmpty';
	}
}
