var g_fOnLogin;
var g_fOnLogout;

function DrawLoginBox(userid, username)
{
    document.getElementById('sidebar_login_area').innerHTML = "<table class='sidebar_login'><tr><td>logged in as "+username+"<br><a href='/user_profile&user="+userid+"'>favourites</a></td></tr><tr><td><a href='javascript:DoLogout()'>logout</a></td></tr></table>";
}

function DrawLogoutBox()
{
    document.getElementById('sidebar_login_area').innerHTML = "<form action='post' name='login_form'><table class='sidebar_login'><tr><td colspan='2'>Username</td></tr><tr><td colspan='2'><input class='sidebar_input' id='focus_me' maxlength='32' type='text' name='username' value=''/></td></tr><tr><td colspan='2'>Password</td></tr><tr><td colspan='2'><input class='sidebar_input' maxlength='32' type='password' name='password' value=''></td></tr><tr><td><a href='javascript:DoLogin()'>login</a></td><td align='right'><a href='/register_user'>register</a></td></tr></table></form>";
}

function DoLogin()
{
    xmlHttp=GetAjaxConnection();
    if (xmlHttp==null)
    {
        alert ("Your browser does not support logging in via this method.");
        return;
    } 
    
    var url="/exec/do_login.php?action=login&async=1";
    url = url + "&sid="+Math.random();

    var data="username="+document.login_form.username.value+"&password="+document.login_form.password.value ;

    xmlHttp.onreadystatechange=OnLoginStateChange;
    xmlHttp.open("POST",url,true);

    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", data.length);
    xmlHttp.setRequestHeader("Connection", "close");

    xmlHttp.send(data);

}

function OnLoginStateChange()
{
    if (xmlHttp.readyState==4)
    {    
        var response = xmlHttp.responseXML.documentElement;

        var result = response.getElementsByTagName('result')[0].childNodes[0].nodeValue;
        if(result=="ok")
        {
            var username = response.getElementsByTagName('username')[0].childNodes[0].nodeValue;
            var userid = response.getElementsByTagName('userid')[0].childNodes[0].nodeValue;

            DrawLoginBox(userid, username);

            if(g_fOnLogin != null)
                g_fOnLogin(username, userid);
        }
        else
        {
            alert(response.getElementsByTagName('error')[0].childNodes[0].nodeValue);
        }
        
    }
}

function DoLogout()
{
    xmlHttp=GetAjaxConnection();
    if (xmlHttp==null)
    {
        alert ("Your browser does not support logging in via this method.");
        return;
    } 
    
    var url="/exec/do_login.php?action=logout&async=1";
    url = url + "&sid="+Math.random();

    xmlHttp.onreadystatechange=OnLogoutStateChange;
    xmlHttp.open("GET",url,true);

    xmlHttp.send(null);

}

function OnLogoutStateChange()
{
    if (xmlHttp.readyState==4)
    {
    
        var response = xmlHttp.responseXML.documentElement;

        var result = response.getElementsByTagName('result')[0].childNodes[0].nodeValue;
        if(result=="ok")
        {      
            DrawLogoutBox();
        
            if(g_fOnLogout != null)
                g_fOnLogout();                            
        }
        else
        {
        
        }
        
    }
}


