function fn_testData(ac) {

	var strMessage;

	strMessage = "";

	if (document.frmDetalle.txtfdesde.value.length == 0)
		strMessage += "\n   -> Desde fecha.";

	if (document.frmDetalle.txtfhasta.value.length == 0)
		strMessage += "\n   -> Hasta fecha.";

    if (document.frmDetalle.txtnumaseg[document.frmDetalle.txtnumaseg.selectedIndex].value == 0)
    	strMessage += "\n   -> nº asegurados.";

	if(document.frmDetalle.elements['txtzonadestino']){
		if (document.frmDetalle.txtzonadestino.value.length == 0)
			strMessage += "\n   -> Zona destino.";
	}

	if (document.frmDetalle.txtexpediente.value.length == 0)
    	strMessage += "\n   -> Expediente.";

	if (document.frmDetalle.txtlocalresiden.value.length == 0)
    	strMessage += "\n   -> Localidad de residencia.";

	asegurados_rell = true;
	elementos = $(".textasegurado");
	for(i=0; i<elementos.length; i++){
		if(elementos[i].value == "") asegurados_rell = false;
	}
    if(asegurados_rell==false){
		strMessage += "\n   -> Algunos campos de asegurados no están informados.";
	}

	if (strMessage.length > 0) {
		strMessage = "Los datos introducidos están incompletos. Faltan los siguientes campos obligatorios:\n" + strMessage;
		strMessage += "\n\nComplete los datos y vuelva a intentarlo."
		alert(strMessage);
		return false;
	}

	var now = new Date();
    var today = new Date(now.getYear(),now.getMonth(),now.getDate());
    var century = parseInt(now.getYear()/100)*100;
    var fdesde = new Date(document.frmDetalle.txtfdesde.value.substring(6,10),
                            document.frmDetalle.txtfdesde.value.substring(3,5)-1,
                            document.frmDetalle.txtfdesde.value.substring(0,2));
    var fhasta = new Date(document.frmDetalle.txtfhasta.value.substring(6,10),
                            document.frmDetalle.txtfhasta.value.substring(3,5)-1,
                            document.frmDetalle.txtfhasta.value.substring(0,2));
	if (fhasta < fdesde ){
		strMessage = "La fecha Hasta ha de ser posterior a la fecha Desde !.";
		strMessage += "\n\nComplete los datos y vuelva a intentarlo."
		alert(strMessage);
		return false;
    }

    if (fdesde < today && ac=='A'){
		strMessage = "La fecha Desde no puede ser una fecha pasada !.";
		strMessage += "\n\nComplete los datos y vuelva a intentarlo."
		alert(strMessage);
		return false;
    }

    if (fhasta < fdesde && ac=='A'){
		strMessage = "La fecha Hasta no puede ser anterios a la fecha Desde !.";
		strMessage += "\n\nComplete los datos y vuelva a intentarlo."
		alert(strMessage);
		return false;
    }

	if (isNaN(document.frmDetalle.txtnumaseg.value)){
		strMessage = "El número de asegurados ha de ser un valor numérico !.";
		strMessage += "\n\nComplete los datos y vuelva a intentarlo."
		alert(strMessage);
		return false;
    }
	if (document.frmDetalle.txtnumaseg.value < 1 ){
		strMessage = "El número mínimo de asegurados es 1 !.";
		strMessage += "\n\nComplete los datos y vuelva a intentarlo."
		alert(strMessage);
		return false;
    }

    refno=/[a-zA-Z]{1,}/;   // REGULAR EXPRESION: At least one and only letters
	if (!refno.test(document.frmDetalle.txtdestino.value))
	{
		strMessage = "El campo destino solo admite letras !.";
		strMessage += "\n\nComplete los datos y vuelva a intentarlo."
		alert(strMessage);
		return false;
    }
    /*var count = 0;
    for (var i=0;i<document.frmDetalle.txtasegurados.value.length;i++)
    {
    	if (document.frmDetalle.txtasegurados.value.charAt(i)==',')
    	{
    	  	count++;
    	}
    }
	if (count!=document.frmDetalle.txtnumaseg.value-1)
	{
    		strMessage = "El número de asegurados no coincide con los nombres!.";
			strMessage += "\n\nComplete los datos y vuelva a intentarlo."
			alert(strMessage);
			return false;
	}
	else{
		encontrado = false;
		val = " "+document.frmDetalle.txtasegurados.value;
		for(i=0; i<=9; i++) if (val.indexOf(i)>0) encontrado = true;
		if(encontrado){
    		strMessage = "No está permitido insertar números en el campo de los nombres de los asegurados.";
			strMessage += "\n\nComplete los datos y vuelva a intentarlo."
			alert(strMessage);
			return false;
		}
	}*/
	return true;
}

function fn_alta (){
	return fn_testData('A');
}

