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":"€1,681,659,000","sec": "No","$area": 1681658624,"$color":"#152954"}, "id": "Statoil Fuel & Retail As", "name": "Statoil Fuel & Retail As" }, { "data":{"cap":"€73,615,000","sec": "No","$area": 73615192,"$color":"#192C52"}, "id": "Interoil Exploration And Pro", "name": "Interoil Exploration And Pro" }, { "data":{"cap":"€618,033,000","sec": "No","$area": 618032896,"$color":"#1B2B3B"}, "id": "Bonheur Asa", "name": "Bonheur Asa" }, { "data":{"cap":"€252,158,000","sec": "No","$area": 252157760,"$color":"#142F3A"}, "id": "Sd Standard Drilling Plc", "name": "Sd Standard Drilling Plc" }, { "data":{"cap":"€81,915,000","sec": "No","$area": 81915344,"$color":"#162852"}, "id": "Bridge Energy Asa", "name": "Bridge Energy Asa" }, { "data":{"cap":"€38,076,000","sec": "No","$area": 38075652,"$color":"#143244"}, "id": "Badger Explorer Asa", "name": "Badger Explorer Asa" }, { "data":{"cap":"€24,163,000","sec": "No","$area": 24163424,"$color":"#143234"}, "id": "Norse Energy Corp Asa", "name": "Norse Energy Corp Asa" }, { "data":{"cap":"€5,459,000","sec": "No","$area": 5459213,"$color":"#1E2E39"}, "id": "Seabird Exploration Plc", "name": "Seabird Exploration Plc" }, { "data":{"cap":"€173,877,000","sec": "No","$area": 173876848,"$color":"#1B2A5B"}, "id": "Panoro Energy Asa", "name": "Panoro Energy Asa" }, { "data":{"cap":"€14,467,000","sec": "No","$area": 14467430,"$color":"#192F49"}, "id": "Reservoir Exploration Tech", "name": "Reservoir Exploration Tech" }, { "data":{"cap":"€1,838,923,000","sec": "No","$area": 1838922624,"$color":"#1C303E"}, "id": "Fred Olsen Energy Asa", "name": "Fred Olsen Energy Asa" }, { "data":{"cap":"€420,981,000","sec": "No","$area": 420980672,"$color":"#1D2833"}, "id": "Songa Offshore Se", "name": "Songa Offshore Se" }, { "data":{"cap":"€38,106,000","sec": "No","$area": 38106464,"$color":"#192A4F"}, "id": "North Energy Asa", "name": "North Energy Asa" }, { "data":{"cap":"€212,864,000","sec": "No","$area": 212864176,"$color":"#18293A"}, "id": "Agr Group Asa", "name": "Agr Group Asa" }, { "data":{"cap":"€417,625,000","sec": "No","$area": 417625216,"$color":"#172A47"}, "id": "Solstad Offshore Asa", "name": "Solstad Offshore Asa" }, { "data":{"cap":"€1,363,680,000","sec": "No","$area": 1363680384,"$color":"#162B53"}, "id": "Prosafe Se", "name": "Prosafe Se" }, { "data":{"cap":"€253,492,000","sec": "No","$area": 253492000,"$color":"#162860"}, "id": "Sevan Drilling As", "name": "Sevan Drilling As" }, { "data":{"cap":"€113,717,000","sec": "No","$area": 113716800,"$color":"#1B304B"}, "id": "Eidesvik Offshore Asa", "name": "Eidesvik Offshore Asa" }, { "data":{"cap":"€1,936,566,000","sec": "No","$area": 1936566016,"$color":"#1A3246"}, "id": "Tgs Nopec Geophysical Co Asa", "name": "Tgs Nopec Geophysical Co Asa" }, { "data":{"cap":"€48,143,000","sec": "No","$area": 48142744,"$color":"#16294D"}, "id": "Wentworth Resources Ltd", "name": "Wentworth Resources Ltd" }, { "data":{"cap":"€106,047,000","sec": "No","$area": 106047248,"$color":"#1B2B55"}, "id": "Spectrum Asa", "name": "Spectrum Asa" }, { "data":{"cap":"€86,322,000","sec": "No","$area": 86321688,"$color":"#1B3253"}, "id": "Havila Shipping Asa", "name": "Havila Shipping Asa" }, { "data":{"cap":"€11,517,000","sec": "No","$area": 11516902,"$color":"#1B285C"}, "id": "Petrolia Asa", "name": "Petrolia Asa" }, { "data":{"cap":"€30,608,000","sec": "No","$area": 30607806,"$color":"#1D2D41"}, "id": "Transeuro Energy Corp *", "name": "Transeuro Energy Corp *" }, { "data":{"cap":"€44,783,000","sec": "No","$area": 44783492,"$color":"#193158"}, "id": "Bergen Group As", "name": "Bergen Group As" }, { "data":{"cap":"€2,471,362,000","sec": "No","$area": 2471362048,"$color":"#1D2943"}, "id": "Aker Solutions Asa", "name": "Aker Solutions Asa" }, { "data":{"cap":"€89,296,000","sec": "No","$area": 89296112,"$color":"#152C5C"}, "id": "Intex Resources Asa", "name": "Intex Resources Asa" }, { "data":{"cap":"€135,547,000","sec": "No","$area": 135546976,"$color":"#172F5C"}, "id": "Questerre Energy Corp", "name": "Questerre Energy Corp" }, { "data":{"cap":"€197,578,000","sec": "No","$area": 197577520,"$color":"#1D2C3C"}, "id": "Norwegian Energy Co As", "name": "Norwegian Energy Co As" }, { "data":{"cap":"€2,002,703,000","sec": "No","$area": 2002703232,"$color":"#172B5B"}, "id": "Petroleum Geo-services", "name": "Petroleum Geo-services" }, { "data":{"cap":"€79,373,000","sec": "No","$area": 79373120,"$color":"#1A2954"}, "id": "Scana Industrier Asa", "name": "Scana Industrier Asa" }, { "data":{"cap":"€2,514,137,000","sec": "Yes","$area": 2514136832,"$color":"#009900"}, "id": "Golar Lng Ltd *", "name": "Golar Lng Ltd *" }, { "data":{"cap":"€416,000,000","sec": "No","$area": 415999616,"$color":"#193246"}, "id": "Electromagnetic Geoservices", "name": "Electromagnetic Geoservices" }, { "data":{"cap":"€98,183,000","sec": "No","$area": 98182656,"$color":"#1E2D59"}, "id": "Sevan Marine Asa", "name": "Sevan Marine Asa" }, { "data":{"cap":"€72,410,000","sec": "No","$area": 72410168,"$color":"#1D2C41"}, "id": "Discovery Offshore Sa", "name": "Discovery Offshore Sa" }, { "data":{"cap":"€13,240,412,000","sec": "Yes","$area": 13240412160,"$color":"#009900"}, "id": "Seadrill Ltd *", "name": "Seadrill Ltd *" }, { "data":{"cap":"€22,150,000","sec": "No","$area": 22149924,"$color":"#142B32"}, "id": "Cecon Asa", "name": "Cecon Asa" }, { "data":{"cap":"€62,206,681,000","sec": "Yes","$area": 62206681088,"$color":"#009900"}, "id": "Statoil Asa", "name": "Statoil Asa" }, { "data":{"cap":"€68,824,000","sec": "No","$area": 68823536,"$color":"#163254"}, "id": "Prospector Offshore Drilling", "name": "Prospector Offshore Drilling" }, { "data":{"cap":"€256,702,000","sec": "No","$area": 256701728,"$color":"#1D2B60"}, "id": "Northern Offshore Ltd", "name": "Northern Offshore Ltd" }, { "data":{"cap":"€86,439,000","sec": "No","$area": 86439264,"$color":"#182F4C"}, "id": "Eoc Ltd", "name": "Eoc Ltd" }, { "data":{"cap":"€101,951,000","sec": "No","$area": 101950664,"$color":"#193049"}, "id": "Fred Olsen Production Asa", "name": "Fred Olsen Production Asa" }, { "data":{"cap":"€322,083,000","sec": "No","$area": 322083168,"$color":"#163032"}, "id": "Dof Asa", "name": "Dof Asa" }, { "data":{"cap":"€282,106,000","sec": "No","$area": 282105920,"$color":"#1D305A"}, "id": "Northland Resources Sa *", "name": "Northland Resources Sa *" }, { "data":{"cap":"€283,642,000","sec": "No","$area": 283641760,"$color":"#192C61"}, "id": "Dockwise Ltd", "name": "Dockwise Ltd" }, { "data":{"cap":"€619,000","sec": "No","$area": 619395,"$color":"#1E2E60"}, "id": "Nexus Floating Production", "name": "Nexus Floating Production" }, { "data":{"cap":"€92,488,000","sec": "No","$area": 92487752,"$color":"#1E2C4E"}, "id": "Rem Offshore Asa", "name": "Rem Offshore Asa" }, { "data":{"cap":"€8,290,699,000","sec": "No","$area": 8290698752,"$color":"#17305B"}, "id": "Norsk Hydro Asa", "name": "Norsk Hydro Asa" }, { "data":{"cap":"€5,499,610,000","sec": "No","$area": 5499609600,"$color":"#1E2C36"}, "id": "Subsea 7 Sa", "name": "Subsea 7 Sa" }, { "data":{"cap":"€795,487,000","sec": "No","$area": 795487424,"$color":"#1A3142"}, "id": "Bw Offshore Ltd", "name": "Bw Offshore Ltd" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#1E2848"}, "id": "Dannemora Mineral Ab *", "name": "Dannemora Mineral Ab *" }, { "data":{"cap":"€1,484,813,000","sec": "No","$area": 1484812928,"$color":"#1C3162"}, "id": "Det Norske Oljeselskap Asa", "name": "Det Norske Oljeselskap Asa" }, { "data":{"cap":"€20,833,000","sec": "No","$area": 20833060,"$color":"#172C3E"}, "id": "Rocksource Asa", "name": "Rocksource Asa" }, { "data":{"cap":"€460,665,000","sec": "No","$area": 460664864,"$color":"#182B46"}, "id": "Siem Offshore Inc", "name": "Siem Offshore Inc" }, { "data":{"cap":"€114,452,000","sec": "No","$area": 114451920,"$color":"#192C55"}, "id": "Asia Offshore Drilling Ltd", "name": "Asia Offshore Drilling Ltd" }, { "data":{"cap":"€14,858,000","sec": "No","$area": 14858211,"$color":"#192F56"}, "id": "Ige Resources Ab", "name": "Ige Resources Ab" }, { "data":{"cap":"€24,604,000","sec": "No","$area": 24604434,"$color":"#1E3252"}, "id": "Nordic Mining Asa", "name": "Nordic Mining Asa" }, { "data":{"cap":"€1,115,929,000","sec": "No","$area": 1115929088,"$color":"#18305B"}, "id": "Dno International Asa", "name": "Dno International Asa" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#1B304A"}, "id": "Mosvold Jackup Ltd *", "name": "Mosvold Jackup Ltd *" }, { "data":{"cap":"€678,634,000","sec": "No","$area": 678634240,"$color":"#1E2B37"}, "id": "Archer Ltd", "name": "Archer Ltd" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#1A2D3B"}, "id": "Nordic Mining Asa-rts *", "name": "Nordic Mining Asa-rts *" }, { "data":{"cap":"€9,806,000","sec": "No","$area": 9805669,"$color":"#1B3041"}, "id": "Oceanteam Shipping Asa", "name": "Oceanteam Shipping Asa" }, { "data":{"cap":"€811,566,000","sec": "No","$area": 811566144,"$color":"#142C52"}, "id": "Farstad Shipping", "name": "Farstad Shipping" }, { "data":{"cap":"€132,799,000","sec": "No","$area": 132799136,"$color":"#152E41"}, "id": "Awilco Drilling Plc", "name": "Awilco Drilling Plc" }, { "data":{"cap":"€370,849,000","sec": "No","$area": 370849344,"$color":"#15305B"}, "id": "Kvaerner Asa", "name": "Kvaerner Asa" }, { "data":{"cap":"€8,870,000","sec": "No","$area": 8870002,"$color":"#1C3157"}, "id": "Aker Floating Production Asa", "name": "Aker Floating Production Asa" }, { "data":{"cap":"€490,934,000","sec": "No","$area": 490934272,"$color":"#1A305C"}, "id": "Ganger Rolf Asa", "name": "Ganger Rolf Asa" }, { "data":{"cap":"€528,374,000","sec": "No","$area": 528373984,"$color":"#1A303D"}, "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(); }); }