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":"€101,865,300,000","sec": "No","$area": 101865299968,"$color":"#172963"}, "id": "Vale Sa-pref A Pop *", "name": "Vale Sa-pref A Pop *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#182F56"}, "id": "Usiminas-pref A Pop *", "name": "Usiminas-pref A Pop *" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Petrobras-pref Pop *", "name": "Petrobras-pref Pop *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#1C3056"}, "id": "Panatlantica Sa-pref *", "name": "Panatlantica Sa-pref *" }, { "data":{"cap":"€12,030,398,000","sec": "Yes","$area": 12030398464,"$color":"#009900"}, "id": "Gerdau Sa-pref *", "name": "Gerdau Sa-pref *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#172B5C"}, "id": "Siderurgica J.L. Aliperti-pr *", "name": "Siderurgica J.L. Aliperti-pr *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#143246"}, "id": "Vale Sa-pref A Pop *", "name": "Vale Sa-pref A Pop *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#162A3B"}, "id": "Usiminas-pref A Pop *", "name": "Usiminas-pref A Pop *" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Petrobras-pref Pop *", "name": "Petrobras-pref Pop *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#1C2E5F"}, "id": "Panatlantica Sa *", "name": "Panatlantica Sa *" }, { "data":{"cap":"€11,980,173,000","sec": "Yes","$area": 11980173312,"$color":"#009900"}, "id": "Gerdau S.A.", "name": "Gerdau S.A." }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#1A2D4E"}, "id": "Siderurgica J.L. Aliperti Sa *", "name": "Siderurgica J.L. Aliperti Sa *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#172D57"}, "id": "Vale Sa-pref A Pop *", "name": "Vale Sa-pref A Pop *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#142850"}, "id": "Usiminas-pref A Pop *", "name": "Usiminas-pref A Pop *" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Petrobras-pref Pop *", "name": "Petrobras-pref Pop *" }, { "data":{"cap":"€1,498,858,000","sec": "No","$area": 1498858368,"$color":"#1C2833"}, "id": "Osx Brasil Sa", "name": "Osx Brasil Sa" }, { "data":{"cap":"€403,373,000","sec": "No","$area": 403372640,"$color":"#1D2946"}, "id": "Cia Ferro Ligas Da Bahia -fe", "name": "Cia Ferro Ligas Da Bahia -fe" }, { "data":{"cap":"€141,797,000","sec": "No","$area": 141796544,"$color":"#172C58"}, "id": "All Ore Mineracao Sa", "name": "All Ore Mineracao Sa" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#162E4B"}, "id": "Vale Sa-pref A Pop *", "name": "Vale Sa-pref A Pop *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#1D2A5C"}, "id": "Usiminas-pref A Pop *", "name": "Usiminas-pref A Pop *" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Petrobras-pref Pop *", "name": "Petrobras-pref Pop *" }, { "data":{"cap":"€21,868,761,000","sec": "No","$area": 21868761088,"$color":"#182C51"}, "id": "Ogx Petroleo E Gas Participa", "name": "Ogx Petroleo E Gas Participa" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#1A2849"}, "id": "Ferbasa-ferro Ligas Da Bahia *", "name": "Ferbasa-ferro Ligas Da Bahia *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#162F45"}, "id": "Vale Sa-pref A Pop *", "name": "Vale Sa-pref A Pop *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#1C2D3E"}, "id": "Usiminas-pref A Pop *", "name": "Usiminas-pref A Pop *" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Petrobras-pref Pop *", "name": "Petrobras-pref Pop *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#152C54"}, "id": "Wetzel Sa-pref *", "name": "Wetzel Sa-pref *" }, { "data":{"cap":"€25,697,000","sec": "No","$area": 25696958,"$color":"#192963"}, "id": "Electro Aco Altona Sa-pref", "name": "Electro Aco Altona Sa-pref" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#183162"}, "id": "Vale Sa-pref A Pop *", "name": "Vale Sa-pref A Pop *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#1E2E41"}, "id": "Usinas Sider Minas Ger-pf B *", "name": "Usinas Sider Minas Ger-pf B *" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Petrobras-pref Pop *", "name": "Petrobras-pref Pop *" }, { "data":{"cap":"€22,333,000","sec": "No","$area": 22333066,"$color":"#152D3C"}, "id": "Wetzel Sa", "name": "Wetzel Sa" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#15285B"}, "id": "Electro Aco Altona Sa *", "name": "Electro Aco Altona Sa *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#1A2E49"}, "id": "Vale Sa-pref A Pop *", "name": "Vale Sa-pref A Pop *" }, { "data":{"cap":"€6,292,339,000","sec": "No","$area": 6292338688,"$color":"#1C2A4B"}, "id": "Usinas Sider Minas Ger-pf A *", "name": "Usinas Sider Minas Ger-pf A *" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Petrobras-pref Pop *", "name": "Petrobras-pref Pop *" }, { "data":{"cap":"€116,300,000","sec": "No","$area": 116300120,"$color":"#1E2C5E"}, "id": "Metisa Metalurgica Timb-pref", "name": "Metisa Metalurgica Timb-pref" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#1B2C64"}, "id": "Centennial Asset Part Minas *", "name": "Centennial Asset Part Minas *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#17285C"}, "id": "Vale Sa-pref A Pop *", "name": "Vale Sa-pref A Pop *" }, { "data":{"cap":"€6,270,196,000","sec": "No","$area": 6270196224,"$color":"#1C3144"}, "id": "Usinas Siderurgicas De Minas", "name": "Usinas Siderurgicas De Minas" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Petrobras-pref Pop *", "name": "Petrobras-pref Pop *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#153251"}, "id": "Metisa Metalurgica Timboense *", "name": "Metisa Metalurgica Timboense *" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Cia Siderurgica Nacional-pop *", "name": "Cia Siderurgica Nacional-pop *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#1B2A5B"}, "id": "Vale Sa-pref A Pop *", "name": "Vale Sa-pref A Pop *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#1D304F"}, "id": "Tupy Sa-pref *", "name": "Tupy Sa-pref *" }, { "data":{"cap":"€144,020,816,000","sec": "Yes","$area": 144020815872,"$color":"#009900"}, "id": "Petrobras-pref Pop *", "name": "Petrobras-pref Pop *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#18305D"}, "id": "Mmx Mineracao E Metalicos Sa *", "name": "Mmx Mineracao E Metalicos Sa *" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Cia Siderurgica Nacional-pop *", "name": "Cia Siderurgica Nacional-pop *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#1C295E"}, "id": "Vale Sa-pref A Pop *", "name": "Vale Sa-pref A Pop *" }, { "data":{"cap":"€680,033,000","sec": "No","$area": 680032576,"$color":"#17325B"}, "id": "Tupy Sa", "name": "Tupy Sa" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Petrobras-pref Pop *", "name": "Petrobras-pref Pop *" }, { "data":{"cap":"€1,930,172,000","sec": "No","$area": 1930172288,"$color":"#18295B"}, "id": "Mmx Mineracao E Metalicos Sa", "name": "Mmx Mineracao E Metalicos Sa" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Cia Siderurgica Nacional-pop *", "name": "Cia Siderurgica Nacional-pop *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#15303E"}, "id": "Vale Sa-pref A Pop *", "name": "Vale Sa-pref A Pop *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#182F61"}, "id": "Refinaria De Pet Mang-receip *", "name": "Refinaria De Pet Mang-receip *" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Petrobras-pref Pop *", "name": "Petrobras-pref Pop *" }, { "data":{"cap":"€93,201,000","sec": "No","$area": 93200920,"$color":"#1D3062"}, "id": "Mangels Industrial Sa-pref", "name": "Mangels Industrial Sa-pref" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Cia Siderurgica Nacional-pop *", "name": "Cia Siderurgica Nacional-pop *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#17294C"}, "id": "Vale Sa-pref A Pop *", "name": "Vale Sa-pref A Pop *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#182F3C"}, "id": "Refinaria De Pet Mang-receip *", "name": "Refinaria De Pet Mang-receip *" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Petrobras-pref Pop *", "name": "Petrobras-pref Pop *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#1C3033"}, "id": "Mangels Industrial Sa *", "name": "Mangels Industrial Sa *" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Cia Siderurgica Nacional-pop *", "name": "Cia Siderurgica Nacional-pop *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#142A37"}, "id": "Vale Sa-pref A Pop *", "name": "Vale Sa-pref A Pop *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#182E64"}, "id": "Refinaria De Petroleos-pref *", "name": "Refinaria De Petroleos-pref *" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Petrobras-pref Pop *", "name": "Petrobras-pref Pop *" }, { "data":{"cap":"€90,552,000","sec": "No","$area": 90552288,"$color":"#1D2C32"}, "id": "Lupatech Sa", "name": "Lupatech Sa" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Cia Siderurgica Nacional-pop *", "name": "Cia Siderurgica Nacional-pop *" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Vale Sa-Pref A *", "name": "Vale Sa-Pref A *" }, { "data":{"cap":"€498,459,000","sec": "No","$area": 498459168,"$color":"#192F50"}, "id": "Refinaria De Petroleos Mangu", "name": "Refinaria De Petroleos Mangu" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Petrobras-pref Pop *", "name": "Petrobras-pref Pop *" }, { "data":{"cap":"€1,108,136,000","sec": "No","$area": 1108136320,"$color":"#182E48"}, "id": "Hrt Participacoes Em Petrole", "name": "Hrt Participacoes Em Petrole" }, { "data":{"cap":"€10,689,239,000","sec": "Yes","$area": 10689239040,"$color":"#009900"}, "id": "Cia Siderurgica Nacional Sa", "name": "Cia Siderurgica Nacional Sa" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Vale Sa *", "name": "Vale Sa *" }, { "data":{"cap":"€1,742,417,000","sec": "No","$area": 1742417408,"$color":"#1A2A5B"}, "id": "Qgep Participacoes Sa", "name": "Qgep Participacoes Sa" }, { "data":{"cap":"","sec": "Yes","$area": 1,"$color":"#009900"}, "id": "Petrobras - Petroleo Bras-Pr *", "name": "Petrobras - Petroleo Bras-Pr *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#162D3E"}, "id": "Metalurgica Gerdau Sa-pref *", "name": "Metalurgica Gerdau Sa-pref *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#1C3053"}, "id": "Confab Industrial S.A.-pref *", "name": "Confab Industrial S.A.-pref *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#192A53"}, "id": "Ypf Sociedad Anonima *", "name": "Ypf Sociedad Anonima *" }, { "data":{"cap":"","sec": "No","$area": 1,"$color":"#1B2E64"}, "id": "Usiminas-pref A Pop *", "name": "Usiminas-pref A Pop *" }, { "data":{"cap":"€443,516,000","sec": "No","$area": 443515936,"$color":"#1A2F3C"}, "id": "Paranapanema S.A.", "name": "Paranapanema S.A." }, { "data":{"cap":"€144,020,816,000","sec": "Yes","$area": 144020815872,"$color":"#009900"}, "id": "Petrobras - Petroleo Bras", "name": "Petrobras - Petroleo Bras" }, { "data":{"cap":"€3,615,953,000","sec": "No","$area": 3615952640,"$color":"#1E2C39"}, "id": "Metalurgica Gerdau Sa", "name": "Metalurgica Gerdau Sa" }, { "data":{"cap":"€1,024,221,000","sec": "No","$area": 1024221312,"$color":"#1E2A42"}, "id": "Confab Industrial S.A.", "name": "Confab Industrial S.A." } ] }; //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(); }); }