/*======================================================================================    
Funcion que verifica si un caracter es Numerico Real
Char	:	String a evaluar.
Retorna : Un Booleano
*/
function esFloat(objeto) {		
    	if(document.getElementById(objeto).length == 0) 
    		return false;  
        regexpr = /^[0-9]*,?[0-9]*$/; 
          	
    	if(regexpr.test(document.getElementById(objeto).value,0))
    	{
    		return true;
    	}
    	return false;
}

/*======================================================================================    
Funcion que verifica si un caracter es un entero
Char	:	String a evaluar.
Retorna : Un Booleano
*/
function esEntero(objeto) {		
    	if(document.getElementById(objeto).length == 0) 
    		return false;  
        regexpr = /^[0-9]*$/; 
          	
    	if(regexpr.test(document.getElementById(objeto).value,0))
    	{
    		return true;
    	}
    	return false;
}

/*======================================================================================    
Funcion que verifica si un caracter es Numerico
Char	:	String a evaluar.
Retorna : Un Booleano
*/
function esNumerico(objeto) {		
    	if(document.getElementById(objeto).length == 0) 
    		return false;      	
    	regexpr = /^[0-9]+$/;
    	
    	if(regexpr.test(document.getElementById(objeto).value,0))
    	{
    		return true;
    	}
    	return false;
}


/*======================================================================================
Funcion que elimina los blancos a la izquierda de un string.
Obj: Objeto que contiene Strin a eliminar blancos de la izquierda.
Retorna :Un Objeto
*/
function ltrim(obj) {
	
	InString = obj.value;
	n = i = 0;
	
	while (i < InString.length) {
		if (InString.charAt(i) != " ") {
			n = i
			break
		}
		i++
	}
	if (n == 0 && i == InString.length)
		obj.value = ''
	else
		obj.value = InString.substring(n, InString.length)
	return obj;
	
}

/*======================================================================================
Elimina los blancos a la derecha de un string.
obj:	objeto que contiene string a eliminar blancos de la derecha
Retorna: Un Objeto	
*/
function rtrim(obj) {
	InString = obj.value;
	n = i = InString.length
	while (i > 0) {
		if (InString.charAt(i - 1) != " ") {
			n = i
			break
		}
		i--
	}
	if (n == InString.length && i == 0)
		obj.value = ''
	else
		obj.value = InString.substring(0, n);
	return obj;
}

/*======================================================================================
Elimina los blancos de los extremos de un string.
Obj:	objeto que contiene string a eliminar blancos de los extremos
Retorna: Un Objeto	
*/
function trim(Obj) {
	return rtrim(ltrim(Obj));	
}

function AbrirPopup(url, nombre, parametros)
{
	window.open(url, nombre, parametros);
}

function PutFocus(object)
{
	document.getElementById(object).focus();
}
 
function EnableDisable(idsEnable,idsDisable)
{
	var idEnable = idsEnable.split(",");
	var idDisable = idsDisable.split(",");
	
	for (i=0 ; i < idEnable.length ; i++)
	{
		if (idEnable[i] != '' && document.getElementById(idEnable[i]) != null)
			document.getElementById(idEnable[i]).disabled = false;
	}
		
	for (i=0 ; i < idDisable.length ; i++)
	{
		if (idDisable[i] != '' && document.getElementById(idDisable[i]) != null)
			document.getElementById(idDisable[i]).disabled = true;
	}
 }
 
function CheckUnCheck(idCheck,idsUnCheck)
{
	var idUnCheck = idsUnCheck.split(",");
	
	if (idCheck != null && idCheck != '')
		document.getElementById(idCheck).checked = true;
		
	for (i=0 ; i < idUnCheck.length ; i++)
	{
		document.getElementById(idUnCheck[i]).checked = false;
	}
}

function SetPullDown(idSelect,values)
{
	var value = values.split(",");
	
	document.getElementById(idSelect).length = value.length;
	
	for (i=0 ; i < value.length ; i++ )
	{
		var option = value[i].split("|");
		document.getElementById(idSelect).options[i] = new Option(option[0],option[1]);
	}
	
	
}

