var xslt;
var xmlDoc;
var xslt_profiles;
var xmlDoc_profiles;
var xslt_forum;
var xmlDoc_forum;

// Updates chatroom user lists
function updateUserList(type)
{
    if(typeof xslt == 'undefined'){
        var xsl_file;

        if(type == 1) type='';
        if (strLang && strLang != 'fr'){
            xsl_file = (type) ? 'users' + type + '_' + strLang + '.xsl' : 'users_' + strLang + '.xsl';
        }
        else{
            xsl_file = (type) ? 'users' + type + '.xsl' : 'users.xsl';
        }

        xslt = getXML(xsl_file + '?rnd=' + getTimeSeed());
    }
    xmlDoc = loadXML('/data/user_list.xml' + '?rnd=' + getTimeSeed(), processUserListData);
}
function processUserListData(aReq)
{
    if ((aReq.readyState == 4) && (aReq.status == 200)) {
        xmlDoc = aReq.responseXML;

        list = document.getElementsByTagName("div");
        for (i in list) {
            el = list[i];
            if(typeof(el) != 'undefined'){
                re = /muser_list_(.*)/;
                div_id = String(el.id);
                if((div_id) && (div_id.match(re) != null)){
                    el.style.display = "block";
                }
            }
        }
        processDataFragment('mybobtv_room_list', xmlDoc, xslt);
    }
}

// Switch favourite profiles list page
function switchProfilesPage(number)
{
    stopRotateGifts();
    if(typeof xslt_profiles == 'undefined'){
        if (strLang && strLang != 'fr'){
            xsl_file = '/profile_list_' + strLang + '.xsl';
        }
        else{
            xsl_file = '/profile_list.xsl';
        }
        xslt_profiles = getXML(xsl_file + '?rnd=' + getTimeSeed());
    }
    loadXML('/get_profile_list.php?p=' + number + '&rnd=' + getTimeSeed(), processProfileList);
}
function processProfileList(aReq)
{
    if ((aReq.readyState == 4) && (aReq.status == 200)) {
        xmlDoc_profiles = aReq.responseXML;

        processDataFragment('profile_list', xmlDoc_profiles, xslt_profiles);
        startRotateGifts();
    }
}

// Update last gifted profiles list
function updateLastGifts()
{
    if(typeof xslt_last_gifts == 'undefined'){
        var lang = strLang;
        if (! lang) lang='fr';
        xsl_file = '/last_gifts_' + lang + '.xsl';
        xslt_last_gifts = getXML(xsl_file + '?rnd=' + getTimeSeed());
    }
    loadXML('/get_last_gifts.php?rnd=' + getTimeSeed(), processLastGifts);
}
function processLastGifts(aReq)
{
    if ((aReq.readyState == 4) && (aReq.status == 200)) {
        xmlDoc_last_gifts = aReq.responseXML;
        processDataFragment('last_gifts_list', xmlDoc_last_gifts, xslt_last_gifts);
        fixGiftsPng();
    }
}

// Update forum last topics list
function updateForumList()
{
   if(typeof xslt_forum == 'undefined'){
        var xsl_file = '/forum.xsl';
        xslt_forum = getXML(xsl_file + '?rnd=' + getTimeSeed());
    }
    loadXML('/data/forum.xml' + '?rnd=' + getTimeSeed(), processForumList);
}
function processForumList(aReq)
{
    if ((aReq.readyState == 4) && (aReq.status == 200)) {
        xmlDoc_forum = aReq.responseXML;
        processDataFragment('forum_list', xmlDoc_forum, xslt_forum);
        jQuery("#forum_list a").textOverflow('...', true);
    }
}

// Update BestOfMy room list
function updateBestOfMy()
{
    makeRequest2("/get_best_of_my.php?rnd=" + getTimeSeed(), "mybobtv_top");
}


// User notification features
var gifted_member_name;

var event_marks = new Array(
    "you_have_xxl_gift",
    "you_have_gift",
    "member_has_xxl_gift",
    "member_has_gift",
    "you_have_message",
    "you_have_guestbook_message",
    "yor_are_invited",
    "banner"
);

function switchEventMarks(event_mark) {
    var em = window.event_marks;
    for(var i=0;i<em.length;i++) {
        var mark = document.getElementById(em[i]);
        if(!mark) continue;
        mark.style.display = em[i] == event_mark ? "block" : "none";
    }
}

function processNotifications(aReq) {
    if (aReq.readyState < 4 || aReq.status != 200) return;
    
    var response = aReq.responseText.replace(/^\s+|\s+$/g, '');
    var event = "";
    if(response == "" || response == "0") {
        switchEventMarks("banner");
        return;
    }

    if(response == "my_gift") {
        switchEventMarks("you_have_gift");
        return;
    }

    if(response == "my_xxl_gift") {
        switchEventMarks("you_have_xxl_gift");
        return;
    }

    if(response.substring(0,5) == "gift:") {
        gifted_member_name = response.substring(5);
        document.getElementById("gifted_member_link").setAttribute("href", strLangPath + "/profiles/" + gifted_member_name);
        document.getElementById("gifted_member_name").innerHTML = gifted_member_name;
        switchEventMarks("member_has_gift");
        return;
    }

    if(response.substring(0,9) == "xxl_gift:") {
        gifted_member_name = response.substring(9);
        document.getElementById("gifted_xxl_member_link").setAttribute("href", strLangPath + "/profiles/" + gifted_member_name);
        document.getElementById("gifted_xxl_member_name").innerHTML = gifted_member_name;
        switchEventMarks("member_has_xxl_gift");
        return;
    }

    if(response == "message") {
        switchEventMarks("you_have_message");
        return;
    }

    if(response == "gb") {
        switchEventMarks("you_have_guestbook_message");
        return;
    }

    if(response == "invitation") {
        switchEventMarks("yor_are_invited");
        return;
    }

    switchEventMarks("banner");
}

