/*Funcion que retira los espacios en blanco que estan a la izquierda de nuestra cadena*/
function LTrim(str)
{
   var whitespace = new String(" \t\n\r");

   var s = new String(str);

   if (whitespace.indexOf(s.charAt(0)) != -1)
   {
      var j=0, i = s.length;

      while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
         j++;

      s = s.substring(j, i);
   }
   return s;
}

/*Funcion que retira los espacios en blanco a la derecha de nuestra cadena*/
function RTrim(str)
{
   var whitespace = new String(" \t\n\r");

   var s = new String(str);

   if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
   {
      var i = s.length - 1;

      while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
         i--;

      s = s.substring(0, i+1);
   }

   return s;
}

/*Funcion que retira los especios en blanco de la cadena*/
function Trim(str)
{
   return RTrim(LTrim(str));
}


var name = navigator.appName;
var vers = navigator.appVersion;
var plat = navigator.platform;

vers = vers.substring(0,1);

/*Funcion para saber el browser*/
function cssByBrowser(ie, ns)
{
	var csslink = '<link rel="STYLESHEET" type="text/css" href="';

	if (name == 'Microsoft Internet Explorer') 
		csslink = csslink + ie + '">';
	else
		csslink = csslink + ns + '">';
	document.write(csslink);
}

/*Funcion para validar un numero entero*/
function validarCantidad(cant)
{
   cadena=/^[0-9]*$/;
   if(cadena.test(cant))
      return 1;
   else
      return 0;
}

/*Funcion para validar el correo electronico*/
function validarMail(mail)
{  
	cadena=/^([a-zA-Z0-9\._-]+)@([a-zA-Z0-9\._-]+)\.([a-zA-Z0-9\._-]+)$/;  
	if(cadena.test(mail))
    	return 1;
    else
    	return 0;
}

/*Funcionpara validar la cedula de indentidad*/
function validarCedula(cedula)
{
	cadena=/^[0-9]{10}$/;
	sumaprod=0;
	coef='212121212';
    if(cadena.test(cedula))
	{
		i=0;
		while(i<9)
		{
			if(i==0)
			{
			  numruc=cedula.substr(0,1);
			  numcoef=coef.substr(0,1);
			}
			else
			{
			  numruc=cedula.substr(i,1);
			  numcoef=coef.substr(i,1);
			}
			product=numruc*numcoef;
			if (product>=10)
			{
			  product1=String(product);
			  num1=product1.substr(0,1);
			  num2=product1.substr(1,1);
			  product=Number(num1)+Number(num2);
			}
			sumaprod=sumaprod+product;
			i=i+1;
		}
		resid=sumaprod%10;
		if(resid==0)
		 digverf=0;
		else
		 digverf=10-resid;
		digverfced=cedula.substr(9,1)
		if(digverfced==digverf)
		 return 1;
		else
		 return 0;
	}
	else
	 return 0;
}

/*Función para validar el RUC de una persona natural*/
function validarRucPN(rucpn)
{	
	cadena=/^[0-9]{13}$/;
	sumaprod=0;
	coef='212121212';		
	if(cadena.test(rucpn)&&(rucpn.substr(10,3))==001&&(rucpn.substr(2,1))<6&&(rucpn.substr(0,2))>=1&&(rucpn.substr(0,2))<=22)
	{		
		i=0;
		while(i<9)
		{				
			if(i==0)
			{
			  numruc=rucpn.substr(0,1);		
			  numcoef=coef.substr(0,1);	  		 
			}
			else
			{
			  numruc=rucpn.substr(i,1);		
			  numcoef=coef.substr(i,1);	  
			}		
			product=numruc*numcoef;		
			if (product>=10)
			{			
			  product1=String(product);	  			
			  num1=product1.substr(0,1);		 
			  num2=product1.substr(1,1);			
			  product=Number(num1)+Number(num2);	 
			}
			 sumaprod=sumaprod+product;				 		 
			 i=i+1;		
		}			
		resid=sumaprod%10;
		if(resid==0)
		 digverf=0;
		else
		 digverf=10-resid;
		digverfced=rucpn.substr(9,1)											
		if(digverfced==digverf)
		 return 1;	 
		else
		 return 0;	          
	}
	else
	 return 0;	 
}

