var global_userID = 0;
var global_moderator_level = 0;
function shopics(actorID, order, page, visitor_userID, moderator_level)
{
    global_userID = visitor_userID;
    global_moderator_level = moderator_level;
    var urlz = "/cast/pics/xmlpics?actorID=" + actorID + "&order=" + order + "&page=" + page;
    loadXMLDocshopics(urlz);
}
function erase_pic(droppi, actorID, order, page, poster, visitor_userID, moderator_level)
{
    global_userID = visitor_userID;
    global_moderator_level = moderator_level;
    var urlz = "/cast/pics/xmlerase_pic?droppi=" + droppi + "&actorID=" + actorID + "&order=" + order + "&page=" + page;
    var eraseconfmessage = 'are you sure you want to erase this post from: ' + poster;
    var r=confirm(eraseconfmessage);
    if(r==true)
    {
        loadXMLDocerase_pic(urlz);
    }
}

var reqshopics;
function loadXMLDocshopics(url) 
{
    if (window.XMLHttpRequest)
    {
        // branch for native XMLHttpRequest object
        reqshopics = new XMLHttpRequest();
        reqshopics.onreadystatechange = processReqChangeshopics;
        reqshopics.open("GET", url, true);
        reqshopics.send(null);
    }
    else if (window.ActiveXObject)
    {
        // branch for IE/Windows ActiveX version
        reqshopics = new ActiveXObject("Microsoft.XMLHTTP");
        if (reqshopics)
        {
            reqshopics.onreadystatechange = processReqChangeshopics;
            reqshopics.open("GET", url, true);
            reqshopics.send();
        }
    }
}
//read chitchat from xml and shit it out!
function processReqChangeshopics() 
{
    if (reqshopics.readyState == 4)
    {
        if (reqshopics.status == 200)
        {
            var result_string = "<h5>pics:</h5>";
            var response = reqshopics.responseXML.documentElement;
            var result = response.getElementsByTagName("result")[0].firstChild.data;
            if(result == "ok")
            {
                var pagination_string = '';
                var totalboxes = response.getElementsByTagName("totalboxes")[0].firstChild.data;
                var totalpages = response.getElementsByTagName("totalpages")[0].firstChild.data;
                var thispage = response.getElementsByTagName("thispage")[0].firstChild.data;
                var actorID = response.getElementsByTagName("actorID")[0].firstChild.data;
                var order = response.getElementsByTagName("order")[0].firstChild.data;
                var orderbytimelink = ' -<a style="cursor:pointer" onclick="shopics(' + actorID + ', ' + "'time'" + ', 1, ' + global_userID + ', ' + global_moderator_level + ')">oldest</a>';
                var orderbytimerevlink = ' -<a style="cursor:pointer" onclick="shopics(' + actorID + ', ' + "'time_DESC'" + ', 1, ' + global_userID + ', ' + global_moderator_level + ')">most recent</a>';
                var orderbyratinglink = ' -<a style="cursor:pointer" onclick="shopics(' + actorID + ', ' + "'rating'" + ', 1, ' + global_userID + ', ' + global_moderator_level + ')">best rating</a>';
                var orderbyratingrevlink = ' -<a style="cursor:pointer" onclick="shopics(' + actorID + ', ' + "'rating_DESC'" + ', 1, ' + global_userID + ', ' + global_moderator_level + ')">worst rating</a>';
                var reorderstring = orderbytimelink + orderbytimerevlink + orderbyratinglink + orderbyratingrevlink;
                if(order=='time')
                {
                    var orderedby = 'oldest';
                }
                else if(order=='time_DESC')
                {
                    var orderedby = 'most recent';
                }
                else if(order=='rating')
                {
                    var orderedby = 'best rating';
                }
                else if(order=='rating_DESC')
                {
                    var orderedby = 'worst rating';
                }
                var orderstring = '<div class="effect" style="font-size:80%;">currently ordered by: ' + orderedby + '<br /> re-order by: ' + reorderstring + '</div>';
                if(totalboxes==0)
                {
                    result_string = result_string + 'empty<br />';
                }
                else
                {
                    result_string = result_string + orderstring;
                }
                totalpages = Math.abs(totalpages);
                if(totalpages > 1)
                {
                    var previouspage = Math.abs(thispage)-1;
                    var nextpage = Math.abs(thispage)+1;
                    if(thispage>1)
                    {
                        var previouspagebutton = '<a onclick="shopics(' + actorID + ', ' + "'" + order + "'" + ', ' + previouspage + ', ' + global_userID + ', ' + global_moderator_level + ')" style="cursor:pointer;">previous</a> | ';
                    }
                    else
                    {
                        var previouspagebutton = '';
                    }
                    if(thispage<totalpages)
                    {
                        var nextpagebutton = ' | <a onclick="shopics(' + actorID + ', ' + "'" + order + "'" + ', ' + nextpage + ', ' + global_userID + ', ' + global_moderator_level + ')" style="cursor:pointer;">next</a>';
                    }
                    else
                    {
                        var nextpagebutton = '';
                    }
                    pagination_string = '<div class="effect" style="font-size:80%;">' + previouspagebutton + 'page ' + thispage + ' of ' + totalpages + nextpagebutton + '</div>';
                }
                result_string = result_string + pagination_string;
                var count = 0;
                var willeval=new Array();
                while (count < totalboxes)
                {
                    count++;
                    if(count==1)
                    {
                        result_string = result_string + "<table style='width:100%;'><tr>";
                    }
                    var thispicIDname = "picID_" + count;
                    var thisactorIDname = "actorID_" + count;
                    var thisuserIDname = "userID_" + count;
                    var thisposting_timename = "posting_time_" + count;
                    var thisratingname = "rating_" + count;
                    var thisvotesname = "votes_" + count;
                    var thisURLname = "URL_" + count;
                    var thispicID = response.getElementsByTagName(thispicIDname)[0].firstChild.data;
                    var thisactorID = response.getElementsByTagName(thisactorIDname)[0].firstChild.data;
                    var thisuserID = response.getElementsByTagName(thisuserIDname)[0].firstChild.data;
                    var thisposting_time = response.getElementsByTagName(thisposting_timename)[0].firstChild.data;
                    var thisrating = response.getElementsByTagName(thisratingname)[0].firstChild.data;
                    var thisvotes = response.getElementsByTagName(thisvotesname)[0].firstChild.data;
                    var thisURL = response.getElementsByTagName(thisURLname)[0].firstChild.data;
                    if(thisuserID==0)
                    {
                        var posterlink = 'a guest';
                        var usernameforbuttons = 'a guest';
                    }
                    else
                    {
                        var thispublicnamename = "public_name_" + thisuserID;
                        var thispublicname = response.getElementsByTagName(thispublicnamename)[0].firstChild.data;
                        var posterlink = "<a href='http://backstage." + myhappydomain + "/userpage?u=" + thisuserID + "'>" + thispublicname + "</a> ";
                        var usernameforbuttons = thispublicname;
                    }
                    if((thisuserID==global_userID && thisuserID!=0) || global_moderator_level>0)
                    {
                        var deletebutton = '<a onclick="erase_pic(' + thispicID + ", " + actorID + ', ' + "'" + order + "'" + ', ' + thispage + ', ' + "'" + usernameforbuttons + "'" + ', ' + global_userID + ', ' + global_moderator_level + ')" style="cursor:pointer;color:red;">X</a>';
                    }
                    else
                    {
                        var deletebutton = '';
                    }
                    var thispicid = 'supapic_' + thispicID;
                    var thisdatarow = '<a href="' + thisURL + '" target="_blank"><img src="' + thisURL + '" id="' + thispicid + '" style="width:100px;height:100px;" /></a><br /><input type="text" value="' + thisURL + '" style="width:100px;" /><br />posted by ' + posterlink + " " + maketimus(thisposting_time) + " <span id='picvotesstring" + thispicID + "'>" + makevotesstring(thisrating, thisvotes, thispicID, 'pic') + "</span>  " + deletebutton;
                    willeval[count]='put_pic("' + thispicid + '","' + thisURL + '","http://gomoviez.info/common_files/pics/noface.jpg",100,100)';
                    result_string = result_string + "<td style='width:20%;'>" + thisdatarow + "</td>";
                }
                if(count<5)
                {
                    result_string = result_string + "<td style='width:20%;'>&#160;</td>";
                }
                if(count>=1)
                {
                    result_string = result_string + "</tr></table>";
                }
                result_string = result_string + pagination_string;
            }
            else
            {
                result_string = 'error connecting to database';
            }
            document.getElementById("pics").innerHTML = result_string;
            for(x in willeval)
            {
                eval(willeval[x]);
            }
        }
        else
        {
            alert("There was a problem retrieving the XML data:\n" + reqshopics.statusText);
        }
    }
}




