invitadonumero = 0
datodescuento = 0
datoacompa = 60
datococtel = 30
datoiva = 16
simbolo = " &euro;"
simbolo2 = " €"
acompa = 0
cocktel= 0
inscriptor=290
paisiva = 16


function variaprecios (){	
	alfa = document.getElementById('pais').value
	zeta = document.getElementById('acompananteform_si').checked
	gama = document.getElementById('coctel_acompa_si').checked
	delta = document.getElementById('numeroDescuent').disabled
		if (alfa == 'Inv. Personal' ) {
						inscriptor=0
						datodescuento = 0
						datoacompa = 0
						datococtel = 0
						datoiva = 0
						simbolo = " €"
						simbolo2 = " €"
						cocktel= 0
						if (zeta){
							acompa=datoacompa
						} else {
							acompa=0
						}
						if (gama){
							cocktel=datococtel
						} else {
							cocktel=0
						}
						paisiva = 0
						desabilita_campos(true);
		} else {
			datodescuento = 0
			datoacompa = 60
			datococtel = 30
			datoiva = 16
			simbolo = " &euro;"
			simbolo2 = " €"
			cocktel= 0
			inscriptor=290
		if (zeta){
			acompa=datoacompa
		} else {
			acompa=0
		}
		if (gama){
			cocktel=datococtel
		} else {
			cocktel=0
		}
		paisiva = 16
	}
	
	if (delta){
		datodescuento =50
	}
	
	precio (alfa);
}

function desabilita_campos(gama) {
	beta = new Array ("razon_fact_emp", "cif_fact_emp", "sector_fact_emp", "direccion_fact_emp", "cp_fact_emp", "localidad_fact_emp", "provincia_fact_emp", "pais_fact_emp", "nif_fact_pers", "profesion_fact_pers", "direccion_fact_pers", "cp_fact_pers", "localidad_fact_pers", "provincia_fact_pers", "pais_fact_pers", "forma_pago_tarjeta", "forma_pago_tarjeta", "forma_pago_transferencia", "forma_pago_cheque", "facturacionradio_emp", "facturacionradio_per");
	
	epsi = new Array ("razon_fact_emp", "cif_fact_emp", "sector_fact_emp", "direccion_fact_emp", "cp_fact_emp", "localidad_fact_emp", "provincia_fact_emp", "nif_fact_pers", "profesion_fact_pers", "direccion_fact_pers", "cp_fact_pers", "localidad_fact_pers", "provincia_fact_pers", "forma_pago_tarjeta");
	
	for (i=0;i<beta.length;i++) {
		document.getElementById(beta[i]).disabled = gama
	}
	for (i=0;i<epsi.length;i++) {
		document.getElementById(epsi[i]).value = ""
	}
	
}


function descuentodias (alfa){
	var today = new Date()
	var targetdate = new Date("April 30, 2019")
	var msPerDay = 24 * 60 * 60 * 1000 ;
	var daysLeft = (targetdate.getTime() - today.getTime()) / msPerDay;
	daysLeft = Math.ceil(daysLeft);
	if (daysLeft >0){
		var descuento = alfa
	} else {
		var descuento = 0
	}
	return descuento
}


function haydescuento (){
	codigoDescuento = document.getElementById('numeroDescuent').value;
	if (codigoDescuento > 2999){
	if (codigoDescuento < 5001){
		resultadoDesc = true
	} else {
		resultadoDesc = false	
	}	} else {
		resultadoDesc = false			
	}
	if (!resultadoDesc){
		document.getElementById('trdescuento').style.display='none';
		document.getElementById('trdescuento2').style.display='none';		
		document.getElementById('numeroDescuent').value = "Codigo incorrecto"
	} else {
		document.getElementById('trdescuento').style.display='';
		document.getElementById('trdescuento2').style.display='';	
		document.getElementById('numeroDescuent').disabled = true;	
	};
	variaprecios();
}

function generatepassword() {
	var characters="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
	var passwordlength=8
	var password = ""
	var n = 0
	var randomnumber = 0
	while( n < passwordlength ) {
		 n ++
		 randomnumber = Math.floor(characters.length*Math.random());
		 password += characters.substring(randomnumber,randomnumber + 1)
	}
	return "0000" + password
}

