var settings = {};

settings['news_rss_content'] = {
    down_bnt: 'next_scroll_news',
    up_bnt: 'previous_scroll_news',
    path: '/home_rss/get_rss.php?type=news&noa=1&page=',
    per_page: 3,
    content_id: 'news_rss_content',
    loaded: 0,
    current: 0,
    last: 100,
    working: true
}

settings['decisions_rss_content'] = {
    down_bnt: 'next_scroll_decisions',
    up_bnt: 'previous_scroll_decisions',
    path: '/home_rss/get_rss.php?type=decisions&noa=1&page=',
    per_page: 3,
    content_id: 'decisions_rss_content',
    loaded: 0,
    current: 0,
    last: 100,
    working: true
}

/*
settings['down_bnt'] = 'next_scroll_news';
settings['up_bnt']  = 'previous_scroll_news';
settings['path'] = '/home_rss/get_rss.php?type=news&page='; 
settings['per_page'] = 3;
settings['content_id'] = 'news_rss_content';
settings['loaded'] = 0;
settings['current'] = 0;
settings['working'] = true;
*/

$(document).ready(function(){
  
  //load 2 first pages and init clicks  
  $.each(settings, function(key, values){
    settings[key]['current'] = 0;
    $('#' + key).css('margin-top', 0)
    
    load_data(0, key);
    
    $('.' + settings[key]['down_bnt']).click(function(){      
      id = $(this).attr('rel');
      if (!settings[id]['working'])
        scroll_feed("down", id);
        
      return false;
    });
    
    $('.' + settings[key]['up_bnt']).click(function(){
      id = $(this).attr('rel');
      if (!settings[id]['working'])
        scroll_feed("up", id);
        
      return false;
    });
  });
});

function scroll_feed(direction, content_id) {
  current_margin = $('#' + content_id).css('margin-top');    
  current_margin.replace("px", "");  
  current_margin = parseInt(current_margin);
  scroll_height = $('#' + content_id).parent().height();
  settings[content_id]['working'] = true;
  
  if (direction == "down") {    
    $('#' + content_id).animate({marginTop: (current_margin - scroll_height)} ,'slow' ,'linear', function() {
        settings[content_id]['current'] ++;
        if (settings[content_id]['current'] == (settings[content_id]['loaded'])) {          
          if (settings[content_id]['current'] != settings[content_id]['last']) {          
            load_data(settings[content_id]['loaded'] + 1, content_id)
          }
          else {
            settings[content_id]['working'] = false;
          }
        } 
        else {
          settings[content_id]['working'] = false;
        }
        update_buttons(content_id); 
      });
  }
  else {        
     $('#' + content_id).animate(
      {marginTop: (parseInt(current_margin) + scroll_height)}
      ,'slow' , "linear", function() {
        settings[content_id]['current'] --;              
        settings[content_id]['working'] = false;
        update_buttons(content_id);         
      });    
  }      
}

function load_data(page, id) {
  ajax_path = settings[id]['path'] + page + "&limit=" + settings[id]['per_page'] + "&id=" + id;
  
  settings[id]['loaded'] = page;  
  //load first page  
  $.ajax({
	  url: ajax_path,
	  success: function(data) {
		  append_content(data);
	  }   
  });    
  update_buttons(id); 
}

function append_content(data) {
  
  var ajax_data = eval('(' + data + ')');
  id = ajax_data['id'];
  
  scroll_height = $('#' + settings[id]['content_id']).parent().height();  
  $('#' + settings[id]['content_id']).append('<div style="height:' + scroll_height + 'px;">'+ ajax_data['content'] +'</div>'); 
  settings[id]['working'] = false;
  
  if (ajax_data['last'] == 1) {
    settings[id]['last'] = settings[id]['current'] + 1;
  }
  
  //init, load 2 pages
  if (ajax_data['offset'] == 0) {    
    load_data(1, id);
  }
  
  update_buttons(id);
    
}

function update_buttons(id) {    
  if (settings[id]['current'] == 0) {
    $('.' + settings[id]['down_bnt']).css('visibility', 'visible');
    $('.' + settings[id]['up_bnt']).css('visibility', 'hidden');    
  }
  else if (settings[id]['current'] == settings[id]['last']) {
    $('.' + settings[id]['up_bnt']).css('visibility', 'visible');
    $('.' + settings[id]['down_bnt']).css('visibility', 'hidden');
  }
  else {
    $('.' + settings[id]['up_bnt']).css('visibility', 'visible');
    $('.' + settings[id]['down_bnt']).css('visibility', 'visible');
  }
}


