var xmlHttp;
var divToDisplay = '';
function ajax_postForm(url, strpost, ofunction){
 	//alert(url);
 	//alert(strpost);
  if (window.XMLHttpRequest) { 
      xmlHttp = new XMLHttpRequest();
  }else if (window.ActiveXObject) {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  if (xmlHttp==null){
      alert ("Une erreur est survenue, veuillez essayer ultérieurement ou nous contacter par téléphone.");
      return
  }
  xmlHttp.onreadystatechange=ofunction;
  xmlHttp.open("POST",url,true);
  xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  //xmlHttp.setRequestHeader("Content-Encoding", "utf-8");
  //alert(strpost);
  xmlHttp.send(strpost);
}

function getFormString(obj) {
    var getstr = "";
    for (i=0; i<obj.getElementsByTagName("input").length; i++) {
        if (obj.getElementsByTagName("input")[i].type == "text" || obj.getElementsByTagName("input")[i].type == "hidden") {
           getstr += escape(obj.getElementsByTagName("input")[i].name) + "=" + 
                   escape(obj.getElementsByTagName("input")[i].value) + "&";
        }
        if (obj.getElementsByTagName("input")[i].type == "checkbox") {
           if (obj.getElementsByTagName("input")[i].checked) {
              getstr += obj.getElementsByTagName("input")[i].name + "=" + 
                   escape(obj.getElementsByTagName("input")[i].value) + "&";
           }
        }
        if (obj.getElementsByTagName("input")[i].type == "radio") {
           if (obj.getElementsByTagName("input")[i].checked) {
              getstr += escape(obj.getElementsByTagName("input")[i].name) + "=" + 
                   escape(obj.getElementsByTagName("input")[i].value) + "&";
           }
        }  
        if (obj.getElementsByTagName("input")[i].tagName == "select") {
            var sel = obj.getElementsByTagName("input")[i];
            getstr += escape(sel.name) + "=" + escape(sel.options[sel.selectedIndex].value) + "&";
        }
    }
    for (i=0; i<obj.getElementsByTagName("select").length; i++) {
            var sel = obj.getElementsByTagName("select")[i];
            getstr += escape(sel.name) + "=" + escape(sel.options[sel.selectedIndex].value) + "&";
    }
    for (i=0; i<obj.getElementsByTagName("textArea").length; i++) {
        getstr += escape(obj.getElementsByTagName("textArea")[i].name) + "=" + 
        escape(obj.getElementsByTagName("textArea")[i].value) + "&";
    }
  return getstr;
}


function resultat_postChanged(){ 
    var oDiv = document.getElementById(divToDisplay);
    //alert(divToDisplay);
    //alert(oDiv);
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
        //alert('ok 2');
        if ( xmlHttp.status != "200" ){
            alert("Une erreur est survenue, veuillez essayer ulterieurement.");
        }else{
            //alert('xmlHttp.readyState\n' + xmlHttp.readyState);
            //alert('xmlHttp.status\n' + xmlHttp.status);
            if ( xmlHttp.responseText.length > 0 ){
                //alert('ok 3');
                if ( xmlHttp.responseText.indexOf('<<LOG_ERROR>>') >= 0 ){
                    alert('Une erreur est survenue, veuillez essayer ulterieurement.');
                }else{
                    if ( oDiv != null ) {
                        //alert('ok 4');
                        //alert('xmlHttp.responseText\n' + xmlHttp.responseText);
                        oDiv.innerHTML=xmlHttp.responseText;
                    }
                }
            }
        }
    } 
}

function display_resultat(idresultat, idresultat_display){
  divToDisplay = 'div_resultats_'+idresultat;
  ajax_postForm('resultat_pilote.php', 'id='+idresultat_display, resultat_postChanged);
}

function display_classement(idresultat, idresultat_display){
  divToDisplay = 'div_resultats_'+idresultat;
  ajax_postForm('classement_pilote.php', 'id='+idresultat_display, resultat_postChanged);
}

function display_classement_cons(idresultat, idresultat_display){
  divToDisplay = 'div_resultats_'+idresultat;
  ajax_postForm('classement_concessionnaire.php', 'id='+idresultat_display, resultat_postChanged);
}

function display_challenge(idresultat, idresultat_display){
  divToDisplay = 'div_resultats_'+idresultat;
  ajax_postForm('challenge_pilote.php', 'id='+idresultat_display, resultat_postChanged);
}

function plus(zone){
  if (document.getElementById('zone_'+zone).style.display==''){
      document.getElementById('zone_'+zone).style.display='none';
      document.getElementById('tr_'+zone).className ='';
      document.getElementById('tr_details'+zone).className ='';
  }else{
      document.getElementById('zone_'+zone).style.display='';
      document.getElementById('tr_'+zone).className ='tr_on';
      document.getElementById('tr_details'+zone).className ='zone';
  }
}

