function validar_fecha(Cadena){  
    var Fecha= new String(Cadena);
    var RealFecha= new Date();
	var valido=true;

    var Ano= new String(Fecha.substring(Fecha.lastIndexOf("/")+1,Fecha.length));
    var Mes= new String(Fecha.substring(Fecha.indexOf("/")+1,Fecha.lastIndexOf("/")));
    var Dia= new String(Fecha.substring(0,Fecha.indexOf("/")));
  
    if (isNaN(Ano) || Ano.length<4 || parseFloat(Ano)<1900){
        valido = false;
    }  
    if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12){
        valido = false;
    }  
    if (isNaN(Dia) || parseInt(Dia, 10)<1 || parseInt(Dia, 10)>31){
        valido = false;
    }  
    if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2) {
        if (Mes==2 && Dia > 28 || Dia>30) {
            valido = false;
        }  
    }

	return valido;
}  

function validar_email(src) {
	//var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
	var emailReg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var regex = new RegExp(emailReg);
	return regex.test(src);
}


function appendRow(tblId, indice, nom, apel1, apel2, cuota, actividades)
{
	var tbl = document.getElementById(tblId);
	var newRow = tbl.insertRow(tbl.rows.length);
	var newCel1 = newRow.insertCell(0);
	newCel1.innerHTML = '<b>'+nom+'</b>';
	var newCel2 = newRow.insertCell(1);
	newCel2.innerHTML = '<b>'+apel1+'</b>';
	var newCel3 = newRow.insertCell(2);
	newCel3.innerHTML = '<b>'+apel2+'</b>';
	var newCel4 = newRow.insertCell(3);
	newCel4.innerHTML = '<div align="right" style="width:80px">'+cuota+' €</div>';
	var newCel5 = newRow.insertCell(4);
	newCel5.innerHTML = '&nbsp;';
	var newCel6 = newRow.insertCell(5);
	newCel6.innerHTML = '<a href="javascript: borrar_acompanante('+indice+');">X</a>';
}

function appendRow2(tblId, descripcion, precio)
{
	var tbl = document.getElementById(tblId);
	var newRow = tbl.insertRow(tbl.rows.length);
	var newCel1 = newRow.insertCell(0);
	newCel1.innerHTML = '<span style="margin-left:30px">'+descripcion+'</span>';
	var newCel2 = newRow.insertCell(1);
	newCel2.innerHTML = '&nbsp;';
	var newCel3 = newRow.insertCell(2);
	newCel3.innerHTML = '&nbsp;';
	var newCel4 = newRow.insertCell(3);
	newCel4.innerHTML = '<div align="right" style="width:40px">'+precio+' €</div>';
	var newCel5 = newRow.insertCell(4);
	newCel5.innerHTML = '&nbsp;';
}

function appendRow3(tblId)
{
	var tbl = document.getElementById(tblId);
	var newRow = tbl.insertRow(tbl.rows.length);
	var newCel1 = newRow.insertCell(0);
	newCel1.innerHTML = '&nbsp;';
	var newCel2 = newRow.insertCell(1);
	newCel2.innerHTML = '&nbsp;';
	var newCel3 = newRow.insertCell(2);
	newCel3.innerHTML = '&nbsp;';
	var newCel4 = newRow.insertCell(3);
	newCel4.innerHTML = '&nbsp;';
	var newCel5 = newRow.insertCell(4);
	newCel5.innerHTML = '&nbsp;';
}

function deleteLastRow(tblId)
{
	var tbl = document.getElementById(tblId);
	if (tbl.rows.length > 0) tbl.deleteRow(tbl.rows.length - 1);
}
function insertRow(tblId, txtIndex, txtError)
{
	var tbl = document.getElementById(tblId);
	var rowIndex = document.getElementById(txtIndex).value;
	try {
		var newRow = tbl.insertRow(rowIndex);
		var newCell = newRow.insertCell(0);
		newCell.innerHTML = 'Hello World! insert';
	} catch (ex) {
		document.getElementById(txtError).value = ex;
	}
}
function deleteRow(tblId, indice, txtError)
{
	var tbl = document.getElementById(tblId);
	var rowIndex = indice;
	try {
		tbl.deleteRow(rowIndex);
	} catch (ex) {
		document.getElementById(txtError).value = ex;
	}
}

