Skip to content

Instantly share code, notes, and snippets.

@ibolmo
Forked from timwienk/gist:0847599281d594c0cfcc
Last active August 29, 2015 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ibolmo/0355d7cb2c21205dcc3d to your computer and use it in GitHub Desktop.
Save ibolmo/0355d7cb2c21205dcc3d to your computer and use it in GitHub Desktop.
https://github.com/23critters/accented-keyboard
https://github.com/23critters/moorypopins
https://github.com/23critters/styleselect
https://github.com/3n/mootune
https://github.com/abidibo/moogallery
https://github.com/aleho/mootools-xmlrpc
https://github.com/amadeus/cssevents
https://github.com/amadeus/dynamictextarea-mootools-class
https://github.com/andyfleming/browserupdatewarning
https://github.com/anutron/clientcide-tabswapper
https://github.com/anutron/mootools-bootstrap
https://github.com/arian/moocss
https://github.com/arian/moodialog
https://github.com/arian/moomodernizr
https://github.com/arian/mootools-datepicker
https://github.com/arian/mootools-form-upload
https://github.com/arieh/element.rgba
https://github.com/arieh/element.setrgba
https://github.com/arieh/fx.rotate
https://github.com/arieh/historymanager
https://github.com/arieh/mootools-storage
https://github.com/arieh/yaddm
https://github.com/bagicode/bagichoose
https://github.com/benlenarts/fx.implicit
https://github.com/bootle/dropzone
https://github.com/bryanjswift/mootools-form-replacements
https://github.com/cbeloch/locate
https://github.com/challet/mooplay
https://github.com/cheeaun/mooeditable
https://github.com/ciul/moogoomaps
https://github.com/ciul/xml2js-converter
https://github.com/country/shapehover
https://github.com/cpojer/mootools-filemanager
https://github.com/cpojer/mootools-mobile
https://github.com/creaven/louper
https://github.com/creaven/mifmenu
https://github.com/creaven/miftree
https://github.com/darkwing/overlay
https://github.com/dcdustin/mavbox
https://github.com/dcdustin/mavcrop
https://github.com/dcdustin/mavselectbox
https://github.com/deef/wnz.uploader
https://github.com/deeo/cacheable
https://github.com/dimitarchristoff/data-mootools
https://github.com/dimitarchristoff/mailcheck
https://github.com/dimitarchristoff/mooselecta
https://github.com/dimitarchristoff/mootagify
https://github.com/dimitarchristoff/strongpass
https://github.com/dirar/deviantmenu
https://github.com/dirar/sowar
https://github.com/dirar/sowar2
https://github.com/duclet/mootools-extras
https://github.com/eerne/omnigrid
https://github.com/eerne/scrollbar
https://github.com/enlogger/concordemenu
https://github.com/enlogger/onemorefingers
https://github.com/fabiomcosta/mootools-meio-autocomplete
https://github.com/fabiomcosta/mootools-meio-mask
https://github.com/fantactuka/mootools-attributes
https://github.com/fantactuka/mootools-decorator
https://github.com/fate/mootools-yql
https://github.com/firebuntu/mooves
https://github.com/franzlst/socialshareprivacy-for-mootools
https://github.com/fyrye/formcheck
https://github.com/fyrye/tornlog
https://github.com/gasmor/mooeditor
https://github.com/guille/textboxlist
https://github.com/holyshared/exhibition
https://github.com/holyshared/gradually
https://github.com/holyshared/imagedrawer
https://github.com/holyshared/staticmaps
https://github.com/inviz/lsd
https://github.com/jacobthornton/mousewheel
https://github.com/jacobthornton/painttrace
https://github.com/jiangcat/cjlightbox
https://github.com/jplarson/popupwindow
https://github.com/jplarson/powermeter
https://github.com/juanparati/goocompleter
https://github.com/juanparati/mooupload
https://github.com/kamicane/mootools-touch
https://github.com/l0rdj/pages-navigation
https://github.com/lavmax/mux.dialog
https://github.com/lavmax/mux.loaders
https://github.com/lehresman/staticscroller
https://github.com/lorenzos/fancyselect
https://github.com/lorenzos/floatingtips
https://github.com/lorenzos/panner
https://github.com/magicweb/moowatermark
https://github.com/mariofischer/cwcomplete
https://github.com/mariofischer/cwvideo
https://github.com/mashalla/autocomplete
https://github.com/mashalla/dialog
https://github.com/mashalla/slider
https://github.com/mashalla/tooltip
https://github.com/mashalla/tree
https://github.com/mattcoz/element.fragment
https://github.com/mcfedr/mootools-fx-css3
https://github.com/michalc/fullscreenimage
https://github.com/moolego/ui
https://github.com/mrsidd/mootools_slider_mobile
https://github.com/msantic/omnigrid
https://github.com/ninjapenguin/mootools-img.togreyscale
https://github.com/nkjoep/moocontentassist
https://github.com/panaghia/mosaic
https://github.com/paxa/hui_name
https://github.com/phpinfo/mootools-placeholder
https://github.com/plasm/simplemodal
https://github.com/pradador/capslock
https://github.com/pradador/quickie
https://github.com/quick2ouch/quickform
https://github.com/re5et/menuify
https://github.com/re5et/purr
https://github.com/re5et/userkeyboardshortcuts
https://github.com/realityking/grayscale-image-hover
https://github.com/remram/ch.remram.mootools.moocompleter
https://github.com/remram/ch.remram.mootools.mooshape
https://github.com/reol/fed-process
https://github.com/rickyh/tabalert
https://github.com/robotacon/yggdrasil
https://github.com/rpflorence/slideshow
https://github.com/rron/siteslider
https://github.com/ryanmitchell/nested-sortables
https://github.com/ryanmr/goodcorners
https://github.com/samthurston/rubik-for-mootools
https://github.com/siteroller/colorroller-mootools-color-picker
https://github.com/siteroller/moorte
https://github.com/sixtyseconds/eventdelegation
https://github.com/sixtyseconds/mootools-event-delegation
https://github.com/slik/browser.features
https://github.com/stecb/mooniform
https://github.com/stephanepericat/cdxed
https://github.com/stephanepericat/growler
https://github.com/stephanepericat/hashview
https://github.com/stephanwagner/mbox
https://github.com/stephanwagner/mform
https://github.com/stipsan/element.style.transform.js
https://github.com/subtlegradient/mootools-subtle-templates
https://github.com/sunbox/mootools-database
https://github.com/sunbox/mootools-fx-tween-css3
https://github.com/svanselerik/headerstretch
https://github.com/svanselerik/mooshop
https://github.com/tbela99/expose
https://github.com/tbela99/fx.css
https://github.com/tbela99/tab
https://github.com/tbela99/uploadmanager
https://github.com/theiviaxx/milkchart
https://github.com/thesociable/photosurface
https://github.com/thinkphp/browserid-mootools
https://github.com/thinkphp/moorequestslideshare
https://github.com/thinkphp/request.latestgithub
https://github.com/timjb/moosweeper
https://github.com/trainbolt/moochoose
https://github.com/trenker/twipsy
https://github.com/tru10000/ascribe-dialog
https://github.com/updel/drag2crop
https://github.com/virtuosimedia/password-strength-meter
https://github.com/virtuosimedia/vmformvalidator
https://github.com/vondoom/element.file
https://github.com/vondoom/jeeves
https://github.com/xunnamius/hashnav
https://github.com/xunnamius/moocrypt
https://github.com/yannickcr/shapehover
https://github.com/yoricksijsling/mooarraystablesort
https://github.com/yuffster/rabidratings
https://github.com/zilence/mootools-filemanager
./Ascribe-Dialog/Source/dialog.js:
55
56 this.isIE6 = false;
57: if (Browser.ie && (Browser.version<=6)) {
58 this.isIE6 = true;
59 }
60: // if (Browser.ie && Browser.Platform.win) {
61 // this.options.useArrows = false;
62 // }
./autoComplete/Source/autocomplete.js:
109 // Prevent IE 9 padding positioning bug
110 /*
111: * if (!Browser.ie9)
112 * this.typebox.setStyles(this.field.getStyles('padding-top'));
113 */
./BagiChoose/Source/BagiChoose.js:
146 'width': (selector_coords.width - this.options.openerWidth < 0 ? 0 : selector_coords.width - this.options.openerWidth),
147 'margin': this.selector.getStyle('margin'),
148: 'margin-top': (this.selector.get('disabled') && Browser.ie7 ? '-5px' : '0px'),
149 'margin-right': (parseInt(this.selector.getStyle('margin-right')) + this.options.openerWidth)
150 }
...
169 'text': ' ',
170 'styles': {
171: 'margin-top': (!this.selector.get('disabled') && Browser.ie7 ? '-3px' : '0px'),
172 'margin-left': selector_coords.width - this.options.openerWidth - this.options.openerFadeOverlap
173 }
...
217 'width': (selector_coords.width - this.options.openerWidth < 0 ? 0 : selector_coords.width - this.options.openerWidth),
218 'margin': this.selector.getStyle('margin'),
219: 'margin-top': (this.selector.get('disabled') && Browser.ie7 ? '-5px' : '0px'),
220 'margin-right': (parseInt(this.selector.getStyle('margin-right')) + this.options.openerWidth)
221 });
./Browser.Features/Source/Browser.Features.js:
2 ---
3
4: name: Browser.Features
5
6 description: Browser features detector.
.
12 authors: Slik (http://diveintoweb.net)
13
14: provides: [Browser.Features]
15
16 requires:
..
22 (function(){
23
24: var BF = Browser.Features;
25
26 BF.add = function(name, func, cache){
./BrowserUpdateWarning/Source/BrowserUpdateWarning.js:
95
96 // If the minimum browser
97: if (Browser.version < self.options['minVersion_'+Browser.name] && !self.isGoogleInstantPreview()) {
98 if (self.options.showPopup) { self.showBrowserUpdateWarning(); }
99 self.fireEvent('onFailure');
...
119 if (self.options.shade) { self.showShade(); }
120
121: var updateLink = self.options['updateLink_'+Browser.name];
122
123 html = '<div id="BrowserUpdateWarningContent">';
124 html += '<h1>It\'s time to upgrade your browser.</h1>';
125 html += '<div class="yourBrowser">';
126: html += '<img src="'+self.options.imagesDirectory+'icon-'+Browser.name+'.png" />';
127 html += '<a href="'+updateLink+'" target="_blank">Click here to update your current browser &raquo;</a>';
128 html += '</div>';
129 html += '<div class="otherBrowsers">';
130 this.options.downloadOptions.each(function(key,index) {
131: if (key != Browser.name) {
132 html += '<a href="'+self.options['updateLink_'+key]+'">';
133 html += '<img src="'+self.options.imagesDirectory+'icon-'+key+'.png" />';
./capslock/Source/CapsLock.js:
19 (function() {
20
21: Browser.CapsLock = null;
22 var capsOn = null,
23: target = (Browser.Engine.trident) ? document : window;
24
25 /**
..
30 function checkCapsKey(event) {
31 if (event.code > 64 && event.code < 91) { // Capital Letters
32: Browser.CapsLock = capsOn = (event.shift) ? null : true;
33 } else if (event.code > 96 && event.code < 123) { // Lower-case Letters
34: Browser.CapsLock = capsOn = (event.shift) ? true : false;
35 }
36
..
45 */
46 window.addEvent('blur', function(event) {
47: Browser.CapsLock = capsOn = null;
48 target.addEvent('keypress', checkCapsKey);
49 });
..
55 function checkCapsPress(event) {
56 if (event.code == 20 && capsOn !== null) {
57: if (Browser.Engine.webkit && Browser.Engine.version > 420) {
58: Browser.CapsLock = capsOn = (event.event.type == 'keydown');
59 } else {
60 if (event.event.type == 'keydown') {
61: Browser.CapsLock = capsOn = !capsOn;
62 }
63 }
..
81 condition: function(event) {
82 if (event.code == 20) {
83: if (Browser.Engine.webkit && Browser.Engine.version > 420) {
84 return true;
85 } else if (capsOn !== null) {
..
93
94 Element.Events.capsLockOff = {
95: base: (Browser.Engine.webkit) ? 'keyup' : 'keydown',
96 condition: function(event) {
97 if (event.code == 20) {
98: if (Browser.Engine.webkit && Browser.Engine.version > 420) {
99 return true;
100 } else if (capsOn !== null) {
./ch.remram.mootools.mooCompleter/Source/mooCompleter.js:
341 if(typeOf(el).test('element')){
342 //workaround for ugly and unprofessional browser like ie8 and lower!
343: if(Browser.ie && Browser.version < 9) {
344 if(property == 'html'){
345 if(el.innerHTML) return false;
...
437 var borderStyle = 'border: 0;';
438 //for IE-Browsers 8 and lower
439: if(Browser.ie && Browser.version <= 8) {
440 var borderStyle = 'border: 1px solid #999;';
441 }
./ch.remram.mootools.mooCompleter/Source/Plugins/mooCompleter.AutoList.js:
184 if(typeOf(this.selectedElement) == 'element') {
185 //workaround for ugly and unprofessional browser like ie8 and lower!
186: if(Browser.ie && Browser.version < 9) {
187 this.selectedElement.focus();
188 }
./ch.remram.mootools.mooShape/Source/mooShape.js:
320 });
321
322: if (Browser.ie && Browser.version < 9){
323 G_vmlCanvasManager.initElement(canvTitle);
324 }
...
337 });
338
339: if (Browser.ie && Browser.version < 9){
340 G_vmlCanvasManager.initElement(canvShape);
341 }
./cjLightBox/Source/cjLightBox.js:
532 window.__cjLightBoxInstance = this;
533 if ( this.options.keyboardOptions.useKeyboard
534: && (!Browser.ie || Browser.version >= 9) ) {
535 window.addEvents({
536 'keydown': function(e){
...
566 _computeElSize : function(el) {
567 var s = el.getComputedSize(), ss = {};
568: if ( Browser.opera ) {
569 ['padding-top', 'padding-bottom', 'padding-left', 'padding-right'].each(function(k){
570 ss[k] = el.getStyle(k).toInt();
...
639 case 'r' :
640 case 'right' : el.setStyle('left', 'auto');
641: el.setStyle('right', (Browser.ie && Browser.version<9 ? -1 : 0));
642 break;
643 default : el.setStyle('left', resX);
./clientcide-tabswapper/Source/TabSwapper.js:
154 var sect = tab.retrieve('section');
155 if (!sect) return this;
156: var smoothOk = this.options.smooth && !Browser.Engine.trident4;
157 if (this.now != idx) {
158 if (!tab.retrieve('tabFx'))
./ColorRoller-MooTools-Color-Picker/Source/ColorRoller.js:
85 });
86 /*
87: if (Browser.Engine.trident && Browser.Engine.version < 5)
88 els.crImg = new Element('span').adopt(els.crImgIE = new Element('img',{'class':'crImg'}));
89 */
..
113 )
114 )
115: ).addClass(Browser.Engine.name)
116 ).inject(document.body);
117 }
118
119: if (Browser.Engine.trident)
120 for (var grad = 0; grad < 12; grad++ )
121 new Element('div',{'class':'crIE'+grad}).inject(els[grad < 6 ? 'crL1' : 'crBar']);
122 /*
123: if (Browser.Engine.trident && false) {
124 var H = els.crBox.clientHeight;
125 for (var i=1; i<13; i++){
...
307 els.crBarSel.setStyle('top', 100 - val / (this.vLast || 3.6) + '%'); //100 - (this.vLast ? val : val / 3.6) + '%'
308
309: Browser.Engine.gecko && (this.space == 'W' || this.type != 2)
310 ? els.crL1.setStyle('background-image', '-moz-' +
311 (this.type
...
339 : (this.setSlider(vals[0]) || this.inputHSV(vFirst,vals[1]));
340 if (this.type == 2) this.setImg();
341: //if(Browser.Engine.gecko && this.space != 'W') this.els.crL1.setStyle('background-image','');
342 },
343 setType: function(e){
...
375 }
376 img = CRImages + (img || 'adobehs' + this.space) + '.png';
377: Browser.Engine.trident && Browser.Engine.version < 5
378 ? this.els.crImgIE.setStyle('width',80).set('src', CRImages + 'clear.gif').setStyle('filter','progid:DXImageTransform.Microsoft.AlphaImageLoader(src='+ img +',sizingMethod="scale")')
379 : this.els.crImg.set('src', img);//(this.type ? 'clear' : 'crop')
380: if (Browser.Engine.trident) this.els.crCircle.setStyle('display', this.type ? 'none' : 'block');
381 */
382 this.els.crShape.set('class', 'crShape crShape' + this.type);
...
404 // Create color wheel
405 draw: function(){
406: if (Browser.Engine.trident){} //|| (Browser.Engine.gecko && Browser.Engine.version > 1.9)
407 else {
408: var draw = Browser.Engine.gecko
409 ? this.els.crDraw.set({width:this.boxH, height:this.boxH}).inject(this.els.crL0, 'before').getContext('2d')
410 : document.getCSSCanvasContext('2d', 'circle', 100, 100)
...
447 //, rgb = [];
448
449: switch (Browser.Engine.name){
450 case 'webkit': draw = document.getCSSCanvasContext('2d', 'circle', 100, 100); break;
451 case 'trident':
...
468 rgb = rgb[0]+','+rgb[1]+','+rgb[2]; //rgb.toString();
469
470: if (Browser.Engine.trident)
471 draw += '<v:line from="'+r+','+r+'" to="'+x+','+y+'" strokecolor=rgb('+rgb+') />'
472: else { //|| (Browser.Engine.gecko && Browser.Engine.version > 1.9)
473 draw.beginPath();
474 draw.strokeStyle = 'rgb('+rgb+')';
...
482 }
483
484: if (Browser.Engine.trident)
485 // entire function take 350 ms to run, except this line, which moves it to 3900ms to run
486 this.els.crCircle.innerHTML = draw+'</v:group>';
./ConcordeMenu/Source/ConcordeMenu.js:
77 ul.setStyle('display','block');
78
79: if (Browser.Engine.name == 'trident') //ie
80 {
81 if (this.submenudiv) this.submenudiv.destroy();
..
168
169
170: window.addEvent ('blur', function () { if (!Browser.Engine.trident) this.close() }.bind(this)); //ie throws currious blur events
171 document.addEvent ('mousedown', this.menuEvent);
172
...
213
214 document.removeEvent ('mousedown', this.menuEvent);
215: window.removeEvent ('blur', function () {if (!Browser.Engine.trident) this.close()}.bind(this));
216 this.eMenu.removeEvents();
217
./CSSEvents/Source/CSSEvents.js:
18
19 var prefix =
20: (Browser.safari || Browser.chrome || Browser.Platform.ios) ? 'webkit' :
21: (Browser.opera) ? 'o' :
22: (Browser.ie) ? 'ms' : '';
23
24 var eventTypes = [
./cwcomplete/Source/cwcomplete.js:
86 this.textfield.addEvents( {'keydown': this.keypressed.bind(this), 'keyup': this.keypressed.bind(this)} );
87 if (this.options.clearChoicesOnBlur) {
88: if (!Browser.ie) {
89 this.textfield.addEvents( {'blur': this.clearChoices.bind(this) } );
90 }
..
95 }
96
97: if (!Browser.ie) {
98 this.choices.addEvents( {'mousedown': function(e){e.preventDefault();} } );
99 }
...
164 this.lielems[i] = new Element(this.options.choiceElement, { 'html': avalue[1] });
165 this.lielems[i].addEvent('click',this.enterValue.bind(this, {id: avalue[0], value: avalue[1] }) );
166: if (Browser.ie) {
167 this.lielems[i].addEvent('mousedown',this.enterValue.bind(this, {id: avalue[0], value: avalue[1] }));
168 }
./cwvideo/Source/cwvideo.js:
138 play: function()
139 {
140: if (Browser.Engine.trident) {
141 return;
142 }
...
146 pause: function()
147 {
148: if (Browser.Engine.trident) {
149 return;
150 }
...
154 togglePlay: function()
155 {
156: if (Browser.Engine.trident) {
157 return;
158 }
...
167 stop: function()
168 {
169: if (Browser.Engine.trident) {
170 return;
171 }
./dialog/Source/dialog.js:
153 'display': 'block'
154 });
155: if (Browser.ie && Browser.version <= 8) {
156 this.dialog.setStyles({
157 'margin-top': (-this.dialog.offsetHeight / 2) + document.body.scrollTop,
./Drag2Crop/Source/drag2crop.js:
50 },
51 __construct: function(){
52: if(Browser.name.ie) document.ondragstart = function (){return false;}; // IE fix
53 },
54 __makeResizableContainer: function() {
./DropZone/Source/DropZone/DropZone.HTML5.js:
159 } else if (file.file.mozSlice) { // Mozilla based
160 chunk = file.file.mozSlice(start, total);
161: } else if (file.file.webkitSlice && !Browser.safari) {// Chrome 20- and webkit based // Safari slices the file badly
162 chunk = file.file.webkitSlice(start, total);
163 } else { // Safari 5-
./DropZone/Source/DropZone/DropZone.js:
110
111 // Unfortunally Opera 11.11 has an incomplete Blob support
112: if (Browser.opera && Browser.version <= 11.11) this.method = null;
113
114 }
115
116 // Check flash support & if module is available
117: if (!this.method && typeof DropZone['Flash'] != 'undefined') this.method = Browser.Plugins.Flash && Browser.Plugins.Flash.version >= 9 ? 'Flash' : null;
118
119 // If not Flash or HTML5, go for HTML4 if module is available
...
310 // Old version of firefox and opera don't support click trigger for input files fields
311 // Internet "Exploiter" do not allow trigger a form submit if the input file field was not clicked directly by the user
312: if (this.method != 'Flash' && (Browser.firefox2 || Browser.firefox3 || Browser.opera || Browser.ie)) {
313 this._positionInput();
314 } else {
./DropZone/Source/DropZone/Request.Blob.js:
23 (function(){
24
25: var progressSupport = ('onprogress' in new Browser.Request);
26
27 Request.Blob = new Class({
./DynamicTextarea-Mootools-Class/Source/DynamicTextarea.js:
76
77 // Firefox and Opera handle scroll heights differently than all other browsers
78: if (window.Browser.firefox || window.Browser.opera) {
79 this.options.offset =
80 parseInt(this.textarea.getStyle('padding-top'),10) +
./Element.Fragment/Source/Element.Fragment.js:
18 */
19
20: Browser.Fragment = window.DocumentFragment;
21
22 var Fragment = function(){
..
24 };
25
26: if (Browser.Fragment) Fragment.prototype = Browser.Fragment.prototype;
27
28 new Type('Fragment', Fragment);
29
30: if (!Browser.Fragment){
31 Fragment.parent = Object;
32
./Element.rgba/Source/Element.rgba.js:
18 (function(o_setStyle,o_getStyle){
19
20: if (Browser.Features.rgba) return;
21
22 var set_regex = /rgba\(([0-9a-fA-F]{1,3}),([0-9a-fA-F]{1,3}),([0-9a-fA-F]{1,3}),(.*)\)/
./Element.rgba/Source/Element.setRGBA.js:
11 - core/1.3: Core,Element
12
13: provides: [Element.setRGBA,Browser.Features.rgba]
14
15 ...
..
26 }catch(e){}
27
28: Browser.Features.rgba = supported;
29
30 Element.implement({
31: setRGBA : Browser.Features.rgba ?
32 function setRGBA(r,g,b,a){
33 this.setStyle('background-color','rgba('+arguments.join(',')+')');
./Element.setRGBA/Source/Element.setRGBA.js:
17 (function(){
18
19: if (!Browser.ie) return;
20
21 var old_set = Element.prototype.setStyle
./Element.Style.Transform.js/Source/Element.Style.Transform.js:
24 set: function(transform){
25 var property = 'transform';
26: if(Browser.safari || Browser.chrome || Browser.Platform.ios)
27 property = 'WebkitTransform';
28: if(Browser.firefox4)
29 property = 'MozTransform';
30: if(Browser.opera)
31 property = 'OTransform';
32
..
43 set: function(transition){
44 var property = 'transition';
45: if(Browser.safari || Browser.chrome || Browser.Platform.ios)
46 property = 'WebkitTransition';
47: if(Browser.firefox4)
48 property = 'MozTransition';
49: if(Browser.opera)
50 property = 'OTransition';
51
./expose/Source/Overlay.js:
114 myCoords;
115
116: if(this.options.container == document.body) this.container.setStyles({top: Browser.Engine.trident4 ? window.getScrollTop() : 0, height: window.getScrollHeight()});
117 else {
118
./FancySelect/Source/FancySelect.js:
64 this.element.setStyle('display', 'none');
65 this.select(this.element.get('value')); // Select current item
66: if (Browser.ie) window.addEvent('load', function() { this.select(this.element.get('value')); }.bind(this)); // IE refresh fix
67 this.ul.fade('hide').inject(document.id(document.body));
68 this.div.inject(this.element, 'after');
./FED-Process/Source/resources/main/j/n/core/Core.js:
40 add_ie_cache: function()
41 {
42: if (Browser.Engine.trident)
43 document.execCommand("BackgroundImageCache",false,true);
44 },
45 is_ie6: function()
46 {
47: return ((Browser.Engine.trident) && (Browser.Engine.version <= 4));
48 },
49 is_ie7: function()
50 {
51: return ((Browser.Engine.trident) && (Browser.Engine.version == 5));
52 },
53 is_ie8: function()
54 {
55: return ((Browser.Engine.trident) && (Browser.Engine.version == 6));
56 },
57 get_ext_path: function()
./FloatingTips/Source/FloatingTips.js:
158 tip.setStyles({ 'position': (o.fixed ? 'fixed' : 'absolute'), 'opacity': 0, 'top': 0, 'left': 0 }).inject(body);
159
160: if (o.balloon && !Browser.ie6) {
161
162 var trg = new Element('div').addClass(o.className + '-triangle').setStyles({ 'margin': 0, 'padding': 0 });
...
169 case 'bottom': trgSt['border-top-width' ] = 0; break;
170 case 'left' : trgSt['border-right-width' ] = 0;
171: if (Browser.ie7) { trgSt['position'] = 'absolute'; trgSt['right'] = 0; } else { trgSt['float'] = 'right'; }
172 cwr.setStyle('margin-right', o.arrowSize); break;
173 }
./FormCheck/Source/formcheck.js:
908 }
909
910: if (!this.options.display.fadeDuration || Browser.Engine.trident && Browser.Engine.version == 5 && this.options.display.errorsLocation < 2) {
911 obj.element.setStyle('opacity', 1);
912 } else {
...
984 }).start('height', 0);
985 }
986: if (!this.options.display.fadeDuration || Browser.Engine.trident && Browser.Engine.version == 5 && this.options.display.errorsLocation == 1 && obj.element) {
987 this.fxRunning = true;
988 obj.element.destroy();
...
1042 */
1043 fixIeStuffs : function () {
1044: if (Browser.Engine.trident4) {
1045 //We fix png stuffs
1046 var rpng = new RegExp('url\\(([\.a-zA-Z0-9_/:-]+\.png)\\)');
./FullScreenImage/Source/FullScreenImage.js:
29 this.button = button;
30 this.loaded = false;
31: if (Browser.Plugins.Flash.version >= 9) this.load();
32 },
33
./Fx.css/Source/Fx.CSS.js:
31 var div = new Element('div'),
32 transition,
33: prefix = Browser.safari || Browser.chrome || Browser.Platform.ios ? 'webkit' : (Browser.opera ? 'o' : (Browser.ie ? 'MS' : '')),
34 prefixes = ['Khtml','O','Ms','Moz','Webkit'],
35 cache = {};
./Fx.Implicit/Source/Fx.Implicit.js:
70 }
71 // convert color names (for IE & Opera)
72: if (Browser.Engine.trident || Browser.Engine.presto) {
73 var newDiff = {};
74 for (prop in morph.style)
..
213
214 convertColors: function(value) {
215: var colorWords = Browser.Engine.presto ? /"(\w+)"/g : /\b(\w+)\b/g;
216 return value.replace(colorWords, function(match, word) {
217 return Fx.Implicit.Utils.cssColors[word] || match;
...
226 Element.Properties.opacity.get = function() {
227 if (this.getStyle('visibility') == 'hidden') return '0';
228: if (Browser.Engine.trident) {
229 var filterValue = this.getStyle('filter');
230 if (!filterValue) return '1';
./Fx.Rotate/Source/Fx.Rotate.js:
17 (function ($,window,undef){
18
19: var webkit = Browser.chrome || Browser.safari || Browser.Platform.ios || Browser.Platform.webos;
20
21 /**
..
26 Extends : Fx
27 , element : null
28: , prefix : (Browser.firefox) ? 'moz' : (webkit) ? 'webkit' : (Browser.opera) ? 'o' : 'ms'
29 , initialize : function(el,options){
30 this.element = $(el);
..
33 this.element.setStyle("-"+this.prefix+"-transform-origin","center center");
34
35: if (Browser.Engine.trident){ //this allows the use of the DOM filter API instead of CSS
36 this.element.setStyle("filter","progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand')");
37 }
..
41 , set : function (current){
42
43: var matrix = this.getMatrix( ((Browser.Engine.trident) ? (current *-1) : current) ), item;
44
45: if (Browser.Engine.trident){
46 item = this.element.filters.item(0);
47
./GooCompleter/Source/GooCompleter.js:
95 // Prevent IE 9 padding positioning bug without CSS
96 /*
97: if (!Browser.ie9)
98 this.typebox.setStyles(this.field.getStyles('padding-top'));
99 */
./GoodCorners/Source/good-corners.js:
35 },
36 layout = null,
37: BE = Browser.Engine,
38 options = new Hash({
39 radius: "10px",
./grayscale-image-hover/Source/grayscalehover.js:
10 */
11
12: Object.append(Browser.Features, {
13 canvas: (function() {
14 return !!document.createElement('canvas').getContext;
..
25
26 initialize: function(elems, options) {
27: if (!Browser.Features.canvas) return;
28
29 // Set up the canvas and context so we do't
./HashNav/Source/HashNav/HashNav.js:
56
57 // Does this browser have support for the hashchange event?
58: if(!Browser.ie7 && 'onhashchange' in window)
59 {
60 state['native'] = true;
./HeaderStretch/Source/headerstretch.js:
194
195 window.addEvent('resize' , function() {
196: if (!(Browser.ie7 || Browser.ie8)) {
197 // ie7 and ie8 crash because resize is called all the time the body grows with the growing fonts
198 that.correctFontSize();
./HistoryManager/Source/HashListener.js:
31 firstLoad : true,
32 handle : false,
33: useIframe : (Browser.ie && (typeof(document.documentMode)=='undefined' || document.documentMode < 8)),
34 ignoreLocationChange : false,
35 initialize : function(options){
..
39
40 // Disable Opera's fast back/forward navigation mode
41: if (Browser.opera && window.history.navigationMode) {
42 window.history.navigationMode = 'compatible';
43 }
..
130 getHash : function(){
131 var m;
132: if (Browser.firefox){
133 m = /#(.*)$/.exec(window.location.href);
134 return m && m[1] ? m[1] : '';
135: }else if (Browser.safari || Browser.chrome){
136 return decodeURI(window.location.hash.substr(1));
137 }else{
./Louper/Source/Louper.js:
28 this.small = document.id(element);
29 var src = this.options.big || this.small.get('big');
30: if(Browser.Engine.trident){
31 if(!document.namespaces.v){
32 document.namespaces.add("v", "urn:schemas-microsoft-com:vml");
..
135 top: this.options.loupe.y * k - this.options.radius
136 });
137: if(Browser.Engine.trident){
138 var src = this.loupe.src;
139 this.loupe = new Element('div').replaces(this.loupe).setStyles({
...
188 var x = (pos.x - this.position.x + loupeSize/2) * this.bigSize.width / this.smallSize.width - loupeSize/2;
189 var y = (pos.y - this.position.y + loupeSize/2) * this.bigSize.height / this.smallSize.height - loupeSize/2;
190: if(!Browser.Engine.trident){
191 var context = this.context;
192 try{
./MavBox/Source/MavBox.js:
172 // onDrag, onDragStart, onDragStop
173 this.draggable = new Drag.Move(this.elem, {
174: 'container': (Browser.Engine.trident ? null : this.bounds),
175 'stopPropagation': true,
176 'handle': (this.titleBar || this.elem),
...
417 this.elem.setStyle('display', (wasHidden ? 'none' : 'block')).setStyles({'left': bX, 'top': bY});
418
419: if (this.options.useShim && (Browser.Engine.trident4 || Browser.Engine.presto)) {
420 this.shim = new IFrameShim(this.elem, {'margin':2, 'className':'mavbox-iframeshim'});
421 }
./MavCrop/Source/MavCrop.js:
75 // This ridiculousness brought to you by IE7 and IE8.
76 // because IE7 and IE8 do not allow mousemove on the window object, we must make an exception.
77: var ie7 = ($chk(Browser['ie7']) ? true : (($chk(Browser['engine']) && Browser.engine['version'] == 7) ? true : false));
78: var ie8 = ($chk(Browser['ie8']) ? true : (($chk(Browser['engine']) && Browser.engine['version'] == 8) ? true : false));
79 this.wrapper = (ie7 || ie8) ? document.id(document.body) : window;
80
./MavSelectBox/Source/MavSelectBox.js:
136 }).inject(this.elementSelect);
137
138: if (Browser.Engine.trident) {
139 this.boundIeFocus = this.ieFocus.bind(this);
140 this.elementOptions.addEvent('mousedown', this.boundIeFocus);
...
351 this.fireEvent('select', this.selected);
352
353: if (Browser.Engine.trident) {
354 this.isScrolling = false;
355 this.hide();
./mBox/Source/mBox.Core.js:
226 styles: {
227 zIndex: this.options.zIndex,
228: position: (this.options.fixed == false || Browser.ie6 || Browser.ie7) ? 'absolute' : 'fixed',
229 display: 'none',
230 opacity: 0.00001,
...
775
776 // opera wont calculate the size of the pointer correctly, needs to get fixed properly
777: if(Browser.opera) {
778 var tempContainer = new Element('div', {'class': 'mBox ' + (this.defaultTheme || 'Core') + (this.options.theme ? '-' + this.options.theme : '')}).inject(document.body).grab(this.pointerElement);
779 this.pointerDimensions = this.pointerElement.getDimensions({computeSize: true});
...
1012 $(window).addEvent('resize', this.resizeEvent);
1013
1014: if(this.options.fixed && (Browser.ie6 || Browser.ie7)) {
1015 $(window).addEvent('scroll', this.resizeEvent);
1016 }
....
1078 // remove events from document or window
1079 detachEvents: function() {
1080: if(this.options.fixed && (Browser.ie6 || Browser.ie7)) {
1081 $(window).removeEvent('scroll', this.resizeEvent);
1082 }
./mForm/Source/mForm.Core.js:
77
78 // fix firefox textareas +1 row bug
79: if(Browser.firefox) {
80 $$('textarea[rows]').each(function(el) {
81 if(!el.retrieve('ffRowsFixed')) {
..
109 ev.preventDefault();
110 }
111: if ((this.options.submitFormOnControlS && (ev.key == 's' && (ev.control || (Browser.Platform.mac && ev.meta)))) ||
112 (this.options.submitFormOnEnter && ev.key == 'enter' && (el.get('tag') != 'textarea' || (el.get('tag') == 'textarea' && el.getAttribute('data-submitOnEnter') != null && !ev.shift)))) {
113 ev.preventDefault();
...
128 // add custom placeholders
129 setPlaceholders: function(elements) {
130: if (!this.options.customPlaceholders.enabled || (!this.options.customPlaceholders.allBrowsers && ((Browser.firefox && Browser.version >= 3.7) || (Browser.opera && Browser.version >= 11) || Browser.safari || Browser.chrome))) {
131 return false;
132 }
./mifmenu/Source/Mif/Mif.Core.js:
50 });
51
52: if(Browser.Engine.presto){
53
54 Element.Events.extend({
./mifmenu/Source/More/Mif.Menu.KeyNav.js:
24 keyaction: this.keyaction.bind(this)
25 };
26: this.keyevent = (Browser.Engine.presto || Browser.Engine.gecko) ? 'keypress' : 'keydown';
27 menu.addEvent('focus', this.bound.attach);
28 menu.addEvent('blur', this.bound.detach);
./miftree/Source/Core/Mif.Tree.Draw.js:
120 };
121
122: Mif.Tree.Draw.zeroSpace = Browser.Engine.trident ? '&shy;' : (Browser.Engine.webkit ? '&#8203' : '');
123
124
./miftree/Source/More/Mif.Tree.Drag.js:
64 this.document = tree.wrapper.getDocument();
65
66: this.selection = (Browser.Engine.trident) ? 'selectstart' : 'mousedown';
67
68 this.bound = {
./miftree/Source/More/Mif.Tree.KeyNav.js:
29
30 attach: function(){
31: var event = Browser.Engine.trident || Browser.Engine.webkit ? 'keydown' : 'keypress';
32 document.addEvent(event, this.bound.action);
33 },
34
35 detach: function(){
36: var event = Browser.Engine.trident || Browser.Engine.webkit ? 'keydown' : 'keypress';
37 document.removeEvent(event, this.bound.action);
38 },
./mooArrayStableSort/Source/Array.stableSort.js:
30 stableSort: function(compare) {
31 // I would love some real feature recognition. Problem is that an unstable algorithm sometimes/often gives the same result as an unstable algorithm.
32: return (Browser.chrome || Browser.firefox2 || Browser.opera9) ? this.mergeSort(compare) : this.sort(compare);
33 },
34
./MooChoose/Source/moochoose-1.0.1.js:
442
443 // NON-IE BROWSERS NEED A WIDTH SET
444: if(!Browser.Engine.trident){
445 mc_options.setStyle('width', optionsWidth);
446 }
./MooChoose/Source/moochoose-1.0.2.js:
442
443 // NON-IE BROWSERS NEED A WIDTH SET
444: if(!Browser.Engine.trident){
445 mc_options.setStyle('width', optionsWidth);
446 }
./MooChoose/Source/moochoose-1.0.js:
444
445 // NON-IE BROWSERS NEED A WIDTH SET
446: if(!Browser.Engine.trident){
447 mc_options.setStyle('width', optionsWidth);
448 }
./MooCss/Source/MooCss.js:
79 }
80 $try(function(){
81: if (Browser.Engine.trident) this.style.styleSheet.cssText = css;
82 else this.style.set('text', css);
83 this.fireEvent('write',[this.style,css]);
..
88 getCss: function(){
89 try {
90: if (Browser.Engine.trident) return this.style.styleSheet.cssText;
91 else this.style.get('text');
92 }catch(e){}
./MooDialog/Source/MooDialog.js:
64
65 /*<ie6>*/// IE 6 scroll
66: if ((options.scroll && Browser.ie6) || options.forceScroll){
67 wrapper.setStyle('position', 'absolute');
68 var position = wrapper.getPosition(options.inject);
./MooDialog/Source/Overlay.js:
56 id: this.options.id,
57 styles: {
58: position: (Browser.ie6) ? 'absolute' : 'fixed',
59 background: this.options.color,
60 left: 0,
..
131 scroll: function(){
132 this.fireEvent('scroll');
133: if (Browser.ie6) this.overlay.setStyle('left', window.getScroll().x);
134 return this;
135 }
./mooeditable/Source/MooEditable/MooEditable.js:
206
207 // Deal with weird quirks on Gecko
208: if (Browser.firefox) this.doc.designMode = 'On';
209
210 // Build the content of iframe
...
221 // Turn on Design Mode
222 // IE fired load event twice if designMode is set
223: (Browser.ie) ? this.doc.body.contentEditable = true : this.doc.designMode = 'On';
224
225 // Mootoolize window, document and body
226 Object.append(this.win, new Window);
227 Object.append(this.doc, new Document);
228: if (Browser.Element){
229 var winElement = this.win.Element.prototype;
230 for (var method in Element){ // methods from Element generics
...
266
267 // Fix window focus event not firing on Firefox 2
268: if (Browser.firefox2) this.doc.addEvent('focus', function(){
269 self.win.fireEvent('focus').focus();
270 });
...
275
276 // styleWithCSS, not supported in IE and Opera
277: if (!Browser.ie && !Browser.opera){
278 var styleCSS = function(){
279 self.execute('styleWithCSS', false, false);
...
402 editorClick: function(e){
403 // make images selectable and draggable in Safari
404: if (Browser.safari || Browser.chrome){
405 var el = e.target;
406 if (Element.get(el, 'tag') == 'img'){
...
445 // 33-36 = pageup, pagedown, end, home; 45 = insert
446 if (this.options.toolbar && (/^enter|left|up|right|down|delete|backspace$/i.test(e.key) || (c >= 33 && c <= 36) || c == 45 || e.meta || e.control)){
447: if (Browser.ie6){ // Delay for less cpu usage when you are typing
448 clearTimeout(this.checkStatesDelay);
449 this.checkStatesDelay = this.checkStates.delay(500, this);
...
464 if (e.key == 'enter'){
465 if (this.options.paragraphise){
466: if (e.shift && (Browser.safari || Browser.chrome)){
467 var s = this.selection;
468 var r = s.getRange();
...
491
492 e.preventDefault();
493: } else if (Browser.firefox || Browser.safari || Browser.chrome){
494 var node = this.selection.getNode();
495 var isBlock = Element.getParents(node).include(node).some(function(el){
...
499 }
500 } else {
501: if (Browser.ie){
502 var r = this.selection.getRange();
503 var node = this.selection.getNode();
...
511 }
512
513: if (Browser.opera){
514 var ctrlmeta = e.control || e.meta;
515 if (ctrlmeta && e.key == 'x'){
...
553
554 keyListener: function(e){
555: var key = (Browser.Platform.mac) ? e.meta : e.control;
556 if (!key || !this.keys[e.key]) return;
557 e.preventDefault();
...
759 if (this.options.semantics){
760 //remove divs from <li>
761: if (Browser.ie){
762 source = source.replace(/<li>\s*<div>(.+?)<\/div><\/li>/g, '<li>$1</li>');
763 }
764 //remove stupid apple divs
765: if (Browser.safari || Browser.chrome){
766 source = source.replace(/^([\w\s]+.*?)<div>/i, '<p>$1</p><div>');
767 source = source.replace(/<div>(.+?)<\/div>/ig, '<p>$1</p>');
...
769
770 //<p> tags around a list will get moved to after the list
771: if (!Browser.ie){
772 //not working properly in safari?
773 source = source.replace(/<p>[\s\n]*(<(?:ul|ol)>.*?<\/(?:ul|ol)>)(.*?)<\/p>/ig, '$1<p>$2</p>');
...
951 var r = this.getRange();
952
953: if (!Browser.ie || Browser.version >= 9){
954 var el = null;
955
...
974
975 insertContent: function(content){
976: if (Browser.ie){
977 var r = this.getRange();
978 if (r.pasteHTML){
...
1168 render: function(){
1169 var self = this;
1170: var key = (Browser.Platform.mac) ? 'Cmd' : 'Ctrl';
1171 var shortcut = (this.options.shortcut) ? ' ( ' + key + '+' + this.options.shortcut.toUpperCase() + ' )' : '';
1172 var text = this.options.title || name;
....
1187
1188 // add hover effect for IE
1189: if (Browser.ie) this.el.addEvents({
1190 mouseenter: function(e){ this.addClass('hover'); },
1191 mouseleave: function(e){ this.removeClass('hover'); }
....
1359 events: {
1360 beforeToggleView: function(){
1361: if(Browser.firefox){
1362 var value = this.textarea.get('value');
1363 var newValue = value.replace(/<strong([^>]*)>/gi, '<b$1>').replace(/<\/strong>/gi, '</b>');
....
1366 },
1367 attach: function(){
1368: if(Browser.firefox){
1369 var value = this.textarea.get('value');
1370 var newValue = value.replace(/<strong([^>]*)>/gi, '<b$1>').replace(/<\/strong>/gi, '</b>');
....
1389 events: {
1390 beforeToggleView: function(){
1391: if (Browser.firefox){
1392 var value = this.textarea.get('value');
1393 var newValue = value.replace(/<embed([^>]*)>/gi, '<tmpembed$1>')
....
1399 },
1400 attach: function(){
1401: if (Browser.firefox){
1402 var value = this.textarea.get('value');
1403 var newValue = value.replace(/<embed([^>]*)>/gi, '<tmpembed$1>')
....
1425 events: {
1426 beforeToggleView: function(){
1427: if(Browser.firefox || Browser.ie){
1428 var value = this.textarea.get('value');
1429 var newValue = value.replace(/<span style="text-decoration: underline;"([^>]*)>/gi, '<u$1>').replace(/<\/span>/gi, '</u>');
....
1432 },
1433 attach: function(){
1434: if(Browser.firefox || Browser.ie){
1435 var value = this.textarea.get('value');
1436 var newValue = value.replace(/<span style="text-decoration: underline;"([^>]*)>/gi, '<u$1>').replace(/<\/span>/gi, '</u>');
./mooeditable/Source/MooEditable/MooEditable.Pagebreak.js:
51 events: {
52 attach: function(editor){
53: if (Browser.ie){
54 // addListener instead of addEvent, because controlselect is a native event in IE
55 editor.doc.addListener('controlselect', function(e){
./mooeditable/Source/MooEditable/MooEditable.Smiley.js:
71 events: {
72 attach: function(editor){
73: if (Browser.ie){
74 // addListener instead of addEvent, because controlselect is a native event in IE
75 editor.doc.addListener('controlselect', function(e){
./mooeditable/Source/MooEditable/MooEditable.UI.MenuList.js:
63
64 // add hover effect for IE
65: if (Browser.ie) this.el.addEvents({
66 mouseenter: function(e){ this.addClass('hover'); },
67 mouseleave: function(e){ this.removeClass('hover'); }
./MooEditor/Source/MooEditor.js:
39
40 //firefox
41: if(Browser.Engine.gecko) this.styleWithCSS.delay(100);
42
43 this.doc.addEvent('keydown', function(event){
..
46
47 if(event.key == 'enter'){
48: if(Browser.Engine.webkit){ // Google Chrome - Safari
49
50 document.execCommand('inserthtml',false,edoc);
..
54 return false;
55
56: } else if(Browser.Engine.trident){ // IE
57
58 var range = document.selection.createRange();
..
66 if(!event.shift && !event.control && !event.alt && this.hideBR){
67
68: if(Browser.Engine.webkit || Browser.Engine.trident) self.hide_br.delay(100);
69
70 this.hideBR = false;
..
230 Paste: function() {
231 this.doc.focus();
232: if(Browser.Engine.trident){ // EXPLORER
233 //this.doc.focus();
234 document.execCommand('paste');
...
248 var html_code = prompt('Paste here your code');
249
250: if(Browser.Engine.trident ){ // EXPLORER
251 var range = document.selection.createRange();
252 range.pasteHTML(html_code)
...
264 Check_selection: function() {
265
266: if(Browser.Engine.trident ){ // EXPLORER
267 var range = document.selection.createRange();
268 var text = range.text;
...
313 }
314
315: if(Browser.Engine.trident ){ // EXPLORER
316 var range = document.selection.createRange();
317 var text = range.text;
./moogallery/Source/moogallery.js:
76 this.setOptions(options);
77
78: this.mobile = this.options.support_mobile && ( Browser.Platform.ios || Browser.Platform.android) ? true : false;
79
80 this.video_base_link = {
..
356
357 // swipe event
358: if(this.mobile && Browser.Features.Touch) {
359 document.body.addEvent('swipe', function(e) {
360 Element.disableCustomEvents();
...
452 this.overlay.dispose();
453 }.bind(this));
454: if(this.mobile && Browser.Features.Touch) {
455 document.body.removeEvent('swipe');
456 }
./Mooniform/Source/mooniform.js:
49 this.support = {};
50
51: if(Browser.ie && Browser.version < 7){
52 this.support.selectOpacity = false;
53 }else{
..
462
463 // IE7 doesn't fire onChange until blur or second fire.
464: if (Browser.ie){
465 // IE considers browser chrome blocking I/O, so it
466 // suspends tiemouts until after the file has been selected.
./moorte/Source/moorte.js:
29
30 var loopStop = 0; // Testing only
31: Browser.webkit = Browser.safari || Browser.chrome;
32 Object.extend('set', function(key, val){
33 var obj = {};
..
57
58 if (!MooRTE.activeField) MooRTE.extend({ ranges:{}, btnVals:[], activeField:'', activeBar:'' });
59: if (!Browser.ie) MooRTE.btnVals.push('unselectable');
60
61 els.each(function(el,index){
..
80 });
81
82: //if (Browser.firefox) el.innerHTML += "<p id='rteMozFix' style='display:none'><br></p>";
83
84 el.store('bar', rte);
..
97 if (l=='t') rte.addClass('rtePageTop').getFirst().addClass('rteTopDown');
98 else if (l=='b') rte.addClass('rtePageBottom');
99: if (Browser.firefox) MooRTE.Utilities.exec('styleWithCSS');
100 // MooRTE.Utilities.exec('useCSS', 'true'); - FF2, perhaps other browsers?
101 }
...
144 , 'styles': {width:el.getSize().x}
145 }
146: ).setStyle(Browser.ie?'height':'min-height',el.getSize().y)
147 .store('src', el).replaces(el);
148 el.store('new', div);
...
191 }
192 , insert: function(what, range){ //html option that says if text or html?
193: if (Browser.ie){
194 if(!range) range = MooRTE.Range.create();
195 range.pasteHTML(what);
...
201 var El = new Element(element, options);
202 try {
203: Browser.ie
204 ? range.pasteHTML(El.set('html', range.htmlText).outerHTML)
205 : range.surroundContents(El);
...
212 var area = caller.getParent('.RTE').getElement('textarea');
213 if (!(element.substr(0,1)=='<')) element = '<span style="'+element+'">';
214: if (!Browser.ie){
215 var start = area.selectionStart
216 , reg = new RegExp('(.{'+start+'})(.{'+(area.selectionEnd-start)+'})(.*)', 'm').exec(area.get('value'))
...
225 , replace: function(node, range){
226 if (!range) range = MooRTE.Range.create();
227: if (Browser.ie){
228 var id = document.uniqueID;
229 range.pasteHTML("<span id='" + id + "'></span>");
...
243 , parent: function(range){
244 if (!(range = range || MooRTE.Range.create())) return false;
245: return Browser.ie ?
246 typeOf(range) == 'object' ? range.parentElement() : range
247 : range.commonAncestorContainer;
...
250
251 (function(){
252: if (Browser.firefox) MooRTE.Range.selection = window.getSelection();
253: if (!Browser.ie) MooRTE.Range.content = new Element('div');
254 }());
255 MooRTE.Tabs = {};
...
261 , shortcuts: function(e){
262 if (e.key=='enter'){
263: if (!Browser.ie) return;
264 e.stop();
265 return MooRTE.Range.insert('<br/>');
...
295 vals[2].call(vals[1], vals[0]);
296 });
297: if (Browser.firefox && MooRTE.Range.selection.anchorNode.id == 'rteMozFix'){
298 MooRTE.Range.selection.extend(MooRTE.Range.selection.anchorNode.parentNode, 0);
299 //MooRTE.Range.selection.collapseToStart();
...
403 // Workaround, see docs.
404 var holder = MooRTE.Range.parent();
405: if (Browser.webkit && holder.nodeType == 3) holder = holder.parentElement;
406
407 if (!(fields.contains(MooRTE.activeField) && MooRTE.activeField.contains(holder)))
...
463 }
464 , clipStickyWin: function(caller){
465: if (Browser.firefox || (Browser.webkit && caller=='paste'))
466 if (window.AssetLoader) AssetLoader.javascript(['mootools-more.js','StickyWinModalUI.js'], {
467 onComplete: function(command){
468: var body = "For your protection, "+(Browser.webkit?"Webkit":"Firefox")+" does not allow access to the clipboard.<br/>\
469 <b>Please use Ctrl+C to copy, Ctrl+X to cut, and Ctrl+V to paste.</b><br/><br/>\
470 If this functionality is important consider switching to Internet Explorer,<br/> which allows us to access [and modify] your system.";
...
503 ];
504 var semantic = [
505: [/<li>\s*<div>(.+?)<\/div><\/li>/g, '<li>$1</li>'], // remove divs from <li> #if (Browser.Engine.trident)
506 [/<span style="font-weight: bold;">(.*)<\/span>/gi, '<strong>$1</strong>'], //
507 [/<span style="font-style: italic;">(.*)<\/span>/gi, '<em>$1</em>'], //
...
509 [/<i\b[^>]*>(.*?)<\/i[^>]*>/gi, '<em>$1</em>'], //
510 [/<u\b[^>]*>(.*?)<\/u[^>]*>/gi, '<span style="text-decoration: underline;">$1</span>'], //
511: [/<p>[\s\n]*(<(?:ul|ol)>.*?<\/(?:ul|ol)>)(.*?)<\/p>/ig, '$1<p>$2</p>'], // <p> tags around a list will get moved to after the list. not working properly in safari? #if (['gecko', 'presto', 'webkit'].contains(Browser.Engine.name))
512 [/<\/(ol|ul)>\s*(?!<(?:p|ol|ul|img).*?>)((?:<[^>]*>)?\w.*)$/g, '</$1><p>$2</p>'], // ''
513 [/<br[^>]*><\/p>/g, '</p>'], // Remove <br>'s that end a paragraph here.
...
528 [/ class="Apple-style-span"/gi, ''], // Webkit cleanup
529 [/<span style="">/gi, ''], // Webkit cleanup
530: [/^([\w\s]+.*?)<div>/i, '<p>$1</p><div>'], // remove stupid apple divs #if (Browser.Engine.webkit)
531: [/<div>(.+?)<\/div>/ig, '<p>$1</p>'] // remove stupid apple divs #if (Browser.Engine.webkit)
532 ];
533 var cleanup = [
...
572
573 washer.getElements('p:empty'+(options.remove ? ','+options.remove : '')).destroy();
574: if (!Browser.firefox) washer.getElements('p>p:only-child').each(function(el){ var p = el.getParent(); if(p.childNodes.length == 1) el.replaces(p) }); // The following will not apply in Firefox, as it redraws the p's to surround the inner one with empty outer ones. It should be tested for in other browsers.
575 html = washer.get('html');
576 if (washer != $('washer')) washer.moorte();
...
578 if (xhtml) cleanup.append(xhtml);
579 if (semantic) cleanup.append(semantic);
580: if (Browser.webkit) cleanup.append(appleCleanup);
581
582 // var loopStop = 0; //while testing.
...
656 el.set('contentEditable', true);
657 MooRTE.Utilities.addEvents(el, el.retrieve('rteEvents'));
658: // if (Browser.firefox && !el.getElement('#rteMozFix'))
659 // el.grab(new Element('div', {id:'rteMozFix', styles:{display:'none'}}));
660 } else if (src.getParent()) el.set('html', src.get('value')).replaces(src);
...
665 editables[i] = self.retrieve('src') || self;
666 els.each(function(el){
667: if (Browser.firefox && el.getElement('#rteMozFix')) el.getElement('#rteMozFix').destroy();
668 var src = el.retrieve('src');
669 if (src){
...
745 , title:'Cut (Ctrl+X)'
746 , onLoad:MooRTE.Utilities.clipStickyWin
747: , onClick:function(action){ Browser.firefox ? MooRTE.Elements.clipPop.show() : MooRTE.Utilities.exec(action); }
748 }
749 , copy :{ img:21
...
751 , onLoad:MooRTE.Utilities.clipStickyWin
752 , onClick: function(action){
753: Browser.firefox
754 ? MooRTE.Elements.clipPop.show()
755 : MooRTE.Utilities.exec(action);
...
760 , onLoad: MooRTE.Utilities.clipStickyWin //onLoad:function() { MooRTE.Utilities.clipStickyWin(1) },
761 , onClick: function(action){
762: Browser.firefox || Browser.webkit
763 ? MooRTE.Elements.clipPop.show()
764 : MooRTE.Utilities.exec(action);
...
905 , decreasefontsize:{ img:42,
906 onClick: function(){
907: if (!Browser.firefox) return MooRTE.Utilities.fontsize.pass(-1);
908 }()
909 /* Fontsize was originally only supposed to accept valuies between 1 - 7.
...
935 , increasefontsize:{ img:41,
936 onClick: function(){
937: if (!Browser.firefox) return MooRTE.Utilities.fontsize.pass(1);
938 }()
939 }
...
953 },
954 onClick: function(){
955: var empty = (Browser.Engine.gecko ? 'hilitecolor' : 'backcolor');
956 }
957 }
./mooSelecta/Source/mooSelecta.js:
144 styles: {
145 "float": "left",
146: position: (Browser.ie6) ? "absolute" : "relative",
147 background: "url("+this.options.triggerBeforeImage+") no-repeat",
148 width: this.options.triggerBeforeImageWidth,
...
497 _clearSelection: function() {
498 // removes document selection
499: if (this.options.allowTextSelect || Browser.ie6) { // not sure how IE6 does this
500 return;
501 }
./mooShop/source/javascript/moo-drag.js:
105 this.value = {'start': {}, 'now': {}};
106
107: this.selection = (Browser.ie) ? 'selectstart' : 'mousedown';
108
109
110: if (Browser.ie && !Drag.ondragstartFixed){
111 document.ondragstart = Function.from(false);
112 Drag.ondragstartFixed = true;
...
404 if (container != offsetParent){
405 left += containerMargin.left + offsetParentPadding.left;
406: top += ((Browser.ie6 || Browser.ie7) ? 0 : containerMargin.top) + offsetParentPadding.top;
407 }
408 } else {
./mooShop/source/javascript/moo-mobile.js:
74 ---
75
76: name: Browser.Mobile
77
78 description: Provides useful information about the browser environment
..
84 requires: [Core/Browser]
85
86: provides: Browser.Mobile
87
88 ...
89 */
90 (function () {
91: Browser.Device = {
92 name: 'other'
93 };
94: if (Browser.Platform.ios) {
95 var device = navigator.userAgent.toLowerCase().match(/(ip(ad|od|hone))/)[0];
96: Browser.Device[device] = true;
97: Browser.Device.name = device;
98 }
99: if (this.devicePixelRatio == 2) Browser.hasHighResolution = true;
100: Browser.isMobile = !['mac', 'linux', 'win'].contains(Browser.Platform.name);
101 }).call(this);
102 /*
103 ---
104
105: name: Browser.Features.Touch
106
107 description: Checks whether the used Browser has touch events
...
113 requires: [Core/Browser]
114
115: provides: Browser.Features.Touch
116
117 ...
118 */
119: Browser.Features.Touch = (function () {
120 try {
121 document.createEvent('TouchEvent').initTouchEvent('touchstart');
...
125 })();
126
127: Browser.Features.iOSTouch = (function () {
128 var name = 'cantouch',
129 html = document.html,
...
154 license: MIT-style license.
155
156: requires: [Custom-Event/Element.defineCustomEvent, Browser.Features.Touch]
157 ...
158 */
159: if (Browser.Features.Touch || Browser.isMobile)(function () {
160 var condition = function (event) {
161 event.targetTouches = [];
...
191 license: MIT-style license.
192
193: requires: [Core/Element.Event, Custom-Event/Element.defineCustomEvent, Browser.Features.Touch]
194
195 provides: Touch
...
230 *
231 */
232: if (Browser.Features.Touch || Browser.isMobile)(function () {
233 var name = 'click';
234 delete Element.NativeEvents[name];
...
248 license: MIT-style license.
249
250: requires: [Core/Element.Event, Custom-Event/Element.defineCustomEvent, Browser.Features.Touch]
251
252 provides: Touchhold
./mooShop/source/javascript/mooshop.js:
586 },
587 'click': function() {
588: if (Browser.isMobile) {
589 this.fireEvent('mouseenter');
590 }
./MooSweeper/Source/MooSweeper.js:
379 if(isInline) {
380 // inline styles
381: if(Browser.Engine.trident) {
382 // http://msdn.microsoft.com/en-us/library/ms533897%28VS.85%29.aspx => How to inject NoScope elements into a page with innerHTML
383 this.cssEl = new Element('div', {
./mootools-bootstrap/Source/UI/Bootstrap.Popover.js:
57 .adopt(inner);
58 if (this.options.animate) this.tip.addClass('fade');
59: if (Browser.Features.cssTransition && this.tip.addEventListener){
60: this.tip.addEventListener(Browser.Features.transitionEnd, this.bound.complete);
61 }
62 this.element.set('alt', '').set('title', '');
./mootools-bootstrap/Source/UI/Bootstrap.Popup.js:
87
88 _checkAnimate: function(){
89: this._canAnimate = this.options.animate !== false && Browser.Features.getCSSTransition() && (this.options.animate || this.element.hasClass('fade'));
90 if (!this._canAnimate) {
91 this.element.removeClass('fade').addClass('hide');
..
118
119 _watch: function(){
120: if (this._canAnimate) this.element.addEventListener(Browser.Features.getCSSTransition(), this.bound.animationEnd);
121 else this._animationEnd();
122 },
123
124 _animationEnd: function(){
125: if (Browser.Features.getCSSTransition()) this.element.removeEventListener(Browser.Features.getCSSTransition(), this.bound.animationEnd);
126 this.animating = false;
127 if (this.visible){
./mootools-bootstrap/Source/UI/Bootstrap.Tooltip.js:
90 }).removeClass('out').addClass('in');
91 this.visible = true;
92: if (!Browser.Features.cssTransition || !this.options.animate) this._complete();
93 this.fireEvent('show');
94 return this;
..
99 this.tip.removeClass('in').addClass('out');
100 this.visible = false;
101: if (!Browser.Features.cssTransition || !this.options.animate) this._complete();
102 this.fireEvent('hide');
103 return this;
...
130 );
131 if (this.options.animate) this.tip.addClass('fade');
132: if (Browser.Features.cssTransition && this.tip.addEventListener){
133: this.tip.addEventListener(Browser.Features.transitionEnd, this.bound.complete);
134 }
135 this.element.set('alt', '').set('title', '');
./mootools-bootstrap/Source/UI/CSSEvents.js:
14 */
15
16: Browser.Features.getCSSTransition = function(){
17: Browser.Features.transitionEnd = (function(){
18 var el = document.createElement('tmp');
19
..
31 }
32 })();
33: Browser.Features.cssTransition = !!Browser.Features.transitionEnd;
34
35: Browser.Features.getCSSTransition = Function.from(Browser.Features.transitionEnd);
36: return Browser.Features.transitionEnd;
37 };
38
39: window.addEvent("domready", Browser.Features.getCSSTransition);
./mootools-database/Source/Database.js:
33 if (window.GearsFactory) factory = new GearsFactory();
34 else {
35: if(Browser.Engine.trident) {
36 // IE
37 factory = new ActiveXObject('Gears.Factory');
..
74 initialize: function(name, options){
75
76: if (!Browser.loaded)
77 alert('Database: Please wait until the DOM is ready!');
78
79 this.setOptions(options);
80
81: if (Browser.Database.name == 'unknown') {
82 if(this.options.installGoogleGears && confirm(MooTools.lang.get('Database', 'noValidDatabase')))
83 document.location.href = 'http://gears.google.com/?action=install&return=' + escape(document.location.href);
..
85 }
86
87: this.html5 = Browser.Database.name == 'html5';
88
89 this.dbName = name;
..
174
175 initialize: function(rs){
176: this.html5 = Browser.Database.name == 'html5';
177 this.rs = rs;
178 this.index = 0;
...
201
202 initialize: function(row){
203: this.html5 = Browser.Database.name == 'html5';
204 this.row = row;
205 },
./mootools-filemanager/Source/FileManager.js:
225
226 this.container = new Element('div', {
227: 'class': 'filemanager-container' + (Browser.opera ? ' filemanager-engine-presto' : '') + (Browser.ie ? ' filemanager-engine-trident' : '') + (Browser.ie8 ? '4' : '') + (Browser.ie9 ? '5' : ''),
228 styles:
229 {
...
988 document.addEvent('keydown', this.bound.keydown);
989 document.addEvent('keyup', this.bound.keyup);
990: if ((Browser.Engine && (Browser.Engine.trident || Browser.Engine.webkit)) || (Browser.ie || Browser.chrome || Browser.safari))
991 document.addEvent('keydown', this.bound.keyboardInput);
992 else
...
1032 document.removeEvent('keydown', this.bound.keydown);
1033 document.removeEvent('keyup', this.bound.keyup);
1034: if ((Browser.Engine && (Browser.Engine.trident || Browser.Engine.webkit)) || (Browser.ie || Browser.chrome || Browser.safari))
1035 document.removeEvent('keydown', this.bound.keyboardInput);
1036 else
....
3313
3314 this.el = new Element('div', {
3315: 'class': 'filemanager-dialog' + (Browser.ie ? ' filemanager-dialog-engine-trident' : '') + (Browser.ie ? ' filemanager-dialog-engine-trident' : '') + (Browser.ie8 ? '4' : '') + (Browser.ie9 ? '5' : ''),
3316 opacity: 0,
3317 tween: {duration: 'short'},
....
3390 if (autofocus_el)
3391 {
3392: if (('autofocus' in autofocus_el) && !(Browser.Engine && Browser.Engine.webkit))
3393 {
3394 // HTML5 support: see http://diveintohtml5.org/detect.html
....
3546
3547 hide: function() {
3548: if (!Browser.ie) {
3549 this.el.fade(0).get('tween').chain((function() {
3550 this.revertObjects();
./mootools-filemanager/Source/Gallery.js:
150 }).bind(this);
151
152: if ((Browser.Engine && (Browser.Engine.trident || Browser.Engine.webkit)) || (Browser.ie || Browser.chrome || Browser.safari))
153 {
154 this.input.addEvent('keydown', this.gallery_keyboard_handler);
./mootools-filemanager/Source/Uploader/Swiff.Uploader.js:
54 fileSizeMax: null, // Official limit is 100 MB for FileReference, but I tested up to 2Gb!
55 allowDuplicates: false,
56: timeLimit: (Browser.Platform.linux) ? 0 : 30,
57
58 policyFile: null,
..
172 this.size = this.uploading = this.bytesLoaded = this.percentLoaded = 0;
173
174: if (Browser.Plugins.Flash.version < 9) {
175 this.fireEvent('fail', ['flash']);
176 } else {
./mootools-form-replacements/Source/Form.Dropdown.js:
55 this.element.replaces(select);
56 document.addEvent('click', this.bound.collapse);
57: var eventName = Browser.Engine.trident || Browser.Engine.webkit ? 'keydown' : 'keypress';
58: var target = Browser.Engine.trident ? document.id(document.body) : window;
59 target.addEvent('keydown',this.bound.keydown).addEvent(eventName,this.bound.keypress);
60 },
./mootools-form-upload/Source/Request.File.js:
15 (function(){
16
17: var progressSupport = ('onprogress' in new Browser.Request());
18
19 Request.File = new Class({
..
27
28 initialize: function(options){
29: this.xhr = new Browser.Request();
30 this.formData = new FormData();
31 this.setOptions(options);
./mootools-fx-tween-css3/Source/Fx.Tween.CSS3.js:
20
21 Element.Events.transitionend = {
22: base: Browser.safari || Browser.chrome ? 'webkitTransitionEnd' : (Browser.opera ? 'oTransitionEnd' : (Browser.ie && Browser.version > 8 ? 'msTransitionEnd' : 'transitionend'))
23 };
24
./mootools-fx-tween-css3/Source/Fx.Tween.CSS3.Replacement.js:
20
21 Element.Events.transitionend = {
22: base: Browser.safari || Browser.chrome ? 'webkitTransitionEnd' : (Browser.opera ? 'oTransitionEnd' : (Browser.ie && Browser.version > 8 ? 'msTransitionEnd' : 'transitionend'))
23 };
24
./mootools-img.toGreyscale/Source/ImageToGreyscale.js:
57 if (this.get('tag') != 'img') return element;
58
59: if (Browser.Engine.trident)
60 {
61 return this.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(grayScale=1)';
..
75 if (this.get('tag') != 'img') return element;
76
77: if (Browser.Engine.trident)
78 {
79 return this.style.filter = '';
./mootools-meio-autocomplete/Source/BGIframe.js:
19 (function(global, $) {
20
21: var isIE6 = Browser.ie6; // better compression and faster
22
23 var BgIframe = new Class({
./mootools-meio-autocomplete/Source/Meio.Element.Field.js:
35 this.keyPressControl = {};
36 this.boundEvents = ['paste', 'focus', 'blur', 'click', 'keyup', 'keyrepeat'];
37: if (Browser.ie6) this.boundEvents.push('keypress'); // ie6 doesnt fire keydown on enter
38 this.setOptions(options);
39 this.parent(field);
./mootools-meio-mask/Source/Meio.Mask.js:
31 });
32 Element.Events.paste = {
33: base : (Browser.Platform.ios || Browser.opera || (Browser.firefox && Browser.version < 3))? 'input': 'paste',
34 condition: function(e){
35 this.fireEvent('paste', e, 1);
..
120 o.isSelection = (o.range.start !== o.range.end);
121 // 8 == backspace && 46 == delete && 127 == iphone's delete
122: o.isDelKey = (keyCode == 46 && (event.type != 'keypress' || ((Browser.firefox || Browser.opera) && !event.which)));
123: o.isBksKey = (keyCode == 8 || (Browser.Platform.ios && e.code == 127));
124 o.isRemoveKey = (o.isBksKey || o.isDelKey);
125 func && func.call(this, e, o);
...
267 // if only the keydown auto-repeats
268 // if you have a better implementation of this detection tell me
269: onlyKeyDownRepeat: !!(Browser.ie || Browser.chrome || (Browser.safari && Browser.version >= 4))
270
271 }).extend(function(){
...
296 };
297
298: if (Browser.Platform.ios){
299 ignoreKeys = iphoneIgnoreKeys;
300 } else {
./mootools-mobile/Source/Browser/Features.Touch.js:
2 ---
3
4: name: Browser.Features.Touch
5
6 description: Checks whether the used Browser has touch events
.
12 requires: [Core/Browser]
13
14: provides: Browser.Features.Touch
15
16 ...
17 */
18
19: Browser.Features.Touch = (function(){
20 try {
21 document.createEvent('TouchEvent').initTouchEvent('touchstart');
..
27
28 // Android doesn't have a touch delay and dispatchEvent does not fire the handler
29: Browser.Features.iOSTouch = (function(){
30 var name = 'cantouch', // Name does not matter
31 html = document.html,
./mootools-mobile/Source/Browser/Mobile.js:
2 ---
3
4: name: Browser.Mobile
5
6 description: Provides useful information about the browser environment
.
12 requires: [Core/Browser]
13
14: provides: Browser.Mobile
15
16 ...
..
19 (function(){
20
21: Browser.Device = {
22 name: 'other'
23 };
24
25: if (Browser.Platform.ios){
26 var device = navigator.userAgent.toLowerCase().match(/(ip(ad|od|hone))/)[0];
27
28: Browser.Device[device] = true;
29: Browser.Device.name = device;
30 }
31
32 if (this.devicePixelRatio == 2)
33: Browser.hasHighResolution = true;
34
35: Browser.isMobile = !['mac', 'linux', 'win'].contains(Browser.Platform.name);
36
37 }).call(this);
./mootools-mobile/Source/Desktop/Mouse.js:
10 license: MIT-style license.
11
12: requires: [Custom-Event/Element.defineCustomEvent, Browser.Features.Touch]
13
14 provides: Mouse
..
17 */
18
19: if (!Browser.Features.Touch) (function(){
20
21 var down = false;
./mootools-mobile/Source/Touch/Click.js:
17 */
18
19: if (Browser.Features.iOSTouch) (function(){
20
21 var name = 'click';
./mootools-mobile/Source/Touch/Pinch.js:
10 license: MIT-style license.
11
12: requires: [Core/Element.Event, Custom-Event/Element.defineCustomEvent, Browser.Features.Touch]
13
14 provides: Pinch
..
17 */
18
19: if (Browser.Features.Touch) (function(){
20
21 var name = 'pinch',
./mootools-mobile/Source/Touch/Swipe.js:
10 license: MIT-style license.
11
12: requires: [Core/Element.Event, Custom-Event/Element.defineCustomEvent, Browser.Features.Touch]
13
14 provides: Swipe
./mootools-mobile/Source/Touch/Touch.js:
10 license: MIT-style license.
11
12: requires: [Core/Element.Event, Custom-Event/Element.defineCustomEvent, Browser.Features.Touch]
13
14 provides: Touch
./mootools-mobile/Source/Touch/Touchhold.js:
10 license: MIT-style license.
11
12: requires: [Core/Element.Event, Custom-Event/Element.defineCustomEvent, Browser.Features.Touch]
13
14 provides: Touchhold
./MooTools-Placeholder/Source/placeholder.js:
74
75 // password element in IE? can't do it.
76: if(el.get('type') == 'password' && Browser.Engine.trident) {
77 return;
78 }
./Mootools-Storage/Source/LocalStorage.js:
55 if (this.options.debug) console.log('using localStorage')
56 this.storage = window.localStorage;
57: }else if (Browser.Engine.trident){ //IE < 8
58 if (this.options.debug) console.log('using behavior Storage');
59 this.storage = (function(){
./Mootools-Storage/Source/Storage.js:
53 if (window.localStorage){ //HTML5 storage
54 this.storage = window.localStorage;
55: }else if (Browser.Engine.trident){ //IE < 8
56 this.storage = (function(){
57 var storage = document.createElement("span");
./mootools-subtle-templates/Source/Plugins/SubtleTemplate.js:
62 this.parseSubTemplates(element);
63
64: if(Browser.Engine.trident)element.getElements('*').each(function(el){
65 // Edit this list to include
66 // all attribute names whose value you may set in your html templates
./mootools-touch/Source/Touch.js:
25 };
26
27: if (Browser.Platform.ipod){
28 this.context = this.element;
29 this.startEvent = 'touchstart';
./mootools-xmlrpc/Source/xmlrpc.js:
122 xmlText = xmlText.replace(/\t/g, '');
123
124: if (Browser.Engine.trident){
125 doc = new ActiveXObject('Microsoft.XMLDOM');
126 doc.async = false;
./mootools_slider_mobile/Source/Mdrag.js:
37
38
39: if (Browser.Platform.ios || Browser.Platform.android) {
40 this.selection = 'touchstart';
41 }
42 else {
43: this.selection = (Browser.ie) ? 'selectstart' : 'mousedown';
44 }
45
46
47: if (Browser.ie && !Drag.ondragstartFixed){
48 document.ondragstart = Function.from(false);
49 Drag.ondragstartFixed = true;
..
62
63 attach: function(){
64: if (Browser.Platform.ios || Browser.Platform.android) {
65 this.handles.addEvent('touchstart', this.bound.start);
66 }
..
72
73 detach: function(){
74: if (Browser.Platform.ios || Browser.Platform.android) {
75 this.handles.addEvent('touchstart', this.bound.start);
76 }
..
130 var events;
131
132: if (Browser.Platform.ios || Browser.Platform.android) {
133 events = {
134 touchmove: this.bound.check,
...
154 var events;
155
156: if (Browser.Platform.ios || Browser.Platform.android) {
157 events = {
158 touchmove: this.bound.drag,
...
175 var events;
176
177: if (Browser.Platform.ios || Browser.Platform.android) {
178 events = {
179 touchmove: this.bound.check,
...
199 var events;
200
201: if (Browser.Platform.ios || Browser.Platform.android) {
202 events = {
203 touchmove: this.bound.drag,
./MooUpload/Source/MooUpload.js:
21
22
23: var progressSupport = ('onprogress' in new Browser.Request);
24
25 /*
..
333 // Old version of firefox and opera don't support click trigger for input files fields
334 // Internet "Exploiter" do not allow trigger a form submit if the input file field was not clicked directly by the user
335: if (this.options.method != 'flash' && (Browser.firefox2 || Browser.firefox3 || Browser.opera || Browser.ie))
336 {
337 this.moveInput(subcontainer);
...
672
673 // Unfortunally Opera 11.11 have an incomplete Blob support
674: if (Browser.opera && Browser.version <= 11.11)
675 this.options.method = 'auto';
676 }
...
678 // Default to html4 if no Flash support
679 if (this.options.method == 'auto')
680: this.options.method = Browser.Plugins.Flash && Browser.Plugins.Flash.version >= 9 ? 'flash' : 'html4';
681
682 this[this.options.method](subcontainer);
...
696
697 // Check if Flash is supported
698: if (!Browser.Plugins.Flash || Browser.Plugins.Flash.version < 9)
699 {
700 subcontainer.set('html', this.options.texts.noflash);
...
723
724 // Prevent IE cache bug
725: if (Browser.ie)
726 this.options.flash.movie += (this.options.flash.movie.contains('?') ? '&' : '?') + 'mooupload_movie=' + Date.now();
727
...
969
970 // Prepare request
971: //var xhr = Browser.Request();
972
973 var end = this.options.blocksize,
./MooWatermark/Source/moowatermark.js:
30 $(this.textField).addEvent('blur', this.setInitialValue.bind(this));
31 this.setInitialValue();
32: if(Browser.name == 'ie') {
33 var form = document.getElementById(this.textField).form;
34 if(form) {
./Mosaic/Source/mosaic.js:
51 var dur = this.options.dur;
52
53: if(this.options.hacked && !Browser.Engine.gecko)
54 {
55
./MUX.Dialog/Source/MUX.Dialog.js:
105 // Mac OS cheating. If button is pressed don't remove
106 // focused class to avoid bliking window's header.
107: //if (!Browser.Platform.mac || !self.buttonIsPressed)
108 this.removeClass('mux-dialog-focused');
109 }, true);
...
223
224 // Safari hack. Remember button pressed state.
225: if (Browser.safari)
226 {
227 button.elem.addEvents({
...
468
469 // Special hack for a lovely IE. We detect min dimensions like a size of an empty window.
470: if (Browser.ie)
471 {
472 new MUX.Dialog({
...
682 this.elem.addClass('mux-button-link');
683 else if (this.options.style === 'auto')
684: if (Browser.Platform.mac)
685 this.elem.addClass('mux-button-ellipse');
686: else if (!Browser.ie || Browser.version > 8)
687 this.elem.addClass('mux-button-rectangle');
688 // Otherwise 'native' browser's button
./MUX.Loaders/Source/MUX.Loaders.js:
71 _noRadius: function()
72 {
73: return !!((Browser.ie && typeOf(this.options.background) === 'array') || (Browser.Platform.ios && Browser.safari && Browser.version < 5));
74 },
75
./Nested-Sortables/Source/nested-1.3.js:
109 document.addEvent('mouseup', this.bound.end);
110
111: if (Browser.ie6 || Browser.ie7){ // IE fix to stop selection of text when dragging
112 this.bound.stop = this.stop.bind(this);
113 document.id(document.body).addEvent('drag', this.bound.stop).addEvent('selectstart', this.bound.stop);
...
200 this.fireEvent('complete', el);
201
202: if (Browser.ie){
203 document.id(document.body)
204 .removeEvent('drag', this.bound.stop)
./omnigrid/Source/omnigrid.js:
274
275 // global click za finish editing --> ne treba jer ima onblur event
276: //(Browser.Engine.trident ? document : window).addEvent("click", this.finishEditing.bind(this) );
277 },
278
...
943 var dragSt = cDrags[c];
944
945: dragSt.setStyle('left', dragTempWidth+columnModel.width+(Browser.Engine.trident ? 1 : 1 )-scrollX);
946 //console.log(dragTempWidth+columnModel.width+2);
947
...
971 {
972 // nova vrijednost pomaknute kolone
973: var pos = dragSt.getStyle('left').toInt()+scrollX-this.sumWidth-(Browser.Engine.trident ? -1 : 1 ); // zato sto je u dragSt.left +2
974 }else if (!columnModel.hidden)
975 this.sumWidth += columnModel.width;
...
985 //console.log(this.sumWidth);
986
987: this.ulBody.setStyle('width', this.sumWidth+this.visibleColumns*(Browser.Engine.trident ? 1 : 1 ));
988 var hDivBox = this.container.getElement('div.hDivBox');
989
...
994 var columnObj = columns[colindex];
995
996: columnObj.setStyle('width', pos-(Browser.Engine.trident ? 6 : 6 ));
997
998 var visibleColumns = this.visibleColumns; // radi this. u each-u
...
1009 var columns = el.getElements('div.td');
1010 var columnObj = columns[colindex];
1011: columnObj.setStyle('width', pos-(Browser.Engine.trident ? 6 : 6 ));
1012 }
1013
....
1229 // ************************* Common ***************************************
1230 // ************************************************************************
1231: var width = this.options.width - (Browser.Engine.trident ? 2 : 2 ); //-2 radi bordera
1232 var columnCount = this.options.columnModel ? this.options.columnModel.length : 0;
1233
....
1248 tDiv.addClass('tDiv');
1249 tDiv.setStyle('width', width);
1250: tDiv.setStyle('height', 25+(Browser.Engine.trident ? 2 : 0 ));// borderi u FF
1251 this.container.appendChild(tDiv);
1252
....
1315 div.store('dataType', columnModel.dataType);
1316 div.addClass('th');
1317: div.setStyle('width', columnModel.width-(Browser.Engine.trident ? 6 : 6 ));
1318 hDivBox.appendChild(div);
1319
....
1362
1363 //alert(dragTempWidth+' '+columnModel.width);
1364: // -(Browser.Engine.trident ? 10 : 0 )
1365 var headerHeight = this.options.showHeader ? 24+2 : 0; // +2 border
1366
....
1404 //alert(this.visibleColumns);
1405 this.ulBody = new Element('ul');
1406: this.ulBody.setStyle('width', this.sumWidth+this.visibleColumns*(Browser.Engine.trident ? 1 : 1 )); // da se ne vidi visak, ul je overflow hidden
1407 bDiv.appendChild(this.ulBody);
1408
./Overlay/Source/Overlay.js:
56 id: this.options.id,
57 styles: {
58: position: (Browser.ie6) ? 'absolute' : 'fixed',
59 background: this.options.color,
60 left: 0,
..
131 scroll: function(){
132 this.fireEvent('scroll');
133: if (Browser.ie6) this.overlay.setStyle('left', window.getScroll().x);
134 return this;
135 }
./Pages-Navigation/Source/NXC.PagesNavigation.js:
266 var displayeBlocks = [];
267 var tag = ( this.blocks[0] ) ? this.blocks[0].get( 'tag' ) : false;
268: var displayStyle = ( tag == 'tr' && !Browser.Engine.trident ) ? 'table-row' : 'block';
269 this.blocks.each( function( block, index ) {
270 if( index >= minBlock && index < maxBlock ) {
./Panner/Source/Panner.js:
37
38 // Force container position for IE6-7 (this solves an overflow bug)
39: if (Browser.ie6 || Browser.ie7) {
40 if (!(['relative', 'absolute'].contains(this.container.getStyle('position')))) this.container.setStyle('position', 'relative');
41 }
./Password-Strength-Meter/Source/password-strength-meter.js:
57 containerId.inject(injectAfter, 'after')
58 }
59: if (Browser.opera){ meterId.setStyle('overflow', 'auto'); } //Opera fix for transitions
60 meterId.inject(containerId, 'top');
61
./PopUpWindow/Source/PopUpWindow.js:
81 this.windowDiv.addEvent('mousedown', function() { self.windowDiv.setStyle('z-index', PopUpWindow.topZIndex++); });
82
83: if(window.IframeShim && Browser.Engine.trident4)
84 this.windowShim = new IframeShim(windowDiv, { display : false });
85
./PowerMeter/Source/PowerMeter.js:
61
62 if(this.element.getStyle('display') == 'inline') {
63: if(Browser.Engine.trident)
64 this.element.setStyle('zoom', 1);
65 else
..
72 this.fullSize = this.element.getStyle(this.property).toInt();
73
74: if(Browser.Engine.trident) {
75 var i = (this.axis == 'y' ? 0 : 1);
76 var borders = this.element.getStyle('border-width').split(' ');
./quickForm/Source/qkform.js:
174
175 /* If this is safari we need to add an extra class */
176: if(Browser.Engine.webkit){
177 $wrapper.addClass('qkFormSafari');
178 $input.setStyle('width',getSize().x+16);
./quickie/Source/Quickie.js:
11 core/1.2.4: [Browser, Class, Options, Events, Array, Hash, Element, Element.Event]
12
13: provides: [Quickie, Browser.Plugins.QuickTime]
14
15 ...
..
51 this.html = this.toHTML();
52
53: if (Browser.Engine.trident) {
54 document.getElementById(container).innerHTML = this.html;
55 this.quickie = document.getElementById(this.id);
..
72 element = '';
73
74: if (Browser.Engine.trident) {
75 element = '<object id="'+this.id+'" ';
76 element += 'width="'+width+'" ';
..
133 })();
134
135: Browser.Plugins.QuickTime = (function(){
136 if (navigator.plugins) {
137 for (var i = 0, l = navigator.plugins.length; i < l; i++) {
./rabidratings/Source/ratings.js:
37 $$('.rabidRating').each(function(el) {
38 //Does this if the browser is NOT IE6. IE6 users don't deserve fancy ratings. >:(
39: if (!Browser.Engine.trident4) {
40 el.id = el.getAttribute('id');
41 el.wrapper = el.getElement('.wrapper');
./Rubik-for-Mootools/Source/rubik.js:
96 // The first call to skipTo() was failing
97 // to engage the transition in IE browsers.
98: if (Browser.Engine.trident){
99 this.drawer.setStyle('zoom','1');
100 }
./ShapeHover/Source/ShapeHover.js:
91 // Render the image transparent, and inject it in the wrapper
92 this.element.style.opacity = 0;
93: if(Browser.ie) this.element.style.filter = 'Alpha(opacity=0)';
94 this.element.setStyles({position: 'absolute', left: 0, top: 0, padding: 0, border: 0});
95 this.wrap.adopt(this.element);
./simplemodal/Source/simple-modal.js:
482 if(this.options.keyEsc)
483 {
484: var fixEV = Browser.name != 'ie' ? "keydown" : "onkeydown";
485 window.removeEvent(fixEV, this._removeSM);
486 }
...
684 // Remove Event Resize
685 if(this.options.keyEsc){
686: var fixEV = Browser.name != 'ie' ? "keydown" : "onkeydown";
687 window.addEvent(fixEV, this._removeSM );
688 }
./slider/Source/slider.js:
420 };
421
422: this.selection = (Browser.Engine.trident) ? 'selectstart' : 'mousedown';
423
424 this.bound = {
./socialSharePrivacy-for-MooTools/Source/mootools.socialshareprivacy.js:
325 || (twitter_on && twitter_perma)
326 || (gplus_on && gplus_perma))
327: && (!Browser.ie || (Browser.ie && Browser.version > 7.0))) {
328
329 // Cookies abrufen
./tab/Source/Fx.CSS.js:
30 //vendor = '',
31 div = new Element('div'),
32: prefix = Browser.safari || Browser.chrome || Browser.Platform.ios ? 'webkit' : (Browser.opera ? 'o' : (Browser.ie ? 'ms' : '')),
33 prefixes = ['Khtml','O','Ms','Moz','Webkit'],
34 cache = {};
./tooltip/Source/tooltip.js:
81
82 this.isIE6 = false;
83: if(Browser.ie && (Browser.version <= 6)) {
84 this.isIE6 = true;
85 }
86: // if (Browser.ie && Browser.Platform.win) {
87 // this.options.useArrows = false;
88 // }
..
657 if(this.isShowing && (e.key == 'space')) {
658 var cb = document.activeElement;
659: if(Browser.name == 'ie') {
660 cb.click();
661 } else {
./tornLog/Source/tornLog.js:
244 getContainer: function(){
245 return opts.ui.keepincontainer?
246: Browser.Engine.trident?
247 false:
248 opts.ui.container:
./tree/Source/tree.js:
57 var self = this;
58 //IOS cant read images inside the role tree
59: if (Browser.Platform.name != "ios")
60 this.element.setProperty('role', 'tree');
61 this.element.getElements(self.options.childSelector).each(function(el){
./Twipsy/Source/Twipsy.js:
57
58 // Determine browser support for CSS transitions
59: if (typeOf(Browser.Features.transition) != "boolean") {
60: Browser.Features.transition = (function () {
61 var styles = (doc.body || doc.documentElement).style;
62
..
167 removeElement = function() {
168 tip.parentNode.removeChild(tip);
169: if (Browser.Features.transition && tip.hasClass('twipsy-fade')) {
170 tip.removeEvents(transitionEndEventName);
171 }
...
174 tip.removeClass('twipsy-in');
175
176: Browser.Features.transition && tip.hasClass('twipsy-fade')
177 ? tip.addEvent(transitionEndEventName, removeElement)
178 : removeElement();
./ui/Source/Element/Element.js:
233 },
234 click: function(){
235: if (!Browser.Engine.trident) {
236 self.fireEvent('click');
237 }
238 },
239 mouseup: function(){
240: if (Browser.Engine.trident) {
241 self.fireEvent('click');
242 }
./uploadManager/Source/progressbar.js:
128 var bg;
129
130: switch(Browser.name) {
131
132 case 'firefox':
133
134: if(Browser.version >= '3.6') bg = '-moz-linear-gradient(top,{0} 0%,{1} 59%)'; /* FF3.6+ */
135
136 break;
...
138 case 'safari':
139
140: if((Browser.name == 'chrome' && Browser.version >= '10') || (Browser.name == 'safari' && Browser.version >= '5.1')) bg = '-webkit-linear-gradient(top,{0} 0%,{1} 59%)'; /* Chrome10+,Safari5.1+ */
141: else if(Browser.chrome || Browser.version >= '4') bg = '-webkit-gradient(linear, left top,left bottom,color-stop(0%,{0}),color-stop(59%,{1}))'; /* Chrome,Safari4+ */
142
143 break;
144 case 'opera':
145
146: if(Browser.version >= '11.10') bg = '-o-linear-gradient(top,{0} 0%,{1} 59%)'; /* Opera11.10+ */
147
148 break;
149 case 'ie':
150
151: if(Browser.version >= '10') bg = '-ms-linear-gradient(top,{0} 0%,{1} 59%)'; /* IE10+ */
152: else if(Browser.version >= 6) bg = "progid:DXImageTransform.Microsoft.gradient(startColorstr='{0}', endColorstr='{1}',GradientType=0 )"; /* IE6-9 */
153 break;
154 }
./uploadManager/Source/upload.js:
62 method = 'slice' in fileproto ? 'slice' : ('mozSlice' in fileproto ? 'mozSlice' : ('webkitSlice' in fileproto ? 'webkitSlice' : false)),
63 //browser version
64: brokenSlice = (Browser.chrome && Browser.version < 11) || (Browser.firefox && Browser.version <= 4),
65
66 uploadManager = {
..
137
138 //opera 12 has 'slice' method but can't resume uploads
139: else if(this.resume && (!Browser.opera || Browser.version > 12)) transfer = new HTML5MultipartTransfert(opt);
140 else transfer = new HTML5Transfert(opt);
141
...
528 if(options.folder) input.set({directory: '', webkitdirectory: '', mozdirectory: '', msdirectory: '', odirectory: '' });
529
530: if(Browser.name == 'firefox' && Browser.version >= 4) {
531
532 new Element('a', {text: Locale[get]('uploadManager.BROWSE'), 'class': 'browse-upload btn', href: '#', events: {click: function (e) { e.stop(); input.click() }}}).inject(input[setStyle]('display', 'none'), 'before');
./VMFormValidator/Source/VMFormValidator.js:
264 } else {
265 var elements = $(this.form).getElements('[name='+name+']');
266: if ((eventType != 'submit') && ((Browser.firefox) || (Browser.opera))){
267 /* Get the current element and detect event - Cross browser event detection and varied radio
268 behavior make this entire block necessary - Special thanks to quirksmode for the syntax
./Wnz.Uploader/Source/Wnz.Uploader.js:
442 var dt = e.dataTransfer;
443 // do not check dt.types.contains in webkit, because it crashes safari 4
444: isSafari = Browser.safari3 || Browser.safari4;
445
446 // dt.effectAllowed is none in Safari 5
./Yggdrasil/Source/Yggdrasil.js:
69 this.value = {'start': {}, 'now': {}};
70
71: this.selection = (Browser.ie) ? 'selectstart' : 'mousedown';
72
73: if (Browser.ie && !SvgDrag.ondragstartFixed){
74 document.ondragstart = Function.from(false);
75 SvgDrag.ondragstartFixed = true;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment