problema sqlite javascript


Ciao a tutti ho questo codice che utilizzo per la mia app android...
non riesco a capire perché se utilizzo il codice nella index.html tutto funziona bene ma se lo inserisco in un'altra pagina non và!!! per caso devo aprire il db prima???grazie
codice:
 
<script language="Javascript">
 var dataBox = null;
            var entrateBox = null;
            var db = null;
            var dataTable = null;
            /** Called when phonegap javascript is loaded */
            function onDeviceReady(){
                var addButton = document.getElementById("add");
                    dataBox = document.getElementById("data");
                    entrateBox = document.getElementById("entrate");
                    dataTable = document.getElementById("data-table");
					
                    
             db = window.openDatabase("contactDB", "1.0", "Contact Database", 1000000);//name,version,display name, size
             addButton.addEventListener(
                                        "click",
                                        function(){
                                                
                                                db.transaction(
                                                        //function sql statements
                                                        function (tx){
                                                                ensureTableExists(tx);
                                                                var data = dataBox.value;
                                                                var entrate = entrateBox.value;
                                                                
           var sql = 'INSERT INTO Bilancio (data, entrate) VALUES ("'+data+'","'+entrate+'")';
                                                                tx.executeSql(sql);
                                                        
                                                        },
                                                        //error callback
                                                        function (err){
                                                                alert("error callback "+err.code);
                                                                
                                                        },
                                                        //success callback
                                                        function (err){
                                                                //alert("success callback "+err.code);
                                                                loadFromDB();
                                                        }
                                                        );
                                                
                                                
                        }, 
                                        false);
                               loadFromDB();
                
            }
            
                        function loadFromDB(){
                                
                                db.transaction(
                                                        //function sql statements
                                                        function (tx){
                                                                ensureTableExists(tx);
                                                                tx.executeSql('SELECT * FROM Bilancio', 
                                                                                                [], 
                                                                    function(tx, results){
                                             var htmlStr=""; 
      for(var index=0;index<results.rows.length;index++){
       var item = results.rows.item(index);
        htmlStr=htmlStr+"<tr><td>"+item.data+"</td><td>"+item.entrate+"</td><td><button onclick=\"deleteEntry('"+item.id+"');\">X</button></td></tr>";
                            
                                      }
     dataTable.innerHTML=htmlStr;
                             } 
                                    ,
                   function(err){
                   alert("Unable to fetch result from Bilancio Table");
                                                                                                }
                                                                                        );                                                                                              
                                                        
                                                        },
                                                        //error callback
                                                        function (err){
                                                                alert("error callback "+err.code+" "+err.message);
                                                                
                                                        },
                                                        //success callback
                                                        function (){
                                                                dataBox.value="";
                                                                entrateBox.value="";
                                                                
                                                        }
                                                        ); 
                                
                                 
                        }
                        
                        function deleteEntry(id){
                                db.transaction(
                                                        //function sql statements
                                                        function (tx){
                                                                ensureTableExists(tx);
                                                                tx.executeSql('Delete FROM Bilancio where id='+id);                                                                                             
                                                        
                                                        },
                                                        //error callback
                                                        function (err){
                                                                alert("error callback "+err.code+" "+err.message);
                                                                
                                                        },
                                                        //success callback
                                                        function (err){
                                                                //alert("success callback ");
                                                                loadFromDB();
                                                                
                                                        }
                                                        );
                                
                                 
                        }
                        
            function ensureTableExists(tx){
     tx.executeSql('CREATE TABLE IF NOT EXISTS Bilancio (id INTEGER PRIMARY KEY, data, entrate, uscite, riposo, spesa)');
                        
                        }
            /** Called when browser load this page*/
            function init(){
                document.addEventListener("deviceready", onDeviceReady, false);
            }
</script>