var OK=true;
var netscape = "";
ver = navigator.appVersion; len = ver.length;
for(iln = 0; iln < len; iln++) if (ver.charAt(iln) == "(") break;
netscape = (ver.charAt(iln+1).toUpperCase() != "C");
//document.onkeydown = keyDown; // work together to analyze keystrokes
if (netscape) document.captureEvents(Event.KEYDOWN|Event.KEYUP);

//******************************************************************************
function isDigit(number) {

	if ((number == "1") || 
		(number == "2") || 
		(number == "3") ||
		(number == "4") ||
		(number == "5") ||
		(number == "6") ||
		(number == "7") ||
		(number == "8") ||
		(number == "9") ||
		(number == "0"))
		
		return true;
	
	return false;
}
		
//******************************************************************************
function form_ok(what) {
    var result = true;
    var output = '';
	var campo1=-1;
    for (var i=0, j=what.elements.length; i<j; i++) {
        myName = what.elements[i].name;
		if (myName.charAt(6)=="r" && what.elements[i].value=='') 		
			 {
			 	if (campo1==-1) campo1=i;
                output += 'Campo "' + myName.substr(7) + '" vacio.' + '\n';
                result = false;
            }
        } 
    if (output != ''){
    //    alert(output);
		what.elements[campo1].focus();
	}
    return result;
}

//****************************************************************************** && !document.all[e].disabled

function go() {
for (e=0;e<document.all.length;e++){

if ((document.all[e].tagName=="INPUT" && (document.all[e].type=="text"  || document.all[e].type=="password" )) || (document.all[e].tagName=="TEXTAREA")) {
	document.all[e].tabIndex=e;
	
	if (document.all[e].name.indexOf('txtDTM') > -1) {
		document.all[e].attachEvent("onblur",ValidaFecha1);
		document.all[e].attachEvent("onkeypress",ValidaFecha2);		
		//document.all[e].size="10";		
		document.all[e].maxLength="10";		
	}
	if (document.all[e].name.indexOf('txtHOR') > -1) {
		document.all[e].attachEvent("onblur",ValidaHora2);
		document.all[e].attachEvent("onkeypress",ValidaHora);		
		document.all[e].size="5";		
		document.all[e].maxLength="5";		
	}
	if (document.all[e].name.indexOf('txtCCC') > -1) {
		document.all[e].attachEvent("onblur",ValidaCCC2);
		document.all[e].attachEvent("onkeypress",ValidaCCC);		
		document.all[e].size="29";		
		document.all[e].maxLength="23";		
	}		
	if (document.all[e].name.indexOf('txtINT') > -1) {
		document.all[e].attachEvent("onblur",ValidaInteger);		
	}
	if (document.all[e].name.indexOf('txtLNG') > -1) {
		document.all[e].attachEvent("onblur",ValidaLong);		
	}
	if (document.all[e].name.indexOf('txtBYT') > -1) {
		document.all[e].attachEvent("onblur",ValidaByte);		
	}	
	if (document.all[e].name.indexOf('txtDBL') > -1) {
		document.all[e].attachEvent("onblur",ValidaDouble);		
	}	
	if (document.all[e].name.indexOf('txtSTR') > -1) {
		document.all[e].attachEvent("onblur",ValidaString);		
	}
	if (document.all[e].name.indexOf('txtTAR') > -1) {
		document.all[e].attachEvent("onblur",ValidaString);		
	}
	if (document.all[e].name.indexOf('txtTFN') > -1) {
		document.all[e].attachEvent("onblur",ValidaTelefono);		
		document.all[e].attachEvent("onkeypress", telefonoFormat);
	}	
	if (document.all[e].name.indexOf('txtNIF') > -1) {
		document.all[e].attachEvent("onblur",ValidaNIF);		
		document.all[e].attachEvent("onkeypress",NIFFormat);		
	}	
	if (document.all[e].name.indexOf('txtCIF') > -1) {
		document.all[e].attachEvent("onblur",ValidaCIF);		
		document.all[e].attachEvent("onkeypress",CIFFormat);		
	}	
	if (document.all[e].name.indexOf('txtCIA') > -1) {
		document.all[e].attachEvent("onblur",ValidaCIAL);		
//		document.all[e].attachEvent("onkeypress",CIALFormat);		
	}	
	document.all[e].attachEvent("onblur",PF);
	document.all[e].attachEvent("onfocus",CF);
	
	if (document.all[e].name!="ACH"){	
		if (document.all[e].name=="txtPwdLogon")
		{
			document.all[e].attachEvent("onkeypress",SubmitLogin);		
		}
		else
			document.all[e].attachEvent("onkeydown",keyDown);
		}//textbox
	}	
if (document.all[e].tagName=="INPUT" && document.all[e].type=="checkbox" && !document.all[e].disabled) {
	document.all[e].tabIndex=e;
	if (document.all[e].name.indexOf('chkBLN') > -1) {
		//document.all[e].checked=false;
		//document.all[e].value=false;		
		document.all[e].attachEvent("onclick",ValidaBoolean);
	}
	}//checkbox	
}//for
}//función


