
function CadenaCortar(posicioninicio,posicionfin,cadena){
	var texto = cadena
	texto =  String(texto).substr(posicioninicio,posicionfin);
	return texto;
	}


// está funcion calcula si el tamaño coincide
function longitud(cadena,tamano){
	var cadena=String(cadena).toString();
	var cadena=(cadena.length);
	if(cadena <= tamano){
		return true;
	}else{
		return false;
	}
}


// Está funcion formatea cadenas para ponerle los miles 
// Ej. se pasa 1000 y devuelve 1.000 
function PoneMiles(cadena1)
{
	var cadena=cadena1.toString();
	var len=(cadena.length);
	var lenC=(len%3);
	
	if (lenC==0)
		lenC+=3;
		
	newe = cadena.substring(0,lenC);
	while (lenC!=len)
	{
		newe += "." + cadena.substring(lenC,lenC+3);
		lenC+=3;
	}
	
	return (newe);
}
// Quita los miles
function QuitaMiles(cadena1){
	var cadena = cadena1.toString();
	var busca = /\./gi;
	cadena = cadena.replace(busca,'');
	return (cadena);
}
// Sustituye , por .
function comaXpunto(cadena1){
	var cadena = cadena1.toString();
	cadena = cadena.replace(',','.')
	return (cadena);
}
// Comprueba que los campos no empiezen por espacio ni esten en blaco
function CompruebaCadenas(valor){
	if(Longuitudcero(valor) == true || EmpiezaXespacio(valor) == true){
		return false;
	}else{
		return true;
	}
}

// Comprueba que el tamaño de la cadena no sea 0
function Longuitudcero(valor){
	tamano = valor
	if(tamano.length < 1){
		return true;
	}else{
		return false;
	}
}

// Comprueba que la cadena no empieze por espacio
function EmpiezaXespacio(valor){
	var cadena = valor
	if(cadena.charAt(0) == " "){
		return true;
	}else{
		return false;
	}
}
//Esta funcion comprueba que el formato sea dd/mm/aaaa
function NoFormatoFecha(valor){
	cadena = valor
	var vOk = false;
	if (cadena.length != 10){
		 vOk = true; 
	}else{
  		var campos = cadena.split("/");
		if(campos.length != 3){
			vOk = true;
		}else{
			  for (var i=0; i < campos.length; i++) {
				// comprobamos que son números 
				if(isNaN(parseInt(campos[i]))) vOk = true;
						
			  }
			  // comprobamos que la longuitud es correcta
			  if(campos[0].length != 2 || campos[1].length != 2 || campos[2].length != 4 ) vOk = true;	
		}
	}
	return vOk;
}
// comprueba que la fecha sea correcta
function CompruebaFechas(valor){
	if(Longuitudcero(valor) || NoFormatoFecha(valor)){
		return false;
	}else{
		return true;
	}
}
// Devuelve una cadena desde la posición n, con c caracteres
// Si c = 0 devolver toda la cadena desde la posición n
function Mid(s, n, c){
	
	var numargs=Mid.arguments.length;
	
	// Si sólo se pasan los dos primeros argumentos
	if(numargs<3)
		c=s.length-n+1;
		
	if(c<1)
		c=s.length-n+1;
	if(n+c >s.length)
		c=s.length-n+1;
	if(n>s.length)
		return "";
		
	return s.substring(n-1,n+c-1);
}
//Devuelve la resta entre fechas (fecha1 - fecha2);
function RestaFechas(fecha1,fecha2){

	var fec1;
	var fec2;
	var dif;
	// cogemos la fecha1 en dd/mm/aaaa
	var mes1 = Mid(fecha1,4,2);
	var dia1 = Mid(fecha1,1,2);
	var ano1 = Mid(fecha1,7,4);
	
	var vfecha1 = mes1 + "/" + dia1 + "/" + ano1; // ponemos la fecha1 en mm/dd/aaaa
	
	// cogemos la fecha2 en dd/mm/aaaa
	var mes2 = Mid(fecha2,4,2);
	var dia2 = Mid(fecha2,1,2);
	var ano2 = Mid(fecha2,7,4);

	var vfecha2 = mes2 + "/" + dia2 + "/" + ano2; // ponemos la fecha2 en mm/dd/aaaa

	fec1 = new Date(vfecha1);
	fec2 = new Date(vfecha2);
	dif = fec1 - fec2;
	return dif;
}
// comprueba que la dirección de e-mail sea correcta
function valida_email(str_email)
{

	var patron;

	patron=/-*@\w+-*\w+\.\w+/g;
	if (str_email.search(patron)==-1){
		return false;
	}

	if (str_email.search(" ")!=-1){
		return false;
	}
	if (str_email.length<5){
		return false;
	}

	return true;
} 
// comprueba si es un numero
function esNumero(n){

	cadena = n;
	var comas = 0;
	for (var i = 0; i < cadena.length; i++){
		var caracter = cadena.charAt(i);
		if (caracter < "0" || caracter > "9"){
			if(caracter != "."){
				if(caracter != ","){	
			
					return false;
				}else{
					comas++;
				}
			}			
		}
	}
	if(comas > 1){
		return false;
	}else{
		return true;
	}
}


// comprueba que los numero pasados estan en rango
function enRango(desde,hasta,valor){

	num = parseInt(valor);
	if (esNumero(valor)){
		if ((desde > num) || (hasta < num)){
			return false; 
		}
	return true;
	}
}
