// the polyfills must be the first thing imported
import 'angular2-universal-polyfills';
import 'ts-helpers';
import './helpers/__workaround.browser'; // temporary until 2.1.1 things are patched in Core

// Angular 2
import { enableProdMode } from '@angular/core';
import { platformBrowser } from '@angular/platform-browser';
// for AoT use platformBrowser
// import { platformUniversalDynamic } from 'angular2-universal/browser';

import { load as loadWebFont } from 'webfontloader';
// Load fonts async
// https://github.com/typekit/webfontloader#configuration
loadWebFont({
    google: {
        families: ['Droid Sans']
    }
});

// enable prod for faster renders
enableProdMode();

import { MainModuleNgFactory } from './browser.module.ngfactory';

export const platformRef = platformBrowser();

// on document ready bootstrap Angular 2
export function main() {
    return platformRef.bootstrapModuleFactory(MainModuleNgFactory);
}

// support async tag or hmr
switch (document.readyState) {
    case 'interactive':
    case 'complete':
        main();
        break;
    case 'loading':
    default:
        document.addEventListener('DOMContentLoaded', () => main());
}