function borrar_acompanante(indice_p) {
	
	var valor_acomp = '';
	var lista_acomp = new String(document.getElementById('acompanantes').value);
	var acompanantes = lista_acomp.split("[tr]");
	for(i=0;i<acompanantes.length;i++) {
		if((i) != indice_p) {
	    	valor_acomp += acompanantes[i]+"[tr]";
		}
	}
	document.getElementById('acompanantes').value = valor_acomp;
	generar_lista();
	calcular_total();
}

function borrar_lista() {

	var tbl = document.getElementById('lista_acompanantes');
	for(i=0; tbl.rows.length;i++) {
		deleteRow('lista_acompanantes', 0, 'msg_acompanantes');
	}
}

function generar_lista() {

	borrar_lista();
	var tbl = document.getElementById('lista_acompanantes');
	var valores = document.getElementById('acompanantes').value;
	var lista_acomp = new String(valores);
	var acompanantes = lista_acomp.split("[tr]");
	var lista_campos, campos;
	for(i=0; i<acompanantes.length; i++) {		
		if(acompanantes[i] != '') {
			lista_campos = new String(acompanantes[i]);
			campos = lista_campos.split("[td]");
			appendRow('lista_acompanantes', i, campos[0], campos[1], campos[2], campos[3]);
			if(campos[4] != '') {
				var actividades = campos[4].split("[ac]");
				for(j=0; j<actividades.length; j++) {
					if(actividades[j] != ''){
						actividad = new String(actividades[j]);
						list_act = actividad.split('_');
						campos_act = actividad.split('|');
						appendRow2('lista_acompanantes', campos_act[1], campos_act[2]);
					}
				}
			}
		}
		appendRow3('lista_acompanantes');
	}
}


function seleccionar_actividad(fila, columna){
	
	var i = 0, ielemento = 0, valor = false;
	for(i = 0; i < document.getElementById('form1').length; i++) {
		var form_fila = 0, form_columna = 0;
		if(document.getElementById('form1').elements[i].name == "actividades[]" && document.getElementById('form1').elements[i].type == "checkbox"){			
			var cadena = new String(document.getElementById('form1').elements[i].id);			
			campos = cadena.split("-");
			form_fila = campos[0];
			form_columna = campos[1];			
			if(form_fila == fila && form_columna == columna){
				ielemento = i;
				valor = document.getElementById('form1').elements[i].checked;				
			}
			
			if(form_fila == fila){
				document.getElementById('form1').elements[i].checked = false;
			}
			
		}
	}
	document.getElementById('form1').elements[ielemento].checked = valor;
	calcular_total();
}


function seleccionar_actividad_aco(fila, columna){
	
	var i = 0, idelemento = 0, valor = false;
	for(i = 0; i < document.getElementById('form1').length; i++) {
		var form_fila = 0, form_columna = 0;
		if(document.getElementById('form1').elements[i].name == "actividadesacompanante[]" && document.getElementById('form1').elements[i].type == "checkbox"){			
			var cadena = new String(document.getElementById('form1').elements[i].id);
			campos = cadena.split("-");
			form_fila = campos[0];
			form_columna = campos[1];
			id = form_fila+'-'+form_columna+'-a';
			if(form_fila == fila && form_columna == columna){
				idelemento = id;
				valor = document.getElementById(id).checked;
			}
			
			if(form_fila == fila){
				document.getElementById(id).checked = false;
			}
		}
	}
	document.getElementById(idelemento).checked = valor;
	calcular_total();
}

function actividades_sel_aco(fila, columna){
	
	var i = 0, ielemento = 0, valor = '';
	for(i = 0; i < document.getElementById('form1').length; i++) {
		var form_fila = 0, form_columna = 0;
		if(document.getElementById('form1').elements[i].name == "actividadesacompanante[]" && document.getElementById('form1').elements[i].type == "checkbox"){			
			var cadena = new String(document.getElementById('form1').elements[i].id);
			campos = cadena.split("-");
			form_fila = campos[0];
			form_columna = campos[1];
			id = form_fila+'-'+form_columna+'-a';
			if(document.getElementById(id).checked == true){
				ielemento++;
				if(ielemento > 1)
					valor += '[ac]';
				valor += document.getElementById(id).value;
			}
		}
	}
	calcular_total();
	return valor;
}

