<!-- 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,prix2){
	
	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;
	} 
	

}

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 qte=getElementsByClassName('qte');
	var total_qte=0;
	for(i=0;i<qte.length;i++) total_qte+= parseInt(qte[i].value);
	var frais_port=0;
	if(total_qte<=24 && total_qte>=1){
		frais_port=18;
	}else if(total_qte>=25 && total_qte<=48){
		frais_port=25;
	}else if(total_qte>=49 && total_qte<=78){
		frais_port=0.95*total_qte;
	}else if(total_qte>=79 && total_qte<=120){
		frais_port=0.70*total_qte;
	}
	//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;
		}
	}
}