// 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.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; }