/**
 * @author Karl
 */

var content;
var current_expanded_babble;
var filter_box = false;
var filter_news = false;
var filter_opinion = false;
var filter_review = false;
var total_content = 5;
var xmlHttp;


function Babble_Changed() {
     if(xmlHttp.readyState==4 && xmlHttp.status==200)
     {
          if(xmlHttp.responseText != "success")
               alert("There was an error updating the database."); 
     }
}

function Babble_Clicked(id, state, type) {
     babble_clicked = true;
     xmlHttp = GetXmlHttpObject();
     xmlHttp.onreadystatechange = Babble_Changed;
     xmlHttp.open("POST", "class/ajax_writer.php", true);
     xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
     
     if (state == "off") {
          if (type == "up") {
               if(document.getElementById("babble_thumb_down_" + id).className == "babble_thumb_down") {
                    xmlHttp.send("function=addThumb&babble=" + id + "&user=" + document.getElementById("u_id").value + "&value=1&remove=true");
                    document.getElementById("babble_thumb_down_" + id).innerHTML = "<img src=\"cache/images.1/empty.png\" onmouseover=\"Babble_Roll_On('" + id + "','off','down');\" onmouseout=\"Babble_Roll_Off('" + id + "','off','down');\" onclick=\"Babble_Clicked('" + id + "','off','down');\" height=\"16\" width=\"17\">";
                    document.getElementById("babble_thumb_down_" + id).className = "babble_thumb_down_fade";
                    document.getElementById("babble_thumb_down_score_" + id).innerHTML = parseInt(document.getElementById("babble_thumb_down_score_" + id).innerHTML) - 1;
               }
               else {
                    xmlHttp.send("function=addThumb&babble=" + id + "&user=" + document.getElementById("u_id").value + "&value=1&remove=false");
               }
               document.getElementById("babble_thumb_up_" + id).innerHTML = "<img src=\"cache/images.1/empty.png\" onmouseover=\"Babble_Roll_On('" + id + "','on','up');\" onmouseout=\"Babble_Roll_Off('" + id + "','on','up');\" onclick=\"Babble_Clicked('" + id + "','on','up');\" height=\"16\" width=\"17\">";
               document.getElementById("babble_thumb_up_score_" + id).innerHTML = parseInt(document.getElementById("babble_thumb_up_score_" + id).innerHTML) + 1;
          }
          else {
               if(document.getElementById("babble_thumb_up_" + id).className == "babble_thumb_up") {
                    xmlHttp.send("function=addThumb&babble=" + id + "&user=" + document.getElementById("u_id").value + "&value=0&remove=true");
                    document.getElementById("babble_thumb_up_" + id).innerHTML = "<img src=\"cache/images.1/empty.png\" onmouseover=\"Babble_Roll_On('" + id + "','off','up');\" onmouseout=\"Babble_Roll_Off('" + id + "','off','up');\" onclick=\"Babble_Clicked('" + id + "','off','up');\" height=\"16\" width=\"17\">";
                    document.getElementById("babble_thumb_up_" + id).className = "babble_thumb_up_fade";
                    document.getElementById("babble_thumb_up_score_" + id).innerHTML = parseInt(document.getElementById("babble_thumb_up_score_" + id).innerHTML) - 1;
               }
               else {
                    xmlHttp.send("function=addThumb&babble=" + id + "&user=" + document.getElementById("u_id").value + "&value=0&remove=false");
               }
               document.getElementById("babble_thumb_down_" + id).innerHTML = "<img src=\"cache/images.1/empty.png\" onmouseover=\"Babble_Roll_On('" + id + "','on','down');\" onmouseout=\"Babble_Roll_Off('" + id + "','on','down');\" onclick=\"Babble_Clicked('" + id + "','on','down');\" height=\"16\" width=\"17\">";
               document.getElementById("babble_thumb_down_score_" + id).innerHTML = parseInt(document.getElementById("babble_thumb_down_score_" + id).innerHTML) + 1;
          }
     }
     else {
          xmlHttp.send("function=removeThumb&babble=" + id + "&user=" + document.getElementById("u_id").value);
          if (type == "up") {
               document.getElementById("babble_thumb_up_" + id).innerHTML = "<img src=\"cache/images.1/empty.png\" onmouseover=\"Babble_Roll_On('" + id + "','off','up');\" onmouseout=\"Babble_Roll_Off('" + id + "','off','up');\" onclick=\"Babble_Clicked('" + id + "','off','up');\" height=\"16\" width=\"17\">";
               document.getElementById("babble_thumb_up_score_" + id).innerHTML = parseInt(document.getElementById("babble_thumb_up_score_" + id).innerHTML) - 1;
          }
          else {
               document.getElementById("babble_thumb_down_" + id).innerHTML = "<img src=\"cache/images.1/empty.png\" onmouseover=\"Babble_Roll_On('" + id + "','off','down');\" onmouseout=\"Babble_Roll_Off('" + id + "','off','down');\" onclick=\"Babble_Clicked('" + id + "','off','down');\" height=\"16\" width=\"17\">";
               document.getElementById("babble_thumb_down_score_" + id).innerHTML = parseInt(document.getElementById("babble_thumb_down_score_" + id).innerHTML) - 1;
          }
     }
}

