function Popsaa() {
	
	this.popularity = Array();
this.popularity.push(1);
this.popularity.push(2);
this.popularity.push(5);
 
	this.genres = Array();
	

	
	
 this.genres[1] = Object();
this.genres[1].id = 1;
this.genres[1].name = "Pop/Rock";
this.genres[1].icon = "http://static.yle.mobi/popsaa/gfx/rock.gif";
this.genres[2] = Object();
this.genres[2].id = 2;
this.genres[2].name = "Jazz";
this.genres[2].icon = "http://static.yle.mobi/popsaa/gfx/jazz.gif";
this.genres[3] = Object();
this.genres[3].id = 3;
this.genres[3].name = "Country/Western";
this.genres[3].icon = "http://static.yle.mobi/popsaa/gfx/rock.gif";
this.genres[4] = Object();
this.genres[4].id = 4;
this.genres[4].name = "Blues";
this.genres[4].icon = "http://static.yle.mobi/popsaa/gfx/bluesjazz.gif";
this.genres[5] = Object();
this.genres[5].id = 5;
this.genres[5].name = "Folk/World";
this.genres[5].icon = "http://static.yle.mobi/popsaa/gfx/world_folk.gif";
this.genres[6] = Object();
this.genres[6].id = 6;
this.genres[6].name = "Klassinen";
this.genres[6].icon = "http://static.yle.mobi/popsaa/gfx/klassinen.gif";
this.genres[7] = Object();
this.genres[7].id = 7;
this.genres[7].name = "Electronic/HipHop";
this.genres[7].icon = "http://static.yle.mobi/popsaa/gfx/rap.gif";
this.genres[8] = Object();
this.genres[8].id = 8;
this.genres[8].name = "Hardrock/Metal";
this.genres[8].icon = "http://static.yle.mobi/popsaa/gfx/heavy.gif";
this.genres[9] = Object();
this.genres[9].id = 9;
this.genres[9].name = "Iskelmä";
this.genres[9].icon = "http://static.yle.mobi/popsaa/gfx/iskelma.gif";
 
 
 	this.events = Array();
var events;
var event;
events = Array();event = Object();
event.name = "Lauri Tähkä & Elonkerjuu";
event.url = "http://meteli.net/tapahtuma/153149";
event.location = "Tavastia-klubi";
event.city = "Helsinki";
events.push(event);
event = Object();
event.name = "Ville Leinonen ja Majakan soittokunta (levyjulkkarit), Musta Köksä (levyjulkkarit)";
event.url = "http://meteli.net/tapahtuma/152393";
event.location = "Klubi/Pakkahuone";
event.city = "Tampere";
events.push(event);
event = Object();
event.name = "Jippu & Gospel Girls";
event.url = "http://meteli.net/tapahtuma/153179";
event.location = "Sellosali";
event.city = "Espoo";
events.push(event);
event = Object();
event.name = "Ismo Alanko Teholla";
event.url = "http://meteli.net/tapahtuma/154760";
event.location = "Club 45 Special";
event.city = "Oulu";
events.push(event);
event = Object();
event.name = "HoL Stripped: Erin Anttila, Big Blind Willie, Piia Viitanen";
event.url = "http://meteli.net/tapahtuma/155544";
event.location = "Semifinal";
event.city = "Helsinki";
events.push(event);
event = Object();
event.name = "Hysteria, Namira";
event.url = "http://meteli.net/tapahtuma/155476";
event.location = "Dynamo";
event.city = "Turku";
events.push(event);
event = Object();
event.name = "Regress";
event.url = "http://meteli.net/tapahtuma/154788";
event.location = "House Of Rock";
event.city = "Kouvola";
events.push(event);
event = Object();
event.name = "Aimo";
event.url = "http://meteli.net/tapahtuma/155570";
event.location = "Love Hotel";
event.city = "Lahti";
events.push(event);
event = Object();
event.name = "The Knockouts (SWE)";
event.url = "http://meteli.net/tapahtuma/155405";
event.location = "Wanha Kino";
event.city = "Kerava";
events.push(event);
event = Object();
event.name = "Tribute to Elvis: Doug Church (USA)";
event.url = "http://meteli.net/tapahtuma/155918";
event.location = "Grand Casino";
event.city = "Helsinki";
events.push(event);
event = Object();
event.name = "Antti Tuisku";
event.url = "http://meteli.net/tapahtuma/152876";
event.location = "Hotelli Luostotunturi";
event.city = "Sodankylä";
events.push(event);
event = Object();
event.name = "Afterword, The Spyro, Club De Lay";
event.url = "http://meteli.net/tapahtuma/156262";
event.location = "Club Liberte";
event.city = "Helsinki";
events.push(event);
event = Object();
event.name = "Happoradio";
event.url = "http://meteli.net/tapahtuma/152802";
event.location = "Hullu Poro Areena";
event.city = "Kittilä";
events.push(event);
event = Object();
event.name = "Sani H. Band";
event.url = "http://meteli.net/tapahtuma/140077";
event.location = "M/S Nordlandia";
event.city = "Helsinki";
events.push(event);
event = Object();
event.name = "C. Rown & The Coronets";
event.url = "http://meteli.net/tapahtuma/152182";
event.location = "Julli\'s Bar";
event.city = "Kolari";
events.push(event);
event = Object();
event.name = "Bad Bombers";
event.url = "http://meteli.net/tapahtuma/147953";
event.location = "Ravintola Kiela";
event.city = "Salla";
events.push(event);
event = Object();
event.name = "Vince\'s VIP: Theon";
event.url = "http://meteli.net/tapahtuma/156094";
event.location = "Music Bar Amadeus";
event.city = "Tampere";
events.push(event);
this.genres[1].events = events;
events = Array();event = Object();
event.name = "Klaus Järvinen & Claes Andersson trio feat. Raila Kulokari";
event.url = "http://meteli.net/tapahtuma/153847";
event.location = "Café Ursula";
event.city = "Helsinki";
events.push(event);
event = Object();
event.name = "Varaslähtö Turku Jazziin: Vinyl Jam";
event.url = "http://meteli.net/tapahtuma/155512";
event.location = "Apollo Live Club";
event.city = "Turku";
events.push(event);
this.genres[2].events = events;
events = Array();event = Object();
event.name = "Samuelin Poloneesi";
event.url = "http://meteli.net/tapahtuma/154858";
event.location = "Kaustinen";
event.city = "Kaustinen";
events.push(event);
this.genres[5].events = events;
events = Array();event = Object();
event.name = "Lohengrin (ensi-ilta)";
event.url = "http://meteli.net/tapahtuma/145623";
event.location = "Tampere-talo";
event.city = "Tampere";
events.push(event);
event = Object();
event.name = "Kirkko Soikoon: Lohjan kaupunginorkesteri, Hannu Norjanen, Cantores Minores, Tuomas Katajala, Kaisa Ranta";
event.url = "http://meteli.net/tapahtuma/155516";
event.location = "Johanneksen kirkko";
event.city = "Helsinki";
events.push(event);
event = Object();
event.name = "Jyväskylä Sinfonia, Tuomas Hannikainen";
event.url = "http://meteli.net/tapahtuma/151950";
event.location = "Jyväskylän Kaupunginteatteri";
event.city = "Jyväskylä";
events.push(event);
event = Object();
event.name = "Yön ruhtinas";
event.url = "http://meteli.net/tapahtuma/151400";
event.location = "Imatran Kulttuurikeskus";
event.city = "Imatra";
events.push(event);
this.genres[6].events = events;
events = Array();event = Object();
event.name = "Ruudolf, Solonen, Juno, Pyhimys & Voli";
event.url = "http://meteli.net/tapahtuma/154898";
event.location = "Casino";
event.city = "Järvenpää";
events.push(event);
event = Object();
event.name = "Original Good Music: DJ:t Tytti, Megatron";
event.url = "http://meteli.net/tapahtuma/155762";
event.location = "Mbar @ Lasipalatsi";
event.city = "Helsinki";
events.push(event);
event = Object();
event.name = "Kuumaa kakkaa: The Bang Shang A-Lang DJ:t";
event.url = "http://meteli.net/tapahtuma/156053";
event.location = "Siltanen";
event.city = "Helsinki";
events.push(event);
this.genres[7].events = events;
events = Array();event = Object();
event.name = "Bloodred Hourglass, Autere, Casket";
event.url = "http://meteli.net/tapahtuma/155447";
event.location = "Henry\'s Pub";
event.city = "Kuopio";
events.push(event);
event = Object();
event.name = "Fishermans End feat. Taage Laiho";
event.url = "http://meteli.net/tapahtuma/155487";
event.location = "Henry\'s Pub";
event.city = "Tampere";
events.push(event);
this.genres[8].events = events;
events = Array();event = Object();
event.name = "Onnen kerjäläiset";
event.url = "http://meteli.net/tapahtuma/153027";
event.location = "Kuhmo-talo";
event.city = "Kuhmo";
events.push(event);
event = Object();
event.name = "Juha Metsäperä";
event.url = "http://meteli.net/tapahtuma/152974";
event.location = "M/S Viking Isabella";
event.city = "Turku";
events.push(event);
event = Object();
event.name = "Marion";
event.url = "http://meteli.net/tapahtuma/152982";
event.location = "M/S Viking Isabella";
event.city = "Turku";
events.push(event);
this.genres[9].events = events;
 
	popsaa = this;
	
	this.timeout = null;
	 
	for(var pop in this.popularity) {
                                   
                var genre = this.genres[this.popularity[pop]];
                
                var image = $('<img/>')
                		.attr('src', genre.icon)
                		.attr('class','popsaa_icon')
                		.attr('id', 'popsaa_image_'+genre.id)
                		.hover(
                				function () {
                					clearTimeout(popsaa.timeout);
                			        popsaa.show(this.id);                			        
                			      }, 
                			      function () {
                			    	clearTimeout(popsaa.timeout);
                			    	popsaa.timeout = setTimeout("$('#popsaa_hover').hide()", 2000);
                			      }
                				);				                                  
                image.appendTo('#popsaa_icons');
                                    
      }
    
    this.show = function(genreId) {
    	genreId = genreId.substring(13);
    
    	var icons = $('#popsaa_icons');
    	var hover = $('#popsaa_hover');
    	hover.html('<div class="popsaa_close"><a id="p_c" href="#"></a></div>'+
    	'<div id="popsaa_meteli"><a href="http://meteli.net" target="_new">&gt; meteli.net</a></div>'+
    	'<div class="popsaa_title">'+this.genres[genreId].name+'</div>');
    	
    	var ul = $('<ul class="popsaa_ul"></ul>');
    	
    	for(var id in this.genres[genreId].events) {
    				var event = this.genres[genreId].events[id];
    				$('<li class="popsaa_li"><a class="popsaa_a" href="'+event.url+'" target="_new">'+event.name
    				+' ('+event.city+', '+event.location+')'		
    				+'</a></li>').appendTo(ul);    		
		}		    			    
		
						
    	
    	ul.appendTo('#popsaa_hover');
    	
    	$(function(){
    		$('.popsaa_ul li:even').addClass('popsaa_li_stripe');
  		});
  		
  		
				$('ul.popsaa_ul').each(function() {
		
					var currentPage = 0;
					var numPerPage = 15;
		
					var $ul = $(this);
		
					$ul.bind('repaginate', function() {
						$ul.find('li').show()
							.slice(0, currentPage * numPerPage)
								.hide()
							.end()
							.slice((currentPage + 1) * numPerPage)
								.hide()
							.end();
					});
		
					var numRows = $ul.find('li').length;
					var numPages = Math.ceil(numRows / numPerPage);
		
					var $pager = $('<div class="popsaa_pager">Sivu: </div>');
					for (var page = 0; page < numPages; page++) {
						$('<span class="popsaa_page_number">' + (page + 1) + '</span>')
						.bind('click', {'newPage': page}, function(event) {
							currentPage = event.data['newPage'];
							$ul.trigger('repaginate');
							$(this).addClass('popsaa_active').siblings().removeClass('popsaa_active');
						})
						.appendTo($pager).addClass('popsaa_clickable');
					}
					$pager.find('span.popsaa_page_number:first').addClass('popsaa_active');
					$pager.insertBefore($ul);
		
					$ul.trigger('repaginate');
				});
  		
    	
    	var iconsOffset = icons.offset();
    	
    	var left = iconsOffset.left-(hover.width()/2);
    	if(left < 0) {
    		left = 0;
    	}
    	var top = iconsOffset.top+icons.height();
    	    	        	
    	hover.fadeIn('fast');    	    	
    	    	    	
    	popsaa = this;
    	$('#p_c').click(function() {
    		clearTimeout(popsaa.timeout);
    		popsaa.hide();
    		return false;
    	});
    	hover.hover(function() {
    		clearTimeout(popsaa.timeout);
    		}, function() {
    		$(this).fadeOut('fast');
    	});
    	
    }
    this.hide = function(genreId) {
    	$('#popsaa_hover').fadeOut('fast');
    }
    
    
	
}
