/*

			FICHERO DE SCRIPTS DE CDCOPIA

*/


//funciones de validacion de datos
/*Funcion que valida la direccion de email*/

////////////////////////////////////////////////////////////////////////////////
function emailCorrecto(emailStr) {
////////////////////////////////////////////////////////////////////////////////

// Comprueba si el e-mail se adecua al formato usuario@dominio.
//  Tambien se usa para separar usuario de dominio.
var emailPat=/^(.+)@(.+)$/;

// Cadena que representa los patrones que son caracteres especiales.
//   Son  ( ) < > @ , ; : \ " . [ ]
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]áéíóúÁÉÍÓÚâêîôû^ÂÊÎÔÛàèìòùÀÈÌÒÙÄËÏÖÜëïü¨";

// Rango de caracteres permitido en usuario o dominio.
//   Realmente afirma aquellos que no son permitido.
var validChars="\[^\\s" + specialChars + "\]";

// El siguiente patron se aplica si el "usuario" es una cadena con
// comillas (en ese caso no hay reglas sobre que caracteres se
// permiten y cuales no, todo vale). Por ejemplo, "evelio ojito"@talytal.com
// seria un e-mail legal.
var quotedUser="(\"[^\"]*\")";

// El siguiente patron aplica para dominios que son direcciones IP en
// vez de nombre simbolicos. P.ej. pepe@[123.124.233.4] es un e-mail legal
// NOTA: Se necesitan los corchetes.
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;

// La siguiente cadena representa un atomo (basicamente como una serie de
// caracteres no especiales.
var atom=validChars + '+';

// La siguiente cadena represente una palabra en el nombre de usuario
// tipico. P.ej. pepe.rodriguez@algunsitio.com, pepe y rodriguez son palabras.
// Basicamente, una palabra es un atomo o una cadena entrecomillada.
var word="(" + atom + "|" + quotedUser + ")";

// Estructura del usuario
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");

// Estructura de un dominio simbolico normal, en contraposicion a un
// patron de dominio IP, como mas arriba
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");


// Finalmente averiguamos si la direccion es valida

// Empezamos con el patron burdo para romper usuario@dominio en distintas
// parte que son facilmente analizables

var matchArray=emailStr.match(emailPat);
if (matchArray==null) {
  // Demasiados o pocas @; basicamente, esta direccion no cuadra con el
  // molde general de una direccion de email valida
        return false
}
var user=matchArray[1]
var domain=matchArray[2]

// Mirar si "usuario" es valido
if (user.match(userPat)==null) {
    // usuario no es valido
    return false
}

// si el e-mail es una direccion IP (en vez de host simbolico)
// asegurarse que la IP es valida
var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {
    // this is an IP address
          for (var i=1;i<=4;i++) {
            if (IPArray[i]>255) {
                return false
            }
    }
    return true
}

// Dominio es un nombre simbólico
var domainArray=domain.match(domainPat)
if (domainArray==null) {
    return false
}

// Nombre de dominio parece valido, pero asegurarse que termina en una palabra
// de 3 letras (como com, edu, gov) o una palabra de 2 letras representando un
// pais (es, uk nl) y que hay un nombre de host precediendo al dominio o pais


// Necesitamos romper el dominio para contar cuantos atomos tiene

var atomPat=new RegExp(atom,"g");
var domArr=domain.match(atomPat);
var len=domArr.length
if (domArr[domArr.length-1].length<2 ||
    domArr[domArr.length-1].length>3) { 
// la dirección debe terminar en una palabra de 2 o 3 letras.
   return false;
}

// Asegurarse que hay un nombre de host precediendo al dominio
if (len<2) {
   return false;
}

// Si hemos llegado hasta aqui, todo es válido
return true;
}


function telefonoCorrecto(tfno){
if(tfno.length!=9) return false;
if (!/^(9|6|8)\d{8}/.test(tfno)) return false;
else return true;
}


function comprobarDatosPresupuesto(form){
	
//	if (!comprobar_radio(form.formato)) alert("No ha seleccionado el formato del producto que desea");
/*	if (!comprobar_radio(form.formato) && !comprobar_radio(form.packaging) && !comprobar_radio(form.pendrive)) alert("No ha seleccionado el producto que desea");
	else if (comprobar_radio(form.formato)){
		if (!comprobar_radio(form.anverso)) alert("No ha seleccionado el tipo de producto que desea");
		else if (!comprobar_radio(form.cantreverso)) alert("No ha seleccionado el tipo de impresión y la cantidad que desea");
	}	
	else*/ if (form.nombre.value=="") alert("No ha introducido su nombre y apellidos");
	else if (form.empresa.value=="") alert("No ha introducido la empresa a la que pertenece");
	else if (form.domicilio.value=="") alert("No ha introducido el domicilio");
	else if (form.localidad.value=="") alert("No ha introducido la localidad");
	else if (form.provincia.value=="") alert("No ha introducido ninguna provincia");
	else if (form.cpostal.value=="") alert("No ha introducido ningun código postal");
	else if ((form.cpostal.value!="") && (!/^\d{5}/.test(form.cpostal.value))) alert("El código postal que ha introducido no parece correcto");
	else if ((form.fax.value!="") && (!/^(9|6|8)\d{8}/.test(form.fax.value))) alert("El número de fax que ha introducido no parece correcto");
	else if ((form.telef.value=="") && (form.email.value=="")) alert("No ha rellenado ni el email ni el teléfono");
	else if ((form.telef.value!="") && (!/^(9|6|8)\d{8}/.test(form.telef.value))) alert("El número de teléfono que ha introducido no parece correcto");
	else if ((form.email.value!="")&&(!emailCorrecto(form.email.value))) alert("El correo que ha introducido no es correcto");
	else form.submit();
}
function comprobarDatosBoletin(form){
	if ((form.emailboletin.value=="")||(form.emailboletin.value=="introduce tu email")) alert("Debe rellenar la direccion de  correo electrónico\n al que enviaremos el boletín");
	else if (!emailCorrecto(form.emailboletin.value)) alert("El correo electrónico que ha introducido no parece correcto");
	else form.submit();
}
function trim(cadena){
 cadena=cadena.replace(/^[\s]+/g,"");
 cadena=cadena.replace(/[\s]+$/g, ""); 
   return cadena;
}
function isValid(string,allowed){
    for (var i=0; i< string.length; i++){
        if (allowed.indexOf(string.charAt(i)) == -1) return false;
    }
    return true;
}
function comprobar_radio(radio){
	if(radio.checked){
		return true;
	}else{
		for (i=0;i<radio.length;i++){
			if (radio[i].checked) return true;
		}
	}
	return false;

}