//jumpmenu
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

//CheckFormCours
function checkFormCours(){
	if((document.formCours.cours_F.value - document.formCours.cours_D.value) < 1){
		alert("Le cours dois durer au moins 1 heure.");
		return false;
	}
	return true;
}

//CheckFormSponsors
function checkFormSponsors(){
	if(document.formSponsors.texteSponsor.value=="" || document.formSponsors.fileHome.value=="" || document.formSponsors.fileSponsor.value==""){
		alert("Tous les champs doivent être remplis");
		document.formSponsors.texteSponsor.focus();
		return false;
	}
	return true;
}

//Affichage du sous-menu
function showMenu(idNumber) {
	var menuCount = 7;
	
	// Hide Empty Submenu
	document.getElementById("Empty").style.display="none";
	
	// Highlight Menu and displays Submenu
	for (i=0; i< menuCount; i++) {
		if(i == idNumber) { // Highlight & Show submenu
			try {
				
				//document.getElementById("M" + i).style.backgroundColor = "#9E0933";
				document.getElementById("SUBM" + i).style.display="block";
				
			} catch(err) {
				alert("Please check menuCount : " + i);
			}
		} else {
			try {
				//document.getElementById("M" + i).style.backgroundColor = "#2A0001";
				document.getElementById("SUBM" + i).style.display="none";
				
			} catch(err) {
				alert("Please check menuCount : " + i);
			}
		}
	}
}

//Popup Avarie
function popupAvarie(url){
	bx=(((screen.availWidth)/2)-310);
	by=(((screen.availHeight)/2)-210);
	browser=open(url,"avarie","toolbar=no,location=no,directories=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=620,height=460,top="+by+",left="+bx+",alwaysraised=yes");
}

//Popup Aide
function popupHelp(url){
	bx=(((screen.availWidth)/2)-310);
	by=(((screen.availHeight)/2)-210);
	browser=open(url,"avarie","toolbar=no,location=no,directories=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=620,height=460,top="+by+",left="+bx+",alwaysraised=yes");
}

//Fonction qui vérifie que l'expression est un e-mail
function isMail(expression) {
	var myRegExp = /^.+@.+\..{2,3}$/
	return myRegExp.test(expression);
}

//CheckUser
function checkUser(form){
	//Nom
	if(form.Nom.value.length == 0){
		alert("Veuillez renter le nom de l\'utilisateur");
		form.Nom.focus();
		return false;
	}
	//Prénom
	if(form.Prenom.value == ""){
		alert("Veuillez renter le prénom de l\'utilisateur");
		form.Prenom.focus();
		return false;
	}
	//Pseudo
	if(form.Pseudo.value == ""){
		alert("Veuillez renter le pseudo de l\'utilisateur");
		form.Pseudo.focus();
		return false;
	}
	//E-mail
	if(form.Email.value == ""){
		alert("Veuillez renter l'e-mail de l\'utilisateur");
		form.Email.focus();
		return false;
	}
	//Check e-mail
	if(!isMail(form.Email.value)){
		alert("Veuillez rentre une adresse email correcte");
		form.Email.value = "";
		form.value = "";
		form.Email.focus()
		return false
	}
	//Password
	if(form.Password.value == ""){
		alert("Veuillez renter le mot de passe de l\'utilisateur");
		form.Password.focus();
		return false;
	}
	//ConfirmPassword
	/*if(form.Password.value != form.confirmPassword.value){
		alert("Le mot de passe et sa confirmation ne coïncident pas");
		form.Password.value = "";
		form.confirmPassword.value = "";
		form.Password.focus();
		return false;
	}*/
	return true;
}

//checkForm
function checkForm(){
	//Check la grande image par rapport à la petite
	if((document.formElement.pt_image.value.length == 0) && (document.formElement.gd_image.value.length != 0)){
		alert("Vous devez dabord saisir une petite image");
		document.formElement.gd_image.value = "";
		return false;
	}
	//Check si la synthaxe de la petite image est correct
	if((document.formElement.pt_image.value.length != 0) && (document.formElement.pt_image.value.search("Thb_") == -1)){
		alert("Le nom de votre petite image doit commencer par \"Thb_\"");
		return false;
	}
	//Check si la synthaxe de la grande image est correct
	if((document.formElement.gd_image.value.length != 0) && (document.formElement.gd_image.value.search("Gd_") == -1)){
		alert("Le nom de votre grande image doit commencer par \"Gd_\"");
		return false;
	}
	//Check si le libellé du fichier a été saisi
	if((document.formElement.nameFile.value.length != 0) && (document.formElement.descFile.value == "")){
		alert("Veuillez indiquer le libellé du fichier");
		return false;
	}
	return true;
}