numeroinscripto = generatepassword()

function chequeacockteinvitado(){
	if ((document.getElementById('nombre_acompa').value).length > 0 && (document.getElementById('apellido_acompa').value).length > 0 ){
		document.getElementById('coctel_acompa_si').disabled = false	
	} else {
		document.getElementById('coctel_acompa_si').disabled = true	
	}	
}

function muestrapago() {
	document.getElementById('pago1c').style.display='none';
	document.getElementById('pago1b').style.display='none';
	document.getElementById('pago1t').style.display="";
}

function ocultapago() {
	document.getElementById('pago1c').style.display='none';
	document.getElementById('pago1b').style.display="";
	document.getElementById('pago1t').style.display='none';
}

function ocultapago2() {
	document.getElementById('pago1c').style.display="";
	document.getElementById('pago1b').style.display='none';
	document.getElementById('pago1t').style.display='none';
}

function acompana(beta) {
	document.getElementById('nombre_acompa').value="";
	document.getElementById('apellido_acompa').value="";
	document.getElementById('telefono_acompa').value="";
	document.getElementById('mail_acompa').value="";
	document.getElementById('empresa_acompa').value="";
	document.getElementById('cargo_acompa').value="";
	document.getElementById('coctel_acompa_no').checked=true;	
	document.getElementById('coctel_acompa_si').disabled=true;		
	if (beta == 'muestra'){
		invitadonumero = 1
		document.getElementById('acompanante').style.display="";
	}
	if (beta == 'oculta'){
		invitadonumero = 0
		preciococtelaco = 0	
		document.getElementById('coctel_acompa_si').checked = false
		document.getElementById('acompanante').style.display='none';
	}
	preciococtel()
}

function muestrafactura() {
	document.getElementById('razon_fact_emp').value="";
	document.getElementById('cif_fact_emp').value="";
	document.getElementById('sector_fact_emp').value="";
	document.getElementById('direccion_fact_emp').value="";
	document.getElementById('cp_fact_emp').value="";
	document.getElementById('localidad_fact_emp').value="";
	document.getElementById('provincia_fact_emp').value="";
	document.getElementById('pais_fact_emp').selectedIndex =2;
		
	document.getElementById('facturacion').style.display='none';
	document.getElementById('facturacion2').style.display="";
}

function ocultafactura() {
	document.getElementById('nif_fact_pers').value="";
	document.getElementById('profesion_fact_pers').value="";
	document.getElementById('direccion_fact_pers').value="";
	document.getElementById('cp_fact_pers').value="";
	document.getElementById('localidad_fact_pers').value="";
	document.getElementById('provincia_fact_pers').value="";
	document.getElementById('pais_fact_pers').selectedIndex =2;
		
	document.getElementById('facturacion').style.display="";
	document.getElementById('facturacion2').style.display='none';
}

function preciococtel() {
	preciococtelins = 0
	preciococtelaco = 0		
	if (document.getElementById('coctel_acompa_si').checked == true){
		preciococtelaco = datococtel			
	}	
	cocktel = preciococtelins + preciococtelaco
	recalcular()
}

function precio (alfa){
	if (alfa == 'Portugal' ) {
		document.getElementById('nifportu').innerHTML = "VAT Intracomunitario"
		document.getElementById('cifportu').innerHTML = "VAT Intracomunitario"
	} else {
		document.getElementById('nifportu').innerHTML = "N.I.F."
		document.getElementById('cifportu').innerHTML = "C.I.F."
	}
	
	if (alfa == 'VIP' ) {
		document.getElementById('invitado').value = "VIP"
	} else {
		document.getElementById('invitado').value = "Normal"
	}
	
	if (alfa == 'España' || alfa == 'Portugal' || alfa == 'VIP' ) {
		document.getElementById('triva').style.display="";
		document.getElementById('triva2').style.display="";		
		document.getElementById('trcif').style.display="";
		document.getElementById('trnif').style.display="";
		
		paisiva = datoiva
		simbolo = " &euro;"
		recalcular ()
	} else {
		document.getElementById('triva').style.display='none';
		document.getElementById('triva2').style.display='none';		
		document.getElementById('trcif').style.display='none';
		document.getElementById('trnif').style.display='none';
		
		paisiva = datoiva
		simbolo = " &euro;"
		recalcular ()
	}
}

