/* Affiche dynamiquement les dimensions de la voiture en fonction de la traversée*/

function afficher_dimensions(form)
{
	with(document.getElementById(form))
	{
		if(type_vehicule.value == "Voiture non accompagnée") // on n'affiche les dimensions que s'il s'agit d'une voiture non accompagnée
		{
			// retirer les champs longueur, largeur, etc de la liste des champs obligatoires
			var inputs = document.getElementById(form).getElementsByTagName('INPUT');
			for (var i=0; i<inputs.length; i++) 
			{
		        if (inputs[i].className == 'required') 
		        {
		        	if(inputs[i].value.indexOf(',longueur,largeur,hauteur,poids') >= 0)
		            	inputs[i].value = inputs[i].value.replace(',longueur,largeur,hauteur,poids', '');
		            
		            continue;
		        }
		    }
			document.getElementById('dimensions_3').style.display = "none";
			document.getElementById('dimensions_detaillees').style.display = "none";
			// on teste la traversée
			if(traversee.value == "Corse-Continent" || traversee.value == "Continent-Corse" || traversee.value == "")
			{
				document.getElementById('dimensions_1').style.display = "block";
				document.getElementById('dimensions_2').style.display = "none";
			}
			else if(traversee.value == "Continent-Sardaigne" || traversee.value == "Sardaigne-Continent")
			{
				document.getElementById('dimensions_1').style.display = "none";
				document.getElementById('dimensions_2').style.display = "block";
			}
			else
			{
				document.getElementById('dimensions_1').style.display = "none";
				document.getElementById('dimensions_2').style.display = "none";
			}
			document.getElementById('affiche_fourgon').style.display = "none";
		    document.getElementById('affiche_camion').style.display = "none";
		    document.getElementById('affiche_camion_remorque').style.display = "none";
		    document.getElementById('affiche_remorque').style.display = "none";
		    document.getElementById('affiche_trac_remorque').style.display = "none";
		    /*gestion convoyeur*/
		    document.getElementById('affiche_convoyeur').style.display = "none";
		    nb_convoyeurs.value=0;nb_convoyeurs.defaultValue=0;
		}
		else if(type_vehicule.value == "Autre")
		{
			// retirer les champs longueur, largeur, etc de la liste des champs obligatoires
			var inputs = document.getElementById(form).getElementsByTagName('INPUT');
			for (var i=0; i<inputs.length; i++) 
			{
		        if (inputs[i].className == 'required') 
		        {
		        	if(inputs[i].value.indexOf(',longueur,largeur,hauteur,poids') >= 0)
		            	inputs[i].value = inputs[i].value.replace(',longueur,largeur,hauteur,poids', '');
		            
		            continue;
		        }
		    }
			document.getElementById('dimensions_1').style.display = "none";
			document.getElementById('dimensions_2').style.display = "none";
			document.getElementById('dimensions_detaillees').style.display = "none";
			document.getElementById('dimensions_3').style.display = "block";
			document.getElementById('affiche_fourgon').style.display = "none";
		    document.getElementById('affiche_camion').style.display = "none";
		    document.getElementById('affiche_camion_remorque').style.display = "none";
		    document.getElementById('affiche_remorque').style.display = "none";
		    document.getElementById('affiche_trac_remorque').style.display = "none";
		    /*gestion convoyeur*/
		    document.getElementById('affiche_convoyeur').style.display = "block";
		}
		else
		{
			document.getElementById('dimensions_1').style.display = "none";
			document.getElementById('dimensions_2').style.display = "none";
			document.getElementById('dimensions_3').style.display = "none";
			document.getElementById('dimensions_detaillees').style.display = "block";
			
			// ajouter les champs longueur, largeur, etc à la liste des champs obligatoires
			var inputs = document.getElementById(form).getElementsByTagName('INPUT');
			for (var i=0; i<inputs.length; i++) 
			{
		        if (inputs[i].className == 'required') 
		        {
		        	if(inputs[i].value.indexOf(',longueur,largeur,hauteur,poids') < 0)
		            	inputs[i].value += ",longueur,largeur,hauteur,poids";
		            continue;
		        }
		    }
		    /*affichage de l'aide à droite si nécessaire */
		    if(type_vehicule.value == "Fourgon")
		    {
		    	document.getElementById('affiche_fourgon').style.display = "block";
		    	document.getElementById('affiche_camion').style.display = "none";
		    	document.getElementById('affiche_camion_remorque').style.display = "none";
		    	document.getElementById('affiche_remorque').style.display = "none";
		    	document.getElementById('affiche_trac_remorque').style.display = "none";
		    }
		    else if(type_vehicule.value == "Camion")
		    {
		    	document.getElementById('affiche_fourgon').style.display = "none";
		    	document.getElementById('affiche_camion').style.display = "block";
		    	document.getElementById('affiche_camion_remorque').style.display = "none";
		    	document.getElementById('affiche_remorque').style.display = "none";
		    	document.getElementById('affiche_trac_remorque').style.display = "none";
		    }
		    else if(type_vehicule.value == "Camion-remorque PL")
		    {
		    	document.getElementById('affiche_fourgon').style.display = "none";
		    	document.getElementById('affiche_camion').style.display = "none";
		    	document.getElementById('affiche_camion_remorque').style.display = "block";
		    	document.getElementById('affiche_remorque').style.display = "none";
		    	document.getElementById('affiche_trac_remorque').style.display = "none";
		    }
		    else if(type_vehicule.value == "Semi-remorque")
		    {
		    	document.getElementById('affiche_fourgon').style.display = "none";
		    	document.getElementById('affiche_camion').style.display = "none";
		    	document.getElementById('affiche_camion_remorque').style.display = "none";
		    	document.getElementById('affiche_remorque').style.display = "block";
		    	document.getElementById('affiche_trac_remorque').style.display = "none";
		    }
		    else if(type_vehicule.value == "Tracteur-remorque PL")
		    {
		    	document.getElementById('affiche_fourgon').style.display = "none";
		    	document.getElementById('affiche_camion').style.display = "none";
		    	document.getElementById('affiche_camion_remorque').style.display = "none";
		    	document.getElementById('affiche_remorque').style.display = "none";
		    	document.getElementById('affiche_trac_remorque').style.display = "block";
		    }
		    /*gestion convoyeur*/
		    document.getElementById('affiche_convoyeur').style.display = "block";
		}
	}
}

