// gaybar.js
// Ron Lau 2009
// Copyright Netcast Platform 2009
//
// Created       : 07/04/2009
// <script>

function updateLists()
{
    updLsts.req = getXMLHttpRequest();
    reqData(updLsts.req, "bardata.php?" + Math.random(), '', updLsts, "POST");
}

function updLsts()
{
    var req = updLsts.req;
    if(req === undefined)
        return;
    else
    {
        if(req.readyState == 4)
        {
            if(req.status == 200)
            {
                var resp = req.responseXML;
                var ele, val, flag, flag2, adflag;
                prepareAd(resp);
                var paralist = resp.getElementsByTagName('radio')[0].childNodes;
                flag = flag2 = adflag = true;
                for(var index = 0; index < paralist.length ; ++index)
                {
                    if(flag)
                        ele = document.getElementById('recProg');
                    else
                    {
                        ele = document.getElementById('ddList_radio').firstChild;
                        if(ele.nodeType != 1)
                            ele = getNextSib(ele);
                        ele = ele.firstChild;
                        if(updLsts.debug && (!ele || ele == null || typeof(ele) == "undefined"))
                            alert("Error! 41");
                        if(ele.nodeType != 1)
                            ele = getNextSib(ele);
                        ele = ele.rows[index + (flag2 ? 1 : 2)];

                        if(flag2)
                        {
                            if(updLsts.txtad.length)
                            {
                                val = Math.floor(Math.random() * updLsts.txtad.length);
                                ele.firstChild.firstChild.lastChild.firstChild.nodeValue = updLsts.txtad[val].cont;
                                ele.firstChild.firstChild.style.color = "#3366CC";
                                ele.title = updLsts.txtad[val].cont;
                                var temp = "ele.onclick = function onclick(e){" + (updLsts.txtad[val].newwin ? "window.open('" : "gotoURL('") + updLsts.txtad[val].linkhref + "');}";
                                eval("ele.onclick = function onclick(e){" + (updLsts.txtad[val].newwin ? "window.open('" : "gotoURL('") + updLsts.txtad[val].linkhref + "');}");
                                if(updLsts.txtad.length < 3)
                                    adflag = false;
                                else
                                    updLsts.txtad.splice(val);
                            }
                            flag2 = false;
                            index = -1;
                            continue;
                        }
                    }

                    val = paralist[index].childNodes[0].firstChild.nodeValue + " - " + paralist[index].childNodes[1].firstChild.nodeValue;
                    ele.title = val;
                    eval('ele.onclick = function onclick(e){gotoURL("program.php?p=' + paralist[index].getAttribute("progID") + "#" + paralist[index].getAttribute("episID") + '");}');
                    if(index == 0 && flag)
                        ele.firstChild.firstChild.lastChild.nodeValue = val;
                    else
                        ele.firstChild.firstChild.lastChild.firstChild.nodeValue = val;
                    if(flag)
                    {
                        flag = false;
                        --index;
                    }
                }

                paralist = resp.getElementsByTagName('forum')[0].childNodes;
                flag = flag2 = true;
                for(var index = 0; index < paralist.length ; ++index)
                {
                    if(index == 0 && flag)
                        ele = document.getElementById('recPost');
                    else
                    {
                        ele = document.getElementById('ddList_forum').firstChild;
                        if(ele.nodeType != 1)
                            ele = getNextSib(ele);
                        ele = ele.firstChild;
                        if(ele.nodeType != 1)
                            ele = getNextSib(ele);
                        ele = ele.rows[index + (flag2 ? 1 : 2)];

                        if(flag2)
                        {
                            if(updLsts.txtad.length)
                            {
                                val = Math.floor(Math.random() * updLsts.txtad.length);
                                ele.firstChild.firstChild.lastChild.firstChild.nodeValue = updLsts.txtad[val].cont;
                                ele.firstChild.firstChild.style.color = "#3366CC";
                                ele.title = updLsts.txtad[val].cont;
                                eval("ele.onclick = function onclick(e){" + (updLsts.txtad[val].newwin ? "window.open('" : "gotoURL('") + updLsts.txtad[val].linkhref + "');}");
                                if(adflag)
                                    updLsts.txtad.splice(val);
                            }
                            flag2 = false;
                            index = -1;
                            continue;
                        }
                    }

                    val = paralist[index].childNodes[0].firstChild.nodeValue;
                    ele.title = val;
                    eval('ele.onclick = function onclick(e){gotoURL("/forum/redirect.php?tid=' + paralist[index].getAttribute("tid") + '&goto=newpost#newpost");}');
                    if(index == 0 && flag)
                        ele.firstChild.firstChild.lastChild.nodeValue = val;
                    else
                        ele.firstChild.firstChild.lastChild.firstChild.nodeValue = val;
                    if(flag)
                    {
                        flag = false;
                        --index;
                    }
                }

                paralist = resp.getElementsByTagName('blog')[0].childNodes;
                flag = flag2 = true;
                for(var index = 0; index < paralist.length ; ++index)
                {
                    if(index == 0 && flag)
                        ele = document.getElementById('recBlog');
                    else
                    {
                        ele = document.getElementById('ddList_blog').firstChild;
                        if(ele.nodeType != 1)
                            ele = getNextSib(ele);
                        ele = ele.firstChild;
                        if(ele.nodeType != 1)
                            ele = getNextSib(ele);
                        ele = ele.rows[index + (flag2 ? 1 : 2)];

                        if(flag2)
                        {
                            if(updLsts.txtad.length)
                            {
                                val = Math.floor(Math.random() * updLsts.txtad.length);
                                ele.firstChild.firstChild.lastChild.firstChild.nodeValue = updLsts.txtad[val].cont;
                                ele.firstChild.firstChild.style.color = "#3366CC";
                                ele.title = updLsts.txtad[val].cont;
                                eval("ele.onclick = function onclick(e){" + (updLsts.txtad[val].newwin ? "window.open('" : "gotoURL('") + updLsts.txtad[val].linkhref + "');}");
                                if(adflag)
                                    updLsts.txtad.splice(val);
                            }
                            flag2 = false;
                            index = -1;
                            continue;
                        }
                    }

                    val = paralist[index].childNodes[0].firstChild.nodeValue;
                    ele.title = val;
                    eval('ele.onclick = function onclick(e){gotoURL("' + paralist[index].childNodes[1].firstChild.nodeValue + '");}');
                    if(index == 0 && flag)
                        ele.firstChild.firstChild.lastChild.nodeValue = val;
                    else
                        ele.firstChild.firstChild.lastChild.firstChild.nodeValue = val;
                    if(flag)
                    {
                        flag = false;
                        --index;
                    }
                }
            }
            updLsts.txtad = null;
            updLsts.req = null;
        }
    }
}

