/* Author: Gustavo Bello, email: gbello@visionconsulting.com.mx */

function setFocus(obj){
 st = "document.forms[0]."+obj+".focus();";
 eval(st);
}
//***** Imagenes **********
//Función para hacer el cambio de imagen con OnMuseOver y OnMouseOut
function swImg(obj, path){
 var fte = obj.src;
 var st = "document."+obj.name+".src = '"+path+obj.name;
 if(fte.substring(fte.length-5,fte.length-4) == "1")
  st = st + "_2.jpg';"
 else
  st = st + "_1.jpg';"
 eval(st);
}

function img(obj, path, doc){
 for(i=0; i<doc.images.length; i++){
  if(doc.images[i] == obj) break;
 }
 if(!arrImg[i]) swImg(obj, path);
}

var arrImg = [false, false, false, false, false, false, false];

function setImg(doc, img){
 for(i=0; i<doc.images.length; i++){
  st = new String(doc.images[i].src);
  st = st.substring(0, st.length-5);
  if(doc.images[i] != img){
   st += "1.jpg";
   doc.images[i].src = st;
   arrImg[i] = false;
  }
  else{
   st += "2.jpg";
   doc.images[i].src = st;
   arrImg[i] = true;
  }
 }
}

//***** Validación de fechas y cálculo de edad **********

function isDate(day, month, year){
 if(day != "" && month != "" && year != ""){
  month--;
  year = y2k(year);
  var fecha = new Date(year,month,day);
  if(day == fecha.getDate() && month == fecha.getMonth() && year == fecha.getFullYear())
   return true;
  else { alert("La fecha NO existe") ; return false; }
 }
 else
  return false;
}


function y2k(number){
 return (number < 1000) ? number + 1900 : number;
}


function compareDates(day, month, year, thisDay, thisMonth, thisYear){
 month--;
 thisMonth--;
 var cDate = new Date(year, month, day);
 var today = new Date(thisYear, thisMonth, thisDay);
 var dateDiff = (today - cDate) / 86400000;
 if(dateDiff < 0)
  return false;
 else
  return true;
}

function getAge(day, month, year, thisDay, thisMonth, thisYear, f, idApp){
	if(day != "" && month != "" && year != ""){
		if(isDate(day, month, year)){
			if(compareDates(day, month, year, thisDay, thisMonth, thisYear)){
				if(idApp == 6){
					var loc = new String(document.location);
					var st = "/seguimiento/";
					if(loc.search(st) == -1){ //Registro
						var arrFD = getFecDef("arrFrmSida4");
						if(arrFD.length == 3){
							if(!compareDates(day, month, year, arrFD[0], arrFD[1], arrFD[2])){
								alert("La fecha de Nacimiento debe ser anterior a la fecha de Defunción ("+arrFD[0]+"/"+arrFD[1]+"/"+arrFD[2]+")");
								f.Fecha_NacMes.selectedIndex = 0;
								borraEdad(f);
								return false;
							}
							ponEdad(f, howOld(day, month, year, arrFD[0], arrFD[1], arrFD[2], f)); //Pone edad de acuerdo con la fecha de Defunción
						}
						//No está bien la fecha de defunción, pone edad de acuerdo con la fecha de HOY
						else ponEdad(f, howOld(day, month, year, thisDay, thisMonth, thisYear, f));
					}else{//Seguimiento
						if(f.PacSeEnc[1].checked){
							var arrTemp = [f.FecDefunDia.value, f.FecDefunMes.value, f.FecDefunAno.value];
							for(k=0; k<arrTemp.length; k++){
								if(isNaN(arrTemp[k]) || arrTemp[k] == ""){
									ponEdad(f, howOld(day, month, year, thisDay, thisMonth, thisYear, f));
									return false;
								}
							}
							if(!compareDates(day, month, year, arrTemp[0], arrTemp[1], arrTemp[2])){
								alert("La fecha de Nacimiento debe ser anterior a la fecha de Defunción ("+arrTemp[0]+"/"+arrTemp[1]+"/"+arrTemp[2]+")");
								f.Fecha_NacMes.selectedIndex = 0;
								borraEdad(f);
								return false;
							}
							ponEdad(f, howOld(day, month, year, arrTemp[0], arrTemp[1], arrTemp[2], f));
						}else ponEdad(f, howOld(day, month, year, thisDay, thisMonth, thisYear, f));
					}
				}else ponEdad(f, howOld(day, month, year, thisDay, thisMonth, thisYear, f));
			}else{
				alert("La fecha de Nacimiento no puede ser posterior al día de hoy");
				f.Fecha_NacMes.selectedIndex = 0;
				borraEdad(f);
				return false;
			}
		}else{
			f.Fecha_NacDia.selectedIndex = 0;
			borraEdad(f);
			return false;
		}
	}else{
		borraEdad(f);
		return false;
	}
	
}

function getFecDef(nom){
 var arr = eval("parent.Header."+nom+";");
 var arrFD = new Array();
 if(arr.length < 1) return arrFD;
 for(i=0; i<arr.length;i+=2){
  if(arr[i] == "FecDefunDia") arrFD[0] = arr[i+1];
  if(arr[i] == "FecDefunMes") arrFD[1] = arr[i+1];
  if(arr[i] == "FecDefunAno") { arrFD[2] = arr[i+1]; break; }
 }
 for(j=0; j<arrFD.length; j++){
  if(isNaN(arrFD[j]) || arrFD[j] == ""){ arrFD.length = 0; return arrFD; }
 }
 return arrFD;
}

function getDefAge(dDay, dMonth, dYear, thisDay, thisMonth, thisYear, f){
	var bDay = f.Fecha_NacDia.value, bMonth = f.Fecha_NacMes.value, bYear = f.Fecha_NacAno.value;
	//Para seguir deben estar todos los valores
	if(bDay=="" || bMonth=="" || bYear=="" || dDay=="" || dMonth=="" || dYear=="") { return false; }//borraEdad(f);
	//Revisa que la fecha de Defunción sea válida.
	if(!isDate(dDay, dMonth, dYear)){ f.FecDefunDia.selectedIndex = 0; borraEdad(f); return false; }
	//La fecha de defunción NO debe ser posterior a HOY.
	if(!compareDates(dDay, dMonth, dYear, thisDay, thisMonth, thisYear)){
		alert("La fecha de Defunción no puede ser posterior al día de hoy");
		f.FecDefunMes.selectedIndex = 0;
		borraEdad(f);
		return false;
	}
	//La fecha de Defunción no puede ser anterior a la fecha de Nacimiento
	if(!compareDates(bDay, bMonth, bYear, dDay, dMonth, dYear)){
		alert("La fecha de Defunción no puede ser anterior a la fecha de Nacimiento");
		f.FecDefunMes.selectedIndex = 0;
		borraEdad(f);
		return false;
	}
	//alert("Nació: "+bDay+"/"+bMonth+"/"+bYear+" ==> Murió: "+dDay+"/"+dMonth+"/"+dYear);
	ponEdad(f, howOld(bDay, bMonth, bYear, dDay, dMonth, dYear, f));
}

function fechaOK(objDia, objMes, objAno, thisDay, thisMonth, thisYear){
 var day = objDia.value; month = objMes.value; year = objAno.value;
 if(day != "" && month != "" && year != ""){
  if(isDate(day, month, year)){
   if(!compareDates(day, month, year, thisDay, thisMonth, thisYear)){
    alert("La fecha no puede ser posterior al día de hoy");
	objMes.selectedIndex = 0;
   }
  }
  else
   objDia.selectedIndex = 0;
 }
}

function fechaParcialOK(objMonth, objYear, thisMonth, thisYear){
 var month = objMonth.value; year = objYear.value;
 if(month != "" && year != ""){
  if(year == thisYear){
   if(month > thisMonth){
    alert("El mes no pueder ser posterior al mes en curso");
	objMonth.selectedIndex = 0;
   }
  }
 }
}

function fecTextOK(objDia, objMes, objAno, thisDay, thisMonth, thisYear){
 var day = objDia.value; month = objMes.value; year = objAno.value;
 if(day != "" && month != "" && year != ""){
  if(year.length == 4){
   if(isDate(day, month, year)){
    if(!compareDates(day, month, year, thisDay, thisMonth, thisYear)){
     alert("La fecha no puede ser posterior al día de hoy");
     objDia.value = "";
     objMes.value = "";
     objAno.value = "";
	 objDia.focus();
    }
   }// fin if(isDate)
   else{
     objDia.value = "";
     objMes.value = "";
     objAno.value = "";
	 objDia.focus();
   } 
  }
  else{alert("El campo año debe ser de cuatro dígitos"); objAno.focus();}
 }
}


function howOld(day,month,year,thisDay,thisMonth,thisYear,f) {
 var yearsold = thisYear - year, monthsold = 0, daysold = 0, monthlength = 0, bis = thisYear % 4;
 thisDay = parseInt(thisDay);
 thisMonth = parseInt(thisMonth);
 thisYear = parseInt(thisYear);
 if (thisMonth >= month) monthsold = thisMonth - month;
 else { yearsold--; monthsold = thisMonth + 12 - month; }
 if (thisDay >= day) daysold = thisDay - day;
 else {
   if (monthsold > 0) monthsold--;
   else { yearsold--; monthsold+=11; }
   switch(thisMonth){
    case 1: case 2: case 4: case 6: case 8: case 9: case 11:
	 monthlength = 31;
	 break;
    case 5: case 7: case 10: case 12:
	 monthlength = 30;
	 break;
    case 3:
	 if(bis != 0) monthlength = 28;
	 else monthlength = 29;
	 break;
   }
   daysold = thisDay + monthlength - day;
 }
 var arrEdad = [daysold, monthsold, yearsold];
 return arrEdad;
}

function ponEdad(f, arr){
 f.EdadDias.value = arr[0];
 f.EdadMeses.value = arr[1];
 f.EdadAnos.value = arr[2];
}

function borraEdad(f){
 f.EdadAnos.value = "";
 f.EdadMeses.value = "";
 f.EdadDias.value = "";
}

// ***** Obtención del RFC **********

function obtenRFC(f){
if (f.A_Paterno.value==""){alert('SI NO TIENE APELLIDO PATERNO DIGITE XX'); return false;}
 if (f.A_Materno.value==""){alert('SI NO TIENE APELLIDO MATERNO DIGITE XX'); return false;}
 if (f.Nombre.value=="")   {alert('SI NO TIENE NOMBRE DIGITE RN'); return false;}
var strPrimer  = f.A_Paterno.value;
var strSegundo =f.A_Materno.value;
var strNombre = f.Nombre.value;
var intLongP  = strPrimer.length - 2;
var intLongS  = strSegundo.length - 2;
var intLongN  = strNombre.length - 2;
var regP      = "[A-ZÑ]" + "[A-ZÑ' ]{" + intLongP + "}" + "[A-Z]";
var regS      = "[A-ZÑ]" + "[A-ZÑ' ]{" + intLongS + "}" + "[A-Z]";
var regN      = "[A-ZÑ]" + "[A-ZÑ'. ]{" + intLongN + "}" + "[A-Z.]";

if(strPrimer.search(regP) != 0){	
	alert("RECUERDA QUE EL APELLIDO PATERNO SE ESCRIBE SIN ACENTO Y SIN ABREVIATURA Y EN CASO DE NO CONTAR CON EL DIGITE XX");
	f.A_Paterno.focus();
	return false;	
}
    //strSegundo = f.A_Materno.value;
    //intLongS=strSegundo.length - 2;
   //alert(strSegundo);
if(strSegundo.search(regS) != 0){	
	alert("RECUERDA QUE EL APELLIDO MATERNO SE ESCRIBE SIN ACENTO Y SIN ABREVIATURA Y EN CASO DE NO CONTAR CON EL DIGITE XX");
	f.A_Materno.focus();
	return false;	
}
//strSegundo = f.Nombre.value;
if(strNombre.search(regN) != 0){	
	alert("Nombre no valido\n caracteres validos: A-Z (incluso Ñ), apostrofo ' y espacio (excepto al inicio y al final)");
	f.Nombre.focus();
	return false;	
}

 
 var pat = trim(quitaAcentos(f.A_Paterno.value));
 var mat = trim(quitaAcentos(f.A_Materno.value));
 var nom = trim(quitaAcentos(f.Nombre.value));

 

 var dia = f.Fecha_NacDia.value, mes = f.Fecha_NacMes.value, ano = f.Fecha_NacAno.value;
 
 if(pat != "" && mat != "" && nom != "" && dia != "" && mes != "" && ano != ""){
  if(isDate(dia, mes, ano) && pat.length >= 2){
   
   rfc = pat.substring(0,1);
   rfc += obtenVocal(pat);
   rfc += mat.substring(0,1);
  
   if (nom!=""){
       nom=trim(quitajose(nom));
     }
	 
   rfc += nom.substring(0,1);
   rfc += (ano.length == 4) ? ano.substring(2,4) : ano;
   rfc += (mes.length == 1) ? "0"+mes : mes;
   rfc += (dia.length == 1) ? "0"+dia : dia;
   f.RFC.value = rfc;
   alert("Verifique si el RFC: "+rfc+" es correcto");
   if(confirm  ("¿La Edad ("+f.EdadAnos.value+")Años ("+f.EdadMeses.value+")Meses ("+f.EdadDias.value+")Días, del paciente es correcta?")){
	 // f.EdadAnos.disabled=true;
 		//f.EdadMeses.disabled = true;
		//f.EdadDias.disabled = true;
   	}
	else {
		f.EdadAnos.focus();
		/*f.EdadAnos.disabled=false;
 		f.EdadMeses.disabled = false;
		f.EdadDias.disabled = false;*/
	}
  }
 }
 else
 //return rfc;
  f.RFC.value = "";
}

