// JavaScript Document

var UserScroll = new Class({
	initialize: function(el){
		if(!$(el))return;
		this.el = $(el);
// tworzenie ul#scrollBox
		var lista = new Element('ul',{
			'class':'clearfix left',
			'id':'scrollBox'
		});
		$('scroll_wrap').grab(lista);
		this.domain = 'ajax/gracze/online/';
		var cache = new Array();
		this.cache = cache;
	
		this.exec();
	},
	
	req: function(url, tpl,page){
		var This = this;
		if(!this.cache[page]){
		var jsonRequest = new Request.JSON({url: url, onSuccess: function(userObject){
			This.cache[page] = userObject;
			This.row(userObject);
		}}).get({'page':page});
		}else{

			this.row(this.cache[page]);
		}
	},
	exec: function(){
		$('scroll_prev').setStyle('visibility','hidden');	// ukrywanie przyciskow prawo lewo na poczatku
		$('scroll_next').setStyle('visibility','hidden');

		this.el.getElement('ul').set('html','');
		if(!this.userObject){
			var page = 1;
			var url = this.domain;
			this.req(url,null,page);
		}
	},
	row: function(userObject){
		this.el.getElement('ul').set('html','');
		userObject.gracze.each(function(i,v){
				this.gracz(i);	
		}.bind(this));
		this.pager(userObject.poprzednia,userObject.nastepna);
	},
	pager: function(poprzednia,nastepna){
		var page=null;
		$('scroll_prev').removeEvents('click');
		$('scroll_next').removeEvents('click');
		//console.log(poprzednia+'==='+nastepna)
		if(poprzednia){
			$('scroll_prev').setStyle('visibility','visible');		
			$('scroll_prev').addEvent('click', function(e){
				this.req(this.domain,null,poprzednia);
				
				e.stop();	
			}.bind(this));
		}else{
			$('scroll_prev').setStyle('visibility','hidden');
		}
		if(nastepna){
			$('scroll_next').setStyle('visibility','visible');
			$('scroll_next').addEvent('click', function(e){
				this.req(this.domain,null,nastepna);
				
				e.stop();	
			}.bind(this));
		}else{
			$('scroll_next').setStyle('visibility','hidden');
		}
	},
	gracz: function(user){
		This = this;
		var toolTip;
		var moderator;
		if(user.moderator == 1){
			moderator = 'moderator';
		}else{
			moderator = '';			
		}
		var li = new Element('li',{
			'class':moderator,
			'events': {
				'mouseenter': function(e){
					userData = 
						'<h2>'+user.login+'</h2>';
						if(user.moderator == 1){userData +='<div class="nazwa_moderatora">'+user.nazwa_moderatora+'</div>';}
						userData +='<span class="scroll_level">Poziom:&nbsp;'+user.poziom+'</span>';
						

						userData +='<div class="clr"></div>';
						userData +='<ul class="scroll_menu verticalUl">';


						if(user.pojedynek){userData +='<li class="scroll_fight"><a title="wyzwij na pojedynek" href="'+user.link_pojedynek+'"></a></li>';}
						else{ userData +='<li class="scroll_fight"><a class="disabled" title="wyzwij na pojedynek" class="disabled"  href="javascript:void(0)"></a></li>';}
						
						if(user.znajomy){userData +='<li class="scroll_add"><a title="dodaj do znajomych"  href="'+user.link_znajomy+'"></a></li>';}
						else{userData +='<li class="scroll_add"><a class="disabled" title="dodaj do znajomych"   href="javascript:void(0)"></a></li>';}
						
						if(user.poczta){userData +='<li class="scroll_message"><a title="napisz wiadomość"  href="'+user.link_poczta+'"></a></li>';}
						else{userData +='<li class="scroll_message"><a class="disabled" title="napisz wiadomość"   href="javascript:void(0)"></a></li>';}
						'</ul>'
					 ;
					 
						toolTip = new ToolTip(this,userData,{fixed:true})
						e.stop();
				},
				'mouseleave': function(e){
						toolTip.toolTipHide();
						e.stop();
				}
				
			}});
		var link = new Element('a',{
			'href': user.link,
			'class':'tooltip'
			
		});
		var image = new Element('img',{
			'src': user.img,
			'alt': user.login
		});
		li.grab(link);
		link.grab(image)
		this.el.getElement('ul').grab(li);
	}
 });