var curWidth = 0;
var curPos = 0;
var drag = false;
var what;
var when;

var firstItem;
var item;
var itemElement;
var itemElements;

function init_nav() {
   for(i = 0; i < document.getElementsByTagName('ul').length; 
       i++) {
      if(document.getElementsByTagName('ul')[i].className == 
      "opened") {
         id = 
         document.getElementsByTagName('ul')[i].parentNode.id;
         toggle_list(id, false);
      }
   }
   if(window.name.length > 0)       
      load_nav();
}


function toggle_list(id, save) {
   ul = "ul_" + id;
   img = "img_" + id;
   ul_element = document.getElementById(ul);
   img_element = document.getElementById(img);
   if(ul_element) {
       if(ul_element.className == 'closed') {
          ul_element.className = "opened";
          img_element.src = "opened.gif";
       } 
       else {
          ul_element.className = "closed";
          img_element.src = "closed.gif";
       }
   }
   if(save == true) save_nav();
}

function save_nav() {

   var save = "";
   for(var i = 0; i < document.getElementsByTagName('ul').length;
   i++) {
      if((document.getElementsByTagName('ul')[i].className == 
      "opened" || 
      document.getElementsByTagName('ul')[i].className == 
      "closed") && document.getElementsByTagName('ul')[i].id != 
      'root') 
         save = save + document.getElementsByTagName('ul')[i].id 
         + "=" + document.getElementsByTagName('ul')[i].className 
         + ",";
   }
   if(save.lastIndexOf(",") > 0) 
      save = save.substring(0, save.lastIndexOf(","));
   window.name = save;
}

function load_nav() {
   var items = window.name.split(",");
   if(items.length > 0) {
      for(var i = 0; i < items.length; i++) {        
         id_value = items[i].split("=");         
         if(id_value.length == 2) {
            id = id_value[0];  
            value = id_value[1];
            document.getElementById(id).className = value;
            img = "img_" + id.substring(3, id.length);
            img_element = document.getElementById(img);
            if(value == "closed")
               img_element.src = "closed.gif";  
            else
               img_element.src = "opened.gif";
         }
      }
   }
}

function change_feed_order(order, direction)
{

    var url = "pokerfeed/set-prefs.php";
    alert(url);
    var params = "feed_order=" + order + "&feed_direction=" + direction;
    alert(params);
    var complete = function () { refreshlist(); };
    var options = { method: 'post', parameters: params, onComplete: complete };
    
    new Ajax.Request(url, options);

    return false;

}
function refreshitem(id)
{
    
    var url = 'item.php';
    var params = 'id=' + id;
    new Ajax.Updater($("i"+id), url, {method: 'get', parameters: params });
}


function refreshlist()
{
    
    var url = 'bloglist.php';
    var params = "what=" + what + "&when=" + when;
        
    new Ajax.Updater($('bloglist'), url, {method: 'get', parameters: params, evalScripts: true });
}



function throb()
{
    Element.show('throbber');
}

function unthrob()
{
    Element.hide('throbber');
}

// this fancy bit of computer science from Aristotle Pagaltzis @ http://plasmasturm.org/log/311/
function iterate( iterable ) {
    var i = -1;
    var getter = function() { return i < 0 ? null : i < iterable.length ? iterable[ i ] : null; };
    return function() { return ++i < iterable.length ? getter : null };
}

function continueupdate()
{
    if(feed = feedi())
    {
        f = feed();
        new Insertion.Bottom($('items'), 'Updating  ' + f['title'] + "... ");
        $('items').childElements().last().scrollTo();

        new Ajax.Updater('items', 'update-single.php', {
            method: 'get',
            parameters: 'feed=' + f['id'],
            insertion: Insertion.Bottom,
            onComplete: continueupdate
        });
    }
    else
    {
        new Insertion.Bottom($('items'), '<br>Update complete!');
        refreshlist();
    }
}

function continueadd()
{    
    if(feed = feedi())
    {
        f = feed();
        new Insertion.Bottom($('items'), 'Adding  ' + f['url'] + "... ");
        $('items').childElements().last().scrollTo();

        parameters = 'url=' + encodeURIComponent(f['url']);

        new Ajax.Updater('items', 'add-single.php', {
            method: 'get',
            parameters: parameters,
            insertion: Insertion.Bottom,
            onComplete: continueadd
        });
    }
    else
    {
        new Insertion.Bottom($('items'), '<br>Done!');
        refreshlist();
    }
}

function ajaxupdate()
{
    feedi = iterate(feedslist);
    continueupdate();
}

function ajaxadd()
{
    feedi = iterate(feedslist);
    continueadd();
}