/* fait la meme chose que la fonction précédente mais pour la partie retour*/

function afficher_dimensions_retour(form)
{
	with(document.getElementById(form))
	{
		if(type_vehicule_retour.value == "Voiture non accompagnée") // on n'affiche les dimensions que s'il s'agit d'une voiture non accompagnée
		{
			// retirer les champs longueur, largeur, etc de la liste des champs obligatoires
			var inputs = document.getElementById(form).getElementsByTagName('INPUT');
			for (var i=0; i<inputs.length; i++) 
			{
		        if (inputs[i].className == 'required') 
		        {
		        	if(inputs[i].value.indexOf(',longueur_retour,largeur_retour,hauteur_retour,poids_retour') >= 0)
		            	inputs[i].value = inputs[i].value.replace(',longueur_retour,largeur_retour,hauteur_retour,poids_retour', '');
		            
		            continue;
		        }
		    }
			document.getElementById('dimensions_3_retour').style.display = "none";
			document.getElementById('dimensions_detaillees_retour').style.display = "none";
			// on teste la traversée
			if(traversee_retour.value == "Corse-Continent" || traversee_retour.value == "Continent-Corse" || traversee_retour.value == "")
			{
				document.getElementById('dimensions_1_retour').style.display = "block";
				document.getElementById('dimensions_2_retour').style.display = "none";
			}
			else if(traversee_retour.value == "Continent-Sardaigne" || traversee_retour.value == "Sardaigne-Continent")
			{
				document.getElementById('dimensions_1_retour').style.display = "none";
				document.getElementById('dimensions_2_retour').style.display = "block";
			}
			else
			{
				document.getElementById('dimensions_1_retour').style.display = "none";
				document.getElementById('dimensions_2_retour').style.display = "none";
			}
			document.getElementById('affiche_retour_fourgon').style.display = "none";
		    document.getElementById('affiche_retour_camion').style.display = "none";
		    document.getElementById('affiche_retour_camion_remorque').style.display = "none";
		    document.getElementById('affiche_retour_remorque').style.display = "none";
		    document.getElementById('affiche_retour_trac_remorque').style.display = "none";
		    /*gestion convoyeur*/
		    document.getElementById('affiche_convoyeur_retour').style.display = "none";
		    nb_convoyeurs_retour.value=0;nb_convoyeurs_retour.defaultValue=0;
		}
		else if(type_vehicule_retour.value == "Autre")
		{
			// retirer les champs longueur, largeur, etc de la liste des champs obligatoires
			var inputs = document.getElementById(form).getElementsByTagName('INPUT');
			for (var i=0; i<inputs.length; i++) 
			{
		        if (inputs[i].className == 'required') 
		        {
		        	if(inputs[i].value.indexOf(',longueur_retour,largeur_retour,hauteur_retour,poids_retour') >= 0)
		            	inputs[i].value = inputs[i].value.replace(',longueur_retour,largeur_retour,hauteur_retour,poids_retour', '');
		            
		            continue;
		        }
		    }
			document.getElementById('dimensions_1_retour').style.display = "none";
			document.getElementById('dimensions_2_retour').style.display = "none";
			document.getElementById('dimensions_3_retour').style.display = "block";
			document.getElementById('affiche_retour_fourgon').style.display = "none";
		    document.getElementById('affiche_retour_camion').style.display = "none";
		    document.getElementById('affiche_retour_camion_remorque').style.display = "none";
		    document.getElementById('affiche_retour_remorque').style.display = "none";
		    document.getElementById('affiche_retour_trac_remorque').style.display = "none";
		    /*gestion convoyeur*/
		    document.getElementById('affiche_convoyeur_retour').style.display = "block";
		}
		else
		{
			document.getElementById('dimensions_1_retour').style.display = "none";
			document.getElementById('dimensions_2_retour').style.display = "none";
			document.getElementById('dimensions_3_retour').style.display = "none";
			document.getElementById('dimensions_detaillees_retour').style.display = "block";
			
			// ajouter les champs longueur, largeur, etc à la liste des champs obligatoires
			var inputs = document.getElementById(form).getElementsByTagName('INPUT');
			for (var i=0; i<inputs.length; i++) 
			{
		        if (inputs[i].className == 'required') 
		        {
		        	if(inputs[i].value.indexOf(',longueur_retour,largeur_retour,hauteur_retour,poids_retour') < 0)
		            	inputs[i].value += ",longueur_retour,largeur_retour,hauteur_retour,poids_retour";
		            continue;
		        }
		    }
		    /*affichage de l'aide à droite si nécessaire */
		    if(type_vehicule_retour.value == "Fourgon")
		    {
		    	document.getElementById('affiche_retour_fourgon').style.display = "block";
		    	document.getElementById('affiche_retour_camion').style.display = "none";
		    	document.getElementById('affiche_retour_camion_remorque').style.display = "none";
		    	document.getElementById('affiche_retour_remorque').style.display = "none";
		    	document.getElementById('affiche_retour_trac_remorque').style.display = "none";
		    }
		    else if(type_vehicule_retour.value == "Camion")
		    {
		    	document.getElementById('affiche_retour_fourgon').style.display = "none";
		    	document.getElementById('affiche_retour_camion').style.display = "block";
		    	document.getElementById('affiche_retour_camion_remorque').style.display = "none";
		    	document.getElementById('affiche_retour_remorque').style.display = "none";
		    	document.getElementById('affiche_retour_trac_remorque').style.display = "none";
		    }
		    else if(type_vehicule_retour.value == "Camion-remorque PL")
		    {
		    	document.getElementById('affiche_retour_fourgon').style.display = "none";
		    	document.getElementById('affiche_retour_camion').style.display = "none";
		    	document.getElementById('affiche_retour_camion_remorque').style.display = "block";
		    	document.getElementById('affiche_retour_remorque').style.display = "none";
		    	document.getElementById('affiche_retour_trac_remorque').style.display = "none";
		    }
		    else if(type_vehicule_retour.value == "Semi-remorque")
		    {
		    	document.getElementById('affiche_retour_fourgon').style.display = "none";
		    	document.getElementById('affiche_retour_camion').style.display = "none";
		    	document.getElementById('affiche_retour_camion_remorque').style.display = "none";
		    	document.getElementById('affiche_retour_remorque').style.display = "block";
		    	document.getElementById('affiche_retour_trac_remorque').style.display = "none";
		    }
		    else if(type_vehicule_retour.value == "Tracteur-remorque PL")
		    {
		    	document.getElementById('affiche_retour_fourgon').style.display = "none";
		    	document.getElementById('affiche_retour_camion').style.display = "none";
		    	document.getElementById('affiche_retour_camion_remorque').style.display = "none";
		    	document.getElementById('affiche_retour_remorque').style.display = "none";
		    	document.getElementById('affiche_retour_trac_remorque').style.display = "block";
		    }
		    /*gestion convoyeur*/
		    document.getElementById('affiche_convoyeur_retour').style.display = "block";
		}
	}
}

