| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 | 
							- /*
 
-  * Require-CSS RequireJS css! loader plugin
 
-  * 0.1.10
 
-  * Guy Bedford 2014
 
-  * MIT
 
-  */
 
- /*
 
-  *
 
-  * Usage:
 
-  *  require(['css!./mycssFile']);
 
-  *
 
-  * Tested and working in (up to latest versions as of March 2013):
 
-  * Android
 
-  * iOS 6
 
-  * IE 6 - 10
 
-  * Chrome 3 - 26
 
-  * Firefox 3.5 - 19
 
-  * Opera 10 - 12
 
-  * 
 
-  * browserling.com used for virtual testing environment
 
-  *
 
-  * Credit to B Cavalier & J Hann for the IE 6 - 9 method,
 
-  * refined with help from Martin Cermak
 
-  * 
 
-  * Sources that helped along the way:
 
-  * - https://developer.mozilla.org/en-US/docs/Browser_detection_using_the_user_agent
 
-  * - http://www.phpied.com/when-is-a-stylesheet-really-loaded/
 
-  * - https://github.com/cujojs/curl/blob/master/src/curl/plugin/css.js
 
-  *
 
-  */
 
- define(function() {
 
- //>>excludeStart('excludeRequireCss', pragmas.excludeRequireCss)
 
-   if (typeof window == 'undefined')
 
-     return { load: function(n, r, load){ load() } };
 
-   var head = document.getElementsByTagName('head')[0];
 
-   var engine = window.navigator.userAgent.match(/Trident\/([^ ;]*)|AppleWebKit\/([^ ;]*)|Opera\/([^ ;]*)|rv\:([^ ;]*)(.*?)Gecko\/([^ ;]*)|MSIE\s([^ ;]*)|AndroidWebKit\/([^ ;]*)/) || 0;
 
-   // use <style> @import load method (IE < 9, Firefox < 18)
 
-   var useImportLoad = false;
 
-   
 
-   // set to false for explicit <link> load checking when onload doesn't work perfectly (webkit)
 
-   var useOnload = true;
 
-   // trident / msie
 
-   if (engine[1] || engine[7])
 
-     useImportLoad = parseInt(engine[1]) < 6 || parseInt(engine[7]) <= 9;
 
-   // webkit
 
-   else if (engine[2] || engine[8] || 'WebkitAppearance' in document.documentElement.style)
 
-     useOnload = false;
 
-   // gecko
 
-   else if (engine[4])
 
-     useImportLoad = parseInt(engine[4]) < 18;
 
- //>>excludeEnd('excludeRequireCss')
 
-   //main api object
 
-   var cssAPI = {};
 
- //>>excludeStart('excludeRequireCss', pragmas.excludeRequireCss)
 
-   cssAPI.pluginBuilder = './css-builder';
 
-   // <style> @import load method
 
-   var curStyle, curSheet;
 
-   var createStyle = function () {
 
-     curStyle = document.createElement('style');
 
-     head.appendChild(curStyle);
 
-     curSheet = curStyle.styleSheet || curStyle.sheet;
 
-   }
 
-   var ieCnt = 0;
 
-   var ieLoads = [];
 
-   var ieCurCallback;
 
-   
 
-   var createIeLoad = function(url) {
 
-     curSheet.addImport(url);
 
-     curStyle.onload = function(){ processIeLoad() };
 
-     
 
-     ieCnt++;
 
-     if (ieCnt == 31) {
 
-       createStyle();
 
-       ieCnt = 0;
 
-     }
 
-   }
 
-   var processIeLoad = function() {
 
-     ieCurCallback();
 
-  
 
-     var nextLoad = ieLoads.shift();
 
-  
 
-     if (!nextLoad) {
 
-       ieCurCallback = null;
 
-       return;
 
-     }
 
-  
 
-     ieCurCallback = nextLoad[1];
 
-     createIeLoad(nextLoad[0]);
 
-   }
 
-   var importLoad = function(url, callback) {
 
-     if (!curSheet || !curSheet.addImport)
 
-       createStyle();
 
-     if (curSheet && curSheet.addImport) {
 
-       // old IE
 
-       if (ieCurCallback) {
 
-         ieLoads.push([url, callback]);
 
-       }
 
-       else {
 
-         createIeLoad(url);
 
-         ieCurCallback = callback;
 
-       }
 
-     }
 
-     else {
 
-       // old Firefox
 
-       curStyle.textContent = '@import "' + url + '";';
 
-       var loadInterval = setInterval(function() {
 
-         try {
 
-           curStyle.sheet.cssRules;
 
-           clearInterval(loadInterval);
 
-           callback();
 
-         } catch(e) {}
 
-       }, 10);
 
-     }
 
-   }
 
-   // <link> load method
 
-   var linkLoad = function(url, callback) {
 
-     var link = document.createElement('link');
 
-     link.type = 'text/css';
 
-     link.rel = 'stylesheet';
 
-     if (useOnload)
 
-       link.onload = function() {
 
-         link.onload = function() {};
 
-         // for style dimensions queries, a short delay can still be necessary
 
-         setTimeout(callback, 7);
 
-       }
 
-     else
 
-       var loadInterval = setInterval(function() {
 
-         for (var i = 0; i < document.styleSheets.length; i++) {
 
-           var sheet = document.styleSheets[i];
 
-           if (sheet.href == link.href) {
 
-             clearInterval(loadInterval);
 
-             return callback();
 
-           }
 
-         }
 
-       }, 10);
 
-     link.href = url;
 
-     head.appendChild(link);
 
-   }
 
- //>>excludeEnd('excludeRequireCss')
 
-   cssAPI.normalize = function(name, normalize) {
 
-     if (name.substr(name.length - 4, 4) == '.css')
 
-       name = name.substr(0, name.length - 4);
 
-     return normalize(name);
 
-   }
 
- //>>excludeStart('excludeRequireCss', pragmas.excludeRequireCss)
 
-   cssAPI.load = function(cssId, req, load, config) {
 
-     (useImportLoad ? importLoad : linkLoad)(req.toUrl(cssId + '.css'), load);
 
-   }
 
- //>>excludeEnd('excludeRequireCss')
 
-   return cssAPI;
 
- });
 
 
  |