//*********************************************************************************************
function ValidaBoolean() {
if (event.srcElement.checked) {
	event.srcElement.value="true";
}else{
	event.srcElement.value="false";
}
//alert(event.srcElement.name + "= " + event.srcElement.value);
}
//*********************************************************************************************
function ValidaInteger() {
if (event.srcElement.name.charAt(6)=="r" && OK) OK=checkField(event.srcElement, isInteger, false);
if (event.srcElement.name.charAt(6)=="x" && OK) OK=checkField(event.srcElement, isInteger, true);
}
//*********************************************************************************************
function ValidaLong() {
if (event.srcElement.name.charAt(6)=="r" && OK) OK=checkField(event.srcElement, isLong, false);
if (event.srcElement.name.charAt(6)=="x" && OK) OK=checkField(event.srcElement, isLong, true);
}
//*********************************************************************************************
function ValidaByte() {
if (event.srcElement.name.charAt(6)=="r" && OK) OK=checkField(event.srcElement, isByte, false);
if (event.srcElement.name.charAt(6)=="x" && OK) OK=checkField(event.srcElement, isByte, true);
}
//*********************************************************************************************
function ValidaDouble() {
if (event.srcElement.name.charAt(6)=="r" && OK) OK=checkField(event.srcElement, isDouble, false);
if (event.srcElement.name.charAt(6)=="x" && OK) OK=checkField(event.srcElement, isDouble, true);
}
//*********************************************************************************************
function ValidaString() {
if (event.srcElement.name.charAt(6)=="r" && OK) OK=checkField(event.srcElement, isName, false);
if (event.srcElement.name.charAt(6)=="x" && OK) OK=checkField(event.srcElement, isName, true);
}
//*********************************************************************************************
function ValidaTelefono() {
if (event.srcElement.name.charAt(6)=="r" && OK) 
	OK=checkField(event.srcElement, isTelefono, false);
if (event.srcElement.name.charAt(6)=="x" && OK) 
	OK=checkField(event.srcElement, isTelefono, true);
}
//*********************************************************************************************
function SubmitLogin()
{
	var Pass;
	Pass = event.srcElement;
	if (Pass.value.length>0)
	{
		if (Pass.value.charAt(Pass.value.length-1)=='\n') document.forms('frmLogin').submit();
	}
}

function telefonoFormat() {
	var telefono;
	
	telefono = event.srcElement;
	if (telefono.value.length == 3)
		telefono.value = telefono.value + "-"
	
}

function NIFFormat()
{
	var NIF;
	
	NIF = event.srcElement;
	NIF.value = stripCharsNotInBag( NIF.value, digits+uppercaseLetters+'*' );
}

function CIFFormat()
{
	var CIF;
		
	CIF = event.srcElement;
	CIF.value = stripCharsNotInBag( CIF.value, digits+uppercaseLetters );
}

function CIALFormat()
{
	var CIAL;
		
	CIAL = event.srcElement;
	CIAL.value = stripCharsNotInBag( CIAL.value, digits+uppercaseLetters );
}

