// *****************************************************
// YUI callback object
// *****************************************************
var callback = {
    success: function(o) {
        // Returned data array
        // [0] = status returned from the server
        // [1] = status message IF there was a server error
        // [2] = callback function to call
        // [3] = return data array from server

        // eval the json returned array
        var returnArray = eval('(' + o.responseText + ')');
        
        // get rest of variables
        //todo: build status check and logging of messages
        var status = returnArray[0];
        var msg = returnArray[1];
        var callback = returnArray[2];
        var returnData = returnArray[3];
        
        // dynamic callback function name returned from the server
        //todo: determine if dynamic function callback is even required
        window[callback+'_callback'](returnData);
    },
    failure: function(o) {
        //todo: need a failure routine
        alert('Process failed');
    }
} 

// *****************************************************
// rating brokers
// *****************************************************

// Submit rating to the server
function rateUser(rating, uid, vuid) {
    var sUrl = "/ext/rating.php?rating="+rating+"&uid="+uid+"&vuid="+vuid;
    var transaction = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback, null);
}

// rate user callback
function rateUser_callback(returnData) {
    var rating = returnData[0] * 25;
    //update # of stars and message
    document.getElementById('current-rating').style.width = rating+'px';
    document.getElementById('status').innerHTML = 'Thank you for rating this user..';
}


// *****************************************************
// user/fans
// *****************************************************

// add a user to a fan's list
function addFan(uid, fan_id) {
    var sURL = "/ext/fan.php?uid="+uid+"&fan_id="+fan_id;
    var transaction = YAHOO.util.Connect.asyncRequest('GET', sURL, callback, null);
}

// add fan callback
function addFan_callback(returnData) {
    // Update add-fan div
    document.getElementById('add-fan').innerHTML = 'This user has been added to your fan list..';
}
