jQuery(document).ready(function($){
if ($('body').hasClass('page-template-music-php')) {

var audioTagSupport = !!(document.createElement('audio').canPlayType);
if (audioTagSupport) {


// insert player markup and controls	
	function initjs(){
		var playerhtml = '<audio id="player"><source id="source-ogg" type="audio/ogg" /><source id="source-mp3" type="audio/mp3" /></audio><div id="controls" class="group"><div id="buttons"><button id="previous">Previous</button><button id="play">Play</button><button id="pause">Pause</button><button id="next">Next</button></div><div id="current-track" class="group"><h1 id="track-title">Click a song to play</h1><span id="current-time">-:--:--</span><div id="progress"></div><span id="remaining-time">-:--:--</span></div><div id="volume-container" class="group"><img id="min-volume" src="'+ url +'/i/muted-disabled.png" alt="volume" /><div id="volume-slider"></div><img id="max-volume" src="'+ url +'/i/volume-disabled.png" alt="volume" /></div>';
			$('body.page-template-music-php div#category-description').after(playerhtml);

	}
	
// insert the markup
	initjs();
	
// initialize variables & define selectors
	var audio = document.getElementById('player');
	var title = $('h1#track-title');
	var table = $('table#song-list');
	var songs = $('table#song-list tr.category-music');
	var taglinks = $('td.song-tags a');
	var names = $('td.song-name');
	var namelinks = $('td.song-name a');
	var play = $('button#play');
	var pause = $('button#pause');
	var next = $('button#next');
	var previous = $('button#previous');
	var span = $('span#current-time');
	var negativespan = $('span#remaining-time');
	var progress = $('div#progress');
	var volumeslider = $('div#volume-slider');
	var mute = $('img#min-volume');
	var maxvol = $('img#max-volume');
	var volumecontainer = $('div#volume-container');
	var namebutton = $('th#song-name');
	var namearray = [];
	var muted = [];
	var currvolume = [];
	var progressbar = [];
	var s;
	var d;
	var mp3source = $('audio source#source-mp3');
	var oggsource = $('audio source#source-ogg');
	
		
	namelinks.each(function(){
		var text = $(this).text();
		$(this).after('<h2>' + text + '</h2>');
		$(this).remove();
	});	
	
	taglinks.each(function(){
		var text = $(this).text();
		$(this).after('<span>' + text + '</span>');
		$(this).remove();
	});
	
	
	
// format time in seconds to the 0:00:00 format needed to display
	function formatTime(s){
		var h=Math.floor(s/3600);
		s=s%3600;
		var m=Math.floor(s/60);
		s=Math.floor(s%60);
		/* pad the minute and second strings to two digits */
		if (s.toString().length < 2) s="0"+s;
		if (m.toString().length < 2) m="0"+m;
			
		var time = h+":"+m+":"+s;
		return time;
	}
	
	
	function playSong(obj){
		var song = obj.find('td.song-name');
		var mp3 = obj.find('td.song-mp3');
		var ogg = obj.find('td.song-ogg');
			
			$('a.ui-slider-handle').css({'display' : 'none'});
		
			songs.removeClass('selected-song');
			obj.addClass('selected-song');
			
			title.html(song.html());
		
			if (obj.next().hasClass('category-music')){
				next.removeAttr('disabled');
				next.removeClass('disabled');
			} else {
				next.attr('disabled', 'disabled');
				next.addClass('disabled');
			}
		
			if (obj.prev().hasClass('category-music')){
				previous.removeAttr('disabled');
				previous.removeClass('disabled');
			} else {
				previous.attr('disabled', 'disabled');
				previous.addClass('disabled');
			}
			
			audio.addEventListener("canplay", function() {
				play.removeAttr('disabled');
				play.removeClass('disabled');
				audio.play();
				mute.attr('src', url+'/i/muted.png');
				maxvol.attr('src', url+'/i/volume.png');
				mute.css({'cursor' : 'pointer'});
				maxvol.css({'cursor' : 'pointer'});
				$('a.ui-slider-handle').css({'display' : 'inline'});
				mute.click(function(){
					audio.volume = 0;
					volumeslider.slider('option', 'value', '0');
				});
	
				maxvol.click(function(){
					audio.volume = 1;
					volumeslider.slider('option', 'value', '1');
				});
			}, true);
		
			play.hide();
			pause.show();
			audio.pause();
			
			mp3source.attr('src', mp3.html()).appendTo(audio);
			oggsource.attr('src', ogg.html()).appendTo(audio);
	
			audio.load();
	}
	
	function nextSong(){
		songs.each(function(){
			if ($(this).hasClass('selected-song')){
				if ($(this).next().hasClass('category-music')){
					var nextsong = $(this).next();
					playSong(nextsong);
					return false;
				}
			}
		});
	}
	
	function previousSong(){
		songs.each(function(){
			if ($(this).hasClass('selected-song')){
				if ($(this).prev().hasClass('category-music')){
					var prevsong = $(this).prev();
					playSong(prevsong);
					return false;
				}
			}
		});
	}
	

	
// create volume slider
	volumeslider.slider({
		min:0, 
		max:1, 
		step:.1, 
		value:1, 
//		orientation:'vertical', 
		slide:function(e, ui){
// on slide, update audio volume value
			audio.volume=ui.value;
		}
	});
								   
// create progress slider						   
	progress.slider({
		min:0, 
		max:100, 
		step:.1, 
		value:0, 
		slide:function(e, ui){
// on slide, update current time to slider position
			audio.currentTime = (ui.value/100)*(audio.duration);
		}
	});
		
// listener to update time and progress bar position as the audio time changes
	audio.addEventListener("timeupdate", function() {
		s=audio.currentTime;
		d=audio.duration;
		var n=(d-s);
		if (s===0){
			span.innerHTML = "-:--:--";
			negativespan.innerHTML = "-:--:--";
		} else {
			span.html(formatTime(s));
			negativespan.html('-' + formatTime(n));
			progress.slider('option', 'value', (Math.floor(((s/d)*1000))/10));
		}							
	}, true);
	
	audio.addEventListener("ended", function() {										  
		nextSong();
	}, true);

	songs.each(function(i){
		$(this).click(function(){
			songs.removeClass('default');
			var obj = $(this);
			playSong(obj);
		});
	});
	songs.addClass('default');
	play.click(function(){
		if(songs.hasClass('default')){
			songs.removeClass('default');
			songs.each(function(i){
				if (i === 0) {
					playSong($(this), false);
				}			
			});
		}
		audio.play();
		play.hide();
		pause.show();	
	});
		
	pause.click(function(){
		audio.pause();
		pause.hide();
		play.show();
	});
	
	next.click(function(){
		if(songs.hasClass('default')){
			songs.removeClass('default');
			songs.each(function(i){
				if (i === 1) {
					playSong($(this), false);
				}			
			});
		} else {
		nextSong();
		}
	});
	
	previous.click(function(){
		previousSong();
	});

	
	pause.hide();
	previous.attr('disabled', 'disabled');
	previous.addClass('disabled');

/*
	names.each(function(i){
		namearray[i] = $(this).html();
	});
	
	namebutton.click(function(){
		var newnames = namearray.sort();
		alert(newnames);
	});
*/	
}
}
});