// 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 blanco
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;
	}
}

// Si la cadena tiene decimales los deja en dos.
function pondosdecimales(cantidad){
	var valor = cantidad.toString();
	var result;
	if(valor.charAt(2) != ","){
		result = (valor.substring(0,4));
	}else{
		result = (valor.substring(0,5));
	}
	return (result);
}

// 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;
	}
}

// paso de ptas a euros
function ptasaeuros(pesetas){
	var valorpeseta = 0.00601012;
	var resultado;
	resultado = eval(pesetas * valorpeseta);
	return corregir_decimales(resultado,'si','si');
}

// corrige decimales
function corregir_decimales(total,corregir,dec){
	var result=Math.floor(total)+',';
	var cents=100*(total-Math.floor(total))+0.5;
	result += Math.floor(cents/10);
	result += Math.floor(cents%10);
	var valor="";
	var pasos=0;
	var x=result.length-1;
	if (corregir!="no"){
	while (x>=0){
		if (result.charAt(x)!=","){
			if (pasos==3){
				valor = result.charAt(x) + "." + valor;
				pasos = 0;
			}else{
				 valor = (result.charAt(x)) + valor;
			};        pasos = pasos + 1;
		   x = x - 1;    }else{
		pasos=0;
		valor = (result.charAt(x)) + valor
		x = x - 1;
		};};
		if (dec!='no'){
			return valor;
		}else{
			return valor.substring(0,valor.length-3);
		}
	}else{
		if (dec!='no'){
			return result;
		}else{
			return result.substring(0,result.length-3);
		};
	};
};

