function quitacomilla(valor)
	{var expresion = /\"/gm
	valor= valor.replace(expresion,"''")
	return(valor)
	}

function validadia(dia,mes,anio)
	{	function bisiesto()
			{	if (anio%4 ==0)	{return(true)}
				else 						{return (false) }
			}
		//alert("dia="+dia+"\nmes="+mes+"\nAño ="+anio)
		if(!esentero(dia)) return(false)
		if (dia < 1 || dia > 31|| mes <1 || mes >12)		return(false)
		else if (mes == 2 && bisiesto(anio) && dia > 29) return(false)
		else if (mes == 2 && dia > 28 && !bisiesto(anio) )	return(false)
		else if ((mes == 4 || mes == 6 || mes == 9 || mes == 11) && (dia > 30) )  return(false)
		else return(true)
	}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function numFormat(valor,dec, miles){
var num = valor, signo=3, expr;
var cad = ""+valor;
var ceros = "", pos, pdec, i;
for (i=0; i < dec; i++) ceros += '0';
pos = cad.indexOf('.')
if (pos < 0)
    cad = cad+"."+ceros;
else
    {
    pdec = cad.length - pos -1;
    if (pdec <= dec)
        {
        for (i=0; i< (dec-pdec); i++)
            cad += '0';
        }
    else
        {
        num = num*Math.pow(10, dec);
        num = Math.round(num);
        num = num/Math.pow(10, dec);
        cad = new String(num);
        }
    }
pos = cad.indexOf('.')
if (pos < 0) pos = cad.lentgh
if (cad.substr(0,1)=='-' || cad.substr(0,1) == '+') 
       signo = 4;
if (miles && pos > signo)
    do{
        expr = /([+-]?\d)(\d{3}[\.\,]\d*)/
        cad.match(expr)
        cad=cad.replace(expr, RegExp.$1+','+RegExp.$2)
        }
while (cad.indexOf(',') > signo)
    if (dec<0) cad = cad.replace(/\./,'')
        return cad;
}
function nFormatNum(cadena){
	var cad="";
	var ja = new Array();
	
	ja = cadena.split(",");	
	for(i=0; i < ja.length; i++)
		cad+=ja[i];
	return parseFloat(cad);
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////		
function comparafechas(dia1,mes1,annio1,dia2,mes2,annio2)
	{// considerando que los datos son elemetos individuales de la fecha  /* la idea es que despues se fije si me mandaron una fecha completa o si me mando elementos separados */
	dia1=parseInt(dia1*1);	dia2=parseInt(dia2*1)
	mes1=parseInt(mes1*1);	mes2=parseInt(mes2*1)
	annio1=parseInt(annio1*1);annio2=parseInt(annio2*1);
	//alert ("comparando\n"+ dia1+"/"+mes1+"/"+annio1+"\ncontra\n "+dia2+"/"+mes2+"/"+annio2); 
	if (!validadia(dia1,mes1,annio1)){ return(-1); }
	if (!validadia(dia2,mes2,annio2)){ return(-1); }
	if 		(annio1> annio2)	{return(1)}// 1 es mayor 
	else if (annio1< annio2)	{return(2)}// 2 es mayor
	else if ( mes1> mes2)	{return(1)} 
	else if ( mes1< mes2)	{return(2)} 
	else if ( dia1> dia2)	{return(1)} 
	else if ( dia1< dia2) 	{return(2)} 
	else					{return(0)}//  1 y 2 son iguales 
	}	

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
function ee(cadena)// elimina espacios
{if (cadena=="" || cadena== null){return("")}//alert ("la cadena estava vacia");
var i; var cad_inicio=-1; var cad_fin =1;
for (i=0; i< cadena.length; i++)	// ENCUENTRA EL INICIO DE LA CADENA
	if (cadena.substr(i,1)!= " " )	{cad_inicio =i; i=cadena.length}
if (cad_inicio==-1) return ("");	//SI NO ENCONTRO INICIO REGRESA VACIO
for (i=cadena.length-1; i>0; i--)	// ENCUENTRA EL FINAL DE LA CADENA
	if (cadena.substr(i,1)!= " ")		{cad_fin=i+1; i=0;}
var cad11 =cadena.slice(cad_inicio,cad_fin)
return (cad11)
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function eeespecial(cadena)
	{ if (cadena=="" || cadena== null){return("")}//alert ("la cadena estava vacia");
		var i; var cad_inicio=0; var cad_fin =1;
		for (i=0; i< cadena.length; i++)
		if (cadena.substr(i,1)!= " " && cadena.substr(i,1).keyCode!= "13" )	{cad_inicio =i; i=cadena.length} //revisa si al principio hay eespacios y esos no los volcara
		else {alert("tenias un espacio o un enter")}
for (i=cadena.length-1; i>0; i--)
	if (cadena.substr(i,1)!= " " && cadena.substr(i,1)!= "\n")		{cad_fin=i+1; i=0;}
	var cadenanueva=cadena.slice(cad_inicio,cad_fin)
	var forr=0;
	for (forr=0; forr>1; forr ++)
	
	{if (cadenanueva.replace(/\n\n/g,"\n")!=cadenanueva){cadenanueva=cadenanueva.replace(/\n\n/g,"\n"); forr=0;}
	 if (cadenanueva=replace(/  /g," ")   !=cadenanueva){cadenanueva=cadenanueva.replace(/  /g," "); forr=0;}
	}
return cadenanueva
}
///////////////////////////////////////////////////////ESENTERO///////////////////////////////////////////////////////////////////////
function esentero(valor)
{
 if (!isNaN(valor)) {valor = " "+valor; valor = ee(valor) } 
 if (valor =="" || valor == null)  return(false)
 	var entero=false; longitud = valor.length;
	for (i=0;i<longitud; i++)
	 	{ascii=valor.charCodeAt(i)
		if(ascii >= 48 && ascii<=57) entero=true 
		else return(false)
		}
		return(entero);
	}	
////////////////////////////////////////////////////////////////ESFLOTANTE////////////////////////////////////////////////////////////////////
function esflotante(valor)
{if (!isNaN(valor)) {valor = " "+valor; valor = ee(valor) } 
 if (valor =="" || valor == null) {return(false)}
 var float=false;	 var punto=0; var decimal=0;	longitud = valor.length;
 for (i=0; i<longitud; i++)
			{var ascii=valor.charCodeAt(i);			var caracter=valor.substr(i,1)
				if(ascii >= 47 && ascii<=57)  
				{if (punto==1) decimal++ 	 }
			else if (caracter==".") punto++
			else return (false)
			}
	if (punto == 1 && decimal>0) float=true
	return (float)
	}
//////////////////////////////////////////////////////////////ES NUMERO//////////////////////////////////////////////////////////////////////////
function esnumero(valor)
{ if (valor =="" || valor == null) {return(false)}
	var numero=false;	longitud = valor.length;	punto=0;
	if 		(esentero(valor))	{return("entero")}
	else if (esflotante(valor)) {return ("flotante")}
	else 										{return (false)}
	}
//////////////////////////////////////////////////////////////ESTEXTO/////////////////////////////////////////////////////////////////////////////
function estexto(valor)
{if (valor =="" || valor == null) {return(false)}
 var texto=false;
 longitud=valor.length;
 for (i=0; i<longitud; i++)
			{ascii=valor.charCodeAt(i)
			 if ((ascii >= 65 && ascii<=90 )||	(ascii>= 97 && ascii <=122)|| ascii==46 || ascii == 32 || ascii == 164 || ascii  == 165 || ascii==241 || ascii == 209)
			 	texto=true
			 else return (false)
			 }
 return texto
	 }
//////////////////////////////////////////////////////////////ESLEGAL///////////////////////////////////////////////////////////////////////
function eslegal(valor) 			// permite texto y numero asi como ',' y '-'
	 {
if (valor =="" || valor == null) { return(false)}
	var legal=false;
	var ilegales = "º\ª!|\"@$%&/¬=?'¿¡Ç}][`^¨´{:;~" ;
	var longitud=valor.length;
	var numilegales=ilegales.length;
	  for (i=0; i<longitud; i++)
				{var caracter=valor.substr(i,1)
				for (j=0; j<numilegales; j++)
					{caracter2= ilegales.substr(j,1)	
					if (caracter!=caracter2 ) legal=true
				  else return false; 
				  }
				}
		return(legal)
	 }
////////////////////////////////////////////////////////////ESMAIL/////////////////////////////////////////////////////////////////////////////
function esmail(valor)
{ if (valor =="" || valor == null) {return(false)}
	var i=0;
	var mail=false
	var arroba=0
	var punto =0
	var longitud=valor.length;
	for (i=0; i<longitud; i++)
			{caracter=valor.substr(i,1)
			 if			(caracter=="@") arroba++
			 else if (caracter==".") punto++
			 else if (!eslegal(caracter)) return (error)
			 }
		if (arroba == 1 && punto>0 )mail= true 
		return(mail)
	 }
/////////////////////////////////////////////////////////////ESTELEFONO////////////////////////////////////////////////////////////////////////////
function estelefono(valor)
{if (valor =="" || valor == null) { return(false)}
 var longitud	=valor.length;
 var i=abre=telefono=numtelefonos=0;
 for (i=0; i<longitud; i++)
 		{caracter=valor.substr(i,1)
		if	(esentero(caracter)) {telefono++}
		else{
					if 		  (caracter=="(") if (abre==0) 			abre=1; else return(false)
					else if (caracter==")") if (abre==1) 			abre=0; else return(false)
					else if (caracter==",") if (telefono < 5) return (false)
																	else telefono=0;		
					else	return (false)
				}
		 }
	if (telefono < 5) return (false)
	if (abre==0 ) 		return(true)
	else 							return(false)
}
///////////////////////////////////////////////////////////////////ES///////////////////////////////////////////////////////////////////
function es(valor)
{ if (valor =="" || valor == null) {return(false)}
 longitud=valor.length;
	 if(eslegal(valor))
	 	{	if (esnumero(valor)  )return(esnumero(valor))
			else if (estelefono(valor))return ("telefono")
			else if (estexto(valor))   return("texto")
			else return("legal")	
		}	
		else if (esmail(valor))			return("email")
		else												return("ilegal")
}
////////////////////////////////////////////////////////////////VENTANAN////////////////////////////////////////////////////////////
function ventanan(ventana)
	{window.open(ventana,"","width=680,height=480,top=100,left=100,location=no,scrollbars=yes,menubar=no,statusbar=no,toolbar=no,resizable=yes,dependent=yes")	}
//////////////////////////////////////////////////////////ABRIR VENTANA////////////////////////////////////////////////////////////
function abrirVentana(url)
  { w = 500
    h = 250
    l = ( screen.availWidth - w ) / 2
    t = ( screen.availHeight - h ) / 2
    nuevaVentana = window.open(url,"busqueda","width="+w+",height="+h+",top="+t+",left="+l+",location=no,scrollbars=no,menubar=no,statusbar=no,toolbar=no,resizable=no,dependent=yes")
    if(!nuevaVentana.opener) nuevaVentana.opener = self
  }
////OTRAS FUNCIONES PARA ABRIR VENTANAS
function abreventana34(pagina)
	{
	w=window.screen.availWidth-13;
	if (w>780)
		{w=780}
	h=window.screen.availHeight-100;
	window.open(pagina,"","width="+w+",height="+h+",top='1',left='1',location=no,scrollbars=yes,menubar=no,statusbar=no,toolbar=no,resizable=yes,dependent=yes")
	}
function abreventanallena(pagina)
	{
	w=window.screen.availWidth-13;
	h=window.screen.availHeight-30;
	window.open(pagina,"","width="+w+",height="+h+",top='1',left='1',location=no,scrollbars=yes,menubar=no,statusbar=no,toolbar=no,resizable=yes,dependent=yes")
	}
function abreventanallenamenu(pagina)
	{
	w=window.screen.availWidth-13;
	h=window.screen.availHeight-30;
	window.open(pagina,"","width="+w+",height="+h+",top='1',left='1',location=yes,scrollbars=yes,menubar=yes,statusbar=yes,toolbar=yes,resizable=yes,dependent=yes")
	}

function abreventanamitad(pagina)
	{
	w=window.screen.availWidth/2-13;
	h=window.screen.availHeight/2-30;
	window.open(pagina,"busqueda","width="+w+",height="+h+",top='1',left='1',location=no,scrollbars=yes,menubar=no,statusbar=no,toolbar=no,resizable=yes,dependent=yes")
	}
function abreVentanaTam(url, w, h)
	{var options = "width=" + w + ",height=" + h + ",";
    options += "resizable=yes,scrollbars=yes,status=yes,";
    options += "menubar=no,toolbar=no,location=no,status=no,directories=no";
    var newWin = window.open(url, 'abreVentanaTam', options);
    newWin.focus();
    }