function obtenRFC1(f){
 var pat = quitaAcentos(f.A_Paterno.value);
 var mat = quitaAcentos(f.A_Materno.value);
 var nom = quitaAcentos(f.Nombre.value);
 var dia = f.Fecha_NacDia.value, mes = f.Fecha_NacMes.value, ano = f.Fecha_NacAno.value;
 var ok
 
 if(pat != "" && mat != "" && nom != "" && dia != "" && mes != "" && ano != ""){
  if(isDate(dia, mes, ano) && pat.length >= 2){
   rfc = pat.substring(0,1);
   rfc += obtenVocal(pat);
   rfc += mat.substring(0,1);
   rfc += nom.substring(0,1);
   rfc += (ano.length == 4) ? ano.substring(2,4) : ano;
   rfc += (mes.length == 1) ? "0"+mes : mes;
   rfc += (dia.length == 1) ? "0"+dia : dia;
   f.RFC.value = rfc;
   if(confirm  ("¿La Edad ("+f.EdadAnos.value+")Años ("+f.EdadMeses.value+")Meses ("+f.EdadDias.value+")Días, del paciente es correcta?")){
/*	    f.EdadAnos.disabled=false;
 		f.EdadMeses.disabled = false;
		f.EdadDias.disabled = false;
*/
		f.Sexo.focus();
   	}
	else {
		borraEdad(f);
		f.EdadAnos.focus();
		/*f.EdadAnos.disabled=false;
 		f.EdadMeses.disabled = false;
		f.EdadDias.disabled = false;*/
	}
	
  }
 }
 else
  f.RFC.value = "";
}


function quitaAcentos(st){
 st = st.toUpperCase();
 st = st.replace("Á","A");
 st = st.replace("É","E");
 st = st.replace("Í","I");
 st = st.replace("Ó","O");
 st = st.replace("Ú","U");
 return st;
}


function obtenVocal(str){
 var ch, val = false;
 for(i=1;i<str.length;i++){
  ch = str.charAt(i)
  if(ch == "A" || ch == "E" || ch == "I" || ch == "O" || ch == "U"){
   val = true; // encontró vocal y sale del ciclo for
   break;
  }
 }
 if(val) return ch; // regresa primera vocal encontrada después de la primera letra del apellido paterno
 else return str.charAt(1); // regresa segundo caracter del apellido paterno
}

//***** Llenado de Combos
function llenaDiaMes(ini,fin,num){
 var i,st;
 document.writeln('<option value=""></option>');
 for(i=ini;i<=fin;i++){
  if(i == num)
   st = '<option value="'+i+'" selected>'+i+'</option>';
  else
   st = '<option value="'+i+'">'+i+'</option>';
  document.writeln(st);
 }
}

function llenaYearx(ini,fin,num){
 var i,st;
//ini=fin -20; CMP
 ini=fin -24;
 document.writeln('<option value=""></option>');
 for(i=fin;i>=ini;i--){
  if(i == num)
   st = '<option value="'+i+'" selected>'+i+'</option>';
  else
   st='<option value="'+i+'">'+i+'</option>';
  document.writeln(st);
 }
}

function llenaYear(ini,fin,num){
 var i,st;
 document.writeln('<option value=""></option>');
 for(i=fin;i>=ini;i--){
  if(i == num)
   st = '<option value="'+i+'" selected>'+i+'</option>';
  else
   st='<option value="'+i+'">'+i+'</option>';
  document.writeln(st);
 }
}

function llenaCatalogo(arr, num){
 var cat = eval("parent.Logo."+arr+";"),st;
 document.writeln('<option value=""></option>');
 for(i=0; i<cat.length-1; i+=2){
  if(cat[i] == num)
   st = '<option value="'+cat[i]+'" selected>'+cat[i+1]+'</option>'
  else
   st = '<option value="'+cat[i]+'">'+cat[i+1]+'</option>'
  document.writeln(st);
 }
}

function llenaCatalogo2(obj, arr, cond){
 ind = obj.selectedIndex;
 f = parent.Formas.document.forms[0];
 if(obj.options[ind].text == "llenar catalogo"){
  var cat = eval("parent.Logo."+arr+";");
  for(i=0; i<cat.length-1; i+=2)
   obj.options[(i/2)+1] = new Option(cat[i+1], cat[i]);
  obj.options[0].text = "";
  //obj.options[1].selected = true;
  //if(cond != 0)
  // obtenCve(f, obj);
 }
}


function comboHijo(valPadre, objHijo, arr, nxtObj, otObj){
 var str = "parent.Logo."+arr+";";
 var cat = eval(str);
 for(i=objHijo.options.length-1; i>=0; i--) objHijo.options[i] = null; // limpia combo hijo
 var k = 1;
 for(j=0;j<cat.length-1;j+=3){
 objHijo.options[0] = new Option('', '');
  if(cat[j] == valPadre) // es un hijo del padre que tenemos  
     objHijo.options[k++] = new Option(cat[j+2], cat[j+1]); 
 }
 if(k > 1) objHijo.options[0].selected = true; // se coloca en la primera posición del combo hijo
 borraMunLoc(nxtObj, otObj);
}

/////*** INCLUIDAS PARA NIVELES DE INSTITUCION
function comboHijo3(valPadre, objHijo, arr, nxtObj, otObj){
 var str = "parent.Logo."+arr+";";
 var cat = eval(str);
 for(i=objHijo.options.length-1; i>=0; i--) objHijo.options[i] = null; // limpia combo hijo
 var k = 1;
 for(j=0;j<cat.length-1;j+=3){
 objHijo.options[0] = new Option('', '');
  if(cat[j] == valPadre) // es un hijo del padre que tenemos  
     objHijo.options[k++] = new Option(cat[j+2], cat[j+1]); 
 }
 if(k > 1) objHijo.options[0].selected = true; // se coloca en la primera posición del combo hijo
 borraDemas(nxtObj, otObj);
}