var global_userID = 0;
var global_moderator_level = 0;
function add_pic(actorID, visitor_userID, moderator_level)
{
    global_userID = visitor_userID;
    global_moderator_level = moderator_level;
    var pic = document.getElementById("pic_URL").value;
    var urlz = "/cast/pics/xmladdpic?actorID=" + actorID + "&pic=" + escape(pic);
    loadXMLDocadd_pic(urlz);
}
var reqadd_pic;
function loadXMLDocadd_pic(url) 
{
    if (window.XMLHttpRequest)
    {
        // branch for native XMLHttpRequest object
        reqadd_pic = new XMLHttpRequest();
        reqadd_pic.onreadystatechange = processReqChangeadd_pic;
        reqadd_pic.open("GET", url, true);
        reqadd_pic.send(null);
    }
    else if (window.ActiveXObject)
    {
        // branch for IE/Windows ActiveX version
        reqadd_pic = new ActiveXObject("Microsoft.XMLHTTP");
        if (reqadd_pic)
        {
            reqadd_pic.onreadystatechange = processReqChangeadd_pic;
            reqadd_pic.open("GET", url, true);
            reqadd_pic.send();
        }
    }
}
function processReqChangeadd_pic() 
{
    if (reqadd_pic.readyState == 4)
    {
        if (reqadd_pic.status == 200)
        {
            var result_string = "";
            var response = reqadd_pic.responseXML.documentElement;
            var result = response.getElementsByTagName("result")[0].firstChild.data;
            var actorID = response.getElementsByTagName("actorID")[0].firstChild.data;
            if(result=='ok')
            {
                shopics(actorID, 'posting_time_DESC', 'last', global_userID, global_moderator_level);
            }
            else if(result=='error')
            {
                var loginmessage = 'problems reaching database, please try reloading the page';
                alert(loginmessage);
            }
            else if(result=='tooshort')
            {
                var loginmessage = 'this URL is too short';
                alert(loginmessage);
            }
            else if(result=='login')
            {
                var loginmessage = 'please login to add a picture';
                alert(loginmessage);
            }
        }
        else
        {
            alert("There was a problem retrieving the XML data:\n" + reqadd_pic.statusText);
        }
    }
}