function recalcular (){
	
	descuentoxfecha = descuentodias(datodescuento)
	
	if (inscriptor > 5) {
		document.getElementById('numeroinsc').value = numeroinscripto	
		document.getElementById('numeroinsc_oculto').value = numeroinscripto	
	}
	bruto = inscriptor*1 + acompa*1 + cocktel*1
	descuento = (bruto * descuentoxfecha ) / 100	
	var xtotalasiste = (inscriptor*1).toFixed(2)
	var xtotalacompa = (acompa*1).toFixed(2)
	var xtotalcocktel = (cocktel*1).toFixed(2)
	var xtotalbruto = (bruto*1).toFixed(2)
	var xtotaldescuento = "-" + (descuento*1).toFixed(2)
	var xtotaliva = (((bruto - descuento) * paisiva ) / 100).toFixed(2)
	var xtotaltotal = (((bruto - descuento) * paisiva ) / 100 + (bruto - descuento)).toFixed(2)
	var xtotalfacturacion1 = (((bruto - descuento) * paisiva ) / 100 + (bruto - descuento)).toFixed(2)
	var xtotalfacturacion2 = (((bruto - descuento) * paisiva ) / 100 + (bruto - descuento)).toFixed(2)	
	
	document.getElementById('totalasiste').innerHTML = xtotalasiste.replace(".",",") + simbolo;
	document.getElementById('totalacompa').innerHTML =  xtotalacompa.replace(".",",") + simbolo;
	document.getElementById('totalcocktel').innerHTML = xtotalcocktel.replace(".",",") + simbolo;	
	document.getElementById('totalbruto').innerHTML = xtotalbruto.replace(".",",") + simbolo;	
  	document.getElementById('totaldescuento').innerHTML = "<font color='#FF0000'>" + xtotaldescuento.replace(".",",") + simbolo + "</font>";	
	document.getElementById('totaliva').innerHTML =  xtotaliva.replace(".",",") + simbolo;
	document.getElementById('totaltotal').innerHTML =  xtotaltotal.replace(".",",") + simbolo;
	document.getElementById('totalfacturacion1').innerHTML =  xtotalfacturacion1.replace(".",",") + simbolo;	
	document.getElementById('totalfacturacion2').innerHTML =  xtotalfacturacion2.replace(".",",") + simbolo;	
	
	document.getElementById('codigo_oculto').value = document.getElementById('numeroDescuent').value;
	document.getElementById('totalasiste_oculto').value = xtotalasiste.replace(".",",") + simbolo2;
	document.getElementById('totalacompa_oculto').value =  xtotalacompa.replace(".",",") + simbolo2;
	document.getElementById('totalcocktel_oculto').value = xtotalcocktel.replace(".",",") + simbolo2;	
	document.getElementById('totalbruto_oculto').value = xtotalbruto.replace(".",",") + simbolo2;	
  	document.getElementById('totaldescuento_oculto').value = xtotaldescuento.replace(".",",") + simbolo2;	
	document.getElementById('totaliva_oculto').value =  xtotaliva.replace(".",",") + simbolo2;
	document.getElementById('totaltotal_oculto').value =  xtotaltotal.replace(".",",") + simbolo2;
	
	document.getElementById('personas_inscriptas').value =  1 + invitadonumero;	
}

////// Validaciones
function check_email(e) {
	ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";
	for(i=0; i < e.length ;i++) {
		if(ok.indexOf(e.charAt(i))<0) {
			return (false);
		}	
	}	
	if (document.images) {
		re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;
		re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
		if (!e.match(re) && e.match(re_two)) {
			return (-1);		
		} 
	}
}

function compruebaEmail(obj) 	{
	msg = "La dirección de correo electrónico introducida no es correcta.\nPor favor, introduce una dirección válida.";
	if (!check_email(obj.value)) 	{
		alert (msg);
		obj.focus();
		return false
	}
}

