/* Copyright by Xplora comunicació visual www.xploravisual.com */

function tratarError(){  
   return true;  
}  

window.onerror = tratarError;

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_jumpMenu2(targ,selObj,restore){ //v3.0
	// Asistencia -> Provincias
  if (selObj.options[selObj.selectedIndex].value=="#") {
	  alert ('En esta provincia actualmente no hay disponible servicio oficial de asistencia MOSA.\nDisculpe las molestias que este pueda causarle.');
	  return false;
  }
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function validar (formulario) {
	// Formulario de contacto
	if ( formulario.nombre.value == "" ) {
		Error = "Atención:\n"
			+ "No ha completado el campo 'Nombre y apellidos' del formulario.\n"
			+ "Este campo es necesario para poder atenderle correctamente.\n\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.nombre.focus();
		return false;
	}
	
	if ( formulario.trato.value == "" ) {
		Error = "Atención:\n"
			+ "No ha completado el campo '¿Empresa o particular?' del formulario.\n"
			+ "Este campo es necesario para poder atenderle correctamente.\n\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.trato.focus();
		return false;
	}

	if ( formulario.trato.value == "Me dirigo como empresa" ) {
		if ( formulario.empresa.value == "" ) {
			Error = "Atención:\n"
				+ "No ha completado el campo 'Nombre de la empresa' del formulario.\n"
				+ "Este campo es necesario para poder atenderle correctamente.\n\n"
				+ "Por favor, revise el formulario.\n\n";
			alert(Error);
			formulario.empresa.focus();
			return false;
		}
		if ( formulario.cargo.value == "" ) {
			Error = "Atención:\n"
				+ "No ha completado el campo 'Cargo en la empresa' del formulario.\n"
				+ "Este campo es necesario para poder atenderle correctamente.\n\n"
				+ "Por favor, revise el formulario.\n\n";
			alert(Error);
			formulario.cargo.focus();
			return false;
		}
	}

	if ( formulario.poblacion.value == "" ) {
		Error = "Atención:\n"
			+ "No ha completado el campo 'Población' del formulario.\n"
			+ "Este campo es necesario para poder atenderle correctamente.\n\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.poblacion.focus();
		return false;
	}

	if ( formulario.telefono.value == "" ) {
		Error = "Atención:\n"
			+ "No ha completado el campo 'Teléfono' del formulario.\n"
			+ "Este campo es necesario para poder atenderle correctamente.\n\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.telefono.focus();
		return false;
	}

	if ( (!formulario.viatelefono.checked) && (!formulario.viafax.checked) && (!formulario.viaemail.checked) ) {
		Error = "Atención:\n"
			+ "Debe seleccionar la vía en la que desea ser contactado.\n"
			+ "Este campo es necesario para poder atenderle correctamente.\n\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.viatelefono.focus();
		return false;
	}

	if (formulario.viafax.checked) {
		if ( formulario.fax.value == "" ) {
			Error = "Atención:\n"
				+ "Usted ha seleccionado ser contactado vía Fax, pero no ha completado \nel campo 'Fax' del formulario.\n"
				+ "Este campo es necesario para poder atenderle correctamente.\n\n"
				+ "Por favor, revise el formulario.\n\n";
			alert(Error);
			formulario.fax.focus();
			return false;
		}
	}

	if (formulario.viaemail.checked) {
		if ( formulario.email.value == "" ) {
			Error = "Atención:\n"
				+ "Usted ha seleccionado ser contactado vía e-mail, pero no ha completado \nel campo 'E-mail' del formulario.\n"
				+ "Este campo es necesario para poder atenderle correctamente.\n\n"
				+ "Por favor, revise el formulario.\n\n";
			alert(Error);
			formulario.email.focus();
			return false;
		}
	}

	if ( formulario.asunto.value == "" ) {
		Error = "Atención:\n"
			+ "No ha completado el campo 'Asunto' del formulario.\n"
			+ "Este campo es necesario para poder atenderle correctamente.\n\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.asunto.focus();
		return false;
	}

	if (!formulario.acepto.checked) {
		Error = "Atención:\n"
			+ "Debe aceptar nuestra política de privacidad para contactarnos.\n"
			+ "Este campo es necesario para poder atenderle correctamente.\n\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.acepto.focus();
		return false;
	}

	return true;
}

function validar2 (formulario) { 
	// Area privada -> Log in
	// Verifico largada de campo USUARIO
	if ( formulario.usuario.value.length < 3 ) {
		Error = "Atención:\n"
			+ "No ha insertado el nombre de usuario del formulario correctamente.\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.usuario.focus();
		return false;
	}
	
	// Verifico contenido de campo USUARIO
	var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnñopqrstuvwxyzáéíóú" + "0123456789";
	var checkStr = formulario.usuario.value;
	var allValid = true;
	for (i = 0; i < checkStr.length; i++) {
		ch = checkStr.charAt(i);
		for (j = 0; j < checkOK.length; j++)
		if (ch == checkOK.charAt(j))
		break;
		if (j == checkOK.length) {
			allValid = false;
			break;
		}
	}
	if (!allValid) {
		Error = "Atención:\n"
			+ "El nombre de usuario insertado no es válido.\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.usuario.focus();
		return (false);
	}
	
	// Verifico largada de campo CONTRASENA
	if ( formulario.contrasena.value == "" ) {
		Error = "Atención:\n"
			+ "No ha insertado la contraseña del formulario.\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.contrasena.focus();
		return false;
	}

	// Verifico contenido de campo CONTRASENA
	var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnñopqrstuvwxyzáéíóú" + "0123456789";
	var checkStr = formulario.contrasena.value;
	var allValid = true;
	for (i = 0; i < checkStr.length; i++) {
		ch = checkStr.charAt(i);
		for (j = 0; j < checkOK.length; j++)
		if (ch == checkOK.charAt(j))
		break;
		if (j == checkOK.length) {
			allValid = false;
			break;
		}
	}
	if (!allValid) {
		Error = "Atención:\n"
			+ "La contraseña insertada no es válida.\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.contrasena.focus();
		return (false);
	}
	
	return true;
}

function validar3 (formulario) {
	// Area privada -> Recordatorio contraseña
	// Verifico largada de campo EMAIL
	if ( formulario.email.value == "" ) {
		Error = "Atención:\n"
			+ "No ha insertado la dirección e-mail del formulario.\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.email.focus();
		return false;
	}

	// Verifico contenido de campo EMAIL
	var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnñopqrstuvwxyzáéíóú" + "0123456789" + "-_@.";
	var checkStr = formulario.email.value;
	var allValid = true;
	for (i = 0; i < checkStr.length; i++) {
		ch = checkStr.charAt(i);
		for (j = 0; j < checkOK.length; j++)
		if (ch == checkOK.charAt(j))
		break;
		if (j == checkOK.length) {
			allValid = false;
			break;
		}
	}
	if (!allValid) {
		Error = "Atención:\n"
			+ "La dirección de e-mail insertada no es válida.\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.email.focus();
		return (false);
	}
	
	return true;
}

function validar4 (formulario) {
	// Area privada -> Gestión de garantías
	if ( ( formulario.marcatemp.value == "" ) || ( formulario.marcatemp.value == "#" ) ) {
		Error = "Atención:\n"
			+ "No ha completado el campo 'Marca de la máquina' del formulario.\n"
			+ "Este campo es necesario para poder atenderle correctamente.\n\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.marcatemp.focus();
		return false;
	}

	if ( formulario.tipo.value == "" ) {
		Error = "Atención:\n"
			+ "No ha completado el campo 'Tipo de la máquina' del formulario.\n"
			+ "Este campo es necesario para poder atenderle correctamente.\n\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.tipo.focus();
		return false;
	}
	
	if ( formulario.modelo.value == "" ) {
		Error = "Atención:\n"
			+ "No ha completado el campo 'Modelo de la máquina' del formulario.\n"
			+ "Este campo es necesario para poder atenderle correctamente.\n\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.modelo.focus();
		return false;
	}
	
	if ( formulario.bastidor.value == "" ) {
		Error = "Atención:\n"
			+ "No ha completado el campo 'Bastidor' del formulario.\n"
			+ "Este campo es necesario para poder atenderle correctamente.\n\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.bastidor.focus();
		return false;
	}

	if ( formulario.fecha1.value == "" ) {
		Error = "Atención:\n"
			+ "No ha completado el campo 'Día de venta' del formulario.\n"
			+ "Este campo es necesario para poder atenderle correctamente.\n\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.fecha1.focus();
		return false;
	}

	if ( formulario.fecha2.value == "" ) {
		Error = "Atención:\n"
			+ "No ha completado el campo 'Mes de venta' del formulario.\n"
			+ "Este campo es necesario para poder atenderle correctamente.\n\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.fecha2.focus();
		return false;
	}

	if ( formulario.fecha3.value == "" ) {
		Error = "Atención:\n"
			+ "No ha completado el campo 'Año de venta' del formulario.\n"
			+ "Este campo es necesario para poder atenderle correctamente.\n\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.fecha3.focus();
		return false;
	}

	if (!formulario.acepto.checked) {
		Error = "Atención:\n"
			+ "Debe aceptar nuestra política de privacidad para contactarnos.\n"
			+ "Este campo es necesario para poder atenderle correctamente.\n\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.acepto.focus();
		return false;
	}

	return true;
}


function filter(camp){
	camp.value = camp.value.replace(/\D/,"");
}

function calcula (){
	form['cantidad'].value = form2['cantidad'].value;
	
	var cantidad = parseInt(form['cantidad'].value);
	var tipo = parseInt(form['tipo'].value);

	switch (tipo) {
		case 1: { 
			// Renting
			if (cantidad >= 120001) {
				// Más de 120.000
				var factor1 = 0.045794;
				var factor2 = 0.031978;
				var factor3 = 0.025064;
			} else {
				if (cantidad >= 30001) {
					// Más de 30.000
					var factor1 = 0.045921;
					var factor2 = 0.032112;
					var factor3 = 0.025202;
				} else {
					// Hasta 30.000
					var factor1 = 0.046134;
					var factor2 = 0.032335;
					var factor3 = 0.025435;
				}
			}
			var com1 = 0.01;
			var com2 = "1,00 %";
			var resto = "";
			break 
			}
		case 2: { 
			// Leasing fijo
			if (cantidad >= 120001) {
				// Más de 120.000
				var factor1 = 0.042812;
				var factor2 = 0.029909;
				var factor3 = 0.023342;
				var com1 = 0.0075;
				var com2 = "0,75 %";
			} else {
				if (cantidad >= 30001) {
					// Más de 30.000
					var factor1 = 0.042937;
					var factor2 = 0.030038;
					var factor3 = 0.023475;
					var com1 = 0.01;
					var com2 = "1,00 %";
				} else {
					// Hasta 30.000
					var factor1 = 0.043187;
					var factor2 = 0.030298;
					var factor3 = 0.023742;
					var com1 = 0.0125;
					var com2 = "1,25 %";
				}
			}
			var resto = "";
			break 
			}
		case 3: { 
			// Leasing variable
			if (cantidad >= 120001) {
				// Más de 120.000
				var factor1 = 0.04172;
				var factor2 = 0.028782;
				var factor3 = 0.022188;
				var com1 = 0.0075;
				var com2 = "0,75 %";
				var resto = "euribor + 1,25";
			} else {
				if (cantidad >= 30001) {
					// Más de 30.000
					var factor1 = 0.041822;
					var factor2 = 0.028888;
					var factor3 = 0.022295;
					var com1 = 0.01;
					var com2 = "1,00 %";
					var resto = "euribor + 1,50";
				} else {
					// Hasta 30.000
					var factor1 = 0.041925;
					var factor2 = 0.028993;
					var factor3 = 0.022403;
					var com1 = 0.0125;
					var com2 = "1,25 %";
					var resto = "euribor + 1,75";
				}
			}
			break 
			}
	}
	
	//Cuota 1
	var cuota1 = cantidad * factor1;
	cuota1 = String(cuota1);
	// Revisión DECIMALES
	if (cuota1.indexOf('.')==-1) {
		cuota1 = cuota1 + ',00';
	} else {
		cuota1 = cuota1 + '00';
		var coma = cuota1.indexOf('.');
		cuota1 = cuota1.substring(0, coma) + ',' + cuota1.substring(coma + 1, coma + 3);
	}
	// Revisión MILLARES
	var coma = cuota1.indexOf(',');
	millares = parseInt(cuota1.substring(0, coma));
	if (millares>=1000) {
		cuota1 = cuota1.substring(0, coma - 3) + '.' + cuota1.substring(coma - 3, coma) + ',' + cuota1.substring(coma + 1, coma + 3);
	}
	form['cuota1'].value = cuota1 + " €";

	//Cuota 2
	var cuota2 = cantidad * factor2;
	cuota2 = String(cuota2);
	// Revisión DECIMALES
	if (cuota2.indexOf('.')==-1) {
		cuota2 = cuota2 + ',00';
	} else {
		cuota2 = cuota2 + '00';
		var coma = cuota2.indexOf('.');
		cuota2 = cuota2.substring(0, coma) + ',' + cuota2.substring(coma + 1, coma + 3);
	}
	// Revisión MILLARES
	var coma = cuota2.indexOf(',');
	millares = parseInt(cuota2.substring(0, coma));
	if (millares>=1000) {
		cuota2 = cuota2.substring(0, coma - 3) + '.' + cuota2.substring(coma - 3, coma) + ',' + cuota2.substring(coma + 1, coma + 3);
	}
	form['cuota2'].value = cuota2 + " €";

	//Cuota 3
	var cuota3 = cantidad * factor3;
	cuota3 = String(cuota3);
	// Revisión DECIMALES
	if (cuota3.indexOf('.')==-1) {
		cuota3 = cuota3 + ',00';
	} else {
		cuota3 = cuota3 + '00';
		var coma = cuota3.indexOf('.');
		cuota3 = cuota3.substring(0, coma) + ',' + cuota3.substring(coma + 1, coma + 3);
	}
	// Revisión MILLARES
	var coma = cuota3.indexOf(',');
	millares = parseInt(cuota3.substring(0, coma));
	if (millares>=1000) {
		cuota3 = cuota3.substring(0, coma - 3) + '.' + cuota3.substring(coma - 3, coma) + ',' + cuota3.substring(coma + 1, coma + 3);
	}
	form['cuota3'].value = cuota3 + " €";
	form['cuota3'].value = cuota3 + " €";
	
	//Comision 1
	if (com1!= 0) {
		// Revisión DECIMALES
		var comision1 = cantidad * com1;
		comision1 = String(comision1);
		if (comision1.indexOf('.')==-1) {
			comision1 = comision1 + ',00';
		} else {
			comision1 = comision1 + '00';
			var coma = comision1.indexOf('.');
			comision1 = comision1.substring(0, coma) + ',' + comision1.substring(coma + 1, coma + 3);
		}
		// Revisión MILLARES
		var coma = comision1.indexOf(',');
		millares = parseInt(comision1.substring(0, coma));
		if (millares>=1000) {
			comision1 = comision1.substring(0, coma - 3) + '.' + comision1.substring(coma - 3, coma) + ',' + comision1.substring(coma + 1, coma + 3);
		}
		form['comision1'].value = comision1 + " €";
	} else {
		form['comision1'].value = "";
	}
	
	form['comision2'].value = com2;
	form['resto1'].value = resto;
	form['resto2'].value = resto;
	form['resto3'].value = resto;
	
	return false;
}

function validarform (formulario) {
	// Formulario de contacto
	if ( formulario.nombre.value == "" ) {
		Error = "Atención:\n"
			+ "No ha completado el campo 'Nombre y apellidos' del formulario.\n"
			+ "Este campo es necesario para poder atenderle correctamente.\n\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.nombre.focus();
		return false;
	}
	
	if ( formulario.poblacion.value == "" ) {
		Error = "Atención:\n"
			+ "No ha completado el campo 'Población' del formulario.\n"
			+ "Este campo es necesario para poder atenderle correctamente.\n\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.poblacion.focus();
		return false;
	}

	if ( formulario.provincia.value == "" ) {
		Error = "Atención:\n"
			+ "No ha completado el campo 'Provincia' del formulario.\n"
			+ "Este campo es necesario para poder atenderle correctamente.\n\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.provincia.focus();
		return false;
	}

	if ( formulario.telefono.value == "" ) {
		Error = "Atención:\n"
			+ "No ha completado el campo 'Teléfono' del formulario.\n"
			+ "Este campo es necesario para poder atenderle correctamente.\n\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.telefono.focus();
		return false;
	}

	if ( formulario.email.value == "" ) {
		Error = "Atención:\n"
			+ "Usted ha seleccionado ser contactado vía e-mail, pero no ha completado \nel campo 'E-mail' del formulario.\n"
			+ "Este campo es necesario para poder atenderle correctamente.\n\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.email.focus();
		return false;
	}

	if (!formulario.acepto.checked) {
		Error = "Atención:\n"
			+ "Debe aceptar nuestra política de privacidad para contactarnos.\n"
			+ "Este campo es necesario para poder atenderle correctamente.\n\n"
			+ "Por favor, revise el formulario.\n\n";
		alert(Error);
		formulario.acepto.focus();
		return false;
	}

	return true;
}