// fonction pour afficher ou non les champs concernant le retour
function afficher_retour(valeur, form)
{
	if(valeur == '1')
	{
		document.getElementById('retour').style.display = "block";
		// ajouter les champs de retour à la liste des champs obligatoires
		var inputs = document.getElementById(form).getElementsByTagName('INPUT');
		for (var i=0; i<inputs.length; i++) 
		{
	        if (inputs[i].className == 'required') 
	        {
	        	if(inputs[i].value.indexOf(',traversee_retour,port_retour,date_retour,type_vehicule_retour') < 0)
	             inputs[i].value += ",traversee_retour,port_retour,date_retour,type_vehicule_retour";
	            continue;
	        }
	    }
	}
	else
	{
		document.getElementById('retour').style.display = "none";
		// retirer les champs de retour de la liste des champs obligatoires
		var inputs = document.getElementById(form).getElementsByTagName('INPUT');
		for (var i=0; i<inputs.length; i++) 
		{
	        if (inputs[i].className == 'required') 
	        {
	        	if(inputs[i].value.indexOf(',traversee_retour,port_retour,date_retour,type_vehicule_retour') >= 0)
	            	inputs[i].value = inputs[i].value.replace(',traversee_retour,port_retour,date_retour,type_vehicule_retour', '');
	            
	            continue;
	        }
	    }
	}
}