function VisibleHidden(IdsVisible,IdsHidden)
 {
	var idVisible = IdsVisible.split(",");
	var idHidden = IdsHidden.split(",");
	
	for (i=0 ; i < idVisible.length ; i++)
	{
		if (idVisible[i] != '' && document.getElementById(idVisible[i]) != null)
			document.getElementById(idVisible[i]).style.visibility = 'visible';
	}
	
	for (i=0 ; i < idHidden.length ; i++)
	{
		if (idHidden[i] != '' && document.getElementById(idHidden[i]) != null)
		document.getElementById(idHidden[i]).style.visibility = 'hidden';
	}
 
 }
 
function setValue(idOriginal,idResultado)
{
	document.getElementById(idResultado).value = document.getElementById(idOriginal).value;
}

function ShowHide(IdsShow,IdsHide)
{
	var idShow = IdsShow.split(",");
	var idHide = IdsHide.split(",");
	
	for (i=0 ; i < idShow.length ; i++)
	{
		if (idShow[i] != '' && document.all(idShow[i]) != null)
		{
			document.all(idShow[i]).style.display='block';
		}
	}
	
	for (i=0 ; i < idHide.length ; i++)
	{
		if (idHide[i] != '' && document.all(idHide[i]) != null)
		{
			document.all(idHide[i]).style.display='none';
		}
	}
}

function  SetTextFromCombo(idCombo,idText)
{
	var values = document.getElementById(idCombo).options(document.getElementById(idCombo).selectedIndex).value;
	var value = values.split("|");
	document.getElementById(idText).value = value[1];
}

function KeyDownHandler(btn)
{
	// process only the Enter key
	if (event.keyCode == 13)
	{
		// cancel the default submit
		event.returnValue=false;
		event.cancel = true;
		if (btn != '' && btn != null)
		{
			// submit the form by programmatically clicking the specified button
			btn.click();
		}
	}
}

function Clear(IdsClear)
{
	var idClear = IdsClear.split(",");
		
	for (i=0 ; i < idClear.length ; i++)
	{
		if (idClear[i] != '' && document.all(idClear[i]) != null)
		{
			document.all(idClear[i]).value = ''
		}
	}
}

function RemoveItem(idList, item)
{
	document.getElementById(idList).remove(item);
	
}

/*
This function validate the input year.
Return : Boolean value
*/
function IsYearValid(inputYear, errorMessage)
{
	var actualDate = new Date();
	var actualYear = actualDate.getFullYear();
	
	if(actualYear < inputYear.value)
	{
		alert(errorMessage);
		inputYear.value = ""; inputYear.focus();
		return false;
	}
	else
	{
		return true;
	}
}


////////////////////////////////////////////////////////
///retorna false si mail no valido, recibe el objeto. 
function ValidaMail(oEmail){  
	    var bOk = true;
		var s = oEmail.value;
		
		// se define una expresion regular con la cual se evaluará el formato del email
		var filter=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
		
		// verificamos que el email cumpla con el formato requerido
		if (!filter.test(s)){
		//alert('error al escribir el email');
		oEmail.value="";
		oEmail.focus();
		bOk = false;
		}
		return bOk;
}
    		 
 ///funciona q valida un telefono, al campo le eliman la insercion y retorna false si no es valirdo 
function ValidaTelefono(oTelefono){
	var bOk = true;
	var s = oTelefono.value;
	//var filter = /^\d+(\-\d+)$/ ;
	var filter = /^[0-9-\s()]{5,20}$/;
	if (!filter.test(s)){
		//alert('');
		oTelefono.value="";
		oTelefono.focus();
		bOk = false;
		}
	return bOk;
}

////////////////////////////////////////////////////////////
function ValidaPrecios(oPrecio){
	var bOk = true;
	var s = oPrecio.value;

	var filter = /^\$?([1-9]{1}[0-9]{0,2}(\.[0-9]{3})*(\,[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\,[0-9]{0,2})?|0(\,[0-9]{0,2})?|(\,[0-9]{1,2})?)$/ ;
	if (!filter.test(s)){

		oPrecio.value="";
		oPrecio.focus();
		bOk = false;
	}
	return bOk;
}