function checkPM()
{
    checkPM.req = getXMLHttpRequest();
    reqData(checkPM.req, "mailcnt.php", '', updatePMcnt, "POST");
}

function updatePMcnt()
{
    var req = checkPM.req;
    if(req === undefined)
        return;
    else
    {
        if(req.readyState == 4)
        {
            if(req.status == 200)
            {
                var resp = req.responseXML;
                var cnt = resp.firstChild.firstChild.firstChild
                //var cnt = getFirstChild(getFirstChild(getFirstChild(resp)));
                if(cnt != null)
                    cnt = tmp.nodeValue
                else
                    cnt = 0;

                var ele = document.getElementById('pmButton');
                ele.className = (cnt ? "pmIconMail" : "pmIconUp") + " ptcur";
                eval('ele.mouseout = function(){this.className="' + (cnt ? "pmIconMail" : "pmIconUp") + ' ptcur";}');
                eval('ele.onmouseup = function(){this.className="' + (cnt ? "pmIconMail" : "pmIconUp") + ' ptcur";}');

                ele = document.getElementById('mailcnt');
                ele.className = "mailcnt " + (cnt < 10 ? "mailcntPos" : "mailcntPos2");
                clearChildren(ele);
                ele.appendChild(document.createTextNode(cnt));
            }
            checkPM.req = null;
        }
    }
}

function textad(cont, linkhref, newwin)
{
    this.cont = cont;
    this.linkhref = linkhref;
    this.newwin = (newwin != 0 ? true : false);
}

function prepareAd(resp)
{
    var txtad = resp.getElementsByTagName('textad')[0].childNodes;
    if(txtad)
    {
        updLsts.txtad = new Array();
        for(var index = 0; index < txtad.length; ++index)
        {
            updLsts.txtad.push(new textad(txtad[index].childNodes[0].firstChild.nodeValue,
                               txtad[index].childNodes[1].firstChild.nodeValue,
                               txtad[index].childNodes[2].firstChild.nodeValue));
        }
        return true;
    }
    return false;
}

function auto_gaybar_update(arg)
{
    updateLists();
    if(arg)
        checkPM();
}

// </script>

