/**

* Kicks off less and compiles any stylesheets
* used in the browser distributed version of less
* to kick-start less using the browser api
*/

/*global window, document */

// shim Promise if required require('promise/polyfill.js');

var options = window.less || {}; require(“./add-default-options”)(window, options);

var less = module.exports = require(“./index”)(window, options);

window.less = less;

var css, head, style;

// Always restore page visibility function resolveOrReject(data) {

if (data.filename) {
    console.warn(data);
}
if (!options.async) {
    head.removeChild(style);
}

}

if (options.onReady) {

if (/!watch/.test(window.location.hash)) {
    less.watch();
}
// Simulate synchronous stylesheet loading by blocking page rendering
if (!options.async) {
    css = 'body { display: none !important }';
    head = document.head || document.getElementsByTagName('head')[0];
    style = document.createElement('style');

    style.type = 'text/css';
    if (style.styleSheet) {
        style.styleSheet.cssText = css;
    } else {
        style.appendChild(document.createTextNode(css));
    }

    head.appendChild(style);
}
less.registerStylesheetsImmediately();
less.pageLoadFinished = less.refresh(less.env === 'development').then(resolveOrReject, resolveOrReject);

}