// **************************** Fonction ouverture d'une Pop-Up **************************** function open_Window(theURL,winName,features) { window.open(theURL,winName,features); } // **************************** Fin de la fonction Pop-Up **************************** // **************************** Fonction test des champs temps **************************** function verifTemps(chpTemps){ var tempTab = chpTemps.value.split(':'); var temps = 0; for(i = 0; i < tempTab.length; i++){ // Conversion de la valeur en entier var t = parseInt(tempTab[i]); // Teste si la valeur est un chiffre if(isNaN(t)){ alert('Seuls les chiffres sont acceptés'); chpTemps.value = '00:00:00'; chpTemps.focus(); return(false); } // Teste si les minutes et (ou) les secondes sont comprises entre 0 et 59 else if(i != 0 && tempTab[i] > 59){ alert('Les minutes ou les secondes ne peuvent exéder 59'); chpTemps.value = '00:00:00'; chpTemps.focus(); return(false); } else { // Cumul du temps temps = (( Number( tempTab[0] )) + ( Number( tempTab[1] ) / 60 ) + ( Number( tempTab[2] ) / 3600 ) ) ; //alert("temps " + temps); // Si cumul <= 0 return faux (invalide) if(temps <= 0) { alert('Le temps doit être supérieur ou égal à une seconde'); chpTemps.value = '00:00:00'; chpTemps.focus(); return(false); }else{ return temps; } } } } // **************************** Fin de la fonction test des champs temps **************************** // **************************** Fonction de calcul de la Vitesse en m/min **************************** function vitesse(temps, palier) { if(temps != 0) { return ((Math.round(((palier/temps) / 60 ) * 100 )) / 100); } else{ return (false); } } function calcVitesse(chpTemps, v_field) { var temps = verifTemps(chpTemps); // alert(temps); if (temps) { switch (v_field){ case 1 : vitesse1 = (800 / Number(temps) / 60); document.forms.test.vitesse1.readonly = false; document.forms.test.vitesse1.value = String( vitesse1 ); document.forms.test.vitesse1.readonly = true; break; case 2 : palier = 800; vitesse2 = vitesse(temps, palier); document.forms.test.vitesse2.readonly = false; document.forms.test.vitesse2.value = String( vitesse2 ); document.forms.test.vitesse2.readonly = true; break; case 3 : palier = document.forms.test.palier3.value; vitesse3 = vitesse(temps, palier); document.forms.test.vitesse3.readonly = false; document.forms.test.vitesse3.value = String( vitesse3 ); document.forms.test.vitesse3.readonly = true; break; } } } // **************************** Fin de la fonction de calcul de la Vitesse en m/min **************************** // **************************** Fonction de calcul de la VMA et de la VO2Max **************************** function tvma(temps, palier) { if(temps != 0) { return ((Math.round((palier/temps)/10))/ 100); }else{ return (false); } } function tvo2max(temps, palier) { if(temps != 0) { return ((Math.round(((palier/temps) * 3.5 )/10))/ 100); }else{ return (false); } } function calcvma(chpTemps, v_field) { var temps = verifTemps(chpTemps); // alert(temps); if (temps) { switch (v_field){ case 1 : palier = document.forms.test.palier3.value; // alert(palier); vma = tvma(temps, palier); // alert(vma); document.forms.test.vma.readonly = false; document.forms.test.vma.value = String( vma ); document.forms.test.vma.readonly = true; vo2max= tvo2max(temps, palier); //alert(vo2max); document.forms.test.vo2max.readonly = false; document.forms.test.vo2max.value = String( vo2max ); document.forms.test.vo2max.readonly = true; break; } } } // **************************** Fin de la fonction de calcul de la VMA et de la VO2Max **************************** // **************************** Fonction test des champs FC **************************** function verifFc(chpFc) { var fcTab = chpFc; var fc = Number(chpFc.value); // alert (fc); if(fc < 20 || fc > 220){ alert('La FC doit être comprise dans des limites raisonnables !'); chpFc.value = '0'; chpFc.focus(); return(false); } } // **************************** Fin de la fonction test des champs FC **************************** // **************************** Fonction d'évaluation de la récupération **************************** function evalRecup(fcrecup, fcp3){ var fcR = Number(fcrecup.value); // alert("La FC après 5 minutes de récupération est de " + fcR); var fcM = Number(fcp3.value); // alert("La FC du palier 3 est de " + fcM); var recup = " "; if (fcR < (fcM * 0.5652)) { recup = "Excellente"; //alert ("Eval récup Excellente"); document.forms.test.recup.readonly = false; document.forms.test.recup.value = String( recup ); document.forms.test.recup.readonly = true; } else if (fcR < (fcM * 0.5815)) { recup = "Très bonne"; //alert ("Eval récup Très bonne"); document.forms.test.recup.readonly = false; document.forms.test.recup.value = String( recup ); document.forms.test.recup.readonly = true; } else if (fcR < (fcM * 0.6033)) { recup = "Bonne"; //alert ("Eval récup Bonne"); document.forms.test.recup.readonly = false; document.forms.test.recup.value = String( recup ); document.forms.test.recup.readonly = true; } else if (fcR < (fcM * 0.6304)) { recup = "Moyenne"; //alert ("Eval récup Moyenne"); document.forms.test.recup.readonly = false; document.forms.test.recup.value = String( recup ); document.forms.test.recup.readonly = true; } else if (fcR < (fcM * 0.6902)) { recup = "Mauvaise"; //alert ("Eval récup Mauvaise"); document.forms.test.recup.readonly = false; document.forms.test.recup.value = String( recup ); document.forms.test.recup.readonly = true; } else { recup = "Très mauvaise"; //alert ("Eval récup est Très mauvaise"); document.forms.test.recup.readonly = false; document.forms.test.recup.value = String( recup ); document.forms.test.recup.readonly = true; } //alert ("Recup est "+ recup); } // **************************** Fin de la fonction d'évaluation de la récupération **************************** // **************************** Calcul du Temps Indicatif sur 1000 en Capacité Aérobie **************************** function tica () { vma = document.forms.test.vma.value; // volontairement implicite // alert ("la VMA est de " + vma); pma = ((85 + 70.0280112044818) /2); // alert ("la PMA est de " + pma); ticaint = (Math.round((pma*vma/100)*1000)/(3.6*(pma*vma/100))); // alert ("La tica est de " + ticaint + " à mettre en heure !"); var heure = Math.floor(ticaint / 3600); var minute = Math.floor((ticaint - (heure * 3600)) / 60); var seconde = Math.floor(ticaint - (heure * 3600) - (minute * 60)); // alert (heure + ":" + minute + ":" + seconde); heure = (heure < 10) ? "0"+heure : heure ; minute = (minute < 10) ? "0"+minute : minute; seconde= (seconde< 10) ? "0"+seconde : seconde; tica1000 = heure + ":" + minute + ":" + seconde; // alert ("Tica1000 est de " + tica1000); document.forms.test.tica1000.readonly = false; document.forms.test.tica1000.value = String( tica1000 ); document.forms.test.tica1000.readonly = true; } // **************************** Fin du calcul du Temps Indicatif sur 1000 en Capacité Aérobie **************************** // **************************** Fonction 'Apparition d'un bouton de soumission' **************************** function valid(MyForm){ who = MyForm.iduser.value; //alert ("Id de l'utilisateur est " + who); //'62' fcrecup = MyForm.fcrecup.value; //alert ("La FC après récupération est " + fcrecup); //'99' recup = MyForm.recup.value; //alert ("Qualificatif de la récupération " + recup); //'Excellente' ValeurDateServeur = MyForm.dateserveur.value; //alert ("La date du serveur (ValeurDateServeur) est " + ValeurDateServeur); //'30-01-2007' dateserveur = ValeurDateServeur.split("-"); //alert ("La date du serveur (dateserveur) est " + dateserveur); //'30,01,2007' serveur = dateserveur[2] +''+dateserveur[1]+''+dateserveur[0]; //alert ("La date du serveur " + serveur); //'20070130' ValeurDateTest = MyForm.datetest.value; alert ("La date du test (ValeurDateTest) est " + ValeurDateTest);//'30-01-2007' datetest = ValeurDateTest.split("-"); alert ("La date du test (datetest) est " + datetest); //'30,01,2007' test = datetest[2] + '' + datetest[1] + '' + datetest[0]; alert ("La date du test " + test); // Erreur Sous IE déclaré ici //test = datetest[2]+datetest[1]+datetest[0]; //alert ("La date du test " + test); fcp1 = MyForm.fcp1.value; //alert ("La FC du palier 1 est de " + fcp1); fcp3 = MyForm.fcp3.value; //alert ("La Fc au palier 3 est de " + fcp3); vitesse1 = MyForm.vitesse1.value; //alert ("La vitesse au palier 1 est " + vitesse1); vitesse2 = MyForm.vitesse2.value; //alert ("La vitesse au palier 2 est " + vitesse2); vitesse3 = MyForm.vitesse3.value; //alert ("La vitesse au palier 3 est " + vitesse3); vma = MyForm.vma.value; //alert ("La VMA est de " + vma); vo2max = MyForm.vo2max.value; //alert ("La V02max est de " + vo2max); pma = MyForm.pma.value; //alert ("La PMA est " + pma); // pma = ((85 + 70.0280112044818) /2); if (test > serveur){ alert ("Le test ne peut s'être déroulé à une date qui n'a pas encore existé ! ! !"); document.forms.test.datetest.focus(); return(true); }else if (fcp3 < 20 || fcp3 > 220) { alert ("Vous n'avez pas introduit de valeur pour la FC au palier 3"); document.forms.test.fcp3.focus(); return; } else { fcM = fcp3; //alert ("La FCmax est de " + fcM); document.forms.test.fcmax.readonly = false; document.forms.test.fcmax.value = String( fcM ); document.forms.test.fcmax.readonly = true; } if ((vma <= 0) || (vo2max <= 0)) { alert ("Avez-vous entré le temps au Palier 3 ?"); document.forms.test.tempsp3.focus(); return; } else { ticaint = (Math.round((pma*vma/100)*1000)/(3.6*(pma*vma/100))); // alert ("La tica est de " + ticaint + " à mettre en heure !"); var heure = Math.floor(ticaint / 3600); var minute = Math.floor((ticaint - (heure * 3600)) / 60); var seconde = Math.floor(ticaint - (heure * 3600) - (minute * 60)); // alert (heure + ":" + minute + ":" + seconde); heure = (heure < 10) ? "0"+heure : heure ; minute = (minute < 10) ? "0"+minute : minute; seconde= (seconde< 10) ? "0"+seconde : seconde; tica1000 = heure + ":" + minute + ":" + seconde; // alert ("Tica1000 est de " + tica1000); document.forms.test.tica1000.readonly = false; document.forms.test.tica1000.value = String( tica1000 ); document.forms.test.tica1000.readonly = true; } if ((recup != "Excellente") && (recup != "Très bonne") && (recup != "Bonne") && (recup != "Moyenne") && (recup != "Mauvaise") && (recup != "Très mauvaise") || (fcrecup <= 0)){ alert ("Avez-vous entré votre FC après 5' de repos ?"); document.forms.test.fcrecup.focus(); return; } if ((vitesse3 != " ") && (vitesse2 != " ") && (vitesse1 != " ") && (vitesse3 > vitesse2) && (vitesse2 > vitesse1)) { //alert ("La FC du palier 1 est de " + fcp1); //alert ("La Fc au palier 3 est de " + fcp3); //alert ("La vitesse au palier 1 est " + vitesse1); //alert ("La vitesse au palier 2 est " + vitesse2); //alert ("La vitesse au palier 3 est " + vitesse3); //alert ("La PMA est " + pma); B30 = ((fcp3 - fcp1)/(vitesse3 - vitesse1)); //alert ("B30 est de " + B30); B31 = (fcp3 - ((fcp3 - fcp1)/(vitesse3 - vitesse1)) * vitesse3); //alert ("B31 est de " + B31); fcca = (Math.round(B30*pma*(vitesse3/100)+B31)); //alert ("La valeur de la fcca est de "+ fcca); document.forms.test.fcca.readonly = false; document.forms.test.fcca.value = String( fcca ); document.forms.test.fcca.readonly = true; }else{ alert ("Vous avez commis une erreur dans la prise de temps aux différents paliers ! "); return (false); } if (who <= 0){ alert ("Malheureusement, vous n'êtes pas enregistré ... vous ne pourrez donc pas conserver vos données en mémoire et obtenir un plan d'entraînement !"); return; }else { document.getElementById('btn_val').style.visibility = 'visible'; } } // **************************** Fin de la fonction 'Apparition d'un bouton de soumission' **************************** // **************************** Fonction 'Vérification date test' *************************** function checkdate(objName) { var datefield = objName; if (chkdate(objName) == false) { datefield.select(); alert("La date n'est pas valide !"); datefield.focus(); return false; } else { return true; } } function chkdate(objName) { // var strDatestyle = "US"; //United States date style var strDatestyle = "EU"; //European date style var strDate; var strDateArray; var strDay; var strMonth; var strYear; var intday; var intMonth; var intYear; var booFound = false; var datefield = objName; var strSeparatorArray = new Array("-"," ","/","."); var intElementNr; var err = 0; var strMonthArray = new Array(12); strMonthArray[0] = "01"; strMonthArray[1] = "02"; strMonthArray[2] = "03"; strMonthArray[3] = "04"; strMonthArray[4] = "05"; strMonthArray[5] = "06"; strMonthArray[6] = "07"; strMonthArray[7] = "08"; strMonthArray[8] = "09"; strMonthArray[9] = "10"; strMonthArray[10] = "11"; strMonthArray[11] = "12"; strDate = datefield.value; if (strDate.length < 1) { return true; } for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) { if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) { strDateArray = strDate.split(strSeparatorArray[intElementNr]); if (strDateArray.length != 3) { err = 1; return false; }else { strDay = strDateArray[0]; strMonth = strDateArray[1]; strYear = strDateArray[2]; } booFound = true; } } if (booFound == false) { if (strDate.length>5) { strDay = strDate.substr(0, 2); strMonth = strDate.substr(2, 2); strYear = strDate.substr(4); } } if (strYear.length == 2) { strYear = '20' + strYear; } // US style if (strDatestyle == "US") { strTemp = strDay; strDay = strMonth; strMonth = strTemp; } intday = parseInt(strDay, 10); if (isNaN(intday)) { err = 2; return false; } intMonth = parseInt(strMonth, 10); if (isNaN(intMonth)) { for (i = 0;i<12;i++) { if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) { intMonth = i+1; strMonth = strMonthArray[i]; i = 12; } } if (isNaN(intMonth)) { err = 3; return false; } } intYear = parseInt(strYear, 10); if (isNaN(intYear)) { err = 4; return false; } if (intMonth>12 || intMonth<1) { err = 5; return false; } if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) { err = 6; return false; } if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) { err = 7; return false; } if (intMonth == 2) { if (intday < 1) { err = 8; return false; } if (LeapYear(intYear) == true) { if (intday > 29) { err = 9; return false; } } else { if (intday > 28) { err = 10; return false; } } } if (strDatestyle == "US") { intday = (intday < 10) ? "0"+intday : intday ; datefield.value = strMonthArray[intMonth-1] + "-" + intday+"-" + strYear; } else { intday = (intday < 10) ? "0"+intday : intday ; datefield.value = intday + "-" + strMonthArray[intMonth-1] + "-" + strYear; } return true; } function LeapYear(intYear) { if (intYear % 100 == 0) { if (intYear % 400 == 0) { return true; } } else { if ((intYear % 4) == 0) { return true; } } return false; } // **************************** Fin de la fonction 'Vérification date test' *************************** // **************************** Fonction 'Utilisateur enregistré' *************************** function userid(){ var who = document.forms.test.iduser.value; alert ("Id de l'utilisateur est " + who); if (who <= 0){ alert ("Utilisateur non enregistré " + who); return(false); } else { alert ("Utilisateur enregistré " + who); return(false); } }