//-------------------------------------------------------------------------------------------------------------------------
function Cus_Controlar_Navegador() 
{
	//--DETECTO EL NAVEGADOR DEL CLIENTE Y SU VERSION
	var agent = navigator.userAgent.toLowerCase( );
	this.navegador = navigator.appName;
	this.major = parseInt(navigator.appVersion);
	this.minor = parseFloat(navigator.appVersion);
	this.ns = ((agent.indexOf('mozilla')!=-1) && ((agent.indexOf('spoofer')==-1) && (agent.indexOf('compatible') == -1)));
	this.ns2 = (this.ns && (this.major == 3));
	this.ns3 = (this.ns && (this.major == 3));
	this.ns4b = (this.ns && (this.minor < 4.04));
	this.ns4 = (this.ns && (this.major == 4));
	this.ns5 = (this.ns && (this.major == 5));
	this.ns6 = (this.ns && (this.major == 6));
	this.ns7 = (this.ns && (this.major >= 7));
	this.ie = ((agent.indexOf("msie") != -1) && (agent.indexOf("opera") == -1));
	this.ie3 = (this.ie && (this.major == 2));
	this.ie4 = (this.ie && (this.major == 4));
	this.ie5 = (this.ie && (this.major == 5));
	this.ie6 = (this.ie && (this.major >= 6));
	this.op3 = (agent.indexOf("opera") != -1);
	this.win = (agent.indexOf("win")!=-1);
	this.mac = (agent.indexOf("mac")!=-1);
	this.unix = (agent.indexOf("x11")!=-1);
} 
var xNavegadorCliente = new Cus_Controlar_Navegador();
//-------------------------------------------------------------------------------------------------------------------------
function AbrirVentanaModal(xPagina, xWidth, xHeight)
{
	var xCade, xWin;
	xCade = "dialogWidth:" + xWidth + "px; dialogHeight:" + xHeight + "px; help:no; center:yes; border:thin; status:no; scrollbars=no; toolbar=no; menubar=no;"
	var xVentanaAux = window.showModalDialog(xPagina, xWin, xCade);
	return (xVentanaAux);
}
//-------------------------------------------------------------------------------------------------------------------------
function AbrirVentana(mypage,w,h)
{
	var scroll = 'yes';
	var myname = 'xWindow';
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
	settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',toolbar=no';
	var win = null;
	win = window.open(mypage,myname,settings)
}
//-------------------------------------------------------------------------------------------------------------------------
function ControlarEliminar(xDireccion)
{
	xResultado = confirm("Confirma la eliminación del registro actual?\n\nRecuerde que la eliminación del mismo no puede deshacerse...")
	if (xResultado != "0"){
		window.location = xDireccion;
	}
}
//-------------------------------------------------------------------------------------------------------------------------
function Controlar()
{
	var xHayError = false;
	var xCadeError = '';
	for(i = 0 ; i < document.frm.length;i++)
	{
		e = document.frm.elements[i];
		if ((e.validar == 'si') && ((e.type == 'text') || (e.type == 'password') || (e.type == 'textarea') || (e.type == 'select-one')))
		{
			//--CONTROLO SEGUN EL TIPO DE DATO QUE TENGA
			switch (e.tipodato){
				case 'I' :
				//--DATO DE TIPO ENTERO
					if (isNaN(parseInt(e.value)))
					{
						xHayError = true;
						xCadeError = xCadeError + e.mensaje + '  [Numerical format/invalid selection]' + '\n';
					}
					else
					{
						if (parseInt(e.value) == 0)
						{
							xHayError = true;
							xCadeError = xCadeError + e.mensaje + '  [Numerical format/invalid selection]' + '\n';
						}
					}
					break;
				case 'F' :
				//--DATO DE TIPO FLOAT
					if (isNaN(parseFloat(e.value)))
					{
						xHayError = true;
						xCadeError = xCadeError + e.mensaje + '  [Invalid numerical format]' + '\n';
					}
					break;
				case 'C' :
				//--DATO DE TIPO CARACTER PURO (SIN NUMEROS)
					var xAux = new String(e.value);
					for (j = 0; j < xAux.length; j++)
					{
						var xCad = xAux.substr(j,1);
						if (!isNaN(parseInt(xCad)))
						{
							xHayError = true;
							xCadeError = xCadeError + e.mensaje + '  [it contains numbers]' + '\n';
							j = xAux.length;
						}
					}
					break;
				case 'D' :
				//--DATO DE TIPO DATE (FECHA dd/mm/AAAAA)
					var xAux = e.value;
					xDia=xAux.split("/")[0];
					xMes=xAux.split("/")[1];
					xAni=xAux.split("/")[2];
					if ((isNaN(xDia)) || (isNaN(xMes)) || (isNaN(xAni)))
					{
						xHayError = true;
						xCadeError = xCadeError + e.mensaje + '  [Remember that the correct format is dd/mm/AAAA]' + '\n'
					}
					else
					{
						//--DETERMINO SI EL AÑO ES BICIESTO
						var xFebrero;
						if (AnioBiciesto(1) == true)
						{
							xFebrero = 29;
						}
						else
						{
							xFebrero = 28;
						}
						//--SI EL MES ES DE 31 DIAS Y EL DIA INGRESADO ES MAYOR A 31
						if (((xMes==1) || (xMes==3) || (xMes==5) || (xMes==7) || (xMes==8) || (xMes==10) || (xMes==12)) && ((xDia<1) || (xDia>31)))
						{
							xHayError = true;
							xCadeError = xCadeError + e.mensaje + '  [Verify the entered day]' + '\n';
						}
						//--SI EL MES INGRESADO ES DE 30 DIAS E INGRESO CUALQUIERA
						if (((xMes==4) || (xMes==6) || (xMes==9) || (xMes==11)) && ((xDia<1) || (xDia>30)))
						{
							xHayError = true;
							xCadeError = xCadeError + e.mensaje + '  [Verify the entered day]' + '\n';
						}
						//--SI EL MES NO ES CUALQUIERA
						if ((xMes < 1) || (xMes > 12))
						{
							xHayError = true;
							xCadeError = xCadeError + e.mensaje + '  [Verify the entered month]' + '\n';
						}
						//--DIA SEGUN AÑO BICIESTO
						if ((xMes==2) && ((xDia<1) || (xDia>xFebrero)))
						{
							xHayError = true;
							xCadeError = xCadeError + e.mensaje + '  [Verify the entered day]' + '\n';
						}
						//--SI EL AÑO NO ES CUALQUIERA
						if ((xAni<1900) || (xAni>2100))
						{
							xHayError = true;
							xCadeError = xCadeError + e.mensaje + '  [Verify the entered year]' + '\n';
						}
					}
					break;
				case 'W' :
				//-- URL WEB
					var xAux = e.value;
					xDom=xAux.split(".")[0];
					var xWWW = new String(xDom);
					if (xWWW.length < 3)
					{
						xHayError = true;
						xCadeError = xCadeError + e.mensaje + '  [Verify the format of the direction of URL]' + '\n';
					}
					break;
				case 'E' :
				//--DIRECCION DE E-MAIL
					if (e.value == '')
					{
						xHayError = true;
						xCadeError = xCadeError + e.mensaje + '\n';
					}
					else
					{
						if (!ControlarEmail(e.value))
						{
							xHayError = true;
							xCadeError = xCadeError + e.mensaje + '  [Verify the format of the direction of E-Mail]' + '\n';
							break;
						}
					}
					break;
				default :
				//--CARACTER QUE PUEDE TENER NUMEROS PERO NO VACIO Y QUE NO SEA DE NINGUNO DE LOS TIPOS VALIDADOS
					if ((e.value == '') && (e.tipodato != 'I') && (e.tipodato != 'F') && (e.tipodato != 'C') && (e.tipodato != 'D') && (e.tipodato != 'W') && (e.tipodato != 'E'))
					{
						xHayError = true;
						xCadeError = xCadeError + e.mensaje + '\n';
					}
					break;
			}
		}
	}
	//-- MENSAJE DE ERROR
	if (xHayError) 
	{
		alert('Verify the following entered data:\n\n' + xCadeError);
	}
	else
	{
		document.frm.submit();
	}
}
//-------------------------------------------------------------------------------------------------------------------------
function ExportarXLS(xTitulo, xCampos, SQL)
{
	//-- ARMO LA DIRECCION QUE TIENE QUE ABRIR LA PAGINA
	var xDireccion = "ConexionXLS.asp?titulo=" + xTitulo + "&campos=" + xCampos + "&SQL=" + SQL;
	var xWin;
	var xx = window.showModalDialog(xDireccion, xWin, "dialogWidth:450px; dialogHeight:240px; help:no; center:yes; border:thin; status:no; scrollbars=no; toolbar=no; menubar=no; edge:sunken;");
}
//-------------------------------------------------------------------------------------------------------------------------
function AnioBiciesto(anyo)
{
	var xAux2 = (anyo % 4);
	if (xAux2 != 0)
		return (false);
	else
		return (true);
}
//-------------------------------------------------------------------------------------------------------------------------
function ControlarEmail(valor) 
{
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor))
	{
		return (true);
	} 
	else 
	{
		return (false);
	}
}
//-------------------------------------------------------------------------------------------------------------------------
function Cus_Deshabilitar()
{
	//--DESHABILITO TODOS LOS CAMPOS DE UN form
	for(i = 0 ; i < frm.length;i++)
	{
		e = frm.elements[i];
		if (((e.type == 'textarea') || (e.type == 'text') || (e.type == 'password') || (e.type == 'select-one') || (e.type == 'checkbox') || (e.type == 'radio')) && (e._xDeshabilitar == "si"))
		{
			e.disabled = true;
		}
	}
}
//-------------------------------------------------------------------------------------------------------------------------
function Cus_Habilitar()
{
	//--DESHABILITO TODOS LOS CAMPOS DE UN form
	for(i = 0 ; i < frm.length;i++)
	{
		e = frm.elements[i];
		if (((e.type == 'textarea') || (e.type == 'text') || (e.type == 'password') || (e.type == 'select-one') || (e.type == 'checkbox') || (e.type == 'radio')) && (e._xDeshabilitar == "si"))
		{
			e.disabled = false;
		}
	}
}
//-------------------------------------------------------------------------------------------------------------------------
function Cus_Cancelar()
{
	frm.reset();
	Cus_Deshabilitar();
}
//-------------------------------------------------------------------------------------------------------------------------
//----------- FUNCIONES DE FORMATEO DEL TXT EN LOS IMPUT ------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------
function Cus_Pintar(xObj)
{
	//--LO LLAMO DESDE EL "onFocus" Y DESDE EL "onClick" DE LOS IMPUT (PINTO TODO EL CONTENIDO)
	xObj.select();
}
//-------------------------------------------------------------------------------------------------------------------------
function Cus_Uppercase(xObj)
{
	//--LO LLAMO DESDE EL "onBlur" (CUANDO PIERDE EL FOCO LO TRANSFORMO EN MAYUSCULAS)
	xObj.value = xObj.value.toUpperCase();
}
//-------------------------------------------------------------------------------------------------------------------------
function Cus_Lowercase(xObj)
{
	//--LO LLAMO DESDE EL "onBlur" (CUANDO PIERDE EL FOCO LO TRANSFORMO EN MINUSCULAS)
	xObj.value = xObj.value.toLowerCase();
}
//-------------------------------------------------------------------------------------------------------------------------
function Cus_FormatFecha(xObj)
{
	//--HAY QUE LLAMARLA DESDE EL METODO "onKeyDown" DE LOS IMPUT (LE AGREGO LAS BARRAS AUTOMATICAMENTE)
	var xPos = xObj.value.length;
	if ((xPos == 2) || (xPos == 5))
	{
		xObj.value = xObj.value + "/" ;
	}
}
//-------------------------------------------------------------------------------------------------------------------------
function Cus_Round(value,tax) 
{
	var s = "" + (Math.round(value*100)/100);
	if (!tax)
	{
		if (s.indexOf(".") == s.length-2)
			s += "0";
		if (s.indexOf(".") == -1)
			s += ".00";
	}
	return s;
}
//--------------------------------------------------------------------------------------------------------------------------
function Cus_Cambiar_Tamanio()
{
	if(xNavegadorCliente.ns)
	{	
		var a = window.document.body.clientHeight
		if(a < 510)				
			window.parent.document.getElementById('frame').style.height = 510 ;	
		else
			 window.parent.document.getElementById('frame').style.height = a ;
	}
	if(xNavegadorCliente.ie)
	{		
		if (document.all.TablaCompleta.clientHeight < 510)
			 window.parent.document.getElementById('frame').style.height = 510;		
		else
			 window.parent.document.getElementById('frame').style.height = document.all.TablaCompleta.clientHeight ;
		/*
		if (document.all.TablaCompleta.clientHeight < 510)
			window.resizeTo(760,510);
		else
			window.resizeTo(760, document.all.TablaCompleta.clientHeight);	
		*/
	}
	if((xNavegadorCliente.op3) || (xNavegadorCliente.mac))
	{
		if (window.TablaCompleta.clientHeight < 510)
			 window.parent.document.getElementById('frame').style.height = 510 ;
		else
			 window.parent.document.getElementById('frame').style.height = window.TablaCompleta.clientHeight ;
	}
}
//------------------------------------------------------------------------------------------------------------------------------