function getSong(key){
		if(typeof songs[key] != 'undefined'){
			uppodSend('audioplayer4','start'+songs[key][0]);
		}	
	}
	
function trMouseOver(){
	var tables = document.getElementsByTagName('table');
	for(var k=0,t=tables.length;k<t;k++){
		if(tables[k].className == "tracks"){
			var tr = tables[k].getElementsByTagName('tr');
			for(var i=0,l=tr.length;i<l;i++){
				
				tr[i].onmouseover=function() {
					this.className+=" over";
				}
				tr[i].onmouseout=function() {
					this.className=this.className.replace(new RegExp("over\\b"), "");
				}
				
			}
		}
	}
}	

function tryToPlaySong(key){
	if( !( byId('audioplayer4') && typeof byId('audioplayer4').sendToUppod == 'function') ){
		setTimeout("tryToPlaySong('"+key+"')", 2000);
	}else{
		getSong(key);
	}
	//if(byId('audioplayer4')){ alert(typeof byId('audioplayer4').sendToUppod); }
}

function parseURL(){
	var url = location.href.split("#");
	if(url.length > 1 && url[1].indexOf("play-") > -1){
		var songID = url[1].substr(url[1].indexOf("play-")+5, url[1].length);
		if(typeof songs[songID] != 'undefined'){
			 tryToPlaySong(songID);
		}
	} 
}

function workDescriptions(){
	this.elements = new Array();
	
	this.ID = "TEXT!";
	
	this.createShowLink = function(el){
		if(el){
			var l = document.createElement("span");
			l.appendChild(document.createTextNode("hide description"));
			l.className = 'link1';
			var t = this;
			var d = el;
			l.onclick = function(){ t.hideDesc(el, l) };
			el.parentNode.insertBefore(l, el);
			
			this.elements[el.id][1] = l;
		}
	}
	
	this.hideDesc = function(desc, self){
		if(desc && self){ 
			desc.style.display = 'none';
			self.innerHTML = "show description";
			var t = this;
			var d = desc;
			self.onclick = function(){ t.showDesc(desc, self) };			
		}	
	}
	
	this.showDesc = function(desc, self){
		if(desc && self){ 
			desc.style.display = '';
			self.innerHTML = "hide description";
			var t = this;
			var d = desc;
			self.onclick = function(){ t.hideDesc(desc, self) };			
		}	
	}
	
	this.hideAll = function(){
		for (x in this.elements){
			this.hideDesc(this.elements[x][0], this.elements[x][1]);
		}
	}
	
	this.showAll = function(){
		for (x in this.elements){
			this.showDesc(this.elements[x][0], this.elements[x][1]);
		}
	}
	
	this.run = function(){
		this.decsr = getElementsByClass("desc",document,"div");
		for(var i=0,l=this.decsr.length;i<l;i++){
			var nID = "descr_"+i;
			this.decsr[i].id = nID;			
			this.elements[nID] = new Array(this.decsr[i]);			
			this.createShowLink(this.decsr[i]);			
		}
	}
}

/****************/
function byId(id){return document.getElementById(id); }
function show(id){ byId(id).style.display = '';}
function hide(id){ byId(id).style.display = 'none';}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}