// fonction pour afficher les champs vehicule et convoyeur pour le retour
function afficher_vehicule_convoyeur_retour(checkbox, id_form)
{
	if(!checkbox.checked) // si c'est coché
	{
		document.getElementById('bloc_nb_convoyeurs_retour').style.display = "block";
		document.getElementById('bloc_type_vehicule_retour').style.display = "block";
		// ajouter les champs de retour à la liste des champs obligatoires
		var inputs = document.getElementById(id_form).getElementsByTagName('INPUT');
		for (var i=0; i<inputs.length; i++) 
		{
	        if (inputs[i].className == 'required') 
	        {
	            inputs[i].value += ",type_vehicule_retour";
	            continue;
	        }
	    }
	}
	else
	{
		document.getElementById('bloc_nb_convoyeurs_retour').style.display = "none";
		document.getElementById('bloc_type_vehicule_retour').style.display = "none";
		// retirer les champs de retour de la liste des champs obligatoires
		var inputs = document.getElementById(id_form).getElementsByTagName('INPUT');
		for (var i=0; i<inputs.length; i++) 
		{
	        if (inputs[i].className == 'required') 
	        {
	        	if(inputs[i].value.indexOf(',type_vehicule_retour') >= 0)
	            	inputs[i].value = inputs[i].value.replace(',type_vehicule_retour', '');
	            continue;
	        }
	    }
	    document.getElementById('affiche_retour_fourgon').style.display = "none";
		document.getElementById('affiche_retour_camion').style.display = "none";
		document.getElementById('affiche_retour_camion_remorque').style.display = "none";
		document.getElementById('affiche_retour_remorque').style.display = "none";
		document.getElementById('affiche_retour_trac_remorque').style.display = "none";
	}
}