/*Función para validar el RUC de sociedades públicas*/
function validarRucSP(rucsp)
{
	cadena=/^[0-9]{13}$/;
	sumaprod=0;
	coef='32765432';
	if(cadena.test(rucsp)&&(rucsp.substr(9,4))==0001&&(rucsp.substr(2,1))==6&&(rucsp.substr(0,2))>=1&&(rucsp.substr(0,2))<=22)
	{		
		i=0;
		while(i<8)
		{				
			if(i==0)
			{
			  numruc=rucsp.substr(0,1);		
			  numcoef=coef.substr(0,1);	  		 
			}
			else
			{
			  numruc=rucsp.substr(i,1);		
			  numcoef=coef.substr(i,1);	  

			}		
			product=numruc*numcoef;					
            sumaprod=sumaprod+product;				 		 
		    i=i+1;		
		}		
		resid=sumaprod%11;
		digverf=11-resid;
		digverfruc=rucsp.substr(8,1)		
		if(digverfruc==digverf)
		 return 1;	 
		else
		 return 0; 
	}
	else
	 return 0;	 
}

/*Función para validar un RUC de sociedades privadas y extranjeros*/
function validarRucSPE(rucspe)
{	
	cadena=/^[0-9]{13}$/;
	sumaprod=0;	
	coef='432765432';	
	if(cadena.test(rucspe)&&(rucspe.substr(10,3))==001&&(rucspe.substr(2,1))==9&&(rucspe.substr(0,2))>=1&&(rucspe.substr(0,2))<=22){			
		i=0;
		while(i<9){				
			if(i==0){
			  numruc=rucspe.substr(0,1);		
			  numcoef=coef.substr(0,1);	  		 
			}
			else{
			  numruc=rucspe.substr(i,1);		
			  numcoef=coef.substr(i,1);	  
			}		
			product=numruc*numcoef;					
            sumaprod=sumaprod+product;				 		 
		    i=i+1;		
		}
		resid=sumaprod%11;
		digverf=11-resid;
		digverfruc=rucspe.substr(9,1)		
		if(digverfruc==digverf)
		 return 1;	 
		else
		 return 0; 
	}
	else
	 return 0;	 
}

/*Funcion para resaltar el color de una fila de una tabla*/
function color1(E)
{
	while (E.tagName!="TR")
	{
		E=E.parentElement;
	}
		E.className="on";
}

/*Funcion para no resalta el color de la fila de una tabla*/
function color2(E)
{
	while (E.tagName!="TR")
	{
		E=E.parentElement;
	}
		E.className="";
}

/*Función para validar la fechas*/
function compararFechas(fechaInicial,fechaFinal,fechaActual)
{
	var inicio = new  Date(fechaInicial.substr(0,4),fechaInicial.substr(5,2),fechaInicial.substr(8,2));
	var final = new  Date(fechaFinal.substr(0,4),fechaFinal.substr(5,2),fechaFinal.substr(8,2));
	var actual = new  Date(fechaActual.substr(0,4),fechaActual.substr(5,2),fechaActual.substr(8,2));
	var diferencia = 0;
	var diferencial = 0;
	
	inicio = inicio.getTime();
	final = final.getTime();
	actual = actual.getTime();
	
	//Comparacion para la fecha de publicacion
	diferencia = final - inicio;
	diferencia /= 86400000;
	
	diferencia1 = actual - final;
	diferencia1 /= 86400000;
	
	if (diferencia < 0)
		return 0;
	else if (diferencia1 < 0)
		return 1;
	else
		return 2;
}