Barnaby Norman

MySQL Genie - Source Code

Barnaby Norman Home Page | Site Map | Family Norman Genealogy Site | Contact Me

Genie Javascript / AJAX

Full source code for genie.js

function set_cookie()
{
    
var error false;
    
    
var username document.getElementById('username').value;
    
    if(
! username)
    {
        
error true;
        
document.getElementById('nameStar').style.visibility "visible";
    }
    
    
var password document.getElementById('password').value;

    if(
! password)
    {
        
error true;
        
document.getElementById('passStar').style.visibility "visible";
        
    }
    
    
var hostname document.getElementById('hostname').value;

    if(
! hostname)
    {
        
error true;
        
document.getElementById('hostStar').style.visibility "visible";
    }
    
    if(
error){

        
document.getElementById('errorStar').style.visibility "visible";

        return 
false;
     }
     else{
    
        
document.cookie "username=" escape(username);
    
        
document.cookie "password=" escape(password);
    
        
document.cookie "hostname=" escape(hostname);
        
        
listDatabases();
    
        return 
true;
    }
    
}

function 
listDatabases(){
        
    
var sendData "listDatabases;";
        
    
runGenie(sendData);
        
    return 
true;
}
    
function 
listTables(database){
        
    
var sendData "listTables;" database;
        
    
runGenie(sendData);
}
    
function 
listData(table){
        
    
var sendData "listData;" table;
        
    
runGenie(sendData);
}
    
function 
runGenie(sendData)
{
    if (
window.XMLHttpRequest)
    {
        
// Mozilla version
        
genie_ajax new XMLHttpRequest();
    }
    else if (
window.ActiveXObject)
    {
        
// IE version
        
genie_ajax new ActiveXObject("Microsoft.XMLHTTP");
    }
        
    
var sendData encodeURIComponent(sendData);
    
genie_ajax.open("POST","genie.php");

    
genie_ajax.setRequestHeader('Content-Type''application/x-www-form-urlencoded; charset=UTF-8');

    
genie_ajax.send(sendData);

    
genie_ajax.onreadystatechange=function()
    {
        if (
genie_ajax.readyState==4)
        {
            
document.getElementById('content').innerHTML genie_ajax.responseText;
        }
    }
        
    return 
true;
}