// JavaScript Document	
// LA "+direccion+": Debe Agregar nombre del FORM y del campo (EJ: 'nombreformulario.nombreinput')
// LA '+ etiqueta +': Corresponde al nombre de la etiqueta del campo que se esta validando
// EL '+pronombre+' : Será el que señala al campo del que se está validadndo (EJ: El, La)
//FUNCION VALIDAR VACIOS
function validarvacio(direccion, etiqueta) 
{	
	campo	= 	eval("document."+direccion+".value");	
	vacio	=	'';
	if (campo.length==0) 
	{		
		vacio = vacio + '- '+ etiqueta +'. \n';			
	}
	return vacio;
}
//FUNCION CONFIRMAR RE-ESCRITURA
function confirmarreescritura(direccion1, direccion2, etiqueta, pronombre)
{
	campo	= 	eval("document."+direccion1+".value");
	campo2	= 	eval("document."+direccion2+".value");	
	iguales	=	'';
	if (campo.length!=0)
	{
		if(campo!=campo2) //Verifico que la escritura y su confirmación sean iguales
		{ 
			iguales = iguales + '- '+pronombre+' '+ etiqueta +' y la confirmación del mismo deben coincidir. \n';
		}
	}
			return iguales;
}
//FUNCION VALIDAR SOLO NUMEROS
function validarnumero(direccion, etiqueta, pronombre)
{	
	var ok, espacio;
	var validonumeros	= 	"1234567890";	
	ok 					= 	"yes";
	numeros				=	"";
	campo				= 	eval("document."+direccion+".value");
	if (campo.length!=0)
	{
		for (var i=0; i<campo.length; i++)
		{		
			temp 	= 	campo.substring(i, i+1);
			if (validonumeros.indexOf(temp) == "-1")  
			{				
				ok	=	"no";
			}
		}	
			if (ok == "no")
			{
				numeros 	= 	numeros + '- '+pronombre+' '+etiqueta+' puede contener solo números. \n';
			}
	}	
	return numeros;
} 
//FUNCION VALIDAR SOLO LETRAS
function validoletra(direccion, etiqueta, pronombre)
{	
	var validoletras	= 	"abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZáéíóúÁÉÍÓÚ ";
	var ok, espacio;
	campo	=	eval("document."+direccion+".value");
	letras	=	"";	
	ok 		= 	"yes";		
	if (campo.length!=0)
	{
		for (var i=0; i<campo.length; i++)
		{		
			temp	=	campo.substring(i, i+1);			
			if (validoletras.indexOf(temp) == "-1") 
			{				
				ok	=	"no";
			}
		}	
			if (ok == "no")
			{
				letras	=	letras + '- '+pronombre+' '+etiqueta+' debe contener solo letras. .\n';
			}
	}
	return letras;
}
//FUNCION VALIDAR ESPACIOS EN BLANCOS
function validoespacioenblanco(direccion, etiqueta, pronombre)
{
	   	campo		=	eval("document."+direccion+".value");
		var ascii	= 	new String(campo)
       	ascii		= 	ascii.charCodeAt(0)//LA FUNCION charCodeAt convierte el indice dado en CODIGO ASCII	
		espacios	=	'';
	for (var i=0; i<campo.length; i++)
	{
		temp = campo.substring(i, i+1);
		if (campo.indexOf(temp) == "32")//Este condicional me devolvera el indice indicado, Que en este caso es el espacio en blanco(32 en ASCII) 
		{
			espacios	=	espacios + '- '+pronombre+' '+etiqueta+' no puede contener espacios en blancos.\n';	
		}
	}
	return espacios;
}
//FUNCION VALIDAR SÓLO EL NUMERO DE TELEFONO
function validotelefono(direccion, etiqueta, pronombre)
{
	var ok, espacio;
	var validotel		=	"1234567890-/+()";	
	campo				=	eval("document."+direccion+".value");
	telefono			=	"";
	ok 					= 	"yes";
	if (campo.length!=0)
	{
		for (var i=0; i<campo.length; i++)
		{
			temp = campo.substring(i, i+1);
			if (validotel.indexOf(temp) == "-1") 
			{				
				ok	=	"no";
			}
		}	
			if (ok == "no")
			{
				telefono	=	telefono + '- '+pronombre+' '+etiqueta+' No puede contener letras ni carácteres especiales, solo números y + / - ( ) .\n';
			}
	}
	return telefono;
}
function validarlongitud(direccion, etiqueta, cantidad, pronombre)
{
	campo				=	eval("document."+direccion+".value");
	longitud			=	"";
	if (campo.length!=0)
	{
		if (campo.length<cantidad) 
		{ 
			longitud = longitud + '- '+pronombre+' '+etiqueta+' debe contener como longitud mínima '+cantidad+' caracteres. \n';
		}
	}
	return longitud;
}
/*function validarmail(direccion, etiqueta, pronombre)
{
	var ok;
	var validmail 	= 	"1234567890abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-.@";
	campo			=	eval("document."+direccion+".value");		
	correo			=	'';	
	ok 				= 	"yes";	
	if (campo.lenght!=0)
	{			
		for (var i=0; i<campo.length; i++)
		{				
			temp = campo.substring(i, i+1);		
			if (validmail.indexOf(temp) == "-1")
			{				
				ok	=	"no";				
			}
			else
			{
				if ((campo.indexOf('@',0)== "-1") || (campo.indexOf('.',0)== "-1"))
				{
					correo	=	'- '+pronombre+' '+etiqueta+' es Inválido.  \n';
				}
			}
		}					
		if (ok == "no")
		{
			correo	=	correo	+	'- '+pronombre+' '+etiqueta+' No puede contener caracteres especiales, solo  _  .  -   \n';			
		}			
	}
	return correo;	
}*/
function validarmail(direccion, etiqueta, pronombre, palabra_error)
{    
    var mensaje, texto;
    var brokenstring, brokenstring2;
//
    texto           =    eval("document."+direccion+".value");
    mensaje         =    "";
    brokenstring    =    texto.split('@');
//    
    if (brokenstring.length==2)
    {
        segunda_parte    =    brokenstring[1];
        brokenstring2    =    segunda_parte.split('.');
//
        if (brokenstring2.length>1)
        {
            ok    =    "si";
        } else
        {
            ok    =    "no";
        }
//
    } else
    {
        ok    =    "no";
    }
//
//  Verificar errores
    if (ok == "no")
    {
        mensaje     =     mensaje + '- '+pronombre+' '+etiqueta+' es '+palabra_error+'. \n\n RECUERDE! No puede contener caracteres especiales, solo  _  .  - \n';
    }
    return mensaje;
} 
function validoAlfanumerico(name_id,direccion)
{	
	var validoletras	= 	"abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-/ ";
	var ok, espacio;
	//alert(document.getElementById(direccion).value);
	campo	=	document.getElementById(direccion).value;	
	letras	=	"";	
	ok 		= 	"yes";		
	if (campo.length!=0)
	{
		for (var i=0; i<campo.length; i++)
		{		
			temp	=	campo.substring(i, i+1);			
			if (validoletras.indexOf(temp) == "-1") 
			{				
				ok	=	"no";
			}
		}	
			if (ok == "no")
			{
				cargar_contenido(name_id,'/contribuyente/iva/ajax_valor_invalido.php','GET','','');
			}
			else
			{
				cargar_contenido(name_id,'/contribuyente/iva/ajax_valor_valido.php','GET','','');	
			}
	}
}
function validar_formulario(id)
{
	if(id == 1)
	{
		rif	=	document.getElementById('fvchar_rif_sujeto_retenido').value;
		var ok, espacio;
		var validonumeros	= 	"1234567890";	
		ok 					= 	"yes";
		numeros				=	"";
		campo				= 	rif;
		if (campo.length!=0)
		{
			for (var i=0; i<campo.length; i++)
			{		
				temp 	= 	campo.substring(i, i+1);
				if (validonumeros.indexOf(temp) == "-1")  
				{				
					ok	=	"no";
				}
			}	
		}	
		if((rif.length < 9) || (ok == "no"))
		{
			cargar_contenido('mostrar_validacion_rif','/contribuyente/iva/ajax_valor_invalido.php','GET','','');
		}
		else
		{
			cargar_contenido('mostrar_validacion_rif','/contribuyente/iva/ajax_valor_valido.php','GET','','');
			cargar_contenido('sujeto_retenido','/contribuyente/iva/ajax_sujeto_retenido.php','GET','fvchar_identificador_rif='+document.getElementById('fvchar_identificador_rif').value+'&fvchar_rif_sujeto_retenido='+document.getElementById('fvchar_rif_sujeto_retenido').value,'');
		}
	}
}
/*
decSep			=	separador_decimal
thousandSep		=	num_miles
decLength		=	num_decimal
decLengthpow	=	num_decimal_
*/
function validar_decimal(input,div)
{
	//
	var ok, espacio;
	var validonumeros	= 	"1234567890.";	
	ok 					= 	"yes";
	numeros				=	"";
	campo				= 	document.getElementById(input).value;
	if (campo.length!=0)
	{
		for (var i=0; i<campo.length; i++)
		{		
			temp 	= 	campo.substring(i, i+1);
			if (validonumeros.indexOf(temp) == "-1")  
			{				
				ok	=	"no";
			}
		}	
			if (ok == "no")
			{
				cargar_contenido(div,'/contribuyente/iva/ajax_valor_invalido.php','GET','','');
			}
			else
			{
				cargar_contenido(div,'/contribuyente/iva/ajax_valor_valido.php','GET','','');
			}
	}	
}
//
function formatMoneda(numero, separador_decimal, num_miles, num_decimal)
{
	var num;
	num	=	numero;
	//num	=	replace(numero,',');
	//alert("num : "+numero);
	if(num == '') return '';
	var arg, entero, num_decimal_, sign = true;cents = '';
	if(typeof(num) == 'undefined') return;
	if(typeof(num_decimal) == 'undefined') num_decimal = 2;
	if(typeof(separador_decimal) == 'undefined') separador_decimal = ',';
	if(typeof(num_miles) == 'undefined') num_miles = '.';
	if(num_miles == '.') arg=/\./g;
	else if(num_miles == ',') arg=/\,/g;
	if(typeof(arg) != 'undefined') num = num.toString().replace(arg, '');
	num = num.toString().replace(/,/g,'.');
	if(num.indexOf('.') != -1)
		entero = num.substring(0, num.indexOf('.'));
	else
		entero = num;
	if(isNaN(num))
		return "0";
	if(num_decimal > 0)
	{
		num_decimal_ = Math.pow(10, num_decimal);
		sign = (num == (num = Math.abs(num)));
		num = Math.round(num * num_decimal_);
		cents = num % num_decimal_;
		num = Math.floor(num / num_decimal_).toString();
		if(cents < 10)
			cents = "0" + cents;
	}
	if(num_miles != '')
		for(var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
			num = num.substring(0, num.length - (4 * i + 3)) + num_miles + num.substring(num.length - (4 * i + 3));
	else
		for(var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
			num = num.substring(0, num.length - (4 * i + 3)) + num.substring(num.length - (4 * i + 3));
	if(num_decimal > 0)
		return (((sign) ? '' : '-') + num + separador_decimal + cents);
	else
		return (((sign) ? '' : '-') + num);
}