function fn_Guardar() {

	if (fn_testData('G') )
	{
		window.location = "detalle_poliza.php?ac=G" +
					"&id=" +
					"&destino=" + document.frmDetalle.txtdestino.value+
					"&fdesde=" + document.frmDetalle.txtfdesde.value+
					"&fhasta=" + document.frmDetalle.txtfhasta.value+
					"&aseg=" + document.frmDetalle.txtasegurados.value+
					"&naseg=" + document.frmDetalle.txtnumaseg.value+
					"&zdest=" + document.frmDetalle.txtzonadestino.value+
					"&agen=" + document.frmDetalle.txtagencia.value+
					"&exp=" + document.frmDetalle.txtexpediente.value+
					"&lres=" + document.frmDetalle.txtlocalresiden.value+
					"&estado=" + document.frmDetalle.txtestado.value+
					"&situacion=" + document.frmDetalle.txtsituacion.value+
					"&tipo=" + document.frmDetalle.txttipo.value+
					"&tramo=" + document.frmDetalle.txttramo.value+
					"&remesa=" + document.frmDetalle.txtremesa.value;
	}
}
function fn_baja() {


 var fdesde = new Date(document.frmDetalle.txtfdesde.value.substring(6,10),
                            document.frmDetalle.txtfdesde.value.substring(3,5)-1,
                            document.frmDetalle.txtfdesde.value.substring(0,2));

 var fexpe= new Date(document.frmDetalle.txtfechaexpe.value.substring(6,10),
                            document.frmDetalle.txtfechaexpe.value.substring(3,5)-1,
                            document.frmDetalle.txtfechaexpe.value.substring(0,2));

 var now = new Date();
 var today = new Date(now.getYear(),now.getMonth(),now.getDate());

 var horas_finicio = (fdesde - now) / HOUR;
 var semanas_expedicion = (today - fexpe) / WEEK;
 if ( (horas_finicio > 96) && (semanas_expedicion<4))
 {
 if (fn_testData('G') && confirm('¿Esta seguro que desea dar de baja esta póliza?'))
	{
		window.location = "detalle_poliza.php?ac=G" +
					"&id=" +
					"&destino=" + document.frmDetalle.txtdestino.value+
					"&fdesde=" + document.frmDetalle.txtfdesde.value+
					"&fhasta=" + document.frmDetalle.txtfhasta.value+
					"&aseg=" + document.frmDetalle.txtasegurados.value+
					"&naseg=" + document.frmDetalle.txtnumaseg.value+
					"&zdest=" + document.frmDetalle.txtzonadestino.value+
					"&agen=" + document.frmDetalle.txtagencia.value+
					"&exp=" + document.frmDetalle.txtexpediente.value+
					"&lres=" + document.frmDetalle.txtlocalresiden.value+
					"&estado=B"+
					"&situacion=" + document.frmDetalle.txtsituacion.value+
					"&tramo=" + document.frmDetalle.txttramo.value+
					"&tipo=" + document.frmDetalle.txttipo.value+
					"&remesa=" + document.frmDetalle.txtremesa.value;
	}
 }	else alert("No se puede anular un seguro 96 horas antes de la fecha de inicio o un mes después de su contratación. Si desea proceder póngase en contacto  con nosotros.");

}
function fn_Cancelar() {

	document.frmDetalle.reset();

}
function fn_Eliminar() {

	if (confirm("¿Está seguro que desea eliminar completamente la poliza? ")) {

		window.location = "detalle_poliza.php?ac=E" +
					"&id=";
	}
}

function fn_Imprimir() {

		window.location = "certificado.php?id=&tipo= "
		                    + document.frmDetalle.txttipo.value;
}

function selected(cal, date) {
  cal.sel.value = date;
  cal.callCloseHandler();
}

function closeHandler(cal) {
  cal.hide();
}

function showCalendar(id, format) {
  var el = document.getElementById(id);
  if (calendar != null) {
    calendar.hide();
  } else {
    var cal = new Calendar(true, null, selected, closeHandler);
    calendar = cal;
    cal.setRange(1970, 2070);
    cal.create();
  }
  calendar.setDateFormat(format);
  calendar.parseDate(el.value);
  calendar.sel = el;
  calendar.showAtElement(el);

  return false;
}

var MINUTE = 60 * 1000;
var HOUR = 60 * MINUTE;
var DAY = 24 * HOUR;
var WEEK = 7 * DAY;

function modificar_num_aseg(url){
	document.forms["frmDetalle"].action = url;
	document.forms["frmDetalle"].submit();
}

var vismod = false;
function enable_modificar(){
	if(vismod){
		$(".modifvis").hide();
		$(".modifenable").attr("disabled", true);
	}
	else{
		$(".modifvis").show();
		$(".modifenable").removeAttr("disabled");
	}
	vismod = !vismod;
}
function valEmail(field) {
	var re  = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
	if (!re.test(document.getElementById(field).value)) {
		return false
	}
	return true
}
function caracter_valido_nombres(k){
	var str = "";
	str = str+"AÁÀÄBCÇDEÉÈËFGHIÍÌÏJKLMNÑOÓÒÖPQRSTUÚÙÜVWXYZ";
	str = str+"aáàäbcçdeéèëfghiíìïjklmnñoóòöpqrstuúùüvwxyz";
	str = str+"'-· ";
	for(i=0; i<str.length; i++){
		if(str.charCodeAt(i)==k) return true;
	}
	return false;
}

