/******************************************************************************
*	Redondes un número de punto flotante a los decimales indicados
*******************************************************************************/

function redondear(numero) {
	var original=parseFloat(numero);
	var result=Math.round(original*100)/100 ;
	return result;
} 

/******************************************************************************
*	Retorna la fecha pasada en formato DD/MM/AAAA en milisegundos
*******************************************************************************/

function obtener_milisegundos(fecha){	
	var dia1 = parseInt(fecha.substr(0,2))
	if (dia1 == 0) dia1 = parseInt(fecha.substr(1,1))
	mes1 = parseInt(fecha.substr(3,2))-1
	if (mes1 == -1) mes1 = parseInt(fecha.substr(4,1))-1
	ano1 = parseInt(fecha.substr(6,4))
	f = new Date(ano1,mes1,dia1)
	return Date.parse(f)	
}

/******************************************************************************
*	Genera un nuevo objeto ajax
*******************************************************************************/
function nuevoAjax(){
	var xmlhttp=false;
	 try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	 }
	 catch (e) {
		 try {
			 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		 } catch (E) {
			 xmlhttp = false;
		 }
	 }
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}

/******************************************************************************
*	sortcut de document.geElementById
*******************************************************************************/
function E(e){
	return document.getElementById(e);
}

/*************************************************************************************
*	limita el ingreso de solo números a las cajas de texto
* USO: onkeypress="return numeros(event,this)" onkeydown="return numeros(event,this)"
*************************************************************************************/
function numeros(tecla){
	if(typeof(tecla) == 'undefined')
	var tecla = window.event;
	var codigo = (tecla.which ? tecla.which : tecla.keyCode ? tecla.keyCode : tecla.charCode);
	// permite números, 8=backspace, 46=del e 9=tab
	if ( (codigo >= 48 && codigo <= 57) || (codigo >= 96 && codigo <= 105) 
				|| codigo == 8 || codigo == 46 || codigo == 9 ){
		return true
	}	
	else { 
		return false; 
	}
}	

/**********************************************************************************************
*	limita el ingreso de solo números flotantes a las cajas de texto
* USO: onkeypress="return numerosFloat(event,this)" onkeydown="return numerosFloat(event,this)"
***********************************************************************************************/
function numerosFloat(tecla, obj){
	if(typeof(tecla) == 'undefined')
	var tecla = window.event;
	var codigo = (tecla.which ? tecla.which : tecla.keyCode ? tecla.keyCode : tecla.charCode);
	if (obj.value.indexOf(',')==-1){
		// permite números, 8=backspace, 46=del e 9=tab
		if ( (codigo >= 48 && codigo <= 57) || (codigo >= 96 && codigo <= 105) || codigo == 8 
					|| codigo == 46 || codigo == 190 || codigo == 44 || codigo == 9 ){
			return true
		}	
		else { 
			return false; 
		}
	}
	else {
		if ( (codigo >= 48 && codigo <= 57) || (codigo >= 96 && codigo <= 105) 
				|| codigo == 8 || codigo == 46 || codigo == 9 ){
			return true
		}	
		else { 
			return false; 
		}
	}
}	

/******************************************************************************
*	Envia un requerimiento ajax básico (No candiata a quedar en librería)
*******************************************************************************/
function send_ajax(str_post,php){
	var ajax=nuevoAjax();
	ajax.open("POST", "/bo/"+php,true);
	ajax.onreadystatechange=function() {}	
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send(str_post);
	delete ajax;	
}

/******************************************************************************
*	setea como error el elemento indicado (No candiata a quedar en librería)
*******************************************************************************/
function setError(e){
		E(e).style.borderColor = "#F00";
		E(e).focus();
}

/******************************************************************************
*	setea sin error el elemento indicado (No candiata a quedar en librería)
*******************************************************************************/
function setNoError(e){
		E(e).style.borderColor = "#DCDCDC";
}

/***********************************************************************************
*	obtiene la posición del mouse durante un evento (No candiata a quedar en librería)
***********************************************************************************/
function getPos(e){
	 if( e ){
			if (!e) var e = window.event;
			if( typeof( e.pageX ) == 'number' ){
				 docX = e.pageX;
				 docY = e.pageY;
			}
			else {
				 docX = e.clientX;
				 docY = e.clientY;
			}
	 }
	 else {
			e = window.event;
			docX = e.clientX;
			docY = e.clientY;
			if( document.documentElement && ( document.documentElement.scrollTop || document.documentElement.scrollLeft ) ){
				 docX += document.documentElement.scrollLeft;
				 docY += document.documentElement.scrollTop;
			} 
			else if( document.body && ( document.body.scrollTop || document.body.scrollLeft ) ){
				 docX += document.body.scrollLeft;
				 docY += document.body.scrollTop;
			}
	 }				
}