function pretestForm()	{
	alfa = document.getElementById('pais').value
	//
	if (alfa == 'Portugal'){
		beta = "VAT Intracomunitario "
		delta = "VAT Intracomunitario "
	} else {
		beta = "N.I.F "
		delta = "C.I.F "		
	}
	//
	

	camposDatos = new Array ("pais", "nombre_inscr", "apellido_inscr", "mail_inscr");
	camposDatostxt = new Array ("País del asistente", "Nombre del asistente", "Apellidos del asistente", "Mail del asistente");
	//
	if (document.getElementById('acompananteform_si').checked){
		camposAcomp = new Array ("nombre_acompa", "apellido_acompa", "mail_acompa");
		camposAcomptxt = new Array ("Nombre del acompañante", "Apellidos del acompañante", "Mail del acompañante");
	} else {
		camposAcomp = new Array ();	
		camposAcomptxt = new Array ();		
	}
	//
	if (document.getElementById('facturacionradio_emp').checked){
		camposFactE = new Array ("razon_fact_emp", "direccion_fact_emp", "cp_fact_emp", "localidad_fact_emp", "provincia_fact_emp");
		camposFactEtxt = new Array ("Facturación: Razón social de la empresa", "Facturación: Dirección de la empresa", "Facturación: C.P. de la empresa", "Facturación: Localidad de la empresa", "Facturación: Provincia de la empresa");
		if (alfa == 'España' || alfa == 'Portugal' || alfa == 'VIP'){
			camposFactEC = new Array ("cif_fact_emp");
			camposFactECtxt = new Array ("Facturación: " + delta + "de la empresa");
		} else {
			camposFactEC = new Array ();
			camposFactECtxt = new Array ();
		}
	}	
	 else {
		camposFactEC = new Array ();	
		camposFactE = new Array ();		
		camposFactECtxt = new Array ();	
		camposFactEtxt = new Array ();		
	}
	//
	if (document.getElementById('facturacionradio_per').checked){
		camposFactP= new Array ("direccion_fact_pers", "cp_fact_pers", "localidad_fact_pers", "provincia_fact_pers");
		camposFactPtxt= new Array ("Facturación: Dirección de la persona", "Facturación: C.P. de la persona", "Facturación: Localidad de la persona", "Facturación: Provincia de la persona");
		if (alfa == 'España' || alfa == 'Portugal' || alfa == 'VIP'){
			camposFactPC = new Array ("nif_fact_pers");
			camposFactPCtxt = new Array ("Facturación: " + beta + "de la persona");
		} else {
			camposFactPC = new Array ();
			camposFactPCtxt = new Array ();
		}
	} else {
		camposFactPC = new Array ();	
		camposFactP = new Array ();		
		camposFactPCtxt = new Array ();	
		camposFactPtxt = new Array ();		
	}
	//
	
	
	if (alfa == 'Inv. Personal' ) {
		camposObligatorios =  camposDatos.concat (camposAcomp)
		camposObligatoriostxt =  camposDatostxt.concat (camposAcomptxt)						
	} else {
		camposObligatorios =  camposDatos.concat (camposAcomp, camposFactEC, camposFactE, camposFactPC, camposFactP)
		camposObligatoriostxt =  camposDatostxt.concat (camposAcomptxt, camposFactECtxt, camposFactEtxt, camposFactPCtxt, camposFactPtxt)							
	}
	
	
	testForm(camposObligatorios, camposObligatoriostxt)
}

function testForm(alfa, beta)	{
	msg = "Debe rellenar todos los datos obligatorios.\n\nFaltan:\n\n";
	camposNoRellenados = new Array();
	cont = 0;
	primero = "";		
	for (i=0;i<alfa.length;i++) {		
		if ((document.getElementById(alfa[i]).value).length < 1){
			camposNoRellenados[cont] = beta[i]	
			cont += 1		
		}
	}
	if (cont > 0) {
		for (i=0;i<cont;i++) { msg += " · "+camposNoRellenados[i]+".\n";}
		alert (msg);
	} else {
		document.formulario.submit()
	}
}