<% # ========================================================================== # Project: SproutCore - JavaScript Application Framework # Copyright: ©2006-2011 Strobe Inc. and contributors. # Portions ©2008-2011 Apple Inc. All rights reserved. # License: Licensed under MIT license (see license.js) # ========================================================================== # # IMPORTANT: This bootstrap code is DEPRECATED. Instead see the bootstrap # framework in sproutcore for all new apps. # -%> <% content_for('bootstrap') do %> var SC = SC || { MODULE_INFO: {}, LAZY_INSTANTIATION: {} }; SC.browser = (function() {

// THIS CODE IS DEPRECATED AND IS NO LONGER MAINTAINED
var userAgent = navigator.userAgent.toLowerCase(),
    version = (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1] ;

var browser = {
  version: version,
  safari: (/webkit/).test( userAgent ) ? version : 0,
  opera: (/opera/).test( userAgent ) ? version : 0,
  msie: (/msie/).test( userAgent ) && !(/opera/).test( userAgent ) ? version : 0,
  mozilla: (/mozilla/).test( userAgent ) && !(/(compatible|webkit)/).test( userAgent ) ? version : 0,
  mobileSafari: (/apple.*mobile.*safari/).test(userAgent) ? version : 0,
  windows: !!(/(windows)/).test(userAgent),
  mac: !!((/(macintosh)/).test(userAgent) || (/(mac os x)/).test(userAgent)),
  language: ((navigator.language || navigator.browserLanguage).split('-', 1)[0])
};

browser.current = (browser.msie) ? 'msie' : (browser.mozilla) ? 'mozilla' : (browser.safari) ? 'safari' : (browser.opera) ? 'opera' : 'unknown' ;
return browser ;

})();

SC.setupBodyClassNames = function() {

var el = document.body,
    browser, platform, shadows, borderRad, classNames, style, ieVersion;
if (!el) return ;

browser = SC.browser.current ;
platform = SC.browser.windows ? 'windows' : SC.browser.mac ? 'mac' : 'other-platform' ;
style = document.documentElement.style;
shadows = (style.MozBoxShadow !== undefined) || 
              (style.webkitBoxShadow !== undefined) ||
              (style.oBoxShadow !== undefined) ||
              (style.boxShadow !== undefined);

borderRad = (style.MozBorderRadius !== undefined) || 
            (style.webkitBorderRadius !== undefined) ||
            (style.oBorderRadius !== undefined) ||
            (style.borderRadius !== undefined);

classNames = el.className ? el.className.split(' ') : [] ;
if(shadows) classNames.push('box-shadow');
if(borderRad) classNames.push('border-rad');
classNames.push(browser, platform) ;

ieVersion = parseInt(SC.browser.msie,10);
if (ieVersion) {
  if (ieVersion === 7) {
    classNames.push('ie7');
  } 
  else if (ieVersion === 8) {
    classNames.push('ie8');
  }
  else if (ieVersion === 9) {
    classNames.push('ie9');
  }
}

if(browser==="safari" || browser==="chrome") classNames.push('webkit');
if (SC.browser.mobileSafari) classNames.push('mobile-safari') ;
if ('createTouch' in document) classNames.push('touch');
el.className = classNames.join(' ') ;

} ;

<% end %> <% content_for('setup_body_class_names') do %> if (SC.setupBodyClassNames) SC.setupBodyClassNames() ; <% end -%>