//***************************************************************
//- Controla que la variable "e" sea alfanumerica
//***************************************************************
function fSoloAlfanumerico(e) {
	tecla = (document.all)?e.keyCode:e.which;
	if ( tecla!=8 && tecla!=13 &&((tecla>0 && tecla<=47) || (tecla>=58 && tecla<=64) || (tecla>=91 && tecla<95) || tecla==96 || tecla>122 )) {
		return false;
	} 
	return true;
}
//***************************************************************
//- Controla que la variable "e" sea una letra (A-Z, a-z)
//***************************************************************
function fSoloLetra(e) {
	tecla = (document.all)?e.keyCode:e.which;
	if ( tecla!=8 && ( (tecla>0 && tecla<=64) || (tecla>90 && tecla<=96) || tecla>122)) {
		return false;
	}
	return true;
}
//***************************************************************
//- Controla que la variable "e" sea nuemrica
//***************************************************************
function fSoloNumero(e) {
	tecla = (document.all)?e.keyCode:e.which;
	if (tecla==8 || tecla==0) { return true; } 
	patron = /\d/;
	return patron.test(String.fromCharCode(tecla));
}
//***************************************************************
//- Controla que la variable "e" sea un numero decimal
//***************************************************************
function fSoloDecimal(e) {
	tecla = (document.all)?e.keyCode:e.which;
	if (tecla==8 || tecla==0 || tecla==46) { return true; } 
	patron = /\d/;
	return patron.test(String.fromCharCode(tecla));
}
//***************************************************************
//- funcion para la paginacion, envia al link pasado concatenandole la pagina
//***************************************************************
function fCambiarPagina (istrLink,pag){
	//eval('document.'+strForm+'.submit()');
	location.href=istrLink+"&pag="+pag;
}
//***************************************************************
//- funcion que pinta el enlace para abrir una ventana emergente sin barras de direcciones ni herramientas ni na
//***************************************************************
function sVentanaEmergenteSinBarra(direccion,nombre,ancho,alto)
{	strAux="win2=window.open(direccion,nombre,'scrollbars=no,status=no,left="+(window.screen.width-ancho)/2+",top="+(window.screen.height-alto)/2+", directories=no, toolbar=no,width="+ancho+",height="+alto+"');";
	eval(strAux);
}
//***************************************************************
//- funcion que comprueba si el valor del objeto (elemento de formulario) recibido es una fecha
//***************************************************************
function isFecha(objeto){	
	switch (objeto.value.length){	
		case 1:
			if (isNaN(objeto.value)){ objeto.value=""; }
			break;
		case 2:
			if (isNaN(objeto.value)){	
				if (isNaN(objeto.value.substring(0,1))){ objeto.value="";}
				else{	
					if (objeto.value.substring(1,2)=="/"){ objeto.value="0"+objeto.value; }
					else{ objeto.value=objeto.value.substring(0,1);}
				}
			}else{	
				if (parseFloat(objeto.value)>31){ objeto.value="31/"; }
				if (parseFloat(objeto.value)<1){ objeto.value="01/"; }
			}
			break;
		case 3:
			if (!isNaN(objeto.value.substring(2,3))){objeto.value=objeto.value.substring(0,2)+"/";}
			break;
		case 4:
			if (isNaN(objeto.value.substring(3,4))){objeto.value=objeto.value.substring(0,3);}
			break;
		case 5:
			if (isNaN(objeto.value.substring(3,5))){	
				if (isNaN(objeto.value.substring(3,4))){objeto.value=objeto.value.substring(0,4);}
				else{	
					if (objeto.value.substring(4,5)=="/"){	
						objeto.value=objeto.value.substring(0,3)+"0"+objeto.value.substring(3,5);
					}else{	
						objeto.value=objeto.value.substring(0,4);
					}
				}
			}else{	
				mes=parseFloat(objeto.value.substring(3,5))
				if (mes>12){ objeto.value=objeto.value.substring(0,3)+"12/"; }
				if (mes<1){	objeto.value=objeto.value.substring(0,3)+"01/"; }
			}
			mes=parseFloat(objeto.value.substring(3,5))
			dia=parseFloat(objeto.value.substring(0,2))
			if (mes==2 && dia>29){ objeto.value="29"+objeto.value.substring(2); }
			if ((mes==4 || mes==6 || mes==9 || mes==11) && dia>30){
				objeto.value=objeto.value="30"+objeto.value.substring(2);
			}
			if (dia<1){ objeto.value=objeto.value="01"+objeto.value.substring(2); }
			if (mes<1){ objeto.value=objeto.value=objeto.value.substring(0,3)+"01"; }
			break;
		case 6:
			if (!isNaN(objeto.value.substring(5,6))){objeto.value=objeto.value.substring(0,5)+"/"; }
			break;
		case 7:
		case 8:
		case 9:
			if (isNaN(objeto.value.substring(objeto.value.length-1,objeto.value.length)))
			{	objeto.value=objeto.value.substring(0,objeto.value.length-1);
			}
			break;
		case 10:
			if (isNaN(objeto.value.substring(9,10))){	
				objeto.value=objeto.value.substring(0,9);
			}else{	
				mes=parseFloat(objeto.value.substring(3,5))
				dia=parseFloat(objeto.value.substring(0,2))
				anho=parseFloat(objeto.value.substring(6,10))
				if (mes==2 && dia>28)
				{	if (!(anho % 4==0 && anho % 400!=0))
					{	objeto.value="28"+objeto.value.substring(2);
					}
				}
				if ((mes==4 || mes==6 || mes==9 || mes==11) && dia>30)
				{	objeto.value=objeto.value="30"+objeto.value.substring(2);
				}
				if (dia<1){	objeto.value=objeto.value="01"+objeto.value.substring(2); }
				if (mes<1){	objeto.value=objeto.value=objeto.value.substring(0,3)+"01"+objeto.value.substring(5); }
			}
			break;
	}
}
//***************************************************************
//- Envia datos atraves de un formulario a la ventana desde la que
//  se ha abierto
//***************************************************************
function fEnviaDatos2(istrNombre,istrFecha)
{	strAux="window.opener.document."+istrNombre+".value='"+istrFecha+"'";
	eval(strAux);
	window.close();
}
//***************************************************************
//- Valida que al hacer onkerPress que solo se puedan meter caracteres
//  correctos para una fecha --> dd/mm/aaaa
//***************************************************************
function fSoloFecha() 
{	if (((window.event.keyCode<47)||(window.event.keyCode>57))&& (window.event.keyCode!=8)) {  
		window.event.keyCode=""; 
		return false;
	}
}
//***************************************************************
//- Funcion que "ayuda" a escribir la fecha correctamente en el formato dd/mm/aaaa
//***************************************************************
function fConvertirFecha(objeto)
{	if (objeto.value.length<10)
	{	if (!isNaN(objeto.value.substring(0,1)) && objeto.value.substring(1,2)=="/")
		{	objeto.value="0"+objeto.value;
		}
		if (!isNaN(objeto.value.substring(3,4)) && objeto.value.substring(4,5)=="/")
		{	objeto.value=objeto.value.substring(0,3)+"0"+objeto.value.substring(3);
		}
	}
}
//***************************************************************
function fSeleccionarTodos (intCuantos){
    intSeleccionado=0;
    for(i=1;i<=intCuantos;i++){
        if(eval('document.frmDatos.chkMedico'+i+'.checked')){ intSeleccionado++; }
    }        
    if(intSeleccionado==intCuantos){
        for(i=1;i<=intCuantos;i++){
            eval('document.frmDatos.chkMedico'+i+'.checked=false');
            document.frmDatos.chkTodos.checked=false;
        }        
    }else{
        for(i=1;i<=intCuantos;i++){
            eval('document.frmDatos.chkMedico'+i+'.checked=true');
            document.frmDatos.chkTodos.checked=true;
        }
    }
}
//***************************************************************
function fMirarSeleccion (intCuantos){
    intSeleccionado=0;
    for(i=1;i<=intCuantos;i++){
        if(eval('document.frmDatos.chkMedico'+i+'.checked')){ intSeleccionado++; }
    }        
    if(intSeleccionado==intCuantos){
        document.frmDatos.chkTodos.checked=true;
    }else{
        document.frmDatos.chkTodos.checked=false;
    }
}
