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":"$2,128,475,000","sec": "No","$area": 1681658624,"$color":"#152B3E"}, "id": "Statoil Fuel & Retail As", "name": "Statoil Fuel & Retail As" }, { "data":{"cap":"$93,175,000","sec": "No","$area": 73615192,"$color":"#142B4B"}, "id": "Interoil Exploration And Pro", "name": "Interoil Exploration And Pro" }, { "data":{"cap":"$782,244,000","sec": "No","$area": 618032896,"$color":"#1B2D5B"}, "id": "Bonheur Asa", "name": "Bonheur Asa" }, { "data":{"cap":"$319,156,000","sec": "No","$area": 252157760,"$color":"#1D324A"}, "id": "Sd Standard Drilling Plc", "name": "Sd Standard Drilling Plc" }, { "data":{"cap":"$103,680,000","sec": "No","$area": 81915344,"$color":"#1E2D63"}, "id": "Bridge Energy Asa", "name": "Bridge Energy Asa" }, { "data":{"cap":"$48,192,000","sec": "No","$area": 38075652,"$color":"#152850"}, "id": "Badger Explorer Asa", "name": "Badger Explorer Asa" }, { "data":{"cap":"$30,584,000","sec": "No","$area": 24163424,"$color":"#1C2A54"}, "id": "Norse Energy Corp Asa", "name": "Norse Energy Corp Asa" }, { "data":{"cap":"$6,910,000","sec": "No","$area": 5459213,"$color":"#1D3235"}, "id": "Seabird Exploration Plc", "name": "Seabird Exploration Plc" }, { "data":{"cap":"$220,076,000","sec": "No","$area": 173876848,"$color":"#153135"}, "id": "Panoro Energy Asa", "name": "Panoro Energy Asa" }, { "data":{"cap":"$18,311,000","sec": "No","$area": 14467430,"$color":"#1E2835"}, "id": "Reservoir Exploration Tech", "name": "Reservoir Exploration Tech" }, { "data":{"cap":"$2,327,524,000","sec": "No","$area": 1838922624,"$color":"#162864"}, "id": "Fred Olsen Energy Asa", "name": "Fred Olsen Energy Asa" }, { "data":{"cap":"$532,835,000","sec": "No","$area": 420980672,"$color":"#1A2C56"}, "id": "Songa Offshore Se", "name": "Songa Offshore Se" }, { "data":{"cap":"$48,231,000","sec": "No","$area": 38106464,"$color":"#192B35"}, "id": "North Energy Asa", "name": "North Energy Asa" }, { "data":{"cap":"$269,422,000","sec": "No","$area": 212864176,"$color":"#1E323F"}, "id": "Agr Group Asa", "name": "Agr Group Asa" }, { "data":{"cap":"$528,588,000","sec": "No","$area": 417625216,"$color":"#1B2B3D"}, "id": "Solstad Offshore Asa", "name": "Solstad Offshore Asa" }, { "data":{"cap":"$1,726,010,000","sec": "No","$area": 1363680384,"$color":"#1D3055"}, "id": "Prosafe Se", "name": "Prosafe Se" }, { "data":{"cap":"$320,845,000","sec": "No","$area": 253492000,"$color":"#1D2F46"}, "id": "Sevan Drilling As", "name": "Sevan Drilling As" }, { "data":{"cap":"$143,931,000","sec": "No","$area": 113716800,"$color":"#142C55"}, "id": "Eidesvik Offshore Asa", "name": "Eidesvik Offshore Asa" }, { "data":{"cap":"$2,451,112,000","sec": "No","$area": 1936566016,"$color":"#182A53"}, "id": "Tgs Nopec Geophysical Co Asa", "name": "Tgs Nopec Geophysical Co Asa" }, { "data":{"cap":"$60,934,000","sec": "No","$area": 48142744,"$color":"#1C2F5A"}, "id": "Wentworth Resources Ltd", "name": "Wentworth Resources Ltd" }, { "data":{"cap":"$134,224,000","sec": "No","$area": 106047248,"$color":"#182E4D"}, "id": "Spectrum Asa", "name": "Spectrum Asa" }, { "data":{"cap":"$109,257,000","sec": "No","$area": 86321688,"$color":"#1E295B"}, "id": "Havila Shipping Asa", "name": "Havila Shipping Asa" }, { "data":{"cap":"$14,577,000","sec": "No","$area": 11516902,"$color":"#192A61"}, "id": "Petrolia Asa", "name": "Petrolia Asa" }, { "data":{"cap":"$38,740,000","sec": "No","$area": 30607806,"$color":"#1C3252"}, "id": "Transeuro Energy Corp *", "name": "Transeuro Energy Corp *" }, { "data":{"cap":"$56,682,000","sec": "No","$area": 44783492,"$color":"#15314A"}, "id": "Bergen Group As", "name": "Bergen Group As" }, { "data":{"cap":"$3,128,003,000","sec": "No","$area": 2471362048,"$color":"#1D2D58"}, "id": "Aker Solutions Asa", "name": "Aker Solutions Asa" }, { "data":{"cap":"$113,022,000","sec": "No","$area": 89296112,"$color":"#172D5D"}, "id": "Intex Resources Asa", "name": "Intex Resources Asa" }, { "data":{"cap":"$171,562,000","sec": "No","$area": 135546976,"$color":"#1D3134"}, "id": "Questerre Energy Corp", "name": "Questerre Energy Corp" }, { "data":{"cap":"$250,074,000","sec": "No","$area": 197577520,"$color":"#182B4C"}, "id": "Norwegian Energy Co As", "name": "Norwegian Energy Co As" }, { "data":{"cap":"$2,534,821,000","sec": "No","$area": 2002703232,"$color":"#1E303A"}, "id": "Petroleum Geo-services", "name": "Petroleum Geo-services" }, { "data":{"cap":"$100,463,000","sec": "No","$area": 79373120,"$color":"#1B325A"}, "id": "Scana Industrier Asa", "name": "Scana Industrier Asa" }, { "data":{"cap":"$3,182,143,000","sec": "Yes","$area": 2514136832,"$color":"#009900"}, "id": "Golar Lng Ltd *", "name": "Golar Lng Ltd *" }, { "data":{"cap":"$526,531,000","sec": "No","$area": 415999616,"$color":"#183258"}, "id": "Electromagnetic Geoservices", "name": "Electromagnetic Geoservices" }, { "data":{"cap":"$124,270,000","sec": "No","$area": 98182656,"$color":"#1D3040"}, "id": "Sevan Marine Asa", "name": "Sevan Marine Asa" }, { "data":{"cap":"$91,650,000","sec": "No","$area": 72410168,"$color":"#172841"}, "id": "Discovery Offshore Sa", "name": "Discovery Offshore Sa" }, { "data":{"cap":"$16,758,390,000","sec": "Yes","$area": 13240412160,"$color":"#009900"}, "id": "Seadrill Ltd *", "name": "Seadrill Ltd *" }, { "data":{"cap":"$28,035,000","sec": "No","$area": 22149924,"$color":"#162B3D"}, "id": "Cecon Asa", "name": "Cecon Asa" }, { "data":{"cap":"$78,734,996,000","sec": "Yes","$area": 62206681088,"$color":"#009900"}, "id": "Statoil Asa", "name": "Statoil Asa" }, { "data":{"cap":"$87,110,000","sec": "No","$area": 68823536,"$color":"#182A51"}, "id": "Prospector Offshore Drilling", "name": "Prospector Offshore Drilling" }, { "data":{"cap":"$324,907,000","sec": "No","$area": 256701728,"$color":"#1A2C47"}, "id": "Northern Offshore Ltd", "name": "Northern Offshore Ltd" }, { "data":{"cap":"$109,406,000","sec": "No","$area": 86439264,"$color":"#1B2D5E"}, "id": "Eoc Ltd", "name": "Eoc Ltd" }, { "data":{"cap":"$129,039,000","sec": "No","$area": 101950664,"$color":"#1C3056"}, "id": "Fred Olsen Production Asa", "name": "Fred Olsen Production Asa" }, { "data":{"cap":"$407,661,000","sec": "No","$area": 322083168,"$color":"#142B55"}, "id": "Dof Asa", "name": "Dof Asa" }, { "data":{"cap":"$357,061,000","sec": "No","$area": 282105920,"$color":"#16304F"}, "id": "Northland Resources Sa *", "name": "Northland Resources Sa *" }, { "data":{"cap":"$359,005,000","sec": "No","$area": 283641760,"$color":"#19305D"}, "id": "Dockwise Ltd", "name": "Dockwise Ltd" }, { "data":{"cap":"$784,000","sec": "No","$area": 619395,"$color":"#16315A"}, "id": "Nexus Floating Production", "name": "Nexus Floating Production" }, { "data":{"cap":"$117,062,000","sec": "No","$area": 92487752,"$color":"#1C2E32"}, "id": "Rem Offshore Asa", "name": "Rem Offshore Asa" }, { "data":{"cap":"$10,493,537,000","sec": "No","$area": 8290698752,"$color":"#192B5D"}, "id": "Norsk Hydro Asa", "name": "Norsk Hydro Asa" }, { "data":{"cap":"$6,960,856,000","sec": "No","$area": 5499609600,"$color":"#14295A"}, "id": "Subsea 7 Sa", "name": "Subsea 7 Sa" }, { "data":{"cap":"$1,006,848,000","sec": "No","$area": 795487424,"$color":"#193132"}, "id": "Bw Offshore Ltd", "name": "Bw Offshore Ltd" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#163040"}, "id": "Dannemora Mineral Ab *", "name": "Dannemora Mineral Ab *" }, { "data":{"cap":"$1,879,328,000","sec": "No","$area": 1484812928,"$color":"#1E304E"}, "id": "Det Norske Oljeselskap Asa", "name": "Det Norske Oljeselskap Asa" }, { "data":{"cap":"$26,368,000","sec": "No","$area": 20833060,"$color":"#17303E"}, "id": "Rocksource Asa", "name": "Rocksource Asa" }, { "data":{"cap":"$583,064,000","sec": "No","$area": 460664864,"$color":"#1E3138"}, "id": "Siem Offshore Inc", "name": "Siem Offshore Inc" }, { "data":{"cap":"$144,862,000","sec": "No","$area": 114451920,"$color":"#1D2B52"}, "id": "Asia Offshore Drilling Ltd", "name": "Asia Offshore Drilling Ltd" }, { "data":{"cap":"$18,806,000","sec": "No","$area": 14858211,"$color":"#1B305A"}, "id": "Ige Resources Ab", "name": "Ige Resources Ab" }, { "data":{"cap":"$31,142,000","sec": "No","$area": 24604434,"$color":"#173059"}, "id": "Nordic Mining Asa", "name": "Nordic Mining Asa" }, { "data":{"cap":"$1,412,431,000","sec": "No","$area": 1115929088,"$color":"#1D2D57"}, "id": "Dno International Asa", "name": "Dno International Asa" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#18323E"}, "id": "Mosvold Jackup Ltd *", "name": "Mosvold Jackup Ltd *" }, { "data":{"cap":"$858,947,000","sec": "No","$area": 678634240,"$color":"#192A32"}, "id": "Archer Ltd", "name": "Archer Ltd" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#17313E"}, "id": "Nordic Mining Asa-rts *", "name": "Nordic Mining Asa-rts *" }, { "data":{"cap":"$12,411,000","sec": "No","$area": 9805669,"$color":"#1A2A5D"}, "id": "Oceanteam Shipping Asa", "name": "Oceanteam Shipping Asa" }, { "data":{"cap":"$1,027,199,000","sec": "No","$area": 811566144,"$color":"#17283B"}, "id": "Farstad Shipping", "name": "Farstad Shipping" }, { "data":{"cap":"$168,084,000","sec": "No","$area": 132799136,"$color":"#142F3B"}, "id": "Awilco Drilling Plc", "name": "Awilco Drilling Plc" }, { "data":{"cap":"$469,384,000","sec": "No","$area": 370849344,"$color":"#1B2833"}, "id": "Kvaerner Asa", "name": "Kvaerner Asa" }, { "data":{"cap":"$11,227,000","sec": "No","$area": 8870002,"$color":"#142A38"}, "id": "Aker Floating Production Asa", "name": "Aker Floating Production Asa" }, { "data":{"cap":"$621,376,000","sec": "No","$area": 490934272,"$color":"#1D2839"}, "id": "Ganger Rolf Asa", "name": "Ganger Rolf Asa" }, { "data":{"cap":"$668,763,000","sec": "No","$area": 528373984,"$color":"#152B5C"}, "id": "Avocet Mining Plc *", "name": "Avocet Mining Plc *" } ] }; //end //init TreeMap var tm = new $jit.TM.Squarified({ //where to inject the visualization injectInto: 'infovis', //parent box title heights titleHeight: 0, //enable animations animate: false, //box offsets offset: 1, //Attach left and right click events Events: { enable: false }, duration: 1000, //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.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(); }); }