function set_focus_on_eleid( id ){
    var ele = document.getElementById( id );
    if( ele ){
        ele.select();
        ele.focus();
    }
}
function set_focus_on_first_qty(){
        var eles = document.getElementsByTagName("input");
        for( i=0; i < eles.length; i++ ){
            var ele = eles[i];
            if( ele.id.indexOf( 'qta_' )==0 ){
                set_focus_on_eleid( ele.id );
                break;
            }
        }
}
function set_focus_on_search(){
    var ele = document.getElementById('search_artcode');
    if( ele )
        ele.focus();
}

function copy_inner_html( from_id, to_tag, to_klass ){
        var obj =  document.getElementById( from_id );
        if( obj != null ){
                var value = obj.innerHTML;
                update_all( to_tag, to_klass, value );        
        }
}

function update_all( tag, klass, value ){
        var xele = document.getElementsByTagName( tag );
        for( i in xele ){
            ele = xele[i];
            if( ele.className == klass ){
                ele.innerHTML = value;
            }
        }
}
 
function getNum( x ){        
        var y = 0;
        if( isNaN( x ) ){
                if( x.indexOf(",")>=0 ){
                        x=x.replace( ",","\\." );
                        y = parseFloat( x);
                }
        }else
                y = x;
        
        return y;
}

function toBasket(  basketType, sid, artid, qta, massid, ivaid, replace, reload ){
        var link = "/eradix/basket/add.jsp;jsessionid="+sid;        
        var now = new Date();
        if( qta && getNum(qta) && artid ){
                if(  !massid )
                        massid = "";
                if( !ivaid )
                        ivaid = "";
                link +="?artid="+artid+"&qta="+qta+"&massid="+massid+"&iva="+ivaid+"&basket="+basketType+"&now="+now.getTime();
                if( replace )
                        link += "&replace=1";
                callDoc( link );
                if( reload == null )
                        reload = true;
                
                if( reload )
                        reloadBasket();
        }
        //disabilitato perche' se in una lista lunga si perde la posizione :)
        //set_focus_on_search();
        //sostituioto con questo cosi' da tornare nello stesso punto :)
         var obj =  document.getElementById( 'elements_found' );
         if( obj != null && obj.innerHTML == "1" ){ 
            set_focus_on_eleid( 'search_artcode' ); 
         }
        
}

function add2Basket(  sid, artid, qta, massid, ivaid,replace ){
        toBasket(  1 , sid, artid, qta, massid, ivaid, replace );
}       

function delFromBasket(  sid, artid, qta, massid, ivaid ){
        toBasket(  -1 , sid, artid, qta, massid, ivaid );
}



function multiAdd2Basket( link, sid , location_replace, no_element_selected_msg ,comparable ){
        if( location_replace  == null )
            location_replace = true;    
            
        if( comparable == null )
            comparable = true;    
            
        var eles = document.getElementsByTagName( 'input' );
        link += ";jsessionid="+sid;
        var xlength = eles.length;
        var selected = false;
        for( var i = 0; i<xlength ; i++){
                var now = new Date();
                var ele =  eles[i];
                if( ele != null && ele.type != null && ele.type == 'checkbox' ){
                        if( ele.checked ){
                                var id = ele.id;
                                var aid = id.substring(6);
                                var qta = document.getElementById( "qta__"+aid );                                
                                if( qta != null && getNum( qta.value ) ){
                                    selected=true;                                        
                                        var massid =  "";
                                        if( document.getElementById( "massid__"+aid) )
                                                massid = document.getElementById( "massid__"+aid).value;
                                        var ivaid = "";
                                        if( document.getElementById( "iva__"+aid ) )                                                
                                                ivaid = document.getElementById( "iva__"+aid).value;
                                        
                                        var xlink=link+"?basket=2&artid="+aid+"&qta="+qta.value
                                        if( ivaid )
                                                xlink+="&iva="+ivaid;        
                                        if( massid )
                                                xlink+="&massid="+massid;
                                        xlink+="&now="+now.getTime();
                                        callDoc( xlink );
                                        if( comparable )
                                                add2Compare(aid);
                                }                                
                                ele.checked = false;
                        }
                }
        }                
        if( location_replace ){
                location.replace( location.href );
        }else{
                if( document.getElementById('dyn_basket') != null )
                        reloadBasket();
        }
        erase_comparable_cookie();
        if( !selected )
            alert( no_element_selected_msg )
}

var multi_add_http_request;

function get_multi_add_http_request(){
        if( multi_add_http_request==null ){
                if (window.ActiveXObject) 
                        multi_add_http_request = new ActiveXObject("Microsoft.XMLHTTP");
                else 
                        multi_add_http_request = new XMLHttpRequest();
        }
        return multi_add_http_request;
}

function callDoc( url ){                       
        if( get_multi_add_http_request() != null ){                      
                get_multi_add_http_request().onreadystatechange=basket_process_req_change;                
                get_multi_add_http_request().open( "GET", url, false );                                
                get_multi_add_http_request().send( null );                
        }
}

function basket_process_req_change() {
        if (get_multi_add_http_request().readyState == 4) {
                // only if "OK"
                if (get_multi_add_http_request().status == 200) {
                        get_multi_add_http_request().responseText;             
                } else {
                        alert("ERROR:\n"+ get_multi_add_http_request().statusText);
                }
        }
        
}

function sum_dispatch(){
        var target = document.getElementById('basket-detail-sum');
        var source = document.getElementById('basket-sum');                
        if( target && source ){
                var source = document.getElementById('basket-sum');                
                target.innerHTML = source.innerHTML;
        }
}

