(function () { var script = document.getElementById('highcharts-script'); function addChart() { function parseData(completeHandler, chartOptions) { try { var dataOptions = { "seriesMapping": [ { "x": 0 }, { "x": 0 }, { "x": 0 } ], "columnTypes": [ "float", "float", "float", "float" ], "csv": "categories,Inflow,Outflow,Net\n1991,21,-27,-6\n1992,14,-27,-13\n1993,15,-18,-3\n1994,21,-18,3\n1995,11,-16,-5\n1996,16,-22,-6\n1997,14,-28,-14\n1998,20,-22,-2\n1999,27,-13,14\n2000,28,-23,5\n2001,27,-24,3\n2002,25,-32,-7\n2003,27,-23,4\n2004,37,-29,8\n2005,38,-30,8\n2006,38,-26,12\n2007,40,-28,12\n2008,44,-25,19\n2009,47,-27,20\n2010,47,-19,28\n2011,40,-25,15" }; dataOptions.sort = true dataOptions.complete = completeHandler; Highcharts.data(dataOptions, chartOptions); } catch (error) { console.log(error); completeHandler(undefined); } } var shareUrl = 'https://app.everviz.com/show/yvikez'; var encodedUrl = encodeURIComponent(shareUrl); var template = { chart: { renderTo: 'highcharts-yvikez' }, navigation: { menuItemStyle: { fontFamily: Highcharts.SVGRenderer.prototype.getStyle().fontFamily, padding: '2px 10px' } }, exporting: { buttons: { contextButton: { menuItems: [{ text: '' + 'Share on Facebook' }, { text: '' + 'Share on Google+' }, { text: '' + 'Share on Twitter' }, { text: '' + 'Share on LinkedIn' }, { separator: true }] .concat(Highcharts.getOptions().exporting.buttons.contextButton.menuItems) .concat([{ separator: true }, { text: '' + 'Edit chart' }, { text: '' + 'Create chart' }]) } } } }; var chartOptions = { "yAxis": { "title": { "text": "Thousands" } }, "credits": { "href": null, "text": "\u003cb\u003eSource\u003c/b\u003e: ONS, Long-Term International Migration Estimates, Table 2.06" }, "series": [ { "index": 0 }, { "index": 1 }, { "index": 2 } ], "subtitle": { "text": "Chart provided by www.migrationobservatory.ox.ac.uk" }, "title": { "text": "Immigration, emigration, and net migration to Scotland, 1991-2011" }, "chart": { "type": "line" } }; parseData(function (dataOptions) { // Merge series configs if (chartOptions.series && dataOptions) { Highcharts.each(chartOptions.series, function (series, i) { chartOptions.series[i] = Highcharts.merge(series, dataOptions.series[i]); }); } var options = Highcharts.merge(dataOptions, chartOptions, template); var chart = new Highcharts['Chart'](options); }, chartOptions); } // Load the Highcharts script if undefined, and add the chart if (typeof Highcharts !== 'undefined') { addChart(); } else if (script) { script.deferredCharts.push(addChart); } else { script = document.createElement('script'); script.id = 'highcharts-script'; script.src = '//app.everviz.com/resources/js/highstock-cloud-5.0.7.js'; script.type = 'text/javascript'; script.deferredCharts = [addChart]; script.onload = function () { // Prevent double firing of event in IE9/IE10 if (!script.chartsAdded) { script.chartsAdded = true; while(script.deferredCharts.length) { script.deferredCharts.shift()(); } } }; script.onreadystatechange = function() { if (this.readyState == 'complete' || this.readyState == 'loaded') { script.onload(); } }; document.getElementsByTagName('head')[0].appendChild(script); } }());