function $(id) { return document.getElementById(id) }
function $c(name) { return document.createElement(name); }
function addClass(el,c) { if(!containsClass(el, c)) el.className += " " + c; }
function removeClass(el, c) { el.className = el.className.replace(new RegExp(c,"g"),""); }
function containsClass(el, c) { return el.className.indexOf(c) != -1 }
function setOpacity(el, o) { el.style.opacity = o/100; el.style.filter = "alpha(opacity="+o+")"; }
	
function niceGallery()
{
	var gallery = $("gallery");
	
	var rightDiv = gallery.parentNode.parentNode;
	var text = rightDiv.getElementsByTagName("div");

	var imageLayer = $c("div");
	imageLayer.id = "big_image";
	imageLayer.className = "hidden";
	imageLayer.onclick = function() { addClass(this,"hidden"); setOpacity(text[1],100); setOpacity(text[2],100); }
	imageLayer.title = "Close image";
	
	window.onload = function() { rightDiv.appendChild(imageLayer); };
	
	var images = gallery.getElementsByTagName("a");
	for(var i = 0; i < images.length; i++)
	{
		images[i].onclick = function()
		{
			setOpacity(text[1],50);
			setOpacity(text[2],50);

			imageLayer.style.backgroundImage = "url('" + this.href + "')";
			setTimeout(function(){removeClass(imageLayer,"hidden");},100);
			return false;
		}
	}
	
}

function switchLyrics()
{
	var textLayer = $("text");
	var divs = textLayer.getElementsByTagName("div");
	var links = textLayer.parentNode.getElementsByTagName("ol")[0].getElementsByTagName("a");
	
	for(var i = 0; i < links.length; i++)
	{
		links[i].onclick = function()
		{
			this.blur();
			var id = this.href.slice(this.href.lastIndexOf("/") + 1,this.href.lastIndexOf(","));
			for(var i = 0; i < divs.length; i++)
			{
				if(divs[i].id == id) addClass(divs[i],"active");
				else removeClass(divs[i],"active");
			}
			return false;
		}
	}
	
}

function smartMp3Player()
{
	var songs = $("songs").getElementsByTagName("a");
	for(var i = 0; i < songs.length; i++)
		songs[i].onclick = function()
		{
			if(!checkMp3(this))
			{
				alert("This song will be available soon.");
				return false;
			}
			
			var mp3player = $("mp3_player");
			addClass(mp3player,"visible");
			mp3player.innerHTML = "";
			
			mp3player.style.top = (this.offsetTop + 53) + "px";

			var so = new SWFObject("/images/musicplayer.swf?repeat=true&amp;song_url=" + this.href + "&amp;b_bgcolor=000000&amp;b_fgcolor=5D6B70&amp;b_colors=5D6B70,5D6B70,5D6B70,5D6B70", "mp3_player_swf", "17", "17", "6");
			so.addParam("quality", "best");
			so.addParam("wmode", "transparent");
			so.addParam("background", "transparent");
			so.write("mp3_player");

			return false;
		}
	
	function checkMp3(link)
	{
		for(var i = 0; i < musicList.length; i++)
			if(link.href.indexOf(musicList[i]) != -1)
				return true;
		return false;
	}
}

function smartMoviePlayer()
{
	addClass($("movie_player").parentNode,"movie_player_visible");
	if($("video_player_swf")) return false;
	
	var so = new SWFObject("/images/flvplayer.swf","video_player_swf","240", "155","7");
	so.addParam("allowfullscreen","true");
	so.addVariable("file","/resources/video/video.flv");

	so.addVariable("frontcolor","0xCCCCCC");
	so.addVariable("lightcolor","0x557722");
	so.addVariable("backcolor","0x0D0E10");
	so.addVariable("screencolor","0x0D0E10");	
	so.addVariable("width","240");
	so.addVariable("displayheight","140");
	so.addVariable("enablejs","true");
	so.addVariable("height","160");
	so.addVariable("showdigits","false");
	so.addVariable("showdownload","false");
	so.write("movie_player");

	return false;
}

function closePlayer()
{
	thisMovie("video_player_swf").sendEvent("stop");
	removeClass($("movie_player").parentNode,"movie_player_visible");
}

function thisMovie(movieName)
{
	return window[movieName] || document[movieName];
};