function seleccionar_alojamiento(hotel, tipohabitacion, tipo_fecha){
	var i = 0, ielemento = 0, valor = '';
	for(i = 0; i < document.getElementById('form1').length; i++) {
		var form_fila = 0, form_columna = 0;
		if(document.getElementById('form1').elements[i].name == "alojamiento[]" && document.getElementById('form1').elements[i].type == "checkbox"){			
			var cadena = new String(document.getElementById('form1').elements[i].id);
			campos = cadena.split("|");
			form_fila = campos[1];
			form_columna = campos[2];
			form_fecha = campos[3];
			id = 'aloj|'+form_fila+'|'+form_columna+'|'+form_fecha;
			if(id != 'aloj|'+hotel+'|'+tipohabitacion+'|'+tipo_fecha){
				document.getElementById(id).checked = false;
			}
		}
	}
	calcular_total();
	return valor;
}

function seleccionar_fecha_aloj(){
	
	calcular_total();
}

function seleccionar_programasocial(pk, col){
	var i = 0, ielemento = 0, valor = false;
	for(i = 0; i < document.getElementById('form1').length; i++) {
		var form_fila = 0, form_columna = 0;
		var nombre_campo = new String(document.getElementById('form1').elements[i].name);
		var partes_campo = nombre_campo.split("[");
		if(partes_campo[0] == "progsoc" && document.getElementById('form1').elements[i].type == "checkbox"){			
			var cadena = new String(document.getElementById('form1').elements[i].id);			
			campos = cadena.split("|");
			form_fila = campos[1];
			form_columna = campos[2];			
			if(form_fila == pk && form_columna == col){
				ielemento = i;
				valor = document.getElementById('form1').elements[i].checked;				
			}
			
			if(form_fila == pk){
				document.getElementById('form1').elements[i].checked = false;
			}
			
		}
	}
	document.getElementById('form1').elements[ielemento].checked = valor;
	calcular_total();
}

function formatCurrency(num) { 
num = num.toString().replace(/$|,/g,''); 
if(isNaN(num)) 
num = "0"; 
sign = (num == (num = Math.abs(num))); 
num = Math.floor(num*100+0.50000000001); 
cents = num%100; 
num = Math.floor(num/100).toString(); 
if(cents<10) 
cents = "0" + cents; 
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) 
num = num.substring(0,num.length-(4*i+3))+','+ 
num.substring(num.length-(4*i+3)); 
return (((sign)?'':'-') + num + '.' + cents); 
}


