Array.implement({ reverseinject: function() { for (var i = 0, l = this.length; i < l; i++) this[i].inject(this[i].getParent(),'top'); return this; }});

var selectedAreaBtn;
var selectedSong;
var player;
var firstSong;

window.addEvent("domready", function() {
	configureAreaSlider();
	configureCoverPlayer();
	embedPlayer();
	var myTips = new Tips('#music a',{text:'accesskey',className:'tips',offset:{x:10,y:20}});
});

function onLoadPlayer() {
	player = $("player");
	player.loadData(firstSong);
}

function configureAreaSlider() {

	$("areaSlider").set('tween', { fps: 100, duration: 2000, transition: Fx.Transitions.Elastic.easeOut });
	
	$$('#areaButtons a img').each(function(item, index) {

        var duration = 500;

        item.addEvent('mouseover', function(){
            this.fade(0.1);
        });

        item.addEvent('mouseout', function(){
			if(this.getParent() == selectedAreaBtn) return;
            this.fade(1);
        });

    });


	var buttons = $$("#areaButtons a");
	selectedAreaBtn = buttons[0];
	selectedAreaBtn.getFirst().fade(0);
	buttons.each(function(item,index){

		item.addEvent("click", function(e) {

			if(selectedAreaBtn == item) return;

			selectedAreaBtn.getFirst().fade(1);
			selectedAreaBtn = item;

			$("areaSlider").tween("left", '' + (-510 * index));
		});
	});

	buttons.reverseinject();

	$$(".area").each(function(item, index){

		var next = item.getChildren(".next");

		if(next[0]) {

			next = next[0];
			next.addEvent("click", function(e) {
				$("areaSlider").tween("left", '' + (-510 * (index+1)));
				selectedAreaBtn.getFirst().fade(1)
				buttons[(index+1)].getFirst().fade(0.1);
				selectedAreaBtn = buttons[(index+1)];
				e.stop();
			});
		}

		var prev = item.getChildren(".prev");

		if(prev[0]) {

			prev = prev[0];

			prev.addEvent("click", function(e) {

				$("areaSlider").tween("left", '' + (-510 * (index-1)));
				selectedAreaBtn.getFirst().fade(1)
				buttons[(index-1)].getFirst().fade(0.1);
				selectedAreaBtn = buttons[(index-1)];
				e.stop();
			});
		}
	});
}



function configureCoverPlayer() {	

	var covers = $$(".area a");
	selectedSong = $$(".area a")[0];

	$$("#areaSlider a").each(function(item, index) {

		var rel = item.get("rel");

		if(!rel) return;

		if(!firstSong) firstSong = rel;

		item.addEvent("click", function(e) {

			if(selectedSong == item) return false;
			selectedSong = item;
			$("currentSong").set("src", item.getFirst().get("src").replace("preview", "cover"));
			player.loadData(rel)
			e.stop();
		});
	});
}

function embedPlayer() {
	var vars = {};
	var params = { scale:'noScale', base:'swf', allowFullScreen:'false', allowScriptAccess: 'always', wmode:'transparent' };
	var attributes = { id:'player', name:'player' };
	swfobject.embedSWF("swf/player.swf", "player", "505", "54", "9.0.0" , "swf/expressInstall.swf", vars, params, attributes );
}