function votepic(picID, note)
{
    var votesbox = 'picvotesstring' + picID;
    document.getElementById(votesbox).innerHTML = '...Loading...';
    var urlz = "/cast/pics/xmlvotepics?picID=" + picID + "&note=" + note;
    loadXMLDocvotepic(urlz);
}
var reqvotepic;
function loadXMLDocvotepic(url)
{
    if (window.XMLHttpRequest)
    {
        // branch for native XMLHttpRequest object
        reqvotepic = new XMLHttpRequest();
        reqvotepic.onreadystatechange = processReqChangevotepic;
        reqvotepic.open("GET", url, true);
        reqvotepic.send(null);
    }
    else if (window.ActiveXObject)
    {
        // branch for IE/Windows ActiveX version
        reqvotepic = new ActiveXObject("Microsoft.XMLHTTP");
        if (reqvotepic)
        {
            reqvotepic.onreadystatechange = processReqChangevotepic;
            reqvotepic.open("GET", url, true);
            reqvotepic.send();
        }
    }
}
function processReqChangevotepic() 
{
    if (reqvotepic.readyState == 4)
    {
        if (reqvotepic.status == 200)
        {
            var response = reqvotepic.responseXML.documentElement;
            var result = response.getElementsByTagName("result")[0].firstChild.data;
            var rating = response.getElementsByTagName("rating")[0].firstChild.data;
            var votes = response.getElementsByTagName("votes")[0].firstChild.data;
            var picID = response.getElementsByTagName("picID")[0].firstChild.data;
            if(result=='ok')
            {
                var votesbox = 'picvotesstring' + picID;
                var redonevotesbox = makevotesstring(rating, votes, picID, 'pic');
                document.getElementById(votesbox).innerHTML = redonevotesbox;
            }
        }
        else
        {
            alert("There was a problem retrieving the XML data:\n" + reqvotepic.statusText);
        }
    }
}







var reqerase_pic;
function loadXMLDocerase_pic(url)
{
    if (window.XMLHttpRequest)
    {
        // branch for native XMLHttpRequest object
        reqerase_pic = new XMLHttpRequest();
        reqerase_pic.onreadystatechange = processReqChangeerase_pic;
        reqerase_pic.open("GET", url, true);
        reqerase_pic.send(null);
    }
    else if (window.ActiveXObject)
    {
        // branch for IE/Windows ActiveX version
        reqerase_pic = new ActiveXObject("Microsoft.XMLHTTP");
        if (reqerase_pic)
        {
            reqerase_pic.onreadystatechange = processReqChangeerase_pic;
            reqerase_pic.open("GET", url, true);
            reqerase_pic.send();
        }
    }
}
function processReqChangeerase_pic() 
{
    if (reqerase_pic.readyState == 4)
    {
        if (reqerase_pic.status == 200)
        {
            var response = reqerase_pic.responseXML.documentElement;
            var result = response.getElementsByTagName("result")[0].firstChild.data;
            var thispage = response.getElementsByTagName("page")[0].firstChild.data;
            var actorID = response.getElementsByTagName("actorID")[0].firstChild.data;
            var order = response.getElementsByTagName("order")[0].firstChild.data;
            if(result=='ok')
            {
                shopics(actorID, order, thispage, global_userID, global_moderator_level);
            }
            else if(result=='error')
            {
                var loginmessage = 'problems reaching database, please try reloading the page';
                alert(loginmessage);
            }
        }
        else
        {
            alert("There was a problem retrieving the XML data:\n" + reqerase_pic.statusText);
        }
    }
}