function Babble_Expand(id) {
     current_expanded_babble = id;
     document.getElementById('babble_expand_' + id).style.display = "none";  
     document.getElementById('babble_expanded_' + id).style.display = "block"; 
     document.getElementById('babble_expanded_exit').style.display = "block";
     return false;    
}

function Babble_Expand_Exit() {
     document.getElementById('babble_expand_' + current_expanded_babble).style.display = "block";  
     document.getElementById('babble_expanded_' + current_expanded_babble).style.display = "none"; 
     document.getElementById('babble_expanded_exit').style.display = "none";
}

function Babble_Roll_Off(id, state, type) {
     if(!babble_clicked) {
          if (state == "on") {
               if (type == "up") {
                   document.getElementById("babble_thumb_up_" + id).className = "babble_thumb_up";     
               }  
               else {
                   document.getElementById("babble_thumb_down_" + id).className = "babble_thumb_down";
               }
          }
          else {
               if (type == "up") {
                    document.getElementById("babble_thumb_up_" + id).className = "babble_thumb_up_fade";
               }
               else {
                    document.getElementById("babble_thumb_down_" + id).className = "babble_thumb_down_fade";
               }
          }
     }
}

function Babble_Roll_On(id, state, type) {
     babble_clicked = false;
     if (state == "on") {
          if (type == "up") {
              document.getElementById("babble_thumb_up_" + id).className = "babble_thumb_up_fade";     
          }  
          else {
              document.getElementById("babble_thumb_down_" + id).className = "babble_thumb_down_fade";
          }
     }
     else {
          if (type == "up") {
               document.getElementById("babble_thumb_up_" + id).className = "babble_thumb_up";
          }
          else {
               document.getElementById("babble_thumb_down_" + id).className = "babble_thumb_down";
          }
     }
}

function Build_Content_Array() {
     content = document.getElementById("c_array").value.substr(1).split(";");
}

function Content_Repaint() {
     var shown = 0;
     
     for (x in content) {
          var a = content[x].split("|");
          var t = a[0]; // type
          var i = a[1]; // id
          var s = a[2]; // state
               
          if(shown<total_content) {
               if(eval("filter_" + t)) {
                    if(s!="off") {
                         document.getElementById("article_" + t + "_" + i).style.display = "none";
                         content[x] = t + "|" + i + "|off";
                    }
               }
               else {
                    if(s!="on") {
                         document.getElementById("article_" + t + "_" + i).style.display = "block";
                         content[x] = t + "|" + i + "|on";
                    }
                    shown++;
               }
          }
          else {
               if(s!="off") {
                    document.getElementById("article_" + t + "_" + i).style.display = "none";
                    content[x] = t + "|" + i + "|off";
               }
          }
          
     }
}

function Content_Restyle() {
     var alt = true;
     var prev_t;
     var prev_s;
     
     for (x in content) {
          var a = content[x].split("|");
          var t = a[0]; // type
          var i = a[1]; // id
          var s = a[2]; // state
          
          if(s=="on") {
               if(alt) {
                    document.getElementById("article_" + t + "_" + i).className = "article " + t + "_alt";
               }
               else {
                    document.getElementById("article_" + t + "_" + i).className = "article " + t + "_regular";
               }
               
               alt = !alt;
               prev_t = t;
               prev_s = s;
          }
     }
}

function Content_Remove(value) {
     for (x in content) {
          if(content[x]==value) {
               content.splice(x,1) 
          }
     }
}

function Event_Page_Load() {
     Build_Content_Array();
}

function GetXmlHttpObject() {
     xmlHttp = null;
     
     if(window.XMLHttpRequest)
          xmlHttp = new XMLHttpRequest();   
     else
          xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
     
     return xmlHttp;
}

function Hide_Clicked(type, subtype, id) {
     Content_Remove(subtype + "|" + id + "|on");
     Content_Repaint();
     Content_Restyle();
     document.getElementById("article_" + subtype + "_" + id).style.display = "none";
}

function Hide_Roll_Off(type, subtype, id) {
     document.getElementById("article_" + subtype + "_hide_" + id).className = "article_hide_off";
}

function Hide_Roll_On(type, subtype, id) {
     document.getElementById("article_" + subtype + "_hide_" + id).className = "article_hide_on";   
}

function Toggle_Filter(type)
{
     if (document.getElementById("filter_" + type).className.indexOf("on") == -1)
     {
          document.getElementById('filter_' + type).className = "filter_on";
     }
     else
     {
          document.getElementById('filter_' + type).className = "filter_off";
     }
     
     eval("filter_" + type + " = !filter_" + type);
     Content_Repaint();
     Content_Restyle();
     
     return false;
}
