//******************************************
// AJAX
function nuevoAjax()
{ 
	/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
	lo que se puede copiar tal como esta aqui */
	var xmlhttp=false;
	try
	{
		// Creacion del objeto AJAX para navegadores no IE
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			// Creacion del objet AJAX para IE
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(E)
		{
			if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest();
		}
	}
	return xmlhttp; 
}

//******************************************
// HTMLENTITIES DECODE
function html_entity_decode(str) {
  var ta=document.createElement("textarea");
  ta.innerHTML=str.replace(/</g,"&lt;").replace(/>/g,"&gt;");
  return ta.value;
}

//******************************************
// FORMATEAR NÚMERO con sparador de miles
// * numero (Number o String) - Número que se mostrará
// * decimales (Number, opcional) - Nº de decimales (por defecto, auto)
// * separador_decimal (String, opcional) - Separador decimal (por defecto, coma)
// * separador_miles (String, opcional) - Separador de miles (por defecto, ninguno)
function formato_numero(numero, decimales, separador_decimal, separador_miles){ // v2007-08-06
    numero=parseFloat(numero);
    if(isNaN(numero)){
        return "";
    }

    if(decimales!==undefined){
        // Redondeamos
        numero=numero.toFixed(decimales);
    }

    // Convertimos el punto en separador_decimal
    numero=numero.toString().replace(".", separador_decimal!==undefined ? separador_decimal : ",");

    if(separador_miles){
        // Añadimos los separadores de miles
        var miles=new RegExp("(-?[0-9]+)([0-9]{3})");
        while(miles.test(numero)) {
            numero=numero.replace(miles, "$1" + separador_miles + "$2");
        }
    }

    return numero;
}

//******************************************
//CALCULAR VALOR ITEM

function calcularitem(n){
	if(n<10){ n = "0"+n; }
	var totalitem=0;
	var auxi1 = "cantidad_"+n;
	var auxi2 = "valor_unitario_"+n;
	var auxi3 = "valor_total_"+n;
	var cantidaditem = document.getElementById(auxi1);
	var valoru = document.getElementById(auxi2);
	var valoritem = document.getElementById(auxi3);
	
	totalitem = parseFloat(cantidaditem.value)*parseFloat(valoru.value);
	if(isNaN(totalitem)){ totalitem=0; }
	valoritem.value = Math.round(totalitem);
}


//*********************
// SUMA para la órden de compra
function sumartodo(cant){
var pre = 0;
var desc = 0;
var neto = 0;
var iva = 0;
var total = 0;
var campo5 = document.getElementById("pre_neto");
var campo4 = document.getElementById("descuento");
var campo1 = document.getElementById("valor_neto");
var campo2 = document.getElementById("iva");
var campo3 = document.getElementById("valor_total");
if(isNaN(parseInt(campo4.value))){
		desc = 0;
	}else{
		desc = parseInt(campo4.value);
	}
campo4.value=desc;

 for($i=1;$i<=cant;$i++){
	 if($i<10){ $i="0"+$i; }
	 var auxi = "valor_total_"+$i;
	 var n = parseInt(document.getElementById(auxi).value);
	 if(isNaN(n)){
		 	pre += 0;
		 }else{
	 		pre += n;
		 }
	 }
	campo5.value=formato_numero(pre,0,",","."); //Valor pre neto
	neto = parseInt(pre - (pre * desc / 100));
	campo1.value=formato_numero(neto,0,",","."); //Neto post descuento
	iva = parseInt(neto * 0.19);
	campo2.value=formato_numero(iva,0,",","."); //IVA
	total = neto + iva;
	campo3.value=formato_numero(total,0,",","."); //Total
}

//*********************
// Pone automáticamente los datos de los proveedores
function poner_proveedor(idprov){
		var campo_proveedor=document.getElementById("proveedor");
		var campo_fono=document.getElementById("fono");
		var campo_rut=document.getElementById("rut_proveedor");
		var campo_direccion=document.getElementById("direccion");
		
		// Creo el nuevo objeto AJAX y envio al servidor el ID del select a cargar y la opcion seleccionada del select origen
		var ajax=nuevoAjax();
		ajax.open("GET", "add_orden.php?accion=ajax&idprov="+idprov, true);
		//ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		//ajax.send("select="+idSelectDestino+"&opcion="+opcionSeleccionada);
		ajax.onreadystatechange=function() 
		{ 
			if (ajax.readyState==1)// Mientras carga
			{
					
			}
			if (ajax.readyState==4)// Ok
			{
				//selectDestino.parentNode.innerHTML=ajax.responseText;
				//alert(ajax.responseText);
				var textos = ajax.responseText.split("|");
				campo_proveedor.value = html_entity_decode(textos[0]);
				campo_fono.value = html_entity_decode(textos[1]);
				campo_rut.value = html_entity_decode(textos[3]);
				campo_direccion.value = html_entity_decode(textos[2]);
			} 
		}
		ajax.send(null);
}


//******************************************
//FUNCIÓN POPUP
function popup(target, name, features){
window.open(target, name, features); 
}
//  Se Usa
//  <a href="archivo.html" onclick="popUp(this.href, 'Popup1', 'width=100,height=200'); return false;">Abrir popup</a>

//******************************************
// FUNCIÓN TARGET BLANK, para xhtml
function openExternal(){
if(!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName('a');
for(var i = 0; i < anchors.length; i++){        
var thisAnchor = anchors[i];        
if(thisAnchor.getAttribute('href') && thisAnchor.getAttribute('rel') == 'external'){
thisAnchor.target = '_blank';        
}    
}
}
window.onload = openExternal;
// Se usa
// <a href="http://www.google.cl" rel="external">Google</a>



//******************************************
// OCULTAR O MOSTRAR ELEMENTO
function cerrarPopup(pid){
document.getElementById(pid).style.visibility = 'hidden';		
}
function abrirPopup(pid){
document.getElementById(pid).style.visibility = 'visible';
}

// CONFIRMAR BORRADO
function borrar() {
	return confirm('¿Está seguro de borrar esta noticia?');
}