// **************************************************************************+
// calcul import comanda pel full generic
// **************************************************************************+
// calcula generic
// **************************************************************************+
function calculag() {
   document.forms[0].i1.value = parseInt(document.forms[0].pu1.value) *parseInt(document.forms[0].q1.value);
   document.forms[0].i2.value = parseInt(document.forms[0].pu2.value) *parseInt(document.forms[0].q2.value);
   document.forms[0].i3.value = parseInt(document.forms[0].pu3.value) *parseInt(document.forms[0].q3.value);
   totalitzag();
}

// **************************************************************************+
// totalitza generic
// **************************************************************************+
function totalitzag() {
    document.forms[0].subtotal.value = parseInt(document.forms[0].i1.value) + parseInt(document.forms[0].i2.value) + parseInt(document.forms[0].i3.value);
    if  (document.forms[0].subtotal.value == 0 ) {
	document.forms[0].total.value = 0 ;
    }
    else {
	document.forms[0].total.value = parseInt(document.forms[0].subtotal.value) + parseInt(document.forms[0].correu.value);
    }
}

// **************************************************************************+
// Ajust referenciag
// **************************************************************************+
function referenciag(linia) {

switch (linia)
   {
   case (linia = 1):
	var n = document.forms[0].disc1.value;
	document.forms[0].ref1.value = n;
	preusg(n);
	document.forms[0].q1.value = quantitatg(n);
	document.forms[0].pu1.value = preusg(n);
	break
   case (linia = 2):
	var n = document.forms[0].disc2.value;
	document.forms[0].ref2.value = preusg(n);
	preusg("n");
	document.forms[0].q2.value = quantitatg(n);
	document.forms[0].pu2.value = preusg(n);
	break
   case (linia = 3):
	var n = document.forms[0].disc3.value;
	document.forms[0].ref3.value = n;
	preusg(n);
	document.forms[0].q3.value = quantitatg(n);
	document.forms[0].pu3.value = preusg(n);
	break
   default:
	return 0
   }
calculag()
}

// **************************************************************************+
// Ajust quantitatg
// **************************************************************************+
function quantitatg(ref) {

switch (ref)
   {
   case (ref = ""):
	return 0;
   default:
	return 1;
   }
}

// **************************************************************************+
// Ajust preusg
// **************************************************************************+
function preusg(ref) {

switch (ref)
   {
   case (ref = ""):
	return 0;
   case (ref = "4321678282"):
	return 24.00;
   default:
	return 9.00;
   }
}
// **************************************************************************+
// calcul import comanda
// **************************************************************************+
// calcula
// **************************************************************************+
function calcula() {
   document.forms[0].ah042t.value = parseInt(document.forms[0].ah042p.value) *parseInt(document.forms[0].ah042q.value);
   document.forms[0].ah063t.value = parseInt(document.forms[0].ah063p.value) *parseInt(document.forms[0].ah063q.value);
   document.forms[0].ah068t.value = parseInt(document.forms[0].ah068p.value) *parseInt(document.forms[0].ah068q.value);
   totalitza();
}

// **************************************************************************+
// totalitza
// **************************************************************************+
function totalitza() {
  document.forms[0].subtotal.value = parseInt(document.forms[0].ah042t.value) + parseInt(document.forms[0].ah063t.value) + parseInt(document.forms[0].ah068t.value);
 if  (document.forms[0].subtotal.value == 0 ) {
	 document.forms[0].total.value = 0 ;
    }
    else {
	document.forms[0].total.value = parseInt(document.forms[0].subtotal.value) + parseInt(document.forms[0].correu.value);
    }
}

// **************************************************************************+
// validació dades enviades i preparació correu
// **************************************************************************+
// valform(f)
// **************************************************************************+
function valform(f) {
  var a = (valadre(f.destinatari)) ? true : false;
  a = (a && valadre(f.remitent)) ? true : false;
  a = (a && esple(f.assumpte)) ? true : false; 
  if (a) {
    enviarcorreu(f);
    alert("El missatge de correu serà enviat al destinatari.\nEl remitent  reberà una còpia del mateix  com a prova de que el missatge ha sigut enviat correctament."); 
    } 
  return a;
}

// **************************************************************************+
// tramesa de correu
// **************************************************************************+
function enviarcorreu(formulari) {
  // Construir un URL tipo mailto: amb tots els seus elements:
  // s'inserta una cunya publicitaria
  window.status = "PRT@RRÓ: enviant el missatge de correu";
  var cunya = "\n___________________________________________________________________" + 
                      "\nMissatge enviat a través del web de PORT@RRÓ" +
                      "\nVisiteu el nostre web a http://www.portarro.com";
  formulari.action = "mailto:" +
  formulari.destinatari.value +
  "?cc=" + formulari.remitent.value +
  "&subject=" + formulari.assumpte.value;
  formulari.missatge.value = formulari.missatge.value + cunya;
  formulari.remitent.focus();
  return true;
}

// **************************************************************************+
// tramesa de comanda  Construir un URL tipo mailto: amb tots els seus elements:
// **************************************************************************+
function enviarcomanda(formulari) {

  var desti = "discosbatlle@telepolis.com";
  var cc =  formulari.remitent.value;
  var tema = "Comanda a Discos Batlle";

  formulari.action = "mailto:" +  desti +  "?cc=" + cc +  "&subject=" + tema;
  formulari.d1.focus();

  return true;
}

