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,198,400,000","sec": "Yes","$area": 946828224,"$color":"#009900"}, "id": "Silver Standard Resources ", "name": "Silver Standard Resources " }, { "data":{"cap":"$1,159,371,000","sec": "No","$area": 915991616,"$color":"#1E2C5F"}, "id": "Royal Bafokeng Platinum Ltd", "name": "Royal Bafokeng Platinum Ltd" }, { "data":{"cap":"$20,860,421,000","sec": "No","$area": 16481331200,"$color":"#1B2D3C"}, "id": "Kumba Iron Ore Ltd", "name": "Kumba Iron Ore Ltd" }, { "data":{"cap":"$43,916,000","sec": "No","$area": 34697328,"$color":"#1B2F42"}, "id": "Trans Hex Group Ltd", "name": "Trans Hex Group Ltd" }, { "data":{"cap":"$3,385,328,000","sec": "No","$area": 2674668288,"$color":"#1E2E63"}, "id": "Lonmin Plc *", "name": "Lonmin Plc *" }, { "data":{"cap":"$730,160,000","sec": "No","$area": 576882496,"$color":"#142B3E"}, "id": "Gold One International Ltd *", "name": "Gold One International Ltd *" }, { "data":{"cap":"$3,849,245,000","sec": "No","$area": 3041198592,"$color":"#16324A"}, "id": "Assore Ltd", "name": "Assore Ltd" }, { "data":{"cap":"$8,069,407,000","sec": "No","$area": 6375450112,"$color":"#1B2D63"}, "id": "Exxaro Resources Ltd", "name": "Exxaro Resources Ltd" }, { "data":{"cap":"$11,548,468,000","sec": "Yes","$area": 9124174848,"$color":"#009900"}, "id": "Gold Fields Ltd", "name": "Gold Fields Ltd" }, { "data":{"cap":"$365,888,000","sec": "No","$area": 289079424,"$color":"#163055"}, "id": "Pan African Resources Plc *", "name": "Pan African Resources Plc *" }, { "data":{"cap":"$24,422,000","sec": "No","$area": 19295470,"$color":"#142D64"}, "id": "Firestone Energy Ltd *", "name": "Firestone Energy Ltd *" }, { "data":{"cap":"$465,739,000","sec": "No","$area": 367969728,"$color":"#163062"}, "id": "Evraz Highveld Steel And Van", "name": "Evraz Highveld Steel And Van" }, { "data":{"cap":"$13,727,946,000","sec": "No","$area": 10846129152,"$color":"#1E2F5A"}, "id": "Impala Platinum Holdings Ltd", "name": "Impala Platinum Holdings Ltd" }, { "data":{"cap":"$5,214,315,000","sec": "Yes","$area": 4119708160,"$color":"#009900"}, "id": "Harmony Gold Mining Co Ltd", "name": "Harmony Gold Mining Co Ltd" }, { "data":{"cap":"$33,246,000","sec": "No","$area": 26267010,"$color":"#1E3136"}, "id": "African Eagle Resources Plc *", "name": "African Eagle Resources Plc *" }, { "data":{"cap":"$19,600,000","sec": "No","$area": 15485703,"$color":"#1A314E"}, "id": "Ferrum Crescent Ltd *", "name": "Ferrum Crescent Ltd *" }, { "data":{"cap":"$32,762,000","sec": "No","$area": 25884734,"$color":"#153037"}, "id": "Bauba Platinum Ltd", "name": "Bauba Platinum Ltd" }, { "data":{"cap":"$183,201,000","sec": "No","$area": 144742896,"$color":"#153053"}, "id": "Witwatersrand Con Gold Res", "name": "Witwatersrand Con Gold Res" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#172E4A"}, "id": "Thabex Ltd *", "name": "Thabex Ltd *" }, { "data":{"cap":"$190,697,897,000","sec": "Yes","$area": 150665953280,"$color":"#009900"}, "id": "Bhp Billiton Plc", "name": "Bhp Billiton Plc" }, { "data":{"cap":"$669,683,000","sec": "No","$area": 529101120,"$color":"#182A47"}, "id": "Coal Of Africa Ltd *", "name": "Coal Of Africa Ltd *" }, { "data":{"cap":"$1,137,589,000","sec": "No","$area": 898782592,"$color":"#143148"}, "id": "Optimum Coal Holdings", "name": "Optimum Coal Holdings" }, { "data":{"cap":"$63,212,000","sec": "No","$area": 49942448,"$color":"#1A2B62"}, "id": "Metmar Ltd", "name": "Metmar Ltd" }, { "data":{"cap":"$18,834,698,000","sec": "No","$area": 14880855040,"$color":"#1D2955"}, "id": "Anglo American Platinum Ltd", "name": "Anglo American Platinum Ltd" }, { "data":{"cap":"$2,530,958,000","sec": "No","$area": 1999650560,"$color":"#1D3039"}, "id": "Uranium One Inc *", "name": "Uranium One Inc *" }, { "data":{"cap":"$63,707,000","sec": "No","$area": 50333408,"$color":"#1A2E4F"}, "id": "Sephaku Holdings Ltd", "name": "Sephaku Holdings Ltd" }, { "data":{"cap":"$202,531,000","sec": "No","$area": 160014880,"$color":"#173148"}, "id": "Petmin Ltd", "name": "Petmin Ltd" }, { "data":{"cap":"$63,872,000","sec": "No","$area": 50463812,"$color":"#1D3234"}, "id": "Buildmax Ltd", "name": "Buildmax Ltd" }, { "data":{"cap":"$22,989,000","sec": "No","$area": 18163100,"$color":"#1D2854"}, "id": "Rockwell Diamonds Inc *", "name": "Rockwell Diamonds Inc *" }, { "data":{"cap":"$3,789,848,000","sec": "Yes","$area": 2994270208,"$color":"#009900"}, "id": "Arcelormittal South Africa", "name": "Arcelormittal South Africa" }, { "data":{"cap":"$291,771,000","sec": "No","$area": 230521616,"$color":"#1E2C42"}, "id": "Wesizwe Platinum Ltd", "name": "Wesizwe Platinum Ltd" }, { "data":{"cap":"$25,709,000","sec": "No","$area": 20312248,"$color":"#162D46"}, "id": "Randgold & Exploration Co", "name": "Randgold & Exploration Co" }, { "data":{"cap":"$493,325,000","sec": "Yes","$area": 389764320,"$color":"#009900"}, "id": "Great Basin Gold Ltd *", "name": "Great Basin Gold Ltd *" }, { "data":{"cap":"$50,075,000","sec": "No","$area": 39563164,"$color":"#1E294C"}, "id": "Sacoil Holding Ltd", "name": "Sacoil Holding Ltd" }, { "data":{"cap":"$6,682,000","sec": "No","$area": 5279434,"$color":"#1C3061"}, "id": "Miranda Mineral Holdings Ltd", "name": "Miranda Mineral Holdings Ltd" }, { "data":{"cap":"$31,927,885,000","sec": "Yes","$area": 25225476096,"$color":"#009900"}, "id": "Sasol Ltd", "name": "Sasol Ltd" }, { "data":{"cap":"$60,050,000","sec": "No","$area": 47444108,"$color":"#1E3146"}, "id": "Forbes & Manhattan Coal Corp *", "name": "Forbes & Manhattan Coal Corp *" }, { "data":{"cap":"$58,527,000","sec": "No","$area": 46240828,"$color":"#18295E"}, "id": "Bsi Steel Ltd", "name": "Bsi Steel Ltd" }, { "data":{"cap":"$7,315,000","sec": "No","$area": 5779491,"$color":"#182B4E"}, "id": "Chrometco Ltd", "name": "Chrometco Ltd" }, { "data":{"cap":"$3,117,000","sec": "No","$area": 2462813,"$color":"#143146"}, "id": "Simmer & Jack Mines Ltd", "name": "Simmer & Jack Mines Ltd" }, { "data":{"cap":"$59,360,000","sec": "No","$area": 46898668,"$color":"#152F44"}, "id": "First Uranium Corp *", "name": "First Uranium Corp *" }, { "data":{"cap":"$62,803,000","sec": "No","$area": 49619140,"$color":"#152C4B"}, "id": "Keaton Energy Holdings Ltd", "name": "Keaton Energy Holdings Ltd" }, { "data":{"cap":"$16,701,000","sec": "No","$area": 13195322,"$color":"#172F58"}, "id": "Wescoal Holdings Ltd", "name": "Wescoal Holdings Ltd" }, { "data":{"cap":"$860,006,000","sec": "No","$area": 679470848,"$color":"#173237"}, "id": "Palabora Mining Co Ltd", "name": "Palabora Mining Co Ltd" }, { "data":{"cap":"$537,724,000","sec": "No","$area": 424843104,"$color":"#1B285D"}, "id": "Eastern Platinum Ltd *", "name": "Eastern Platinum Ltd *" }, { "data":{"cap":"$20,569,000","sec": "No","$area": 16251322,"$color":"#162D57"}, "id": "Insimbi Refractory And Alloy", "name": "Insimbi Refractory And Alloy" }, { "data":{"cap":"$280,458,000","sec": "No","$area": 221583600,"$color":"#1E2946"}, "id": "Merafe Resources Ltd", "name": "Merafe Resources Ltd" }, { "data":{"cap":"$366,409,000","sec": "No","$area": 289491520,"$color":"#1A2962"}, "id": "Oando Plc", "name": "Oando Plc" }, { "data":{"cap":"$17,511,000","sec": "No","$area": 13834638,"$color":"#1C3259"}, "id": "Delrand Resources Ltd *", "name": "Delrand Resources Ltd *" }, { "data":{"cap":"$248,527,000","sec": "No","$area": 196355040,"$color":"#172E4B"}, "id": "Village Main Reef Ltd", "name": "Village Main Reef Ltd" }, { "data":{"cap":"$140,663,000","sec": "No","$area": 111134512,"$color":"#1A315A"}, "id": "Sentula Mining Ltd", "name": "Sentula Mining Ltd" }, { "data":{"cap":"$244,863,000","sec": "No","$area": 193460320,"$color":"#172D53"}, "id": "Drdgold Ltd", "name": "Drdgold Ltd" }, { "data":{"cap":"$8,563,000","sec": "No","$area": 6765539,"$color":"#1C3136"}, "id": "Kibo Mining Plc *", "name": "Kibo Mining Plc *" }, { "data":{"cap":"$102,735,000","sec": "Yes","$area": 81168184,"$color":"#009900"}, "id": "Anooraq Resources Corp *", "name": "Anooraq Resources Corp *" }, { "data":{"cap":"$20,996,000","sec": "No","$area": 16588443,"$color":"#1B283F"}, "id": "Goliath Gold Mining Ltd", "name": "Goliath Gold Mining Ltd" }, { "data":{"cap":"$17,338,000","sec": "No","$area": 13698458,"$color":"#1B2B3E"}, "id": "South African Coal Mining Ho", "name": "South African Coal Mining Ho" }, { "data":{"cap":"$4,729,630,000","sec": "No","$area": 3736769792,"$color":"#1C2C64"}, "id": "African Rainbow Minerals Ltd", "name": "African Rainbow Minerals Ltd" }, { "data":{"cap":"$35,594,000","sec": "No","$area": 28121718,"$color":"#192D3D"}, "id": "Central Rand Gold Ltd", "name": "Central Rand Gold Ltd" }, { "data":{"cap":"$48,246,000","sec": "No","$area": 38118364,"$color":"#1A2F50"}, "id": "Zci Ltd", "name": "Zci Ltd" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#1C2C35"}, "id": "Miranda Mineral Holdings-rts *", "name": "Miranda Mineral Holdings-rts *" }, { "data":{"cap":"$15,365,000","sec": "No","$area": 12139575,"$color":"#1B2A38"}, "id": "Infrasors Holdings Ltd", "name": "Infrasors Holdings Ltd" }, { "data":{"cap":"$17,097,115,000","sec": "Yes","$area": 13508031488,"$color":"#009900"}, "id": "Anglogold Ashanti Ltd", "name": "Anglogold Ashanti Ltd" }, { "data":{"cap":"$54,721,560,000","sec": "No","$area": 43234226176,"$color":"#1A2939"}, "id": "Anglo American Plc *", "name": "Anglo American Plc *" }, { "data":{"cap":"$1,357,988,000","sec": "No","$area": 1072914688,"$color":"#153240"}, "id": "Aquarius Platinum Ltd *", "name": "Aquarius Platinum Ltd *" }, { "data":{"cap":"$6,832,000","sec": "No","$area": 5398074,"$color":"#192C56"}, "id": "Platfields Ltd", "name": "Platfields Ltd" }, { "data":{"cap":"$356,710,000","sec": "No","$area": 281828608,"$color":"#1E2E4F"}, "id": "Hulamin Ltd", "name": "Hulamin Ltd" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#192954"}, "id": "Jci Ltd *", "name": "Jci Ltd *" }, { "data":{"cap":"$21,059,000","sec": "No","$area": 16638310,"$color":"#172A40"}, "id": "Diamondcorp Plc *", "name": "Diamondcorp Plc *" }, { "data":{"cap":"$18,561,000","sec": "No","$area": 14664933,"$color":"#173249"}, "id": "Tawana Resources Nl *", "name": "Tawana Resources Nl *" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Sasol Ltd - Bee *", "name": "Sasol Ltd - Bee *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#162F52"}, "id": "Pamodzi Gold Ltd *", "name": "Pamodzi Gold Ltd *" }, { "data":{"cap":"$1,489,063,000","sec": "No","$area": 1176473728,"$color":"#182861"}, "id": "Northam Platinum Ltd", "name": "Northam Platinum Ltd" }, { "data":{"cap":"$71,324,000","sec": "No","$area": 56351132,"$color":"#1A323C"}, "id": "Jubilee Platinum Plc *", "name": "Jubilee Platinum Plc *" }, { "data":{"cap":"$111,216,000","sec": "No","$area": 87868912,"$color":"#192B5C"}, "id": "Resource Generation Ltd *", "name": "Resource Generation Ltd *" } ] }; //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(); }); }