if (!JS_AB) { var JS_AB = new Object(); }
JS_AB.hpHandler = {
 	debug : false,
	init : function() { 
		JS_AB.hpHandler.slideshow.init(); 
		JS_AB.hpHandler.abtv.init();
		JS_AB.hpHandler.stream.init();
	},
	_eoo : true
}
JS_AB.hpHandler.abtv = {
	init: function() {
		$('#abtv-spotlight table a').hover(
			function() { $('#abtv-thumbnails-title').html($(this).attr('title')); }, 
			function() { $('#abtv-thumbnails-title').html('&nbsp;'); }
		);
	}
}
JS_AB.hpHandler.slideshow = {
 	waitTime : 4000,
	fadeTime : 700,
	timeId : null,
	slides : null,
 	numSlides : 0,
	curSlide : 0,
	numLoaded : 0,
	init : function() {
		if (JS_AB.hpHandler.debug) console.log('JS_AB.hpHandler.slideshow.init');
		JS_AB.hpHandler.slideshow.slides 	= $('.slideshow-navigation .listholder-item a');
		JS_AB.hpHandler.slideshow.numSlides	= JS_AB.hpHandler.slideshow.slides.length;
		$('#slideshow-image-even').fadeOut(10).css('display','none');
		JS_AB.hpHandler.slideshow.slides.bind('click', function(e) {
			e.preventDefault();
			if ($('.slideshow-image img:animated').length > 0)	return;
			$(JS_AB.hpHandler.slideshow.slides.get(JS_AB.hpHandler.slideshow.curSlide)).removeClass('selected');
			JS_AB.hpHandler.slideshow.curSlide = parseInt($(this).parent().attr('id').substr(16))-1;
			JS_AB.hpHandler.slideshow.transSlide();
		});
		$('.slideshow-navigation .previous a').bind('click', function(e) {
			e.preventDefault();
			JS_AB.hpHandler.slideshow.prevSlide();
		});
		$('.slideshow-navigation .next a').bind('click', function(e) {
			e.preventDefault();
			JS_AB.hpHandler.slideshow.nextSlide();
		});
		$('.slideshow-image .button-holder').css('zIndex', 200).find('.button').bind('click', function(e) {
			if ($('.slideshow-image img:animated').length > 0) { e.preventDefault(); }
		});
		JS_AB.hpHandler.slideshow._preload();
	},
 	_preload : function() {
		var extImg = [];
		for (var i = 0; i < JS_AB.hpHandler.slideshow.slides.length; i++) {
			extImg[i] = new Image();
			extImg[i].src = $(JS_AB.hpHandler.slideshow.slides.get(i)).attr('rel');
			if (extImg[i].complete) { JS_AB.hpHandler.slideshow._loaded(); } 
			else {
				extImg[i].onerror = function() { JS_AB.hpHandler.slideshow._loaded(); }
				extImg[i].onload = function() { JS_AB.hpHandler.slideshow._loaded(); }
			}
		}
	},
	_loaded : function() {
		JS_AB.hpHandler.slideshow.numLoaded++;
		if (JS_AB.hpHandler.slideshow.numLoaded == JS_AB.hpHandler.slideshow.numSlides) { JS_AB.hpHandler.slideshow.timeId = window.setTimeout(JS_AB.hpHandler.slideshow.nextSlide, JS_AB.hpHandler.slideshow.waitTime); }
	},
	nextSlide : function() {
		if (JS_AB.hpHandler.debug)	console.log('JS_AB.hpHandler.slideshow.nextSlide');
		if ($('.slideshow-image img:animated').length > 0) return;
		$(JS_AB.hpHandler.slideshow.slides.get(JS_AB.hpHandler.slideshow.curSlide)).removeClass('selected');
		if (JS_AB.hpHandler.slideshow.curSlide == JS_AB.hpHandler.slideshow.numSlides-1) JS_AB.hpHandler.slideshow.curSlide = 0;
		else JS_AB.hpHandler.slideshow.curSlide++;
		JS_AB.hpHandler.slideshow.transSlide();
	},
	prevSlide : function() {
		if (JS_AB.hpHandler.debug)	console.log('JS_AB.hpHandler.slideshow.prevSlide');
		if ($('.slideshow-image img:animated').length > 0)	return;
		$(JS_AB.hpHandler.slideshow.slides.get(JS_AB.hpHandler.slideshow.curSlide)).removeClass('selected');
		if (JS_AB.hpHandler.slideshow.curSlide == 0) JS_AB.hpHandler.slideshow.curSlide = JS_AB.hpHandler.slideshow.numSlides-1;
		else JS_AB.hpHandler.slideshow.curSlide--;
		JS_AB.hpHandler.slideshow.transSlide();
	},
	transSlide : function() {
		if (JS_AB.hpHandler.debug) console.log('JS_AB.hpHandler.slideshow.gotoSlide %d', JS_AB.hpHandler.slideshow.curSlide);
		var slide	= $(JS_AB.hpHandler.slideshow.slides.get(JS_AB.hpHandler.slideshow.curSlide));
		$('#slideshow-button-concert').hide();
		$('#slideshow-button-project').hide();
		if(slide.hasClass('isProject')) { $('#slideshow-button-project').show(); }else{ $('#slideshow-button-concert').show(); }
		window.clearTimeout(JS_AB.hpHandler.slideshow.timeId);
		slide.addClass('selected');
		$('.slideshow-image .button').attr('href', slide.attr('href'));
		var fOut = $('.slideshow-image img:visible');
		var fIn	= $('.slideshow-image img:hidden');
		if (JS_AB.hpHandler.debug)	console.log('fOut = ' + fOut.attr('id'));
		if (JS_AB.hpHandler.debug)	console.log('fIn = ' + fIn.attr('id'));
		fOut.css('zIndex', 100).fadeOut(JS_AB.hpHandler.slideshow.fadeTime, function() { $(this).css('display','none'); });
		fIn.css('zIndex', 50).attr('src', slide.attr('rel')).attr('alt', slide.attr('title')).attr('title', slide.attr('title')).css('display','block').fadeIn(JS_AB.hpHandler.slideshow.fadeTime, function(e) {
			JS_AB.hpHandler.slideshow.timeId = window.setTimeout(JS_AB.hpHandler.slideshow.nextSlide, JS_AB.hpHandler.slideshow.waitTime);
		});	
	},
	_eoo : true
}
JS_AB.hpHandler.stream = {
	timeout: 15000,
	timer: null,
	init: function() {
		JS_AB.hpHandler.stream.timer = setInterval(JS_AB.hpHandler.stream.refresh, JS_AB.hpHandler.stream.timeout);
	},
	refresh: function() {
		$('#stream-spinner').show();
		$.ajax({ type: 'get', dataType: 'json', cache: false,
			url: '/ajax.php?module=profiles&action=get_stream',
			success: function(json) {
				$('#actions-stream li').remove();
				var html = '';
				for(var i in json.content.data) {
					if($('#'+ json.content.data[i].unique_id +':visible').length == 0) {
						html += '<li id="'+ json.content.data[i].unique_id +'">'+
								'	<div class="avatar">'+
								'		<a href="'+ json.content.data[i].url +'">'+
								'			<img src="http://static2.abconcerts.be'+ json.content.data[i].avatar +'" width="48" height="48" alt="" />'+
								'		</a>'+
								'	</div>'+
								'	<p>'+
								'	'+ json.content.data[i].message +
								'		<span class="mute"><abbr title="'+ json.content.data[i].formated_date  +'">'+ json.content.data[i].time_ago +'</abbr></span>'+
								'	</p>'+
								'</li>';
					}
				}
				$('#actions-stream').html(html);
				$('#stream-spinner').hide();
			},
			error: function(xhr,err,e) {
				if(JS_AB.hpHandler.stream.debug) alert(err + ' ' + e, 'Critical Error');
				window.location.reload();
			}
		});
	},
	_eoo: true
}

jQuery(function($) { JS_AB.hpHandler.init(); });
