/*
 * WatchList (for jQuery)
 * version: 1.0 (12/03/2009)
 * @requires jQuery v1.2 or later
 *
  *
 * Licensed under the MIT:
 *   http://www.opensource.org/licenses/mit-license.php
 *
 * Copyright 2009 Byss.pl
 *
 */
 
(function($) {
	
	 $.watchlist = function(data) {
			
		 if (data.nid && data.type){
			 
			 $.post(baseUrl + '/watch-list', {nid: data.nid, type: data.type}, 
			
				function(jsonData, textStatus) { 
					
			}, 'json');
		 }
	 }
	 
	 $.fn.watchlist = function(data) {
		 

	 }	 

  /*
   * Public, $.showme methods
   */

  $.extend($.watchlist, {
		
    settings: {
			is:	false,
			container: 'box-watch-list',
			slider_container: '.slider',
			up: '.link-slider-up',
			down: '.link-slider-down',
			loader: '.box-loader',
			item: '.item-wrapper',
			perpage: 3,
			page: 1,
			number_pages: 0,
			number: 0
    },
		init: function(){
			
			var _self = getObject($.watchlist.settings.container);
			
			if (typeof _self.attr('id') != 'undefined')
				$.watchlist.settings.is = true;
			
			if ($.watchlist.settings.is)
				$.watchlist.loading();
			
		},
		loading: function(){

			var _self, _loader, up, down;
			
			_self = getObject($.watchlist.settings.container);
			_height  = getObject('boxes-container').height();
			
			if ($.watchlist.settings.is){
				
				_self.next($.watchlist.settings.loader);
				_loader = _self.next($.watchlist.settings.loader);
				
				_loader.show();
				
				$.post(baseUrl + '/watch-list/load', {}, 
			
				function(jsonData, textStatus) { 
				
					if (jsonData.success){
							_self.html(jsonData.content);
							_up =_self.find($.watchlist.settings.up);
							_down =_self.find($.watchlist.settings.down);
							
							_up.click(function(){
								$.watchlist.up();
								
								if ($.watchlist.settings.page == 1){
										_self.find($.watchlist.settings.up).fadeOut();
										_self.find($.watchlist.settings.down).show();
								}		
							});
							
							_down.click(function(){
								$.watchlist.down();
								
								if ($.watchlist.settings.page == $.watchlist.settings.number_pages)
										_self.find($.watchlist.settings.down).fadeOut();
								
								if ($.watchlist.settings.page > 1)
										_self.find($.watchlist.settings.up).show();
							});
							
							$.watchlist.settings.number = _self.find(".item-wrapper").length;
							
							$.watchlist.settings.number_pages = Math.ceil($.watchlist.settings.number/$.watchlist.settings.perpage);
							
							_self.find(".item-wrapper:gt(" + ($.watchlist.settings.perpage -1) + ")").hide();
							
							if ($.watchlist.settings.number <= $.watchlist.settings.perpage){
								_self.find($.watchlist.settings.slider_container).hide();
							}
							
							_self.find($.watchlist.settings.up).hide();
							
							_self.show(500/*, function(){
							
								var _feeler = getObject('height_feeler');
								var _feeler_offset  = _feeler.offset();
								var _feeler_margin = 	_feeler.css('margin-bottom');							
								var _content = _self.find('.content');
								var _offset_content  = _content.offset();
								
								if ($.watchlist.settings.number < $.watchlist.settings.perpage){
									
									if (_feeler_margin){
										_feeler_margin  = parseInt(_feeler_margin);
									}
									
									_content.animate({height: getPixelUnit(_feeler_offset.top - _offset_content.top - 20 - _feeler_margin) }, 1500);
								}/	
								
							
							}*/);
					}		
					else
							_self.parent().hide();
					
					_loader.hide();
					
				}, 'json');
			}		
		},
		down: function(){
			
			var _self = getObject($.watchlist.settings.container);

			$.watchlist.settings.page++;
			_self.find(".item-wrapper:visible").hide();
			_start = ($.watchlist.settings.page-1)*$.watchlist.settings.perpage;
			_end = _start + $.watchlist.settings.perpage;
			
			_self.find(".item-wrapper").each(function(i){
				
				if (i > (_start-1) && i < _end){
					$(this).fadeIn(1500);
				}
			
			});			
			
			//_self.find(".item-wrapper:gt(" + (_start - 1) + "):lt(" + _end  + ")").fadeIn(1500);
			
		},
		up: function(){
			
			var _self = getObject($.watchlist.settings.container);
			
			$.watchlist.settings.page--;
			
			_self.find($.watchlist.settings.up).show();
			_self.find(".item-wrapper:visible").hide();
			_start = ($.watchlist.settings.page-1)*$.watchlist.settings.perpage;
			_end = _start + $.watchlist.settings.perpage;
			
			_self.find(".item-wrapper").each(function(i){
				
				if (i > (_start-1) && i < _end){
					$(this).fadeIn(1500);
				}
			
			});				
			
			//_self.find(".item-wrapper:gt(" + (_start - 1)  + "):lt(" + _end  + ")").fadeIn(1500);
		}

	});
})(jQuery);

$(document).ready(function(){

	$.watchlist.init();

	
});
