function Poner_Dos_Puntos(src){
	if (SoloNumeros()){
		if (src.value.length==2){
			src.value = src.value + ":";
		}
	}
}

function Borrar_Caja(src){
	if (!src.readOnly){
		var code = window.event.keyCode
		if ((code==8)||(code==46)){
			src.value = ""
		}
	}
}

function Poner_Guion(src){
	if (SoloNumeros()){
		if ((src.value.length==4)||(src.value.length==7)){
			src.value = src.value + "-";
		}
	}
}

function Borrar_Guion(src){
	if (!src.readOnly){
		var code = window.event.keyCode
		if ((code==8)||(code==46)){
			src.value = ""
		}
	}
}

function SoloNumeros(){
	var code
	code = window.event.keyCode
	if ((code>=48)&&(code<=57)){
		window.event.keyCode = code
		return true
	}else{
		window.event.keyCode = ""
		return false
	}
}

function SoloNumerosDec(){
	var code
	code = window.event.keyCode
	if (((code>=48)&&(code<=57))||(code==44)||(code==45)){
		window.event.keyCode = code
	}else{
		window.event.keyCode = ""
	}
}


function Ucase(){
	var code
	code = window.event.keyCode
	if ((code!=39)&&(code!=34)){
		if ((code>=97)&&(code<=122)){
			window.event.keyCode = code-32
		}
	}else{
		window.event.keyCode = ""
	}
}

function trim(str){
	var cadena = String(str);
	var nuevaCadena = String(str);
	var i = 0;	
	while (cadena.charAt(i) == " "){
		i++;
		nuevaCadena = cadena.substring(i,cadena.length - 1);
	}
	cadena = nuevaCadena;
	i = cadena.length - 1;
	while (cadena.charAt(i) == " "){
		nuevaCadena = cadena.substring(0,i);
		i--;
	}
	cadena = nuevaCadena;
	return cadena;
}

function abrirVentana(archivo,nombre,settings){
	window.open(archivo,nombre,settings);
}

function isPosInteger(inputVal){
	var inputStr;
	var oneChar;
	inputStr = inputVal.toString();
	if (trim(inputStr) == ""){
		return false;
	}
	for (var i = 0; i < inputStr.length; i++){
		oneChar = inputStr.charAt(i);
		if (oneChar < "0" || oneChar > "9"){
			return false;
		}
	}
	return true;
}

function isNumber(inputVal){
	var inputStr;
	var oneChar;
	var oneDecimal;
	oneDecimal = false;
	inputStr = inputVal.toString();
	if (trim(inputStr) == ""){
		return false;
	}
	for (var i = 0; i < inputStr.length; i++){
		oneChar = inputStr.charAt(i);
		if (oneChar == "," && !oneDecimal){
			oneDecimal = true;
			continue;
		}
		if (oneChar < "0" || oneChar > "9"){
			return false;
		}
	}
	return true;
}

function isNumber1(inputVal){
	var inputStr;
	var oneChar;
	var oneDecimal;
	oneDecimal = false;
	inputStr = inputVal.toString();
	for (var i = 0; i < inputStr.length; i++){
		oneChar = inputStr.charAt(i);
		if (oneChar == "," && !oneDecimal){
			oneDecimal = true;
			continue;
		}
		if (oneChar < "0" || oneChar > "9"){
			if (oneChar != "-" && i != 0)
			{
				return false;				
			}			
		}
	}
	return true;
}



function isDate(inputVal){
	var inputStr;
	var numDelim;	
	var oneChar;
	var correctFormat;
	var i;
	var indexDelim1;
	var indexDelim2;
	var dd;
	var mm;
	var aaaa;
	var maxDay;
	
	inputStr = inputVal.toString();
	
	//revisa si hay más de ocho caracteres
	if (inputStr.length != 10){
		return false;
	}

	numDelim = 0
	correctFormat = true;

	//revisa si no hay letras u otros caracteres además de números y slash
	for (i = 0; i < inputStr.length; i++){
		oneChar = inputStr.charAt(i);
		if (oneChar < "0" || oneChar > "9"){
			if (oneChar != "-"){
				correctFormat = false;
			}else{
				numDelim = numDelim + 1
			}
		}
	}
	
	//revisa si existen mas de dos delimitadores
    if (numDelim != 2){
		return false;
	}	
	
	if (correctFormat == false){
		return false;
	}

	//inicio de la comprobación
	indexDelim1 = inputStr.indexOf("-");
	indexDelim2 = inputStr.lastIndexOf("-");

	if (indexDelim1 != 4 || indexDelim2 != 7){
		return false;
	}
	aaaa = parseInt(inputStr.substring(0,indexDelim1),10);
	mm = parseInt(inputStr.substring(indexDelim1 + 1,indexDelim2),10);
	dd = parseInt(inputStr.substring(indexDelim2 + 1,inputStr.length),10);
	if (mm < 1 || mm > 12){
		return false;
	}
	switch (mm){
		case 1: 
			maxDay = 31;
			break;
		case 2:
			if (aaaa % 4 == 0){
				maxDay = 29;
			}
			else {
				maxDay = 28;
			}
			break;
		case 3:
			maxDay = 31;
			break;
		case 4:
			maxDay = 30;
			break;
		case 5:
			maxDay = 31;
			break;
		case 6:
			maxDay = 30;
			break;
		case 7:
			maxDay = 31;
			break;
		case 8:
			maxDay = 31;
			break;
		case 9:
			maxDay = 30;
			break;
		case 10:
			maxDay = 31;
			break;
		case 11:
			maxDay = 30;
			break;
		case 12:
			maxDay = 31;
			break;
	}
	if (dd > maxDay){
		return false;
	}
	return true;
}

function isTime(pValue){
	var inputStr
	var oneChar
	var i
	var correctFormat
	var numDelim
	var indexDelim1
	var hh
	var mm

	inputStr = pValue.toString()
	//revisa si hay más de cinco caracteres
	if (inputStr.length > 5 || inputStr.length < 4){
		return false
	}
	//revisa si no hay letras u otros caracteres además de números y ':'
	numDelim = 0
	correctFormat = true;
	for (i = 0; i < inputStr.length; i++){
		oneChar = inputStr.charAt(i);
		if (oneChar < "0" || oneChar > "9"){
			if (oneChar != ":"){
				correctFormat = false;
			}else{
				numDelim = numDelim + 1
			}
		}
	}
	
	//revisa si existen mas de dos delimitadores
    if (numDelim != 1){
		return false;
	}	
	
	if (correctFormat == false){
		return false;
	}

	//inicio de la comprobación
	indexDelim1 = inputStr.indexOf(":");

	hh = parseInt(inputStr.substring(0,indexDelim1),10);
	mm = parseInt(inputStr.substring(indexDelim1 + 1,inputStr.length),10);

	if (hh > 23){
		return false
	}
	if (mm > 59){
		return false
	}
	return true
}

function isType(extension,archivo){
	var strArchivo;
	var lastPosPoint;
	var strExtensionArchivo;
	var strExtensionPrueba;
	strExtensionPrueba = trim(extension.toString());
	strArchivo = trim(archivo.toString());
	lastPosPoint = strArchivo.lastIndexOf(".");
	if (lastPosPoint == -1){
		return false;
	}
	strExtensionArchivo = strArchivo.substring(lastPosPoint + 1,strArchivo.length);
	if (strExtensionArchivo != strExtensionPrueba){
		return false;
	}
	return true;
}