// **************************************************************************+
// validarcomanda(f)
// **************************************************************************+
function validarcomanda(f) {

  var a = true;

  a = (a && valadre(f.email)) ?  true : false;

  a = (a && esple(f.nom)) ?  true : false;

  a = (a && esple(f.adre)) ?  true : false; 

  a = (a && esple(f.poblacio)) ?  true : false; 
  a = (a && esalfa(f.poblacio)) ?  true : false; 

  a = (a && esple(f.cpostal)) ?  true : false; 
  a = (a && esnum(f.cpostal)) ?  true : false; 
  a = (a && esllarg(f.cpostal, 5)) ?  true : false; 

  a = (a && esple(f.provincia)) ?  true : false; 
  a = (a && esalfa(f.provincia)) ?  true : false;

  if (a) {
    enviarcomanda(f);
    alert("la comanda serà enviada per correu electrònic a Discos Batlle.\nEl remitent en reberà una còpia com a prova de que la butlleta ha sigut enviada correctament."); 

    }

  return a;
}

// **************************************************************************+
// validarcomandag(f)
// **************************************************************************+
function validarcomandag(f) {

  var a = true;

  a = (a && valadre(f.email)) ?  true : false;

  a = (a && esple(f.nom)) ?  true : false;

  a = (a && esple(f.adre)) ?  true : false; 

  a = (a && esple(f.poblacio)) ?  true : false; 
  a = (a && esalfa(f.poblacio)) ?  true : false; 

  a = (a && esple(f.cpostal)) ?  true : false; 
  a = (a && esnum(f.cpostal)) ?  true : false; 
  a = (a && esllarg(f.cpostal, 5)) ?  true : false; 

  a = (a && esple(f.provincia)) ?  true : false; 
  a = (a && esalfa(f.provincia)) ?  true : false;

  return a;
}
// **************************************************************************
// conjunt de funcions bàsiques per a la validació de camps
// **************************************************************************
// validació adreces de correu de la forma x@y.zz
// **************************************************************************
function valadre(camp) {
  var l = camp.value.length;

  var a = (l == 0) ? false : true;	
  (a) ? a = a : alert("és obligatori posar una adreça de correu a " + camp.name);
  // validació arroba&punts
  if (a) {
    a = false;
    for (var i = 0; i < l-4; i++) {
      if (camp.value.substring(i, i+1) == "@") {
        for (var j = i+2; j < l-2; j++) {
          if (camp.value.substring(j, j+1) == ".") {
	    a = (j < l) ? true : false;
	    break;
	  }
	}
	break;
      }
    }
    (a) ? a = a : alert("l'adreça " + camp.name + " no és correcta");
  }
  (a) ? a = a : camp.focus();
  return a;
}

// **************************************************************************+
// validació texte ple
// **************************************************************************+
function esple(camp) {
  var a = (camp.value == "") ? false : true;
  (a) ? a = a : alert("és obligatori posar contingut a " + camp.name);
  camp.focus();
  return a;
}

// **************************************************************************+
// validació longitud
// **************************************************************************+
function esllarg(camp, mida) {
  var a = (camp.value.length != mida) ? false : true;
  (a) ? a = a : alert("el camp " + camp.name + " ha de contenir " + mida + " xifres,\n ara en te " + camp.value.length);
  camp.focus();
  return a;
}

// **************************************************************************+
// validació si és número
// **************************************************************************+
function esnum(camp) {
  var contingut = camp.value;
  var valors = "0123456789";
  var digit;
  var j = 0;
  for (var i=0; i < contingut.length; i++) {
   digit = contingut.substring(i, i+1);
   j = (valors.indexOf(digit) != -1) ? j+1 : j;
  }
  var a = (j == contingut.length) ? true : false;
  (a) ? a = a : alert(" A  " + camp.name + " només hi podeu posar xifres");
  camp.focus();
  return a;
}

// **************************************************************************+
// validació valor numeric superior a
// **************************************************************************+
function esmes(camp, minim) {
  var a = (camp.value >= minim) ? true : false;
  (a) ? a = a : alert("el valor de " + camp.name + " ha de ser superior a " + minim);
  camp.focus();
  return a;
}

// **************************************************************************+
// validació si  es alfabetic
// **************************************************************************+
function esalfa(camp) {
  var contingut = camp.value;
  var valors = "0123456789";
  var digit;
  for (var i=0; i < contingut.length; i++) {
   digit = contingut.substring(i, i+1);
   if (valors.indexOf(digit, 0) != -1) {
     alert("el camp " + camp.name + " no pot contenir xifres");
     return false;
   }
  }
  return true;
}

// **************************************************************************+
// canviespai
// **************************************************************************+
function canviespai(texte) {
var substitut = " ";
var digit = "";
var nou = "";
for (var i=0; i < texte.length; i++) {
  digit = texte.substring(i, i+1);
  nou = (digit == " ")? nou + substitut : nou + digit; 
  }
return nou;
}