function calcular_total() {

	if(document.getElementById('form1') == null)
		return false;
	var total_cuota = 0;
	for(i = 0; i < document.getElementById('form1').length; i++) {
		var campos = '';
		if(document.getElementById('form1').elements[i].name == "cuotadeparticipante" && document.getElementById('form1').elements[i].type == "radio")
			if(document.getElementById('form1').elements[i].checked == true) {
				var cadena = new String(document.getElementById('form1').elements[i].value);
				campos = cadena.split("|");
				total_cuota += parseFloat(campos[4]);
			}
	}
	var total_cuota_acomp = 0;
	var total_cuotas = 0;
	var total_actividades = 0;
	if(document.getElementById('acompanantes').value){
	if(document.getElementById('acompanantes').value != ''){
		var datos_acompanantes = document.getElementById('acompanantes').value;
		if(datos_acompanantes != ''){
			var lista_acompanantes = datos_acompanantes.split("[tr]");
			for(i=0; i<lista_acompanantes.length; i++){
				if(lista_acompanantes[i] != ''){
					var campos_acompanante = lista_acompanantes[i].split("[td]");
					var cuota = campos_acompanante[3];
					var actividades = campos_acompanante[4];
					total_cuotas += parseFloat(cuota);
					if(actividades != ''){
						lista_act = actividades.split("[ac]");				
						for(j=0; j<lista_act.length; j++){
							if(lista_act[j] != ''){
								var campos_act = lista_act[j].split("|");;
								var precio_act = campos_act[2];
								total_actividades += parseFloat(precio_act);
							}
						}				
					}
				}
			}
		}
		total_cuota_acomp = total_cuotas + total_actividades;
	}
	}
	var total_talleres = 0;
	for(i = 0; i < document.getElementById('form1').length; i++) {
		var campos = '';
		if(document.getElementById('form1').elements[i].name == "actividades[]" && document.getElementById('form1').elements[i].type == "checkbox")
			if(document.getElementById('form1').elements[i].checked == true) {
				var cadena = new String(document.getElementById('form1').elements[i].value);
				campos = cadena.split("|");
				if(isNaN(parseFloat(campos[2])) == false) {
					total_talleres += parseFloat(campos[2]);
				}
			}
	}
	
	var noche_alojamiento = 0;
	var total_alojamiento = 0;
	var selec_aloj = false;
	for(i = 0; i < document.getElementById('form1').length; i++) {
		var campos = '';
		if(document.getElementById('form1').elements[i].name == "alojamiento[]" && document.getElementById('form1').elements[i].type == "checkbox"){
			if(document.getElementById('form1').elements[i].checked == true) {
				selec_aloj = true;
				var cadena = new String(document.getElementById('form1').elements[i].value);
				campos = cadena.split("|");
				if(isNaN(parseFloat(campos[2])) == false) {
					noche_alojamiento = parseFloat(campos[2]);
				}
			}
		}
	}

	if(selec_aloj == true){
		if(validar_fecha(document.getElementById('fecha_entrada').value) && validar_fecha(document.getElementById('fecha_salida').value)){
			var dias_aloj = 0;
			fecha1 = document.getElementById('fecha_entrada').value;
			fecha2 = document.getElementById('fecha_salida').value;
			var elem1 = fecha1.split('/');
			var elem2 = fecha2.split('/');
			dia1 = elem1[0];
			mes1 = elem1[1];
			anyo1 = elem1[2];
			var fechainicio = new Date(anyo1,mes1-1,dia1,12,0,0);
			
			dia2 = elem2[0];
			mes2 = elem2[1];
			anyo2 = elem2[2];
			var fechafin = new Date(anyo2,mes2-1,dia2,12,0,0);
			
			var tiempo = fechafin.getTime() - fechainicio.getTime();
			dias_aloj = Math.floor(tiempo / (1000 * 60 * 60 * 24));
			document.getElementById('fecha_dias').value = dias_aloj;
		}
		total_alojamiento = noche_alojamiento*dias_aloj;
	}
	
	var total_programasocial = 0;
	var num_max = 1;
	for(i = 0; i < document.getElementById('form1').length; i++) {
		var campos = '';
		var nombre_campo = new String(document.getElementById('form1').elements[i].name);
		var partes_campo = nombre_campo.split("[");
		if(partes_campo[0] == "progsoc" && document.getElementById('form1').elements[i].type == "checkbox")
			if(document.getElementById('form1').elements[i].checked == true) {
				if(isNaN(parseFloat(document.getElementById('form1').elements[i].value)) == false){
					var cadena = new String(document.getElementById('form1').elements[i].id);
					campos = cadena.split("|");
					num_max = document.getElementById('progsoc_nummax|'+campos[1]).value;
					total_programasocial += parseFloat(document.getElementById('form1').elements[i].value)*parseFloat(num_max);
				}
			}
	}

	var valor_seguro = 0;
	var total_seguro = 0;
	if(document.getElementById('form1').seguro){
		var cadena;
		var campos;
		var i=0;
		for(var i=0; i<document.getElementById('form1').seguro.length; i++){
			if(document.getElementById('form1').seguro[i].checked){
				cadena = new String(document.getElementById('form1').seguro[i].value);
				campos = cadena.split("|");
				valor_seguro = campos[1];
			}
		}
		
		total_seguro = (valor_seguro*document.getElementById('form1').seg_numero_personas.value);
	}
	
	var total_inscripcion = formatCurrency(total_cuota+total_cuota_acomp+total_talleres+total_alojamiento+total_programasocial+total_seguro);
	document.getElementById('total_inscripcion').value = total_inscripcion;
	document.getElementById('txt_total').innerHTML = 'TOTAL: <b>'+total_inscripcion+'</b> €';
	
	return total_inscripcion;
}


