/* formexp.js compiled from X 4.0 with XC 0.27b. Distributed by GNU LGPL. For copyrights, license, documentation and more visit Cross-Browser.com */
var xOp7Up,xOp6Dn,xIE4Up,xIE4,xIE5,xNN4,xUA=navigator.userAgent.toLowerCase();if(window.opera){var i=xUA.indexOf('opera');if(i!=-1){var v=parseInt(xUA.charAt(i+6));xOp7Up=v>=7;xOp6Dn=v<7;}}else if(navigator.vendor!='KDE' && document.all && xUA.indexOf('msie')!=-1){xIE4Up=parseFloat(navigator.appVersion)>=4;xIE4=xUA.indexOf('msie 4')!=-1;xIE5=xUA.indexOf('msie 5')!=-1;}else if(document.layers){xNN4=true;}xMac=xUA.indexOf('mac')!=-1;function xDef(){for(var i=0; i<arguments.length; ++i){if(typeof(arguments[i])=='undefined') return false;}return true;}function xDisplay(e,s){if(!(e=xGetElementById(e))) return null;if(e.style && xDef(e.style.display)) {if (xStr(s)) e.style.display = s;return e.style.display;}return null;}function xGetElementById(e){if(typeof(e)!='string') return e;if(document.getElementById) e=document.getElementById(e);else if(document.all) e=document.all[e];else e=null;return e;}function xStr(s){for(var i=0; i<arguments.length; ++i){if(typeof(arguments[i])!='string') return false;}return true;}
// Funcion para escribir texto en una capa
// Ejemplo: escribeEnCapa ("capa", "Aquí va el texto", null)
// capaReferencia indica la capa en la que está situada la capa 
// que queremos modificar. Sólo valdría distinto de nulo cuando tuviésemos capas anidadas.
function escribeEnCapa (id,texto,capaReferencia) {
var capa
ns4 = (document.layers)? true:false;
ie4 = (document.all)? true:false;
   
if (ns4) 
{
	if (capaReferencia)
		capa = eval ('document.'+capaReferencia+'.document.'+id+'.document');
	else
		capa = document.layers[id].document;
		
	capa.open();
	capa.write(texto);
	capa.close();
}
else
	if (ie4) 
		document.all[id].innerHTML = texto;
}

// Funciones para manejar caracteres en cuadros de texto

// Cuenta caracteres de un campo de texto y escribe su numero en otro
function cuentaCar(Formulario,CuadroTxt,CuadroCuenta,maxCar) { 
	var numCar = document.forms[Formulario].elements[CuadroTxt].value.length
	if (numCar > maxCar) {
		numCar = maxCar;
		document.forms[Formulario].elements[CuadroTxt].value = document.forms[Formulario].elements[CuadroTxt].value.substr(0,maxCar);
	}
	document.forms[Formulario].elements[CuadroCuenta].value = numCar
}
// Formatea una cantidad numérica, según se va introduciendo con el teclado
// Formato final:  1.234.000,00 €
function formateaCifra(formulario,cuadroTxt) {
	
	//Calculamos la longitud de la cifra
	var cadenaEntrada = document.forms[formulario].elements[cuadroTxt].value
	var longitud = cadenaEntrada.length
	var cadenaSalida = ""
	var caracter
	var nums = 0
	var puntos = 0

	for (i=longitud-1 ; i >= 0 ; i--) {
		caracter = cadenaEntrada.charAt(i)
		if (!isNaN(parseInt(caracter))) {//Es decir, si es un entero
			nums++
			if (nums>3) {
				cadenaSalida = "." + cadenaSalida
				nums = 1
			}
			cadenaSalida = caracter + cadenaSalida
		} else if ( ((caracter == ".") || (caracter == ",")) && (puntos == 0) ) {
			nums = 0
			puntos++
			cadenaSalida = "," + cadenaSalida
		} else {
			alert("Formato de cifra incorrecto. Formato correcto: 12342.45") 
       		document.forms[formulario].elements[cuadroTxt].focus() 
       		return 0; 
		}
	}

	document.forms[formulario].elements[cuadroTxt].value = cadenaSalida
}

// Comprobamos el formato de expediente introducido
// Formato correcto: 7.5.x.xxx o 7.9.x.xxx
function formateaMedida(formulario,cuadroTxt) {
	
	//Calculamos la longitud de la cifra
	var cadenaEntrada = document.forms[formulario].elements[cuadroTxt].value
	var longitud = cadenaEntrada.length
	var cadenaSalida = ""
	var caracter
	var carSalida = 0
	var flag = false
	
	for (i=0;(i<longitud)&&(carSalida<=7);i++) {
		caracter = cadenaEntrada.charAt(i)
		if (!isNaN(parseInt(caracter))) {//Es decir, si es un entero
			flag = false
			carSalida++
			if (carSalida == 3) {
				if (caracter == "1")
					flag = true
				else if (caracter != "0") {
					carSalida++
					cadenaSalida = cadenaSalida + "0"
				}
				else // Caracter == "0"
					flag = true
			}
			cadenaSalida = cadenaSalida + caracter
			if ((carSalida<=4)&&(!flag))
				cadenaSalida = cadenaSalida + "."
		}
	}
	document.forms[formulario].elements[cuadroTxt].value = cadenaSalida	
	if (carSalida<7) {
		alert("Numero de expediente incompleto. Formato correcto: 7.x.x.xxx") 
   		document.forms[formulario].elements[cuadroTxt].focus() 
   		return 0; 
	}
}
