var loginDiv;
var userName;
var userPassword;
var sUrl;
var postData;
var request;

var callBackLogin = {
    success:handleLoginSuccess,
    failure:handleLoginFailure
};

var callBackLogout = {
    success:handleLogoutSuccess,
    failure:handleLogoutFailure
};

function handleLoginSuccess(o) {
    var r = eval('(' + o.responseText + ')');
    if(r.hasError){
        var errorString = '';
        for(var i=0; i < r.errors.length; i++){
            errorString += r.errors[i];
        }
        alert(errorString);
    } else if(r.access == 'granted') {
        window.location.reload( true );
        //loginDiv = document.getElementById('login_div');
        //userName = r.userName;
        //loginDiv.innerHTML='Logged in as <span id="email_div">'+userName+'</span><a href=# onclick="doLogout();"/> Logout</a>';
    } else {
        loginDiv.innerHTML += "<li>Error!! Try Again </li>";
    }
}

function handleLoginFailure (o) {
        loginDiv.innerHTML += "<li>Error!! Try Again </li>";
}

function handleLogoutSuccess(o) {
    loginDiv = document.getElementById('login_div');
    var r = eval('(' + o.responseText + ')');
    if(r.hasError){
        var errorString = '';
        for(var i=0; i < r.errors.length; i++){
            errorString += r.errors[i];
        }
        alert(errorString);
    } else if (r.logout !== undefined) {
        if(r.logout =='success') {
            window.location.reload( true );
            //loginDiv.innerHTML ='<span id="home_login_container"><input type="text" id="username" value="Email Address" style="margin: 0px 2px" onclick="this.select()" onfocus="this.select()"><input type="password" id="password" value="********" onkeypress="return checkEnter(event)" onclick="this.select()" onfocus="this.select()" style="margin: 0px 4px 0px 2px"><span class="login_links_background"><a href=# class="top_nav_link" onClick="makeRequest();">Login</a>&nbsp; | &nbsp;<a href=# class="top_nav_link">Sign Up</a></span></span>';
        }
    } else {
        alert(r.logout);
    }
}

function handleLogoutFailure (o) {
    if(o.responseText !== undefined) {
        loginDiv.innerHTML += "<li>Error!! Try Again </li>";
    }
}

function makeRequest() {
    userName     = document.getElementById('username').value;
    userPassword = document.getElementById('password').value;
    loginDiv          = document.getElementById('login_div');
    sUrl         = "/scripts/authenticate.php";
    postData     = "userName="+userName+"&userPassword="+userPassword;

    loginDiv.innerHTML = 'Refreshing, please wait &nbsp; &nbsp; <img src="images/indicator.gif">';
    request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callBackLogin, postData);
}

function doLogout() {
    userName	 =  document.getElementById('email_div').innerHTML;
    sUrl         = "/scripts/logout.php";
    postData     = "userName="+userName;			
    loginDiv          = document.getElementById('login_div');

    loginDiv.innerHTML = 'Refreshing, please wait &nbsp; &nbsp; <img src="images/indicator.gif">';
    request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callBackLogout, postData);
}

function checkEnter(e){
    if(e.keyCode == 13){
        makeRequest();
        return false;
    } else {
        return true;
    }
}

