/*
	Desarrollado por
	 Ing. Juan Francisco Espín
	 Gerente - Area Desarrollo Sw
	 Idechip S.A.
*/
//Esta función impide sql injection
function sqlValido(expresion){
	if(expresion=="")
		return false;
	var i;
	var regExp = new RegExp("[A-Za-z0-9]");
	
	for(i=0;i<expresion.length;i++){
		if(!regExp.test(expresion.charAt(i)))
			return false
	}
	return true;
}
function AbrirVentana(sHRef,nWidth,nHeight,sScrolls, sName) {
	var nLeft
	var nTop
		nLeft = (screen.width - nWidth) / 2;
		nTop = (screen.height - nHeight) / 2 - 20;
		return window.open(sHRef,sName,'width='+nWidth+',height='+nHeight+',left='+nLeft+',top='+nTop+',scrollbars='+sScrolls);
}
function ver(bool,id){
	var objeto=document.getElementById(id);
	if(bool)
		objeto.style.display="inline";
	else
		objeto.style.display="none";
}
function getObj(id){
	var obj;
	obj=document.getElementById(id);
	return obj;
}
/*
esta función es una máscara de entrada para datos del tipo fecha
se carga previamente en la funcion onload del tag body,
el objeto y luego, en el cuadro de texto en particular

En el <body>:
f=new Fecha();

En el cuadro de texto:
onKeyUp="f.mascaraFecha('txtFecha');"
*/
function Fecha(){
	this.numCaracteres=0;
	this.fecha=new Array(7);
	this.str="";
	this.caracter="-";
	this.mascaraFecha=function(objFecha){
		var obj=document.getElementById(objFecha)
		var er;
		this.numCaracteres++;
		if ((window.event.keyCode == 27) || (window.event.keyCode == 8) || (window.event.keyCode == 46)) {
			this.numCaracteres=0;
			obj.value="aaaa"+this.caracter+"mm"+this.caracter+"dd";
			return;
		}
		switch(this.numCaracteres){
			case 1:
				er = new RegExp("[1-3]");
				this.fecha[0]=obj.value.charAt(10);
				if(!er.test(this.fecha[0])){
					alert("Solo puede ingresar 1,2,3")	
					obj.value="aaaa"+this.caracter+"mm"+this.caracter+"dd"
					this.numCaracteres=0
				}else
					obj.value=this.fecha[0]+"aaa"+this.caracter+"mm"+this.caracter+"dd";
				break;
			case 2:
				er = new RegExp("[0-9]");
				this.fecha[1]=obj.value.charAt(10);
				if(!er.test(this.fecha[1])){
					alert("Solo puede ingresar números del 0 al 9");
					obj.value=this.fecha[0]+"aaa"+this.caracter+"mm"+this.caracter+"dd";
					this.numCaracteres=1;
				}else
					obj.value=this.fecha[0]+this.fecha[1]+"aa"+this.caracter+"mm"+this.caracter+"dd";
				break;
			case 3:
				er = new RegExp("[0-9]");
				this.fecha[2]=obj.value.charAt(10);
				if(!er.test(this.fecha[2])){
					alert("Solo puede ingresar números del 0 al 9");
					obj.value=this.fecha[0]+this.fecha[1]+"aa"+this.caracter+"mm"+this.caracter+"dd";
					this.numCaracteres=2;
				}else
					obj.value=this.fecha[0]+this.fecha[1]+this.fecha[2]+"a"+this.caracter+"mm"+this.caracter+"dd";
				break;
			case 4:
				er = new RegExp("[0-9]");
				this.fecha[3]=obj.value.charAt(10);
				if(!er.test(this.fecha[3])){
					alert("Solo puede ingresar números del 0 al 9");
					obj.value=this.fecha[0]+this.fecha[1]+this.fecha[2]+"a"+this.caracter+"mm"+this.caracter+"dd";
					this.numCaracteres=3;
				}else
					obj.value=this.fecha[0]+this.fecha[1]+this.fecha[2]+this.fecha[3]+this.caracter+"mm"+this.caracter+"dd";
				break;
			case 5:
				er = new RegExp("[0-1]");
				this.fecha[4]=obj.value.charAt(10);
				if(!er.test(this.fecha[4])){
					alert("Debe ingresar bien el mes");
					obj.value=this.fecha[0]+this.fecha[1]+this.fecha[2]+this.fecha[3]+this.caracter+"mm"+this.caracter+"dd";
					this.numCaracteres=4;
				}else
					obj.value=this.fecha[0]+this.fecha[1]+this.fecha[2]+this.fecha[3]+this.caracter+this.fecha[4]+"m"+this.caracter+"dd";
				break;
			case 6:
				if(this.fecha[4]==1)
					er = new RegExp("[0-2]");
				else
					er = new RegExp("[0-9]");
				this.fecha[5]=obj.value.charAt(10);
				if(!er.test(this.fecha[5])){
					alert("Debe ingresar bien el mes");
					obj.value=this.fecha[0]+this.fecha[1]+this.fecha[2]+this.fecha[3]+this.caracter+this.fecha[4]+"m"+this.caracter+"dd";
					this.numCaracteres=5;
				}else
					if(!(this.fecha[4]==0 && this.fecha[5]==0))
						obj.value=this.fecha[0]+this.fecha[1]+this.fecha[2]+this.fecha[3]+this.caracter+this.fecha[4]+this.fecha[5]+""+this.caracter+"dd";
					else{
						alert("Debe ingresar bien el mes");
						obj.value=this.fecha[0]+this.fecha[1]+this.fecha[2]+this.fecha[3]+this.caracter+this.fecha[4]+"m"+this.caracter+"dd";
						this.numCaracteres=5;
					}	
				break;
			case 7:
				er = new RegExp("[0-3]");
				this.fecha[6]=obj.value.charAt(10);
				if(!er.test(this.fecha[6])){
					alert("Solo puede ingresar números del 0 al 9");
					obj.value=this.fecha[0]+this.fecha[1]+this.fecha[2]+this.fecha[3]+this.caracter+this.fecha[4]+this.fecha[5]+""+this.caracter+"dd";
					this.numCaracteres=6;
				}else
					obj.value=this.fecha[0]+this.fecha[1]+this.fecha[2]+this.fecha[3]+this.caracter+this.fecha[4]+this.fecha[5]+""+this.caracter+this.fecha[6]+"d";
				break;
			case 8:
				if(this.fecha[6]==3)
					er = new RegExp("[0-1]");
				else
					er = new RegExp("[0-9]");
				this.fecha[7]=obj.value.charAt(10);
				if(!er.test(this.fecha[7])){
					alert("Debe ingresar bien el día");
					obj.value=this.fecha[0]+this.fecha[1]+this.fecha[2]+this.fecha[3]+this.caracter+this.fecha[4]+this.fecha[5]+""+this.caracter+this.fecha[6]+"d";
					this.numCaracteres=7;
				}else
					if(!(this.fecha[6]==0 && this.fecha[7]==0))
						obj.value=this.fecha[0]+this.fecha[1]+this.fecha[2]+this.fecha[3]+this.caracter+this.fecha[4]+this.fecha[5]+""+this.caracter+this.fecha[6]+this.fecha[7];
					else{
						alert("Debe ingresar bien el día");
						obj.value=this.fecha[0]+this.fecha[1]+this.fecha[2]+this.fecha[3]+this.caracter+this.fecha[4]+this.fecha[5]+""+this.caracter+this.fecha[6]+"d";
						this.numCaracteres=7;
					}
				this.str=obj.value;
				break;
			default:
				obj.value=this.str;
				break;
		}
		
	}
}