   query_queue= new Array(); 
   ax_queue= new Array();

   function do_query(query,ax)
   {
    if(ax_queue.length>0) { query_queue.push(query);}
    else { exec_query(query);}
    ax_queue.push(ax);
   }


   function exec_query(query)
   {    if(query=='') { return; }
        
        newscrpt=document.createElement('SCRIPT');
        newscrpt.setAttribute('id','dbscript')
        newscrpt.setAttribute('language','javascript')

        url='fiche.php?query='+escape(query);
//document.morf.debugit.value=url;
        newscrpt.setAttribute('src',url)
        container=document.getElementById('mainframe');

        response_arrived=false;
        container.replaceChild(newscrpt,document.getElementById('dbscript')); 
        document.body.style.cursor='wait';
        setTimeout('checkarrival();',10);
   }
   
   function checkarrival()
   {
     if(!response_arrived) setTimeout('checkarrival();',10);
     else 
     {       // alert('debug:'+sql_debug);
       post_query_ax=ax_queue.shift();
            
       
       //Start next query in 50ms, time to finish first this proc
       if(query_queue.length>0) setTimeout('exec_query(query_queue.shift());',50);
       

              
       document.body.style.cursor='default';
       if(query_err!='') alert('SQL ERROR:'+query_err);
       else eval(post_query_ax); 
     }
   }