//*********************************************************************************************
function ValidaNIF(){
if (event.srcElement.name.charAt(6)=="r" && OK) OK=checkField(event.srcElement, isNIF, false);
if (event.srcElement.name.charAt(6)=="x" && OK) OK=checkField(event.srcElement, isNIF, true);
if (event.srcElement.name.charAt(6)=="w" && OK)  if (!isNIF(event.srcElement)) alert("El campo no es un NIF válido");
}

//*********************************************************************************************
function ValidaCIF(){
if (event.srcElement.name.charAt(6)=="r" && OK) OK=checkField(event.srcElement, isCIF, false);
if (event.srcElement.name.charAt(6)=="x" && OK) OK=checkField(event.srcElement, isCIF, true);
if (event.srcElement.name.charAt(6)=="w" && OK)  if (!isCIF(event.srcElement)) alert("El campo no es un CIF válido");
}

//*********************************************************************************************
function ValidaCIAL(){
if (event.srcElement.name.charAt(6)=="r" && OK) OK=checkField(event.srcElement, isCIAL, false);
if (event.srcElement.name.charAt(6)=="x" && OK) OK=checkField(event.srcElement, isCIAL, true);
if (event.srcElement.name.charAt(6)=="w" && OK)  if (!isCIAL(event.srcElement)) alert("El campo no es un CIAL válido");
}

//*********************************************************************************************
function ValidaFecha1() {
OK=DateFormat(event.srcElement,event.srcElement.value,event,true,"3");
if (event.srcElement.name.charAt(6)=="r" && (event.srcElement.value.length==0)) OK=checkField(event.srcElement, isEmpty, false);
}

//*********************************************************************************************
function ValidaFecha2() {
OK=DateFormat(event.srcElement,event.srcElement.value,event,false,"3");
}
//*********************************************************************************************
function ValidaCCC(){
	OK=CCCFormat(event.srcElement);
}
function ValidaCCC2(){
	OK=CCCOK(event.srcElement);
}
//*********************************************************************************************

function ValidaHora() {
OK=HourFormat(event.srcElement);
}

function ValidaHora2() {
OK=HourOK(event.srcElement);
}


//*********************************************************************************************

function remplazar(objeto,v, n) { //v4.0
	var c = objeto.value;
	var buf ='';
	for (var i = 0 ; i <= c.length ; i++) {
	if (c.charCodeAt(i) == v ) {
		//var x = new ;
		buf =buf + String.fromCharCode(n);
		} else {	
		buf =buf + c.substr(i,1);	
		}
	}
	objeto.value = buf;
	return true;
 }

//**********************************************************************************************

function PF() {
<!-- event.srcElement.style.backgroundColor="white"; -->
event.srcElement.style.backgroundColor = "#DDE5ED";
}

//**********************************************************************************************
function CF() {
OK=true;
<!-- event.srcElement.style.backgroundColor="yellow"; -->
event.srcElement.style.backgroundColor="#FFE26C";
}

//**********************************************************************************************

function keyDown(DnEvents) { // handles keypress
// determines whether Netscape or Internet Explorer
var i;
k = (netscape) ? DnEvents.which : window.event.keyCode;
if (k == 13) { // enter key pressed
//alert(event.srcElement.tabIndex);
i=1;
while (event.srcElement.tabIndex+i < document.all.length && (document.all[event.srcElement.tabIndex+i].tagName!="INPUT" || document.all[event.srcElement.tabIndex+i].type!="text" || document.all[event.srcElement.tabIndex+i].disabled==true)) i=i+1;
if (event.srcElement.tabIndex+i < document.all.length) {
document.all[event.srcElement.tabIndex+i].focus();
}
return false;
   }
}

