var labelType, useGradients, nativeTextSupport, animate; (function() { var ua = navigator.userAgent, iStuff = ua.match(/iPhone/i) || ua.match(/iPad/i), typeOfCanvas = typeof HTMLCanvasElement, nativeCanvasSupport = (typeOfCanvas == 'object' || typeOfCanvas == 'function'), textSupport = nativeCanvasSupport && (typeof document.createElement('canvas').getContext('2d').fillText == 'function'); //I'm setting this based on the fact that ExCanvas provides text support for IE //and that as of today iPhone/iPad current text support is lame labelType = (!nativeCanvasSupport || (textSupport && !iStuff))? 'Native' : 'HTML'; nativeTextSupport = labelType == 'Native'; useGradients = nativeCanvasSupport; animate = !(iStuff || !nativeCanvasSupport); })(); var Log = { elem: false, write: function(text){ if (!this.elem) this.elem = document.getElementById('log'); this.elem.innerHTML = text; this.elem.style.left = (500 - this.elem.offsetWidth / 2) + 'px'; } }; function init(){ //init data var json = { "children": [ { "data": { "cap": "€279,145,401,000","$area": 279145400951,"$color": "#009933","href": "/beta/australia","count": "1004" }, "id": "Australia (ASX)", "name": "Australia (ASX)" }, { "data": { "cap": "€472,473,057,000","$area": 472473057080,"$color": "#6968db","href": "/beta/brazil","count": "84" }, "id": "BM&FBOVESPA Brazil", "name": "BM&FBOVESPA Brazil" }, { "data": { "cap": "€329,754,655,000","$area": 329754654796,"$color": "#009933","href": "/beta/bme-spain","count": "18" }, "id": "BME Spain", "name": "BME Spain" }, { "data": { "cap": "€2,484,756,000","$area": 2484756491,"$color": "#6968db","href": "/beta/bombay","count": "143" }, "id": "Bombay (BSE)", "name": "Bombay (BSE)" }, { "data": { "cap": "€242,546,000","$area": 242545741,"$color": "#6968db","href": "/beta/canada","count": "78" }, "id": "Canadian National Stock Exchange", "name": "Canadian National Stock Exchange" }, { "data": { "cap": "€276,551,338,000","$area": 276551338458,"$color": "#009933","href": "/beta/frankfurt","count": "2128" }, "id": "Deutsche Borse-Frankfurt", "name": "Deutsche Borse-Frankfurt" }, { "data": { "cap": "€694,157,852,000","$area": 694157851520,"$color": "#009933","href": "/beta/amsterdam","count": "15" }, "id": "Euronext Amsterdam", "name": "Euronext Amsterdam" }, { "data": { "cap": "€348,274,670,000","$area": 348274670208,"$color": "#009933","href": "/beta/brussels","count": "40" }, "id": "Euronext Brussels", "name": "Euronext Brussels" }, { "data": { "cap": "€10,131,576,000","$area": 10131576054,"$color": "#009933","href": "/beta/lisbon","count": "2" }, "id": "Euronext Lisbon", "name": "Euronext Lisbon" }, { "data": { "cap": "€429,238,180,000","$area": 429238180298,"$color": "#009933","href": "/beta/paris","count": "39" }, "id": "Euronext Paris", "name": "Euronext Paris" }, { "data": { "cap": "€434,031,023,000","$area": 434031023404,"$color": "#6968db","href": "/beta/hong-kong","count": "107" }, "id": "Hong Kong (HKEx)", "name": "Hong Kong (HKEx)" }, { "data": { "cap": "€130,974,742,000","$area": 130974742084,"$color": "#009933","href": "/beta/italy","count": "13" }, "id": "Italian Borsa", "name": "Italian Borsa" }, { "data": { "cap": "€319,980,064,000","$area": 319980063703,"$color": "#6968db","href": "/beta/johannesburg","count": "74" }, "id": "Johannesburg (JSE)", "name": "Johannesburg (JSE)" }, { "data": { "cap": "€71,623,165,000","$area": 71623165140,"$color": "#009933","href": "/beta/korea","count": "70" }, "id": "Korea Exchange", "name": "Korea Exchange" }, { "data": { "cap": "€1,346,778,241,000","$area": 1346778240895,"$color": "#009933","href": "/beta/london","count": "362" }, "id": "London (LSE)", "name": "London (LSE)" }, { "data": { "cap": "€357,243,423,000","$area": 357243423060,"$color": "#6968db","href": "/beta/moscow","count": "73" }, "id": "Moscow MICEX", "name": "Moscow MICEX" }, { "data": { "cap": "€91,791,000","$area": 91791267,"$color": "#009933","href": "/beta/copenhagen","count": "3" }, "id": "NASDAQ OMX Nordic-Copenhagen", "name": "NASDAQ OMX Nordic-Copenhagen" }, { "data": { "cap": "€5,926,791,000","$area": 5926791392,"$color": "#009933","href": "/beta/helsinki","count": "6" }, "id": "NASDAQ OMX Nordic-Helsinki", "name": "NASDAQ OMX Nordic-Helsinki" }, { "data": { "cap": "€731,988,000","$area": 731988116,"$color": "#009933","href": "/beta/iceland","count": "2" }, "id": "NASDAQ OMX Nordic-Iceland", "name": "NASDAQ OMX Nordic-Iceland" }, { "data": { "cap": "€35,895,000","$area": 35894792,"$color": "#009933","href": "/beta/riga","count": "1" }, "id": "NASDAQ OMX Nordic-Riga", "name": "NASDAQ OMX Nordic-Riga" }, { "data": { "cap": "€123,472,690,000","$area": 123472689784,"$color": "#009933","href": "/beta/stockholm","count": "28" }, "id": "NASDAQ OMX Nordic-Stockholm", "name": "NASDAQ OMX Nordic-Stockholm" }, { "data": { "cap": "€235,371,271,000","$area": 235371270514,"$color": "#6968db","href": "/beta/india","count": "157" }, "id": "NSE India", "name": "NSE India" }, { "data": { "cap": "€115,781,264,000","$area": 115781264326,"$color": "#009933","href": "/beta/oslo","count": "68" }, "id": "Oslo Bors", "name": "Oslo Bors" }, { "data": { "cap": "€270,447,149,000","$area": 270447148752,"$color": "#6968db","href": "/beta/shanghai","count": "85" }, "id": "Shanghai SE", "name": "Shanghai SE" }, { "data": { "cap": "€89,630,124,000","$area": 89630124104,"$color": "#6968db","href": "/beta/shenzhen","count": "82" }, "id": "Shenzhen SE", "name": "Shenzhen SE" }, { "data": { "cap": "€276,502,167,000","$area": 276502166962,"$color": "#6968db","href": "/beta/swiss","count": "15" }, "id": "SIX Swiss Exchange", "name": "SIX Swiss Exchange" }, { "data": { "cap": "€117,585,079,000","$area": 117585078565,"$color": "#6968db","href": "/beta/tokyo","count": "83" }, "id": "Tokyo SE", "name": "Tokyo SE" }, { "data": { "cap": "€837,427,809,000","$area": 837427809400,"$color": "#6968db","href": "/beta/toronto","count": "556" }, "id": "TSX Toronto", "name": "TSX Toronto" }, { "data": { "cap": "€35,098,204,000","$area": 35098204238,"$color": "#6968db","href": "/beta/tsx-venture","count": "1611" }, "id": "TSX Venture", "name": "TSX Venture" }, { "data": { "cap": "€3,466,306,928,000","$area": 3466306928148,"$color": "#009933","href": "/beta/us","count": "526" }, "id": "US Exchanges (3)", "name": "US Exchanges (3)" } ] }; //end //init TreeMap var tm = new $jit.TM.Squarified({ //where to inject the visualization injectInto: 'cap_bar', //parent box title heights titleHeight: 0, //enable animations animate: false, //box offsets offset: 1, Events: { enable: true, onClick: function(node) { if(!node) return; var data = node.data; window.location.href = data.href; } }, duration: 0, //Enable tips Tips: { enable: true, //add positioning offsets offsetX: 20, offsetY: 20, //implement the onShow method to //add content to the tooltip when a node //is hovered onShow: function(tip, node, isLeaf, domElement) { var html = "
" + node.data.count + " Extractive Sector Companies Listed on " + node.name + "
"; var data = node.data; if(data.cap) { html += "Market Cap: " + data.cap; } if(data.sec) { html += "
SEC Coverage: " + data.sec; } tip.innerHTML = html; } }, //Add the name of the node in the correponding label //This method is called once, on label creation. onCreateLabel: function(domElement, node){ if (node.data.$width > 10) { domElement.innerHTML = node.name; } var style = domElement.style; style.display = ''; style.border = '1px solid transparent'; domElement.onmouseover = function() { style.border = '1px solid #9FD4FF'; }; domElement.onmouseout = function() { style.border = '1px solid transparent'; }; } }); tm.loadJSON(json); tm.refresh(); //end //add events to radio buttons var sq = $jit.id('r-sq'), st = $jit.id('r-st'), sd = $jit.id('r-sd'); var util = $jit.util; util.addEvent(sq, 'change', function() { if(!sq.checked) return; util.extend(tm, new $jit.Layouts.TM.Squarified); tm.refresh(); }); util.addEvent(st, 'change', function() { if(!st.checked) return; util.extend(tm, new $jit.Layouts.TM.Strip); tm.layout.orientation = "v"; tm.refresh(); }); util.addEvent(sd, 'change', function() { if(!sd.checked) return; util.extend(tm, new $jit.Layouts.TM.SliceAndDice); tm.layout.orientation = "v"; tm.refresh(); }); //add event to the back button var back = $jit.id('back'); $jit.util.addEvent(back, 'click', function() { tm.out(); }); } //Time elapsed: 0.10565805435181 seconds