/**
 * Funciones asociadas a la gestión del carrito. 
 *  -   addCart --añadir carrito clásico. Recarga la página de nuevo actualizando bean de carrito
 *  -   remCart
 *  -   modifyCart
 *  -   emptyCart
 *  -   addPromotion 04-04-2008
 *  -   emptyPromotion 04-04-2008
 *  -   addCartAjax --añadir carrito pero con tratamiento ajax recatualizando el carrito pero sin recarga de página
 *  -   handleAddCartRes -- Maneja la respuesta ajax del carrito
 */
<!--
/* Función que añade un producto al carrito*/
function addCart(formu,act,codProducto,cantidad){
    formu.accion.value='add_product';
    formu.cantidad.value=cantidad;
    //formu.precio_final.value=precio;
    formu.cod_producto.value=codProducto;
    formu.action=act;
    //alert("ct:"+formu.ct.value)
    formu.submit();
}
function addCartAjax(formu,act,codProducto,cantidad){
    var al=Math.random(); //Sólución para problemas en la cache de ie, añadir un param aleatorio para hacer las peticiones.
    formu.accion.value='add_product';
    formu.ajax.value='ajax';
    formu.cantidad.value=cantidad;
    //formu.precio_final.value=precio;
    formu.cod_producto.value=codProducto;
    //selecciono regalo extra en caso de que lo tenga el producto

    if(document.getElementById("codregaloextracheck")){
        formu.cod_regalo_extra.value='';//inicio el regalo extra
        if(document.forms['form_present'].codregaloextracheck.checked) formu.cod_regalo_extra.value = document.forms['form_present'].codregaloextracheck.value
        else {
            for (var i=0;i<document.forms['form_present'].codregaloextracheck.length;i++){ 
                if (document.forms['form_present'].codregaloextracheck[i].checked) {
                    formu.cod_regalo_extra.value = document.forms['form_present'].codregaloextracheck[i].value
                    break;
                }
            } 
        }//Fin hay más de un elemento
    }

    //para ajax, tengo que poner el filete entero de url con post, lo mismo de lo mismo
    act=act+"&ct="+formu.ct.value+"&accion="+formu.accion.value+"&ajax="+formu.ajax.value+"&cantidad="+formu.cantidad.value+"&precio_final="+formu.precio_final.value+"&cod_producto="+formu.cod_producto.value+"&cod_regalo_extra="+formu.cod_regalo_extra.value+"&nocache="+al;
    makeRequestAJAXNew(act,handleAddCartRes,'GET');//si no añadir los parámetros como get!!
}
function remCart(formu,act,index){
    formu.accion.value='remove_product';
    formu.index_prod.value=index;
    formu.action=act;
    formu.submit();
}
function emptyCart(formu,act){
    formu.accion.value='empty_cart';
    formu.action=act;
    formu.submit();
}
function modifyCart(formu,act,index,field){
    //alert("value: "+field.value+", name: "+field.name)
    intValor = parseInt(field.value);
    if (intValor < 1){//si hay un 0, lo actualizao al mínimo que es una unidad
        field.value = 1;
    }
    formu.accion.value='modify_product';
    formu.cantidad.value=field.value;
    formu.index_prod.value=index;
    formu.action=act;
    formu.submit();
}
/* Función que activa una promoción al carrito */
function addPromotion(formu,act){
    formu.accion.value='add_promotion';
    formu.cod_promocion.value=document.forms['form_promotion'].cod_promocion.value;
    if(formu.cod_promocion.value=="") errorS+=errorStrings[20]+"\n";
    if (errorS=="") {
        formu.action=act;
        formu.submit();
    }
    else {alert(errorS);errorS="";}
}
/* Función que desactiva un promoción al carrito */
function emptyPromotion(formu,act){
    formu.accion.value='empty_promotion';
    //alert("eliminando promocion: "+formu.cod_promocion.value);
    formu.action=act;
    formu.submit();
}
/* Maneja la vuelta de la petición ajax */
function handleAddCartRes () {
    //if(http.readyState == 4)alert("http: "+http.readyState+",status: "+http.status)
    if((http.readyState == 4)&&(http.status == 200)){
        var responseText = http.responseText;
        //alert("BIEN!!! http.readyState:"+http.readyState+",http.status:"+http.status+"\n responseText: "+responseText)
	if (responseText){
            cartdiv=document.getElementById("addToCart");
            document.getElementById('cartinfo').innerHTML='';
            document.getElementById('cartinfo').innerHTML=responseText;
            //Effect.toggle(cartdiv.id,'slide')
            Effect.SlideDown(cartdiv.id,{duration:1.5})
            window.scrollTo(0,cartdiv.offsetTop);
            //window.location.href="#buy_product";//Sólución a devolver el foco al producto comprado
	}
    }//fin readState valido
}
/*Sólo permite escribir números en un input, en otro caso los borra directamente con el evento onkeyup*/
function numberKey(objInputText){
    strTmp = "";
    cad = objInputText.value;
    for (var i = 0; i < cad.length; i++) {
        var caracter = cad.charAt(i);
	if (!isNaN(caracter)) strTmp = strTmp + caracter;
    }
    objInputText.value = strTmp;
} 
 -->