function creaAjax(){
  var objetoAjax=false;
  try {
   /*Para navegadores distintos a internet explorer*/
   objetoAjax = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
   try {
     /*Para explorer*/
     objetoAjax = new ActiveXObject("Microsoft.XMLHTTP");
     } 
     catch (E) {
     objetoAjax = false;
   }
  }

  if (!objetoAjax && typeof XMLHttpRequest!='undefined') {
   objetoAjax = new XMLHttpRequest();
  }
  return objetoAjax;
}
function initRequest() {
	   	// code for Mozilla, etc.
       if (window.XMLHttpRequest) {
           return new XMLHttpRequest();
       } else if (window.ActiveXObject) {
       		// code for IE
           isIE = true;
           return new ActiveXObject("Microsoft.XMLHTTP");
       }
   }

function PFAjax (url,capa,valores,metodo)
{
   var ajax=initRequest();
   var capaContenedora = document.getElementById(capa);

/*Creamos y ejecutamos la instancia si el metodo elegido es POST*/
 if(metodo.toUpperCase()=='POST'){
    ajax.open ('POST', url, true);
    ajax.onreadystatechange = function() {
         if (ajax.readyState==1) {
                 capaContenedora.innerHTML="<div style='float:left; display:inline; font-family:Tahoma; margin:1px 0 0 9px; color:#8A8A8A; font-size:11px;'><img src='img/spinner-pq.gif' align='absmiddle' /> Cargando.......</div>";
         }
         else if (ajax.readyState==4){
            if(ajax.status==200)
            {
                 document.getElementById(capa).innerHTML=ajax.responseText; 
            }
            else if(ajax.status==404)
                 {

                     capaContenedora.innerHTML = "La direccion no existe";
                 }
             else
                 {
                     capaContenedora.innerHTML = "Error: ".ajax.status;
                 }
        }
    }
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send(valores);
    return;
}
/*Creamos y ejecutamos la instancia si el metodo elegido es GET*/
if (metodo.toUpperCase()=='GET'){

    ajax.open ('GET', url, true);
    ajax.onreadystatechange = function() {
         if (ajax.readyState==1) {
                 capaContenedora.innerHTML="Procesando.......";
         }
         else if (ajax.readyState==4){
            if(ajax.status==200){ 
                 document.getElementById(capa).innerHTML=ajax.responseText; 
            }
            else if(ajax.status==404)
                 {

                     capaContenedora.innerHTML = "La direccion existe";
                 }
                 else
                 {
                     capaContenedora.innerHTML = "Error: ".ajax.status;
                 }
        }
    }
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send(null);
    return
}
}


							function validarEntero(codigo){ 
							//intento convertir a entero. 
							//si era un entero no le afecta, si no lo era lo intenta convertir 
							valor = parseInt(codigo) 
							
							//Compruebo si es un valor numérico 
							if (isNaN(valor)) { 
							//entonces (no es numero) devuelvo el valor cadena vacia 
							return ""; 
							}else{ 
							//En caso contrario (Si era un número) devuelvo el valor 
							return valor; 
							} 
							} 
							
							//function Validarcesta(form){
							/*
							validar = document.pedir.qt.value;
							enteroValidado = validarEntero(validar) 
							if (enteroValidado == "" || document.pedir.qt.value<0)
							{ alert("El pedido minimo de este producto es de: "); document.pedir.qt.focus(); document.pedir.qt.value=0; 
							PFAjax('includes/calculadora.php','dimecoste','pid=0&cant=0','POST');
							return false; }
							*/
							//document.getElementById('pide').submit();
							
							//}
							function isFloat(val) {
							if(!val || (typeof val != "string" || val.constructor != String)) {
							return(false);
							}
							var isNumber = !isNaN(new Number(val));
							if(isNumber) {
								if(val.indexOf('.') != -1) {
									return(true);
									} else {
									return(false);
									}
							} else {
							return(false);
							}
							}
							

							function calcularcat(idm) {
							/*
							var conta="pid"+idm;
							var contb="qt"+idm;
							var minim="promo"+idm;
							var contenedor="dimecoste"+idm;
							enteroValidado = validarEntero(contb); 
							if (enteroValidado == "" || document.getElementById(contb).value<document.getElementById(minim).value)
							{ alert("El pedido minimo de este producto es de: "+document.getElementById(minim).value); document.getElementById(contb).value=document.getElementById(minim).value; 
							setTimeout("PFAjax('includes/calculadora.php','"+contenedor+"','pid='+document.getElementById('"+conta+"').value+'&cant='+document.getElementById('"+contb+"').value+'','POST')", 500);
							return false; } else {
							setTimeout("PFAjax('includes/calculadora.php','"+contenedor+"','pid='+document.getElementById('"+conta+"').value+'&cant='+document.getElementById('"+contb+"').value+'','POST')", 500);
							} */
							setTimeout("minimov("+idm+")",200);
							}
							
							function minimov(idm) {
							var esoferta="esoferta"+idm+"";
							var conta="pid"+idm+"";
							var conta_of="pidb"+idm+"";
							var contb="qt"+idm+"";
							var minimo="promo"+idm+"";
							var minimo_of="promob"+idm+"";
							var contenedor="cargap"+idm+"";
							minof = validarEntero(document.getElementById(minimo_of).value);
							
							enteroValidado = validarEntero(document.getElementById(contb).value);
							enteroValidadob = validarEntero(document.getElementById(minimo).value);

							var multiplo=(enteroValidado/enteroValidadob).toString(); var res=isFloat(multiplo);
							//alert(multiplo); alert(res);
							if ((enteroValidado == "" || enteroValidadob == "" || enteroValidado<enteroValidadob) || res==true)
							{ alert("El pedido minimo de este producto es de: "+document.getElementById(minimo).value+". Calcule su pedido con multiplos de la cantidad minima.");
							if (res==true && enteroValidado>enteroValidadob) {
							var cuantomas=enteroValidado-enteroValidadob;
							if (cuantomas<=enteroValidadob) {
							var total=enteroValidadob*2; document.getElementById(contb).value=total;
							} else if (cuantomas>enteroValidadob) {
							var multiplob=Math.ceil(multiplo); //alert(multiplob);
							var totalb=enteroValidadob*multiplob; document.getElementById(contb).value=totalb;
							}
							} else {
							document.getElementById(contb).value=document.getElementById(minimo).value; }
							
							cantval = validarEntero(document.getElementById(contb).value);
							if (document.getElementById(esoferta).value=="0") { var miprecio=conta; } //document.getElementById(conta).value
							if (document.getElementById(esoferta).value=="1" && (cantval<minof)) { var miprecio=conta; }
							if (document.getElementById(esoferta).value=="1" && (cantval>=minof)) { var miprecio=conta_of; }

							setTimeout("PFAjax('includes/cal-precio.php','"+contenedor+"','pid='+document.getElementById('"+miprecio+"').value+'&cant='+document.getElementById('"+contb+"').value+'','POST')", 200);
							return false; }
							cantval = validarEntero(document.getElementById(contb).value);
							if (document.getElementById(esoferta).value=="0") { var miprecio=conta; } //document.getElementById(conta).value
							if (document.getElementById(esoferta).value=="1" && (cantval<minof)) { var miprecio=conta; }
							if (document.getElementById(esoferta).value=="1" && (cantval>=minof)) { var miprecio=conta_of; }
							
							setTimeout("PFAjax('includes/cal-precio.php','"+contenedor+"','pid='+document.getElementById('"+miprecio+"').value+'&cant='+document.getElementById('"+contb+"').value+'','POST')", 200);
							}
							