//**********************************************************************************************
function HourFormat(campo) {
var alphaCheck = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/-";
var hora=0;
var minuto=0;
if (alphaCheck.indexOf(campo.value) >= 1) {
if (isNav4) {
campo.value = "";
campo.focus();
campo.select();
return false;
}
else {
campo.value = campo.value.substr(0, (campo.length-2));
return false;
   }
}
//alert(campo.value.length);
//alert(campo.value.substr(0,1));
hora=campo.value.substr(0,2);
minuto=campo.value.substr(3,2);
if (campo.value.length==1 && (campo.value.substr(0,1)<0 || campo.value.substr(0,1)>2)){
campo.value = "";
}
if (campo.value.length==2 && hora>=0 && hora<24){
campo.value = campo.value.substr(0,2)+':';
}
else {
if (campo.value.length==2) campo.value=campo.value.substr(0, 1);
   }
if (campo.value.length==4 && (campo.value.substr(3,1)<0 || campo.value.substr(3,1)>5)){
campo.value = campo.value.substr(0, 3);
}
if (campo.value.length==5 && (campo.value.substr(4,1)<0 || campo.value.substr(4,1)>9)){
campo.value = campo.value.substr(0, 4);
}   
if (campo.value.length==5 && minuto<0 && minuto>59){
if (campo.value.length==5) campo.value.substr(0, 2);
   }
}

function CCCFormat(campo)
{
	if (campo.value.length==4) campo.value = campo.value + ' ';
	if (campo.value.length==9) campo.value = campo.value + ' ';
	if (campo.value.length==12) campo.value = campo.value + ' ';
}



//**********************************************************************************************
function HourOK(campo) {
var hora=0;
var minuto=0;
if (campo.name.charAt(6)=="r" && OK && campo.value.length==0){
	alert('Error: no puede dejar este campo vacio');
	campo.focus();
	campo.select();
	return false;
}

if (campo.name.charAt(6)=="x" && campo.value.length==0){
	return true;
}
if (campo.value.length!=5 || campo.value.substr(2,1)!=":") {
	alert('Hora Incorrecta.');
	campo.focus();
	campo.select();
	return false;
}
hora=campo.value.substr(0,2);
minuto=campo.value.substr(3,2);
if (hora<0 || hora>23 || minuto<0 || minuto>59 || isNaN(minuto) || isNaN(hora)){ //Belarmino 08_08_02
	alert('Hora Incorrecta.');
	campo.focus();
	campo.select();
	return false;
}
return true;
}

function CCCOK( campo )
{
	var CCC = campo.value;
		
	if (CCC.length==23)
	{
		// Validamos el dígito de control para el Banco y sucursal
		var DC1 = parseInt(CCC.charAt(10));
		var DC2 = parseInt(CCC.charAt(11));
		var DC1Ok = ObtenerDigitoControl('00' + CCC.substr(0,4) + CCC.substr(5,4));
		var DC2Ok = ObtenerDigitoControl(CCC.substr(13,10));
				
		//alert('La Cuenta ' + CCC + ' es  Incorrecta. Los dígitos de control deberían ser ' + DC1Ok + DC2Ok );		
		if (!(DC1==DC1Ok && DC2==DC2Ok))
			alert('La Cuenta ' + CCC + ' es  Incorrecta. ' );
	} 
	else
		if (CCC.length>0)	alert('Faltan dígitos para completar la cuenta corriente');
		
	
	return true;
}

// Calcula el dígito de control
 function ObtenerDigitoControl(valor){
 var valores;
 var control;
 var i;
  valores = new Array(1, 2, 4, 8, 5, 10, 9, 7, 3, 6);
  control = 0;
  for (i=0; i<=9; i++)
    control += parseFloat(valor.charAt(i)) * valores[i];
  control = 11 - (control % 11);
  if (control == 11) control = 0;
  else if (control == 10) control = 1;
  return control;
}

function GetBrowser()
{
    var agt=navigator.userAgent.toLowerCase();
    var is_major = parseInt(navigator.appVersion);
    var is_minor = parseFloat(navigator.appVersion);
   	var is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
    var is_ie3    = (is_ie && (is_major < 4));
    var is_ie4    = (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1) );
    var is_ie4up  = (is_ie && (is_major >= 4));
    var is_ie5    = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
    var is_ie5_5  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") !=-1));
    var is_ie5up  = (is_ie && !is_ie3 && !is_ie4);
    var is_ie5_5up =(is_ie && !is_ie3 && !is_ie4 && !is_ie5);
    var is_ie6    = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) );
    var is_ie6up  = (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && !is_ie5_5);

	if (netscape) 
		return 0;
			else	
				if (!is_ie6up)
					{
						if (!is_ie5up)
						return 0; // Invalid navigator
							else return 5; // IE5up
					} else return 6; // IE6up
}