function ventana_alta_aco(indice, accion) {	

	Dialog.confirm(document.getElementById('alta_aco').innerHTML, {className:"alphacube", title: 'AÑADIR ACOMPAÑANTE', width:800, height:450, okLabel: "ACEPTAR", cancelLabel: "CANCELAR", 
		onOk:function(win){
			//Añadir acompanante
			var nombre = document.getElementById('alt_aco_nombre').value;
			var apellido1 = document.getElementById('alt_aco_apellido1').value;
			var apellido2 = document.getElementById('alt_aco_apellido2').value;
			var cuota = document.getElementById('cuotadeacompanantesel').value;
			var actividades = actividades_sel_aco();
			var error = false;
			if(nombre == ''){
				error = true;
				document.getElementById('msg_alt_aco_nombre').innerHTML = 'Introduzca un nombre.';
			}else {
				document.getElementById('msg_alt_aco_nombre').innerHTML = '&nbsp;';
			}
			if(cuota == ''){
				error = true;
				document.getElementById('msg_cuotadeacompanantesel').innerHTML = 'Seleccione una cuota.';
			}else{
				document.getElementById('msg_cuotadeacompanantesel').innerHTML = '&nbsp;';
			}
			
			if(!error){
				document.getElementById('acompanantes').value += nombre+'[td]'+apellido1+'[td]'+apellido2+'[td]'+cuota+'[td]'+actividades+'[tr]';				
				generar_lista();
				calcular_total();
				Dialog.closeInfo();
			}
		}
	});
}

function seleccionarcuota(valor) {
	var cadena = new String(valor);
	var campos = cadena.split("|");
	var cuotadeacompanantesel = parseFloat(campos[4]);
	document.getElementById('cuotadeacompanantesel').value = cuotadeacompanantesel;
}

function seleccionaractividad(valor) {
	if(valor.checked == true) {
		document.getElementById('actividadesacompanantesel').value += valor.value+'[ac]';
	}else {
		var cadena = new String(document.getElementById('actividadesacompanantesel').value);
		document.getElementById('actividadesacompanantesel').value = '';
		var campos = cadena.split("[ac]");
		campos.slice(1,-1);
		for(i=0; i<campos.length; i++) {
			if(campos[i] != valor.value && campos[i] != '') {
				document.getElementById('actividadesacompanantesel').value += campos[i]+'[ac]';
			}
		}
	}
}