function checkBateau(){
	//Check si il y a un nom de bateau
	if(document.formBateauAdd.Nom.value.length == 0){
		alert("Veuillez saisir un nom de bateau");
		document.formBateauAdd.Nom.focus();
		return false;
	}
	//Check si il y a un type de bateau
	if(document.formBateauAdd.TID.value.length == 0){
		alert("Veuillez choisir un type de bateau");
		document.formBateauAdd.TID.focus();
		return false;
	}
	return true;
}
 //Check les dates de non facturation
function checkInvoicePeriod(){
	periodStart = document.formInvoicePeriod.periodStart.value;
	periodEnd = document.formInvoicePeriod.periodEnd.value;
	
	//Contrôle de saisie des 2 valeurs
	if(periodStart=="" || periodEnd=="" || periodStart=="jj-mm-aaaa" || periodEnd=="jj-mm-aaaa"){
		alert("Veuillez définir une période de non facturation");
			document.formInvoicePeriod.periodStart.value = "jj-mm-aaaa";
			document.formInvoicePeriod.periodEnd.value = "jj-mm-aaaa";
			document.formInvoicePeriod.periodStart.focus();
			return false;
	}
	//Du
	if(periodStart.length != 10 && periodStart!=0){
		alert("Date de départ incorrecte");
		document.formInvoicePeriod.periodStart.value = "jj-mm-aaaa";
		document.formInvoicePeriod.periodStart.focus();
		return false;
	}
	if(periodStart!="" && periodStart!="jj-mm-aaaa" && periodStart!=0){
		dayStart = periodStart.substr(0,2);
		monthStart = periodStart.substr(3,2);
		yearStart = periodStart.substr(6,4);
		if(isNaN(dayStart) || isNaN(monthStart) || isNaN(yearStart)){
			alert("Date de départ incorrecte");
			document.formInvoicePeriod.periodStart.value = "jj-mm-aaaa";
			document.formInvoicePeriod.periodStart.focus();
			return false;
		}
	}
	//Au
	if(periodEnd.length != 10 && periodEnd!=0){
		alert("Date de fin incorrecte");
		document.formInvoicePeriod.periodEnd.value = "jj-mm-aaaa";
		document.formInvoicePeriod.periodEnd.focus();
		return false;
	}
	if(periodEnd!="" && periodEnd!="jj-mm-aaaa" && periodEnd!=0){
		dayEnd = periodEnd.substr(0,2);
		monthEnd = periodEnd.substr(3,2);
		yearEnd = periodEnd.substr(6,4);
		if(isNaN(dayEnd) || isNaN(monthEnd) || isNaN(yearEnd)){
			alert("Date de fin incorrecte");
			document.formInvoicePeriod.periodEnd.value = "jj-mm-aaaa";
			document.formInvoicePeriod.periodEnd.focus();
			return false;
		}
	}
	//Check que la 1ère date soit inférieur à la deuxième
	periodStart_TMP = periodStart.substr(6,4)+""+periodStart.substr(3,2)+""+periodStart.substr(0,2);
	periodEnd_TMP = periodEnd.substr(6,4)+""+periodEnd.substr(3,2)+""+periodEnd.substr(0,2);
	if(periodStart_TMP > periodEnd_TMP){
		alert("Période de non facturation: \n- La date de fin doit être supérieure à la date de début");
		return false;
	}
	return true;
}

//Check des tarifs
function checkTarif(prix1, prix2, prix3, mode){	
	if(mode == "BM"){
		if(prix1.value=="" || prix2.value=="" || prix3.value==""){
			alert("Veuillez définir les tarifs");
			prix1.focus();
			return false;
		}
		if(isNaN(prix1.value)){
			alert("Les tarifs doivent être des chiffres");
			prix1.value = "";
			prix1.focus();
			return false;
		}
		if(isNaN(prix2.value)){
			alert("Les tarifs doivent être des chiffres");
			prix2.value = "";
			prix2.focus();
			return false;
		}
		if(isNaN(prix3.value)){
			alert("Les tarifs doivent être des chiffres");
			prix3.value = "";
			prix3.focus();
			return false;
		}
	} else {
		if(prix1.value==""){
			alert("Veuillez définir les tarifs");
			prix1.focus();
			return false;
		}
		if(isNaN(prix1.value)){
			alert("Les tarifs doivent être des chiffres");
			prix1.value = "";
			prix1.focus();
			return false;
		}
	}
	return true;
}

