
function addHandler(object, event, handler, useCapture) {
	if (object.addEventListener) {
		object.addEventListener(event, handler, useCapture ? useCapture : false);
	} else if (object.attachEvent) {
		object.attachEvent('on' + event, handler);
	} else alert("Add handler is not supported");
}
// Добавляем обработчики
function exampleActivate(obj) {
	/* Gecko */
	addHandler(obj, 'DOMMouseScroll', wheel);
	/* Opera */
	addHandler(obj, 'mousewheel', wheel);
	/* IE */
	addHandler(obj, 'mousewheel', wheel);
	return false;
}
// Обработчик события
function wheel(event) {
	var delta; // Направление скролла
	// -1 * N - скролл вниз
	// 1 * N - скролл вверх
	event = event || window.event;
	// Opera и IE работают со свойством wheelDelta
	if (event.wheelDelta) {
		delta = event.wheelDelta / 120;
		// В Опере значение wheelDelta такое же, но с противоположным знаком
		if (window.opera && window.opera.version()<9.50){ delta = -delta;}
	// В реализации Gecko полуим свойство detail
	} else if (event.detail) {
		delta = -event.detail / 3;
	}
	// Запрещаем обработку события браузером по умолчанию
	if (event.preventDefault)  event.preventDefault();
	event.returnValue = false;

	st = parseInt($('#primary_alb_block div:first').height());
	sh = parseInt($('#scrollbar1').height());
	nt = parseInt($('#primary_alb_block div:first').css('top'));

//	ste = parseInt($("#scroll4").slider('option', 'step'));
//	if(ste>=0 && ste<=100){
//alert(-(parseInt($('#primary_alb_block div:first').css('top'))));
//alert(-(parseInt($('#primary_alb_block div:first').css('top')))+" = "+(st-sh));
	if(parseInt(nt+((delta>0)?40:(-40)))<=1 && -(parseInt($('#primary_alb_block div:first').css('top'))+((delta>0)?20:(-20)))<(st-sh)) {
		$('#primary_alb_block div:first').css('top',nt+((delta>0)?40:(-40)));
		$('#scroll4 a div').css('top',(-(nt+((delta>0)?40:(-40)))*(sh-33))/(st-sh));
		//$('#scroll4 a div').css('top',(-(nt)*(sh-40))/(st-sh));
	}
	
	return delta;
}