function validar_formulario(){

	var error_nombre = false;
	if(document.getElementById('nombre').value == ''){
		error_nombre = true;
	}else{
		error_nombre = false;
	}
	if(error_nombre)
		document.getElementById('msg_nombre').innerHTML = 'Introduzca un nombre.';
	else
		document.getElementById('msg_nombre').innerHTML = '&nbsp;';
	
	var error_apellido1 = false;
	if(document.getElementById('apellido1').value == ''){
		error_apellido1 = true;
	}else{
		error_apellido1 = false;
	}
	if(error_apellido1)
		document.getElementById('msg_apellido1').innerHTML = 'Introduzca el 1er apellido.';
	else
		document.getElementById('msg_apellido1').innerHTML = '&nbsp;';
	
	var error_telefono = false;
	if(document.getElementById('telefono').value == '' && document.getElementById('movil').value == ''){
		error_telefono = true;
	}else{
		error_telefono = false;	
	}
	if(error_telefono)
		document.getElementById('msg_telefono').innerHTML = 'Introduzca un teléfono o un móvil.';
	else
		document.getElementById('msg_telefono').innerHTML = '&nbsp;';

	var error_email = false;
	if(document.getElementById('email').value == '' || !validar_email(document.getElementById('email').value)){
		error_email = true;
	}

	var conf_email;
	if(document.getElementById('conf_email').value == '' || !validar_email(document.getElementById('conf_email').value)){
		conf_email = true;	
	}
	if(document.getElementById('email').value != document.getElementById('conf_email').value){
		conf_email = true;	
	}

	if(error_email)
		document.getElementById('msg_email').innerHTML = 'Introduzca un email.';
	else
		document.getElementById('msg_email').innerHTML = '&nbsp;';

	if(!error_email){
		if(conf_email)
			document.getElementById('msg_email').innerHTML = 'Compruebe que ha escrito correctamente su email.';
		else
			document.getElementById('msg_email').innerHTML = '&nbsp;';
	}
	
	var error_cuota = true;
	var existen_cuotas = false;
	var valor_cuota = 10;
	for(i = 0; i < document.getElementById('form1').length; i++) {
		campos = '';
		if(document.getElementById('form1').elements[i].name == "cuotadeparticipante" && document.getElementById('form1').elements[i].type == "radio"){
			existen_cuotas = true;
			if(document.getElementById('form1').elements[i].checked == true) {
				error_cuota = false;
				var cadena = new String(document.getElementById('form1').elements[i].value);
				campos = cadena.split("|");
				valor_cuota = campos[4];
			}
		}
	}
	if(existen_cuotas) {
		if(error_cuota){
			document.getElementById('msg_cuotadeparticipante').innerHTML = 'Seleccione una cuota.';
		}else{
			document.getElementById('msg_cuotadeparticipante').innerHTML = '&nbsp;';
		}
	}else{
		error_cuota = false;	
	}
	
	
	var error_alojamiento = false;
	var existe_alojamiento = false;
	var fechas_aloj_validas = true;
	
	if(document.getElementById('msg_alojamiento')){
		document.getElementById('msg_alojamiento').innerHTML = '&nbsp;';
	}
	if(document.getElementById('fecha_entrada')){
		existe_alojamiento = true;
		var i = 0, ielemento = 0, valor = '';
		var seleccionado_alojamiento = false;
		for(i = 0; i < document.getElementById('form1').length; i++) {
			var form_fila = 0, form_columna = 0;
			if(document.getElementById('form1').elements[i].name == "alojamiento[]" && document.getElementById('form1').elements[i].type == "checkbox"){			
				var cadena = new String(document.getElementById('form1').elements[i].id);
				campos = cadena.split("|");
				form_fila = campos[1];
				form_columna = campos[2];
				form_fecha = campos[3];
				id = 'aloj|'+form_fila+'|'+form_columna+'|'+form_fecha;
				if(document.getElementById(id).checked==true){
					seleccionado_alojamiento = true;	
				}
			}
		}
	}
	
	if(seleccionado_alojamiento){
		if(!validar_fecha(document.getElementById('fecha_entrada').value) || document.getElementById('fecha_entrada').value == ''){
			fechas_aloj_validas = false;
			error_alojamiento = true;
		}
		if(!validar_fecha(document.getElementById('fecha_salida').value) || document.getElementById('fecha_entrada').value == ''){
			fechas_aloj_validas = false;
			error_alojamiento = true;
		}
		if(!fechas_aloj_validas)
			document.getElementById('msg_alojamiento').innerHTML = 'Introduza unas fechas válidas.';
	}
	
	var error_seguro = false;
	if(document.forms[0].seguro){
		error_seguro = true;
		for(var i=0; i<document.forms[0].seguro.length; i++){
			if(document.forms[0].seguro[i].checked)
				error_seguro = false;
		}
	}
	
	if(document.forms[0].seguro){
		if(error_seguro == true)
			document.getElementById('msg_seguro').innerHTML = 'Seleccione una opción.';
		else
			document.getElementById('msg_seguro').innerHTML = '&nbsp;';
	}
	
	if(document.getElementById('fact_nombre')){
	
		var error_fact_nombre = false;
		if(document.getElementById('fact_nombre').value == ''){
			error_fact_nombre = true;
		}else{
			error_fact_nombre = false;
		}
		if(error_fact_nombre)
			document.getElementById('msg_fact_nombre').innerHTML = 'Introduzca un nombre.';
		else
			document.getElementById('msg_fact_nombre').innerHTML = '&nbsp;';
	
		var error_fact_nif = false;
		if(document.getElementById('fact_nif').value == ''){
			error_fact_nif = true;
		}else{
			error_fact_nif = false;
		}
		if(error_fact_nif)
			document.getElementById('msg_fact_nif').innerHTML = 'Introduzca un NIF/CIF.';
		else
			document.getElementById('msg_fact_nif').innerHTML = '&nbsp;';	
	
		var error_fact_direccion = false;
		if(document.getElementById('fact_direccion').value == ''){
			error_fact_direccion = true;
		}else{
			error_fact_direccion = false;
		}
		if(error_fact_direccion)
			document.getElementById('msg_fact_direccion').innerHTML = 'Introduzca una dirección.';
		else
			document.getElementById('msg_fact_direccion').innerHTML = '&nbsp;';
		
		var error_fact_cp = false;
		if(document.getElementById('fact_cp').value == ''){
			error_fact_cp = true;
		}else{
			error_fact_cp = false;
		}
		if(error_fact_cp)
			document.getElementById('msg_fact_cp').innerHTML = 'Introduzca un código postal.';
		else
			document.getElementById('msg_fact_cp').innerHTML = '&nbsp;';
		
		var error_fact_localidad = false;
		if(document.getElementById('fact_localidad').value == ''){
			error_fact_localidad = true;
		}else{
			error_fact_localidad = false;
		}
		if(error_fact_localidad)
			document.getElementById('msg_fact_localidad').innerHTML = 'Introduzca una localidad.';
		else
			document.getElementById('msg_fact_localidad').innerHTML = '&nbsp;';
			
		var error_fact_telefono = false;
		if(document.getElementById('fact_telefono').value == ''){
			error_fact_telefono = true;
		}else{
			error_fact_telefono = false;
		}
		if(error_fact_telefono)
			document.getElementById('msg_fact_telefono').innerHTML = 'Introduzca un teléfono.';
		else
			document.getElementById('msg_fact_telefono').innerHTML = '&nbsp;';
	
		var error_fact_email = false;
		if(document.getElementById('fact_email').value == '' || !validar_email(document.getElementById('fact_email').value)){
			error_fact_email = true;
		}else{
			error_fact_email = false;
		}
		if(error_fact_email)
			document.getElementById('msg_fact_email').innerHTML = 'Introduzca un email.';
		else
			document.getElementById('msg_fact_email').innerHTML = '&nbsp;';
	//}
	
	var error_formadpago = true;
	for(i = 0; i < document.getElementById('form1').length; i++) {
		campos = '';
		if(document.getElementById('form1').elements[i].name == "formadpago" && document.getElementById('form1').elements[i].type == "radio")
			if(document.getElementById('form1').elements[i].checked == true) {
				error_formadpago = false;
			}
	}
	
	if(error_formadpago)
		document.getElementById('msg_formadpago').innerHTML = 'Seleccione una forma de pago.';
	else
		document.getElementById('msg_formadpago').innerHTML = '&nbsp;';
	
	}

	if(calcular_total() <= 0){
	
		var error_fact_nombre = false;
		if(document.getElementById('msg_fact_nombre'))
			document.getElementById('msg_fact_nombre').innerHTML = '&nbsp;';
	
		var error_fact_nif = false;
		if(document.getElementById('msg_fact_nif'))
			document.getElementById('msg_fact_nif').innerHTML = '&nbsp;';	
	
		var error_fact_direccion = false;
		if(document.getElementById('msg_fact_direccion'))
			document.getElementById('msg_fact_direccion').innerHTML = '&nbsp;';
		
		var error_fact_cp = false;
		if(document.getElementById('msg_fact_cp'))
			document.getElementById('msg_fact_cp').innerHTML = '&nbsp;';
		
		var error_fact_localidad = false;
		if(document.getElementById('msg_fact_localidad'))
			document.getElementById('msg_fact_localidad').innerHTML = '&nbsp;';
			
		var error_fact_telefono = false;
		if(document.getElementById('msg_fact_telefono'))
			document.getElementById('msg_fact_telefono').innerHTML = '&nbsp;';
	
		var error_fact_email = false;
		if(document.getElementById('msg_fact_email'))
			document.getElementById('msg_fact_email').innerHTML = '&nbsp;';
	//}
	
		var error_formadpago = false;
		if(document.getElementById('msg_formadpago'))
			document.getElementById('msg_formadpago').innerHTML = '&nbsp;';
	}
	

	if(!error_nombre && !error_apellido1 && !error_telefono && !error_cuota && !error_formadpago && !error_email && !conf_email && !error_fact_nombre && !error_fact_nif && !error_fact_direccion && !error_fact_cp && !error_fact_localidad && !error_fact_telefono && !error_fact_email && !error_alojamiento && !error_seguro){
		document.getElementById('form1').submit();
	}else{
		alert('Rellene todos los campos obligatorios indicados en rojo.');
		return false;		
	}

}

