Вход Регистрация
Файл: contao-3.5.8/assets/mootools/mediabox/1.4.6/js/Quickie.js
Строк: 164
<?php
/*
---
description: MooTools wrapper to embed QuickTime movies.

license: MIT-style

authors:
- Jose Prado

requires:
  core/1.2.4: [Browser, Class.Extras, Array, Hash, Element, Element.Event]

provides:
  Quickie
  Browser.Plugins.QuickTime

...
*/
(function() {
    var 
qtEvents = ['begin''loadedmetadata''loadedfirstframe''canplay''canplaythrough',
    
'durationchange''load''ended''error''pause''play''progress''waiting''stalled',
    
'timechanged''volumechange'];
    
    
Quickie = new Class({
            
        Implements: [
OptionsEvents],
        
version'2.1',
        
options: {/*
            onPlay: $empty,
            onStop: $empty,*/
            
idnull,
            
height1,
            
width1,
            
containernull,
            
attributes: {
                
controller"true",
                
postdomevents"true"
            
}
        },
        
        
initialize: function(pathoptions){
            
this.setOptions(options);
            
options this.options;
            
this.id this.options.id || 'Quickie_' $time();
            
this.path path;
            var 
container options.container;
            
            
// Extra attributes
            
options.attributes $H(options.attributes);
            
options.attributes.src path;
            
            
// Get Browser appropriate HTML code
            
this.html this.toHTML();
            
            if (
Browser.Engine.trident) {
                
document.getElementById(container).innerHTML this.html;
                
this.quickie document.getElementById(this.id);
                
this.ieFix.delay(10this);
            } else {
                var 
wrapper document.createElement('div');
                
wrapper.innerHTML this.html;
                
this.quickie wrapper.firstChild;
                
this.transferEvents();
                
document.id(container).empty();
                
document.getElementById(container).appendChild(this.quickie);
            }
        },
        
        
toHTML: function() {
            if (!
this.html) {
                var 
attributes this.options.attributes,
                    
height     = (attributes.controller == "true") ? this.options.height 16 this.options.height,
                    
width      this.options.width,
                    
element    '';
                      
                if (
Browser.Engine.trident) {                    
                    
element '<object id="'+this.id+'" ';
                    
element += 'width="'+width+'" ';
                    
element += 'height="'+height+'" ';
                    
element += 'classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" ';
                    
element += 'style="behavior:url(#qt_event_source);" ';
                    
element += 'codebase="http://www.apple.com/qtactivex/qtplugin.cab">';
                    
                    
attributes.each(function(valuekey) {
                        
element += '<param name="'+key+'" value="'+value+'" />';
                    });
                    
                    
element += '</object>';
                } else {
                    
element '<embed id="'+this.id+'" ';
                    
element += 'width="'+width+'" ';
                    
element += 'height="'+height+'" ';
                    
element += 'pluginspage="http://www.apple.com/quicktime/download/" ';
                    
                    
attributes.each(function(valuekey) {
                        
element += key+'="'+value+'" ';
                    });
                    
                    
element += '/>';
                }
                
this.html element;
            }
            return 
this.html;
        },
        
        
ieFix: function() {
            
document.getElementById(this.id).SetResetPropertiesOnReload(false);
            
document.getElementById(this.id).SetURL(this.path);
            
this.transferEvents.delay(10this);
        },
        
        
transferEvents: function() {
            var 
element this.quickie;
            
            
qtEvents.each(function(evType) {
                
addQTEvent(elementevTypethis.fireEvent.pass(evTypethis));
            }.
bind(this));
        }
        
    });

    function 
addQTEvent(elevTypefnuseCapture) {
        
evType 'qt_' evType;
        if (
el.addEventListener) {
            
el.addEventListener(evTypefnuseCapture);
            return 
true;
        } else if (
el.attachEvent) {
            var 
el.attachEvent('on' evTypefn);
            return 
r;
        } else {
            
el[evType] = fn;
        }
    }

})();

Browser.Plugins.QuickTime = (function(){
    if (
navigator.plugins) {
        for (var 
0navigator.plugins.lengthli++) {
            if (
navigator.plugins[i].name.indexOf('QuickTime') >= 0) {
                return 
true;
            }
        }
    } else {
        try { var 
test = new ActiveXObject('QuickTime.QuickTime'); }
        catch(
e) {}
        
        if (
test) { return true; }
    }
    return 
false;
})();
?>
Онлайн: 0
Реклама