//Contrôle les formats des dates d'indisponibilités
function checkBateauDisponibility(oldTypeBateau,typeBateau,dispoDeb,dispoFin,oldDispoDeb,oldDispoFin){
	if(typeBateau==-3 || typeBateau==-4){
		//Déclaration des variables
		var myYearD = new String();
		var myMonthD = new String();
		var myDayD = new String();
		var myDateD = new String();
		var myYearF = new String();
		var myMonthF = new String();
		var myDayF = new String();
		var myDateF = new String();
		
		//Détermine si l'utilisateur souhaite supprimer l'indisponiblité
		if(oldTypeBateau==typeBateau && dispoDeb=="" && dispoFin==""){
			if(!confirm('Vous êtes sur le point de supprimer une période d\'indisponibilité\nLe bateau n\'ayant pas été rendu disponible à nouveau, les locations seront toutes conservées')){
				return false;
			}
		} else {
			//Détermine si la date de début d'indisponibilité a été définie
			if(dispoDeb=="" || dispoDeb=="jj-mm-aaaa"){
				alert('Vous devez définir au moins la date de début d\'indisponibilité (jj-mm-aaaa)');
				return false;
			}
		
			//Détermine si le format de date de début d'indisponibilité est juste
			myDayD = dispoDeb.charAt(0)+dispoDeb.charAt(1);
			myMonthD = dispoDeb.charAt(3)+dispoDeb.charAt(4);
			myYearD = dispoDeb.charAt(6)+dispoDeb.charAt(7)+dispoDeb.charAt(8)+dispoDeb.charAt(9);
			myDateD = myYearD+myMonthD+myDayD;
			mySeparatorD = dispoDeb.charAt(2)+dispoDeb.charAt(5);
			if(dispoDeb.length!=10 || isNaN(myDayD) || isNaN(myMonthD) || isNaN(myYearD) || mySeparatorD!='--'){
				alert('Le format de la date de début d\'indisponiblité est faux (jj-mm-aaaa)');
				return false;
			}
			
			//Détermine si le format de date de fin d'indisponibilité est juste
			if(dispoFin!="" && dispoFin!="jj-mm-aaaa" && dispoFin!="00-00-0000"){
				myDayF = dispoFin.charAt(0)+dispoFin.charAt(1);
				myMonthF = dispoFin.charAt(3)+dispoFin.charAt(4);
				myYearF = dispoFin.charAt(6)+dispoFin.charAt(7)+dispoFin.charAt(8)+dispoFin.charAt(9);
				myDateF = myYearF+myMonthF+myDayF;
				mySeparatorF = dispoFin.charAt(2)+dispoFin.charAt(5);
				if(dispoFin.length!=10 || isNaN(myDayF) || isNaN(myMonthF) || isNaN(myYearF) || mySeparatorF!='--'){
					alert('Le format de la date de fin d\'indisponiblité est faux (jj-mm-aaaa)');
					return false;
				}
			}
			
			//Détermine si la date de début est postérieur à la date de fin
			if(myDateD>myDateF && dispoFin!="" && dispoFin!="jj-mm-aaaa" && dispoFin!="00-00-0000"){
				alert('La date de début d\'indisponiblité ne peut pas être après la date de fin d\'indisponiblité');
				return false;
			}
			
			//Détermine si les dates d'indisponiblités ont été changée en même temps
			/*if(oldDispoDeb!=dispoDeb && oldDispoFin!=dispoFin){
				alert('Les dates d\'indisponiblité ne peuvent être changées qu\'une à la fois');
				dispoDeb = 'oldDispoDeb';
				dispoFin = 'oldDispoFin';
				return false;
			}*/
		}
	}
	
	//Avertissement quant au changement de type du bateau
	if(!confirm('Attention!\n\nsi vous avez changer le type du bateau, veuillez vous assurer que le type du bateau n\'a pas changé (moteur -> moteur non dispo et voile -> voile non dispo)\n\nSi vous avez indiqué des dates d\'indisponibilité, les locations seront supprimées qu\'une fois le bateau à nouveau disponible')){
		return false;
	} else {
		return true;
	}
}

/*function checkTarif(mode){
	if(mode == "BM"){
		if(document.formTarifBM.tarif1.value=="" || document.formTarifBM.tarif2.value=="" || document.formTarifBM.tarif3.value==""){
			alert("Veuillez définir les tarifs");
			document.formTarifBM.tarif1.focus();
			return false;
		}
		if(isNaN(document.formTarifBM.tarif1.value)){
			alert("Les tarifs doivent être des chiffres");
			document.formTarifBM.tarif1.value = "";
			document.formTarifBM.tarif1.focus();
			return false;
		}
		if(isNaN(document.formTarifBM.tarif2.value)){
			alert("Les tarifs doivent être des chiffres");
			document.formTarifBM.tarif2.value = "";
			document.formTarifBM.tarif2.focus();
			return false;
		}
		if(isNaN(document.formTarifBM.tarif3.value)){
			alert("Les tarifs doivent être des chiffres");
			document.formTarifBM.tarif3.value = "";
			document.formTarifBM.tarif3.focus();
			return false;
		}
	} else {
		if(document.formTarifBV.tarif1.value==""){
			alert("Veuillez définir les tarifs");
			document.formTarifBV.tarif1.focus();
			return false;
		}
		if(isNaN(document.formTarifBV.tarif1.value)){
			alert("Les tarifs doivent être des chiffres");
			document.formTarifBV.tarif1.value = "";
			document.formTarifBV.tarif1.focus();
			return false;
		}
	}
	return true;
}*/
