// QuitaAcentos
function QuitaAcentos(cadena){
	var texto = "";
	for(x=0; x <= cadena.length; x++){		
		if(cadena.charAt(x) == 'á' || cadena.charAt(x) == 'Á'){
			texto = texto + "A"
		}else if(cadena.charAt(x) == 'é' || cadena.charAt(x) == 'É'){
			texto = texto + "E"
		}else if(cadena.charAt(x) == 'í' || cadena.charAt(x) == 'Í'){
			texto = texto + "I"
		}else if(cadena.charAt(x) == 'ó' || cadena.charAt(x) == 'Ó'){
			texto = texto + "O"				
		}else if(cadena.charAt(x) == 'ú' || cadena.charAt(x) == 'Ú'){
			texto = texto + "U"				
		}else{
			texto = texto + cadena.charAt(x);
		}	
	}
	return (texto.toUpperCase());
}

// Corta una cadena
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(cadena1,tamano){
	var cadena = cadena1.toString();
	var cadena2 = (cadena.length);
	if(cadena2 <= 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 rcadena = / /gi;
	cadena = cadena.replace(rcadena,"");
	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);
}

// Le pasas un número por ejemplo 111.111.111 y te devuelve 11111111
function QuitaMiles(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(Longitudcero(valor) == true || EmpiezaXespacio(valor) == true){
		return false;
	}else{
		return true;
	}
}

// Comprueba que el tamaño de la cadena no sea 0
function Longitudcero(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 = true;
	if (cadena.length != 10){
		 vOk = false; 
	}else{
  		var campos = cadena.split("/");
		if(campos.length != 3){
			vOk = false;	
		}else{
			  for (var i=0; i < campos.length; i++) {
				// comprobamos que son números 
				if(isNaN(parseInt(campos[i]))) vOk = false;
						
			  }
			  // comprobamos que la longitud es correcta
			  if(campos[0].length != 2 || campos[1].length != 2 || campos[2].length != 4 ) vOk = false;	
		}
	}
	return vOk;
}

// comprueba que la fecha este en formato DDMMAAAA
function FormatoFechaDDMMAAAA(valor){
cadena = valor;
var vOk = true;
	if (cadena.length != 10){
		 vOk = false; 
	}else{
  		var campos = cadena.split("/");
		if(campos.length != 3){
			vOk = false;	
		}else{
			  for (var i=0; i < campos.length; i++) {
				// comprobamos que son números 
				if(isNaN(parseInt(campos[i]))) vOk = false;
				if(i==0){
					// comprobamos el dia  con el año
					// Vemos si febrero tiene 29 días
					var DiasPorMes=[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
					if(((campos[2] % 4 == 0) && (campos[2] % 100 != 0)) || (campos[2] % 400 == 0)) DiasPorMes[1] = 29;					
					// ahora comprobamos si el día es correcto
					if ( campos[0] > DiasPorMes[(parseInt(campos[1])-1)] ) vOk = false;
					if ( campos[0] == 0 ) vOk = false;
				}else if(i==1){
					// comprobamos el mes que es menos o igual a 12
					if(campos[1] > 12 || campos[1] <= 0) vOk = false;
				}else if(i==2){	
					// comprobamos que el año es major que 0
					if(campos[2] >= 0){
					
					}else{
						vOk = false;
					}					
				
				}
			  }
			  // comprobamos que la longitud es correcta
			  if(campos[0].length != 2 || campos[1].length != 2 || campos[2].length != 4 ) vOk = false;			  
		}
	}
	return vOk;	
}
// comprueba que la fecha sea correcta
function CompruebaFechas(valor){
	if(Longitudcero(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;
	for (var i = 0; i < cadena.length; i++){
		var caracter = cadena.charAt(i);
		if (caracter < "0" || caracter > "9"){
			return false;
		}
	}
	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;
	}
}

// Desactiva botón derecho del ratón


function botondcho(keyp){
var mensaje = "Ea";
    if (navigator.appName == "Netscape" && keyp.which == 3) {
    alert(mensaje);
    return false;
    }
    if (navigator.appVersion.indexOf("MSIE") != -1 && event.button == 2) {
    alert(mensaje);
    return false;
    }
 }

// funcion para salvar una imagen en una nueva ventana

function saveImageAs (imgOrURL) { 

		window.win = open (imgOrURL,'','screenX=1, screenY=1, width=1, height=1, innerWidth=1, innerHeight=1, resizable=0, alwaysLowered =0, alwaysRaised=0, z-lock=0, dependent=1, directories=0, hotkeys=0, location=0, menubar=0, scrollbars=1, titlebar=0, toolbar=0, status=0'); 

		setTimeout('win.document.execCommand("SaveAs",false);win.close();', 500); 
		
		
}