'use strict';
var minified = require('./vendor/minified');
var ClayConfig = require('./lib/clay-config');
var $ = minified.$;
var _ = minified._;
var config = _.extend([], window.clayConfig || []);
var settings = _.extend({}, window.claySettings || {});
var returnTo = window.returnTo || 'pebblejs://close#';
var customFn = window.customFn || function() {};
var clayComponents = window.clayComponents || {};
var clayMeta = window.clayMeta || {};
var platform = window.navigator.userAgent.match(/android/i) ? 'android' : 'ios';
document.documentElement.classList.add('platform-' + platform);
// Register the passed components
_.eachObj(clayComponents, function(key, component) {
ClayConfig.registerComponent(component);
});
var $mainForm = $('#main-form');
var clayConfig = new ClayConfig(settings, config, $mainForm, clayMeta);
// add listeners here
$mainForm.on('submit', function() {
// Set the return URL depending on the runtime environment
location.href = returnTo +
encodeURIComponent(JSON.stringify(clayConfig.serialize()));
});
// Run the custom function in the context of the ClayConfig
customFn.call(clayConfig, minified);
// Now that we have given the dev's custom code to run and attach listeners,
// we build the config
clayConfig.build();