Project

General

Profile

Statistics
| Revision:

root / trunk / web / dojo / dojox / embed / Quicktime.js @ 12

History | View | Annotate | Download (3.57 KB)

1
/*
2
        Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
3
        Available via Academic Free License >= 2.1 OR the modified BSD license.
4
        see: http://dojotoolkit.org/license for details
5
*/
6

    
7

    
8
if(!dojo._hasResource["dojox.embed.Quicktime"]){
9
dojo._hasResource["dojox.embed.Quicktime"]=true;
10
dojo.provide("dojox.embed.Quicktime");
11
(function(d){
12
var _1,_2={major:0,minor:0,rev:0},_3,_4={width:320,height:240,redirect:null},_5="dojox-embed-quicktime-",_6=0,_7="This content requires the <a href=\"http://www.apple.com/quicktime/download/\" title=\"Download and install QuickTime.\">QuickTime plugin</a>.";
13
function _8(_9){
14
_9=d.mixin(d.clone(_4),_9||{});
15
if(!("path" in _9)&&!_9.testing){
16
console.error("dojox.embed.Quicktime(ctor):: no path reference to a QuickTime movie was provided.");
17
return null;
18
}
19
if(_9.testing){
20
_9.path="";
21
}
22
if(!("id" in _9)){
23
_9.id=_5+_6++;
24
}
25
return _9;
26
};
27
if(d.isIE){
28
_3=(function(){
29
try{
30
var o=new ActiveXObject("QuickTimeCheckObject.QuickTimeCheck.1");
31
if(o!==undefined){
32
var v=o.QuickTimeVersion.toString(16);
33
function p(i){
34
return (v.substring(i,i+1)-0)||0;
35
};
36
_2={major:p(0),minor:p(1),rev:p(2)};
37
return o.IsQuickTimeAvailable(0);
38
}
39
}
40
catch(e){
41
}
42
return false;
43
})();
44
_1=function(_a){
45
if(!_3){
46
return {id:null,markup:_7};
47
}
48
_a=_8(_a);
49
if(!_a){
50
return null;
51
}
52
var s="<object classid=\"clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B\" "+"codebase=\"http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0\" "+"id=\""+_a.id+"\" "+"width=\""+_a.width+"\" "+"height=\""+_a.height+"\">"+"<param name=\"src\" value=\""+_a.path+"\"/>";
53
for(var p in _a.params||{}){
54
s+="<param name=\""+p+"\" value=\""+_a.params[p]+"\"/>";
55
}
56
s+="</object>";
57
return {id:_a.id,markup:s};
58
};
59
}else{
60
_3=(function(){
61
for(var i=0,p=navigator.plugins,l=p.length;i<l;i++){
62
if(p[i].name.indexOf("QuickTime")>-1){
63
return true;
64
}
65
}
66
return false;
67
})();
68
_1=function(_b){
69
if(!_3){
70
return {id:null,markup:_7};
71
}
72
_b=_8(_b);
73
if(!_b){
74
return null;
75
}
76
var s="<embed type=\"video/quicktime\" src=\""+_b.path+"\" "+"id=\""+_b.id+"\" "+"name=\""+_b.id+"\" "+"pluginspage=\"www.apple.com/quicktime/download\" "+"enablejavascript=\"true\" "+"width=\""+_b.width+"\" "+"height=\""+_b.height+"\"";
77
for(var p in _b.params||{}){
78
s+=" "+p+"=\""+_b.params[p]+"\"";
79
}
80
s+="></embed>";
81
return {id:_b.id,markup:s};
82
};
83
}
84
dojox.embed.Quicktime=function(_c,_d){
85
return dojox.embed.Quicktime.place(_c,_d);
86
};
87
d.mixin(dojox.embed.Quicktime,{minSupported:6,available:_3,supported:_3,version:_2,initialized:false,onInitialize:function(){
88
dojox.embed.Quicktime.initialized=true;
89
},place:function(_e,_f){
90
var o=_1(_e);
91
if(!(_f=d.byId(_f))){
92
_f=d.create("div",{id:o.id+"-container"},d.body());
93
}
94
if(o){
95
_f.innerHTML=o.markup;
96
if(o.id){
97
return d.isIE?d.byId(o.id):document[o.id];
98
}
99
}
100
return null;
101
}});
102
if(!d.isIE){
103
var id="-qt-version-test",o=_1({testing:true,width:4,height:4}),c=10,top="-1000px",_10="1px";
104
function _11(){
105
setTimeout(function(){
106
var qt=document[o.id],n=d.byId(id);
107
if(qt){
108
try{
109
var v=qt.GetQuickTimeVersion().split(".");
110
dojox.embed.Quicktime.version={major:parseInt(v[0]||0),minor:parseInt(v[1]||0),rev:parseInt(v[2]||0)};
111
if(dojox.embed.Quicktime.supported=v[0]){
112
dojox.embed.Quicktime.onInitialize();
113
}
114
c=0;
115
}
116
catch(e){
117
if(c--){
118
_11();
119
}
120
}
121
}
122
if(!c&&n){
123
d.destroy(n);
124
}
125
},20);
126
};
127
if(d._initFired){
128
d.create("div",{innerHTML:o.markup,id:id,style:{top:top,left:0,width:_10,height:_10,overflow:"hidden",position:"absolute"}},d.body());
129
}else{
130
document.write("<div style=\"top:"+top+";left:0;width:"+_10+";height:"+_10+";overflow:hidden;position:absolute\" id=\""+id+"\">"+o.markup+"</div>");
131
}
132
_11();
133
}else{
134
if(d.isIE&&_3){
135
dojox.embed.Quicktime.onInitialize();
136
}
137
}
138
})(dojo);
139
}