home *** CD-ROM | disk | FTP | other *** search
/ Cricao de Sites - 650 Layouts Prontos / WebMasters.iso / Blogs / wordpress2.6.exe / wordpress2.6 / wp-includes / js / scriptaculous / sound.js < prev    next >
Encoding:
JavaScript  |  2008-03-03  |  1.9 KB  |  56 lines

  1. // script.aculo.us sound.js v1.8.0, Tue Nov 06 15:01:40 +0300 2007
  2.  
  3. // Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
  4. //
  5. // Based on code created by Jules Gravinese (http://www.webveteran.com/)
  6. //
  7. // script.aculo.us is freely distributable under the terms of an MIT-style license.
  8. // For details, see the script.aculo.us web site: http://script.aculo.us/
  9.  
  10. Sound = {
  11.   tracks: {},
  12.   _enabled: true,
  13.   template:
  14.     new Template('<embed style="height:0" id="sound_#{track}_#{id}" src="#{url}" loop="false" autostart="true" hidden="true"/>'),
  15.   enable: function(){
  16.     Sound._enabled = true;
  17.   },
  18.   disable: function(){
  19.     Sound._enabled = false;
  20.   },
  21.   play: function(url){
  22.     if(!Sound._enabled) return;
  23.     var options = Object.extend({
  24.       track: 'global', url: url, replace: false
  25.     }, arguments[1] || {});
  26.     
  27.     if(options.replace && this.tracks[options.track]) {
  28.       $R(0, this.tracks[options.track].id).each(function(id){
  29.         var sound = $('sound_'+options.track+'_'+id);
  30.         sound.Stop && sound.Stop();
  31.         sound.remove();
  32.       })
  33.       this.tracks[options.track] = null;
  34.     }
  35.       
  36.     if(!this.tracks[options.track])
  37.       this.tracks[options.track] = { id: 0 }
  38.     else
  39.       this.tracks[options.track].id++;
  40.       
  41.     options.id = this.tracks[options.track].id;
  42.     $$('body')[0].insert( 
  43.       Prototype.Browser.IE ? new Element('bgsound',{
  44.         id: 'sound_'+options.track+'_'+options.id,
  45.         src: options.url, loop: 1, autostart: true
  46.       }) : Sound.template.evaluate(options));
  47.   }
  48. };
  49.  
  50. if(Prototype.Browser.Gecko && navigator.userAgent.indexOf("Win") > 0){
  51.   if(navigator.plugins && $A(navigator.plugins).detect(function(p){ return p.name.indexOf('QuickTime') != -1 }))
  52.     Sound.template = new Template('<object id="sound_#{track}_#{id}" width="0" height="0" type="audio/mpeg" data="#{url}"/>')
  53.   else
  54.     Sound.play = function(){}
  55. }
  56.