// **************************************************************************+
// tramesa de correu
// **************************************************************************+
function enviarcorreu(formulari) {
  // Construir un URL tipo mailto: amb tots els seus elements:
  // s'inserta una cunya publicitaria
  // s'envia un missatge de subscripció a la llista llista01
  var cunya = "\n______________________________________________" +
                       "\nMissatge enviat amb el correu electrònic de PORT@RRÓ." +
                       "\nVisiteu el nostre web a http://www.portarro.com";
  // var llista = "mailto:webmaster@portarro.webprovider.com?subject=llista01?body=subscribe";
  formulari.action = "mailto:" +
  formulari.destinatari.value +
  "?cc=" + formulari.remitent.value +
  "&subject=" + formulari.assumpte.value;
  formulari.missatge.value =  formulari.missatge.value + cunya;
  // formulari.action = formulari.action + ";" + llista;
  formulari.destinatari.focus();
  return true;
}

// **************************************************************************+
// 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 l'adreça de " + 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 txtple(camp) {
  var a = (camp.value == "") ? false : true;
  (a) ? a = a : alert("és obligatori posar contingut a " + camp.name);
  camp.focus();
  return a;
}

// **************************************************************************+
// valform(f)
// **************************************************************************+
function valform(f) {
  var a = (valadre(f.destinatari)) ? true : false;
  a = (a && valadre(f.remitent)) ? true : false;
  a = (a && txtple(f.assumpte)) ? true : false; 
  if (a) {
    enviarcorreu(f);
    alert("A continuació s'enviarà el missatge. \nEl remitent en reberà una còpia");
    }
  return a;
}

// **************************************************************************+
// valfmail(f)
// **************************************************************************+
function valfmail(f) {

var a = true;
var vector = new Array();
var separador = ",";

if (f.required.value.length != 0) {
	
      troceja(f.required.value, vector, separador);
	indexf = f.elements.length-1;
	indexv = vector.length-1;
		
	for (j=0; j<=indexf; j++){
		
 		for (i=0; i<=indexv; i++) {
      		
			if (f.elements[j].name == vector[i]){
				a = (a && txtple(f.elements[j])) ? true : false;
				if (f.elements[j].name == "email") { 
					a = (a && valadre(f.elements[j])) ? true : false;
					}
				if (f.elements[j].name == "recipient") { 
					a = (a && valadre(f.elements[j])) ? true : false;
					}
				}
			}
		}
	}	
return a;
}

// **************************************************************************+
// valsms(f)
// **************************************************************************+
function valsms(f) {

var a = true;
var vector = new Array();
var separador = ",";

if (f.required.value.length != 0) {
	
      troceja(f.required.value, vector, separador);
	indexf = f.elements.length-1;
	indexv = vector.length-1;
		
	for (j=0; j<=indexf; j++){
		
 		for (i=0; i<=indexv; i++) {
      		
			if (f.elements[j].name == vector[i]){
				a = (a && txtple(f.elements[j])) ? true : false;
				if (f.elements[j].name == "recipient") { 
					a = (a && esnum(f.elements[j])) ? true : false;
					a = (a && esllarg(f.elements[j],9)) ? true : false;
					}
				}
			}
		}
	}	

// adequació de variables
if (a) {
	f.recipient.value += "@correo.movistar.net";
	}
// alert(f.recipient.value);
// alert(f.realname.value);
// alert(f.subject.value);
return a;
}

// **************************************************************************+
// **************************************************************************+
// **************************************************************************+
// troceja(entrada, vector, separador)
// **************************************************************************+
// li passem una var char amb texte, un vector on posar el resultat 
// i una var char amb el caracter utilitzat com separador
// ha de tornar un vector amb tots els noms
function troceja(entrada, vector, separador) {

index = entrada.indexOf(separador);

while (index != -1) {
     	vector[vector.length] = noblancs(entrada.substring(0,index));
	entrada = entrada.substring(index+1,entrada.length);
	index = entrada.indexOf(separador);
	}

vector[vector.length] = noblancs(entrada);
return vector;
}

// **************************************************************************+
// **************************************************************************+
function noblancs(a) {
while (a.indexOf(" ") == 0) {
	a = a.substring(1,a.length);
	}

while (a.indexOf(" ") == a.length-1) {
	a = a.substring(0,a.length-1);
	}
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ó 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;
}