function obtenHosp(f, thisObj, objDel, objReg, objZon){
 var est = objDel.value; jur = objReg.value; obj = thisObj.name;
 if(est == "" || jur == ""){
  alert("Debe seleccionar una Delegación y una Región");
  return false;
 }
 else{
  pag = "../reutilizables/formas/bus_hospr.asp?id_del="+est+"&id_reg="+jur+"&des_obj="+obj;
  w=window.open(pag, "_Otra", 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
  w.opener = self;
  w.focus();
 }
 //borraDemas(null, objLoc);
}
function obtenZona(f, thisObj, objDel, objReg, objHosp){
 var est = objDel.value; jur = objReg.value; mun = objHosp.value;obj = thisObj.name;
 if(est == "" || jur == "" || mun == ""){
  alert("Debe seleccionar una Delegación, una Región y un Hospital Rural");
  return false;
 }
 else{
  pag = "../reutilizables/formas/bus_zona.asp?id_del="+est+"&id_reg="+jur+"&id_hosp="+mun+"&des_obj="+obj;
  w=window.open(pag, "_Otra", 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
  w.opener = self;
  w.focus();
 }
}

function borraDemas(objMun, objLoc){
 if(objMun != null){
  objMun.options[0].selected = true;
 }
 if(objLoc != null){
  objLoc.options[0].selected = true;
 }
}
function borra1(objLoc){

 if(objLoc != null){
  objLoc.options[0].selected = true;
 }
}
function borrahosp(objhospr)
{
 if(objhospr != null){
  for(i=objhospr.options.length-1; i>=0; i--) objhospr.options[i] = null;
  objhospr.options[0] = new Option("GENERAL", "");
  objhospr.options[1] = new Option("seleccione", "");
  objhospr.options[0].selected = true; 
 }
}

///******************
//Función para reportes (respeta a -- Todas --)
function comboHijo2(valPadre, objHijo, arr, nxtObj, otObj){
 var str = "parent.Logo."+arr+";";
 var cat = eval(str);
 for(i=objHijo.options.length-1; i>=1; i--) objHijo.options[i] = null; // limpia combo hijo
 var k = 1;
 for(j=0;j<cat.length-1;j+=3){
 //objHijo.options[0] = new Option('-- Todas --', '');
  if(cat[j] == valPadre) // es un hijo del padre que tenemos  
     objHijo.options[k++] = new Option(cat[j+2], cat[j+1]); 
 }
 if(k > 1) objHijo.options[0].selected = true; // se coloca en la primera posición del combo hijo
 borraMunLoc(nxtObj, otObj);
}


//***** Otras **********

function frwFld(f,obj){
 for(i=0;i<f.elements.length;i++){
  if(f.elements[i].name == obj.name)
   break;
 }
 if(obj.value.length == obj.maxLength)
   f.elements[i+1].focus();
}

/*
function limpia(){
	var doc = parent.Formas.document;
	if(doc.forms.length > 0){ //Hay una forma en el frame Formas
		if(confirm("Esta operación provocará la pérdida de los datos de la forma actual\n\t\t¿Desea proceder?")){
			var loc = new String(parent.Formas.location);
			if(loc.indexOf("&") != -1)
				param = loc.substring(loc.indexOf("?"), loc.indexOf("&"));
			else
				param = loc.substring(loc.indexOf("?"), loc.length);
			
			var pag = new String(parent.Formas.location.pathname);
			var predot = pag.substring(pag.indexOf(".")-1, pag.indexOf(".")); //caracter antes del punto "."
			if(isNaN(predot)) doc.location = pag+param; //Es la primera de una serie de páginas, se manda a ella misma
			else doc.location = pag.substring(0, pag.indexOf(".")-1)+".asp"+param; //No es la primera, la manda a la primera
			
			//Borrado de arreglos de series de páginas
			if(pag.search("dtn")!=-1) delArr('Dtn',2);
			if(pag.search("rota")!=-1) delArr('Rota',2);
			if(pag.search("haem")!=-1) delArr('Haem',3);
			if(pag.search("noso")!=-1) delArr('Noso',6);
			if(pag.search("tube")!=-1) delArr('Tube',4);
			if(pag.search("sida")!=-1) { delArr('Sida',4); parent.Header.sexo = "";}
			if(pag.search("est_epi_caso")!=-1) delArr('Epic',5);

		} //fin confirm
	}
}
*/
//MODIFICADA 28 MAY 2008
function limpia(){
	var doc = parent.Formas.document;
	if(doc.forms.length > 0){ //Hay una forma en el frame Formas
		if(confirm("Esta operación provocará la pérdida de los datos de la forma actual\n\t\t¿Desea proceder?")){
			var loc = new String(parent.Formas.location);
			if(loc.indexOf("&") != -1)
				param = loc.substring(loc.indexOf("?"), loc.indexOf("&"));
			else
				param = loc.substring(loc.indexOf("?"), loc.length);
			
			var pag = new String(parent.Formas.location.pathname);
			//alert(param);
			//alert(pag);	
				var predot = pag.substring(pag.indexOf(".")-1, pag.indexOf(".")); //caracter antes del punto "."		
			//alert(predot);
			if(isNaN(predot)){
			
			doc.location = pag+param; //Es la primera de una serie de páginas, se manda a ella misma	
			
			}
			else 
			{
			//alert(doc.location);
			//
			if (param=="?id_app=1")
			{
			doc.location = "../../registro/reg_dan1.asp?id_app=1";
			}
			if (param=="?id_app=13")
			{
			doc.location = "../../registro/reg_cana1.asp?id_app=13";
			}
			else
			{
			doc.location = pag.substring(0, pag.indexOf(".")-1)+".asp"+param; //No es la primera, la manda a la primera}
			}
		}
			
			//Borrado de arreglos de series de páginas
			
			if(pag.search("dan")!=-1) delArr('Dan',3);
			if(pag.search("rota")!=-1) delArr('Rota',2);
			if(pag.search("haem")!=-1) delArr('Haem',3);
			if(pag.search("noso")!=-1) delArr('Noso',6);
			if(pag.search("tube")!=-1) delArr('Tube',4);
			if(pag.search("sida")!=-1) { delArr('Sida',4); parent.Header.sexo = "";}
			if(pag.search("est_epi_caso")!=-1) delArr('Epic',5);
			if(pag.search("vectores")!=-1) delArr('Vect',2);
			if(pag.search("epv")!=-1) delArr('Epv',4);

		} //fin confirm
	}
}



var objects = new Array();

function habilita(){
 objects.length = 0;  // borra el arreglo de objetos a cambiar su propiedad de habilitado/deshabilitado
 for(i = 0; i < habilita.arguments.length; i++)
  objects[i] = habilita.arguments[i];
 var obj = objects[0];  // objeto que llama la función habilita();
 
 switch (obj.type){  // analizando el tipo del objeto que llama la función habilita();
  case "select-one":
   var index = obj.selectedIndex;
   var desc = new String(obj.options[index].text.toLowerCase());
   var val = new String(objects[1]);
   //alert (val);
   if(desc == val || desc.search(val) != -1) disOnOff(2, false); // Si hace match o encuentra subcadena...
   else disOnOff(2, true);
   break;
  
  case "radio":
   if(obj.value == objects[1]){
    disOnOff(2, false)
   }
   else
    disOnOff(2, true)
   break;

  case "checkbox":
   if(obj.checked){
    disOnOff(2, false)
   }
   else
    disOnOff(2, true)
   break;
  
  case "select-multiple":
   var val = new String(objects[1]), dis = false, des;
   for(i=0; i<obj.length; i++){
    if(obj.options[i].selected){
	 var desc = new String(obj.options[i].text.toLowerCase());
     if(desc == val || desc.search(val) != -1) {dis = true; break;}
	}
   }
   if(dis) disOnOff(2, false);
   else disOnOff(2, true);
   break; // Fin del case
 }
}

function disOnOff(start,val){
 for(i=start;i<objects.length;i++){
  objects[i].disabled = val;
 }
}

function validaPac(f, objAP, objAM, objNom, idApp){
 var ap = objAP.value; am = objAM.value; nom = objNom.value; tgt = "_paciente"; act = f.action;
 var path = "../reutilizables/formas/bus_paciente.asp?id_app="+idApp;
 if(ap == "" && am == "" && nom == ""){
  alert("Debe proporcionar al menos uno de los siguientes datos:\n         Apellido Paterno, Apellido Materno, Nombre");
  return false;
 }
 path += "&A_Paterno="+ap+"&A_Materno="+am+"&Nombre="+nom;
 /*if(idApp == 1){
  if(f.DatosDe[0].checked) path += "&DatosDe="+f.DatosDe[0].value;
 }*/
 w=window.open(path, tgt, 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
 w.opener = self;
 w.focus();
 //f.action = path;
 //f.target = tgt;
 //f.submit();
 //f.action = act;
}


function abreVentana(f, tipo, id_app){
 var ap = f.A_Paterno.value, am = f.A_Materno.value, nom = f.Nombre.value, rfc = f.RFC.value;
 var f1 = f.Folio1.value, f2 = f.Folio2.value, f3 = f.Folio3.value;
 var tgt = "_"+tipo, act = f.action;
 var path = "../reutilizables/formas/bus_"+tipo+".asp?id_app="+id_app;
 path += "&A_Paterno="+ap+"&A_Materno="+am+"&Nombre="+nom+"&RFC="+rfc;
 path += "&Folio1="+f1+"&Folio2="+f2+"&Folio3="+f3;
 w=window.open(path, tgt, 'scrollbars=yes, width=700, height=350, screenX=10, screenY=10, top=10, left=10');
 w.opener = self;
 w.focus();
}

function abreVentanaUnidad(f,tipo,Id_App,Id_Tab){
 var tgt = "_"+tipo, act = f.action;
 var path = "../reutilizables/formas/UniTratante.asp?id_app="+Id_App+"&id_tab="+Id_Tab;
 w=window.open(path, tgt, 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
 w.opener = self;
 w.focus();
}

function abreVentanaSus(f,tipo,Id_App,Id_Tab){
 var tgt = "_"+tipo, act = f.action;
 var path = "../reutilizables/formas/bus_susceptibilidad.asp?id_app="+Id_App+"&id_tab="+Id_Tab;
 w=window.open(path, tgt, 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
 w.opener = self;
 w.focus();
}


function abreVentanaLab(f,tipo,Id_App,Id_Tab){
 var tgt = "_"+tipo, act = f.action;
 var path = "../reutilizables/formas/bus_LaboratorioyGabinete.asp?id_app="+Id_App+"&id_tab="+Id_Tab;
 w=window.open(path, tgt, 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
 w.opener = self;
 w.focus();
}

function abreVentanaTtm(f,tipo,Id_App,Id_Tab){
 var tgt = "_"+tipo, act = f.action;
 var path = "../reutilizables/formas/bus_cump_ttm.asp?id_app="+Id_App+"&id_tab="+Id_Tab;
 w=window.open(path, tgt, 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
 w.opener = self;
 w.focus();
}
// Funciones agregadas el 06/12/2004

function abreVentanaDatGen(f,tipo,Id_App,Id_Tab){
 var tgt = "_"+tipo, act = f.action;
 var path = "../reutilizables/formas/bus_datos_generales.asp?id_app="+Id_App+"&id_tab="+Id_Tab;
 w=window.open(path, tgt, 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
 w.opener = self;
 w.focus();
}
function abreVentanaMotHosp(f,tipo,Id_App,Id_Tab){
 var tgt = "_"+tipo, act = f.action;
 var path = "../reutilizables/formas/bus_motivo_hosp.asp?id_app="+Id_App+"&id_tab="+Id_Tab;
 w=window.open(path, tgt, 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
 w.opener = self;
 w.focus();
}
function abreVentanaTrataHosp(f,tipo,Id_App,Id_Tab){
 var tgt = "_"+tipo, act = f.action;
 var path = "../reutilizables/formas/bus_tratamiento_hosp.asp?id_app="+Id_App+"&id_tab="+Id_Tab;
 w=window.open(path, tgt, 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
 w.opener = self;
 w.focus();
}
function abreVentanaMotEgreso(f,tipo,Id_App,Id_Tab){
 var tgt = "_"+tipo, act = f.action;
 var path = "../reutilizables/formas/bus_motivo_egreso.asp?id_app="+Id_App+"&id_tab="+Id_Tab;
 w=window.open(path, tgt, 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
 w.opener = self;
 w.focus();
}
function abreVentanaTrataSeguir(f,tipo,Id_App,Id_Tab){
 var tgt = "_"+tipo, act = f.action;
 var path = "../reutilizables/formas/bus_tratamiento_seguir.asp?id_app="+Id_App+"&id_tab="+Id_Tab;
 w=window.open(path, tgt, 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
 w.opener = self;
 w.focus();
}
function validaUni(f, obj, idPac, idApp){
 var cveUni = obj.value; tgt = "_unidad"; act = f.action;
 var fec = new Date();
 var path = "../reutilizables/formas/bus_unidad.asp?fec="+fec+"&id_app="+idApp; 
 if(cveUni == "" || isNaN(cveUni)){
  alert("La clave de Unidad es un valor numérico No Nulo");
  obj.value = "";
  obj.focus();
  return false;
 }
 else{
  if(idPac != null) path += "&id_pac="+idPac;
 }
 path += "&ClaveUnidad="+cveUni;
 w=window.open(path, tgt, 'scrollbars=yes, width=280, height=100, screenX=250, screenY=250, top=250, left=250');
 w.opener = self;
 w.focus();
 //f.action = path;
 //f.target = tgt;
 //f.submit();
 //f.action = act;
}

function validaUni2(f, obj, idPac, idApp, objUni){
 var cveUni = obj.value; tgt = "_unidad"; act = f.action;
 var path = "bus_unidad2.asp?id_app="+idApp;
 //alert(path);
 if(cveUni == "" || isNaN(cveUni)){
  alert("La clave de Unidad es un valor numérico No Nulo");
  objUni.value = "";
  objUni.focus();
  return false;
 }
 else{
  if(idPac != null) path += "&id_pac="+idPac; 
 }
 path += "&ClaveUnidad="+cveUni;
 w=window.open(path, tgt, 'scrollbars=yes, width=280, height=100, screenX=250, screenY=250, top=250, left=250');
 w.opener = self;
 w.focus();
// f.action = path;
 //f.target = tgt;
 //f.submit();
 //f.action = act;
}


function obtenMun(f, thisObj, objEst, objJur, objLoc){
 var est = objEst.value; jur = objJur.value; obj = thisObj.name;
 if(est == "" || jur == ""){
  alert("Debe seleccionar un Estado y una Jurisdicción");
  return false;
 }
 else{
  pag = "../reutilizables/formas/bus_municipio.asp?id_edo="+est+"&id_jur="+jur+"&des_obj="+obj;
  w=window.open(pag, "_Otra", 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
  w.opener = self;
  w.focus();
 }
 borraMunLoc(null, objLoc)
}
function obtenMun1(f, thisObj, objEst,  objLoc){
 var est = objEst.value;  obj = thisObj.name;
 if(est == ""){
  alert("Debe seleccionar un Estado");
  return false;
 }
 else{
  pag = "../reutilizables/formas/bus_municipio1.asp?id_edo="+est+"&des_obj="+obj;
  w=window.open(pag, "_Otra", 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
  w.opener = self;
  w.focus();
 }
 borraMunLoc(null, objLoc)
}

function obtenMunEpv(f, thisObj, objEst, objLoc){
 var est = objEst.value; obj = thisObj.name;
 if(est == ""){
  alert("Debe seleccionar un Estado");
  return false;
 }
 else{
  pag = "../reutilizables/formas/bus_municipio_epv.asp?id_edo="+est+"&des_obj="+obj;
  w=window.open(pag, "_Otra", 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
  w.opener = self;
  w.focus();
 }
 borraMunLoc(null, objLoc)
}

function obtenMunEpv2(f, thisObj, objEst, objLoc){
 var est = objEst.value; obj = thisObj.name;
 if(est == ""){
  alert("Debe seleccionar un Estado");
  return false;
 }
 else{
  pag = "../reutilizables/formas/bus_municipio_epv2.asp?id_edo="+est+"&des_obj="+obj;
  w=window.open(pag, "_Otra", 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
  w.opener = self;
  w.focus();
 }
 borraMunLoc(null, objLoc)
}

function obtenMunVect(f, thisObj, objEst, objLoc){
 var est = objEst.value;  obj = thisObj.name;
  if(est == "" ){
    alert("Debe seleccionar un Estado");
	return false;
 }
 else{
  pag = "../reutilizables/formas/bus_municipio_vect.asp?id_edo="+est+"&des_obj="+obj;
  w=window.open(pag, "_Otra", 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
  w.opener = self;
  w.focus();
 }
 borraMunLoc(null, objLoc)
 
 
} 


//Función para DTN todas
function obtenMun2(f, thisObj, objEst, objJur, objLoc){
 var est = objEst.value; jur = objJur.value; obj = thisObj.name;
 if(est == "" || jur == ""){
  alert("Debe seleccionar un Estado y una Jurisdicción");
  return false;
 }
 else{
  pag = "../reutilizables/formas/bus_municipio2.asp?id_edo="+est+"&id_jur="+jur+"&des_obj="+obj;
  w=window.open(pag, "_Otra", 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
  w.opener = self;
  w.focus();
 }
 borraMunLoc(null, objLoc)
}


function obtenUniMedica(f, thisObj, objEst, objJur, objMun, origen){
  var est , jur, obj, mun;
   obj = thisObj.name;

  if(objEst == null || objEst.value == "")
    est = "-1";
  else
     est = objEst.value;
	
  if(objJur == null || objJur.value == "")
    jur = "-1";
  else
    jur = objJur.value;
	
  if(objMun == null || objMun.value == "")
    mun = "-1";
  else
     mun = objMun.value;		 
  if(est == "-1" && jur == "-1" && mun == "-1")
     alert("Debe seleccionar algún parámetro.");
  else{
     pag = "../reutilizables/formas/bus_uni_medica.asp?id_edo="+est+"&id_jur="+jur+"&id_mun=" + mun + "&des_obj="+obj + "&Formas=" + origen;
     w=window.open(pag, "_Otra", 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
     w.opener = self;
	 w.focus();
	} 
}


function obtenLoc(f, thisObj, objEst, objJur, objMun){
 var est = objEst.value; jur = objJur.value; mun = objMun.value;obj = thisObj.name;
 if(est == "" || jur == "" || mun == ""){
  alert("Debe seleccionar un Estado, una Jurisdicción y un Municipio");
  return false;
 }
 else{
  pag = "../reutilizables/formas/bus_localidad.asp?id_edo="+est+"&id_mun="+mun+"&des_obj="+obj;
  w=window.open(pag, "_Otra", 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
  w.opener = self;
  w.focus();
 }
}

function obtenLocEpv(f, thisObj, objEst, objMun){
 var est = objEst.value; mun = objMun.value;obj = thisObj.name;
 if(est == "" || mun == ""){
  alert("Debe seleccionar un Estado, una Jurisdicción y un Municipio");
  return false;
 }
 else{
  pag = "../reutilizables/formas/bus_localidad.asp?id_edo="+est+"&id_mun="+mun+"&des_obj="+obj;
  w=window.open(pag, "_Otra", 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
  w.opener = self;
  w.focus();
 }
}

function obtenLocEpv2(f, thisObj, objEst, objMun){
 var est = objEst.value; mun = objMun.value;obj = thisObj.name;
 if(est == "" || mun == ""){
  alert("Debe seleccionar un Estado, una Jurisdicción y un Municipio");
  return false;
 }
 else{
  pag = "../reutilizables/formas/bus_localidad_epv.asp?id_edo="+est+"&id_mun="+mun+"&des_obj="+obj;
  w=window.open(pag, "_Otra", 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
  w.opener = self;
  w.focus();
 }
}


function obtenLoc2(f, thisObj, objEst, objMun){
 var est = objEst.value;  mun = objMun.value;obj = thisObj.name;
 if(est == "" || mun == ""){
  alert("Debe seleccionar un Estado y un Municipio");
  return false;
 }
 else{
  pag = "../reutilizables/formas/bus_localidad.asp?id_edo="+est+"&id_mun="+mun+"&des_obj="+obj;
  w=window.open(pag, "_Otra", 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
  w.opener = self;
  w.focus();
 }
}


function borraMunLoc(objMun, objLoc){
 if(objMun != null){
  for(i=objMun.options.length-1; i>=0; i--) objMun.options[i] = null;
  objMun.options[0] = new Option("", "");
  objMun.options[1] = new Option("seleccione", "");
  objMun.options[0].selected = true; 
 }
 if(objLoc != null){
  for(i=objLoc.options.length-1; i>=0; i--) objLoc.options[i] = null;
  objLoc.options[0] = new Option("", "");
  objLoc.options[1] = new Option("seleccione", "");
  objLoc.options[0].selected = true; 
 }
}


function LimpiaFolio(f){
 for(i=1; i <= 3; i++){
  st = f.name+".Folio"+i+".value = ''";
  eval(st);
 }
}

function validaNum(obj){
 var val = obj.value;
 if(isNaN(val) || val < 0){
  alert("El campo debe tener un valor numérico positivo");
  obj.value = "";
  obj.focus();
  return false;
 }
 else return true;
}
////////FUNCION DE VECTORES BY JOEL
function validaNum1(obj){
var val = obj.value;
 if (val != ""){
 val = parseInt(val);
 }
 if(isNaN(val)||  (val > 2 && val!=9 )  ){
   alert("Valor fuera del rango");
  obj.value = "";
  obj.focus();
  return false;
 }
 else{ return true;}
}
function obtenCve(f, obj){
 var nomObj = f.name+"."+obj.name+"Text";
 var objText = eval(nomObj);
 objText.value = obj.value;
}

function obtenDes(f, obj, objNext){
 var nomObj = obj.name.substring(0, obj.name.search("Text")); //Obtiene el nombre del combo
 var st = f.name+"."+nomObj, objSel = eval(st); //Obtiene el Objeto combo
 
 if(validaNum(obj) && obj.value.length != 0){ //si el campo es numérico No Nulo
  var val = false;
  for(i=0; i<objSel.length; i++){
   if(objSel.options[i].value == obj.value){val = true; break;}
  }
  if(val){
   objSel.options[i].selected = true;
   objNext.focus();
  }
  else{
   objSel.options[0].selected = true;
   obj.value = "";
   obj.focus();
  }
 }
 else
  objSel.options[0].selected = true; 
}

//********** Array Multidimensional *************
function makeMultidimArray(x, y){
 a = new Array(y);
 for(i=0; i<y; i++){
  a[i] = new Array(x);
  for(j=0; j<x; j++) a[i][j] = "";
 }
 return a;
}

var UniMed;

function validaGral(f){
 var arrObj = new Array();
 arrObj = ['Fecha_NacDia', 'Fecha_NacMes', 'Fecha_NacAno', 'EstadoNacimiento', 'JurisdicNac', 'MunicipioNacimiento', 'EdadAnos', 'EdadMeses', 'EdadDias', 'Sexo', 'Ocupacion', 'Escolaridad','CalleNum','Colonia', 'EstResidencia', 'JurisResidencia', 'MunResidencia', 'LocalidadResidencia', 'ClaveUnidad', 'RFC'];
 for(i=0; i<arrObj.length; i++) arrObj[i] = eval("f."+arrObj[i]); //Convierte a objetos las cademas
 for(j=0; j<arrObj.length; j++){
  if(arrObj[j].disabled == false){ //los que están habilitados
   if(arrObj[j].value == ""){
    alert("Datos incompletos, rectifique");
    arrObj[j].focus();
	return false;
   }
   if(arrObj[j].name == "RFC"){
    var rfc = arrObj[j].value;
	if(rfc.length < 10){
     alert("El campo RFC debe contener al menos 10 dígitos");
	 arrObj[j].focus();
	 return false;
	}
	if(!invChar(rfc)){
     alert("Se detectó un caracter inválido o un espacio en el RFC, rectifique");
	 arrObj[j].focus();
	 return false;
	}
   }
  }
 }
 if(UniMed != "" && UniMed != arrObj[18].value){
  //alert(UniMed);	 
  alert("Clave de Unidad no coincide con la descrita, haga la búsqueda");
  f.BtnUnidadMed.focus();
  return false;
 }
 return true;
}

function validaGral2(f){
 var arrObj = new Array();
 arrObj = ['Fecha_NacDia', 'Fecha_NacMes', 'Fecha_NacAno', 'EstadoNacimiento', 'JurisdicNac', 'MunicipioNacimiento', 'EdadAnos', 'EdadMeses', 'EdadDias', 'Sexo', 'CalleNum','Colonia', 'EstResidencia', 'JurisResidencia', 'MunResidencia', 'LocalidadResidencia', 'ClaveUnidad', 'RFC'];
// alert(arrObj[16].value);
 for(i=0; i<arrObj.length; i++) arrObj[i] = eval("f."+arrObj[i]); //Convierte a objetos las cademas
 for(j=0; j<arrObj.length; j++){
  if(arrObj[j].disabled == false){ //los que están habilitados
   if(arrObj[j].value == ""){
    alert("Datos incompletos, rectifique");
    arrObj[j].focus();
	return false;
   }
   if(arrObj[j].name == "RFC"){
    var rfc = arrObj[j].value;
	if(rfc.length < 10){
     alert("El campo RFC debe contener al menos 10 dígitos");
	 arrObj[j].focus();
	 return false;
	}
	if(!invChar(rfc)){
     alert("Se detectó un caracter inválido o un espacio en el RFC, rectifique");
	 arrObj[j].focus();
	 return false;
	}
   }
  }
 }
 if(UniMed != "" && UniMed != arrObj[16].value){
  alert("Clave de Unidad no coincide con la descrita, haga la búsqueda");
  f.BtnUnidadMed.focus();
  return false;
 }
 return true;
}

function validaGralSinUM(f){
 var arrObj = new Array();
 arrObj = ['Fecha_NacDia', 'Fecha_NacMes', 'Fecha_NacAno', 'EstadoNacimiento', 'JurisdicNac', 'MunicipioNacimiento', 'EdadAnos', 'EdadMeses', 'EdadDias', 'Sexo', 'CalleNum','Colonia', 'EstResidencia', 'MunResidencia', 'RFC'];
// alert(arrObj[16].value);
 for(i=0; i<arrObj.length; i++) arrObj[i] = eval("f."+arrObj[i]); //Convierte a objetos las cademas
 for(j=0; j<arrObj.length; j++){
  if(arrObj[j].disabled == false){ //los que están habilitados
   if(arrObj[j].value == ""){
    alert("Datos incompletos, rectifique");
    arrObj[j].focus();
	return false;
   }
   if(arrObj[j].name == "RFC"){
    var rfc = arrObj[j].value;
	if(rfc.length < 10){
     alert("El campo RFC debe contener al menos 10 dígitos");
	 arrObj[j].focus();
	 return false;
	}
	if(!invChar(rfc)){
     alert("Se detectó un caracter inválido o un espacio en el RFC, rectifique");
	 arrObj[j].focus();
	 return false;
	}
   }
  }
 }
 return true;
}
function validaGral1(f){
 var arrObj = new Array();
 arrObj = ['Fecha_NacDia', 'Fecha_NacMes', 'Fecha_NacAno', 'EstadoNacimiento', 'JurisdicNac', 'MunicipioNacimiento', 'EdadAnos', 'EdadMeses', 'EdadDias', 'Sexo', 'Ocupacion', 'Escolaridad','EstResidencia', 'ClaveUnidad', 'RFC'];
 for(i=0; i<arrObj.length; i++) arrObj[i] = eval("f."+arrObj[i]); //Convierte a objetos las cademas
 for(j=0; j<arrObj.length; j++){
  if(arrObj[j].disabled == false){ //los que están habilitados
   if(arrObj[j].value == ""){
    alert("Datos incompletos, rectifique");
    arrObj[j].focus();
	return false;
   }
   if(arrObj[j].name == "RFC"){
    var rfc = arrObj[j].value;
	if(rfc.length < 10){
     alert("El campo RFC debe contener al menos 10 dígitos");
	 arrObj[j].focus();
	 return false;
	}
	if(!invChar(rfc)){
     alert("Se detectó un caracter inválido o un espacio en el RFC, rectifique");
	 arrObj[j].focus();
	 return false;
	}
   }
  }
 }
 if(UniMed != "" && UniMed != arrObj[18].value){
  alert("Clave de Unidad no coincide con la descrita, haga la búsqueda");
  f.BtnUnidadMed.focus();
  return false;
 }
 return true;
}


function invChar(val){
 var ok = 0;
 if(val.indexOf(" ")>0) ok++;
 if(val.indexOf("-")>0) ok++;
 if(val.indexOf("_")>0) ok++;
 if(val.indexOf("+")>0) ok++;
 if(val.indexOf(",")>0) ok++;
 if(ok)
  return false;
 else
  return true;
}

function comillas(f){
 var st = new String();
 for(i=0; i<f.elements.length; i++){
  if(f.elements[i].type == "text" || f.elements[i].type == "textarea"){
   if(!f.elements[i].disabled){
    st = f.elements[i].value;
    if(st.search('"') != -1 || st.search("'") != -1){
     alert("Los caracteres ' y "+'" no son permitidos');
	 f.elements[i].focus();
	 return false;
    }
   }
  }
 }
 return true;
}

//Cambia los botones del footer dependiendo de la página
function cambiafooters(pag,nIdApp,sFolio,nIdPac,nIdTab,ruta){
 var path = "footer.asp?tip="+pag+"&id_app="+nIdApp+"&id_fol="+sFolio+"&id_pac="+nIdPac+"&tab_id="+nIdTab;
 var camino;
	if (ruta!=""){
		if (ruta=="nada")
				parent.Footer.location=path;
		else{
				camino=ruta+path;
				 parent.Footer.location=camino;
			}
		}
}


function cambiafooter(pag,IdApp,ruta){
 var path = "footer.asp?tip="+pag+"&Id_App="+IdApp;
 var camino;
	if (ruta!=""){
		if (ruta=="nada")
				parent.Footer.location=path;
		else{
				camino=ruta+path;
				 parent.Footer.location=camino;
			}
		}
}

function VeSeguimiento(nIdApp,sFolio,nIdPac,nIdTab){	
parent.Formas.location="../../seguimiento/seg_diabetes_up.asp?id_app="+nIdApp+"&id_fol="+sFolio+"&id_pac="+nIdPac+"&tab_id="+nIdTab;

}
function VeActualizar(nIdApp,sFolio,nIdPac,nIdTab){	
parent.Formas.location="../../seguimiento/seg_diabetes1.asp?id_app="+nIdApp+"&id_fol="+sFolio+"&id_pac="+nIdPac+"&tab_id="+nIdTab;
}

function VeAntecedentes2(id_app,folio,id_pac){
	if(id_app != 13){
		cambiafooter(3,id_app,'nada');
	}
	    parent.Formas.document.forms[0].action = "../registro/reg_canas.asp?id_app="+id_app+"&folio="+folio+"&id_pac="+id_pac;
		//parent.Formas.document.forms[0].action = "../seguimiento/seg_cancer_upd.asp?id_app="+id_app;
		parent.Formas.document.forms[0].submit();
}


function VeAntecedentes(id_app){
	if(id_app != 13){
		cambiafooter(3,id_app,'nada');
	}
	if(parent.Formas.document.forms.length >0){  // Hay al menos una forma cargada en el frame Formas
		switch(parseInt(id_app)){
		case 1:
			parent.Formas.document.forms[0].action = "../seguimiento/seg_dtn_upd.asp?id_app="+id_app;
			parent.Formas.document.forms[0].submit();
		//parent.Formas.location="../../seguimiento/seg_dtn_upd.asp?id_app="+id_app;
			break;
		case 2:
			parent.Formas.document.forms[0].submit();
			break;
		case 3:
			parent.Formas.document.forms[0].action = "../seguimiento/seg_haemophilus_upd.asp?id_app="+id_app;
			parent.Formas.document.forms[0].submit();
		//parent.Formas.location="../seguimiento/seg_haemophilus_upd.asp?id_app="+id_app;
			break;
		case 4:
			parent.Formas.document.forms[0].submit();
			break;
		case 5:
		//parent.Formas.document.historia.submit(); 
		// IdPac=parent.Formas.document.historia.nIdPac.value;
		//IdTab=parent.Formas.document.historia.nTubId.value;
		//sFolio=parent.Formas.document.historia.sFolio.value;
		//parent.Formas.location="../seguimiento/reg_upd_tuberculosis.asp?id_app="+id_app+"&nIdPac="+IdPac+"&nTubId="+IdTab+"&sFolio="+sFolio;
			parent.Formas.document.forms[0].action="../../seguimiento/reg_upd_tuberculosis.asp?id_app="+id_app;
			parent.Formas.document.forms[0].submit();
			break;
		case 6:
			parent.Formas.document.historia.submit();
			IdPac=parent.Formas.document.historia.nIdPac.value;
			IdTab=parent.Formas.document.historia.nSidId.value;
			sFolio=parent.Formas.document.historia.sFolio.value;
			parent.Formas.location="../../seguimiento/reg_upd_sida.asp?id_app="+id_app+"&nIdPac="+IdPac+"&nSidId="+IdTab+"&sFolio="+sFolio;
			break;
		case 7:
			//parent.Formas.document.forms[0].submit();
			//delArr('Epic',5);
			parent.Formas.document.location = ligaSeg('arrFrmEpic1', 'seg_est_epi_caso_upd.asp', 7);
			break;
		case 9:
			parent.Formas.document.forms[0].submit();
			break;
		case 13:
			//alert("id_app:"+id_app);
			parent.Formas.document.forms[0].action = "../seguimiento/seg_cancer_upd.asp?id_app="+id_app;
			parent.Formas.document.forms[0].submit();
			//parent.Formas.location="../../seguimiento/seg_dtn_upd.asp?id_app="+id_app;
			break;
		}
	}
}

function ligaSeg(nomArr, pag, id_app){
	var f = parent.Formas.document.forms[0];
	var arr = eval("parent.Header."+nomArr);
	var st = "../../seguimiento/"+pag+parent.Header.param(f, "seg");
	for(k=2;k<arr.length+2;k+=2){
	 st += "&"+arr[k-2]+"="+arr[k-1];
	}
	return st;
}

function EliminaPaciente(Id_app){
 cambiafooter(2, Id_app, 'nada');
 var doc = parent.Formas.document;
 if(doc.forms.length > 0){
  if(confirm("¿Desea eliminar el registro de este Paciente?")){
   path = doc.forms[0].action
   path = path.substring(0, path.lastIndexOf("=")+1);
   path += "elimina";
   doc.forms[0].action = path;
   switch(Id_app){
    case 2:
     IdTab=parent.Formas.document.elimina.elements[0].value; // Sustituir later
     parent.Formas.location="../../seguimiento/elimina_rotavirus.asp?intCVE_INF="+Id_app+"&intROT_ID="+IdTab
     break;
    case 1:
	case 3:
	case 4:
	case 7:
	case 9:
     doc.forms[0].submit();;
     break;
    case 5:
     IdTab=parent.Formas.document.elimina.elements[0].value; // Sustituir later
	 //alert(IdTab);
     parent.Formas.location="../../seguimiento/elimina_tuberculosis.asp?intCVE_INF="+Id_app+"&intTUB_ID="+IdTab
     break;
    case 6:
     IdTab=parent.Formas.document.elimina.elements[0].value; // Sustituir later
     parent.Formas.location="../../seguimiento/elimina_sida.asp?intCVE_INF="+Id_app+"&intSID_ID="+IdTab
     break;
   }
  }
  else
  cambiafooter(3, Id_app, 'nada');
 }
}

function ReturnSeguimiento(Id_App){
cambiafooter(0, Id_App, 'nada');
switch(Id_App){
    case 1:
		parent.Formas.location="../../seguimiento/seg_dtn.asp?Id_App="+Id_App;
		delArr('Dtn',2);
		break;
	case 2:
		parent.Formas.location="../../seguimiento/seg_rotavirus.asp?Id_App="+Id_App;
		delArr('Rota',2);
		break;
	case 3:
		parent.Formas.location="../../seguimiento/seg_haemophilus.asp?Id_App="+Id_App;
		delArr('Haem',3);
		break;
	case 4:
		parent.Formas.location="../../seguimiento/seg_nosocomiales.asp?Id_App="+Id_App;
		delArr('Noso',6);
		break;
	case 5:
		parent.Formas.location="../../seguimiento/seg_tuberculosis.asp?Id_App="+Id_App;
		delArr('Tube',4);
		break;
	case 6:
		parent.Formas.location="../../seguimiento/seg_sida.asp?Id_App="+6;
		delArr('Sida',4);
		parent.Header.sexo = "";
		break;
	case 7:
		parent.Formas.location="../../seguimiento/seg_est_epi_caso.asp?Id_App="+Id_App;
		delArr('Epic',5);
		break;
	case 9:
	//alert(Id_App);
		parent.Formas.location="../../seguimiento/seg_diabetes.asp?id_app="+Id_App;
		delArr('Diab',3);
		break;	
	case 10:
		parent.Formas.location="../../seguimiento/seg_vectores.asp?Id_App="+Id_App;
		delArr('Vect',3);
		break;		
	case 12:
		parent.Formas.location="../../seguimiento/seg_epv.asp?Id_App="+Id_App;
		delArr('Epv',4);
		break;		
	case 13:
		parent.Formas.location="../../seguimiento/seg_cancer.asp?Id_App="+Id_App;
		//delArr('Can',4);
		break;
    case 15:
        parent.Formas.location = "../../registro/reg_defmat.asp?Id_App=" + Id_App;
        break;	
	}
}

function veReporte(f,path){
 path += "/";
 for(i=0; i<f.caso.length; i++){ if(f.caso[i].checked) break; } 
 //funcion para que no seleccione todas en Jurisdiccion y Municipio
if(f.JurisResidencia.value == 0 && f.MunResidencia.value == 0 && f.JurisResidencia.disabled==false)	{ 
  f.JurisResidencia.disabled=false;
 	 alert("Debe de seleccionar una Jurisdicción, rectifique");
	 f.JurisResidencia.focus();
	 return false;
  }

 
if(f.UniMedica.value!="" && f.UniMedica.disabled==false)	{ 
  f.EstResidencia.disabled=true;
  f.JurisResidencia.disabled=true;
  f.MunResidencia.disabled=true;
  if (f.FechaAno.value==""){
 	 alert("Datos Incompletos, rectifique");
	 f.FechaAno.focus();
	 return false;
  }
}
else{
 for(j=0; j<f.elements.length; j++){
  if(f.elements[j].type != "radio"){
   if(!f.elements[j].disabled){
    if(f.elements[j].value == ""){
	   alert("Datos Incompletos, rectifique");
	   f.elements[j].focus();
	   return false;
	}
   }
  }
 }
}
 path += arrPags[i]; 
 var fec = new Date();
 path += "?fec="+fec;
 for(k=0; k<f.elements.length; k++){
  if(f.elements[k].name != "caso" && f.elements[k].type != "button"){
   if(f.elements[k].type == "radio"){
    if(f.elements[k].checked) path += "&"+f.elements[k].name+"="+f.elements[k].value;
   }
   else{
    if(!f.elements[k].disabled){
     if(f.elements[k].value != "") path += "&"+f.elements[k].name+"="+f.elements[k].value;
	}
   }
  }
 }
//Concatenar fecha
 day = new Date();
 id = day.getTime();//29-07-02 morganista@visionconsulting.com.mx abre varias ventanas para reportes
 w=window.open(path, id, 'scrollbars=yes, menubar=yes, width=730, height=480, screenX=10, screenY=10, top=10, left=10');
 w.focus();
// w.opener = focus;
}

function validaMax(v,max){
var what=new String(v.value);
var ok=0;
 if(what.length>max){
  alert('No puede exceder los '+max+' caracteres!');
  v.value=what.slice(0,max);   
  return false;
 }
 return true;
}

//Verificacion de fechas para CAEPI
function VfechaCAEPI(f){
 var finid = f.FechaIniBroteDia.value, finim = f.FechaIniBroteMes.value, finia = f.FechaIniBroteAno.value;
 var ffind = f.FechaFinBroteDia.value, ffinm = f.FechaFinBroteMes.value, ffina = f.FechaFinBroteAno.value;

 if(ffind != "" && ffinm != "" && ffina != "" && finid != "" && finim != "" && finia != ""){
  if(!compareDates(finid, finim, finia,ffind, ffinm, ffina)){
   alert("La fecha de Inicio del periodo debe ser anterior a la fecha Final");
   return false;
  }
  else{return true;}
 }
 else{alert('Es necesario seleccionar un período de fechas');return false;}
}

function delArr(enf,n){
 var st="parent.Header.arrFrm"+enf;
 var cont;
 //alert(enf+','+n);
 for(cont=1;cont<=n;cont++){
  //alert(cont);
  eval(st+cont+".length=0;");
 }
}

function integraFormas(enf, n){
 var st="parent.Header.arrFrm"+enf;
 for(z=1;z<=n;z++){
  arr=eval(st+z);
  for(w=2;w<arr.length+2;w+=2)
   document.writeln('<input type="Hidden" name="'+arr[w-2]+'" value="'+arr[w-1]+'">');
 }
}

function repNivel(obj){
 var f = document.forms[0], val = obj.value;
 var arrObj = ["EstResidencia", "JurisResidencia", "MunResidencia", "UniMedica"];
 for(i=0; i<arrObj.length; i++) arrObj[i] = eval("f."+arrObj[i]+";"); //Obtiene los objetos a manipular
 for(j=0; j<arrObj.length; j++){
  if(val<5){
   if(j < (val-1)) arrObj[j].disabled = false;
   else arrObj[j].disabled = true;
  } else {
   if(j < 1 || j > 2) arrObj[j].disabled = false;
   else arrObj[j].disabled = true;
  }
 }
}

function repPeriodo(obj){
 var f = document.forms[0], val = obj.value;
 var arrObj = ["cmbPeriodoMensual", "cmbPeriodoBimestre", "cmbPeriodoTrimestre", "cmbPeriodoCuatrimestre", "cmbPeriodoSemestre"];
 for(i=0; i<arrObj.length; i++) arrObj[i] = eval("f."+arrObj[i]+";"); //Obtiene los objetos a manipular
 for(j=0; j<arrObj.length; j++){
  if(arrObj[j] == obj) arrObj[j].disabled = false;
  else arrObj[j].disabled = true;
 }
}
//GQ Se agrego para Mostrar la descripcon de objetos en la barra de estado.
function MuestraDescStatus(obj){
 var i = obj.selectedIndex;
 var texto;
 if(obj.options.length > 0)
    texto = obj.options[i].text;
 else
    texto = ""   
 if(texto == "undefined" || texto == "")
    texto = ""
 window.status=texto;
 return true;
}

function QuitaDescStatus(){
   window.status="";
   return true;
}

function ClearRadio(obj)//030802 may_oz@hotmail.com Función que limpia un radio al darle doble click
{
if(obj.checked)
  obj.checked=false; 
}
/**************************FUNCIONES AGREGADAS 05/AGOSTO/04****************************/

var  arrSerotipo= new Array();
arrSerotipo = [	0,' ',	1,'1',	1,'2',	1,'3',	1,'4',	1,'5',	1,'6A',	1,'6B',	1,'7',	1,'7F',	1,'8',	1,'9',	1,'9N',	1,'9V',	1,'10A',	1,'11A',	1,'12',	1,'12F',	1,'14',	1,'15',	1,'15B',	1,'16',	1,'17F',	1,'18',	1,'18C',	1,'19',	1,'19A',	1,'19F',	1,'20',	1,'22F',	1,'23',	1,'23A',	1,'23F',	1,'33F',	1,'OTRO',	2,'a',	2,'b',	2,'c',	2,'d',	2,'e',	2,'f',	3,'A',	3,'B',	3,'C',	3,'D',	3,'E29',	3,'H',	3,'I',	3,'K',	3,'L',	3,'W-135',	3,'X',	3,'Y',	3,'Z'];
//llena el combo de serotipos y biotipos segun el germen
function comboSerotipo(valPadre, objHijo, arr, biotipo){
 var cat = eval(arr);
 for(i=objHijo.options.length-1; i>0; i--) objHijo.options[i] = null; // limpia combo hijo
 var k = 1;
 for(j=0;j<cat.length-1;j+=2){
  if(cat[j] == valPadre) // es un hijo del padre que tenemos
   objHijo.options[k++] = new Option(cat[j+1], cat[j]);
 }
 if(k > 0) objHijo.options[0].selected = true; // se coloca en la primera posición del combo hijo
 if(2 == valPadre){ //caso biotipo para haemophilus
  biotipo.options[1] = new Option('I',1)
  biotipo.options[2] = new Option('II',2)
  biotipo.options[3] = new Option('III',3)
  biotipo.options[4] = new Option('IV',4)
  biotipo.options[5] = new Option('V',5)
  biotipo.options[6] = new Option('VI',6)
  biotipo.options[7] = new Option('VII',7)
  biotipo.options[8] = new Option('VIII',8)
 }else{
  for(i=biotipo.options.length-1; i>0; i--) biotipo.options[i] = null; // limpia combo hijo
 }
}

function fechaUnix(pdate, formato)// Valida y transforma la fecha en tiempo unix de no ser valida regresa un cero
// si el formato es dd/mm/aaaa formato = 1, si formato aaaa/mm/dd formato = 2
{	var ok=pdate, arr, d, x, x1, x2, x3; 
	if(1 == formato){arr = ok.split('/');}
	else{arr = ok.split('.');}//alert('length ='+arr.length);
	if (arr.length == 3) // Primera Validacion de formato
	{	if(formato == 1){ d = new Date(arr[2],arr[1]-1,arr[0]);
			if (d.getDate()<10 ) var dia ='0'+d.getDate();
			else var dia =d.getDate();
			if ((d.getMonth()+1)<10) var mes ='0'+(d.getMonth()+1);
			else var mes=d.getMonth()+1;
			x = dia+'/'+mes+'/'+d.getFullYear();
			x1 = d.getDate()+'/'+(d.getMonth()+1)+'/'+d.getFullYear();
			x2 = dia+'/'+(d.getMonth()+1)+'/'+d.getFullYear();
			x3 = d.getDate()+'/'+mes+'/'+d.getFullYear();
		}
		else{	d = new Date(arr[0],arr[1]-1,arr[2]); 
			if (d.getDate()<10 ) var dia ='0'+d.getDate();
			else var dia =d.getDate();
			if ((d.getMonth()+1)<10) var mes ='0'+(d.getMonth()+1);
			else var mes=d.getMonth();
			x = d.getFullYear()+'.'+mes+'.'+dia;
			x1 = d.getFullYear()+'.'+(1+d.getMonth())+'.'+d.getDate();
			x2 = d.getFullYear()+'.'+(1+d.getMonth())+'.'+dia;
			x3 = d.getFullYear()+'.'+mes+'.'+d.getDate();
		}
		if (x==ok || x1==ok || x2==ok || x3==ok)
		{	return d.getTime();}
		//else{	alert('La fecha no es valida o el formato de fecha no es correcto, el formato debe ser dd/mm/aaaa ');}
	}//else{	alert('Fecha no valida '+x);}
	return 0;
}

function fechaNormal(numDateUnix, formatoSalida)//Transforma un tiempo unix en fecha normal
//formatoSalida = 1 manda mm/dd/aaaa y formatoSalida = 2 manda aaaa/mm/dd 
{	d = new Date();	d.setTime(numDateUnix);	var dia, mes, x;
	if((dia=d.getDate())<10){ dia='0'+dia;}
	if((mes=d.getMonth()+1)<10){ mes='0'+mes;}
	if(formatoSalida == 1){ x = mes+'/'+dia+'/'+d.getFullYear();
	}else x = d.getFullYear()+'/'+mes+'/'+dia;
	return x;
}
/////////*********************************ESPERO QUE NO ME VUELVAS A BORRAR ESTA FUNCION**********//////////
//Función para módulo de diabetes 19/12/04
function veReported(f,path){
 path += "/";
 //alert(path);
  //alert(f);
 for(i=0; i<f.caso.length; i++){ if(f.caso[i].checked) break; } 
 //funcion para que no seleccione todas en Jurisdiccion y Municipio
/*if(f.JurisResidencia.value == 0 && f.MunResidencia.value == 0 && f.JurisResidencia.disabled==false)	{ 
  f.JurisResidencia.disabled=false;
 	 alert("Debe de seleccionar una Jurisdicción, rectifique");
	 f.JurisResidencia.focus();
	 return false;
  }

 
if(f.UniMedica.value!="" && f.UniMedica.disabled==false)	{ 
  f.EstResidencia.disabled=true;
  f.JurisResidencia.disabled=true;
  f.MunResidencia.disabled=true;
  if (f.FechaAno.value==""){
 	 alert("Datos Incompletos, rectifique");
	 f.FechaAno.focus();
	 return false;
  }
}
else{
 for(j=0; j<f.elements.length; j++){
  if(f.elements[j].type != "radio"){
   if(!f.elements[j].disabled){
    if(f.elements[j].value == ""){
	   alert("Datos Incompletos, rectifique");
	   f.elements[j].focus();
	   return false;
	}
   }
  }
 }
}*/
 path += arrPags[i]; 
 var fec = new Date();
 path += "?fec="+fec;
 for(k=0; k<f.elements.length; k++){
  if(f.elements[k].name != "caso" && f.elements[k].type != "button"){
   if(f.elements[k].type == "radio"){
    if(f.elements[k].checked) path += "&"+f.elements[k].name+"="+f.elements[k].value;
   }
   else{
    if(!f.elements[k].disabled){
     if(f.elements[k].value != "") path += "&"+f.elements[k].name+"="+f.elements[k].value;
	}
   }
  }
 }
//Concatenar fecha
 day = new Date();
 id = day.getTime();//29-07-02 morganista@visionconsulting.com.mx abre varias ventanas para reportes
 w=window.open(path, id, 'scrollbars=yes, menubar=yes, width=830, height=500, screenX=10, screenY=10, top=10, left=10');
 w.focus();
// w.opener = focus;
}
/////////////////// FUNCION AGREGADA PARA TB
function borraTMun(f){
 f.prioritario.checked = false;
 f.indigena.checked = false;
 f.maltamargin.checked = false;
 f.altamargin.checked = false;
 f.migracion.checked = false;
 f.apv.checked = false;
}

function obtenLocVect(f, thisObj, objEst, objMun){
 var est = objEst.value;  mun = objMun.value;obj = thisObj.name;
 if(est == ""  || mun == ""){
  alert("Debe seleccionar un Estado y un Municipio");
  return false;
 }
 else{
  pag = "../reutilizables/formas/bus_localidad.asp?id_edo="+est+"&id_mun="+mun+"&des_obj="+obj;
  w=window.open(pag, "_Otra", 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
  w.opener = self;
  w.focus();
 }
}


function obtenLoc1(f, thisObj, objEst, objJur, objMun){
 var est = objEst.value; jur = objJur.value; mun = objMun.value;obj = thisObj.name;
 if(est == "" || jur == "" || mun == ""){
  alert("Debe seleccionar un Estado, una Jurisdicción y un Municipio");
  return false;
 }
 else{
  pag = "../reutilizables/formas/bus_localidad_tuber.asp?id_edo="+est+"&id_mun="+mun+"&des_obj="+obj;
  w=window.open(pag, "_Otra", 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
  w.opener = self;
  w.focus();
 }
}
//****************************
function validaUni_dtn(f, obj, idPac, idApp){
 var cveUni = obj.value; tgt = "_unidad"; act = f.action;
 var fec = new Date();
 var path = "../reutilizables/formas/bus_unidad_dtn.asp?fec="+fec+"&id_app="+idApp; 
 if(cveUni == "" || isNaN(cveUni)){
  alert("La clave de Unidad es un valor numérico No Nulo");
  obj.value = "";
  obj.focus();
  return false;
 }
 else{
  if(idPac != null) path += "&id_pac="+idPac;
 }
 path += "&ClaveUnidad="+cveUni;
 w=window.open(path, tgt, 'scrollbars=yes, width=280, height=100, screenX=250, screenY=250, top=250, left=250');
 w.opener = self;
 w.focus();
 //f.action = path;
 //f.target = tgt;
 //f.submit();
 //f.action = act;
}
/////////////// AGREGADA 26/05/2005 BY JOEL
function VeSeguimientoVect(nIdApp,sFolio,nIdPac,nIdTab){	
parent.Formas.location="../../seguimiento/seg_vectores_up.asp?id_app="+nIdApp+"&id_fol="+sFolio+"&id_pac="+nIdPac+"&tab_id="+nIdTab;

}
///////////////************* FUNCION AGREGADA EL 08/06/2005
function abreVentanaEvolHosp(f,tipo,Id_App,Id_Tab){
 var tgt = "_"+tipo, act = f.action;
 var path = "../reutilizables/formas/bus_evol_hosp.asp?id_app="+Id_App+"&id_tab="+Id_Tab;
 w=window.open(path, tgt, 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
 w.opener = self;
 w.focus();
}
////////////////FUNCION AGREGADA EL 19/10/2005 BY JOEL
//*********************

function obtenOcu(f, thisObj){
 var obj = thisObj.name;
 
  pag = "../reutilizables/formas/bus_ocupacion.asp?des_obj="+obj;
  w=window.open(pag, "_Otra", 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
  w.opener = self;
  w.focus();
  
 
}
///////////////************* FUNCION AGREGADA EL 04/10/2005 BY JOEL
function abreVentanaLaboratorio(f,tipo,Id_App,Id_Tab){
 var tgt = "_"+tipo, act = f.action;
 var path = "../reutilizables/formas/bus_lab_sida.asp?id_app="+Id_App+"&id_tab="+Id_Tab;
 w=window.open(path, tgt, 'scrollbars=yes, width=750, height=350, screenX=10, screenY=10, top=10, left=10');
 w.opener = self;
 w.focus();
}
function abreVentanaSeg(f,tipo,Id_App,Id_Tab){
 var tgt = "_"+tipo, act = f.action;
 var path = "../reutilizables/formas/bus_fecsegsida.asp?id_app="+Id_App+"&id_tab="+Id_Tab;
 w=window.open(path, tgt, 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
 w.opener = self;
 w.focus();
}
function abreVentanaEmbarazo(f,tipo,Id_App,Id_Tab){
 var tgt = "_"+tipo, act = f.action;
 var path = "../reutilizables/formas/bus_emb_sida.asp?id_app="+Id_App+"&id_tab="+Id_Tab;
 w=window.open(path, tgt, 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
 w.opener = self;
 w.focus();
}
/////AGREGADA 03/10/2005
function validaUni_Sida(f, obj, idPac, idApp){
 var cveUni = obj.value; tgt = "_unidad"; act = f.action;
 var fec = new Date();
 var path = "../reutilizables/formas/bus_unidad_sida.asp?fec="+fec+"&id_app="+idApp; 
 if(cveUni == "" || isNaN(cveUni)){
  alert("La clave de Unidad es un valor numérico No Nulo");
  obj.value = "";
  obj.focus();
  return false;
 }
 else{
  if(idPac != null) path += "&id_pac="+idPac;
 }
 path += "&ClaveUnidad="+cveUni;
 w=window.open(path, tgt, 'scrollbars=yes, width=280, height=100, screenX=250, screenY=250, top=250, left=250');
 w.opener = self;
 w.focus();
 //f.action = path;
 //f.target = tgt;
 //f.submit();
 //f.action = act;
}

///Funcion y variable global para encuentas dengue Mayo 2008 SAFROMAN
var globalEncuesta=1;
function Encuesta(){
	if(parent.Header.globalEncuesta == 1){
	pag = "../../reutilizables/formas/bus_encuesta_vec.asp";
	w=window.open(pag, "_Encuesta", 'scrollbars=yes, width=550, height=350, screenX=10, screenY=10, top=10, left=10');
	w.opener = self;
	w.focus();
	}
}

function validaUniTrat_epv(f, obj, idPac, idApp){
 var cveUni = obj.value; tgt = "_unidad"; act = f.action;
 var fec = new Date();
 var path = "../reutilizables/formas/bus_unidad_trat_epv.asp?fec="+fec+"&id_app="+idApp; 
 if(cveUni == "" || isNaN(cveUni)){
  alert("La clave de Unidad es un valor numérico No Nulo");
  obj.value = "";
  obj.focus();
  return false;
 }
 else{
  if(idPac != null) path += "&id_pac="+idPac;
 }
 path += "&ClaveUnidad="+cveUni;
 w=window.open(path, tgt, 'scrollbars=yes, width=280, height=100, screenX=250, screenY=250, top=250, left=250');
 w.opener = self;
 w.focus();
 //f.action = path;
 //f.target = tgt;
 //f.submit();
 //f.action = act;
}

function obtenOcu(f, thisObj){
 var obj = thisObj.name;
 
  pag = "../reutilizables/formas/bus_ocupacion.asp?des_obj="+obj;
  w=window.open(pag, "_Otra", 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
  w.opener = self;
  w.focus();
}

//Agregada 2008-03-28 by toGGi Padecimiento: 13 (CaNA)
function validaUniCaNA1(f, obj, idPac, idApp){
 var cveUni = obj.value; tgt = "_unidad"; act = f.action;
 var fec = new Date();
 var path = "../reutilizables/formas/bus_uni_med_CaNA1.asp?fec="+fec+"&id_app="+idApp; 
 if(cveUni == "" || isNaN(cveUni)){
  alert("La clave de Unidad es un valor numérico No Nulo");
  obj.value = "";
  obj.focus();
  return false;
 }
 else{
  if(idPac != null) path += "&id_pac="+idPac;
 }
 path += "&ClaveUnidad="+cveUni;
 w=window.open(path, tgt, 'scrollbars=yes, width=280, height=100, screenX=250, screenY=250, top=250, left=250');
 w.opener = self;
 w.focus();
 //f.action = path;
 //f.target = tgt;
 //f.submit();
 //f.action = act;
}
////// de pepe
//// jose guadalupe 
/// jose_gpe@hotmail.com
///// de new rfc pero con retorno
///// de pepe 
function validaC(f,dato){
var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz0123456789 #";
   var checkStr ;
   var allValid = true;  
   var allNum = "";
   var conca;
   if (f==""){
	  alert("ESTE CAMPO ("+ dato +") NO PUEDE ESTAR VACIO");
	  //que.txtpassword.focus();
	  return (false);
   }
		
   if (f != "") {
	  checkStr = f;
	  for (i = 0;  i < checkStr.length;  i++)  {		
		  ch = checkStr.charAt(i);
		  for (k = 0;  k < checkOK.length;  k++)
		    if (ch == checkOK.charAt(k))
		        break;
		  if (k == checkOK.length)  {
		     allValid = false;
		     break;
		  }
		  allNum += ch;
	  }
	 // alert("aqui")
	  if (!allValid)  {
		  alert("ESTE CAMPO  ("+ dato +") CONTIENE CARACTERES NO VALIDOS");
		  //theForm.txtpassword.focus();		  
		  return (false);
	  }
   }
   return true;
}

function RFC_pp(f){

 if (f.A_Paterno.value==""){alert('SI NO TIENE APELLIDO PATERNO DIGITE XX'); return false;}
 if (f.A_Materno.value==""){alert('SI NO TIENE  APELLIDO MATERNO DIGITE XX'); return false;}
 if (f.Nombre.value==""){alert('SI NO TIENE NOMBRE DIGITE  RN'); return false;}
 
var strPrimer  = f.A_Paterno.value;
var strSegundo =f.A_Materno.value;
var strNombre = f.Nombre.value;
var intLongP  = strPrimer.length - 2;
var intLongS  = strSegundo.length - 2;
var intLongN  = strNombre.length - 2;
var regP      = "[A-ZÑ]" + "[A-ZÑ' ]{" + intLongP + "}" + "[A-Z]";
var regS      = "[A-ZÑ]" + "[A-ZÑ' ]{" + intLongS + "}" + "[A-Z]";
var regN      = "[A-ZÑ]" + "[A-ZÑ'. ]{" + intLongN + "}" + "[A-Z.]";

if(strPrimer.search(regP) != 0){	
	alert("RECUERDA QUE EL APELLIDO PATERNO SE ESCRIBE SIN ACENTO Y SIN ABREVIATURA Y EN CASO DE NO CONTAR CON EL DIGITE XX");
	f.A_Paterno.focus();
	return false;	
}


 //strSegundo = f.A_Materno.value;
 //alert(strSegundo);
if(strSegundo.search(regS) != 0){	
	alert("RECUERDA QUE EL APELLIDO MATERNO SE ESCRIBE SIN ACENTO Y SIN ABREVIATURA Y EN CASO DE NO CONTAR CON EL ADIGITE XX");
	f.A_Materno.focus();
	return false;	
}
//strSegundo = f.Nombre.value;
if(strNombre.search(regN) != 0){	
	alert("RECUERDA QUE EL NOMBRE SE ESCRIBE SIN ACENTO Y SIN ABREVIATURA");
	f.Nombre.focus();
	return false;	
}

 
 var pat = trim(quitaAcentos(f.A_Paterno.value));
 var mat = trim(quitaAcentos(f.A_Materno.value));
 var nom = trim(quitaAcentos(f.Nombre.value));

 

 var dia = f.Fecha_NacDia.value, mes = f.Fecha_NacMes.value, ano = f.Fecha_NacAno.value;
 
 if(pat != "" && mat != "" && nom != "" && dia != "" && mes != "" && ano != ""){
  if(isDate(dia, mes, ano) && pat.length >= 2){
   
   rfc = pat.substring(0,1);
   rfc += obtenVocal(pat);
   rfc += mat.substring(0,1);
  
   if (nom!=""){
       nom=trim(quitajose(nom));
     }
	 
   rfc += nom.substring(0,1);
   rfc += (ano.length == 4) ? ano.substring(2,4) : ano;
   rfc += (mes.length == 1) ? "0"+mes : mes;
   rfc += (dia.length == 1) ? "0"+dia : dia;
   f.RFC.value = rfc;
  // alert("Verifique si el RFC: "+rfc+" es correcto");
   if(f=="escuela"){
	 // f.EdadAnos.disabled=true;
 		//f.EdadMeses.disabled = true;
		//f.EdadDias.disabled = true;
   	}
	else {
		//f.EdadAnos.focus();
		/*f.EdadAnos.disabled=false;
 		f.EdadMeses.disabled = false;
		f.EdadDias.disabled = false;*/
	}
  }
 }
 else
   //return rfc;
  f.RFC.value = "";
  curp(f,rfc)
}
function obtenRFC1(f){
 var pat = quitaAcentos(f.A_Paterno.value);
 var mat = quitaAcentos(f.A_Materno.value);
 var nom = quitaAcentos(f.Nombre.value);
 var dia = f.Fecha_NacDia.value, mes = f.Fecha_NacMes.value, ano = f.Fecha_NacAno.value;
 var ok
 //alert("nom vale 1...:"+nom)
 if(pat != "" && mat != "" && nom != "" && dia != "" && mes != "" && ano != ""){
  if(isDate(dia, mes, ano) && pat.length >= 2){
   rfc = pat.substring(0,1);
   rfc += obtenVocal(pat);
   rfc += mat.substring(0,1);
   rfc += nom.substring(0,1);
   rfc += (ano.length == 4) ? ano.substring(2,4) : ano;
   rfc += (mes.length == 1) ? "0"+mes : mes;
   rfc += (dia.lengtAh == 1) ? "0"+dia : dia;
   f.RFC.value = rfc;
   if(confirm  ("¿La Edad ("+f.EdadAnos.value+")Años ("+f.EdadMeses.value+")Meses ("+f.EdadDias.value+")Días, del paciente es correcta?")){
/*	    f.EdadAnos.disabled=false;
 		f.EdadMeses.disabled = false;
		f.EdadDias.disabled = false;
*/
		f.Sexo.focus();
   	}
	else {
		borraEdad(f);
		f.EdadAnos.focus();
		/*f.EdadAnos.disabled=false;
 		f.EdadMeses.disabled = false;
		f.EdadDias.disabled = false;*/
	}
	
  }
 }
 else
  f.RFC.value = "";
}

// funcion quitar jose
// funcion trim limpia espacios en blanco
function quitajose(str){
//alert("funcion quitar"+str)
var f=document.form1;
//document.form1.nombre.value=trim(document.form1.nombre.value).toUpperCase()
var nm,ch,ch1,nombre;
var espacios=0,r1;
nm=""
//str=f.nombre.value
  if (str==""){
      alert('dijite el dato');
      return false;
   }
   //detecta espacios en blanco cuantos
   for(i=0;i<str.length;i++){
      ch1=str.charAt(i)
      if(ch1 == " "){
	  espacios=espacios+1;
      }
   
   } 
   //alert("los espacios son "+espacios)
   nombre=str;
if (espacios>=0){
   for(i=0;i<str.length;i++){
   ch =str.charAt(i)
     if(ch == "J" || ch == "O" || ch == "S" || ch == "E" || ch == "M" || ch == "A" || ch == "R" || ch == "I" || ch == "D"|| ch == "L" || ch == " ")       
	 {
       if (nm==""){
	        nm=ch
			}else
			{
	          nm = nm + ch
			} 
	 }
	   //alert(str.charAt(i));
	     
       if (str.charAt(i)==" "){
	       nm=trim(nm)
	       //alert("variable..."+nm);
	      if (nm=="JOSE"){
		      r1=i+1;
			  nombre=str.substring(r1,str.length)
			  //alert("jose "+nombre);
			  
		  }
		  /*if(nm="JOSE MARIA"){
		  r1=i+1;
			  nombre=str.substring(r1,str.length)
			  //alert("jose MARIA"+nombre);
		  }*/
		  if (nm=="MARIA"){
		       r1=i+1;
			    nombre=str.substring(r1,str.length)
		     // alert("maria "+ nombre);
		  }
		  if (nm=="DE"){
		  r1=i+1;
		   nombre=str.substring(r1,str.length)
		  //alert('DE' + noAmbre)
		  }
		  if (nm=="LOS"){
		    r1=i+1;
		   nombre=str.substring(r1,str.length)
		  //alert('LOS '+ nombre)
		  }
  
       }//del if del espacio en blanco
	   
    }// del for
 } else// del if de espacios
 {
 //alert('solo tiene un nombre')
 }
  //alert('El nombre es...:'+ nombre)
  return nombre;

}

function trim(inputString) 
{
    // Removes leading and trailing spaces from the passed string. Also removes
	// consecutive spaces and replaces it with one space. If something besides
	// a string is passed in (null, custom object, etc.) then return the input.
	  
	if (typeof inputString != "string") 
	{ 
		return inputString; 
	}
	var retValue = inputString;
	
	// Check for spaces at the beginning of the string
	var ch = retValue.substring(0, 1);
	while (ch == " ") {
		retValue = retValue.substring(1, retValue.length);
	    ch = retValue.substring(0, 1);
	}
	// Check for spaces at the end of the string
	ch = retValue.substring(retValue.length-1, retValue.length);
    while (ch == " ") 
	{ 
		retValue = retValue.substring(0, retValue.length-1);
	    ch = retValue.substring(retValue.length-1, retValue.length);
	}
	
	// Note that there are two spaces in the string - look for multiple spaces within the string
	while (retValue.indexOf("  ") != -1) { 
	    retValue = retValue.substring(0, retValue.indexOf("  ")) + 
		           retValue.substring(retValue.indexOf("  ")+1, retValue.length); 
				   // Again, there are two spaces in each of the strings
	}
    return retValue; // Return the trimmed string back to the user
} 

//// jose gpe delgado jose_gpe@hotmail.com
function curp(f,rfc){
var fa,fm,fd,curp;
var estado=new Array(40)
var pat = trim(quitaAcentos(f.A_Paterno.value));
pat=quitajose(pat)
var mat = trim(quitaAcentos(f.A_Materno.value));
mat=quitajose(mat)
var nom = trim(quitaAcentos(f.Nombre.value));
nom=quitajose(nom)
fa=f.EdadAnos.value;
fm=f.EdadMeses.value;
fd=f.EdadDias.value;
edo=f.EstadoNacimiento.value;
sx=f.Sexo.value;

if (sx==""){sx=1;}

if (sx=="1"){
  sx="H"
  }else
  {
  sx="M"
  }
 // alert(edo)
  if (edo==" ")
   {edo=1;}
 

estado=["AS","BC","BS","CC","CL","CM","CS","CH","DF","DG","GT","GR","HG","JC","MC","MN","MS","NT","NL","OC","PL","QT","QR","SP","SL","SR","TC","TS","TL","VZ","YN","ZS","SM","SM","SM"];
    curp=rfc;
	curp+=sx;
	//alert("el estado"+edo)
	curp+=estado[edo-1]
	curp +=obtenConsonante(pat);
	curp +=obtenConsonante(mat);
	curp +=obtenConsonante(nom);
    f.CURP.value=curp
    alert("VERIFIQUE SI EL CURP:"+curp+ " ES CORRECTO");

}

//// obtener constante parecedio al de vocal jose gpe delgado
function obtenConsonante(str){
 var ch, val = false;
 for(i=1;i<str.length;i++){
// alert(str.charAt(i))
  ch = str.charAt(i)
  if(ch == "B" || ch == "C" || ch == "D" || ch == "F" || ch == "G" || ch == "H" || ch == "L" || ch == "J" || ch == "K" || ch == "T" || ch == "M" || ch == "N" || ch == "P" || ch == "Q" || ch == "X" || ch == "Y" || ch == "Z"|| ch == "R"|| ch == "S"){
   val = true; // encontró vocal y sale del ciclo for
   break;
  }
 }
 if(val) return ch; // regresa primera vocal encontrada después de la primera letra del apellido paterno
 else return str.charAt(1); // regresa segundo caracter del apellido paterno
}

///FUNCIONES PARA DEFUNCIONES MATERNAS


function validaPac1(f, objAP, objAM, objNom, idApp, defmatid) {
    var ap = objAP.value; am = objAM.value; nom = objNom.value; matid = defmatid.value; tgt = "_paciente"; act = f.action;
    var path = "../reutilizables/formas/bus_pacientedef.asp?id_app=" + idApp;
    if (ap == "" && am == "" && nom == "" && matid == "") {
        alert("Debe proporcionar al menos uno de los siguientes datos:\n   Apellido Paterno, Apellido Materno, Nombre, Identificador de Caso");
        return false;
    }
    path += "&A_Paterno=" + ap + "&A_Materno=" + am + "&Nombre=" + nom + "&Matid=" + matid;
    /*if(idApp == 1){
    if(f.DatosDe[0].checked) path += "&DatosDe="+f.DatosDe[0].value;
    }*/
    w = window.open(path, tgt, 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
    w.opener = self;
    w.focus();
    //f.action = path;
    //f.target = tgt;
    //f.submit();
    //f.action = act;
}

function obtenLocdef(f, thisObj, objEst, objJur, objMun, obj2) {
    var est = objEst.value; jur = objJur.value; mun = objMun.value; obj = thisObj.name;
    if (est == "" || jur == "" || mun == "") {
        alert("Debe seleccionar un Estado, una Jurisdicción y un Municipio");
        return false;
    }
    else {
        pag = "../reutilizables/formas/bus_localidad_defmat.asp?id_edo=" + est + "&id_mun=" + mun + "&des_obj=" + obj + "&locmost=" + obj2;
        w = window.open(pag, "_Otra", 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
        w.opener = self;
        w.focus();
    }
}
function IsNumeric(valor) 
{ 
	var log=valor.length; var sw="S"; 
	for (x=0; x<log; x++) 
	{ 
		v1=valor.substr(x,1); 
		v2 = parseInt(v1); 
		//Compruebo si es un valor numérico 
		if (isNaN(v2)) { sw= "N";} 
	} 
	if (sw=="S") {return true;} else {return false; } 
} 

var primerslap=false; 
var segundoslap=false; 



function formateafecha(obj,fecha) 
{ 
	var KeyID = event.keyCode;

	if (KeyID != 37 && KeyID != 39)	
	{	
		
		if( KeyID != 46 && KeyID != 8 )	
		{
			var long = fecha.length; 
			var dia; 
			var mes; 
			var ano; 
			if ((long>=2) && (primerslap==false)) { 
				dia=fecha.substr(0,2); 
				if ((IsNumeric(dia)==true) && (dia<=31) && (dia!="00")) { 
					fecha=fecha.substr(0,2)+"/"+fecha.substr(3,7); primerslap=true; 
				}		
				else { 
					fecha=""; primerslap=false;
				} 
			} 
			else { 
			
				dia=fecha.substr(0,1); 
				if (IsNumeric(dia)==false) {
					fecha="";
				} 
				if ((long<=2) && (primerslap=true)) {
					fecha=fecha.substr(0,1); primerslap=false; 
				} 
			} 
			if ((long>=5) && (segundoslap==false)) { 
				mes=fecha.substr(3,2); 
				if ((IsNumeric(mes)==true) &&(mes<=12) && (mes!="00")) { 
					fecha=fecha.substr(0,5)+"/"+fecha.substr(6,4); segundoslap=true; 
				} 
				else { 
					fecha=fecha.substr(0,3);; segundoslap=false;
				} 
			} 
			else { 
				if ((long<=5) && (segundoslap=true)) { 
					fecha=fecha.substr(0,4); segundoslap=false; 
				} 
			} 
			if (long>=7) {
				ano=fecha.substr(6,4); 
				if (IsNumeric(ano)==false) {
					fecha=fecha.substr(0,6); 
				} 
				else { 
					if (long==10){ 
						if ((ano==0) || (ano<1900) || (ano>2100)) { 
							fecha=fecha.substr(0,6); 
						} 
					}	 
				} 
			} 
			if (long>=10) { 
				fecha=fecha.substr(0,10); 
				dia=fecha.substr(0,2); 
				mes=fecha.substr(3,2); 
				ano=fecha.substr(6,4); 
				// Año no viciesto y es febrero y el dia es mayor a 28 
				if ((ano%4 != 0) && (mes ==02) && (dia > 28) ) { 
					fecha=fecha.substr(0,2)+"/"; 
				} 
			} 
			obj.value = fecha;
			//return (fecha); 	
		}
		else
		{
			obj.value = "";
		}
	}
}

/*function formateafecha(obj,fecha) 
{ 
	var KeyID = event.keyCode;

	if (KeyID != 37 && KeyID != 39)	
	{	
		
		if( KeyID != 46 && KeyID != 8 )	
		{
			var long = fecha.length; 
			var dia; 
			var mes; 
			var ano; 
			if ((long>=2) && (primerslap==false)) { 
				dia=fecha.substr(0,2); 
				if ((IsNumeric(dia)==true) && (dia<=31) && (dia!="00")) { 
					fecha=fecha.substr(0,2)+"/"+fecha.substr(3,7); primerslap=true; 
				}		
				else { 
					fecha=""; primerslap=false;
				} 
			} 
			else { 
			
				dia=fecha.substr(0,1); 
				if (IsNumeric(dia)==false) {
					fecha="";
				} 
				if ((long<=2) && (primerslap=true)) {
					fecha=fecha.substr(0,1); primerslap=false; 
				} 
			} 
			if ((long>=5) && (segundoslap==false)) { 
				mes=fecha.substr(3,2); 
				if ((IsNumeric(mes)==true) &&(mes<=12) && (mes!="00")) { 
					fecha=fecha.substr(0,5)+"/"+fecha.substr(6,4); segundoslap=true; 
				} 
				else { 
					fecha=fecha.substr(0,3);; segundoslap=false;
				} 
			} 
			else { 
				if ((long<=5) && (segundoslap=true)) { 
					fecha=fecha.substr(0,4); segundoslap=false; 
				} 
			} 
			if (long>=7) {
				ano=fecha.substr(6,4); 
				if (IsNumeric(ano)==false) {
					fecha=fecha.substr(0,6); 
				} 
				else { 
					if (long==10){ 
						if ((ano==0) || (ano<1900) || (ano>2100)) { 
							fecha=fecha.substr(0,6); 
						} 
					}	 
				} 
			} 
			if (long>=10) { 
				fecha=fecha.substr(0,10); 
				dia=fecha.substr(0,2); 
				mes=fecha.substr(3,2); 
				ano=fecha.substr(6,4); 
				// Año no viciesto y es febrero y el dia es mayor a 28 
				if ((ano%4 != 0) && (mes ==02) && (dia > 28) ) { 
					fecha=fecha.substr(0,2)+"/"; 
				} 
			} 
			obj.value = fecha;
			//return (fecha); 	
		}
		else
		{
			obj.value = "";
		}
	}
}
*/


function validaNumDef(obj,dato){
var checkOK = "0123456789.";
   var checkStr ;
   var allValid = true;  
   var allNum = "";
   var conca;
   	
   if (obj.value != "") {
	  checkStr = obj.value;
	  for (i = 0;  i < checkStr.length;  i++)  {
		  ch = checkStr.charAt(i);
		  for (k = 0;  k < checkOK.length;  k++)
		    if (ch == checkOK.charAt(k))
		        break;
		  if (k == checkOK.length){
		     allValid = false;
		     break;
		  }
		  allNum += ch;
	  }
	 // alert("aqui")
	  if (!allValid)  {
		  alert( dato +" CONTIENE CARACTERES NO VALIDOS");
		  obj.focus();
		  return (false);
	  }
   }
   return true;
}
//****************************
function validaUni_def(f, obj, idPac, idApp){
 var cveUni = obj.value; tgt = "_unidad"; act = f.action;
 var fec = new Date();
 var path = "../reutilizables/formas/bus_unidad_def.asp?fec="+fec+"&id_app="+idApp; 
 if(cveUni == "" || isNaN(cveUni)){
  alert("La clave de Unidad es un valor numérico No Nulo");
  obj.value = "";
  obj.focus();
  return false;
 }
 else{
  if(idPac != null) path += "&id_pac="+idPac;
 }
 path += "&ClaveUnidad="+cveUni;
 w=window.open(path, tgt, 'scrollbars=yes, width=280, height=100, screenX=250, screenY=250, top=250, left=250');
 w.opener = self;
 w.focus();
 //f.action = path;
 //f.target = tgt;
 //f.submit();
 //f.action = act;
}
///FUNCION PARA OBTENER EL MUNICIPIO DE NACIMIENTO

function obtenMunNac(f, thisObj, objEst){
 var est = objEst.value;  obj = thisObj.name;
  if(est == "" ){
    alert("Debe seleccionar un Estado");
	return false;
 }
 else{
  pag = "../reutilizables/formas/bus_municipio_vect.asp?id_edo="+est+"&des_obj="+obj;
  w=window.open(pag, "_Otra", 'scrollbars=yes, width=520, height=350, screenX=10, screenY=10, top=10, left=10');
  w.opener = self;
  w.focus();
 }
 
}
function validaGral3(f){
 var arrObj = new Array();
 arrObj = ['Fecha_NacDia', 'Fecha_NacMes', 'Fecha_NacAno', 'EstadoNacimiento',  'MunicipioNacimiento', 'EdadAnos', 'EdadMeses', 'EdadDias', 'Sexo', 'CalleNum','Colonia', 'EstResidencia', 'JurisResidencia', 'MunResidencia', 'LocalidadResidencia', 'ClaveUnidad', 'RFC'];
// alert(arrObj[16].value);
 for(i=0; i<arrObj.length; i++) arrObj[i] = eval("f."+arrObj[i]); //Convierte a objetos las cademas
 for(j=0; j<arrObj.length; j++){
  if(arrObj[j].disabled == false){ //los que están habilitados
   if(arrObj[j].value == ""){
    alert("Datos incompletos, rectifique");
    arrObj[j].focus();
	return false;
   }
   if(arrObj[j].name == "RFC"){
    var rfc = arrObj[j].value;
	if(rfc.length < 10){
     alert("El campo RFC debe contener al menos 10 dígitos");
	 arrObj[j].focus();
	 return false;
	}
	if(!invChar(rfc)){
     alert("Se detectó un caracter inválido o un espacio en el RFC, rectifique");
	 arrObj[j].focus();
	 return false;
	}
   }
  }
 }
 if(UniMed != "" && UniMed != arrObj[15].value){
  alert("Clave de Unidad no coincide con la descrita, haga la búsqueda");
  f.BtnUnidadMed.focus();
  return false;
 }
 return true;
}
function validaUni_trat(f, obj, idPac, idApp) {
    var cveUni = obj.value; tgt = "_unidad"; act = f.action;
    var fec = new Date();
    var path = "../reutilizables/formas/bus_uni_trat_vec.asp?fec=" + fec + "&id_app=" + idApp;
    if (cveUni == "" || isNaN(cveUni)) {
        alert("La clave de Unidad es un valor numérico No Nulo");
        obj.value = "";
        obj.focus();
        return false;
    }
    else {
        if (idPac != null) path += "&id_pac=" + idPac;
    }
    path += "&ClaveUnidadt=" + cveUni;
    w = window.open(path, tgt, 'scrollbars=yes, width=280, height=100, screenX=250, screenY=250, top=250, left=250');
    w.opener = self;
    w.focus();
    //f.action = path;
    //f.target = tgt;
    //f.submit();
    //f.action = act;
}

function validaUni_ref(f, obj, idPac, idApp) {
    var cveUni = obj.value; tgt = "_unidad"; act = f.action;
    var fec = new Date();
    var path = "../reutilizables/formas/bus_uni_ref_vec.asp?fec=" + fec + "&id_app=" + idApp;
    if (cveUni == "" || isNaN(cveUni)) {
        alert("La clave de Unidad es un valor numérico No Nulo");
        obj.value = "";
        obj.focus();
        return false;
    }
    else {
        if (idPac != null) path += "&id_pac=" + idPac;
    }
    path += "&ClaveUnidadr=" + cveUni;
    w = window.open(path, tgt, 'scrollbars=yes, width=280, height=100, screenX=250, screenY=250, top=250, left=250');
    w.opener = self;
    w.focus();
    //f.action = path;
    //f.target = tgt;
    //f.submit();
    //f.action = act;
}
function comboHijoTb(valPadre, objHijo, arr, nxtObj){
 var str = "parent.Logo."+arr+";";
 var cat = eval(str);
 for(i=objHijo.options.length-1; i>=0; i--) objHijo.options[i] = null; // limpia combo hijo
 var k = 1;
 for(j=0;j<cat.length-1;j+=3){
 objHijo.options[0] = new Option('', '');
  if(cat[j] == valPadre) // es un hijo del padre que tenemos  
     objHijo.options[k++] = new Option(cat[j+2], cat[j+1]); 
 }
 if(k > 1) objHijo.options[0].selected = true; // se coloca en la primera posición del combo hijo
 //borraMunLoc(nxtObj, otObj);
}