function cargar_provincia(){

	var prov_andalucia = new Array("Almería", "Cádiz", "Córdoba", "Granada", "Huelva", "Jaén", "Málaga", "Sevilla");
	var prov_aragon = new Array("Huesca", "Teruel", "Zaragoza");
	var prov_asturias = new Array("Asturias");
	var prov_baleares = new Array("Baleares");
	var prov_canarias = new Array("Las Palmas", "Santa Cruz de Tenerife");
	var prov_cantabria = new Array("Cantabria");
	var prov_castilla_lamancha = new Array("Albacete", "Ciudad Real", "Cuenca", "Guadalajara", "Toledo");
	var prov_castilla_leon = new Array("Ávila", "Burgos", "León", "Palencia", "Salamanca", "Segovia", "Soria", "Valladolid", "Zamora");
	var prov_cataluna = new Array("Barcelona", "Tarragona", "Lleida", "Girona");
	var prov_ceuta = new Array("Ceuta");
	var prov_extremadura = new Array("Cáceres", "Badajoz");
	var prov_galicia = new Array("A Coruña", "Lugo", "Ourense", "Pontevedra");
	var prov_larioja = new Array("La Rioja");
	var prov_madrid = new Array("Madrid");
	var prov_melilla = new Array("Melilla");
	var prov_murcia = new Array("Murcia");
	var prov_navarra = new Array("Navarra");
	var prov_pais_vasco = new Array("Álava", "Guipúzcoa", "Vizcaya");
	var prov_valencia = new Array("Alicante", "Castellón", "Valencia,");
	var prov_vacia = new Array("");
	var lista_prov;
	
	switch(document.getElementById('comunidad').value){
		case "Andalucía":
			lista_prov = prov_andalucia;
			break;
		case "Aragón":
			lista_prov = prov_aragon;
			break;
		case "Asturias":
			lista_prov = prov_asturias;
			break;
		case "Baleares":
			lista_prov = prov_baleares;
			break;
		case "Canarias":
			lista_prov = prov_canarias;
			break;
		case "Cantabria":
			lista_prov = prov_cantabria;
			break;
		case "Castilla La Mancha":
			lista_prov = prov_castilla_lamancha;
			break;
		case "Castilla y León":
			lista_prov = prov_castilla_leon;
			break;
		case "Cataluña":
			lista_prov = prov_cataluna;
			break;
		case "Ceuta":
			lista_prov = prov_ceuta;
			break;
		case "Extreamadura":
			lista_prov = prov_extremadura;
			break;
		case "Galicia":
			lista_prov = prov_galicia;
			break;
		case "La Rioja":
			lista_prov = prov_larioja;
			break;
		case "Madrid":
			lista_prov = prov_madrid;
			break;
		case "Melilla":
			lista_prov = prov_melilla;
			break;
		case "Murcia":
			lista_prov = prov_murcia;
			break;
		case "Navarra":
			lista_prov = prov_navarra;
			break;
		case "País Vasco":
			lista_prov = prov_pais_vasco;
			break;
		case "Valencia":
			lista_prov = prov_valencia;
			break;
		default:
			lista_prov = prov_vacia;
	}
	
	var i = 0;
	document.getElementById('provincia').length = lista_prov.length;
	for(i = 0; i<lista_prov.length; i++){
		document.getElementById('provincia').options[i].text = lista_prov[i];
		document.getElementById('provincia').options[i].value = lista_prov[i];
	}
}