//Inscription
function insc(url){
    if ( CheckForm_insc() ) {
      //btReservLoad('load');
      strpost = getFormString(document.getElementById('frm_insc'));
      //alert(strpost);
      divToDisplay = 'div_insc';
      ajax_postForm(url, strpost, resultat_postChanged);
    }
}
function CheckForm_insc(){
	var oForm = document.getElementById('frm_insc');
  if ( oForm.elements['nom'].value == ''){
		alert('Veuillez saisir le champ "Nom"');
		oForm.elements['nom'].focus();
    return false;
	}
	
	if ( oForm.elements['prenom'].value == ''){
		alert('Veuillez saisir le champ "Prénom"');
		oForm.elements['prenom'].focus();
    return false;
	}

/*adresse*/

	if ( (oForm.elements['adr1'].value + oForm.elements['adr2'].value) == ''){
		alert('Veuillez saisir le champ "Adresse"');
		oForm.elements['adr1'].focus();
    return false;
	}

	if ( oForm.elements['cp'].value == ''){
		alert('Veuillez saisir le champ "Code postal"');
		oForm.elements['cp'].focus();
    return false;
	}

	if ( oForm.elements['ville'].value == ''){
		alert('Veuillez saisir le champ "Ville"');
		oForm.elements['ville'].focus();
    return false;
	}
/*tel*/
	if ( (oForm.elements['tel_dom'].value + oForm.elements['tel_prof'].value + oForm.elements['tel_mobile'].value) == ''){
		alert('Veuillez saisir un champ "Téléphone"');
		oForm.elements['tel_dom'].focus();
    return false;
	}
/*mail*/
	if ( oForm.elements['email'].value == ''){
		alert('Veuillez saisir le champ "Email"');
		oForm.elements['email'].focus();
    return false;
	}
	
	if ( !check_email(oForm.elements['email'].value)){
		alert('Veuillez saisir une adresse mail valide');
		oForm.elements['email'].focus();
    return false;
	}

/*date de naissance*/
	if ( oForm.elements['date_naiss'].value == ''){
		alert('Veuillez saisir votre date de naissance');
		oForm.elements['date_naiss'].focus();
    return false;
	}
/*profession*/
	if ( oForm.elements['profession'].value == ''){
		alert('Veuillez saisir le champ "Profession"');
		oForm.elements['profession'].focus();
    return false;
	}
	
	if ( oForm.elements['course_souhaitee'].value == ''){
		alert('Veuillez saisir le numéro de course souhaité');
		oForm.elements['course_souhaitee'].focus();
    return false;
	}
	
  return true;
}

/////

//Controle Date
function checkDateInput(dateLabel, oInput){
	if ( oInput.value.length > 0){
		if ( CheckDate(oInput.value) == 0 ) {
			alert(dateLabel + ' n\'est pas valide');
			oInput.value = '';
			oInput.focus();
		}
	}
}

function CheckDate(d) {
  // Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
  // Le séparateur est défini dans la variable separateur
  var amin=1900; // année mini
  var amax=2050; // année maxi
  var separateur="/"; // separateur entre jour/mois/annee
  var j=(d.substring(0,2));
  var m=(d.substring(3,5));
  var a=(d.substring(6));
  var ok=1;
  if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
     ok=0;
  }
  if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
     ok=0;
  }
  if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
     ok=0;
  }
  if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
     ok=0;
  }
  if (ok==1) {
     var d2=new Date(a,m-1,j);
     j2=d2.getDate();
     m2=d2.getMonth()+1;
     a2=d2.getFullYear();
     if (a2<=100) {a2=1900+a2}
     if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
        ok=0;
     }
  }
  return ok;
}

function check_email(e) {
    ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";
    for(i=0; i < e.length ;i++){
        if(ok.indexOf(e.charAt(i))<0){ 
        return (false);
        }	
    } 
    if (document.images) {
        re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;
        re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
        if (!e.match(re) && e.match(re_two)) {
            return (-1);		
        } 
    }
}

//Inscription
function insc_print(url, idp, ki){
  window.open(url+'?id='+idp+'&ki='+ki,'print','width=620,height=600,status=1,scrollbars=1,resizable=1');
}

//News
function display_article_news(typenews, idnews){
  divToDisplay = 'div_newsarticle_'+typenews+'_'+idnews;
  oDiv = document.getElementById(divToDisplay);
  oA = document.getElementById('a_newsarticle_'+typenews+'_'+idnews);
  if ( oDiv.style.display == ''){
    oDiv.style.display = 'none';
    oA.className = 'news_plus';
  }else{
    oDiv.style.display = '';
    if ( oDiv.innerHTML.length == 0 ) ajax_postForm('news_article.php', 'id='+idnews+'&type='+typenews, resultat_postChanged);
    oA.className = 'news_plus_on';
  }
}
