(function(html){
    html.className = html.className.replace(/^no-js\s?|\s?no-js/,'');
    if(navigator.platform.indexOf('Mac') != -1 ){
        html.className += (html.className) ? ' mac': 'mac';
    } else if(navigator.platform.indexOf('Linux') != -1 ){
        html.className += (html.className) ? ' linux': 'linux';
    }
})(document.documentElement);


if (!Function.prototype.bind ) {
    Function.prototype.bind = function(context) {
        var slice = [].slice,
            args  = slice.call(arguments, 1),
            self  = this,
            nop   = function () {},
            bound = function () {
                return self.apply(this instanceof nop ? this : (context || {}),
                        args.concat(slice.call(arguments)));
            };
        bound.prototype = this.prototype;
        return bound;
    };
}

if (!Object.keys) {
    Object.keys = function(obj){
        var results = [];
        for(var key in obj) {
            Object.prototype.hasOwnProperty.call(obj, key) && results.push(key);
        }
        return results;
    };
}

/*@cc_on
if(document.documentElement.style.opacity === undefined ){
    (function(d,c){
    d[c]('abbr');
    d[c]('article');
    d[c]('aside');
    d[c]('audio');
    d[c]('canvas');
    d[c]('datalist');
    d[c]('details');
    d[c]('summary');
    d[c]('eventsource');
    d[c]('figure');
    d[c]('footer');
    d[c]('header');
    d[c]('hgroup');
    d[c]('mark');
    d[c]('menu');
    d[c]('meter');
    d[c]('nav');
    d[c]('output');
    d[c]('progress');
    d[c]('section');
    d[c]('time');
    d[c]('video');})(document, 'createElement');
}
@*/
