var player = null; 
function playerReady(obj) {
	player = document.getElementById(obj['id']);
	player.addControllerListener("ITEM", "itemListener");
	printPlaylistData();
}

var site_domains = ['bladehammer.nl', 'bladehammer.com', 'bladehammermusic.nl', 'bladehammermusic.com'];

function linkIsInternal(href) {
	for (var i in site_domains) {
		/* Als link url matcht met één van de site-domeinen */
		if (href.indexOf(site_domains[i]) != -1 || href.indexOf('javascript') != -1) return true;
	}
	return false;
}

$(document).ready(function() {
	initPlayer();
	preparelinks();
	
	$("a[href$='.mp3']").each(function(){
		var linkhref = $(this).attr('href');
		$(this).after('<embed type="application/x-shockwave-flash" flashvars="audioUrl='+linkhref+'" src="http://www.google.com/reader/ui/3523697345-audio-player.swf" width="400" height="27" quality="best"></embed>');
		$(this).remove();
	});
	
	if(typeof(navHoverFix) === 'function') navHoverFix();
	if(typeof(stripesFix) === 'function') stripesFix();
	if(typeof(load) === 'function') load(lang,directions,newwindow);
		
	$('#schedule ul').jScrollPane({
			scrollbarWidth: 5,
			showArrows: true
	});
	
	$('a[rel*=lightbox]').lightBox({
		imageLoading: '/img/lightbox-ico-loading.gif',
		imageBtnClose: '/img/lightbox-btn-close.gif',
		imageBtnPrev: '/img/lightbox-btn-prev.gif',
		imageBtnNext: '/img/lightbox-btn-next.gif',
		imageBlank: '/img/lightbox-blank.gif'
	});
});


function preparelinks() {
  var lnks = document.getElementsByTagName("a");
  for (var i=0; i<lnks.length; i++) {
if ((lnks[i].className.indexOf("newwindow") != -1) || (lnks[i].href.indexOf('mailto:') == -1 && !linkIsInternal(lnks[i].href) && (!lnks[i].getAttribute('rel') || lnks[i].getAttribute('rel').indexOf('lightbox') == -1)))  {
      lnks[i].onclick = function() {
        popUp(this.getAttribute("href"),this.className);
        return false;
      }
    }
  }
}
	
function popUp(href,className) {
   var className = (className == null) ? Array() : className;
    carr = className.split(' ');
    if(carr.length > 2) {
    		carr[1] = parseInt(carr[1]) + 40;
    		carr[2] = parseInt(carr[2]) + 40;
    		window.open(href,'','width='+carr[1]+',height='+carr[2]+'');
    } else {
    		window.open(href);
    }
}

function initPlayer() {
	var flashvars = { 
		file: "/player/playlist.php",
		repeat: "list"
	};
  var params = { 
  	allowFullScreen: true,
  	allowScriptAccess: "always"
  };
  var atts = {
  	id: "player",
  	name: "player"
  };
  
  swfobject.embedSWF("/player/player.swf", 
                     "player", "278", "167", "9", null, flashvars, params, atts);
}

/**
 * Druk playlist af
 */
function printPlaylistData() {
	function isEmpty(obj) {
		for(var prop in obj) {
			if(obj.hasOwnProperty(prop))
				return false;
		}
		return true;
	}
	plst = player.getPlaylist();
	
	if (!isEmpty(plst)) {
		var ul = document.createElement('ul');
		ul.id = 'playlist';
		for(var itm in plst) { 
			var li = document.createElement('li');
			var a = document.createElement('a');
			a.setAttribute('href',plst[itm].file);
			a.onclick = changeVid(itm);
			a.appendChild(document.createTextNode(plst[itm].author+' \u2013 '+plst[itm].title));
			li.appendChild(a);
			ul.appendChild(li);
			document.getElementById('video').appendChild(ul);
		}
		
		/* activate scrollbar */
		$('#playlist').jScrollPane({
			scrollbarWidth: 5,
			showArrows: true
		});
		
		/* add bottom 'padding' to playlist */
		$('#playlist').after('<div class="scroll_mask"></div>');
		
		
		
	} else {
		setTimeout("printPlaylistData()",100);
	}	
}

/**
 * Laat player een ander item inladen
 * Constructie: 'closure' (http://www.howtocreate.co.uk/referencedvariables.html)
 */
function changeVid(itm) {
	return function() {
		player.sendEvent("ITEM",itm);
		return false;
	}
}

/**
 * Luistert naar welk item er wordt afgespeeld
 * en markeert deze met een class
 */
function itemListener(obj) {
	var items = document.getElementById('playlist').getElementsByTagName('a');
	for (var i in items) {
		items[i].className = (i == obj.index) ? 'running' : '';
	}
}	
