summaryrefslogtreecommitdiff
path: root/js/dojo-1.6/dojox/embed/Object.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/dojo-1.6/dojox/embed/Object.js')
-rw-r--r--js/dojo-1.6/dojox/embed/Object.js116
1 files changed, 116 insertions, 0 deletions
diff --git a/js/dojo-1.6/dojox/embed/Object.js b/js/dojo-1.6/dojox/embed/Object.js
new file mode 100644
index 0000000..4136215
--- /dev/null
+++ b/js/dojo-1.6/dojox/embed/Object.js
@@ -0,0 +1,116 @@
+/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.embed.Object"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.embed.Object"] = true;
+dojo.provide("dojox.embed.Object");
+dojo.experimental("dojox.embed.Object");
+
+dojo.require("dijit._Widget");
+dojo.require("dojox.embed.Flash");
+dojo.require("dojox.embed.Quicktime");
+
+dojo.declare("dojox.embed.Object", dijit._Widget, {
+ // summary:
+ // A widget you can use to embed either a Flash or Quicktime
+ // movie.
+ //
+ // example:
+ // From markup:
+ // | <div dojoType="dojox.embed.Object" src="path/to/movie.swf"></div>
+ //
+ // example:
+ // Programmatic:
+ // | var mov=new dojox.embed.Object({
+ // | src: "path/to/movie.swf"
+ // | }, node);
+ //
+ // width: Number?
+ // The width of the movie. If not provided, the width of this.domNode is used.
+ // height: Number?
+ // The height of the movie. If not provided, the height of this.domNode is used.
+ // src: String
+ // The URL of the movie to embed.
+ // movie: HTMLEmbed
+ // The eventual reference to the movie embedded. If you are looking to script
+ // control over the movie, you'd access it this way.
+ // params: Object
+ // A property bag that is created postCreate. Any additional attributes you
+ // define on your domNode will be collected and placed into this, which will
+ // then be passed to the movie constructor.
+ // reFlash: RegExp
+ // Expression used on the src property to determine if this is Flash or Quicktime.
+ // reQtMovie: RegExp
+ // Expression used on the src property to determine if this is Flash or Quicktime.
+ // reQtAudio: RegExp
+ // Expression used on the src property to determine if this is Flash or Quicktime.
+
+ width: 0,
+ height: 0,
+ src: "",
+ movie: null,
+ params: null,
+
+ reFlash: /\.swf|\.flv/gi,
+ reQtMovie: /\.3gp|\.avi|\.m4v|\.mov|\.mp4|\.mpg|\.mpeg|\.qt/gi,
+ reQtAudio:/\.aiff|\.aif|\.m4a|\.m4b|\.m4p|\.midi|\.mid|\.mp3|\.mpa|\.wav/gi,
+
+ postCreate: function(){
+ // summary
+ // Constructs the movie and places it in the document.
+ if(!this.width || !this.height){
+ // get the width and height from the domNode
+ var box=dojo.marginBox(this.domNode);
+ this.width=box.w, this.height=box.h;
+ }
+
+ // the default embed constructor.
+ var em=dojox.embed.Flash;
+
+ // figure out what kind of movie this is.
+ if(this.src.match(this.reQtMovie) || this.src.match(this.reQtAudio)){
+ em=dojox.embed.Quicktime;
+ }
+
+ // loop through any attributes and set up our params object.
+ if(!this.params){
+ this.params={};
+ if(this.domNode.hasAttributes()){
+ // ignore list
+ var ignore = {
+ dojoType: "",
+ width: "",
+ height: "",
+ "class": "",
+ style: "",
+ id: "",
+ src: ""
+ };
+
+ var attrs=this.domNode.attributes;
+ for(var i=0, l=attrs.length; i<l; i++){
+ if(!ignore[attrs[i].name]){
+ this.params[attrs[i].name]=attrs[i].value;
+ }
+ }
+ }
+ }
+
+ // set up our arguments.
+ var kwArgs={
+ path: this.src,
+ width: this.width,
+ height: this.height,
+ params: this.params
+ };
+
+ // set up the movie.
+ this.movie=new (em)(kwArgs, this.domNode);
+ }
+});
+
+}