// fonction pour afficher les bons ports en fonction de la traversée choisie
function regler_ports(traversee, voyage)
{
	var select_depart = document.getElementById('port_depart'+voyage);
	var select_arrivee = document.getElementById('port_arrivee'+voyage);
	var options_depart = select_depart.getElementsByTagName('OPTION');
	var options_arrivee = select_arrivee.getElementsByTagName('OPTION');

	if(traversee != "")
	{
		// on zigouille toutes les options des 2 select pour les reconstruire après
		for(var i = options_depart.length - 1; i >= 0 ; i --)
		{
			select_depart.removeChild(options_depart[i]);
		}
		for(var j = options_arrivee.length - 1; j >= 0 ; j --)
		{
			select_arrivee.removeChild(options_arrivee[j]);
		}
		
		switch(traversee)
		{
			case 'Corse-Continent':
				option_depart1 =  document.createElement('option');
				option_depart1.setAttribute("value", "Ajaccio"); 
				option_depart1.appendChild(document.createTextNode("Ajaccio"));
				select_depart.appendChild(option_depart1);
				
				option_depart2 =  document.createElement('option'); 
				option_depart2.setAttribute("value", "Bastia"); 
				option_depart2.appendChild(document.createTextNode("Bastia"));
				select_depart.appendChild(option_depart2);
				
				option_depart3 =  document.createElement('option'); 
				option_depart3.setAttribute("value", "Propriano"); 
				option_depart3.appendChild(document.createTextNode("Propriano"));
				select_depart.appendChild(option_depart3);
				
				option_arrivee1 =  document.createElement('option');
				option_arrivee1.setAttribute("value", "Marseille"); 
				option_arrivee1.appendChild(document.createTextNode("Marseille"));
				select_arrivee.appendChild(option_arrivee1);
				
			break;
			case 'Continent-Corse':
				option_depart1 =  document.createElement('option');
				option_depart1.setAttribute("value", "Marseille"); 
				option_depart1.appendChild(document.createTextNode("Marseille"));
				select_depart.appendChild(option_depart1);
				
				option_arrivee1 =  document.createElement('option');
				option_arrivee1.setAttribute("value", "Bastia"); 
				option_arrivee1.appendChild(document.createTextNode("Bastia"));
				select_arrivee.appendChild(option_arrivee1);
				
				option_arrivee2 =  document.createElement('option');
				option_arrivee2.setAttribute("value", "Ajaccio"); 
				option_arrivee2.appendChild(document.createTextNode("Ajaccio"));
				select_arrivee.appendChild(option_arrivee2);
				
				option_arrivee3 =  document.createElement('option');
				option_arrivee3.setAttribute("value", "Propriano"); 
				option_arrivee3.appendChild(document.createTextNode("Propriano"));
				select_arrivee.appendChild(option_arrivee3);
				
			break;
			case 'Sardaigne-Continent':
				option_depart1 =  document.createElement('option');
				option_depart1.setAttribute("value", "Porto-Torres"); 
				option_depart1.appendChild(document.createTextNode("Porto-Torres"));
				select_depart.appendChild(option_depart1);
				
				option_arrivee1 =  document.createElement('option');
				option_arrivee1.setAttribute("value", "Marseille"); 
				option_arrivee1.appendChild(document.createTextNode("Marseille"));
				select_arrivee.appendChild(option_arrivee1);
			break;
			case 'Continent-Sardaigne':
				option_depart1 =  document.createElement('option');
				option_depart1.setAttribute("value", "Marseille"); 
				option_depart1.appendChild(document.createTextNode("Marseille"));
				select_depart.appendChild(option_depart1);
				
				option_arrivee1 =  document.createElement('option');
				option_arrivee1.setAttribute("value", "Porto-Torres"); 
				option_arrivee1.appendChild(document.createTextNode("Porto-Torres"));
				select_arrivee.appendChild(option_arrivee1);
			break;
			case 'Sardaigne-Corse':
				option_depart1 =  document.createElement('option');
				option_depart1.setAttribute("value", "Porto-Torres"); 
				option_depart1.appendChild(document.createTextNode("Porto-Torres"));
				select_depart.appendChild(option_depart1);
				
				option_arrivee1 =  document.createElement('option');
				option_arrivee1.setAttribute("value", "Propriano"); 
				option_arrivee1.appendChild(document.createTextNode("Propriano"));
				select_arrivee.appendChild(option_arrivee1);
			break;
			case 'Corse-Sardaigne':
				option_depart1 =  document.createElement('option'); 
				option_depart1.setAttribute("value", "Propriano"); 
				option_depart1.appendChild(document.createTextNode("Propriano"));
				select_depart.appendChild(option_depart1);
				
				option_arrivee1 =  document.createElement('option');
				option_arrivee1.setAttribute("value", "Porto-Torres"); 
				option_arrivee1.appendChild(document.createTextNode("Porto-Torres"));
				select_arrivee.appendChild(option_arrivee1);
			break;
			
		}
	}
}