var ALB={
	t:30000,
	timer:null,
	myId:null,

	getALBfriends:function(){ 
		$('#primary_alb_block').html("<img src='/images/aloader.gif' style='position:absolute; top:80px; left:90px;'>");
		$.post('/alb/',{'action':'getALBfriends'},function(data){
			//if(data.result){

				var h='';
				h='<div style="position:relative; top:0px; width:192px;">';
				
					h+="<div class='alb_nolist'>";
					if(data.nolist && data.nolist.length>0){
					h+="<div class='small8' style='padding:3px;'>Нет в списке друзей (<span id='alb_cnt_nolist'>"+data.nolist.length+"</span>)</div>";
					h+="<table id='alb_users_nolist' border=0 cellspacing=0 cellpadding=0 width='"+((jQuery.browser.msie)?"190px":"100%")+"'>";
					for(i in data.nolist){
						if(i=='indexOf') continue;
						a=data.nolist[i];
						h+="<tr><td style='width:39px;height:39px;padding:3px;'><img src='"+a.avt+"'></td><td><div><a class='small8 yellow' href='/user/"+a.uid+"/'>"+a.nick+"</a></div><div class='small8'>"+a.fio+"</div></td><td style='width:19px;'><img src='/images/inmess.gif' class='inmess' style='display:"+((a.msg>0)?"block":"none")+"' onclick='openMessage("+a.uid+")' title='Новое сообщение'><img style='cursor:pointer' onclick='openMessage("+a.uid+")' src='/images/wmess.gif' title='Отправить сообщение'></td></tr>";
					}
					h+="</table>";
					h+="<br>";
					}
					h+="</div>"; 

				if(data.online && data.online.length>0){
					h+="<div class='small8' style='padding:3px;'>Онлайн (<span id='alb_cnt_online'>"+data.online.length+"</span>)</div>";
					h+="<table id='alb_users_online' border=0 cellspacing=0 cellpadding=0 width='"+((jQuery.browser.msie)?"190px":"100%")+"'>";
					for(i in data.online){
						if(i=='indexOf') continue;
						a=data.online[i];
						h+="<tr id='alb_user_"+a.uid+"'><td style='width:39px;height:39px;padding:3px;'><img src='"+a.avt+"'></td><td><div><a class='small8 yellow' href='/user/"+a.uid+"/'>"+a.nick+"</a></div><div class='small8'>"+a.fio+"</div></td><td style='width:19px;'><img src='/images/inmess.gif' class='inmess' style='display:"+((a.msg>0)?"block":"none")+"' onclick='openMessage("+a.uid+")' title='Новое сообщение'><img style='cursor:pointer' onclick='openMessage("+a.uid+")' src='/images/wmess.gif' title='Отправить сообщение'></td></tr>";
					}
					h+="</table>";
					h+="<br>"; 
				}

				if(data.offline && data.offline.length>0){
					h+="<div class='alb_offline'><div class='small8' style='padding:3px;"+((jQuery.browser.msie)?'width:190px;':'')+"'>Не в сети (<span id='alb_cnt_offline'>"+data.offline.length+"</span>)</div>";
					h+="<table id='alb_users_offline' border=0 cellspacing=0 cellpadding=0 style='"+((jQuery.browser.msie)?'width:190px;':'width:100%;')+"'>";
					for(i in data.offline){
						if(i=='indexOf') continue;
						a=data.offline[i];
						h+="<tr id='alb_user_"+a.uid+"'><td style='width:39px;height:39px;padding:3px;'><img src='"+a.avt+"'></td><td><div><a class='small8 yellow' href='/user/"+a.uid+"/'>"+a.nick+"</a></div><div class='small8'>"+a.fio+"</div></td><td style='width:19px;'><img src='/images/inmess.gif' class='inmess' style='display:"+((a.msg>0)?"block":"none")+"' onclick='openMessage("+a.uid+")' title='Новое сообщение'><img style='cursor:pointer' onclick='openMessage("+a.uid+")'  src='/images/wmess.gif' title='Отправить сообщение'></td></tr>";
					}
					h+="</table></div>";
				}
				if(!data.offline && !data.online) h+="<div id='alb_nothing'>Список друзей пуст.<br><a class='yellow' href='/search/user/'>Добавить друзей</a></div>";
				h+="</div>";
				h+="<div id='scrollbar1' style='height:198px; width:12px; position:absolute; top:0px; right:0px;'>";
				h+="<table border=0 cellspacing=0 cellpadding=0><tr><td style='width:12px;height:6px;background:transparent url(/images/scroll1.png) no-repeat;behavior:url(/iepngfix.htc);'></td></tr><tr><td style='width:12px;height:186px;background:url(/images/scroll3.png) repeat-y;position:relative;'><div id='scroll4'></div></td></tr><tr><td style='width:12px;height:6px;background:transparent url(/images/scroll2.png) no-repeat;behavior:url(/iepngfix.htc);'></td></tr></table>";
				h+="</div>";
				$('#primary_alb_block').html(h);
				if($('#primary_alb_block div:eq(0)').height()<=$('#primary_alb_block').height()) $('#scrollbar1').hide();
				if(data.logid) ALB.setData(data);  
				$('.alb_offline').css('opacity',0.5);


				exampleActivate($('#primary_alb_block')[0]);
				ALB.scrollInit();
			//}else{
				//$('#primary_alb_block').html("<div class='alb_nolist'></div>Список друзей пуст");
			//}
			ALB.refreshALB();
		},'json');
	},


	getOnlineALBfriends:function(){
		$.post('/alb/',{'action':'getALB'},function(data){
			if(data.result){
				$('#alb_cnt_online').text(data.cnt_online);
				$('#alb_cnt_offline').text(data.cnt_offline);

				h="";				

				if(data.nolist && data.nolist.length>0){ 
				h+="<div class='small8' style='padding:3px;'>Нет в списке друзей (<span id='alb_cnt_nolist'>"+data.cnt_nolist+"</span>)</div>";
				h+="<table id='alb_users_nolist' border=0 cellspacing=0 cellpadding=0 width='"+((jQuery.browser.msie)?"190px":"100%")+"'>";
				for(i in data.nolist){
					if(i=='indexOf') continue;
						a=data.nolist[i];
						h+="<tr><td style='width:39px;height:39px;padding:3px;'><img src='"+a.avt+"'></td><td><div><a class='small8 yellow' href='/user/"+a.uid+"/'>"+a.nick+"</a></div><div class='small8'>"+a.fio+"</div></td><td style='width:19px;'><img src='/images/inmess.gif' class='inmess' style='display:"+((a.msg>0)?"block":"none")+"' onclick='openMessage("+a.uid+")' title='Новое сообщение'><img style='cursor:pointer' onclick='openMessage("+a.uid+")' src='/images/wmess.gif' title='Отправить сообщение'></td></tr>";
					}
				
				h+="</table>";
				h+="<br>";
				}
				$('.alb_nolist').html(h);

				if(data.offline){
				var obj=$('#alb_users_online');
				for(i in data.offline){
					if(i=='indexOf') continue;
					if(parseInt(data.offline[i])>0) {
						ob=$('#alb_user_'+i);
						$('.inmess',ob).show();
						ob.clone(true).prependTo('#alb_users_offline');
						ob.remove();
						
					} else $('.inmess',$('#alb_user_'+i)).hide();
					if(el=$('#alb_user_'+i,obj)) {
						el.prependTo('#alb_users_offline');
						
					}
				}}
				if(data.online){
				var obj=$('#alb_users_offline');
				for(i in data.online){ 
					if(i=='indexOf') continue;
					if(parseInt(data.online[i])>0) {
						ob=$('#alb_user_'+i);
						$('.inmess',ob).show();
						ob.clone(true).prependTo('#alb_users_online');
						ob.remove();

					}else $('.inmess',$('#alb_user_'+i)).hide();
					if(el=$('#alb_user_'+i,obj)) {
						el.prependTo('#alb_users_online'); 
						
					}
				}}
				if(data.logid) ALB.setData(data);
				ALB.scrollInit();
			}
		ALB.refreshALB();
		},'json');

	},

	scrollInit:function(){ 
				
				var step1=0;
				if(parseInt($('#primary_alb_block div:first').height())>200)
				    $("#scroll4").slider({
					axis:'vertical',
					slide: function(event, ui){
		
						step = $("#scroll4").slider('value');
						st = parseInt($('#primary_alb_block div:first').height());
						sh = parseInt($('#scrollbar1').height());
						nt = parseInt($('#primary_alb_block div:first').css('top')); 
						k = (st-sh)/100;
						$('#primary_alb_block div:first').css('top',-k*step);
					}
				     });

	},



	setData:function(data){

		for(b in data.button) { 
			if(b!="0") { 
				$('.'+b).data('action',data.button[b]); //alert(data.button[b]);
				$('.'+b).show(); 
			} else { 
				$('.'+data.button[b]).show();
			}
		}
		_$('alb_layer').innerHTML=data.alayer;
		$('#alb_layer').attr('param',data.logid); 
		$('#alb_parent_layer').appendTo('#primary_alb_block');
		$('#alb_parent_layer').show();
	},

	bApprove:function(){
		args=$('.bApp').data('action');
		eval(args[0]+"(args[1])");
	},
	bReject:function(){
		args=$('.bRej').data('action');
		eval(args[0]+"(args[1])");
		return false;
	},
	bAnswer:function(){
		args=$('.bAnsw').data('action');
		eval(args[0]+"(args[1])");
	},
	closeLayer:function(){
		//this.loadingShow();
		$('.bAll').hide();
		$.post('/alb/',{'action':'getALB','close':true,'logid':$('#alb_layer').attr('param')},function(data){
			if(data.logid){
				ALB.setData(data);
				//ALB.loadingHide();
				//$('#alb_parent_layer').animate({height: "show"}, 'slow');
				
			}else{
				//ALB.loadingHide();
				//$('#alb_parent_layer').animate({height: "hide"}, 'slow', function(){_$('alb_layer').innerHTML="";});
				$('#alb_parent_layer').hide().appendTo('body');
				ALB.getALBfriends();
			}
		},'json');
		
	},
/*
	createNewUser:function(a){
				h='';
				if(a.online>0){
					if(!_$('alb_users_online')) h+="<div class='small8' style='padding:3px;'>Онлайн (<span id='alb_cnt_online'>1</span>)</div><table id='alb_users_online' border=0 cellspacing=0 cellpadding=0 width='190px'>";
					else $('#alb_cnt_online').text(parseInt($('#alb_cnt_online').text())+1);
					h+="<tr id='alb_user_"+a.uid+"'><td style='width:39px;height:39px;padding:3px;'><img src='"+a.avt+"'></td><td><div><a class='small8 yellow' href='/user/"+a.uid+"/'>"+a.nick+"</a></div><div class='small8'>"+a.fio+"</div></td><td style='width:19px;'><img src='/images/inmess.gif' class='inmess' style='display:"+((a.msg>0)?"block":"none")+"' onclick='openMessage("+a.uid+")' title='Новое сообщение'><img style='cursor:pointer' onclick='openMessage("+a.uid+")' src='/images/wmess.gif' title='Отправить сообщение'></td></tr>";
					if(!_$('alb_users_online')) { h+="</table>"; $('#primary_alb_block').append(h); }
					else $('#alb_users_online').append(h);
					$('#alb_nothing').hide();
				}else{
					if(!_$('alb_users_offline')) h+="<div class='alb_offline'><div class='small8' style='padding:3px;width:190px;'>Не в сети (<span id='alb_cnt_offline'>1</span>)</div><table id='alb_users_offline' border=0 cellspacing=0 cellpadding=0 style='width:190px'>";
					else $('#alb_cnt_offline').text(parseInt($('#alb_cnt_offline').text())+1);
					h+="<tr id='alb_user_"+a.uid+"'><td style='width:39px;height:39px;padding:3px;'><img src='"+a.avt+"'></td><td><div><a class='small8 yellow' href='/user/"+a.uid+"/'>"+a.nick+"</a></div><div class='small8'>"+a.fio+"</div></td><td style='width:19px;'><img src='/images/inmess.gif' class='inmess' style='display:"+((a.msg>0)?"block":"none")+"' onclick='openMessage("+a.uid+")' title='Новое сообщение'><img style='cursor:pointer' onclick='openMessage("+a.uid+")'  src='/images/wmess.gif' title='Отправить сообщение'></td></tr>";
					if(!_$('alb_users_offline')) { h+="</table></div>";$('#primary_alb_block').append(h); }
					else $('#alb_users_offline').append(h);
					$('#alb_nothing').hide();
				}

	},
*/
	joinToClub:function(id){
		$.post('/group/do/',{'action':'join_to_club','id_club':id,'mess':'Пользователь хочет вступить в группу'},function(data){
			if(data.result){
				ALB.closeLayer();
			}else{
				alert(data.error);
			}
		},'json');
	},
	approveFriend:function(id){
		$.post('/user/friends/do/',{'action':'acceptRequest','id':id},function(data){
			if(data.result){
				ALB.closeLayer();
				//if(data.new_friend) ALB.createNewUser(data.new_friend);
			}else{
				alert(data.error);
			}
		},'json');
	},
	rejectFriend:function(id){
		$.post('/user/friends/do/',{'action':'rejectRequest','id':id},function(data){
			if(data.result){
				ALB.closeLayer();
			}else{
				alert(data.error);
			}
		},'json');
	},
	userInClub:function(p){
		$.post('/group/do/', {'action': 'judge_user','user_id':p[0],'id_club':p[1],'doing':p[2]}, function(data){
			if(data.result){
				ALB.closeLayer();
			}else alert(data.error);
		}, 'json');
	},
	redirect:function(loc){
		ALB.closeLayer();
		location.href=loc;
	},


	loadingShow:function(){
		$('#alb_layer').css('opacity','0.3'); 
		$('#alb_parent_layer').append("<img class='alb_loading' style='position:absolute;z-index:50;top:60px;left:110px' src='/images/loading.gif'>");
	},

	loadingHide:function(){
		$('.alb_loading').remove(); 
		$('#alb_layer').css('opacity','1')
	},

	refreshALB:function(){ 
		this.timer=setTimeout(this.getOnlineALBfriends,this.t);
	}
};

