// Script for NiftyPlayer 1.7, by tvst from varal.org
// Released under the MIT License: http://www.opensource.org/licenses/mit-license.php

var FlashHelper =
{
	movieIsLoaded : function (theMovie)
	{
		if (typeof(theMovie) != "undefined") return theMovie.PercentLoaded() == 100;
		else return
		false;
  },

	getMovie : function (movieName)
	{
  	if (navigator.appName.indexOf ("Microsoft") !=-1) return window[movieName];
	  else return document[movieName];
	}
};

function niftyplayer(name)
{
	this.obj = FlashHelper.getMovie(name);

	if (!FlashHelper.movieIsLoaded(this.obj)) return;

	this.play = function () {
		this.obj.TCallLabel('/','play');
	};

	this.stop = function () {
		this.obj.TCallLabel('/','stop');
	};

	this.pause = function () {
		this.obj.TCallLabel('/','pause');
	};

	this.playToggle = function () {
		this.obj.TCallLabel('/','playToggle');
	};

	this.reset = function () {
		this.obj.TCallLabel('/','reset');
	};

	this.load = function (url) {
		this.obj.SetVariable('currentSong', url);
		this.obj.TCallLabel('/','load');
	};

	this.loadAndPlay = function (url) {
		this.load(url);
		this.play();
	};

	this.getState = function () {
		var ps = this.obj.GetVariable('playingState');
		var ls = this.obj.GetVariable('loadingState');

		// returns
		//   'empty' if no file is loaded
		//   'loading' if file is loading
		//   'playing' if user has pressed play AND file has loaded
		//   'stopped' if not empty and file is stopped
		//   'paused' if file is paused
		//   'finished' if file has finished playing
		//   'error' if an error occurred
		if (ps == 'playing')
			if (ls == 'loaded') return ps;
			else return ls;

		if (ps == 'stopped')
			if (ls == 'empty') return ls;
			if (ls == 'error') return ls;
			else return ps;

		return ps;

	};

	this.getPlayingState = function () {
		// returns 'playing', 'paused', 'stopped' or 'finished'
		return this.obj.GetVariable('playingState');
	};
	this.getVol = function () {
		// returns 'playing', 'paused', 'stopped' or 'finished'
		return this.obj.GetVariable('vol');
	};
	this.setVol = function (num) {
		// returns 'playing', 'paused', 'stopped' or 'finished'
		return this.obj.SetVariable('vol',num);
	};

	this.getLoadingState = function () {
		// returns 'empty', 'loading', 'loaded' or 'error'
		return this.obj.GetVariable('loadingState');
	};

	this.registerEvent = function (eventName, action) {
		// eventName is a string with one of the following values: onPlay, onStop, onPause, onError, onSongOver, onBufferingComplete, onBufferingStarted
		// action is a string with the javascript code to run.
		//
		// example: niftyplayer('niftyPlayer1').registerEvent('onPlay', 'alert("playing!")');

		this.obj.SetVariable(eventName, action);
	};

	return this;
}


jQuery(document).ready(function()  {

	bindMusic();
	$("#playerholder").css("display","block");
	
});
var first = true;
function mtoggle()
{
	$(".mactive").removeClass("mactive");
	if(niftyplayer('musicplayer').getState() == "playing" )
	{
		$("#musicon").addClass("mactive");
		
		if(niftyplayer('musicplayer').getVol() < 33)
			$("#musicspkr img").attr("src",root + "styles/speakeroff.png");
		else if(niftyplayer('musicplayer').getVol() < 66)
			$("#musicspkr img").attr("src",root + "styles/speaker33.png");
		else if(niftyplayer('musicplayer').getVol() < 100)
			$("#musicspkr img").attr("src",root + "styles/speaker66.png");
		else
			$("#musicspkr img").attr("src",root + "styles/speakerfull.png");
	}
	else
	{
		$("#musicoff").addClass("mactive");
		$("#musicspkr img").attr("src",root + "styles/speakeroff.png");
	}	
}
function bindMusic()
{
	$("#musiccontrol").css("display","block");
	if(first)
	{
		var thInt = setInterval(function(){
			try{
				if(niftyplayer('musicplayer').getState() == "playing")
				{
					mtoggle();
					clearInterval(thInt);
					niftyplayer('musicplayer').registerEvent("onSongOver",'niftyplayer("musicplayer").play()');
				}
				if(niftyplayer('musicplayer').getState() == "stopped")
				{
					mtoggle();
					clearInterval(thInt);
					niftyplayer('musicplayer').registerEvent("onSongOver",'niftyplayer("musicplayer").play()');
				}
				first = false;
			}
			catch(err)
			{
			}
		}, 100);
	}
	try{
		mtoggle();
	}
	catch(err)
	{
	}
	
	
	
	$("#musicon").click(function(){
		$(".mactive").removeClass("mactive");
		$(this).addClass("mactive");
		niftyplayer('musicplayer').play();
		if(niftyplayer('musicplayer').getVol() <= 33)
		{				
			$("#musicspkr img").attr("src",root + "styles/speaker33.png");
			niftyplayer('musicplayer').setVol(33);
		}
		else if(niftyplayer('musicplayer').getVol() <= 66)
		{
			$("#musicspkr img").attr("src",root + "styles/speaker66.png");
		}
		else if(niftyplayer('musicplayer').getVol() <= 100)
		{
			$("#musicspkr img").attr("src",root + "styles/speakerfull.png");
		}
		return false;
	});
	
	$("#musicoff").click(function(){
		$(".mactive").removeClass("mactive");
		$(this).addClass("mactive");
		niftyplayer('musicplayer').pause();
		$("#musicspkr img").attr("src",root + "styles/speakeroff.png");
		return false;
	});
	$("#musicspkr").click(function(){
		$(".mactive").removeClass("mactive");
		$("#musicon").addClass("mactive");
		if($("#musicspkr img").attr("src") == root + "styles/speakeroff.png")
		{
			if(niftyplayer('musicplayer').getState() != "playing")
				niftyplayer('musicplayer').play();
				
			$("#musicspkr img").attr("src",root + "styles/speaker33.png");
			niftyplayer('musicplayer').setVol(33);
		}
		else if($("#musicspkr img").attr("src") == root + "styles/speaker33.png")
		{
			$("#musicspkr img").attr("src",root + "styles/speaker66.png");
			niftyplayer('musicplayer').setVol(66);
		}
		else if($("#musicspkr img").attr("src") == root + "styles/speaker66.png")
		{
			$("#musicspkr img").attr("src",root + "styles/speakerfull.png");
			niftyplayer('musicplayer').setVol(100);
		}
		else if($("#musicspkr img").attr("src") == root + "styles/speakerfull.png")
		{
			$("#musicoff").click();
		}
		return false;
	});
}