// fonction qui vérifie le gabarit en f° de la longueur, largeur etc 
function verif_gabarit(type_vehicule, longueur, largeur, hauteur, poids)
{
	//pour les personnes ecrivant avec des virgules
	longueur = longueur.replace(",",".");
	largeur = largeur.replace(",",".");
	hauteur = hauteur.replace(",",".");
	poids = poids.replace(",",".");
	
	
	if(!IsNumeric(longueur) || !IsNumeric(largeur) || !IsNumeric(hauteur) || !IsNumeric(poids))
		return false;
	else
	{
		switch(type_vehicule)
		{
			case 'Fourgon':
				if(longueur > 7 || largeur > 2.55 || hauteur > 4.2 || poids > 3.5)
					return false;
			break;
			case 'Camion':
				if(longueur > 12 || largeur > 2.55 || hauteur > 4.2 || poids > 26)
					return false;
			break;
			case 'Semi-remorque':
				if(longueur > 14.04 || largeur > 2.55 || hauteur > 4.2 || poids > 34)
					return false;
			break;
			case 'Tracteur-remorque PL':
				if(longueur > 16.5 || largeur > 2.55 || hauteur > 4.2 || poids > 40)
					return false;
			break;
			case 'Camion-remorque PL':
				if(longueur > 18 || largeur > 2.55 || hauteur > 4.2 || poids > 40)
					return false;
			break;
			default:
				return true;
			break;
		}
	}
	return true;
}


 //vérifie si la chaine envoyée est de type numérique
function IsNumeric(sText)
{
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;

	for (i = 0; i < sText.length && IsNumber == true; i++)
	{
		Char = sText.charAt(i);
		if (ValidChars.indexOf(Char) == -1)
		{
			IsNumber = false;
		}
	}
	return IsNumber;
} 