var wPopPresent={
	timer:null,
	obj:null,
	id_obj:null,
	myId:null,
	out:function(e){
			f=true;
			if($(e.relatedTarget).attr('id')!='wPopPresent_id'){ 
				if(e.relatedTarget == wPopPresent.obj) f=false;
				$(e.relatedTarget).parents().each(function(){
					if($(this).attr('id')=='wPopPresent_id') f=false;
				});
			}
			else f=false;
			if(f){ 
				clearTimeout(wPopPresent.timer);
				$('#wPopPresent_id').hide();
			} else {
				return false;
			}

	},
	init:function(id){
		this.myId=(this.myId)?this.myId:id; 
		$('.wPopPresent').unbind('mouseover').unbind('mouseout');
		$('#wPopPresent_id').unbind('mouseout');

		if(!_$('wPopPresent_id')){
			hh="<div id='wPopPresent_id'><table class='wpop_table bord_blue' border=0 cellspacing=0 cellpadding=0 width=100%><tr><td style='text-align:center;width:40px'><a href='' class='noborder wnickname_a'><img class='wphoto' src='/images/0.gif'></a></td><td><div><a href='' class='wnickname small9'></a></div><div class='wgreet small8'></div></td></tr></table></div>";
			$('body').append(hh);
		}
		$('#wPopPresent_id').mouseout(function(e){
			wPopPresent.out(e);
		});

		$('.wPopPresent').mouseover(
		function(e){ 
			clearTimeout(wPopPresent.timer);
			ofX=$(e.target).offset().left;
			ofY=$(e.target).offset().top+41;
			wPopPresent.obj=e.target;
			wPopPresent.id_obj=eval("("+$(wPopPresent.obj).attr('param')+")");
			$('#wPopPresent_id .wphoto').attr('src',wPopPresent.id_obj.avt);
			$('#wPopPresent_id .wnickname').attr('href','/user/'+wPopPresent.id_obj.uid+'/').text(wPopPresent.id_obj.nickname);
			$('#wPopPresent_id .wnickname_a').attr('href','/user/'+wPopPresent.id_obj.uid+'/');
			$('#wPopPresent_id .wgreet').text(wPopPresent.id_obj.greet);
			wPopPresent.timer=setTimeout(function(){ $('#wPopPresent_id').css({left:ofX+"px",top:ofY+"px"}).show(); }, 400);
			
		}).mouseout(function(e){
			wPopPresent.out(e);
		});

	}
};
