<!-- fonction retournant un tableau contenant tous les éléments html ayant la classe donnée en param -->
function getElementsByClassName(classname){
        var rl = new Array();
        var re = new RegExp('(^| )'+classname+'( |$)');
        var ael = document.getElementsByTagName('*');
        var op = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
        if (document.all && !op) ael = document.all;
        for(i=0, j=0 ; i<ael.length ; i++) {
                if(re.test(ael[i].className)) {
                        rl[j]=ael[i];
                        j++;
                }
        }
        return rl;
}

function calcul(id, prix){
	if(!isNaN(parseInt(document.getElementById('qte_'+id).value) ) ){
		var qte = parseInt(document.getElementById('qte_'+id).value);
		var qte2=document.getElementById('qte_'+id).value.toString();
		if(qte2.substring(0,1)==0){
			qte=0;	
		}
		if(qte==0){
			document.getElementById('qte_'+id).value=0;
			document.getElementById('ss_total_'+id).value = 0;
			init();
		}else{
			document.getElementById('ss_total_'+id).value = (qte*prix).toFixed(2);	
			init();
		}
	}else{
		document.getElementById('ss_total_'+id).value = 0;
	/*	document.getElementById('qte_'+id).value=0;*/
	} 
	

}

function init(){
	//CALCUL DU TOTAL 
	var tab_qte = getElementsByClassName('ss_total');
	var total=0;
	for(var i=0;i<tab_qte.length;i++) total += parseFloat(tab_qte[i].value);
	//CALCUL DES FRAIS DE PORT
	var total_qte=0;
	var total_qte2=0;
	var id;
	$(".fp").each(function(){
		id=$(this).attr("id").split("_");
		id=id[1];
		
		if($(this).val()==10){
			if($("#qte_"+id).val()!=""){
				total_qte+=parseInt($("#qte_"+id).val());
			}
		}else{
			if($("#qte_"+id).val()!=""){
				total_qte2+=parseInt($("#qte_"+id).val());
			}
		}
	});
	
	var frais_port=0;
	if(total_qte==1){
		frais_port=10;
	}else if(total_qte==2){
		frais_port=11;
	}else if(total_qte==3 || total_qte==4 || total_qte==5){
		frais_port=12;
	}else if(total_qte==6 || total_qte==7 || total_qte==8 || total_qte==9 || total_qte==10 || total_qte==11){
		frais_port=16;
	}else if(total_qte==12){
		frais_port=20;
	}else{
		frais_port=0;
	}
	
	if(total_qte2!=0){
		frais_port=frais_port+(total_qte2*11);
	}
	
	document.getElementById('fp').value = frais_port.toFixed(2);
	
	//CALCUL DU TOTAL
	total=total+frais_port;
	document.getElementById('total').value = total.toFixed(2);
}
	
	
<!-- Fonction de vérification formulaire
function verif_devis(email)
{
	var arobase = email.indexOf("@")
	var point = email.lastIndexOf(".")
	if((arobase < 2)||(point + 2 > email.length)||(point < arobase+2)) 
	{ 
		alert("Cet Email est erroné !");
		return false; 
	}
	else 
	{ 
		if (document.devis.nom.value=="" || document.devis.prenom.value=="" || document.devis.adresse.value=="" || document.devis.ville.value=="" || document.devis.code_postal.value=="" || document.devis.tel.value=="")
		{
			alert("Veuillez remplir tous les champs marqués d'une étoile");
			return false;
		}
		else
		{
			return true;
		}
	}
}
