OXIESEC PANEL
- Current Dir:
/
/
home
/
cubot
/
docroot
/
showcase
/
js
/
jpolite
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
12/31/2022 06:53:36 AM
rwxr-xr-x
📄
exportGraphAsImage.js
9.11 KB
08/14/2022 11:05:24 AM
rw-r--r--
📄
graph.drill.js
194 bytes
08/14/2022 11:05:23 AM
rw-r--r--
📄
jpolite.core.js
15.75 KB
08/14/2022 11:05:23 AM
rw-r--r--
📄
jpolite.ext.js
115.09 KB
08/14/2022 11:05:23 AM
rw-r--r--
📄
jpolite.ext.js_09jan18
105.94 KB
08/14/2022 11:05:23 AM
rw-r--r--
📄
jpolite.ext.js_14Dec2019
110.24 KB
08/14/2022 11:05:23 AM
rw-r--r--
📄
jpolite.ext.js_27.22.17
105.91 KB
08/14/2022 11:05:23 AM
rw-r--r--
📄
jpoliteAll.js
188.35 KB
08/14/2022 11:05:23 AM
rw-r--r--
📄
jqModal-1.4.0.js
10.86 KB
08/14/2022 11:05:22 AM
rw-r--r--
📄
jqModal.js
3.37 KB
08/14/2022 11:05:23 AM
rw-r--r--
📄
json.js
23.93 KB
08/14/2022 11:05:23 AM
rw-r--r--
📄
s.log
6.61 KB
08/14/2022 11:05:23 AM
rw-r--r--
Editing: jpoliteAll.js
Close
var multiDash="",reqState=-1,dashIdCache=-1,pageIdCache=-1;function dashCollection(a){this.dashObj=a;this.defaultDashboard=-1;this.defaultPage=-1;this.isShared=-1;this.setDefaultDash=setDefaultDash;this.setDefaultPage=setDefaultPage;this.setReportDashLink=setReportDashLink;this.setReportDisplayType=setReportDisplayType;this.setReportPosition=setReportPosition;this.setReportDisplayOptions=setReportDisplayOptions;this.setReportId=setReportId;this.setPageLayout=setPageLayout;this.getDashboards=getDashboards;this.getCurrentPages=getCurrentPages;this.getDashboardPages=getDashboardPages;this.getAllReports=getAllReports;this.getReportLayout=getReportLayout;this.getReportDashLink=getReportDashLink;this.getReportIdById=getReportIdById;this.getReportDisplayOptions=getReportDisplayOptions;this.getSelectedDashId=getSelectedDashId;this.getSelectedPageId=getSelectedPageId;this.getPageLayout=getPageLayout;this.getDashNameById=getDashNameById;this.getPageNameById=getPageNameById;this.getPageById=getPageById;this.adddashboard=adddashboard;this.addPage2dashboard=addPage2dashboard;this.addReport2Page=addReport2Page;this.removeDashboard=removeDashboard;this.removePageFromDashboard=removePageFromDashboard;this.removeReportFromPage=removeReportFromPage;this.removeReportDashLinkByPage=removeReportDashLinkByPage;this.removeReportDashLinkByDash=removeReportDashLinkByDash;this.renameDashboard=renameDashboard;this.renamePage=renamePage}function setDefaultDash(b){for(var a=0;a<this.dashObj.length;a++){if(this.dashObj[a].id==b){this.defaultDashboard=a;break}}}function setDefaultPage(a){for(var b=0;b<this.dashObj[this.defaultDashboard].pages.length;b++){if(this.dashObj[this.defaultDashboard].pages[b].id==a){this.defaultPage=b;break}}}function setReportDashLink(e,a,c){var b=this.dashObj[this.defaultDashboard].pages[this.defaultPage].reports;for(var d=0;b&&d<b.length;d++){if(b[d].id==e){b[d].ReportOptions.linkToDashboardPage.Dashboard=a;b[d].ReportOptions.linkToDashboardPage.PageId=c;if(this.isShared!=1){savePages(getSelectedDashId(),getSelectedPageId())}break}}}function setReportDisplayType(d,c){var a=this.dashObj[this.defaultDashboard].pages[this.defaultPage].reports;for(var b=0;a&&b<a.length;b++){if(a[b].id==d){a[b].DisplayType=c;if(this.isShared!=1){savePages(getSelectedDashId(),getSelectedPageId())}break}}}function setReportId(d,c){var a=this.dashObj[this.defaultDashboard].pages[this.defaultPage].reports;for(var b=0;a&&b<a.length;b++){if(a[b].id==d){a[b].ReportId=c;if(this.isShared!=1){savePages(getSelectedDashId(),getSelectedPageId())}break}}}function setReportPosition(d,c){var a=this.dashObj[this.defaultDashboard].pages[this.defaultPage].reports;for(var b=0;a&&b<a.length;b++){if(a[b].id==d){a[b].Position=c;break}}}function setReportDisplayOptions(d,c){var a=this.dashObj[this.defaultDashboard].pages[this.defaultPage].reports;for(var b=0;a&&b<a.length;b++){if(a[b].id==d){a[b].DisplayOptions=c;if(this.isShared!=1){savePages(getSelectedDashId(),getSelectedPageId())}break}}}function setPageLayout(a,c){for(var b=0;b<this.dashObj[this.defaultDashboard].pages.length;b++){if(this.dashObj[this.defaultDashboard].pages[b].id==a){this.dashObj[this.defaultDashboard].pages[b].layout=c;if(this.isShared!=1){savePages(getSelectedDashId(),getSelectedPageId())}break}}}function getPageLayout(){return this.dashObj[this.defaultDashboard].pages[this.defaultPage].layout}function getDashboards(){var b=new Array();for(var a=0;a<this.dashObj.length;a++){b.push(this.dashObj[a].id+":"+this.dashObj[a].name+":"+this.dashObj[a].Owner.id)}return b}function getCurrentPages(){var c=new Array();var a=this.dashObj[this.defaultDashboard].pages;for(var b=0;b<a.length;b++){c.push(a[b].id+":"+a[b].name+":"+a[b].layout)}return c}function getDashboardPages(d){var c=new Array(),b=0;var a="";for(b=0;b<this.dashObj.length;b++){if(this.dashObj[b].id==d){a=this.dashObj[b].pages;break}}for(var b=0;b<a.length;b++){c.push(a[b].id+":"+a[b].name+":"+a[b].layout)}return c}function getAllReports(){var d=new Array();var a=this.dashObj[this.defaultDashboard].pages;for(var c=0;c<a.length;c++){for(var b=0;a[c].reports&&b<a[c].reports.length;b++){d.push(a[c].reports[b].id+"@"+a[c].reports[b].ReportId+":"+a[c].reports[b].DisplayType)}}return d}function getReportLayout(){var e=new Array();var a=this.dashObj[this.defaultDashboard].pages;var d="";for(var c=0;c<a.length;c++){d=a[c].id+"@";for(var b=0;a[c].reports&&b<a[c].reports.length;b++){if(b>0){d+=","}d+=a[c].reports[b].id+":"+a[c].reports[b].Position;if(a[c].reports[b].ReportId.indexOf(".htm")>-1){d+="::B"}}e.push(d)}return e}function getReportDashLink(d){var b=this.dashObj[this.defaultDashboard].pages[this.defaultPage].reports;var a=new Array();for(var c=0;b&&c<b.length;c++){if(b[c].id==d&&typeof b[c].ReportOptions.linkToDashboardPage.Dashboard!="undefined"){a.push(b[c].ReportOptions.linkToDashboardPage.Dashboard);a.push(b[c].ReportOptions.linkToDashboardPage.PageId);return a}}return""}function getReportIdById(d){var b=this.dashObj[this.defaultDashboard].pages[this.defaultPage].reports;for(var c=0;b&&c<b.length;c++){var a=new Array();if(b[c].id==d){return b[c].ReportId}}return""}function getReportDisplayOptions(c){var a=this.dashObj[this.defaultDashboard].pages[this.defaultPage].reports;for(var b=0;a&&b<a.length;b++){if(a[b].id==c){return a[b].DisplayOptions}}return{}}function getSelectedDashId(){if(multiDash.dashObj[multiDash.defaultDashboard]){return multiDash.dashObj[multiDash.defaultDashboard].id}else{return -1}}function getSelectedPageId(){if(multiDash.dashObj[multiDash.defaultDashboard].pages[multiDash.defaultPage]){return multiDash.dashObj[multiDash.defaultDashboard].pages[multiDash.defaultPage].id}else{return -1}}function getDashNameById(b){for(var a=0;a<this.dashObj.length;a++){if(this.dashObj[a].id==b){return this.dashObj[a].name}}return""}function getPageById(a){for(var c=0;c<this.dashObj.length;c++){for(var b=0;b<this.dashObj[c].pages.length;b++){if(this.dashObj[c].pages[b].id==a){return this.dashObj[c].pages[b]}}}return""}function getPageNameById(a){for(var c=0;c<this.dashObj.length;c++){for(var b=0;b<this.dashObj[c].pages.length;b++){if(this.dashObj[c].pages[b].id==a){return this.dashObj[c].pages[b].name}}}return""}function adddashboard(dashId,dashName,ownerId,ownerName){var dash=eval('({ "id":'+dashId+', "name": "'+dashName+'", "Owner": { "id" : "'+ownerId+'", "Name": "'+ownerName+'" },"Options": "","pages": []})');this.dashObj.push(dash);saveDashboardsWithoutPages(dashId)}function addPage2dashboard(pageId,pageName){var page=eval('({ "id": "'+pageId+'", "name": "'+pageName+'", "layout": "L_2_0", "Options": { } , "reports": []})');this.dashObj[this.defaultDashboard].pages.push(page);saveOneDashboard(getSelectedDashId())}function addReport2Page(id,ReportId,DisplayType,Position,reportPosition){var report=eval('({ "id":'+id+', "ReportId": "'+ReportId+'", "DisplayType": "'+DisplayType+'", "Position": "'+Position+'", "ReportOptions": { "linkToDashboardPage": { } } , "DisplayOptions": { } })');var reports=this.dashObj[this.defaultDashboard].pages[this.defaultPage].reports;if(reportPosition>-1&&reports){reports.splice(reportPosition,0,report);for(var i=0;i<reports.length;i++){if(i%2){reports[i].Position="c2"}else{reports[i].Position="c1"}}}else{reports.push(report)}savePages(getSelectedDashId(),getSelectedPageId())}function removeDashboard(c){var b=false;if(this.dashObj[this.defaultDashboard].id==c){b=true}for(var a=0;a<this.dashObj.length;a++){if(this.dashObj[a].id==c){removeDashboardFromDB(c);this.dashObj.splice(a,1);this.removeReportDashLinkByDash(c);saveDashboardCollection();break}}if(b){if(this.dashObj.length>0){this.defaultDashboard=0;this.defaultPage=0}clearGraphs();initDashboard(0)}else{if(this.defaultDashboard>=a){this.defaultDashboard--}}}function removePageFromDashboard(a){for(var b=0;b<this.dashObj[this.defaultDashboard].pages.length;b++){if(this.dashObj[this.defaultDashboard].pages[b].id==a){deletePagesFromDB(getSelectedDashId(),a);this.dashObj[this.defaultDashboard].pages.splice(b,1);this.removeReportDashLinkByPage(a);saveDashboard(getSelectedDashId());saveDashPage(getSelectedDashId());break}}}function removeReportFromPage(c){var a=this.dashObj[this.defaultDashboard].pages[this.defaultPage].reports;for(var b=0;a&&b<a.length;b++){if(a[b].id==c){a.splice(b,1);savePages(getSelectedDashId(),getSelectedPageId());break}}}function removeReportDashLinkByPage(c){var d=0,b=0,a=0;for(d=0;d<this.dashObj.length;d++){for(b=0;b<this.dashObj[d].pages.length;b++){for(a=0;a<this.dashObj[d].pages[b].reports&&a<this.dashObj[d].pages[b].reports.length;a++){if(this.dashObj[d].pages[b].reports[a].ReportOptions.linkToDashboardPage.PageId==c){this.dashObj[d].pages[b].reports[a].ReportOptions.linkToDashboardPage.PageId="";this.dashObj[d].pages[b].reports[a].ReportOptions.linkToDashboardPage.Dashboard=""}}}}}function removeReportDashLinkByDash(a){var d=0,c=0,b=0;for(d=0;d<this.dashObj.length;d++){for(c=0;c<this.dashObj[d].pages.length;c++){for(b=0;b<this.dashObj[d].pages[c].reports&&b<this.dashObj[d].pages[c].reports.length;b++){if(this.dashObj[d].pages[c].reports[b].ReportOptions.linkToDashboardPage.Dashboard==a){this.dashObj[d].pages[c].reports[b].ReportOptions.linkToDashboardPage.PageId="";this.dashObj[d].pages[c].reports[b].ReportOptions.linkToDashboardPage.Dashboard=""}}}}}function renameDashboard(c,a){for(var b=0;b<this.dashObj.length;b++){if(this.dashObj[b].id==c){this.dashObj[b].name=a;saveDashboard(c);break}}}function renamePage(d,a){for(var c=0;c<this.dashObj[this.defaultDashboard].pages.length;c++){if(this.dashObj[this.defaultDashboard].pages[c].id==d){if(!this.dashObj[this.defaultDashboard].pages[c].layout){var b=getContent("Page",d);this.dashObj[this.defaultDashboard].pages[c]=$.evalJSON(b)}this.dashObj[this.defaultDashboard].pages[c].name=a;if(this.isShared!=1){saveDashboard(getSelectedDashId());savePages(getSelectedDashId(),d)}break}}return true}function print(){alert($.toJSON(multiDash))}function copyToPersonalSpace(){var e=new Array(),f=new Array();var d="",c=0;for(c=0;c<multiDash.dashObj.length;c++){if(multiDash.defaultDashboard!=c){continue}multiDash.dashObj[c].id=getNextSequenceId();f.push(multiDash.dashObj[c].id);multiDash.dashObj[c].Owner.id=userId;multiDash.dashObj[c].Owner.Name=userName;for(var b=0;b<multiDash.dashObj[c].pages.length;b++){multiDash.dashObj[c].pages[b].id=getNextSequenceId();for(var a=0;a<multiDash.dashObj[c].pages[b].reports.length;a++){multiDash.dashObj[c].pages[b].reports[a].id=getNextSequenceId();multiDash.dashObj[c].pages[b].reports[a].ReportOptions.linkToDashboardPage.Dashboard="";multiDash.dashObj[c].pages[b].reports[a].ReportOptions.linkToDashboardPage.PageId=""}}break}if(f.length<1){return}d=getPersonalDashboardJson();saveOneDashboard(f[0]);if(d.length>0){for(c=0;c<d.length;c++){e.push(d[c].id)}e=e.concat(f);saveContent("DashboardCollection",0,e.join(":"))}else{saveContent("DashboardCollection",0,f[0])}reqState=0;clearGraphs();initDashboard(0);if(multiDash&&multiDash.dashObj.length>0){multiDash.setDefaultDash(f[0])}}function saveDashboardCollection(){var a=new Array();for(i=0;i<multiDash.dashObj.length;i++){a.push(multiDash.dashObj[i].id)}if(a.length>0){saveContent("DashboardCollection",0,a.join(":"))}else{removeContent("DashboardCollection",0)}}function saveDashboard(b){for(i=0;i<multiDash.dashObj.length;i++){if((b>0)&&(b!=multiDash.dashObj[i].id)){continue}var a=jQuery.extend(true,{},multiDash.dashObj[i]);for(j=0;j<multiDash.dashObj[i].pages.length;j++){a.pages[j]={id:multiDash.dashObj[i].pages[j].id,name:multiDash.dashObj[i].pages[j].name}}saveContent("Dashboard",a.id,$.toJSON(a))}}function saveDashPage(b){var a=new Array();for(i=0;i<multiDash.dashObj.length;i++){if((b>0)&&(b!=multiDash.dashObj[i].id)){continue}a.splice(0,a.length);for(j=0;j<multiDash.dashObj[i].pages.length;j++){a.push(multiDash.dashObj[i].pages[j].id)}if(a.length>0){saveContent("DashPage",multiDash.dashObj[i].id,a.join(":"))}else{removeContent("DashPage",b)}}}function savePages(b,a){for(i=0;i<multiDash.dashObj.length;i++){if((b>0)&&(b!=multiDash.dashObj[i].id)){continue}for(j=0;j<multiDash.dashObj[i].pages.length;j++){if((a>0)&&(a!=multiDash.dashObj[i].pages[j].id)){continue}if(multiDash.dashObj[i].pages[j].layout){saveContent("Page",multiDash.dashObj[i].pages[j].id,$.toJSON(multiDash.dashObj[i].pages[j]))}}}}function saveCompleteDashboards(){saveDashboardCollection();saveDashboard(-1);saveDashPage(-1);savePages(-1,-1)}function saveOneDashboard(a){saveDashboard(a);saveDashPage(a);savePages(a,-1)}function saveDashboardsWithoutPages(a){saveDashboardCollection();saveDashboard(a);saveDashPage(a)}function deletePagesFromDB(b,a){for(i=0;i<multiDash.dashObj.length;i++){if((b>0)&&(b!=multiDash.dashObj[i].id)){continue}for(j=0;j<multiDash.dashObj[i].pages.length;j++){if((a>0)&&(a!=multiDash.dashObj[i].pages[j].id)){continue}removeContent("Page",multiDash.dashObj[i].pages[j].id);shareObject(sessionid,multiDash.dashObj[i].pages[j].id,"P","Users=All;Groups=All","Remove")}}}function removeDashboardFromDB(b){for(var a=0;a<multiDash.dashObj.length;a++){if((b>0)&&(b!=multiDash.dashObj[a].id)){continue}removeContent("DashPage",multiDash.dashObj[a].id);removeContent("Dashboard",multiDash.dashObj[a].id);shareObject(sessionid,multiDash.dashObj[a].id,"D","Users=All;Groups=All","Remove")}deletePagesFromDB(b,-1)}function getDashboardJSON(){if(multiDash&&multiDash.dashObj.length>0&&reqState!=-1&&multiDash.isShared==reqState){return}if(typeof reqState=="undefined"||reqState==-1){json=getPersonalDashboardJson();if(json.length<1){json=getSharedDashboardJson();if(json.length>0){reqState=1}}else{reqState=0}}else{if(reqState==0){json=getPersonalDashboardJson();if(json=="ERROR"){return}}else{if(reqState==1){json=getSharedDashboardJson();if(json.length<1){alert(getlabel("No Shared content found for the user."));return}}}}if(json.length<1){json=$.evalJSON('[{"id":'+getNextSequenceId()+',"name":"Dashboard1","Owner":{"id":"'+userId+'","Name":"'+userName+'"},"Options":{},"pages":[]}]')}if(multiDash){multiDash.dashObj=json;multiDash.isShared=reqState}else{multiDash=new dashCollection(json);if(dashIdCache>0){multiDash.setDefaultDash(dashIdCache)}else{multiDash.defaultDashboard=0}if(pageIdCache>0){multiDash.setDefaultPage(pageIdCache)}else{multiDash.defaultPage=0}multiDash.isShared=reqState}if(multiDash.dashObj.length<multiDash.defaultDashboard){multiDash.defaultDashboard=0}if(multiDash.dashObj[multiDash.defaultDashboard].pages.length<1){multiDash.addPage2dashboard(getNextSequenceId(),"SamplePage");saveDashboardCollection()}}function getPersonalDashboardJson(){var c="";var a=getContentData(sessionid,"DashboardCollection",0);try{if(a.length>0){c=$.evalJSON(a)}}catch(b){alert(" Issue getting : "+b+"<br>JSON:"+a);c="ERROR"}return c}function getSharedDashboardJson(){var f,e,d,b="",h=-1,l=-1;var a=getSharedContent(sessionid,"P",2);var c=getSharedContent(sessionid,"D",2);var g=new Array();var m=new Array();if(c.length>0&&a.length>0){g=c.concat(a)}else{if(c.length>0){g=c.slice(0)}else{if(a.length>0){g=a.slice(0)}}}for(f=0;f<g.length;f++){b=$.evalJSON(g[f]);h=-1;for(e=0;e<m.length;e++){if(m[e].id==b[0].id){for(d=0;d<m[e].pages.length;d++){h=e;if(m[e].pages[d].id==b[0].pages[0].id){h=-2;break}}break}}if(h==-2){continue}if(h>=0){m[h].pages.push(b[0].pages[0])}else{m.push(b[0])}}return m}function executeReportDashLink(b){var a=multiDash.getReportDashLink(b);if(a.length>0&&typeof a[0]!="undefined"){multiDash.setDefaultDash(a[0]);multiDash.setDefaultPage(a[1]);clearGraphs();initDashboard()}}var _shared={};function fillShared(c,d){var b=0,a=0;for(b=0;b<c.length;b++){if(typeof _shared[c[b][0]]!="undefined"){tmpaArray=c[b][2].split(":");for(a in tmpaArray){_shared[c[b][0]].users.push(tmpaArray[a])}}else{_shared[c[b][0]]=$.evalJSON('{"users":[], "type":"'+d+'"}');tmpaArray=c[b][2].split(":");for(a in tmpaArray){_shared[c[b][0]].users.push(tmpaArray[a])}}}}function getAllSharedObjects(a){_shared={};fillShared(getSharedList(sessionid,"P",3),"P");fillShared(getSharedList(sessionid,"D",3),"D");if(a){a()}}function drillrow(c,b,a,d,f,e){}function jqplotToImage(h){var m="";var k=$(h).find("svg.svgchart");if(k.length<1){k=$(h).find("svg.mainsvg")}if(k.length>0){var o=$(k[0]).attr("height");var e=$(k[0]).attr("width");$(k[0]).find("path.domain").filter(function(){if($(this).css("stroke")=="none"){$(this).css("stroke","none").css("fill","none")}else{$(this).css("stroke-width","1px").css("fill","none")}});$(k[0]).find("line.ygridline").css("stroke","black").css("stroke-width","1px").css("opacity","0.3").css("fill","none");var d=$(k[0]).find("rect.background").css("fill");if(d){$(k[0]).find("rect.background").css("fill",d)}var n=$(k[0]).find("path.link");if(n){n.css("fill","none").css("stroke-width","1px").css("opacity","0.5")}$(k[0]).find("rect.day").filter(function(){var r=$(this).css("fill");$(this).css("fill",r).css("stroke-opacity","0.5")});$(k[0]).find("title").remove();$(k[0]).find("text").filter(function(){if($(this).css("visibility")=="hidden"){$(this).remove()}});if($(h).find("svg").length>1){var g=$(h).find("svg:last"),a=$(g).attr("height"),c=$(g).children().html(),f=$(g).children().attr("transform");var p='<g transform="'+f.split(",")[0]+","+o+')" id=expLegend>'+c+"</g>";$(k[0]).append(p);o=parseFloat(o)+parseFloat(a);$(k[0]).attr("height",o)}var q=new XMLSerializer();var l=q.serializeToString(k[0]);b(l,e,o);if($(h).find("svg").length>1){$("#expLegend").remove();$(k[0]).attr("height",o-a)}}function b(t,v,r){var u=document.createElement("canvas");u.id="canvas";var w=document.createElement("canvas");w.width=v||500;w.height=r||500;u.appendChild(w);if(typeof FlashCanvas!="undefined"){FlashCanvas.initElement(w)}canvg(w,t,{log:true,renderCallback:function(x){if(typeof FlashCanvas!="undefined"){document.getElementById("svg").innerHTML="svg not supported"}}});window.open(w.toDataURL("image/png"))}}(function(){this.canvg=function(k,n,b){if(k==null&&n==null&&b==null){var e=document.querySelectorAll("svg");for(var g=0;g<e.length;g++){var f=e[g];var l=document.createElement("canvas");l.width=f.clientWidth;l.height=f.clientHeight;f.parentNode.insertBefore(l,f);f.parentNode.removeChild(f);var d=document.createElement("div");d.appendChild(f);canvg(l,d.innerHTML)}return}if(typeof k=="string"){k=document.getElementById(k)}if(k.svg!=null){k.svg.stop()}var h=a(b||{});if(!(k.childNodes.length==1&&k.childNodes[0].nodeName=="OBJECT")){k.svg=h}var m=k.getContext("2d");if(typeof(n.documentElement)!="undefined"){h.loadXmlDoc(m,n)}else{if(n.substr(0,1)=="<"){h.loadXml(m,n)}else{h.load(m,n)}}};function a(d){var c={opts:d};c.FRAMERATE=30;c.MAX_VIRTUAL_PIXELS=30000;c.log=function(e){};if(c.opts.log==true&&typeof(console)!="undefined"){c.log=function(e){console.log(e)}}c.init=function(e){var f=0;c.UniqueId=function(){f++;return"canvg"+f};c.Definitions={};c.Styles={};c.Animations=[];c.Images=[];c.ctx=e;c.ViewPort=new (function(){this.viewPorts=[];this.Clear=function(){this.viewPorts=[]};this.SetCurrent=function(h,g){this.viewPorts.push({width:h,height:g})};this.RemoveCurrent=function(){this.viewPorts.pop()};this.Current=function(){return this.viewPorts[this.viewPorts.length-1]};this.width=function(){return this.Current().width};this.height=function(){return this.Current().height};this.ComputeSize=function(g){if(g!=null&&typeof(g)=="number"){return g}if(g=="x"){return this.width()}if(g=="y"){return this.height()}return Math.sqrt(Math.pow(this.width(),2)+Math.pow(this.height(),2))/Math.sqrt(2)}})};c.init();c.ImagesLoaded=function(){for(var e=0;e<c.Images.length;e++){if(!c.Images[e].loaded){return false}}return true};c.trim=function(e){return e.replace(/^\s+|\s+$/g,"")};c.compressSpaces=function(e){return e.replace(/[\s\r\t\n]+/gm," ")};c.ajax=function(f){var e;if(window.XMLHttpRequest){e=new XMLHttpRequest()}else{e=new ActiveXObject("Microsoft.XMLHTTP")}if(e){e.open("GET",f,false);e.send(null);return e.responseText}return null};c.parseXml=function(e){if(typeof(Windows)!="undefined"&&typeof(Windows.Data)!="undefined"&&typeof(Windows.Data.Xml)!="undefined"){var g=new Windows.Data.Xml.Dom.XmlDocument();var f=new Windows.Data.Xml.Dom.XmlLoadSettings();f.prohibitDtd=false;g.loadXml(e,f);return g}else{if(window.DOMParser){var h=new DOMParser();return h.parseFromString(e,"text/xml")}else{e=e.replace(/<!DOCTYPE svg[^>]*>/,"");var g=new ActiveXObject("Microsoft.XMLDOM");g.async="false";g.loadXML(e);return g}}};c.Property=function(e,f){this.name=e;this.value=f};c.Property.prototype.getValue=function(){return this.value};c.Property.prototype.hasValue=function(){return(this.value!=null&&this.value!=="")};c.Property.prototype.numValue=function(){if(!this.hasValue()){return 0}var e=parseFloat(this.value);if((this.value+"").match(/%$/)){e=e/100}return e};c.Property.prototype.valueOrDefault=function(e){if(this.hasValue()){return this.value}return e};c.Property.prototype.numValueOrDefault=function(e){if(this.hasValue()){return this.numValue()}return e};c.Property.prototype.addOpacity=function(g){var f=this.value;if(g.value!=null&&g.value!=""&&typeof(this.value)=="string"){var e=new RGBColor(this.value);if(e.ok){f="rgba("+e.r+", "+e.g+", "+e.b+", "+g.numValue()+")"}}return new c.Property(this.name,f)};c.Property.prototype.getDefinition=function(){var e=this.value.match(/#([^\)'"]+)/);if(e){e=e[1]}if(!e){e=this.value}return c.Definitions[e]};c.Property.prototype.isUrlDefinition=function(){return this.value.indexOf("url(")==0};c.Property.prototype.getFillStyleDefinition=function(k,h){var f=this.getDefinition();if(f!=null&&f.createGradient){return f.createGradient(c.ctx,k,h)}if(f!=null&&f.createPattern){if(f.getHrefAttribute().hasValue()){var g=f.attribute("patternTransform");f=f.getHrefAttribute().getDefinition();if(g.hasValue()){f.attribute("patternTransform",true).value=g.value}}return f.createPattern(c.ctx,k)}return null};c.Property.prototype.getDPI=function(e){return 96};c.Property.prototype.getEM=function(g){var e=12;var f=new c.Property("fontSize",c.Font.Parse(c.ctx.font).fontSize);if(f.hasValue()){e=f.toPixels(g)}return e};c.Property.prototype.getUnits=function(){var e=this.value+"";return e.replace(/[0-9\.\-]/g,"")};c.Property.prototype.toPixels=function(g,e){if(!this.hasValue()){return 0}var f=this.value+"";if(f.match(/em$/)){return this.numValue()*this.getEM(g)}if(f.match(/ex$/)){return this.numValue()*this.getEM(g)/2}if(f.match(/px$/)){return this.numValue()}if(f.match(/pt$/)){return this.numValue()*this.getDPI(g)*(1/72)}if(f.match(/pc$/)){return this.numValue()*15}if(f.match(/cm$/)){return this.numValue()*this.getDPI(g)/2.54}if(f.match(/mm$/)){return this.numValue()*this.getDPI(g)/25.4}if(f.match(/in$/)){return this.numValue()*this.getDPI(g)}if(f.match(/%$/)){return this.numValue()*c.ViewPort.ComputeSize(g)}var h=this.numValue();if(e&&h<1){return h*c.ViewPort.ComputeSize(g)}return h};c.Property.prototype.toMilliseconds=function(){if(!this.hasValue()){return 0}var e=this.value+"";if(e.match(/s$/)){return this.numValue()*1000}if(e.match(/ms$/)){return this.numValue()}return this.numValue()};c.Property.prototype.toRadians=function(){if(!this.hasValue()){return 0}var e=this.value+"";if(e.match(/deg$/)){return this.numValue()*(Math.PI/180)}if(e.match(/grad$/)){return this.numValue()*(Math.PI/200)}if(e.match(/rad$/)){return this.numValue()}return this.numValue()*(Math.PI/180)};var b={baseline:"alphabetic","before-edge":"top","text-before-edge":"top",middle:"middle",central:"middle","after-edge":"bottom","text-after-edge":"bottom",ideographic:"ideographic",alphabetic:"alphabetic",hanging:"hanging",mathematical:"alphabetic"};c.Property.prototype.toTextBaseline=function(){if(!this.hasValue()){return null}return b[this.value]};c.Font=new (function(){this.Styles="normal|italic|oblique|inherit";this.Variants="normal|small-caps|inherit";this.Weights="normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit";this.CreateFont=function(o,l,h,n,g,k){var m=k!=null?this.Parse(k):this.CreateFont("","","","","",c.ctx.font);return{fontFamily:g||m.fontFamily,fontSize:n||m.fontSize,fontStyle:o||m.fontStyle,fontWeight:h||m.fontWeight,fontVariant:l||m.fontVariant,toString:function(){return[this.fontStyle,this.fontVariant,this.fontWeight,this.fontSize,this.fontFamily].join(" ")}}};var e=this;this.Parse=function(k){var l={};var m=c.trim(c.compressSpaces(k||"")).split(" ");var n={fontSize:false,fontStyle:false,fontWeight:false,fontVariant:false};var g="";for(var h=0;h<m.length;h++){if(!n.fontStyle&&e.Styles.indexOf(m[h])!=-1){if(m[h]!="inherit"){l.fontStyle=m[h]}n.fontStyle=true}else{if(!n.fontVariant&&e.Variants.indexOf(m[h])!=-1){if(m[h]!="inherit"){l.fontVariant=m[h]}n.fontStyle=n.fontVariant=true}else{if(!n.fontWeight&&e.Weights.indexOf(m[h])!=-1){if(m[h]!="inherit"){l.fontWeight=m[h]}n.fontStyle=n.fontVariant=n.fontWeight=true}else{if(!n.fontSize){if(m[h]!="inherit"){l.fontSize=m[h].split("/")[0]}n.fontStyle=n.fontVariant=n.fontWeight=n.fontSize=true}else{if(m[h]!="inherit"){g+=m[h]}}}}}}if(g!=""){l.fontFamily=g}return l}});c.ToNumberArray=function(g){var e=c.trim(c.compressSpaces((g||"").replace(/,/g," "))).split(" ");for(var f=0;f<e.length;f++){e[f]=parseFloat(e[f])}return e};c.Point=function(e,f){this.x=e;this.y=f};c.Point.prototype.angleTo=function(e){return Math.atan2(e.y-this.y,e.x-this.x)};c.Point.prototype.applyTransform=function(e){var f=this.x*e[0]+this.y*e[2]+e[4];var g=this.x*e[1]+this.y*e[3]+e[5];this.x=f;this.y=g};c.CreatePoint=function(f){var e=c.ToNumberArray(f);return new c.Point(e[0],e[1])};c.CreatePath=function(g){var e=c.ToNumberArray(g);var h=[];for(var f=0;f<e.length;f+=2){h.push(new c.Point(e[f],e[f+1]))}return h};c.BoundingBox=function(f,h,e,g){this.x1=Number.NaN;this.y1=Number.NaN;this.x2=Number.NaN;this.y2=Number.NaN;this.x=function(){return this.x1};this.y=function(){return this.y1};this.width=function(){return this.x2-this.x1};this.height=function(){return this.y2-this.y1};this.addPoint=function(k,l){if(k!=null){if(isNaN(this.x1)||isNaN(this.x2)){this.x1=k;this.x2=k}if(k<this.x1){this.x1=k}if(k>this.x2){this.x2=k}}if(l!=null){if(isNaN(this.y1)||isNaN(this.y2)){this.y1=l;this.y2=l}if(l<this.y1){this.y1=l}if(l>this.y2){this.y2=l}}};this.addX=function(k){this.addPoint(k,null)};this.addY=function(k){this.addPoint(null,k)};this.addBoundingBox=function(k){this.addPoint(k.x1,k.y1);this.addPoint(k.x2,k.y2)};this.addQuadraticCurve=function(p,o,l,k,r,q){var n=p+2/3*(l-p);var m=o+2/3*(k-o);var u=n+1/3*(r-p);var t=m+1/3*(q-o);this.addBezierCurve(p,o,n,u,m,t,r,q)};this.addBezierCurve=function(z,y,o,m,v,r,B,A){var p=[z,y],n=[o,m],l=[v,r],k=[B,A];this.addPoint(p[0],p[1]);this.addPoint(k[0],k[1]);for(i=0;i<=1;i++){var C=function(G){return Math.pow(1-G,3)*p[i]+3*Math.pow(1-G,2)*G*n[i]+3*(1-G)*Math.pow(G,2)*l[i]+Math.pow(G,3)*k[i]};var E=6*p[i]-12*n[i]+6*l[i];var F=-3*p[i]+9*n[i]-9*l[i]+3*k[i];var D=3*n[i]-3*p[i];if(F==0){if(E==0){continue}var x=-D/E;if(0<x&&x<1){if(i==0){this.addX(C(x))}if(i==1){this.addY(C(x))}}continue}var q=Math.pow(E,2)-4*D*F;if(q<0){continue}var w=(-E+Math.sqrt(q))/(2*F);if(0<w&&w<1){if(i==0){this.addX(C(w))}if(i==1){this.addY(C(w))}}var u=(-E-Math.sqrt(q))/(2*F);if(0<u&&u<1){if(i==0){this.addX(C(u))}if(i==1){this.addY(C(u))}}}};this.isPointInBox=function(k,l){return(this.x1<=k&&k<=this.x2&&this.y1<=l&&l<=this.y2)};this.addPoint(f,h);this.addPoint(e,g)};c.Transform=function(e){var l=this;this.Type={};this.Type.translate=function(n){this.p=c.CreatePoint(n);this.apply=function(o){o.translate(this.p.x||0,this.p.y||0)};this.unapply=function(o){o.translate(-1*this.p.x||0,-1*this.p.y||0)};this.applyToPoint=function(o){o.applyTransform([1,0,0,1,this.p.x||0,this.p.y||0])}};this.Type.rotate=function(o){var n=c.ToNumberArray(o);this.angle=new c.Property("angle",n[0]);this.cx=n[1]||0;this.cy=n[2]||0;this.apply=function(p){p.translate(this.cx,this.cy);p.rotate(this.angle.toRadians());p.translate(-this.cx,-this.cy)};this.unapply=function(p){p.translate(this.cx,this.cy);p.rotate(-1*this.angle.toRadians());p.translate(-this.cx,-this.cy)};this.applyToPoint=function(r){var q=this.angle.toRadians();r.applyTransform([1,0,0,1,this.p.x||0,this.p.y||0]);r.applyTransform([Math.cos(q),Math.sin(q),-Math.sin(q),Math.cos(q),0,0]);r.applyTransform([1,0,0,1,-this.p.x||0,-this.p.y||0])}};this.Type.scale=function(n){this.p=c.CreatePoint(n);this.apply=function(o){o.scale(this.p.x||1,this.p.y||this.p.x||1)};this.unapply=function(o){o.scale(1/this.p.x||1,1/this.p.y||this.p.x||1)};this.applyToPoint=function(o){o.applyTransform([this.p.x||0,0,0,this.p.y||0,0,0])}};this.Type.matrix=function(n){this.m=c.ToNumberArray(n);this.apply=function(o){o.transform(this.m[0],this.m[1],this.m[2],this.m[3],this.m[4],this.m[5])};this.unapply=function(z){var y=this.m[0];var x=this.m[2];var w=this.m[4];var v=this.m[1];var u=this.m[3];var t=this.m[5];var q=0;var p=0;var o=1;var r=1/(y*(u*o-t*p)-x*(v*o-t*q)+w*(v*p-u*q));z.transform(r*(u*o-t*p),r*(t*q-v*o),r*(w*p-x*o),r*(y*o-w*q),r*(x*t-w*u),r*(w*v-y*t))};this.applyToPoint=function(o){o.applyTransform(this.m)}};this.Type.SkewBase=function(n){this.base=l.Type.matrix;this.base(n);this.angle=new c.Property("angle",n)};this.Type.SkewBase.prototype=new this.Type.matrix;this.Type.skewX=function(n){this.base=l.Type.SkewBase;this.base(n);this.m=[1,0,Math.tan(this.angle.toRadians()),1,0,0]};this.Type.skewX.prototype=new this.Type.SkewBase;this.Type.skewY=function(n){this.base=l.Type.SkewBase;this.base(n);this.m=[1,Math.tan(this.angle.toRadians()),0,1,0,0]};this.Type.skewY.prototype=new this.Type.SkewBase;this.transforms=[];this.apply=function(n){for(var o=0;o<this.transforms.length;o++){this.transforms[o].apply(n)}};this.unapply=function(n){for(var o=this.transforms.length-1;o>=0;o--){this.transforms[o].unapply(n)}};this.applyToPoint=function(o){for(var n=0;n<this.transforms.length;n++){this.transforms[n].applyToPoint(o)}};var m=c.trim(c.compressSpaces(e)).replace(/\)([a-zA-Z])/g,") $1").replace(/\)(\s?,\s?)/g,") ").split(/\s(?=[a-z])/);for(var g=0;g<m.length;g++){var k=c.trim(m[g].split("(")[0]);var h=m[g].split("(")[1].replace(")","");var f=new this.Type[k](h);f.type=k;this.transforms.push(f)}};c.AspectRatio=function(w,u,f,n,v,e,k,h,t,r){u=c.compressSpaces(u);u=u.replace(/^defer\s/,"");var m=u.split(" ")[0]||"xMidYMid";var g=u.split(" ")[1]||"meet";var q=f/n;var p=v/e;var l=Math.min(q,p);var o=Math.max(q,p);if(g=="meet"){n*=l;e*=l}if(g=="slice"){n*=o;e*=o}t=new c.Property("refX",t);r=new c.Property("refY",r);if(t.hasValue()&&r.hasValue()){w.translate(-l*t.toPixels("x"),-l*r.toPixels("y"))}else{if(m.match(/^xMid/)&&((g=="meet"&&l==p)||(g=="slice"&&o==p))){w.translate(f/2-n/2,0)}if(m.match(/YMid$/)&&((g=="meet"&&l==q)||(g=="slice"&&o==q))){w.translate(0,v/2-e/2)}if(m.match(/^xMax/)&&((g=="meet"&&l==p)||(g=="slice"&&o==p))){w.translate(f-n,0)}if(m.match(/YMax$/)&&((g=="meet"&&l==q)||(g=="slice"&&o==q))){w.translate(0,v-e)}}if(m=="none"){w.scale(q,p)}else{if(g=="meet"){w.scale(l,l)}else{if(g=="slice"){w.scale(o,o)}}}w.translate(k==null?0:-k,h==null?0:-h)};c.Element={};c.EmptyProperty=new c.Property("EMPTY","");c.Element.ElementBase=function(k){this.attributes={};this.styles={};this.children=[];this.attribute=function(t,u){var r=this.attributes[t];if(r!=null){return r}if(u==true){r=new c.Property(t,"");this.attributes[t]=r}return r||c.EmptyProperty};this.getHrefAttribute=function(){for(var r in this.attributes){if(r.match(/:href$/)){return this.attributes[r]}}return c.EmptyProperty};this.style=function(u,y,r){var v=this.styles[u];if(v!=null){return v}var t=this.attribute(u);if(t!=null&&t.hasValue()){this.styles[u]=t;return t}if(r!=true){var w=this.parent;if(w!=null){var x=w.style(u);if(x!=null&&x.hasValue()){return x}}}if(y==true){v=new c.Property(u,"");this.styles[u]=v}return v||c.EmptyProperty};this.render=function(t){if(this.style("display").value=="none"){return}if(this.style("visibility").value=="hidden"){return}t.save();if(this.attribute("mask").hasValue()){var r=this.attribute("mask").getDefinition();if(r!=null){r.apply(t,this)}}else{if(this.style("filter").hasValue()){var u=this.style("filter").getDefinition();if(u!=null){u.apply(t,this)}}else{this.setContext(t);this.renderChildren(t);this.clearContext(t)}}t.restore()};this.setContext=function(r){};this.clearContext=function(r){};this.renderChildren=function(r){for(var t=0;t<this.children.length;t++){this.children[t].render(r)}};this.addChild=function(t,r){var u=t;if(r){u=c.CreateElement(t)}u.parent=this;if(u.type!="title"){this.children.push(u)}};if(k!=null&&k.nodeType==1){for(var n=0;n<k.attributes.length;n++){var h=k.attributes[n];this.attributes[h.nodeName]=new c.Property(h.nodeName,h.nodeValue)}var q=c.Styles[k.nodeName];if(q!=null){for(var g in q){this.styles[g]=q[g]}}if(this.attribute("class").hasValue()){var l=c.compressSpaces(this.attribute("class").value).split(" ");for(var m=0;m<l.length;m++){q=c.Styles["."+l[m]];if(q!=null){for(var g in q){this.styles[g]=q[g]}}q=c.Styles[k.nodeName+"."+l[m]];if(q!=null){for(var g in q){this.styles[g]=q[g]}}}}if(this.attribute("id").hasValue()){var q=c.Styles["#"+this.attribute("id").value];if(q!=null){for(var g in q){this.styles[g]=q[g]}}}if(this.attribute("style").hasValue()){var q=this.attribute("style").value.split(";");for(var n=0;n<q.length;n++){if(c.trim(q[n])!=""){var f=q[n].split(":");var g=c.trim(f[0]);var o=c.trim(f[1]);this.styles[g]=new c.Property(g,o)}}}if(this.attribute("id").hasValue()){if(c.Definitions[this.attribute("id").value]==null){c.Definitions[this.attribute("id").value]=this}}for(var n=0;n<k.childNodes.length;n++){var e=k.childNodes[n];if(e.nodeType==1){this.addChild(e,true)}if(this.captureTextNodes&&(e.nodeType==3||e.nodeType==4)){var p=e.nodeValue||e.text||"";if(c.trim(c.compressSpaces(p))!=""){this.addChild(new c.Element.tspan(e),false)}}}}};c.Element.RenderedElementBase=function(e){this.base=c.Element.ElementBase;this.base(e);this.setContext=function(p){if(this.style("fill").isUrlDefinition()){var m=this.style("fill").getFillStyleDefinition(this,this.style("fill-opacity"));if(m!=null){p.fillStyle=m}}else{if(this.style("fill").hasValue()){var o=this.style("fill");if(o.value=="currentColor"){o.value=this.style("color").value}if(o.value!="inherit"){p.fillStyle=(o.value=="none"?"rgba(0,0,0,0)":o.value)}}}if(this.style("fill-opacity").hasValue()){var o=new c.Property("fill",p.fillStyle);o=o.addOpacity(this.style("fill-opacity"));p.fillStyle=o.value}if(this.style("stroke").isUrlDefinition()){var m=this.style("stroke").getFillStyleDefinition(this,this.style("stroke-opacity"));if(m!=null){p.strokeStyle=m}}else{if(this.style("stroke").hasValue()){var n=this.style("stroke");if(n.value=="currentColor"){n.value=this.style("color").value}if(n.value!="inherit"){p.strokeStyle=(n.value=="none"?"rgba(0,0,0,0)":n.value)}}}if(this.style("stroke-opacity").hasValue()){var n=new c.Property("stroke",p.strokeStyle);n=n.addOpacity(this.style("stroke-opacity"));p.strokeStyle=n.value}if(this.style("stroke-width").hasValue()){var l=this.style("stroke-width").toPixels();p.lineWidth=l==0?0.001:l}if(this.style("stroke-linecap").hasValue()){p.lineCap=this.style("stroke-linecap").value}if(this.style("stroke-linejoin").hasValue()){p.lineJoin=this.style("stroke-linejoin").value}if(this.style("stroke-miterlimit").hasValue()){p.miterLimit=this.style("stroke-miterlimit").value}if(this.style("stroke-dasharray").hasValue()&&this.style("stroke-dasharray").value!="none"){var h=c.ToNumberArray(this.style("stroke-dasharray").value);if(typeof(p.setLineDash)!="undefined"){p.setLineDash(h)}else{if(typeof(p.webkitLineDash)!="undefined"){p.webkitLineDash=h}else{if(typeof(p.mozDash)!="undefined"&&!(h.length==1&&h[0]==0)){p.mozDash=h}}}var k=this.style("stroke-dashoffset").numValueOrDefault(1);if(typeof(p.lineDashOffset)!="undefined"){p.lineDashOffset=k}else{if(typeof(p.webkitLineDashOffset)!="undefined"){p.webkitLineDashOffset=k}else{if(typeof(p.mozDashOffset)!="undefined"){p.mozDashOffset=k}}}}if(typeof(p.font)!="undefined"){p.font=c.Font.CreateFont(this.style("font-style").value,this.style("font-variant").value,this.style("font-weight").value,this.style("font-size").hasValue()?this.style("font-size").toPixels()+"px":"",this.style("font-family").value).toString()}if(this.attribute("transform").hasValue()){var f=new c.Transform(this.attribute("transform").value);f.apply(p)}if(this.style("clip-path",false,true).hasValue()){var g=this.style("clip-path",false,true).getDefinition();if(g!=null){g.apply(p)}}if(this.style("opacity").hasValue()){p.globalAlpha=this.style("opacity").numValue()}}};c.Element.RenderedElementBase.prototype=new c.Element.ElementBase;c.Element.PathElementBase=function(e){this.base=c.Element.RenderedElementBase;this.base(e);this.path=function(f){if(f!=null){f.beginPath()}return new c.BoundingBox()};this.renderChildren=function(g){this.path(g);c.Mouse.checkPath(this,g);if(g.fillStyle!=""){if(this.style("fill-rule").valueOrDefault("inherit")!="inherit"){g.fill(this.style("fill-rule").value)}else{g.fill()}}if(g.strokeStyle!=""){g.stroke()}var k=this.getMarkers();if(k!=null){if(this.style("marker-start").isUrlDefinition()){var f=this.style("marker-start").getDefinition();f.render(g,k[0][0],k[0][1])}if(this.style("marker-mid").isUrlDefinition()){var f=this.style("marker-mid").getDefinition();for(var h=1;h<k.length-1;h++){f.render(g,k[h][0],k[h][1])}}if(this.style("marker-end").isUrlDefinition()){var f=this.style("marker-end").getDefinition();f.render(g,k[k.length-1][0],k[k.length-1][1])}}};this.getBoundingBox=function(){return this.path()};this.getMarkers=function(){return null}};c.Element.PathElementBase.prototype=new c.Element.RenderedElementBase;c.Element.svg=function(e){this.base=c.Element.RenderedElementBase;this.base(e);this.baseClearContext=this.clearContext;this.clearContext=function(f){this.baseClearContext(f);c.ViewPort.RemoveCurrent()};this.baseSetContext=this.setContext;this.setContext=function(k){k.strokeStyle="rgba(0,0,0,0)";k.lineCap="butt";k.lineJoin="miter";k.miterLimit=4;if(typeof(k.font)!="undefined"&&typeof(window.getComputedStyle)!="undefined"){k.font=window.getComputedStyle(k.canvas).getPropertyValue("font")}this.baseSetContext(k);if(!this.attribute("x").hasValue()){this.attribute("x",true).value=0}if(!this.attribute("y").hasValue()){this.attribute("y",true).value=0}k.translate(this.attribute("x").toPixels("x"),this.attribute("y").toPixels("y"));var l=c.ViewPort.width();var h=c.ViewPort.height();if(!this.attribute("width").hasValue()){this.attribute("width",true).value="100%"}if(!this.attribute("height").hasValue()){this.attribute("height",true).value="100%"}if(typeof(this.root)=="undefined"){l=this.attribute("width").toPixels("x");h=this.attribute("height").toPixels("y");var g=0;var o=0;if(this.attribute("refX").hasValue()&&this.attribute("refY").hasValue()){g=-this.attribute("refX").toPixels("x");o=-this.attribute("refY").toPixels("y")}if(this.attribute("overflow").valueOrDefault("hidden")!="visible"){k.beginPath();k.moveTo(g,o);k.lineTo(l,o);k.lineTo(l,h);k.lineTo(g,h);k.closePath();k.clip()}}c.ViewPort.SetCurrent(l,h);if(this.attribute("viewBox").hasValue()){var m=c.ToNumberArray(this.attribute("viewBox").value);var f=m[0];var n=m[1];l=m[2];h=m[3];c.AspectRatio(k,this.attribute("preserveAspectRatio").value,c.ViewPort.width(),l,c.ViewPort.height(),h,f,n,this.attribute("refX").value,this.attribute("refY").value);c.ViewPort.RemoveCurrent();c.ViewPort.SetCurrent(m[2],m[3])}}};c.Element.svg.prototype=new c.Element.RenderedElementBase;c.Element.rect=function(e){this.base=c.Element.PathElementBase;this.base(e);this.path=function(h){var g=this.attribute("x").toPixels("x");var n=this.attribute("y").toPixels("y");var k=this.attribute("width").toPixels("x");var f=this.attribute("height").toPixels("y");var m=this.attribute("rx").toPixels("x");var l=this.attribute("ry").toPixels("y");if(this.attribute("rx").hasValue()&&!this.attribute("ry").hasValue()){l=m}if(this.attribute("ry").hasValue()&&!this.attribute("rx").hasValue()){m=l}m=Math.min(m,k/2);l=Math.min(l,f/2);if(h!=null){h.beginPath();h.moveTo(g+m,n);h.lineTo(g+k-m,n);h.quadraticCurveTo(g+k,n,g+k,n+l);h.lineTo(g+k,n+f-l);h.quadraticCurveTo(g+k,n+f,g+k-m,n+f);h.lineTo(g+m,n+f);h.quadraticCurveTo(g,n+f,g,n+f-l);h.lineTo(g,n+l);h.quadraticCurveTo(g,n,g+m,n);h.closePath()}return new c.BoundingBox(g,n,g+k,n+f)}};c.Element.rect.prototype=new c.Element.PathElementBase;c.Element.circle=function(e){this.base=c.Element.PathElementBase;this.base(e);this.path=function(g){var f=this.attribute("cx").toPixels("x");var k=this.attribute("cy").toPixels("y");var h=this.attribute("r").toPixels();if(g!=null){g.beginPath();g.arc(f,k,h,0,Math.PI*2,true);g.closePath()}return new c.BoundingBox(f-h,k-h,f+h,k+h)}};c.Element.circle.prototype=new c.Element.PathElementBase;c.Element.ellipse=function(e){this.base=c.Element.PathElementBase;this.base(e);this.path=function(g){var k=4*((Math.sqrt(2)-1)/3);var l=this.attribute("rx").toPixels("x");var h=this.attribute("ry").toPixels("y");var f=this.attribute("cx").toPixels("x");var m=this.attribute("cy").toPixels("y");if(g!=null){g.beginPath();g.moveTo(f,m-h);g.bezierCurveTo(f+(k*l),m-h,f+l,m-(k*h),f+l,m);g.bezierCurveTo(f+l,m+(k*h),f+(k*l),m+h,f,m+h);g.bezierCurveTo(f-(k*l),m+h,f-l,m+(k*h),f-l,m);g.bezierCurveTo(f-l,m-(k*h),f-(k*l),m-h,f,m-h);g.closePath()}return new c.BoundingBox(f-l,m-h,f+l,m+h)}};c.Element.ellipse.prototype=new c.Element.PathElementBase;c.Element.line=function(e){this.base=c.Element.PathElementBase;this.base(e);this.getPoints=function(){return[new c.Point(this.attribute("x1").toPixels("x"),this.attribute("y1").toPixels("y")),new c.Point(this.attribute("x2").toPixels("x"),this.attribute("y2").toPixels("y"))]};this.path=function(f){var g=this.getPoints();if(f!=null){f.beginPath();f.moveTo(g[0].x,g[0].y);f.lineTo(g[1].x,g[1].y)}return new c.BoundingBox(g[0].x,g[0].y,g[1].x,g[1].y)};this.getMarkers=function(){var g=this.getPoints();var f=g[0].angleTo(g[1]);return[[g[0],f],[g[1],f]]}};c.Element.line.prototype=new c.Element.PathElementBase;c.Element.polyline=function(e){this.base=c.Element.PathElementBase;this.base(e);this.points=c.CreatePath(this.attribute("points").value);this.path=function(f){var h=new c.BoundingBox(this.points[0].x,this.points[0].y);if(f!=null){f.beginPath();f.moveTo(this.points[0].x,this.points[0].y)}for(var g=1;g<this.points.length;g++){h.addPoint(this.points[g].x,this.points[g].y);if(f!=null){f.lineTo(this.points[g].x,this.points[g].y)}}return h};this.getMarkers=function(){var g=[];for(var f=0;f<this.points.length-1;f++){g.push([this.points[f],this.points[f].angleTo(this.points[f+1])])}g.push([this.points[this.points.length-1],g[g.length-1][1]]);return g}};c.Element.polyline.prototype=new c.Element.PathElementBase;c.Element.polygon=function(e){this.base=c.Element.polyline;this.base(e);this.basePath=this.path;this.path=function(f){var g=this.basePath(f);if(f!=null){f.lineTo(this.points[0].x,this.points[0].y);f.closePath()}return g}};c.Element.polygon.prototype=new c.Element.polyline;c.Element.path=function(e){this.base=c.Element.PathElementBase;this.base(e);var f=this.attribute("d").value;f=f.replace(/,/gm," ");f=f.replace(/([MmZzLlHhVvCcSsQqTtAa])([MmZzLlHhVvCcSsQqTtAa])/gm,"$1 $2");f=f.replace(/([MmZzLlHhVvCcSsQqTtAa])([MmZzLlHhVvCcSsQqTtAa])/gm,"$1 $2");f=f.replace(/([MmZzLlHhVvCcSsQqTtAa])([^\s])/gm,"$1 $2");f=f.replace(/([^\s])([MmZzLlHhVvCcSsQqTtAa])/gm,"$1 $2");f=f.replace(/([0-9])([+\-])/gm,"$1 $2");f=f.replace(/(\.[0-9]*)(\.)/gm,"$1 $2");f=f.replace(/([Aa](\s+[0-9]+){3})\s+([01])\s*([01])/gm,"$1 $3 $4 ");f=c.compressSpaces(f);f=c.trim(f);this.PathParser=new (function(g){this.tokens=g.split(" ");this.reset=function(){this.i=-1;this.command="";this.previousCommand="";this.start=new c.Point(0,0);this.control=new c.Point(0,0);this.current=new c.Point(0,0);this.points=[];this.angles=[]};this.isEnd=function(){return this.i>=this.tokens.length-1};this.isCommandOrEnd=function(){if(this.isEnd()){return true}return this.tokens[this.i+1].match(/^[A-Za-z]$/)!=null};this.isRelativeCommand=function(){switch(this.command){case"m":case"l":case"h":case"v":case"c":case"s":case"q":case"t":case"a":case"z":return true;break}return false};this.getToken=function(){this.i++;return this.tokens[this.i]};this.getScalar=function(){return parseFloat(this.getToken())};this.nextCommand=function(){this.previousCommand=this.command;this.command=this.getToken()};this.getPoint=function(){var h=new c.Point(this.getScalar(),this.getScalar());return this.makeAbsolute(h)};this.getAsControlPoint=function(){var h=this.getPoint();this.control=h;return h};this.getAsCurrentPoint=function(){var h=this.getPoint();this.current=h;return h};this.getReflectedControlPoint=function(){if(this.previousCommand.toLowerCase()!="c"&&this.previousCommand.toLowerCase()!="s"&&this.previousCommand.toLowerCase()!="q"&&this.previousCommand.toLowerCase()!="t"){return this.current}var h=new c.Point(2*this.current.x-this.control.x,2*this.current.y-this.control.y);return h};this.makeAbsolute=function(h){if(this.isRelativeCommand()){h.x+=this.current.x;h.y+=this.current.y}return h};this.addMarker=function(k,l,h){if(h!=null&&this.angles.length>0&&this.angles[this.angles.length-1]==null){this.angles[this.angles.length-1]=this.points[this.points.length-1].angleTo(h)}this.addMarkerAngle(k,l==null?null:l.angleTo(k))};this.addMarkerAngle=function(k,h){this.points.push(k);this.angles.push(h)};this.getMarkerPoints=function(){return this.points};this.getMarkerAngles=function(){for(var k=0;k<this.angles.length;k++){if(this.angles[k]==null){for(var h=k+1;h<this.angles.length;h++){if(this.angles[h]!=null){this.angles[k]=this.angles[h];break}}}}return this.angles}})(f);this.path=function(L){var N=this.PathParser;N.reset();var y=new c.BoundingBox();if(L!=null){L.beginPath()}while(!N.isEnd()){N.nextCommand();switch(N.command){case"M":case"m":var I=N.getAsCurrentPoint();N.addMarker(I);y.addPoint(I.x,I.y);if(L!=null){L.moveTo(I.x,I.y)}N.start=N.current;while(!N.isCommandOrEnd()){var I=N.getAsCurrentPoint();N.addMarker(I,N.start);y.addPoint(I.x,I.y);if(L!=null){L.lineTo(I.x,I.y)}}break;case"L":case"l":while(!N.isCommandOrEnd()){var R=N.current;var I=N.getAsCurrentPoint();N.addMarker(I,R);y.addPoint(I.x,I.y);if(L!=null){L.lineTo(I.x,I.y)}}break;case"H":case"h":while(!N.isCommandOrEnd()){var k=new c.Point((N.isRelativeCommand()?N.current.x:0)+N.getScalar(),N.current.y);N.addMarker(k,N.current);N.current=k;y.addPoint(N.current.x,N.current.y);if(L!=null){L.lineTo(N.current.x,N.current.y)}}break;case"V":case"v":while(!N.isCommandOrEnd()){var k=new c.Point(N.current.x,(N.isRelativeCommand()?N.current.y:0)+N.getScalar());N.addMarker(k,N.current);N.current=k;y.addPoint(N.current.x,N.current.y);if(L!=null){L.lineTo(N.current.x,N.current.y)}}break;case"C":case"c":while(!N.isCommandOrEnd()){var P=N.current;var o=N.getPoint();var q=N.getAsControlPoint();var A=N.getAsCurrentPoint();N.addMarker(A,q,o);y.addBezierCurve(P.x,P.y,o.x,o.y,q.x,q.y,A.x,A.y);if(L!=null){L.bezierCurveTo(o.x,o.y,q.x,q.y,A.x,A.y)}}break;case"S":case"s":while(!N.isCommandOrEnd()){var P=N.current;var o=N.getReflectedControlPoint();var q=N.getAsControlPoint();var A=N.getAsCurrentPoint();N.addMarker(A,q,o);y.addBezierCurve(P.x,P.y,o.x,o.y,q.x,q.y,A.x,A.y);if(L!=null){L.bezierCurveTo(o.x,o.y,q.x,q.y,A.x,A.y)}}break;case"Q":case"q":while(!N.isCommandOrEnd()){var P=N.current;var q=N.getAsControlPoint();var A=N.getAsCurrentPoint();N.addMarker(A,q,q);y.addQuadraticCurve(P.x,P.y,q.x,q.y,A.x,A.y);if(L!=null){L.quadraticCurveTo(q.x,q.y,A.x,A.y)}}break;case"T":case"t":while(!N.isCommandOrEnd()){var P=N.current;var q=N.getReflectedControlPoint();N.control=q;var A=N.getAsCurrentPoint();N.addMarker(A,q,q);y.addQuadraticCurve(P.x,P.y,q.x,q.y,A.x,A.y);if(L!=null){L.quadraticCurveTo(q.x,q.y,A.x,A.y)}}break;case"A":case"a":while(!N.isCommandOrEnd()){var P=N.current;var x=N.getScalar();var w=N.getScalar();var h=N.getScalar()*(Math.PI/180);var z=N.getScalar();var t=N.getScalar();var A=N.getAsCurrentPoint();var U=new c.Point(Math.cos(h)*(P.x-A.x)/2+Math.sin(h)*(P.y-A.y)/2,-Math.sin(h)*(P.x-A.x)/2+Math.cos(h)*(P.y-A.y)/2);var M=Math.pow(U.x,2)/Math.pow(x,2)+Math.pow(U.y,2)/Math.pow(w,2);if(M>1){x*=Math.sqrt(M);w*=Math.sqrt(M)}var E=(z==t?-1:1)*Math.sqrt(((Math.pow(x,2)*Math.pow(w,2))-(Math.pow(x,2)*Math.pow(U.y,2))-(Math.pow(w,2)*Math.pow(U.x,2)))/(Math.pow(x,2)*Math.pow(U.y,2)+Math.pow(w,2)*Math.pow(U.x,2)));if(isNaN(E)){E=0}var D=new c.Point(E*x*U.y/w,E*-w*U.x/x);var n=new c.Point((P.x+A.x)/2+Math.cos(h)*D.x-Math.sin(h)*D.y,(P.y+A.y)/2+Math.sin(h)*D.x+Math.cos(h)*D.y);var K=function(l){return Math.sqrt(Math.pow(l[0],2)+Math.pow(l[1],2))};var G=function(m,l){return(m[0]*l[0]+m[1]*l[1])/(K(m)*K(l))};var S=function(m,l){return(m[0]*l[1]<m[1]*l[0]?-1:1)*Math.acos(G(m,l))};var T=S([1,0],[(U.x-D.x)/x,(U.y-D.y)/w]);var C=[(U.x-D.x)/x,(U.y-D.y)/w];var B=[(-U.x-D.x)/x,(-U.y-D.y)/w];var Q=S(C,B);if(G(C,B)<=-1){Q=Math.PI}if(G(C,B)>=1){Q=0}var J=1-t?1:-1;var O=T+J*(Q/2);var g=new c.Point(n.x+x*Math.cos(O),n.y+w*Math.sin(O));N.addMarkerAngle(g,O-J*Math.PI/2);N.addMarkerAngle(A,O-J*Math.PI);y.addPoint(A.x,A.y);if(L!=null){var G=x>w?x:w;var H=x>w?1:x/w;var F=x>w?w/x:1;L.translate(n.x,n.y);L.rotate(h);L.scale(H,F);L.arc(0,0,G,T,T+Q,1-t);L.scale(1/H,1/F);L.rotate(-h);L.translate(-n.x,-n.y)}}break;case"Z":case"z":if(L!=null){L.closePath()}N.current=N.start}}return y};this.getMarkers=function(){var h=this.PathParser.getMarkerPoints();var l=this.PathParser.getMarkerAngles();var k=[];for(var g=0;g<h.length;g++){k.push([h[g],l[g]])}return k}};c.Element.path.prototype=new c.Element.PathElementBase;c.Element.pattern=function(e){this.base=c.Element.ElementBase;this.base(e);this.createPattern=function(q,h){var f=this.attribute("width").toPixels("x",true);var p=this.attribute("height").toPixels("y",true);var n=new c.Element.svg();n.attributes.viewBox=new c.Property("viewBox",this.attribute("viewBox").value);n.attributes.width=new c.Property("width",f+"px");n.attributes.height=new c.Property("height",p+"px");n.attributes.transform=new c.Property("transform",this.attribute("patternTransform").value);n.children=this.children;var l=document.createElement("canvas");l.width=f;l.height=p;var g=l.getContext("2d");if(this.attribute("x").hasValue()&&this.attribute("y").hasValue()){g.translate(this.attribute("x").toPixels("x",true),this.attribute("y").toPixels("y",true))}for(var o=-1;o<=1;o++){for(var m=-1;m<=1;m++){g.save();g.translate(o*l.width,m*l.height);n.render(g);g.restore()}}var k=q.createPattern(l,"repeat");return k}};c.Element.pattern.prototype=new c.Element.ElementBase;c.Element.marker=function(e){this.base=c.Element.ElementBase;this.base(e);this.baseRender=this.render;this.render=function(g,f,k){g.translate(f.x,f.y);if(this.attribute("orient").valueOrDefault("auto")=="auto"){g.rotate(k)}if(this.attribute("markerUnits").valueOrDefault("strokeWidth")=="strokeWidth"){g.scale(g.lineWidth,g.lineWidth)}g.save();var h=new c.Element.svg();h.attributes.viewBox=new c.Property("viewBox",this.attribute("viewBox").value);h.attributes.refX=new c.Property("refX",this.attribute("refX").value);h.attributes.refY=new c.Property("refY",this.attribute("refY").value);h.attributes.width=new c.Property("width",this.attribute("markerWidth").value);h.attributes.height=new c.Property("height",this.attribute("markerHeight").value);h.attributes.fill=new c.Property("fill",this.attribute("fill").valueOrDefault("black"));h.attributes.stroke=new c.Property("stroke",this.attribute("stroke").valueOrDefault("none"));h.children=this.children;h.render(g);g.restore();if(this.attribute("markerUnits").valueOrDefault("strokeWidth")=="strokeWidth"){g.scale(1/g.lineWidth,1/g.lineWidth)}if(this.attribute("orient").valueOrDefault("auto")=="auto"){g.rotate(-k)}g.translate(-f.x,-f.y)}};c.Element.marker.prototype=new c.Element.ElementBase;c.Element.defs=function(e){this.base=c.Element.ElementBase;this.base(e);this.render=function(f){}};c.Element.defs.prototype=new c.Element.ElementBase;c.Element.GradientBase=function(f){this.base=c.Element.ElementBase;this.base(f);this.gradientUnits=this.attribute("gradientUnits").valueOrDefault("objectBoundingBox");this.stops=[];for(var e=0;e<this.children.length;e++){var g=this.children[e];if(g.type=="stop"){this.stops.push(g)}}this.getGradient=function(){};this.createGradient=function(w,m,h){var v=this;if(this.getHrefAttribute().hasValue()){v=this.getHrefAttribute().getDefinition()}var l=function(x){if(h.hasValue()){var y=new c.Property("color",x);return y.addOpacity(h).value}return x};var o=this.getGradient(w,m);if(o==null){return l(v.stops[v.stops.length-1].color)}for(var n=0;n<v.stops.length;n++){o.addColorStop(v.stops[n].offset,l(v.stops[n].color))}if(this.attribute("gradientTransform").hasValue()){var q=c.ViewPort.viewPorts[0];var r=new c.Element.rect();r.attributes.x=new c.Property("x",-c.MAX_VIRTUAL_PIXELS/3);r.attributes.y=new c.Property("y",-c.MAX_VIRTUAL_PIXELS/3);r.attributes.width=new c.Property("width",c.MAX_VIRTUAL_PIXELS);r.attributes.height=new c.Property("height",c.MAX_VIRTUAL_PIXELS);var u=new c.Element.g();u.attributes.transform=new c.Property("transform",this.attribute("gradientTransform").value);u.children=[r];var t=new c.Element.svg();t.attributes.x=new c.Property("x",0);t.attributes.y=new c.Property("y",0);t.attributes.width=new c.Property("width",q.width);t.attributes.height=new c.Property("height",q.height);t.children=[u];var p=document.createElement("canvas");p.width=q.width;p.height=q.height;var k=p.getContext("2d");k.fillStyle=o;t.render(k);return k.createPattern(p,"no-repeat")}return o}};c.Element.GradientBase.prototype=new c.Element.ElementBase;c.Element.linearGradient=function(e){this.base=c.Element.GradientBase;this.base(e);this.getGradient=function(f,l){var n=this.gradientUnits=="objectBoundingBox"?l.getBoundingBox():null;if(!this.attribute("x1").hasValue()&&!this.attribute("y1").hasValue()&&!this.attribute("x2").hasValue()&&!this.attribute("y2").hasValue()){this.attribute("x1",true).value=0;this.attribute("y1",true).value=0;this.attribute("x2",true).value=1;this.attribute("y2",true).value=0}var h=(this.gradientUnits=="objectBoundingBox"?n.x()+n.width()*this.attribute("x1").numValue():this.attribute("x1").toPixels("x"));var m=(this.gradientUnits=="objectBoundingBox"?n.y()+n.height()*this.attribute("y1").numValue():this.attribute("y1").toPixels("y"));var g=(this.gradientUnits=="objectBoundingBox"?n.x()+n.width()*this.attribute("x2").numValue():this.attribute("x2").toPixels("x"));var k=(this.gradientUnits=="objectBoundingBox"?n.y()+n.height()*this.attribute("y2").numValue():this.attribute("y2").toPixels("y"));if(h==g&&m==k){return null}return f.createLinearGradient(h,m,g,k)}};c.Element.linearGradient.prototype=new c.Element.GradientBase;c.Element.radialGradient=function(e){this.base=c.Element.GradientBase;this.base(e);this.getGradient=function(g,h){var n=h.getBoundingBox();if(!this.attribute("cx").hasValue()){this.attribute("cx",true).value="50%"}if(!this.attribute("cy").hasValue()){this.attribute("cy",true).value="50%"}if(!this.attribute("r").hasValue()){this.attribute("r",true).value="50%"}var f=(this.gradientUnits=="objectBoundingBox"?n.x()+n.width()*this.attribute("cx").numValue():this.attribute("cx").toPixels("x"));var o=(this.gradientUnits=="objectBoundingBox"?n.y()+n.height()*this.attribute("cy").numValue():this.attribute("cy").toPixels("y"));var m=f;var k=o;if(this.attribute("fx").hasValue()){m=(this.gradientUnits=="objectBoundingBox"?n.x()+n.width()*this.attribute("fx").numValue():this.attribute("fx").toPixels("x"))}if(this.attribute("fy").hasValue()){k=(this.gradientUnits=="objectBoundingBox"?n.y()+n.height()*this.attribute("fy").numValue():this.attribute("fy").toPixels("y"))}var l=(this.gradientUnits=="objectBoundingBox"?(n.width()+n.height())/2*this.attribute("r").numValue():this.attribute("r").toPixels());return g.createRadialGradient(m,k,0,f,o,l)}};c.Element.radialGradient.prototype=new c.Element.GradientBase;c.Element.stop=function(f){this.base=c.Element.ElementBase;this.base(f);this.offset=this.attribute("offset").numValue();if(this.offset<0){this.offset=0}if(this.offset>1){this.offset=1}var e=this.style("stop-color");if(this.style("stop-opacity").hasValue()){e=e.addOpacity(this.style("stop-opacity"))}this.color=e.value};c.Element.stop.prototype=new c.Element.ElementBase;c.Element.AnimateBase=function(e){this.base=c.Element.ElementBase;this.base(e);c.Animations.push(this);this.duration=0;this.begin=this.attribute("begin").toMilliseconds();this.maxDuration=this.begin+this.attribute("dur").toMilliseconds();this.getProperty=function(){var g=this.attribute("attributeType").value;var f=this.attribute("attributeName").value;if(g=="CSS"){return this.parent.style(f,true)}return this.parent.attribute(f,true)};this.initialValue=null;this.initialUnits="";this.removed=false;this.calcValue=function(){return""};this.update=function(k){if(this.initialValue==null){this.initialValue=this.getProperty().value;this.initialUnits=this.getProperty().getUnits()}if(this.duration>this.maxDuration){if(this.attribute("repeatCount").value=="indefinite"||this.attribute("repeatDur").value=="indefinite"){this.duration=0}else{if(this.attribute("fill").valueOrDefault("remove")=="freeze"&&!this.frozen){this.frozen=true;this.parent.animationFrozen=true;this.parent.animationFrozenValue=this.getProperty().value}else{if(this.attribute("fill").valueOrDefault("remove")=="remove"&&!this.removed){this.removed=true;this.getProperty().value=this.parent.animationFrozen?this.parent.animationFrozenValue:this.initialValue;return true}}}return false}this.duration=this.duration+k;var f=false;if(this.begin<this.duration){var h=this.calcValue();if(this.attribute("type").hasValue()){var g=this.attribute("type").value;h=g+"("+h+")"}this.getProperty().value=h;f=true}return f};this.from=this.attribute("from");this.to=this.attribute("to");this.values=this.attribute("values");if(this.values.hasValue()){this.values.value=this.values.value.split(";")}this.progress=function(){var g={progress:(this.duration-this.begin)/(this.maxDuration-this.begin)};if(this.values.hasValue()){var k=g.progress*(this.values.value.length-1);var h=Math.floor(k),f=Math.ceil(k);g.from=new c.Property("from",parseFloat(this.values.value[h]));g.to=new c.Property("to",parseFloat(this.values.value[f]));g.progress=(k-h)/(f-h)}else{g.from=this.from;g.to=this.to}return g}};c.Element.AnimateBase.prototype=new c.Element.ElementBase;c.Element.animate=function(e){this.base=c.Element.AnimateBase;this.base(e);this.calcValue=function(){var g=this.progress();var f=g.from.numValue()+(g.to.numValue()-g.from.numValue())*g.progress;return f+this.initialUnits}};c.Element.animate.prototype=new c.Element.AnimateBase;c.Element.animateColor=function(e){this.base=c.Element.AnimateBase;this.base(e);this.calcValue=function(){var l=this.progress();var n=new RGBColor(l.from.value);var m=new RGBColor(l.to.value);if(n.ok&&m.ok){var k=n.r+(m.r-n.r)*l.progress;var h=n.g+(m.g-n.g)*l.progress;var f=n.b+(m.b-n.b)*l.progress;return"rgb("+parseInt(k,10)+","+parseInt(h,10)+","+parseInt(f,10)+")"}return this.attribute("from").value}};c.Element.animateColor.prototype=new c.Element.AnimateBase;c.Element.animateTransform=function(e){this.base=c.Element.AnimateBase;this.base(e);this.calcValue=function(){var h=this.progress();var l=c.ToNumberArray(h.from.value);var k=c.ToNumberArray(h.to.value);var g="";for(var f=0;f<l.length;f++){g+=l[f]+(k[f]-l[f])*h.progress+" "}return g}};c.Element.animateTransform.prototype=new c.Element.animate;c.Element.font=function(f){this.base=c.Element.ElementBase;this.base(f);this.horizAdvX=this.attribute("horiz-adv-x").numValue();this.isRTL=false;this.isArabic=false;this.fontFace=null;this.missingGlyph=null;this.glyphs=[];for(var e=0;e<this.children.length;e++){var g=this.children[e];if(g.type=="font-face"){this.fontFace=g;if(g.style("font-family").hasValue()){c.Definitions[g.style("font-family").value]=this}}else{if(g.type=="missing-glyph"){this.missingGlyph=g}else{if(g.type=="glyph"){if(g.arabicForm!=""){this.isRTL=true;this.isArabic=true;if(typeof(this.glyphs[g.unicode])=="undefined"){this.glyphs[g.unicode]=[]}this.glyphs[g.unicode][g.arabicForm]=g}else{this.glyphs[g.unicode]=g}}}}}};c.Element.font.prototype=new c.Element.ElementBase;c.Element.fontface=function(e){this.base=c.Element.ElementBase;this.base(e);this.ascent=this.attribute("ascent").value;this.descent=this.attribute("descent").value;this.unitsPerEm=this.attribute("units-per-em").numValue()};c.Element.fontface.prototype=new c.Element.ElementBase;c.Element.missingglyph=function(e){this.base=c.Element.path;this.base(e);this.horizAdvX=0};c.Element.missingglyph.prototype=new c.Element.path;c.Element.glyph=function(e){this.base=c.Element.path;this.base(e);this.horizAdvX=this.attribute("horiz-adv-x").numValue();this.unicode=this.attribute("unicode").value;this.arabicForm=this.attribute("arabic-form").value};c.Element.glyph.prototype=new c.Element.path;c.Element.text=function(e){this.captureTextNodes=true;this.base=c.Element.RenderedElementBase;this.base(e);this.baseSetContext=this.setContext;this.setContext=function(f){this.baseSetContext(f);var g=this.style("dominant-baseline").toTextBaseline();if(g==null){g=this.style("alignment-baseline").toTextBaseline()}if(g!=null){f.textBaseline=g}};this.getBoundingBox=function(){var f=this.attribute("x").toPixels("x");var h=this.attribute("y").toPixels("y");var g=this.parent.style("font-size").numValueOrDefault(c.Font.Parse(c.ctx.font).fontSize);return new c.BoundingBox(f,h-g,f+Math.floor(g*2/3)*this.children[0].getText().length,h)};this.renderChildren=function(f){this.x=this.attribute("x").toPixels("x");this.y=this.attribute("y").toPixels("y");this.x+=this.getAnchorDelta(f,this,0);for(var g=0;g<this.children.length;g++){this.renderChild(f,this,g)}};this.getAnchorDelta=function(g,m,l){var f=this.style("text-anchor").valueOrDefault("start");if(f!="start"){var k=0;for(var h=l;h<m.children.length;h++){var n=m.children[h];if(h>l&&n.attribute("x").hasValue()){break}k+=n.measureTextRecursive(g)}return -1*(f=="end"?k:k/2)}return 0};this.renderChild=function(f,h,g){var k=h.children[g];if(k.attribute("x").hasValue()){k.x=k.attribute("x").toPixels("x")+this.getAnchorDelta(f,h,g);if(k.attribute("dx").hasValue()){k.x+=k.attribute("dx").toPixels("x")}}else{if(this.attribute("dx").hasValue()){this.x+=this.attribute("dx").toPixels("x")}if(k.attribute("dx").hasValue()){this.x+=k.attribute("dx").toPixels("x")}k.x=this.x}this.x=k.x+k.measureText(f);if(k.attribute("y").hasValue()){k.y=k.attribute("y").toPixels("y");if(k.attribute("dy").hasValue()){k.y+=k.attribute("dy").toPixels("y")}}else{if(this.attribute("dy").hasValue()){this.y+=this.attribute("dy").toPixels("y")}if(k.attribute("dy").hasValue()){this.y+=k.attribute("dy").toPixels("y")}k.y=this.y}this.y=k.y;k.render(f);for(var g=0;g<k.children.length;g++){this.renderChild(f,k,g)}}};c.Element.text.prototype=new c.Element.RenderedElementBase;c.Element.TextElementBase=function(e){this.base=c.Element.RenderedElementBase;this.base(e);this.getGlyph=function(f,l,g){var m=l[g];var h=null;if(f.isArabic){var k="isolated";if((g==0||l[g-1]==" ")&&g<l.length-2&&l[g+1]!=" "){k="terminal"}if(g>0&&l[g-1]!=" "&&g<l.length-2&&l[g+1]!=" "){k="medial"}if(g>0&&l[g-1]!=" "&&(g==l.length-1||l[g+1]==" ")){k="initial"}if(typeof(f.glyphs[m])!="undefined"){h=f.glyphs[m][k];if(h==null&&f.glyphs[m].type=="glyph"){h=f.glyphs[m]}}}else{h=f.glyphs[m]}if(h==null){h=f.missingGlyph}return h};this.renderChildren=function(o){var m=this.parent.style("font-family").getDefinition();if(m!=null){var p=this.parent.style("font-size").numValueOrDefault(c.Font.Parse(c.ctx.font).fontSize);var h=this.parent.style("font-style").valueOrDefault(c.Font.Parse(c.ctx.font).fontStyle);var n=this.getText();if(m.isRTL){n=n.split("").reverse().join("")}var q=c.ToNumberArray(this.parent.attribute("dx").value);for(var k=0;k<n.length;k++){var l=this.getGlyph(m,n,k);var g=p/m.fontFace.unitsPerEm;o.translate(this.x,this.y);o.scale(g,-g);var f=o.lineWidth;o.lineWidth=o.lineWidth*m.fontFace.unitsPerEm/p;if(h=="italic"){o.transform(1,0,0.4,1,0,0)}l.render(o);if(h=="italic"){o.transform(1,0,-0.4,1,0,0)}o.lineWidth=f;o.scale(1/g,-1/g);o.translate(-this.x,-this.y);this.x+=p*(l.horizAdvX||m.horizAdvX)/m.fontFace.unitsPerEm;if(typeof(q[k])!="undefined"&&!isNaN(q[k])){this.x+=q[k]}}return}if(o.fillStyle!=""){o.fillText(c.compressSpaces(this.getText()),this.x,this.y)}if(o.strokeStyle!=""){o.strokeText(c.compressSpaces(this.getText()),this.x,this.y)}};this.getText=function(){};this.measureTextRecursive=function(f){var h=this.measureText(f);for(var g=0;g<this.children.length;g++){h+=this.children[g].measureTextRecursive(f)}return h};this.measureText=function(o){var m=this.parent.style("font-family").getDefinition();if(m!=null){var p=this.parent.style("font-size").numValueOrDefault(c.Font.Parse(c.ctx.font).fontSize);var g=0;var n=this.getText();if(m.isRTL){n=n.split("").reverse().join("")}var q=c.ToNumberArray(this.parent.attribute("dx").value);for(var k=0;k<n.length;k++){var l=this.getGlyph(m,n,k);g+=(l.horizAdvX||m.horizAdvX)*p/m.fontFace.unitsPerEm;if(typeof(q[k])!="undefined"&&!isNaN(q[k])){g+=q[k]}}return g}var f=c.compressSpaces(this.getText());if(!o.measureText){return f.length*10}o.save();this.setContext(o);var h=o.measureText(f).width;o.restore();return h}};c.Element.TextElementBase.prototype=new c.Element.RenderedElementBase;c.Element.tspan=function(e){this.captureTextNodes=true;this.base=c.Element.TextElementBase;this.base(e);this.text=e.nodeValue||e.text||"";this.getText=function(){return this.text}};c.Element.tspan.prototype=new c.Element.TextElementBase;c.Element.tref=function(e){this.base=c.Element.TextElementBase;this.base(e);this.getText=function(){var f=this.getHrefAttribute().getDefinition();if(f!=null){return f.children[0].getText()}}};c.Element.tref.prototype=new c.Element.TextElementBase;c.Element.a=function(f){this.base=c.Element.TextElementBase;this.base(f);this.hasText=f.childNodes.length>0;for(var e=0;e<f.childNodes.length;e++){if(f.childNodes[e].nodeType!=3){this.hasText=false}}this.text=this.hasText?f.childNodes[0].nodeValue:"";this.getText=function(){return this.text};this.baseRenderChildren=this.renderChildren;this.renderChildren=function(h){if(this.hasText){this.baseRenderChildren(h);var l=new c.Property("fontSize",c.Font.Parse(c.ctx.font).fontSize);c.Mouse.checkBoundingBox(this,new c.BoundingBox(this.x,this.y-l.toPixels("y"),this.x+this.measureText(h),this.y))}else{if(this.children.length>0){var k=new c.Element.g();k.children=this.children;k.parent=this;k.render(h)}}};this.onclick=function(){window.open(this.getHrefAttribute().value)};this.onmousemove=function(){c.ctx.canvas.style.cursor="pointer"}};c.Element.a.prototype=new c.Element.TextElementBase;c.Element.image=function(g){this.base=c.Element.RenderedElementBase;this.base(g);var f=this.getHrefAttribute().value;if(f==""){return}var h=f.match(/\.svg$/);c.Images.push(this);this.loaded=false;if(!h){this.img=document.createElement("img");if(c.opts.useCORS==true){this.img.crossOrigin="Anonymous"}var e=this;this.img.onload=function(){e.loaded=true};this.img.onerror=function(){c.log('ERROR: image "'+f+'" not found');e.loaded=true};this.img.src=f}else{this.img=c.ajax(f);this.loaded=true}this.renderChildren=function(m){var l=this.attribute("x").toPixels("x");var o=this.attribute("y").toPixels("y");var n=this.attribute("width").toPixels("x");var k=this.attribute("height").toPixels("y");if(n==0||k==0){return}m.save();if(h){m.drawSvg(this.img,l,o,n,k)}else{m.translate(l,o);c.AspectRatio(m,this.attribute("preserveAspectRatio").value,n,this.img.width,k,this.img.height,0,0);m.drawImage(this.img,0,0)}m.restore()};this.getBoundingBox=function(){var l=this.attribute("x").toPixels("x");var n=this.attribute("y").toPixels("y");var m=this.attribute("width").toPixels("x");var k=this.attribute("height").toPixels("y");return new c.BoundingBox(l,n,l+m,n+k)}};c.Element.image.prototype=new c.Element.RenderedElementBase;c.Element.g=function(e){this.base=c.Element.RenderedElementBase;this.base(e);this.getBoundingBox=function(){var g=new c.BoundingBox();for(var f=0;f<this.children.length;f++){g.addBoundingBox(this.children[f].getBoundingBox())}return g}};c.Element.g.prototype=new c.Element.RenderedElementBase;c.Element.symbol=function(e){this.base=c.Element.RenderedElementBase;this.base(e);this.render=function(f){}};c.Element.symbol.prototype=new c.Element.RenderedElementBase;c.Element.style=function(y){this.base=c.Element.ElementBase;this.base(y);var u="";for(var B=0;B<y.childNodes.length;B++){u+=y.childNodes[B].nodeValue}u=u.replace(/(\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm,"");u=c.compressSpaces(u);var t=u.split("}");for(var B=0;B<t.length;B++){if(c.trim(t[B])!=""){var F=t[B].split("{");var l=F[0].split(",");var e=F[1].split(";");for(var A=0;A<l.length;A++){var q=c.trim(l[A]);if(q!=""){var h={};for(var z=0;z<e.length;z++){var g=e[z].indexOf(":");var G=e[z].substr(0,g);var x=e[z].substr(g+1,e[z].length-g);if(G!=null&&x!=null){h[c.trim(G)]=new c.Property(c.trim(G),c.trim(x))}}c.Styles[q]=h;if(q=="@font-face"){var D=h["font-family"].value.replace(/"/g,"");var r=h.src.value.split(",");for(var v=0;v<r.length;v++){if(r[v].indexOf('format("svg")')>0){var o=r[v].indexOf("url");var n=r[v].indexOf(")",o);var m=r[v].substr(o+5,n-o-6);var E=c.parseXml(c.ajax(m));var p=E.getElementsByTagName("font");for(var C=0;C<p.length;C++){var w=c.CreateElement(p[C]);c.Definitions[D]=w}}}}}}}}};c.Element.style.prototype=new c.Element.ElementBase;c.Element.use=function(f){this.base=c.Element.RenderedElementBase;this.base(f);this.baseSetContext=this.setContext;this.setContext=function(g){this.baseSetContext(g);if(this.attribute("x").hasValue()){g.translate(this.attribute("x").toPixels("x"),0)}if(this.attribute("y").hasValue()){g.translate(0,this.attribute("y").toPixels("y"))}};var e=this.getHrefAttribute().getDefinition();this.path=function(g){if(e!=null){e.path(g)}};this.getBoundingBox=function(){if(e!=null){return e.getBoundingBox()}};this.renderChildren=function(g){if(e!=null){var k=e;if(e.type=="symbol"){k=new c.Element.svg();k.type="svg";k.attributes.viewBox=new c.Property("viewBox",e.attribute("viewBox").value);k.attributes.preserveAspectRatio=new c.Property("preserveAspectRatio",e.attribute("preserveAspectRatio").value);k.attributes.overflow=new c.Property("overflow",e.attribute("overflow").value);k.children=e.children}if(k.type=="svg"){if(this.attribute("width").hasValue()){k.attributes.width=new c.Property("width",this.attribute("width").value)}if(this.attribute("height").hasValue()){k.attributes.height=new c.Property("height",this.attribute("height").value)}}var h=k.parent;k.parent=null;k.render(g);k.parent=h}}};c.Element.use.prototype=new c.Element.RenderedElementBase;c.Element.mask=function(e){this.base=c.Element.ElementBase;this.base(e);this.apply=function(r,h){var p=this.attribute("x").toPixels("x");var o=this.attribute("y").toPixels("y");var f=this.attribute("width").toPixels("x");var q=this.attribute("height").toPixels("y");if(f==0&&q==0){var l=new c.BoundingBox();for(var k=0;k<this.children.length;k++){l.addBoundingBox(this.children[k].getBoundingBox())}var p=Math.floor(l.x1);var o=Math.floor(l.y1);var f=Math.floor(l.width());var q=Math.floor(l.height())}var u=h.attribute("mask").value;h.attribute("mask").value="";var n=document.createElement("canvas");n.width=p+f;n.height=o+q;var t=n.getContext("2d");this.renderChildren(t);var m=document.createElement("canvas");m.width=p+f;m.height=o+q;var g=m.getContext("2d");h.render(g);g.globalCompositeOperation="destination-in";g.fillStyle=t.createPattern(n,"no-repeat");g.fillRect(0,0,p+f,o+q);r.fillStyle=g.createPattern(m,"no-repeat");r.fillRect(0,0,p+f,o+q);h.attribute("mask").value=u};this.render=function(f){}};c.Element.mask.prototype=new c.Element.ElementBase;c.Element.clipPath=function(e){this.base=c.Element.ElementBase;this.base(e);this.apply=function(f){var l=CanvasRenderingContext2D.prototype.beginPath;CanvasRenderingContext2D.prototype.beginPath=function(){};var k=CanvasRenderingContext2D.prototype.closePath;CanvasRenderingContext2D.prototype.closePath=function(){};l.call(f);for(var h=0;h<this.children.length;h++){var m=this.children[h];if(typeof(m.path)!="undefined"){var g=null;if(m.attribute("transform").hasValue()){g=new c.Transform(m.attribute("transform").value);g.apply(f)}m.path(f);CanvasRenderingContext2D.prototype.closePath=k;if(g){g.unapply(f)}}}k.call(f);f.clip();CanvasRenderingContext2D.prototype.beginPath=l;CanvasRenderingContext2D.prototype.closePath=k};this.render=function(f){}};c.Element.clipPath.prototype=new c.Element.ElementBase;c.Element.filter=function(e){this.base=c.Element.ElementBase;this.base(e);this.apply=function(v,m){var n=m.getBoundingBox();var r=Math.floor(n.x1);var p=Math.floor(n.y1);var g=Math.floor(n.width());var u=Math.floor(n.height());var h=m.style("filter").value;m.style("filter").value="";var t=0,q=0;for(var l=0;l<this.children.length;l++){var f=this.children[l].extraFilterDistance||0;t=Math.max(t,f);q=Math.max(q,f)}var o=document.createElement("canvas");o.width=g+2*t;o.height=u+2*q;var k=o.getContext("2d");k.translate(-r+t,-p+q);m.render(k);for(var l=0;l<this.children.length;l++){this.children[l].apply(k,0,0,g+2*t,u+2*q)}v.drawImage(o,0,0,g+2*t,u+2*q,r-t,p-q,g+2*t,u+2*q);m.style("filter",true).value=h};this.render=function(f){}};c.Element.filter.prototype=new c.Element.ElementBase;c.Element.feMorphology=function(e){this.base=c.Element.ElementBase;this.base(e);this.apply=function(h,g,l,k,f){}};c.Element.feMorphology.prototype=new c.Element.ElementBase;c.Element.feComposite=function(e){this.base=c.Element.ElementBase;this.base(e);this.apply=function(h,g,l,k,f){}};c.Element.feComposite.prototype=new c.Element.ElementBase;c.Element.feColorMatrix=function(n){this.base=c.Element.ElementBase;this.base(n);var h=c.ToNumberArray(this.attribute("values").value);switch(this.attribute("type").valueOrDefault("matrix")){case"saturate":var l=h[0];h=[0.213+0.787*l,0.715-0.715*l,0.072-0.072*l,0,0,0.213-0.213*l,0.715+0.285*l,0.072-0.072*l,0,0,0.213-0.213*l,0.715-0.715*l,0.072+0.928*l,0,0,0,0,0,1,0,0,0,0,0,1];break;case"hueRotate":var g=h[0]*Math.PI/180;var o=function(q,p,m){return q+Math.cos(g)*p+Math.sin(g)*m};h=[o(0.213,0.787,-0.213),o(0.715,-0.715,-0.715),o(0.072,-0.072,0.928),0,0,o(0.213,-0.213,0.143),o(0.715,0.285,0.14),o(0.072,-0.072,-0.283),0,0,o(0.213,-0.213,-0.787),o(0.715,-0.715,0.715),o(0.072,0.928,0.072),0,0,0,0,0,1,0,0,0,0,0,1];break;case"luminanceToAlpha":h=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2125,0.7154,0.0721,0,0,0,0,0,0,1];break}function k(q,p,u,t,m,r){return q[u*t*4+p*4+r]}function f(q,p,v,t,m,r,u){q[v*t*4+p*4+r]=u}function e(q,p){var m=h[q];return m*(m<0?p-255:p)}this.apply=function(B,z,v,p,A){var t=B.getImageData(0,0,p,A);for(var v=0;v<A;v++){for(var z=0;z<p;z++){var m=k(t.data,z,v,p,A,0);var q=k(t.data,z,v,p,A,1);var u=k(t.data,z,v,p,A,2);var w=k(t.data,z,v,p,A,3);f(t.data,z,v,p,A,0,e(0,m)+e(1,q)+e(2,u)+e(3,w)+e(4,1));f(t.data,z,v,p,A,1,e(5,m)+e(6,q)+e(7,u)+e(8,w)+e(9,1));f(t.data,z,v,p,A,2,e(10,m)+e(11,q)+e(12,u)+e(13,w)+e(14,1));f(t.data,z,v,p,A,3,e(15,m)+e(16,q)+e(17,u)+e(18,w)+e(19,1))}}B.clearRect(0,0,p,A);B.putImageData(t,0,0)}};c.Element.feColorMatrix.prototype=new c.Element.ElementBase;c.Element.feGaussianBlur=function(e){this.base=c.Element.ElementBase;this.base(e);this.blurRadius=Math.floor(this.attribute("stdDeviation").numValue());this.extraFilterDistance=this.blurRadius;this.apply=function(h,g,l,k,f){if(typeof(stackBlurCanvasRGBA)=="undefined"){c.log("ERROR: StackBlur.js must be included for blur to work");return}h.canvas.id=c.UniqueId();h.canvas.style.display="none";document.body.appendChild(h.canvas);stackBlurCanvasRGBA(h.canvas.id,g,l,k,f,this.blurRadius);document.body.removeChild(h.canvas)}};c.Element.feGaussianBlur.prototype=new c.Element.ElementBase;c.Element.title=function(e){};c.Element.title.prototype=new c.Element.ElementBase;c.Element.desc=function(e){};c.Element.desc.prototype=new c.Element.ElementBase;c.Element.MISSING=function(e){c.log("ERROR: Element '"+e.nodeName+"' not yet implemented.")};c.Element.MISSING.prototype=new c.Element.ElementBase;c.CreateElement=function(g){var f=g.nodeName.replace(/^[^:]+:/,"");f=f.replace(/\-/g,"");var h=null;if(typeof(c.Element[f])!="undefined"){h=new c.Element[f](g)}else{h=new c.Element.MISSING(g)}h.type=g.nodeName;return h};c.load=function(e,f){c.loadXml(e,c.ajax(f))};c.loadXml=function(e,f){c.loadXmlDoc(e,c.parseXml(f))};c.loadXmlDoc=function(k,n){c.init(k);var h=function(q){var o=k.canvas;while(o){q.x-=o.offsetLeft;q.y-=o.offsetTop;o=o.offsetParent}if(window.scrollX){q.x+=window.scrollX}if(window.scrollY){q.y+=window.scrollY}return q};if(c.opts.ignoreMouse!=true){k.canvas.onclick=function(q){var o=h(new c.Point(q!=null?q.clientX:event.clientX,q!=null?q.clientY:event.clientY));c.Mouse.onclick(o.x,o.y)};k.canvas.onmousemove=function(q){var o=h(new c.Point(q!=null?q.clientX:event.clientX,q!=null?q.clientY:event.clientY));c.Mouse.onmousemove(o.x,o.y)}}var m=c.CreateElement(n.documentElement);m.root=true;var l=true;var g=function(){c.ViewPort.Clear();if(k.canvas.parentNode){c.ViewPort.SetCurrent(k.canvas.parentNode.clientWidth,k.canvas.parentNode.clientHeight)}if(c.opts.ignoreDimensions!=true){if(m.style("width").hasValue()){k.canvas.width=m.style("width").toPixels("x");k.canvas.style.width=k.canvas.width+"px"}if(m.style("height").hasValue()){k.canvas.height=m.style("height").toPixels("y");k.canvas.style.height=k.canvas.height+"px"}}var p=k.canvas.clientWidth||k.canvas.width;var o=k.canvas.clientHeight||k.canvas.height;if(c.opts.ignoreDimensions==true&&m.style("width").hasValue()&&m.style("height").hasValue()){p=m.style("width").toPixels("x");o=m.style("height").toPixels("y")}c.ViewPort.SetCurrent(p,o);if(c.opts.offsetX!=null){m.attribute("x",true).value=c.opts.offsetX}if(c.opts.offsetY!=null){m.attribute("y",true).value=c.opts.offsetY}if(c.opts.scaleWidth!=null||c.opts.scaleHeight!=null){var q=null,e=null,r=c.ToNumberArray(m.attribute("viewBox").value);if(c.opts.scaleWidth!=null){if(m.attribute("width").hasValue()){q=m.attribute("width").toPixels("x")/c.opts.scaleWidth}else{if(!isNaN(r[2])){q=r[2]/c.opts.scaleWidth}}}if(c.opts.scaleHeight!=null){if(m.attribute("height").hasValue()){e=m.attribute("height").toPixels("y")/c.opts.scaleHeight}else{if(!isNaN(r[3])){e=r[3]/c.opts.scaleHeight}}}if(q==null){q=e}if(e==null){e=q}m.attribute("width",true).value=c.opts.scaleWidth;m.attribute("height",true).value=c.opts.scaleHeight;m.attribute("transform",true).value+=" scale("+(1/q)+","+(1/e)+")"}if(c.opts.ignoreClear!=true){k.clearRect(0,0,p,o)}m.render(k);if(l){l=false;if(typeof(c.opts.renderCallback)=="function"){c.opts.renderCallback(n)}}};var f=true;if(c.ImagesLoaded()){f=false;g()}c.intervalID=setInterval(function(){var o=false;if(f&&c.ImagesLoaded()){f=false;o=true}if(c.opts.ignoreMouse!=true){o=o|c.Mouse.hasEvents()}if(c.opts.ignoreAnimation!=true){for(var e=0;e<c.Animations.length;e++){o=o|c.Animations[e].update(1000/c.FRAMERATE)}}if(typeof(c.opts.forceRedraw)=="function"){if(c.opts.forceRedraw()==true){o=true}}if(o){g();c.Mouse.runEvents()}},1000/c.FRAMERATE)};c.stop=function(){if(c.intervalID){clearInterval(c.intervalID)}};c.Mouse=new (function(){this.events=[];this.hasEvents=function(){return this.events.length!=0};this.onclick=function(e,f){this.events.push({type:"onclick",x:e,y:f,run:function(g){if(g.onclick){g.onclick()}}})};this.onmousemove=function(e,f){this.events.push({type:"onmousemove",x:e,y:f,run:function(g){if(g.onmousemove){g.onmousemove()}}})};this.eventElements=[];this.checkPath=function(h,f){for(var g=0;g<this.events.length;g++){var k=this.events[g];if(f.isPointInPath&&f.isPointInPath(k.x,k.y)){this.eventElements[g]=h}}};this.checkBoundingBox=function(g,k){for(var f=0;f<this.events.length;f++){var h=this.events[f];if(k.isPointInBox(h.x,h.y)){this.eventElements[f]=g}}};this.runEvents=function(){c.ctx.canvas.style.cursor="";for(var g=0;g<this.events.length;g++){var h=this.events[g];var f=this.eventElements[g];while(f){h.run(f);f=f.parent}}this.events=[];this.eventElements=[]}});return c}})();if(typeof(CanvasRenderingContext2D)!="undefined"){CanvasRenderingContext2D.prototype.drawSvg=function(d,b,a,c,e){canvg(this.canvas,d,{ignoreMouse:true,ignoreAnimation:true,ignoreDimensions:true,ignoreClear:true,offsetX:b,offsetY:a,scaleWidth:c,scaleHeight:e})}}var mul_table=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259];var shg_table=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function stackBlurImage(k,f,g,a){var d=document.getElementById(k);var l=d.naturalWidth;var e=d.naturalHeight;var c=document.getElementById(f);c.style.width=l+"px";c.style.height=e+"px";c.width=l;c.height=e;var b=c.getContext("2d");b.clearRect(0,0,l,e);b.drawImage(d,0,0);if(isNaN(g)||g<1){return}if(a){stackBlurCanvasRGBA(f,0,0,l,e,g)}else{stackBlurCanvasRGB(f,0,0,l,e,g)}}function stackBlurCanvasRGBA(O,I,G,a,c,S){if(isNaN(S)||S<1){return}S|=0;var k=document.getElementById(O);var ac=k.getContext("2d");var X;try{try{X=ac.getImageData(I,G,a,c)}catch(ab){try{netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");X=ac.getImageData(I,G,a,c)}catch(ab){alert("Cannot access local image");throw new Error("unable to access local image data: "+ab);return}}}catch(ab){alert("Cannot access image");throw new Error("unable to access image data: "+ab)}var h=X.data;var Q,P,Z,W,u,z,o,f,g,F,V,t,H,D,b,L,R,v,r,n,w,A,B,K;var aa=S+S+1;var M=a<<2;var q=a-1;var U=c-1;var m=S+1;var T=m*(m+1)/2;var J=new BlurStack();var E=J;for(Z=1;Z<aa;Z++){E=E.next=new BlurStack();if(Z==m){var l=E}}E.next=J;var Y=null;var N=null;o=z=0;var C=mul_table[S];var d=shg_table[S];for(P=0;P<c;P++){L=R=v=r=f=g=F=V=0;t=m*(n=h[z]);H=m*(w=h[z+1]);D=m*(A=h[z+2]);b=m*(B=h[z+3]);f+=T*n;g+=T*w;F+=T*A;V+=T*B;E=J;for(Z=0;Z<m;Z++){E.r=n;E.g=w;E.b=A;E.a=B;E=E.next}for(Z=1;Z<m;Z++){W=z+((q<Z?q:Z)<<2);f+=(E.r=(n=h[W]))*(K=m-Z);g+=(E.g=(w=h[W+1]))*K;F+=(E.b=(A=h[W+2]))*K;V+=(E.a=(B=h[W+3]))*K;L+=n;R+=w;v+=A;r+=B;E=E.next}Y=J;N=l;for(Q=0;Q<a;Q++){h[z+3]=B=(V*C)>>d;if(B!=0){B=255/B;h[z]=((f*C)>>d)*B;h[z+1]=((g*C)>>d)*B;h[z+2]=((F*C)>>d)*B}else{h[z]=h[z+1]=h[z+2]=0}f-=t;g-=H;F-=D;V-=b;t-=Y.r;H-=Y.g;D-=Y.b;b-=Y.a;W=(o+((W=Q+S+1)<q?W:q))<<2;L+=(Y.r=h[W]);R+=(Y.g=h[W+1]);v+=(Y.b=h[W+2]);r+=(Y.a=h[W+3]);f+=L;g+=R;F+=v;V+=r;Y=Y.next;t+=(n=N.r);H+=(w=N.g);D+=(A=N.b);b+=(B=N.a);L-=n;R-=w;v-=A;r-=B;N=N.next;z+=4}o+=a}for(Q=0;Q<a;Q++){R=v=r=L=g=F=V=f=0;z=Q<<2;t=m*(n=h[z]);H=m*(w=h[z+1]);D=m*(A=h[z+2]);b=m*(B=h[z+3]);f+=T*n;g+=T*w;F+=T*A;V+=T*B;E=J;for(Z=0;Z<m;Z++){E.r=n;E.g=w;E.b=A;E.a=B;E=E.next}u=a;for(Z=1;Z<=S;Z++){z=(u+Q)<<2;f+=(E.r=(n=h[z]))*(K=m-Z);g+=(E.g=(w=h[z+1]))*K;F+=(E.b=(A=h[z+2]))*K;V+=(E.a=(B=h[z+3]))*K;L+=n;R+=w;v+=A;r+=B;E=E.next;if(Z<U){u+=a}}z=Q;Y=J;N=l;for(P=0;P<c;P++){W=z<<2;h[W+3]=B=(V*C)>>d;if(B>0){B=255/B;h[W]=((f*C)>>d)*B;h[W+1]=((g*C)>>d)*B;h[W+2]=((F*C)>>d)*B}else{h[W]=h[W+1]=h[W+2]=0}f-=t;g-=H;F-=D;V-=b;t-=Y.r;H-=Y.g;D-=Y.b;b-=Y.a;W=(Q+(((W=P+m)<U?W:U)*a))<<2;f+=(L+=(Y.r=h[W]));g+=(R+=(Y.g=h[W+1]));F+=(v+=(Y.b=h[W+2]));V+=(r+=(Y.a=h[W+3]));Y=Y.next;t+=(n=N.r);H+=(w=N.g);D+=(A=N.b);b+=(B=N.a);L-=n;R-=w;v-=A;r-=B;N=N.next;z+=a}}ac.putImageData(X,I,G)}function stackBlurCanvasRGB(L,F,D,a,b,P){if(isNaN(P)||P<1){return}P|=0;var h=document.getElementById(L);var Y=h.getContext("2d");var T;try{try{T=Y.getImageData(F,D,a,b)}catch(X){try{netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");T=Y.getImageData(F,D,a,b)}catch(X){alert("Cannot access local image");throw new Error("unable to access local image data: "+X);return}}}catch(X){alert("Cannot access image");throw new Error("unable to access image data: "+X)}var g=T.data;var N,M,V,S,r,v,n,d,f,C,o,E,A,I,O,t,m,u,w,H;var W=P+P+1;var J=a<<2;var q=a-1;var R=b-1;var l=P+1;var Q=l*(l+1)/2;var G=new BlurStack();var B=G;for(V=1;V<W;V++){B=B.next=new BlurStack();if(V==l){var k=B}}B.next=G;var U=null;var K=null;n=v=0;var z=mul_table[P];var c=shg_table[P];for(M=0;M<b;M++){I=O=t=d=f=C=0;o=l*(m=g[v]);E=l*(u=g[v+1]);A=l*(w=g[v+2]);d+=Q*m;f+=Q*u;C+=Q*w;B=G;for(V=0;V<l;V++){B.r=m;B.g=u;B.b=w;B=B.next}for(V=1;V<l;V++){S=v+((q<V?q:V)<<2);d+=(B.r=(m=g[S]))*(H=l-V);f+=(B.g=(u=g[S+1]))*H;C+=(B.b=(w=g[S+2]))*H;I+=m;O+=u;t+=w;B=B.next}U=G;K=k;for(N=0;N<a;N++){g[v]=(d*z)>>c;g[v+1]=(f*z)>>c;g[v+2]=(C*z)>>c;d-=o;f-=E;C-=A;o-=U.r;E-=U.g;A-=U.b;S=(n+((S=N+P+1)<q?S:q))<<2;I+=(U.r=g[S]);O+=(U.g=g[S+1]);t+=(U.b=g[S+2]);d+=I;f+=O;C+=t;U=U.next;o+=(m=K.r);E+=(u=K.g);A+=(w=K.b);I-=m;O-=u;t-=w;K=K.next;v+=4}n+=a}for(N=0;N<a;N++){O=t=I=f=C=d=0;v=N<<2;o=l*(m=g[v]);E=l*(u=g[v+1]);A=l*(w=g[v+2]);d+=Q*m;f+=Q*u;C+=Q*w;B=G;for(V=0;V<l;V++){B.r=m;B.g=u;B.b=w;B=B.next}r=a;for(V=1;V<=P;V++){v=(r+N)<<2;d+=(B.r=(m=g[v]))*(H=l-V);f+=(B.g=(u=g[v+1]))*H;C+=(B.b=(w=g[v+2]))*H;I+=m;O+=u;t+=w;B=B.next;if(V<R){r+=a}}v=N;U=G;K=k;for(M=0;M<b;M++){S=v<<2;g[S]=(d*z)>>c;g[S+1]=(f*z)>>c;g[S+2]=(C*z)>>c;d-=o;f-=E;C-=A;o-=U.r;E-=U.g;A-=U.b;S=(N+(((S=M+l)<R?S:R)*a))<<2;d+=(I+=(U.r=g[S]));f+=(O+=(U.g=g[S+1]));C+=(t+=(U.b=g[S+2]));U=U.next;o+=(m=K.r);E+=(u=K.g);A+=(w=K.b);I-=m;O-=u;t-=w;K=K.next;v+=a}}Y.putImageData(T,F,D)}function BlurStack(){this.r=0;this.g=0;this.b=0;this.a=0;this.next=null}function RGBColor(g){this.ok=false;if(g.charAt(0)=="#"){g=g.substr(1,6)}g=g.replace(/ /g,"");g=g.toLowerCase();var a={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"};for(var c in a){if(g==c){g=a[c]}}var h=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(k){return[parseInt(k[1]),parseInt(k[2]),parseInt(k[3])]}},{re:/^(\w{2})(\w{2})(\w{2})$/,example:["#00ff00","336699"],process:function(k){return[parseInt(k[1],16),parseInt(k[2],16),parseInt(k[3],16)]}},{re:/^(\w{1})(\w{1})(\w{1})$/,example:["#fb0","f0f"],process:function(k){return[parseInt(k[1]+k[1],16),parseInt(k[2]+k[2],16),parseInt(k[3]+k[3],16)]}}];for(var b=0;b<h.length;b++){var e=h[b].re;var d=h[b].process;var f=e.exec(g);if(f){channels=d(f);this.r=channels[0];this.g=channels[1];this.b=channels[2];this.ok=true}}this.r=(this.r<0||isNaN(this.r))?0:((this.r>255)?255:this.r);this.g=(this.g<0||isNaN(this.g))?0:((this.g>255)?255:this.g);this.b=(this.b<0||isNaN(this.b))?0:((this.b>255)?255:this.b);this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"};this.toHex=function(){var m=this.r.toString(16);var l=this.g.toString(16);var k=this.b.toString(16);if(m.length==1){m="0"+m}if(l.length==1){l="0"+l}if(k.length==1){k="0"+k}return"#"+m+l+k};this.getHelpXML=function(){var m=new Array();for(var o=0;o<h.length;o++){var l=h[o].example;for(var n=0;n<l.length;n++){m[m.length]=l[n]}}for(var u in a){m[m.length]=u}var p=document.createElement("ul");p.setAttribute("id","rgbcolor-examples");for(var o=0;o<m.length;o++){try{var q=document.createElement("li");var t=new RGBColor(m[o]);var v=document.createElement("div");v.style.cssText="margin: 3px; border: 1px solid black; background:"+t.toHex()+"; color:"+t.toHex();v.appendChild(document.createTextNode("test"));var k=document.createTextNode(" "+m[o]+" -> "+t.toRGB()+" -> "+t.toHex());q.appendChild(v);q.appendChild(k);p.appendChild(q)}catch(r){}}return p}}(function(d){d.fn.jqm=function(f){var e={overlay:50,overlayClass:"jqmOverlay",closeClass:"jqmClose",trigger:".jqModal",ajax:p,ajaxText:"",target:p,modal:p,toTop:p,onShow:p,onHide:p,onLoad:p};return this.each(function(){if(this._jqm){return o[this._jqm].c=d.extend({},o[this._jqm].c,f)}q++;this._jqm=q;o[q]={c:d.extend(e,d.jqm.params,f),a:p,w:d(this).addClass("jqmID"+q),s:q};if(e.trigger){d(this).jqmAddTrigger(e.trigger)}})};d.fn.jqmAddClose=function(f){return n(this,f,"jqmHide")};d.fn.jqmAddTrigger=function(f){return n(this,f,"jqmShow")};d.fn.jqmShow=function(e){return this.each(function(){e=e||window.event;d.jqm.open(this._jqm,e)})};d.fn.jqmHide=function(e){return this.each(function(){e=e||window.event;d.jqm.close(this._jqm,e)})};d.jqm={hash:{},open:function(B,A){var v=o[B],w=v.c,m="."+w.closeClass,x=(parseInt(v.w.css("z-index"))),x=(x>0)?x:3000,f=d("<div></div>").css({height:"100%",width:"100%",position:"fixed",left:0,top:0,"z-index":x-1,opacity:w.overlay/100});if(v.a){return p}v.t=A;v.a=true;v.w.css("z-index",x);if(w.modal){if(!a[0]){l("bind")}a.push(B)}else{if(w.overlay>0){v.w.jqmAddClose(f)}else{f=p}}v.o=(f)?f.addClass(w.overlayClass).prependTo("body"):p;if(w.ajax){var e=w.target||v.w,y=w.ajax,e=(typeof e=="string")?d(e,v.w):d(e),y=(y.substr(0,1)=="@")?d(A).attr(y.substring(1)):y;e.html(w.ajaxText).load(y,function(){if(w.onLoad){w.onLoad.call(this,v)}if(m){v.w.jqmAddClose(d(m,v.w))}k(v)})}else{if(m){v.w.jqmAddClose(d(m,v.w))}}if(w.toTop&&v.o){v.w.before('<span id="jqmP'+v.w[0]._jqm+'"></span>').insertAfter(v.o)}(w.onShow)?w.onShow(v):v.w.show();k(v);return p},close:function(f){var e=o[f];if(!e.a){return p}e.a=p;if(a[0]){a.pop();if(!a[0]){l("unbind")}}if(e.c.toTop&&e.o){d("#jqmP"+e.w[0]._jqm).after(e.w).remove()}if(e.c.onHide){e.c.onHide(e)}else{e.w.hide();if(e.o){e.o.remove()}}return p},params:{}};var q=0,o=d.jqm.hash,a=[],c=d.browser.msie&&(d.browser.version=="6.0"),p=false,g=d('<iframe src="javascript:false;document.write(\'\');" class="jqm"></iframe>').css({opacity:0}),k=function(e){if(c){if(e.o){e.o.html('<p style="width:100%;height:100%"/>').prepend(g)}else{if(!d("iframe.jqm",e.w)[0]){e.w.prepend(g)}}}h(e)},h=function(f){try{d(":input:visible",f.w)[0].focus()}catch(e){}},l=function(e){d()[e]("keypress",b)[e]("keydown",b)[e]("mousedown",b)},b=function(t){var f=o[a[a.length-1]],m=(!d(t.target).parents(".jqmID"+f.s)[0]);if(m){h(f)}return !m},n=function(e,f,m){return e.each(function(){var r=this._jqm;d(f).each(function(){if(!this[m]){this[m]=[];d(this).click(function(){for(var t in {jqmShow:1,jqmHide:1}){for(var u in this[t]){if(o[this[t][u]]){o[this[t][u]].w[t](this)}}}return p})}this[m].push(r)})})}})(jQuery);(function(a){a.extend({alert:function(b){this.gritter.add(b)},_widgetControls:{},regControls:function(b){this.extend(this._widgetControls,b)},widgetize:function(){a("a[href^=http]",this).attr("target","_blank");for(var e in a._widgetControls){var b=a._widgetControls[e][0],d=a._widgetControls[e][1];if(a.isArray(d)){b.apply(a(e,this),d)}else{b.call(a(e,this),d)}}},_MsgRegistry:{jpolite:[],module:[],resource:[],msg:[function(b){a.alert({title:"System Notification",text:b});return true}]},regMsgHandlers:function(c){var d=this._MsgRegistry;for(var b in c){if(!d[b]){d[b]=[]}d[b].push(c[b])}},handleMessage:function(c){var f=true;for(var d in c){var b=this._MsgRegistry[d];if(b){for(var e in b){b[e](c[d])}}}return f},_DOC:a(document),regEvent:function(b){for(var c in b){this._DOC.bind(c,b[c])}},triggerEvent:function(c,b){this._DOC.trigger(c,b)}});a.fn.extend({on:function(){if(this.is(".on")){return false}this.siblings(".on").andSelf().toggleClass("on");return true}});a.jpolite={Nav:{its:null,tabs:{},ct:null,cc:a("#content"),t1:a.fn.fadeOut,t2:a.fn.fadeIn,showModules:function(){for(var c in this.modules){var b=this.modules[c];a(b).show();b.loadContent()}},init:function(e,c,d,f){var b=this.tabs;d.call(a(e),f);this.its=a(c,e).each(function(){this.modules={};this.showModules=a.jpolite.Nav.showModules;b[this.id]=this;a(".arrow",this).click(function(){a("#pageConfId").toggle();a("ul.layout li a").removeClass("selected");a("#"+multiDash.getPageLayout()).addClass("selected")});a(".hover",this).click(function(){if(a(this).text().length>0&&a(this).parents().hasClass("on")&&multiDash.isShared!=1){a(this).html("<input type=textbox value='"+a(this).text()+"' class=tabTxt id=tabTxtId Maxlength='16' onkeyup='vPageName(this.value, this.id)'>");a(".tabTxt",this).focus();a(".tabTxt",this).focusout(function(g){if(this.value){multiDash.renamePage(this.parentNode.parentNode.id,this.value);a(this).parent().html(this.value)}});a(".tabTxt",this).keydown(function(g){if(g.keyCode==13){multiDash.renamePage(this.parentNode.parentNode.id,this.value);a(this).parent().html(this.value)}})}});a(this).click(function(g){if(!a(this).on()&&!a(".on",this).length){return false}if(getPopulateLoadPage(this.id)===true){return true}if(g.originalEvent||a(".on",this).length==0){a.jpolite.Nav.switchTab(this.id);a(".on",a.jpolite.Nav.its).not(this).not(a(this).parents()).removeClass("on")}a(this.parentNode).click();return false})})},switchTab:function(h){multiDash.setDefaultPage(h);var g=this.cc,c=this.tabs[h],d=this.t2,b=a(".module:visible"),e=function(){b.hide();a.jpolite.Content.switchTab(c.id);c.showModules();d.call(g,0)};this.ct=h;this.t1.apply(g,[0,e]);setNotesCount("P")},getTab:function(b){return this.tabs[b||this.ct]},addStaticModule:function(b,c){b.tab=this.tabs[c];b.tab.modules[b.id]=b},removeModule:function(b){delete b.tab.modules[b.id];delete _modules[b.id]}},Content:{_loadLayout:function(){},_saveLayout:function(){},cc:a(".cc"),MTS:{},moduleActions:{loadContent:function(e,h){var c=this;var g=0;if(typeof e==="boolean"){h=e;e=c.url}else{e=e||c.url}if(h!=undefined&&!h){g=1}var b=c.parentNode.className.split("span-");var f=0;if(b[1]){f=b[1].replace("last","")}var k=_modules[c.id].f;var d="div"+c.id;if(g==1){a("div#"+d).html("<center><img src=./css/g/loading.gif></img></center>");getReport(e,d,k,f,c.id,g)}else{if(e.indexOf("html")!=-1){if(e=="ReportList.html"){a(".moduleContent",this).html(getAccordian());a.widgetize.apply(this);c.loaded=true}else{a(".moduleContent",this).load(e,function(){a.widgetize.apply(this);c.loaded=true})}}else{a(".moduleContent",this).html(function(){a.widgetize.apply(this);c.loaded=true;a(".tableIconsGroup",this).hide();return getDivHtml(d,k,f,g)});getReport(e,d,k,f,c.id,g)}}},openFullScreen:function(){a(".moduleContent,.actionFullScreen",this).show();a(".actionFullScreen",this).hide()},max:function(){a(".moduleContent,.actionMin",this).show();a(".actionMax",this).hide()},min:function(){a(".moduleContent,.actionMin",this).hide();a(".actionMax",this).show()},close:function(){a(this).remove();a.jpolite.Nav.removeModule(this);a.jpolite.Content.saveLayout()}},init:function(e){var b=this.cc;if(e){b.sortable({start:function(){a.jpolite.Content.cc.addClass("dragging")},stop:function(h,g){a.jpolite.Content.cc.removeClass("dragging");var f=g.item[0];if(f.c){f.c=f.parentNode.id}a.jpolite.Content.saveLayout()},connectWith:".cc",handle:".moduleHeader",cancel:".moduleActions b",opacity:0.5,placeholder:"ui-sortable-placeholder",tolerance:"pointer",revert:true})}b=b.toArray();for(var c in b){this[b[c].id]=a(b[c])}b=a(".module_template").toArray();if(b.length>0){for(var c in b){var d=b[c].id||0;this.MTS[d]=a(b[c]).attr("class","module").remove()}}this.loadStatic();this.loadLayout()},switchTab:function(d){var b=a.extend({},_columnLayout._default,_columnLayout[d]),e=a("body").attr("class")||"normal";if(e!=b.bg){a("body").switchClass(e,b.bg)}delete b.bg;for(var f in b){this[f].attr("class","cc "+b[f])}},addModule:function(d,e){var g=this[d.c];if(!g){return}if(!_modules[d.id]){return}if(e.modules[d.id]){a(e.modules[d.id]).fadeTo(200,0.5).fadeTo(200,1);return}var f=_modules[d.id];var b=this.MTS[d.mt||0].clone()[0];a.extend(b,{mc:"",mt:""},this.moduleActions,d,{loaded:false,url:f.url,tab:e});e.modules[d.id]=b;if(d.mc){a(b).addClass(d.mc)}g.append(b);if(e.id==a.jpolite.Nav.ct){a(b).show();b.loadContent()}},loadStatic:function(){var b=this.moduleActions;a(".module").each(function(){var c=this.id.split(":");a.extend(this,{id:c[0],tab:c[1],loaded:true},b);a.widgetize.apply(this);a.jpolite.Nav.addStaticModule(this,c[1])})},loadLayout:function(){var b=this._loadLayout()||_moduleLayout;for(var d in b){var f=a.jpolite.Nav.getTab(d);if(f){for(var c in b[d]){var e=b[d][c].split(":");this.addModule({id:e[0],c:e[1],mc:e[2]||"",mt:e[3]||""},f)}}}},saveLayout:function(){var b="{"+a.jpolite.Nav.its.map(function(){var e=[],c=this.modules;for(var d in c){e.push("'".concat(c[d].id,":",c[d].c,":",c[d].mc,":",c[d].mt,"'"))}return"'"+this.id+"':["+e.toString()+"]"}).get().join(",")+"}";if(this._saveLayout){this._saveLayout(b)}}},init:function(b){var c=a.extend({cts:"#main_nav",its:"li",t1:a.fn.fadeOut,t2:a.fn.fadeIn,navInit:TraditionalTabs,navInitArguments:{},moduleSortable:true},b);this.Nav.init(c.cts,c.its,c.navInit,c.navInitArguments);this.Nav.t1=c.t1;this.Nav.t2=c.t2;if(c.layoutPersistence){this.Content._loadLayout=c.layoutPersistence[0];this.Content._saveLayout=c.layoutPersistence[1]}this.Content.init(c.moduleSortable)},gotoTab:function(b){a(this.Nav.getTab(b)).click()},addModule:function(b){this.Content.addModule(b,this.Nav.getTab())},replaceModule:function(c,f){var b=a(".module:visible",this.Content[c]).get();var e=this.Nav.getTab();for(var d in b){b[d].close()}for(d in f){this.Content.addModule({id:f[d],c:c},e)}this.Content.saveLayout()}}})(jQuery);var logged_in=false;var auth_token_key="?authenticity_token=";var numTabs=6;var userList="",groupList="";$.fn.extend({Tabs:function(){return this.each(function(){var a=$(this);var b=a.children("div").addClass("tabsdiv").hide();a.children(".tabsul").children("li").each(function(c){this.target=b[c];$(this).click(function(){if(!$(this).on()){return}$(this.target).siblings("div:visible").andSelf().toggle();var d=$("a",this);if((d.size()>0)&&!this.loaded){$(this.target).load(_modules[d[0].rel].url,$.widgetize);this.loaded=true}})}).eq(0).click()})},Accordion:function(){return this.each(function(){$(this).children("dt").click(function(){var a=$(this);if(!a.on()){return}a.siblings("dd:visible").add(a.next()).slideToggle()}).eq(0).click()})},MAccordion:function(){return this.each(function(){var a=$(this);a.addClass("accordion").children("dd").slideDown();a.children("dt").addClass("on").click(function(){$(this).toggleClass("on").next().slideToggle()})})},JsonForm:function(){this.append($("<div class='error'/><div class='notice'/>").hide());return this.submit(function(){var a=this;$.post(this.action,$(this).serialize()+auth_token_key,function(b){if($.HandleMessage(b)){$(".jqmWindow:visible").jqmHide()}},"json");return false})},SideMenu:function(){return this.each(function(){$(this).children().click(function(){var b=$("a",this)[0].rel.split(":");var a=$(".module:visible",$.jpolite.Content.c2).get();if(a[0]){multiDash.setReportId(a[0].id,b[0]);_modules[a[0].id].url=b[0];$("#"+a[0].id)[0].url=b[0];_modules[a[0].id].f=b[1];$("#"+a[0].id)[0].f=b[1];$("#"+a[0].id)[0].loadContent(true)}else{addReport(b[0],b[1])}})})}});function openGraphTypeWindow(a){var b="";if(Graph=="CUBOT"){b=" <div class=gtypeGroupClass moduleId="+a+'> <table border=0 cellpadding=0 cellspacing=0 class=gtypeTable> <tr> <td><span class=gtypeClass><b class="actionReportPie" title="Pie"></b></span> </td> <td><span class=gtypeClass><b class="actionReportLine" title="Line"></b></span> </td> <td><span class=gtypeClass><b class="actionReportColumn" title="Column chart"></b></span> </td> <td><span class=gtypeClass><b class="actionReportStack" title="Stacked Bar"></b></span> </td> </tr> <tr> <td><span class=gtypeClass><b class="actionReportCombo" title="Combo"></b></span> </td> <td><span class=gtypeClass><b class="actionReportMap" title="Map"></b></span> </td> <td><span class=gtypeClass><b class="actionReportText" title="Text Report"></b></span> </td> <td><span class=gtypeClass><b class="actionReportSVG" title="Custom SVG Chart"></b></span> </td> </tr> <tr> <td><span class=gtypeClass><b class="actionReportStatusBar" title="Status Bar"></b></span> </td> <td><span class=gtypeClass><b class="actionReportTraffic" title="Traffic Light"></b></span> </td> </tr> </table> </div>'}else{b="<div class=gtypeGroupClass moduleId="+a+'><table border=0 cellpadding=0 cellspacing=0 class=gtypeTable> <tr> <td><span class=gtypeClass><b class="actionReportPie" title="Pie"></b></span> </td> <td><span class=gtypeClass><b class="actionReportDonut" title="Donut Chart"></b></span> </td> <td><span class=gtypeClass><b class="actionReportSunburst" title="Sunburst Chart"></b></span> </td> <td><span class=gtypeClass><b class="actionReportRadar" title="Radar Chart"></b></span> </td> </tr> <tr> <td><span class=gtypeClass><b class="actionReportLine" title="Line"></b></span> </td> <td><span class=gtypeClass><b class="actionReportStock" title="Stock Chart"></b></span> </td> <td><span class=gtypeClass><b class="actionReportStackedArea" title="Stacked Area Chart"></b></span> </td> <td><span class=gtypeClass><b class="actionReportCombo" title="Combo"></b></span> </td> </tr> <tr> <td><span class=gtypeClass><b class="actionReportBar" title="Bar"></b></span> </td> <td><span class=gtypeClass><b class="actionReportColumn" title="Column chart"></b></span> </td> <td><span class=gtypeClass><b class="actionReportStack" title="Stacked Bar"></b></span> </td> <td><span class=gtypeClass><b class="actionWaterfall" title="Waterfall Chart"></b></span> </td> </tr> <tr> <td><span class=gtypeClass><b class="actionReportGauge" title="Gauge"></b></span> </td> <td><span class=gtypeClass><b class="actionReportBullet" title="Bullet Chart"></b></span> </td> <td><span class=gtypeClass><b class="actionReportTree" title="Tree Chart"></b></span> </td> <td><span class=gtypeClass><b class="actionFunnelChart" title="Funnel Chart"></b></span> </td> </tr> <tr> <td><span class=gtypeClass><b class="actionReportZoomTree" title="Zoomable Tree"></b></span> </td> <td><span class=gtypeClass><b class="actionReportHeat" title="Heat Chart"></b></span> </td> <td><span class=gtypeClass><b class="actionCalendar" title="Calendar Chart"> <td><span class=gtypeClass><b class="actionReportText" title="Text Report"></b></span> </td> </tr> <tr> <td><span class=gtypeClass><b class="actionReportMap" title="Map"></b></span> </td> <td><span class=gtypeClass><b class="actionReportPC" title="Parallel Coordinate Chart"></b></span> </td> <!--td><span class=gtypeClass><b class="actionReportSVG" title="Custom SVG Chart"></b></span> </td--> <!--td><span class=gtypeClass><b class="actionReportStatusBar" title="Status Bar"></b></span> </td--> <td><span class=gtypeClass><b class="actionReportDataTable" title="Data Table"></b></span> </td> <td><span class=gtypeClass><b class="actionReportTraffic" title="Traffic Light"></b></span> </td> </tr> </table> </div>'}$("#ChartTypeDIV").html(b);$("#ChartTypeDIV").show()}function chartLiveEvents(a,b){$(a).live("click",function(){var c=$(this).parents(".gtypeGroupClass").attr("moduleId");_modules[c].f=b;$("div#"+c)[0].loadContent(true);multiDash.setReportDisplayType(c,b)})}function handleHide(){$(".graphConfigureUL").hide("slow");$("#ChartTypeDIV").hide("slow")}function returnGroups(c){var a=[];for(var b=0;b<c.length;b++){if(groupList&&groupList.indexOf(c[b])>=0){a.push(c[b])}}return a}function returnUsers(c){var d=[];for(var b=0;c&&b<c.length;b++){for(var a=0;userList&&a<userList.length;a++){if(userList[a][0]==c[b]){d.push(c[b])}}}return d}function editShare(d,b){$("input[name=dash]").attr("checked",false);$("input[name=page]").attr("checked",false);if(b=="D"){var c=$("input[name=dash]").filter("input#"+d);$(c).attr("checked",true);checkDashPage($(c).attr("id"),-1)}else{var a=$("input[name=page]").filter("input#"+d);$(a).attr("checked",true);checkDashPage($(a).attr("class"),$(a).attr("id"))}showHide(".share",".sharedList")}function unshare(b,a){shareObject(sessionid,b,a,"users=ALL;groups=ALL","Remove");getAllSharedObjects(populateSharedList)}function populateSharedList(){var e=Object.keys(_shared);var c="<table class='sharedListTable'><tr><th>Name</th><th>Type</th><th>Users</th><th>Groups</th><th>Actions</th></tr>";for(var d=0;d<e.length;d++){if(_shared[e[d]].type=="D"){var f=e[d];var a=multiDash.getDashNameById(f);c+="<tr><td>"+a+"</td><td>Dashboard</td><td>"+returnUsers(_shared[f].users)+"</td><td>"+returnGroups(_shared[f].users)+"</td><td><a onclick='editShare("+f+", \"D\")'>Edit</a> | <a onclick='unshare("+f+',"D")\'>Unshare</a></td></tr>'}else{var b=e[d];var a=multiDash.getPageNameById(b);c+="<tr><td>"+a+"</td><td>Page</td><td>"+returnUsers(_shared[b].users)+"</td><td>"+returnGroups(_shared[b].users)+"</td><td><a onclick='editShare("+b+", \"P\")'>Edit</a> | <a onclick='unshare("+b+',"P")\'>Unshare</a></td></tr>'}}c+="</table>";$(".sharedList").html(c)}function myLiveEvents(){$("span.gtypeClass b").live("click",function(){var c=$(this).parents(".gtypeGroupClass").attr("moduleId");var b=getReportTypeByClassName(this.className);_modules[c].f=b;$("div#"+c)[0].loadContent(true);multiDash.setReportDisplayType(c,b);handleHide()});$(".graphConfigure").live("mouseover",function(){var b=$(this).parents(".module")[0].id;$(".graphConfigureUL").attr("moduleId",b);$(".graphConfigureUL").show("slow");$(".graphConfigureUL").css("left",$(this)[0].offsetLeft-175);$(".graphConfigureUL").css("top",$(this)[0].offsetTop+18);$("#dashConfList").hide("slow")});$(".moduleContent, #main_nav").live("mouseover",function(){handleHide()});$(".actionRefresh").live("mousedown",function(){var b=$(this).parents(".graphConfigureUL").attr("moduleId");$("div#"+b)[0].loadContent(false)});$(".actionExport").live("mousedown",function(){var b=$(this).parents(".graphConfigureUL").attr("moduleId");jqplotToImage($("#div"+b));return false});function a(b){return(b+"").replace(/\"/g,'""').replace(/\0/g,"\\0")}$(".actionExportData").click(function(){var f=$(this).parents(".graphConfigureUL").attr("moduleId");var e=_modules[f].url;var g=getReportData(sessionid,e);var b="";for(var d=0;d<g.length;d++){b+=g[d].join(",")+"\n"}var c="data:application/octet-stream,"+encodeURIComponent(b);var h=window.open(c,"Nutrient CSV");h.focus();return false});$(".actionFullScreen").live("click",function(){var g=getMheight()-150;var b=getWidthBySpan(24);$(function(){$("#dialog").dialog({height:g,width:b,modal:true,resizable:true,autoResize:true,autoOpen:false,position:[10,10]})});var e=$(this).parents(".graphConfigureUL").attr("moduleId");var d=_modules[e].url;var f=_modules[e].f;var c='<div id="full'+d+'" style="height:'+(g)+"px;width:"+(b-40)+'px;overflow:hidden;position:relative;"></div><script language=javascript>getReport("'+d+'","full'+d+'","'+f+'","30","'+e+'", false);<\/script>';if(f!="T"){c+='<div id="full2'+d+'" style="height:200px;width:'+(b-40)+'px;overflow:auto"></div><script language=javascript>getReport("'+d+'","full2'+d+'","T","30","'+e+'", false);<\/script>'}$("#dialog").html(c).dialog("open");return false});$("#Export").live("click",function(){$(function(){$("#dialogS").dialog({height:"auto",width:"auto",modal:true,resizable:true,autoResize:true,autoOpen:false,position:["center",100]})});$("span.ui-dialog-title").text(getLabel("Export Dashboard and Pages"));var h=0,g="",c=0,b="",e=0,d=0;htmlstr='<div id=dashMsg align=center></div><div><table width="100%" border="0" cellspacing="0" cellpadding="0" >';for(e=0;e<multiDash.dashObj.length;e++){h=multiDash.dashObj[e].id;g=multiDash.dashObj[e].name;htmlstr+='<tr><td colspan=10><input type="checkbox" name="dash" id='+h+' onclick="checkDashPage('+h+',-1)" title="'+g+'"/>'+g+"</td></tr>";htmlstr+="<tr><td> </td>";for(d=0;d<multiDash.dashObj[e].pages.length;d++){c=multiDash.dashObj[e].pages[d].id;b=multiDash.dashObj[e].pages[d].name;if(d!=0&&d%10==0){htmlstr+="</tr><tr><td></td>"}htmlstr+='<td><input type="checkbox" name="page" class="'+h+'" id='+c+' onclick="checkDashPage('+h+","+c+')" title="'+b+'"/>'+b+"</td>"}htmlstr+="</tr><tr><td colspan=10 class=dash_divider></td></tr>"}htmlstr+="</table><div width=100%>";htmlstr+=getLabel("Action")+': <input type="checkbox" name="Export" checked=checked value="Y"/>'+getLabel("Export")+' <input type="checkbox" name="Email" value="Y" id=CEmail onclick="onoffEmaildiv()"/>'+getLabel("Email")+"</div>";htmlstr+='<div width=100% id=email><div style="width:80%;float:left"><table width=100% class=EmailTable>';htmlstr+="<tr><td>To :</td><td><textarea id=EmailTo maxlength=2048 cols=70 rows=3></textarea></td><td rowspan=3 valign=top></td></tr>";htmlstr+="<tr><td>Subject :</td><td><textarea id=Subject maxlength=256 cols=70 rows=1></textarea></td></tr>";htmlstr+="<tr><td>Content :</td><td><textarea id=Content maxlength=2048 cols=70 rows=3></textarea></td></tr>";htmlstr+="</table></div>";s=new dTree("s");s.config.useStatusText=true;s.config.closeSameLevel=false;s.config.useCookies=false;s.config.target="";s.add(0,0,getLabel("Group and User List"),"","","","","/showcase/css/g/User-Group-icon.png");s.add(100000,0,getLabel("Groups"));s.add(200000,0,getLabel("Users"));var f=getUserList(sessionid);for(e=0;e<f.length;e++){if(f[e][0]==userId){continue}s.add((e+1),200000,f[e][0],"","",f[e][1],"","/edash/assets/default/images/user.gif","","",'<input type="checkbox" name="user" value="'+f[e][2]+'" title="'+f[e][2]+'" onclick="fillTo(this.value, this.checked)"/>')}htmlstr+='<div style="width:18%; float:right;height:200px;overflow:auto">'+s+"</div>";htmlstr+="</div>";htmlstr+='<div style="background:black;width:200px;padding-left:50px"><button type=button onclick=exportDashboard("PDF")>'+getLabel("Go")+"</div>";htmlstr+='<form name=exportForm action="pdfreport.rx" method=POST target="_blank"></form>';htmlstr+="</div>";$("#dialogS").html(htmlstr).dialog("open");return false});$("#share").live("click",function(){$(function(){$("#dialogS").dialog({height:"auto",width:"auto",modal:true,resizable:true,autoResize:true,autoOpen:false,position:["center",100]})});$("span.ui-dialog-title").text(getLabel("Share Dashboard and Pages"));var k=0,h="",d=0,c="",f=0,e=0;htmlstr="<div><a href=\"#\" onclick=\"showHide('.share','.sharedList')\">Share</a> | <a href=\"#\" onclick=\"showHide('.sharedList', '.share')\">Shared List</a></div><div id=dashMsg align=center></div><div class=share><div class=dash><div class=heading1>1. "+getLabel("Select Dashboard, Pages")+'</div><table width="100%" border="0" cellspacing="0" cellpadding="0" class=shareSubtable>';for(f=0;f<multiDash.dashObj.length;f++){k=multiDash.dashObj[f].id;h=multiDash.dashObj[f].name;htmlstr+='<tr><td width=16px><input type="checkbox" name="dash" id='+k+' onclick="checkDashPage('+k+',-1)" title="'+h+'"/></td><td>'+h+"</td></tr>";for(e=0;e<multiDash.dashObj[f].pages.length;e++){d=multiDash.dashObj[f].pages[e].id;c=multiDash.dashObj[f].pages[e].name;htmlstr+='<tr><td></td><td><input type="checkbox" name="page" class="'+k+'" id='+d+' onclick="checkDashPage('+k+","+d+')" title="'+c+'"/>'+c+"</td></tr>"}}htmlstr+="</table>";htmlstr+="</div><div class=usergrp>";htmlstr+="<div class=heading2>2. "+getLabel("Select Groups, Users")+"</div>";var b=getGroupList(sessionid);groupList=b[0]||[];s=new dTree("s");s.config.useStatusText=true;s.config.closeSameLevel=false;s.config.useCookies=false;s.config.target="";s.add(0,0,getLabel("Group and User List"),"","","","","/showcase/css/g/User-Group-icon.png");s.add(100000,0,getLabel("Groups"));s.add(200000,0,getLabel("Users"));for(f=0;f<b.length;f++){s.add((f+1),100000,b[f][0],"","",b[f][0],"","/edash/assets/default/images/grp.gif","","",'<input type="checkbox" name="group" value="'+b[f][0]+'" title="'+b[f][0]+'"/>')}var g=getUserList(sessionid);userList=g||[];for(f=0;f<g.length;f++){if(g[f][0]==userId){continue}s.add((f+1),200000,g[f][0],"","",g[f][1],"","/edash/assets/default/images/user.gif","","",'<input type="checkbox" name="user" value="'+g[f][0]+'" title="'+g[f][0]+'"/>')}htmlstr+="<div class=dtreeShare>"+s+"</div>";htmlstr+="</div><div class=rightPanel><div class=heading3>3. "+getLabel("Confirm, Go")+'</div><div id=confirmShare></div><center style="margin-left:10px"><button type=reset class=button_orange >'+getLabel("Reset")+'</button><button type=button class=button_green onclick="shareDash()">'+getLabel("Apply")+"</button></center></div></div>";htmlstr+=' <div class="sharedList" style="display:none">';htmlstr+="</div>";$("#dialogS").html(htmlstr).dialog("open");getAllSharedObjects(populateSharedList);return false});$("input:checkbox[name=group]").live("click",function(){if(!this.checked){checkForUnshare(this.value,"group")}fillConfirmSharing()});$("input:checkbox[name=user]").live("click",function(){if(!this.checked){checkForUnshare(this.value,"user")}fillConfirmSharing()});$(".actionLinktoPage").live("click",function(){$(function(){$("#dialogS").dialog({height:400,width:200,modal:true,resizable:true,autoResize:true,autoOpen:false,position:["center",100]})});$("span.ui-dialog-title").text("Link to Dashboard Page");var b=0,c="",d=0,k="",g=0,f=0,e=$(this).parents(".graphConfigureUL").attr("moduleId");var l=multiDash.getReportDashLink(e),m=-1,h=-1;if((l.length>0)&&(l[0]>0)){m=l[0]}htmlstr='<table width="100%" border="0" cellspacing="0" cellpadding="0" class=settings><tr><td colspan=3 id=dashMsg align=center></td></tr>';htmlstr+='<tr><td></td><td><input type="radio" name="link" checked=checked onclick="createReportDashLink('+e+",'','')\"/>None</td><td></td></tr>";for(g=0;g<multiDash.dashObj.length;g++){b=multiDash.dashObj[g].id;c=multiDash.dashObj[g].name;if(b==m){h=l[1]}htmlstr+="<tr><td colspan=3><b><u>"+c+"</u></b></td></tr>";for(f=0;f<multiDash.dashObj[g].pages.length;f++){d=multiDash.dashObj[g].pages[f].id;k=multiDash.dashObj[g].pages[f].name;if(h==d){checked="checked=checked"}else{checked=""}htmlstr+='<tr><td></td><td><input type="radio" name="link" '+checked+' onclick="createReportDashLink('+e+","+b+","+d+')"/>'+k+"</td><td></td></tr>"}}htmlstr+="</table>";$("#dialogS").html(htmlstr).dialog("open");return false});$(".actionNote").live("click",function(){var c=$(this).parents(".graphConfigureUL").attr("moduleId");var b=_modules[c].url;var d=getReportMetaData(sessionid,b)[3];displayNotes(c,"Notes for <span class=R>"+d+" </span>"+getLabel("Report"));return false});$("#dashsettings").live("click",function(){$(function(){$("#dialogS").dialog({height:"auto",width:"auto",modal:true,resizable:true,autoResize:true,autoOpen:false,position:["center",100]})});$("span.ui-dialog-title").text(getLabel("Dashboard Settings"));htmlstr='<table id=dashSettingTable width="100%" border="0" cellspacing="0" cellpadding="0" id=dashord class=settings><tbody class=content><tr class="nodrag nodrop"><td colspan=3 id=dashMsg align=center></td></tr><tr class="nodrag nodrop"><td colspan=3><b><u>'+getLabel("Add Dashboard")+'</u></b></td></tr><tr class="nodrag nodrop"><td>'+getLabel("Dashboard Name")+'</td><td><input type="text" id="NewDash" value="" Maxlength="16" onkeyup="vPageName(this.value, this.id)"></td><td><a class="clickable" onclick="addDash(document.getElementById(\'NewDash\').value)">'+getLabel("Add")+"</a></td></tr>";htmlstr+='<tr class="nodrag nodrop"><td colspan=3><b><u>'+getLabel("Change Dashboard")+"</u></b></td></tr>";var c=multiDash.getDashboards();for(var d=0;d<c.length;d++){var b=c[d].split(":");htmlstr+='<tr id="trED'+b[0]+'"><td class=dragHelp title="'+getLabel("Drag to change order.")+'"></td><td><input type="text" id="ED'+b[0]+'" value="'+b[1]+'" Maxlength="16" onkeyup="vPageName(this.value, this.id)"></td><td><a class="clickable" onclick="renameDash(\''+b[0]+"')\">"+getLabel("Rename")+'</a> | <a class="clickable" onclick="removeDash(\''+b[0]+"')\">"+getLabel("Remove")+"</a></td></tr>"}htmlstr+="</tbody></table>";if(d>0){htmlstr+='<div style="float:right;margin-right:10px;"> <button type=button class=button_green onclick="saveDragAndDropDashboard(\'dashSettingTable\')" title="'+getLabel("Click to save dashboard order")+'">'+getLabel("Apply")+"</button></div>"}$("#dialogS").html(htmlstr).dialog("open");applyDnD("#dashSettingTable","#dashMsg");return false});$("#settings").live("click",function(){$(function(){$("#dialogS").dialog({height:"auto",width:"auto",modal:true,resizable:true,autoResize:true,autoOpen:false,position:["center",100]})});$("span.ui-dialog-title").text(getLabel("Page Settings"));htmlstr='<table id=pageSettings width="100%" border="0" cellspacing="0" cellpadding="0" class=settings><tr class="nodrag nodrop"><td colspan=3 id=dashMsg></td></tr><tr class="nodrag nodrop"><td colspan=3><b><u>'+getLabel("Add Page")+'</u></b></td></tr><tr class="nodrag nodrop"><td>'+getLabel("Page Name")+':</td><td><input type="text" id="NewPage" value="" Maxlength="16" onkeyup="vPageName(this.value, this.id)"></td><td><a class="clickable" onclick="addPage(document.getElementById(\'NewPage\').value)">'+getLabel("Add")+"</a></td></tr>";htmlstr+='<tr class="nodrag nodrop"><td colspan=3><b><u>'+getLabel("Change Page")+"</u></b></td></tr>";var d=multiDash.getCurrentPages();for(var c=0;c<d.length;c++){var b=d[c].split(":");htmlstr+='<tr id="trED'+b[0]+'"><td class=dragHelp title="'+getLabel("Drag to change order.")+'"></td><td><input type="text" id="ED'+b[0]+'" value="'+b[1]+'" Maxlength="16" onkeyup="vPageName(this.value, this.id)"></td><td><a class="clickable" onclick="renameDashPage(\''+b[0]+"')\">"+getLabel("Rename")+'</a> | <a class="clickable" onclick="removePage(\''+b[0]+"')\">"+getLabel("Remove")+"</a></tr>"}htmlstr+="</table>";if(c>0){htmlstr+='<div style="float:right;margin-right:10px;"> <button type=button class=button_green onclick="saveDragAndDropPages(\'pageSettings\')" title="'+getLabel("Click to save page order")+'">'+getLabel("Apply")+"</button></div>"}$("#dialogS").html(htmlstr).dialog("open");applyDnD("#pageSettings","#dashMsg");return false});$("#Copy").live("click",function(){copyToPersonalSpace()});$("#menu_btn").live("click",function(){showFilterTemplate()});$("#dashConfigSetting").live("click",function(){$("#dashConfList").toggle("slow");handleHide()});$(".actionGraphSettings").live("mousedown",function(){var b=$(this).parents(".graphConfigureUL").attr("moduleId");displayObj.RD=multiDash.getReportDisplayOptions(b);if(typeof displayObj.RD=="undefined"){displayObj.RD={}}setGraphOptions(b)});$(".actionGotoPage").live("mousedown",function(){executeReportDashLink($(this).parents(".graphConfigureUL").attr("moduleId"))});$(".actionMax").live("mousedown",function(){var b=$(this).parents(".graphConfigureUL").attr("moduleId");if(typeof b!="undefined"){$("div#"+b)[0].max()}else{$(this).parents(".module")[0].max();$(this).hide().siblings(".actionMin").show()}});$(".actionMin").live("mousedown",function(){var b=$(this).parents(".graphConfigureUL").attr("moduleId");if(typeof b!="undefined"){$("div#"+b)[0].min()}else{$(this).parents(".module")[0].min();$(this).hide().siblings(".actionMax").show()}});$(".actionClose").live("mousedown",function(){var b=$(this).parents(".graphConfigureUL").attr("moduleId");if(typeof b=="undefined"){b=$(this).parents(".module")[0].id}if(multiDash.isShared!=1){multiDash.removeReportFromPage(b);removeNote(sessionid,b,"All")}$("div#"+b)[0].close();handleHide()});$(".moduleHeader").live("dblclick",function(){$(this).parents(".cc").toggleClass("max").siblings(".cc").toggleClass("min");$(this).parents(".module")[0].loadContent(true);return false});$("a.tab").live("click",function(){$.jpolite.gotoTab(this.rel);return false});$("a.local").live("click",function(){$(this).parents(".module")[0].loadContent(this.href,true);return false});$(".onOffIcons").die("mouseover");$(".onOffIcons").live("mouseover",function(){$("#ChartTypeDIV").css("left",$(this).parents()[0].offsetLeft-158);$("#ChartTypeDIV").css("top",$(this).parents()[0].offsetTop);openGraphTypeWindow($(this).parents(".graphConfigureUL").attr("moduleId"));return false});$("ul.layout li a").live("click",function(){$("ul.layout li a").removeClass("selected");$(this).addClass("selected");var b=$("ul#main_nav li.on").attr("id");_columnLayout[b]=Layout[this.id];$.jpolite.Nav.switchTab(b);multiDash.setPageLayout(b,this.id);return false});$("div#closelayout").live("click",function(){$("#pageConfId").hide();return false});$(".noteTextarea").live("keyup",function(b){if(b.keyCode==13){if(putNote(sessionid,this.id,null,this.value.replace(/\n$/,""))==""){displayNotes(this.id,$("span.ui-dialog-title").html())}}else{if(this.value.length>254){this.value=this.value.substring(0,254)}}return false});$(".deleteNote").live("click",function(){if(removeNote(sessionid,this.id.split(":")[0],this.id.split(":")[1])==""){displayNotes(this.id.split(":")[0],$("span.ui-dialog-title").html())}return false});$("#print").live("click",function(){myprint();return false});$(".firstTab").live("click",function(){showFirstTab()});$(".prevTab").live("click",function(){showPreviousTab()});$(".nextTab").live("click",function(){showNextTab()});$(".lastTab").live("click",function(){showLastTab()});$(window).resize(function(){resizeNumTabs()});$("div#toolbar-minimized").live("click",function(){if($("div#toolbar-minimized").css("background-image").indexOf("show_bar.png")>0){$("div#toolbar-minimized").css("background-image","url('/showcase/css/g/hide_bar.png')");$("div#toolbar-minimized").attr("title",getLabel("Hide Bar"));$("div#header").slideToggle("slow");if(G_THEME=="modern"){$("body").css("padding-top","100px")}}else{$("div#toolbar-minimized").css("background-image","url('/showcase/css/g/show_bar.png')");$("div#toolbar-minimized").attr("title",getLabel("Show Bar"));$("div#header").slideToggle("slow");$("body").css("padding-top","0px")}});$(".actionFreeze").live("click",function(){var b=$(this).parents(".graphConfigureUL").attr("moduleId");freezeTextHeader("div"+b)});$("ul.graphConfigureUL li").live("click",function(){if(this.className!="onOffIcons"){$("#ChartTypeDIV").hide()}})}function myCustomEvents(){$.regEvent({moduleLoadedEvent:function(a,b){$.alert({title:"Report Loaded",text:b})},moduleLoadingEvent:function(a,b){$.alert({title:"Loading Report...",text:b})}});$("#loading").ajaxStart(function(){$(this).css("visibility","visible")}).ajaxStop(function(){$(this).css("visibility","hidden")})}function myMessageHandlers(){$.regMsgHandlers({login:Login,resource:function(b){for(var a in b){var d=b[a];var c=[d.name];if(d.url){c.push(d.url)}c.push(true);$.triggerEvent(d.method=="destroy"?"destroyEvent":"refreshEvent",c)}return true},notice:function(a){var b=$("form:visible");if(a.length){a=$.map(a,function(d,c){return d.join(" -- ")});if(b.size()>0){$(".notice",b).html(a.join("<br/>")).hide().slideDown()}}return false},error:function(a){var b=$("form:visible");if(b.size()>0){$(".error",b).html(a).hide().slideDown()}return false}})}function myControls(){$.regControls({".tabs":[$.fn.Tabs],".accordion":[$.fn.Accordion],".maccordion":[$.fn.MAccordion],".jsonform":[$.fn.JsonForm],".menu":[$.fn.SideMenu],".jqmWindow":[$.fn.jqm,{toTop:true}],".accordion1":[$.fn.accordion,{header:"h3"}],".tabs1":[$.fn.tabs],".dialog":[$.fn.dialog,{autoOpen:false,width:600,buttons:{Ok:function(){$(this).dialog("close")},Cancel:function(){$(this).dialog("close")}}}],".datepicker":[$.fn.datepicker,{inline:true}],".progressbar":[$.fn.progressbar,{value:20}],"#dialog_link, ul#icons li":[$.fn.hover,[function(){$(this).addClass("ui-state-hover")},function(){$(this).removeClass("ui-state-hover")}]]})}function TraditionalTabs(){}function showHide(a,b){$(a).show();$(b).hide()}function clearText(){document.getElementById("iname").style.background="#FFFFFF";document.getElementById("iname").value=""}function sort_unique(a){if(typeof a=="undefined"||a.length<1){return a}a=a.sort(function(e,d){return e*1-d*1});var b=[a[0]];for(var c=1;c<a.length;c++){if(a[c-1]!==a[c]){b.push(a[c])}}return b}function completeTreeStructure(c){var f=new Array();var a=new Array();var d=0,b=0,e=0;for(d=0;d<c.length;d++){f[d]=c[d][1]}f=sort_unique(f);for(d=0;d<f.length;d++){e=0;for(b=0;b<c.length;b++){if(f[d]==c[b][0]){e=1;break}}if(e==0){a.push(f[d])}}return a}function getProperParent(f,b,c,e,a){if(c=="Folder"&&e=="Shared"&&a!=userId){return 10}for(var d=0;d<f.length;d++){if(f[d]==b){return 0}}return b}function loadModuleMenu(a){if($("#module_menu").html().length>1&&a==false){return false}$("#module_menu").jqm().html("");$("#module_menu").jqm().html(function(){var e=getReportMetaData(sessionid,"null");var d=getMetaData(sessionid);var b=e.length;var k="";if(b>0){e=e.sort(multiDimensional)}var c=completeTreeStructure(e);var h='<div class=ui-widget-header style="position:relative"><b> '+getLabel("Report List")+" </b><div id=closemenu>"+getLabel("close")+" </div></div>\n";h+="<div id='rptlist_msg'></div><div class=search><input id=iname value=\""+getLabel("Search Reports")+'" type=text onclick="clearText()" onkeyup="DtreeRptList.Isearch(this.value);"></div>';DtreeRptList=new dTree("DtreeRptList");DtreeRptList.config.useStatusText=true;DtreeRptList.config.closeSameLevel=false;DtreeRptList.config.useCookies=false;DtreeRptList.config.target="";DtreeRptList.add(0,0,getLabel("Dashboard Report List")+' [ <a href="javascript: DtreeRptList.openAll();"><font color=blue>'+getLabel("Expand all")+'</font></a> | <a href="javascript: DtreeRptList.closeAll();"><font color=blue>'+getLabel("Collapse all")+"</font></a> ]");DtreeRptList.add(10,0,getLabel("Shared Reports"));for(var g=0;g<e.length;g++){if(e[g][11]=="Folder"){DtreeRptList.add(e[g][0],getProperParent(c,e[g][1],e[g][11],e[g][16],e[g][2]),e[g][3],"","",e[g][4],"","")}}for(var g=0;g<e.length;g++){if(e[g][11]!="Folder"){DtreeRptList.add(e[g][0],getProperParent(c,e[g][1],e[g][11],e[g][16],e[g][2]),e[g][3],e[g][11]=="Folder"?"":"javascript:addReport('"+e[g][0]+"','"+e[g][11]+"');","",e[g][4],"",e[g][11]=="Folder"?"":(e[g][16]=="Personal"?"/showcase/css/g/report.png":"/showcase/css/g/shared.png"))}}var f=getAppList(sessionid,"");if(f.length>0){DtreeRptList.add(15,0,getLabel("My Application"));for(g=0;g<f.length;g++){DtreeRptList.add(f[g][0],15,f[g][1],"javascript:addReport('"+f[g][2]+"','APP');")}}$("#module_menu").append(h+"<div class=dtreeParent>"+DtreeRptList+"<div class=newMod onClick=addReportList()>• "+getLabel("Add Report List")+"</div></div>")});$("#addReport").click(function(){$("#module_menu").jqmShow()});$("#closemenu").click(function(){$("#module_menu").jqmHide()})}function getColPosition(){var e=$(".module:visible",$.jpolite.Content.c1).length;var c=$(".module:visible",$.jpolite.Content.c2).length;var b=$(".module:visible",$.jpolite.Content.c3).length;var a=$(".module:visible",$.jpolite.Content.c4).length;var d=$("ul#main_nav li.on").attr("id");if(_columnLayout[d]["c1"].indexOf("hide")>-1){e=9999}if(_columnLayout[d]["c2"].indexOf("hide")>-1){c=9999}if(_columnLayout[d]["c3"].indexOf("hide")>-1){b=9999}if(_columnLayout[d]["c4"].indexOf("hide")>-1){a=9999}var f=Math.min(e,c,b,a);return(e==f?"c1":c==f?"c2":b==f?"c3":"c4")}function addReport(b,e){var f=encodeFormat(e);var c="";if(e=="APP"){c="B"}if(!_modules[b]){var a={url:b,f:f};var g=getNextSequenceId();_modules[g]=a;var d=getColPosition();$.jpolite.addModule({id:g,c:d,mc:"",mt:c});multiDash.addReport2Page(g,b,f,d,-1);addToModuleLayout(b);Message("rptlist_msg","<font color=blue>"+getLabel("Report Added")+"</font>")}else{getModulePosition(b)}}function addReportList(){var c="ReportList.html";var a={url:c,f:""};var e=getNextSequenceId();_modules[e]=a;$.jpolite.addModule({id:e,c:"c1",mc:"",mt:"B"});multiDash.addReport2Page(e,c,"","c1",-1);addToModuleLayout(c);c="";var d="T";for(var b in reportMetaDataCache){if(reportMetaDataCache[b].meta[11]!="Folder"){c=reportMetaDataCache[b].meta[0];d=encodeFormat(reportMetaDataCache[b].meta[11]);break}}a={url:c,f:d};e=getNextSequenceId();_modules[e]=a;$.jpolite.addModule({id:e,c:"c2",mc:"",mt:""});multiDash.addReport2Page(e,c,d,"c2",-1);addToModuleLayout(c);Message("rptlist_msg","<font color=blue>"+getLabel("Report List Added")+"</font>")}function getPopulateLoadPage(c){var a=multiDash.dashObj[multiDash.defaultDashboard].pages;for(var d=0;d<a.length;d++){if(a[d].id==c){if(a[d].layout){return false}else{console.log("Get Page Details");multiDash.setDefaultPage(c);var b="";if(multiDash.isShared!=1){b=getContent("Page",c)}else{b=getOneSharedContent(sessionid,c,"page")}a[d]=$.evalJSON(b);clearGraphs();initDashboard(1);return true}break}}}function checkAndLoadPages(){var a=multiDash.dashObj[multiDash.defaultDashboard].pages;for(var c=0;c<a.length;c++){if(!a[c].layout){var b=getContent("Page",a[c].id);a[c]=$.evalJSON(b)}}}$(function(){initDashboard(0)});var eventLoaded=0;function initDashboard(option){populateDashboard(option);populateModules();if(!eventLoaded){myLiveEvents();myCustomEvents();eventLoaded=1}myMessageHandlers();myControls();loadModuleMenu(false);var s,customNav=window.name;switch(customNav){case"1":$("li","#main_nav").css({width:"90px",padding:0,textAlign:"center"});s={navInit:$.fn.kwicks,navInitArguments:{max:130,spacing:5,sticky:true,event:"click"}};break;case"2":$("li","#main_nav").css({background:"transparent",border:0});s={navInit:$.fn.lavaLamp,navInitArguments:{startItem:0,speed:800}};break;default:s={navInit:TraditionalTabs}}s.its="li, dd";s.layoutPersistence=[function(){return _moduleLayout},function(s){_moduleLayout=eval("("+s+")");saveDragAndDropReports();return""}];$.jpolite.init(s);$.jpolite.gotoTab(get_firstChildIdWithReport("main_nav"));showHideNavButtons();$("#maxAll").click(function(){var x=$(".module:visible").get();for(i in x){x[i].max()}});$("#minAll").click(function(){var x=$(".module:visible").get();for(i in x){x[i].min()}})}function showHideNavButtons(){var a=$.jpolite.Nav.its.length;if(a<=6){$(".tabNavDiv").hide()}else{$(".tabNavDiv").show()}}function Login(){LOGIN=$("#logins");$.getJSON("/users?timer="+(new Date()).getMilliseconds(),function(a){if(a.name){logged_in=true;LOGIN.html("Welcome <a href='/profile'>"+a.name+"</a> | <a href='/logout'>Logout</a>");$("#t2").show().click()}else{LOGIN.html("<a rel='#LOGIN_FORM' class='jqm'>Log in</a> | <a rel='#SIGNUP_FORM' class='jqm'>Sign up</a>")}auth_token_key="&authenticity_token="+encodeURIComponent(a.auto)})}function isValidName(d){var c=d;for(var a=0;a<c.length;a++){var e=c.charAt(a);var b=e.charCodeAt(0);if(b==34||b==39){return false}}return true}function vPageName(a,b){if(isValidName(a)){document.getElementById(b).style.backgroundColor="white"}else{document.getElementById(b).style.backgroundColor="#FDEEF4"}}function get_lastChildId(b){var a=document.getElementById(b).lastChild;while(a.nodeType!=1){a=a.previousSibling;if(a==null){return"t1"}}return a.id}function get_firstChildIdWithReport(a){if(multiDash.defaultDashboard!=-1&&multiDash.defaultPage!=-1){return multiDash.dashObj[multiDash.defaultDashboard].pages[multiDash.defaultPage].id}else{return multiDash.dashObj[0].pages[0].id}}function get_firstChildId(b){var a=document.getElementById(b).firstChild;while(a.nodeType!=1){a=a.nextSibling;if(a==null){return"t1"}}return a.id}function Message(a,b){$("#"+a).html(b);setTimeout(function(){$("#"+a).html("")},5000)}function getModulePosition(c){for(var b in _moduleLayout){for(var a=0;a<_moduleLayout[b].length;a++){modArray=_moduleLayout[b][a].split(":");if(modArray[0]==c){var d=getLabel("Report already added on Dashboard Tab")+" '"+$("#"+b+" .hover").text()+"' Column -"+modArray[1].split("c")[1]+".";Message("rptlist_msg",d);return true}}}}function addPage(a){if(a.length<1){alert(geLabel("Please Specify Page Name"));return false}if(!isValidName(a)){alert(getLabel("Enter valid Page Name"));return false}var b=getNextSequenceId();showHideTabs(1,0,-1);$("#main_nav").append('<li id="'+b+'"><b class="hover">'+a+"</b><span class=arrow> </span></li>");$("#pageSettings tr:last").after('<tr id="trED'+b+'"><td class=dragHelp title="'+getLabel("Drag to change order.")+'"></td><td><input type="text" id="ED'+b+'" value="'+a+'" Maxlength="16" onkeyup="vPageName(this.value, this.id)"></td><td><a class="clickable" onclick="renameDashPage(\''+b+'\')">Rename</a> | <a class="clickable" onclick="removePage(\''+b+"')\">Remove</a></tr>");updateDnD("#pageSettings","#dashMsg");multiDash.addPage2dashboard(b,a);_columnLayout[b]=Layout.L_2_0;var e="#main_nav";var d="li";var c=$.jpolite.Nav.tabs;$.jpolite.Nav.its=$(d,e).each(function(){if(this.id==b){this.modules={};$(".arrow",this).click(function(){$("#pageConfId").toggle();$("ul.layout li a").removeClass("selected");$("#"+multiDash.getPageLayout()).addClass("selected")});$(".hover",this).click(function(){if($(this).text().length>0&&multiDash.isShared!=1){$(this).html("<input type=textbox value='"+$(this).text()+"' class=tabTxt id=tabTxtId Maxlength='16' onkeyup='vPageName(this.value, this.id)'>");$(".tabTxt",this).focus();$(".tabTxt",this).focusout(function(f){if(this.value){multiDash.renamePage(this.parentNode.parentNode.id,this.value);$(this).parent().html(this.value)}});$(".tabTxt",this).keydown(function(f){if(f.keyCode==13){multiDash.renamePage(this.parentNode.parentNode.id,this.value);$(this).parent().html(this.value)}})}})}this.showModules=$.jpolite.Nav.showModules;c[this.id]=this;$(this).click(function(f){if(!$(this).on()&&!$(".on",this).length){return false}if(f.originalEvent||$(".on",this).length==0){$.jpolite.Nav.switchTab(this.id);$(".on",$.jpolite.Nav.its).not(this).not($(this).parents()).removeClass("on")}$(this.parentNode).click();return false})});Message("dashMsg","<font color=blue>"+getLabel("Added page")+" "+a+" </font>");$.jpolite.gotoTab(b);showHideNavButtons()}function removePage(b){var d=_moduleLayout[b];if(!d){d=""}for(var c=0;c<d.length;c++){var a=d[c].split(":");if(a[0].length>1){}}$.jpolite.Nav.its.map(function(){var e=this.modules;for(var f in e){if(this.id==b){e[f].close()}}});if($.jpolite.Nav.tabs[b]){delete $.jpolite.Nav.tabs[b];showHideTabs(0,1,b);$.jpolite.Content.saveLayout();$("#"+b).remove();$("#trED"+b).remove();multiDash.removePageFromDashboard(b);removeNote(sessionid,b,"All");Message("dashMsg","<font color=blue>"+getLabel("Page Removed")+".</font>")}return false}function renameDashPage(c){var b=$("#"+c+" .hover").html();if(b){var a=$("#"+c).html();var d=$("#ED"+c).attr("value");$("#"+c).html(a.replace(new RegExp(b,"g"),d));multiDash.renamePage(c,d);Message("dashMsg","<font color=blue>"+getLabel("Page renamed to")+" "+d+" </font>")}}function addDash(b){var a=getNextSequenceId();multiDash.adddashboard(a,b,userId,userName);addDashHtml(a,b);Message("dashMsg","<font color=blue>"+getLabel("Dashboard")+" "+b+" "+getLabel("added")+"</font>")}function renameDash(b){var a=$("#ED"+b).attr("value");multiDash.renameDashboard(b,a);renameDashHtml(b,a);Message("dashMsg","<font color=blue>"+getLabel("Dashboard renamed to")+" '"+a+"' </font>")}function removeDash(a){multiDash.removeDashboard(a);removeNote(sessionid,a,"All");$("#trED"+a).remove();removeDashHtml(a);Message("dashMsg","<font color=blue>"+getLabel("Dashboard Removed")+" </font>")}function createReportDashLink(b,c,a){multiDash.setReportDashLink(b,c,a);Message("dashMsg","<font color=blue>"+getLabel("Link Created")+" </font>")}function addToModuleLayout(e){var d=document.getElementById("main_nav");var b=d.getElementsByTagName("li");for(var c=0;c<b.length;c++){if(b[c].className.indexOf("on")!==-1){var a=b[c].id;break}}var f=_moduleLayout[a];if(!f){f=new Array()}f.push(e+":c1");_moduleLayout[a]=f}var _modules={};var _moduleLayout={};var _columnLayout={_default:{bg:"normal",c1:"span-8",c2:"span-8",c3:"span-8 last",c4:"hide"}};var Layout={L_1_0:{bg:"normal",c1:"span-24 last",c2:"span-24 last",c3:"span-24 last",c4:"span-24 last"},L_2_0:{bg:"normal",c1:"span-12",c2:"span-12 last",c3:"span-12",c4:"span-12 last"},L_2_1:{bg:"normal",c1:"span-6",c2:"span-18 last",c3:"span-6",c4:"span-18 last"},L_3_0:{bg:"normal",c1:"span-8",c2:"span-8",c3:"span-8 last",c4:"span-8 last"},L_3_1:{bg:"normal",c1:"span-24 last",c2:"span-12",c3:"span-12 last",c4:"span-24 last"},L_3_2:{bg:"normal",c1:"span-12",c2:"span-12 last",c3:"span-24 last",c4:"span-24 last"},L_4_0:{bg:"normal",c1:"span-6",c2:"span-6",c3:"span-6",c4:"span-6 last"},L_4_1:{bg:"normal",c1:"span-16",c2:"span-8 last",c3:"span-8",c4:"span-8 last"},L_4_2:{bg:"normal",c1:"span-24 last",c2:"span-8",c3:"span-8",c4:"span-8 last"},L_4_3:{bg:"normal",c1:"span-8",c2:"span-8",c3:"span-8 last",c4:"span-24 last"},L_4_4:{bg:"normal",c1:"span-8",c2:"span-16 last",c3:"span-8",c4:"span-8 last"},L_4_5:{bg:"normal",c1:"span-24 last",c2:"span-12",c3:"span-12 last",c4:"span-24 last"},L_4_6:{bg:"normal",c1:"span-16",c2:"span-8 last",c3:"span-8",c4:"span-16 last"}};function deleteFromArrayByValue(c,b){var a=0;for(a=0;a<c.length;a++){if(c[a]==b){c.splice(a,1);break}}}function sortUniqReplaceReportIds(e){var f=new Array();for(var d=0;d<e.length;d++){for(var c=0;c<multiDash.dashObj.length;c++){for(var b=0;b<multiDash.dashObj[c].pages.length;b++){if(multiDash.dashObj[c].pages[b].id==e[d]){for(var a=0;multiDash.dashObj[c].pages[b].reports&&a<multiDash.dashObj[c].pages[b].reports.length;a++){if(multiDash.dashObj[c].pages[b].reports[a].ReportId.indexOf("htm")<0){f.push(multiDash.dashObj[c].pages[b].reports[a].ReportId)}}}}}}f=unique(f.sort());gnameHash={};for(d=0;d<f.length;d++){gnameHash[f[d]]=f[d];replaceNewGname(f[d])}}function addElementToForm(c,d,a,f){var b=document.createElement("input");b.setAttribute("type",d);b.setAttribute("value",f);b.setAttribute("name",a);var e=document.getElementsByName(c)[0];e.appendChild(b)}function fillTo(c,b){var a=$("#EmailTo").attr("value");if(!b&&c.length>0){a=a.replace(c,"").replace(",,",",");if(a.length<5){a=""}}else{if(a.length>0&&a.indexOf(c)<0){a=a+","+c}else{if(a.length<1){a=c}}}$("#EmailTo").attr("value",a)}function onoffEmaildiv(){if($("#CEmail").attr("checked")){$("#email").show()}else{$("#email").hide()}}function exportDashboard(){var c=$("input:checked[name=dash]").map(function(){return $(this).attr("id")}).get();var g=$("input:checked[name=page]").map(function(){return $(this).attr("id")}).get();var h="",f=-1;sortUniqReplaceReportIds(g);addElementToForm("exportForm","hidden","conn",getFromURL("conn"));addElementToForm("exportForm","hidden","loc","D");for(var e=0;e<g.length;e++){for(var d=0;d<multiDash.dashObj.length;d++){for(var b=0;b<multiDash.dashObj[d].pages.length;b++){if(multiDash.dashObj[d].pages[b].id==g[e]){if(f!=d){addElementToForm("exportForm","hidden","dashname"+d,multiDash.dashObj[d].name);f=d}addElementToForm("exportForm","hidden","pagename-"+d+"-"+b,multiDash.dashObj[d].pages[b].name);h="";for(var a=0;multiDash.dashObj[d].pages[b].reports&&a<multiDash.dashObj[d].pages[b].reports.length;a++){if(h.length>0){h+=","}if(multiDash.dashObj[d].pages[b].reports[a].ReportId.indexOf("htm")<0){h+=gnameHash[multiDash.dashObj[d].pages[b].reports[a].ReportId]+":"+multiDash.dashObj[d].pages[b].reports[a].DisplayType}}addElementToForm("exportForm","hidden","page-"+d+"-"+b,h)}}}}if($("#CEmail").attr("checked")){if($("input:checkbox[name=Export]").attr("checked")){addElementToForm("exportForm","hidden","export","Y")}addElementToForm("exportForm","hidden","email","Y");addElementToForm("exportForm","hidden","mailto",$("#EmailTo").attr("value"));addElementToForm("exportForm","hidden","subject",$("#Subject").attr("value"));addElementToForm("exportForm","hidden","content",$("#Content").attr("value"))}if(g.length>0){document.exportForm.submit()}else{alert(getLabel("Select Dashboard/Page To Export."))}}function shareDash(){var e=0,d=0;var c=$("input:checked[name=user]").map(function(){return $(this).val()}).get().join(":");var g=$("input:checked[name=group]").map(function(){return $(this).val()}).get().join(":");var f=$("input:checked[name=page]").map(function(){return $(this).attr("id")}).get();var b=$("input:checked[name=dash]").map(function(){return $(this).attr("id")}).get();var a="",h="",e=0;for(e=0;e<b.length;e++){a=multiDash.getDashboardPages(b[e]);for(d=0;d<a.length;d++){deleteFromArrayByValue(f,a[d].split(":")[0])}}h="Users="+c+";Groups="+g;if(c.length>0||g.length>0){for(e=0;e<b.length;e++){shareObject(sessionid,b[e],"D",h,"Remove");shareObject(sessionid,b[e],"D",h,"Add");dashPageArray=multiDash.getDashboardPages(b[e]);for(d=0;d<dashPageArray.length;d++){shareObject(sessionid,dashPageArray[d].split(":")[0],"P",h,"Remove")}}for(e=0;e<f.length;e++){shareObject(sessionid,f[e],"P",h,"Remove");shareObject(sessionid,f[e],"P",h,"Add")}if(b.length==0&&f.length==0){Message("dashMsg","<font color=orange>"+getLabel("No Dashboard or Page selected")+". </font>")}else{Message("dashMsg","<font color=blue>"+getLabel("Dashboard and pages shared successfully")+". </font>")}getAllSharedObjects(populateSharedList)}else{Message("dashMsg","<font color=orange>"+getLabel("No users or groups selected")+". </font>")}}var lastPageDashClick=-1;function checkForUnshare(c,e){if(lastPageDashClick==-1){return}var b=lastPageDashClick.split(":")[0];var a=lastPageDashClick.split(":")[1];var d="";if(isSharedWith(a,c)){if(b=="D"){Name=multiDash.getDashNameById(a)}else{Name=multiDash.getPageNameById(a)}if(e=="user"){d="Users="+c+";Groups="}else{d="Users=;Groups="+c}if(confirm(getLabel("Stop sharing")+" [ "+Name+" ]"+getLabel("with")+" "+e+" [ "+c+" ]")){shareObject(sessionid,a,b,d,"Remove");getAllSharedObjects()}else{$("input:checkbox[value="+c+"]").attr("checked",true)}}}function isSharedWith(a,b){if(typeof _shared[a]!="undefined"){for(i in _shared[a].users){if(_shared[a].users[i]==b){return true}}}return false}function showSharedWith(c,a){if(typeof _shared[a]!="undefined"){lastPageDashClick=c+":"+a;s.openAll();for(var b in _shared[a].users){$("input:checkbox[value="+_shared[a].users[b]+"]").attr("checked",true)}}}function fillConfirmSharing(){var a=$("input:checked[name=user]").map(function(){return $(this).attr("title")}).get();var d=$("input:checked[name=group]").map(function(){return $(this).attr("title")}).get();var g=$("input:checked[name=page]").map(function(){return $(this).attr("title")}).get();var c=$("input:checked[name=dash]").map(function(){return $(this).attr("title")}).get();var f=$("input[name=dash]").map(function(){return $(this).attr("id")}).get();var b="<p>You have selected</p><ul>";for(var e=0;f&&e<f.length;e++){var h=$("#"+f[e]).attr("title");var g=$("input:checked[class="+f[e]+"]").map(function(){return $(this).attr("title")}).get();if(g.length>0){b+="<li><span class=P>"+g.join(", ")+"</span> page"+(g.length>1?"s":"")+" in <span class=D>"+h+"</span> dashboard</li>"}}b+="</ul>";b+="<u>"+getLabel("Users")+":</u><ul>";for(e=0;e<a.length;e++){b+="<li>"+a[e]+"</li>"}b+="</ul>";b+="<u>"+getLabel("Group")+":</u><ul>";for(e=0;e<d.length;e++){b+="<li>"+d[e]+"</li>"}b+="</ul>";$("#confirmShare").html(b)}function checkDashPage(b,a){lastPageDashClick=-1;$("input:checked[name=user]").attr("checked",false);$("input:checked[name=group]").attr("checked",false);if(a==-1&&($("input:checked[id="+b+"]").is(":checked"))){$("input:checkbox[class="+b+"]").attr("checked",true);showSharedWith("D",b)}else{if(a==-1&&(!$("input:checked[id="+b+"]").is(":checked"))){$("input:checkbox[class="+b+"]").attr("checked",false)}else{if($("input:checked[id="+a+"]").is(":checked")){$("input:checkbox[id="+b+"]").attr("checked",false);showSharedWith("P",a)}else{$("input:checkbox[id="+b+"]").attr("checked",false)}if($("input:checkbox:not(:checked)[class="+b+"]").length==0){$("input:checkbox[id="+b+"]").attr("checked",true)}}}fillConfirmSharing()}function addDashHtml(b,a){$("ul.subnav").append('<li><a rel="'+b+'">'+a+"</a></li>");$("ul.subnav li a").unbind("click",dashClick);$("ul.subnav li a").bind("click",dashClick);$("#dashSettingTable tr:last").after('<tr id="trED'+b+'"><td class=dragHelp title="'+getLabel("Drag to change order.")+'"></td><td><input type="text" id="ED'+b+'" value="'+a+'" Maxlength="16" onkeyup="vPageName(this.value, this.id)"></td><td><a class="clickable" onclick="renameDash(\''+b+'\')">Rename</a> | <a class="clickable" onclick="removeDash(\''+b+"')\">Remove</a></tr>");updateDnD("#dashSettingTable","#dashMsg")}function renameDashHtml(b,a){$("[rel="+b+"]").html(a);if(multiDash.getSelectedDashId()==b){$("#defaultDash").text(a)}}function removeDashHtml(a){$("[rel="+a+"]").remove()}function clearGraphs(){$("#c1").empty();$("#c2").empty();$("#c3").empty();$("#c4").empty()}var refreshDashPage=false;function applyDnD(a,b){$(a).tableDnD({onDragClass:"dragClass",onDrop:function(c,d){refreshDashPage=true}})}function updateDnD(a,b){$(a).tableDnDUpdate({onDragClass:"dragClass",onDrop:function(c,d){refreshDashPage=true}})}function getRowIdByTableId(b){var d=$("#"+b)[0].tBodies[0].rows;var c=new Array(),e=new Array();for(var a=0;a<d.length;a++){e=d[a].id.split("trED");if(typeof e[1]!="undefined"){c.push(e[1])}}return c}function saveDragAndDropReports(){var a=multiDash.dashObj[multiDash.defaultDashboard].pages[multiDash.defaultPage];if(typeof a=="undefined"){return}var b=_moduleLayout[a.id];var c=0,d="";for(c=0;c<b.length;c++){d=b[c].split(":");multiDash.setReportPosition(d[0],d[1])}if(multiDash.isShared!=1){savePages(getSelectedDashId(),getSelectedPageId())}}function saveDragAndDropPages(a){if(!refreshDashPage||(multiDash.isShared==1)){return}refreshDashPage=false;var b=getRowIdByTableId(a);if(b.length>0){var c=jQuery.extend(true,{},multiDash.dashObj[multiDash.defaultDashboard]);for(i=0;i<b.length;i++){c.pages[i]={id:b[i],name:multiDash.getPageNameById(b[i])}}saveContent("Dashboard",c.id,$.toJSON(c));saveContent("DashPage",multiDash.dashObj[multiDash.defaultDashboard].id,b.join(":"));dashIdCache=multiDash.getSelectedDashId();pageIdCache=multiDash.getSelectedPageId();clearGraphs();multiDash="";initDashboard(0);dashIdCache=-1;pageIdCache==-1;Message("dashMsg","<font color=blue>"+getLabel("Page order saved.")+" </font>")}}function saveDragAndDropDashboard(c){if(!refreshDashPage||(multiDash.isShared==1)){return}refreshDashPage=false;var a=getRowIdByTableId(c);if(a.length>0){saveContent("DashboardCollection",0,a.join(":"));var d="";if($("ul.subnav").html().indexOf("Shared..")>0){d='<li class=topBdr><a rel="222" title="Show dashboards shared to me.">Shared..</a></li>'}else{if($("ul.subnav").html().indexOf("Personal..")>0){d='<li class=topBdr><a rel="111" title="Show dashboards created by me.">Personal..</a></li>'}else{d=""}}$("ul.subnav").html("");for(var b=0;b<a.length;b++){$("ul.subnav").append('<li><a rel="'+a[b]+'">'+multiDash.getDashNameById(a[b])+"</a></li>")}if(d.length>10){$("ul.subnav").append(d)}$("ul.subnav li a").unbind("click",dashClick);$("ul.subnav li a").bind("click",dashClick);Message("dashMsg","<font color=blue>"+getLabel("Dashboard order saved.")+" </font>")}}function populateModules(){var c="";var b=0;var a=new Array();if(chartOption){var c=getContent("CHART","0");if(c.length>1){Graph=c}}else{Graph="Jqplot";$("#chartOption").hide()}$("#main_nav").empty();c=multiDash.getCurrentPages();if(c.length<1){addPage("Page1")}else{for(b=0;b<c.length;b++){a=c[b].split(":");if(b<numTabs){$("#main_nav").append('<li id="'+a[0]+'"><b class="hover">'+a[1]+"</b><span class=arrow> </span></li>")}else{$("#main_nav").append('<li style="display:none" id="'+a[0]+'"><b class="hover">'+a[1]+"</b><span class=arrow> </span></li>")}}}refreshModules()}function refreshModules(){var c=new Array();var a=new Array();_modules={};var d=multiDash.getAllReports();if(d.length>0){for(var b=0;b<d.length;b++){c=d[b].split("@");ID=c[0];a=c[1].split(":");_modules[ID]={url:a[0],f:a[1]}}}_moduleLayout={};d=multiDash.getReportLayout();if(d.length>0){for(var b=0;b<d.length;b++){c=d[b].split("@");ID=c[0];a=c[1].split(",");_moduleLayout[ID]=a}}_columnLayout={};d=multiDash.getCurrentPages();for(var b=0;b<d.length;b++){c=d[b].split(":");_columnLayout[c[0]]=Layout[c[2]]}}function SwitchPersonalShared(a){if(a=="P"){$("#addReport").show();$("#dashsettings").show();$("#settings").show();$("#share").show();$("#Export").show();$("#print").show();$("#DN").show();$("#PN").show();$("#Copy").hide()}else{$("#addReport").hide();$("#dashsettings").hide();$("#settings").hide();$("#share").hide();$("#Export").hide();$("#print").hide();$("#DN").hide();$("#PN").hide();$("#Copy").show()}}function enableDisableControls(){if(multiDash&&multiDash.isShared==1){SwitchPersonalShared("S")}else{SwitchPersonalShared("P")}}var dashClick=function(){var a=0;if(multiDash.getSelectedDashId()==this.rel){alert(getLabel("Dashboard Already Selected."));return false}if(this.text=="Personal.."){reqState=0}else{if(this.text=="Shared.."){reqState=1}else{$("#defaultDash").text(this.innerHTML);multiDash.setDefaultDash(this.rel);multiDash.defaultPage=0;reqState=multiDash.isShared;a=1}}multiDash.defaultPage=0;clearGraphs();initDashboard(a);setNotesCount("D")};function populateDashboard(c){if(c==1){return false}if(userId==""){getUserAccess(sessionid);getUserProperties(sessionid);initLabels();initTitleBar()}getDashboardJSON();enableDisableControls();var a=multiDash.getDashboards();$("ul.subnav").empty();for(var b=0;b<a.length;b++){idName=a[b].split(":");$("ul.subnav").append('<li><a rel="'+idName[0]+'">'+idName[1]+(multiDash.isShared?" ("+idName[2]+")":"")+"</a></li>")}if(multiDash.isShared==1){$("ul.subnav").append('<li class=topBdr><a rel="111" title="Show dashboards created by me.">Personal..</a></li>')}else{if(getSharedList(sessionid,"P",1).length>0||getSharedList(sessionid,"D",1).length>0){$("ul.subnav").append('<li class=topBdr><a rel="222" title="Show dashboards shared to me.">Shared..</a></li>')}}$("ul.topnav li span").hover(function(){$(this).parent().find("ul.subnav").slideDown("fast").show();$(this).parent().hover(function(){},function(){$(this).parent().find("ul.subnav").slideUp("slow")})});$("ul.subnav li a").click(dashClick);if(multiDash.defaultDashboard>=0){$("#defaultDash").text(multiDash.dashObj[multiDash.defaultDashboard].name)}setNotesCount("D")}function setNotesCount(b){var a=getNotes(sessionid,b=="D"?multiDash.getSelectedDashId():multiDash.getSelectedPageId(),null);if(b=="D"){$("#DN").html(getLabel("Dashboard Notes")+" ("+a.length+")")}else{$("#PN").html(getLabel("Page Notes")+" ("+a.length+")")}}function showNotes(a){if(a=="D"){displayNotes(multiDash.getSelectedDashId(),"Notes for <span class=D>"+multiDash.getDashNameById(multiDash.getSelectedDashId())+" </span>"+getLabel("Dashboard"))}else{displayNotes(multiDash.getSelectedPageId(),"Notes for <span class=P>"+multiDash.getPageNameById(multiDash.getSelectedPageId())+" </span>"+getLabel("Page"))}}function displayNotes(c,d){$(function(){$("#dialogS").dialog({height:"auto",width:"auto",modal:false,resizable:true,autoResize:true,autoOpen:false,position:["center",100]})});$("span.ui-dialog-title").html(d);var b=getNotes(sessionid,c,null);if(multiDash.getSelectedDashId()==c){$("#DN").html(getLabel("Dashboard Notes")+" ("+b.length+")")}else{$("#PN").html(getLabel("Page Notes")+" ("+b.length+")")}htmlstr="<div class=noteDiv><ul class=noteUl>";if(b.length==0){htmlstr+="<li><center style='padding-top:20px'>"+getLabel("There are no notes")+".</center></li>"}for(var a=0;a<b.length;a++){htmlstr+="<li class=noteLi><table class=noteTable><tr><td class=noteUser rowspan=2>"+b[a][1]+"</td><td class=noteContent>"+b[a][3]+"</td><td class=noteOptions>";if((multiDash.isShared!=1)||(b[a][1]==userId)){htmlstr+="<div class=deleteNote id='"+c+":"+b[a][2]+"' title='Remove Note'></div>"}htmlstr+="</td></tr><tr><td class=noteSent>"+formatDate(b[a][0])+"</td><td></td></tr></table></li>"}htmlstr+="</ul></div>";htmlstr+="<div class=noteWrite><table class=noteTable><tr><td colspan=3><textarea class=noteTextarea id='"+c+"' ></textarea> </td></tr></table></div>";$("#dialogS").html(htmlstr).dialog("open")}function getLabel(a){return a}function returnMeasureLinksbyModuleId(f){var e=multiDash.getReportIdById(f);var c=getReportMetaData(sessionid,e);var b=[],d=[];if(c&&c.length>23){b=c[14].split(":");measIDArr=c[23].split(":")}var g="<ul class=measUl>";for(var a=0;a<b.length;a++){g+='<li onclick=\'putGraphSettingHtml("Measures",'+f+","+measIDArr[a]+',"'+b[a]+"\")'>"+b[a]+"</li>"}g+="</ul>";return g}function setGraphOptions(a){$(function(){$("#dialogS").dialog({height:"auto",width:"auto",modal:false,resizable:true,autoResize:true,autoOpen:false,position:["center",100]})});$("span.ui-dialog-title").text(getLabel("Graph Settings"));htmlstr='<div id="GSmain"> <div id="GSList"> <div id=Grid onclick=\'putGraphSettingHtml("Grid",'+a+")'>"+getLabel("Grid")+'</div> <div id=Axes onclick=\'putGraphSettingHtml("Axes",'+a+")'>"+getLabel("Axes")+'</div> <div id=Legends onclick=\'putGraphSettingHtml("Legends",'+a+")'>"+getLabel("Legends")+'</div> <div id=TopX onclick=\'putGraphSettingHtml("TopX",'+a+")'>"+getLabel("Top X")+'</div> <div id=Threshold onclick=\'putGraphSettingHtml("Threshold",'+a+")'>"+getLabel("Threshold")+"</div> <div id=Measures>"+getLabel("Measure:")+"</div>"+returnMeasureLinksbyModuleId(a)+' <div id=resetAll><button class=button_red type="button" onclick ="resetAllPref('+a+')">'+getLabel("Reset All")+'</button></div> </div> <div id="GSwork"> </div>';$("#dialogS").html(htmlstr).dialog("open");putGraphSettingHtml("Grid",a);return false}function putGraphSettingHtml(c,d,a,b){$(".gsel").removeClass("gsel");$("#"+c).addClass("gsel");$("#GSwork").html(getHtmlForOption(c,d,a,b));$("div.jPicker").remove();populateGraphOptions(c,d,a,b);$("#measColor").jPicker({window:{title:null,effects:{type:"slide",speed:{show:"slow",hide:"fast"}},position:{x:"center",y:"center"},expandable:false},images:{clientPath:"/showcase/css/images/jPicker/"}})}function populateGraphOptions(f,a,g,d){if(f=="Grid"){$("#color").val(displayObj.getBgColor());$("[name=showgridlines]").filter("[value="+displayObj.getShowGridLines()+"]").attr("checked",true);$("[name=shadow]").filter("[value="+displayObj.getShadow()+"]").attr("checked",true);$("select#ShadowAngle option[value="+displayObj.getShadowAngle()+"]").attr("selected","selected");$("select#ShadowOffset option[value="+displayObj.getShadowOffset()+"]").attr("selected","selected");$("[name=drawBorder]").filter("[value="+displayObj.getdrawBorder()+"]").attr("checked",true);$("[name=pointLabel]").filter("[value="+displayObj.getpointLabel()+"]").attr("checked",true);$("select#pointTooltip option[value="+displayObj.getpointTooltip()+"]").attr("selected","selected")}else{if(f=="Axes"){$("select#pad option[value="+displayObj.getPad()+"]").attr("selected","selected");$("[name=axes]").filter("[value="+displayObj.getMultiAxes()+"]").attr("checked",true);$("[name=showtickmarks]").filter("[value="+displayObj.getMark()+"]").attr("checked",true);$("[name=showticks]").filter("[value="+displayObj.getShowTicks()+"]").attr("checked",true);$("[name=showlabels]").filter("[value="+displayObj.getShowLabel()+"]").attr("checked",true);$("[name=showticklabels]").filter("[value="+displayObj.getShowTickLabels()+"]").attr("checked",true);$("[name=showxfrom]").filter("[value="+displayObj.getxFrom()+"]").attr("checked",true);$("[name=xpos]").filter("[value="+displayObj.getxPos()+"]").attr("checked",true);if(displayObj.getxLength()>0){$("input#xlen").attr("value",displayObj.getxLength())}}else{if(f=="Legends"){$("[name=showlegend]").filter("[value="+displayObj.getShowLegend()+"]").attr("checked",true);$("[name=showLabels]").filter("[value="+displayObj.getShowLabels()+"]").attr("checked",true);$("[name=legendPlace]").filter("[value="+displayObj.getlegendPlacement()+"]").attr("checked",true);$("select#numOfRows option[value="+displayObj.getNumRows()+"]").attr("selected","selected");$("select#LegendLocation option[value='"+displayObj.getLocation()+"']").attr("selected","selected")}else{if(f=="TopX"){var c=displayObj.getTopxType();var b=displayObj.getTopxValues();$("[name='topx']").filter("[value="+c+"]").attr("checked",true);showHideTR();if(c=="S"||c=="D"){if(b==5||b==10||b==15){$("[name='num']").filter("[value="+b+"]").attr("checked",true)}else{$("[name='num']").filter("[value=cust]").attr("checked",true);$("input#custom").attr("value",b)}}else{if(c=="M"){var l=b.split(":");for(var e=0;e<l.length;e++){$("[name='nexttopn']").filter("[id=topTxt"+(e+1)+"]").attr("value",l[e])}}}}else{if(f=="Threshold"){var h=displayObj.getThreshold();$("#redFrom").val(h.redFrom||0),$("#redTo").val(h.redTo||30),$("#yellowFrom").val(h.yellowFrom||30),$("#yellowTo").val(h.yellowTo||60),$("#greenFrom").val(h.greenFrom||60),$("#greenTo").val(h.greenTo||100)}else{if(f=="Measures"){var k=displayObj.RDgetMeasure(g);if(k.id){$("#measId").attr("checked",k.showMe),$("#measDisp").val(k.displayAs),$("#measColor").val(k.color.replace("#","")),$("#curr").val(k.currency),$("#isShort").val(k.dispType),$("#prec").val(k.precision),$("#pre").val(k.prefix),$("#suf").val(k.suffix)}}}}}}}}function showHideTR(){var a=$("input[name='topx']:checked").val();if(a=="S"||a=="D"){$("tr.M").hide();$("tr.SD").show()}else{if(a=="N"){$("tr.M").hide();$("tr.SD").hide()}else{$("tr.M").show();$("tr.SD").hide()}}}function resetAllPref(a){displayObj.RDreset("Grid");displayObj.RDreset("Axes");displayObj.RDreset("Legends");displayObj.RDreset("General settings");displayObj.RDreset("TopX");displayObj.RDreset("Threshold");displayObj.RDreset("Measures");putGraphSettingHtml("Grid",a);multiDash.setReportDisplayOptions(a,displayObj.RD);refreshChart(a,false)}function resetPref(a,b){if(a=="Grid"){displayObj.RDreset("Grid")}else{if(a=="Axes"){displayObj.RDreset("Axes")}else{if(a=="Legends"){displayObj.RDreset("Legends")}else{if(a=="General settings"){displayObj.RDreset("General settings")}else{if(a=="TopX"){displayObj.RDreset("TopX")}else{if(a=="Measures"){displayObj.RDreset("Measures")}else{if(a=="Threshold"){displayObj.RDreset("Threshold")}}}}}}}putGraphSettingHtml(a,b);multiDash.setReportDisplayOptions(b,displayObj.RD);refreshChart(b,false)}function getHtmlForOption(d,e,b,c){var a="";if(d=="Grid"){a='<div class=GSDIV><table class="GStable" cellpadding=0 cellspacing=0 border=0> <tbody> <tr> <td> <input type="checkbox" name="showgridlines" value="true" checked="checked"></td> <td>Show grid lines</td> </tr> <tr> <td></td> <td>Background color <input type=textbox id="color"></td> </tr> <tr> <td> <input type="checkbox" name="shadow" value="true"> </td> <td>Shadow</td> </tr> <tr> <td></td> <td>Angle <select id="ShadowAngle"> <option>0 </option>10 <option>20 </option> <option>30 </option> <option selected="selected">40 </option> </select> </td> </tr> <tr> <td></td> <td>Offset <select id="ShadowOffset"> <option>0 </option> <option selected="selected">1 </option> <option>2 </option> <option>3 </option> <option>4 </option> </select> </td> </tr> <tr> <td> <input type="checkbox" name="drawBorder" value="true"> </td> <td>Border</td> </tr> <tr> <td> <input type="checkbox" name="pointLabel" value="true"> </td> <td>Show point labels <select id="pointTooltip"> <option selected="selected" value="A">Actual</option> <option value="F">Formated </option></td> </tr> </tbody> </table></div><div class=ApplyReset><table width=100% align=center><tr> <td></td> <td> <button type="button" class=button_orange onclick="resetPref(\'Grid\','+e+')">Reset</button> <button type="button" class=button_green onclick="getGrid('+e+')">Apply</button> </td> </tr></table></div>'}else{if(d=="Axes"){a='<div class=GSDIV><table class="GStable" cellpadding=0 cellspacing=0 border=0> <tbody> <tr> <td><input type="checkbox" name="axes" value="true"></td> <td colspan=4>Show multiple axes</td> </tr> <tr> <td></td> <td colspan=4>Pad <select id="pad"> <option>0 </option> <option>10 </option> <option>20 </option> <option>30 </option> <option>40 </option> </select> </td> </tr> <tr> <td> <input type="checkbox" name="showticks" value="true" checked="checked"> </td> <td colspan=4>Show ticks</td> </tr> <tr> <td> <input type="checkbox" name="showtickmarks" value="true" checked="checked"> </td> <td colspan=4>Show tick marks </td> </tr> <tr> <td> <input type="checkbox" name="showlabels" value="true" checked="checked"> </td> <td colspan=4>Show label</td> </tr> <tr> <td> <input type="checkbox" name="showticklabels" value="true" checked="checked"> </td> <td colspan=4>Show tick labels</td> </tr> <tr> <td></td> <td colspan=4>X-axis labels </td> <tr> <td></td> <td colspan=4> <input type="radio" name="xpos" value="A" checked="checked">Angle </td> </tr> <tr> <td></td> <td colspan=4> <input type="radio" name="xpos" value="S">Straight </td> </tr> <tr> <td></td> <td colspan=4>Show</td> </tr> <tr> <td></td> <td> <input type="radio" name="showxfrom" value="first">First </td> <td style="width:15px;border-top:1px solid grey;border-right:1px solid grey;border-bottom:0px"> </td> <td style="width:25px; border-bottom:1px solid grey;"> </td> <td rowspan=2><input type="text" name="showxval" id="xlen" maxlength="2" style="width:20px"> letters in X-axis</td> </tr> <tr> <td></td> <td> <input type="radio" name="showxfrom" value="last">Last </td> <td style="width:15px;border-bottom:1px solid grey;border-right:1px solid grey;border-top:0px"> </td> <td style="width:15px"> </td> </tr> <tr> <td></td> <td colspan=4> <input type="radio" name="showxfrom" value="all" checked="checked">All </td> </tr></tbody> </table></div><div class=ApplyReset><table width=100% align=center> <tr> <td></td> <td colspan=4> <button type="button" class=button_orange onclick="resetPref(\'Axes\','+e+')">Reset </button> <button type="button" class=button_green onclick="getAxes('+e+')">Apply </button> </td> </tr> </table></div>'}else{if(d=="Legends"){a='<div class=GSDIV> <table class=GStable> <tr> <td> <input type="checkbox" name="showlegend" value="true" checked ="checked" /> </td> <td>'+getLabel("Show legends")+' </td> </tr> <tr> <td> <input type="checkbox" name="showLabels" value="true" checked ="checked" /> </td> <td>'+getLabel("Show labels")+' </td> </tr> <tr> <td> </td> <td> <input type="radio" name="legendPlace" value="outsideGrid" checked ="checked" />'+getLabel("Place outside grid")+' </td> </tr> <tr> <td> </td> <td> <input type="radio"name="legendPlace" value="insideGrid" />'+getLabel("Place inside grid")+" </td> </tr> <tr> <td> </td> <td>"+getLabel("Locate legend at")+' <select id ="LegendLocation"> <option value="w">'+getLabel("Left")+' </option> <option value="e">'+getLabel("Right")+' </option> <option value="n">'+getLabel("Top")+' </option> <option value="nw">'+getLabel("Top Left")+' </option> <option value="ne">'+getLabel("Top Right")+' </option> <option value="s">'+getLabel("Bottom")+' </option> <option value="sw">'+getLabel("Bottom Left")+' </option> <option value="se">'+getLabel("Bottom Right")+" </option> </select> </td> </tr> <tr> <td> </td> <td>"+getLabel("Number Of Rows")+' <select id="numOfRows"> <option> </option> <option>1 </option> <option>2 </option> <option>3 </option> <option>4 </option> <option>5 </option> <option>6 </option> <option>7 </option> <option>8 </option> <option>9 </option> <option>10 </option> </select> </td> </tr> </tbody> </table> </div> <div class=ApplyReset> <table width=100% align=center> <tr><td></td> <td colspan=2><button type="button" class=button_orange onclick ="resetPref(\'Legends\','+e+')">'+getLabel("Reset")+' </button><button type="button" class=button_green onclick="getLegend('+e+')">'+getLabel("Apply")+" </button></td> </tr> </table> </div>"}else{if(d=="Threshold"){a='<div class=GSDIV> <table class=GStable> <tr><td colspan=4 style="padding-bottom:20px">Insert Threshold Values(%): </td></tr><tr><td style="width:50px;background:#DC3912"></td><td><input type=text id=redFrom value="0" onkeyup="validateThreshold()" class=rangeText></td><td>-</td><td><input type=text id=redTo value="30" onkeyup="validateThreshold()" class=rangeText></td></td></tr> <tr><td style="width:50px;background:#FF9900"></td><td><input type=text id=yellowFrom value="30" onkeyup="validateThreshold()" class=rangeText></td><td>-</td><td><input type=text id=yellowTo value="60" onkeyup="validateThreshold()" class=rangeText></td></td></tr> <tr><td style="width:50px;background:#109618"></td><td><input type=text id=greenFrom value="60" onkeyup="validateThreshold()" class=rangeText></td><td>-</td><td><input type=text id=greenTo value="100" onkeyup="validateThreshold()" class=rangeText></td></td></tr></tbody> </table> </div> <div class=ApplyReset> <table width=100% align=center> <tr><td></td> <td colspan=2><button type="button" class=button_orange onclick ="resetPref(\'Threshold\','+e+')">'+getLabel("Reset")+' </button> <button type="button" class=button_green onclick="getThreshold('+e+')">'+getLabel("Apply")+" </button></td> </tr> </table> </div>"}else{if(d=="TopX"){a='<div class=GSDIV> <table class=GStable> <tr> <td> <input type="radio" name="topx" value="N" checked="checked" onclick="showHideTR()"/> </td> <td> Show all records</td> </tr> <tr> <td> <input type="radio" name="topx" value="S" onclick="showHideTR()"/> </td> <td> Show top records</td> </tr> <tr class=SD> <td></td><td><input type="radio" name="num" value="5" checked= "checked"/>5</td></tr> <tr class=SD> <td></td><td><input type="radio" name="num" value="10" checked= "checked"/>10</td></tr> <tr class=SD> <td></td><td><input type="radio" name="num" value="15" checked= "checked"/>15</td></tr> <tr class=SD> <td></td><td><input type="radio" name="num" value="cust" /><input type="text" name="custom" id="custom" style="width:50px"/></td></tr> </tbody> </table> </div> <div class=ApplyReset> <table width=100% align=center> <tr><td></td> <td colspan=2><button type="button" class=button_orange onclick ="resetPref(\'TopX\','+e+')">'+getLabel("Reset")+' </button> <button type="button" class=button_green onclick="getTopX('+e+')">'+getLabel("Apply")+" </button></td> </tr> </table> </div>"}else{if(d=="Measures"){a="<div class=GSDIV><table class=GStable><tr><td colspan=3><b>"+getLabel("Measure")+":"+c+"</b></td></tr>";a+='<tr><td><input type=checkbox id=measId value="'+b+'" checked="checked"></td><td>Show measure</td></tr>';a+='<tr><td></td><td>Display As:</td><td><input id="measDisp" type="text" value=""></td></tr>';a+='<tr><td></td><td>Color:</td><td><input id="measColor" type="text" value=""></td></tr>';a+='<tr><td></td><td> Format</td> <td> <select id="curr" class="formatNumber"> <option value="INR">Indian </option> <option value="USD">US </option> <option value="EUR">European </option></select> </td> </tr>';a+='<tr><td></td><td> Display:</td> <td> <select id="isShort" class="formatNumber"> <option value="actual">Actuals</option> <option value="short">Short</option></select></td></tr>';a+='<tr> <td></td><td> Precision: </td> <td> <input class="cPrec textBox2Char" maxlength="2" type="Textbox" id="prec" value="0" title="Enter number of digits after decimal"> </td> </tr>';a+='<tr> <td></td><td>Prefix: </td> <td> <input class="cPrefix textBox1Char" maxlength="10" type="Textbox" id="pre" value="" title="Prefix Character for Values"> </td> </tr>';a+='<tr> <td></td><td> Suffix: </td> <td> <input class="cSuffix textBox1Char" maxlength="10" type="Textbox" id="suf" value="" title="Suffix Character for Values"> </td></tr></table></div>';a+='<div class=ApplyReset> <table width=100% align=center> <tr><td></td> <td colspan=2><button type="button" class=button_orange onclick ="resetPref(\'Measures\','+e+')">'+getLabel("Reset")+' </button> <button type="button" class=button_green onclick="getMeasureDetails('+e+","+b+",'"+c+"')\">"+getLabel("Apply")+" </button></td> </tr> </table> </div>"}}}}}}return a}function blockSpecialChar(b){var a=b.keyCode||b.charCode;return((a>64&&a<91)||(a>96&&a<123)||a==8||a==9||a==32||a==95||(a>=48&&a<=57))}function refreshChart(b,a){$("#"+b)[0].loadContent(a)}function isCheckedByName(b){var a=$("input[name='"+b+"']:checked").is(":checked");if(a){return"true"}else{return"false"}}function getGrid(a){var d=$("#color").val();var c=isCheckedByName("showgridlines");var b=isCheckedByName("shadow");var g=$("#ShadowAngle option:selected").text();var e=$("#ShadowOffset option:selected").text();var h=isCheckedByName("drawBorder");var k=isCheckedByName("pointLabel");var f=$("#pointTooltip option:selected").val();displayObj.RDsetGrid(d,c,b,g,e,h,k,f);multiDash.setReportDisplayOptions(a,displayObj.RD);refreshChart(a,false)}function getAxes(a){var b=$("#pad option:selected").text();var l=isCheckedByName("axes");var c=isCheckedByName("showtickmarks");var g=isCheckedByName("showticks");var f=isCheckedByName("showlabels");var k=isCheckedByName("showticklabels");var h=$("input[name='showxfrom']:checked").val();var d=$("#xlen").val();var e=$("input[name='xpos']:checked").val();displayObj.RDsetAxes(b,l,c,g,f,k,h,d,e);multiDash.setReportDisplayOptions(a,displayObj.RD);refreshChart(a,false)}function getLegend(f){var e=isCheckedByName("showlegend");var d=isCheckedByName("showLabels");var c=$("input[name='legendPlace']:checked").val();var b=$("#LegendLocation option:selected").val();var a=$("#numOfRows option:selected").text();displayObj.RDsetLegends(e,d,c,b,a);multiDash.setReportDisplayOptions(f,displayObj.RD);refreshChart(f,false)}function getTopX(c){var a=$("input[name='topx']:checked").val();var b="";if(a!="M"){b=$("input[name='num']:checked").val();if(b=="cust"){b=$("#custom").val()}}else{b=$("input[name=nexttopn]").map(function(){return $(this).attr("value")}).get().join(":")}if(a=="N"){displayObj.RDreset("TopX")}else{displayObj.RDsetTopx(a,b)}multiDash.setReportDisplayOptions(c,displayObj.RD);refreshChart(c,false)}function getThreshold(g){var e=$("#redFrom").val()||0,d=$("#redTo").val()||30,c=$("#yellowFrom").val()||30,f=$("#yellowTo").val()||60,b=$("#greenFrom").val()||60,a=$("#greenTo").val()||100;displayObj.RDsetThreshold(+e,+d,+c,+f,+b,+a);multiDash.setReportDisplayOptions(g,displayObj.RD);refreshChart(g,false)}function getMeasureDetails(a,g,d){var m=$("#measId").is(":checked"),b=$("#measDisp").val(),c="#"+$("#measColor").val(),k=$("#curr").val(),h=$("#isShort").val(),e=$("#prec").val(),f=$("#pre").val(),l=$("#suf").val();if(c=="#"||String(c).length<4){c=""}displayObj.RDsetMeasure(g,d,m,b,c,k,h,e,f,l);multiDash.setReportDisplayOptions(a,displayObj.RD);refreshChart(a,false)}function validateThreshold(){var a=["redFrom","redTo","yellowFrom","yellowTo","greenFrom","greenTo"];$.each(a,function(b,c){if(isNaN($("#"+c).val())){$("#"+c).val(0)}if($("#"+c).val()<0){$("#"+c).val(0)}else{if($("#"+c).val()>100){$("#"+c).val(100)}}})}function refreshPage(){var a=$("ul#main_nav li.on").attr("id");$.jpolite.Nav.switchTab(a)}function initTitleBar(){$("#addReport").html(getLabel("Add Reports"));$("#SET").html(getLabel("Settings"));$("#dashsettings").html(getLabel("Dashboard Settings"));$("#settings").html(getLabel("Page Settings"));$("#Export").html(getLabel("Export"));$("#print").html(getLabel("Print"));$("#share").html(getLabel("Share"));$("#Copy").html(getLabel("Copy to Personal Space"));$("#NT").html(getLabel("Notes"));$("#DN").html(getLabel("Dashboard Notes"));$("#PN").html(getLabel("Page Notes"));$("#C1").html(getLabel("View Modern Style"));$("#C2").html(getLabel("View Classic Style"));$("#Themes").html(getLabel("Themes"));$("#mod").html(getLabel("Modern"));$("#silv").html(getLabel("Silver"));$("#clas").html(getLabel("Classic"));$("#maxAll").html(getLabel("Expand All"));$("#minAll").html(getLabel("Collapse All"));$(".actionGraphSettings").attr("title",getLabel("Graph Settings"));$(".actionGotoPage").attr("title",getLabel("Go To Link Page"));$(".actionFullScreen").attr("title",getLabel("FullScreen"));$(".actionRefresh").attr("title",getLabel("Refresh"));$(".actionMin").attr("title",getLabel("Collapse"));$(".actionMax").attr("title",getLabel("Expand"));$(".actionClose").attr("title",getLabel("close"));$(".actionLinkPage").attr("title",getLabel("Link To Page"));$(".actionNote").attr("title",getLabel("Display Notes"));$(".onOffIcons").attr("title",getLabel("Click to see graph Icons"));$(".actionReportPie").attr("title",getLabel("Pie"));$(".actionReportDonut").attr("title",getLabel("Donut"));$(".actionReportLine").attr("title",getLabel("Line"));$(".actionReportBar").attr("title",getLabel("Bar"));$(".actionReportColumn").attr("title",getLabel("Column Chart"));$(".actionReportStack").attr("title",getLabel("Stacked Bar"));$(".actionReportStackedArea").attr("title",getLabel("Stacked Area"));$(".actionReportCombo").attr("title",getLabel("Combo"));$(".actionReportGauge").attr("title",getLabel("Gauge"));$(".actionReportMap").attr("title",getLabel("Map"));$(".actionReportText").attr("title",getLabel("Text Report"));$(".actionReportPC").attr("title",getLabel("Parallel Coordinate Chart"));$(".actionReportBullet").attr("title",getLabel("Bullet Chart"));$(".actionReportTree").attr("title",getLabel("Tree Chart"));$(".actionCalendar").attr("title",getLabel("Calendar Chart"));$(".actionReportHeat").attr("title",getLabel("Heat Chart"));$(".actionReportRadar").attr("title",getLabel("Radar Chart"));$(".actionReportStock").attr("title",getLabel("Stock Chart"));$(".actionReportDataTable").attr("title",getLabel("Data Table"));$(".actionExport").attr("title",getLabel("Export As Png"));$("#maxAll").attr("title",getLabel("Expand All Modules"));$("#minAll").attr("title",getLabel("Collapse All Modules"));$("#PL").html(getLabel("Layout.."));$("#PLC").html(getLabel("Close"));$("div#toolbar-minimized").attr("title",getLabel("Hide Bar"))}function showHideTabs(b,c,a){if(getTabCount()>=numTabs){if(b){showLastTab();$("ul#main_nav li:visible:first").hide()}if(c&&a>0){if($("#"+a).is(":visible")){if($("ul#main_nav li:visible:last").next().text()){$("ul#main_nav li:visible:last").next().show()}else{if($("ul#main_nav li:visible:first").prev().text()){$("ul#main_nav li:visible:first").prev().show()}}}}}}function showFirstTab(){$("ul#main_nav li").hide();$("ul#main_nav li:lt("+numTabs+")").show()}function showPreviousTab(){if($("ul#main_nav li:visible:first").prev().text()){$("ul#main_nav li:visible:last").hide("slow");$("ul#main_nav li:visible:first").prev().show("slow")}}function showNextTab(){if($("ul#main_nav li:visible:last").next().text()){$("ul#main_nav li:visible:first").hide("slow");$("ul#main_nav li:visible:last").next().show("slow")}}function showLastTab(){$("ul#main_nav li").hide();$("ul#main_nav li").slice(-numTabs).show()}function getTabCount(){return $("ul#main_nav li").size()}function resizeNumTabs(){var b=getMwidth();var c=450;var a=120;if(b>c+a){numTabs=parseInt((b-c)/a);if(G_THEME=="modern"&&numTabs>6){numTabs=6}showFirstTab()}}function reloadModuleMenu(){if(typeof reportMetaDataCache!=undefined&&reportMetaDataCache==""){loadModuleMenu(true)}}function showFilterTemplate(){var f=getMheight()-130;var a=getMwidth()-20;var d=$(this).parents().prev(".moduleTitle").html();$(function(){$("#dialog").dialog({title:d,height:f,width:a,modal:true,resizable:true,autoResize:true,autoOpen:false,position:["center",0],close:function(){reloadModuleMenu()}})});$("span.ui-dialog-title").html(multiDash.dashObj[multiDash.defaultDashboard].pages[multiDash.defaultPage].name);var c='<div id=DFA_page > <div id=DFA_columns> <div id=DFA_left_column><div style="height:20px" class="ui-widget-content"><span class="NewReport" title="Click to add new report">New Report</span><span class="EditDimMeasFilter" title="Edit dimension and measure filters">Edit Filters</span></div> <div id=DFA_dimension_filter class="ui-widget-content"> <h4 class="ui-widget-header">Dimension Filter:</h4> </div> <div id=DFA_measure_filter class="ui-widget-content"> <h4 class="ui-widget-header">Measure Filter: <img src="/showcase/css/g/actionRefresh.png" style="vertical-align: middle;cursor:pointer" onclick="$.DFA.refreshMeasureFilters()" title="Refresh" /></h4> </div> </div> <div id=DFA_center_column> </div> <div id=DFA_right_column> </div><div id=DFA_tmpDialog> </div></div> </div>';$("#dialog").html(c).dialog("open");var e=new Array();var b=multiDash.dashObj[multiDash.defaultDashboard].pages[multiDash.defaultPage].reports;for(i=0;b&&i<b.length;i++){e.push(b[i].ReportId+":"+b[i].DisplayType)}$.DFA.startApp(sessionid,multiDash.dashObj[multiDash.defaultDashboard].pages[multiDash.defaultPage])}function showProgress(a,c,b){$("#"+a).html("<div class="+(b==1?"error":"info")+">"+c+"</div>")}function validateJSON(d,a,b){try{if(typeof a=="object"){var f=JSON.stringify(a)}else{var f=JSON.parse(a)}}catch(e){if(b){showProgress(b,d+" : "+e+"<br>JSON:"+a,1)}else{alert(WhichCall+" : "+e+"<br>JSON:"+a)}}}function reportContext(e,a,c,d,b){this.gtype=e;this.height=a;this.width=c;this.moduleId=d;this.divId=b}function getHeightBySpan(b){var a=parseInt(b);if(b.length>0&&b.indexOf("max")>0){a=24}if(a==24){return 350}else{if(a==18){return getMheight()-360}else{if(a==30){return 550}else{return 300}}}}function getWidthBySpan(b){var a=parseInt(b);if(b.length>0&&b.indexOf("max")>0){a=24}if(a<1||a>30){return 300}else{if(a==30){return getMwidth()-100}else{return Math.floor(getMwidth()/(24/a)-(a==8?20:a==12?25:a==16?20:a==24?45:20))}}}function makeXtab(g){var b=0,a=0;var e=new Array();var f=new Array();var d=new Array();for(b=1;b<g.length;b++){f.push(g[b][0]);d.push(g[b][1])}f=unique(f.sort());d=unique(d.sort());for(b=1;b<g.length;b++){str=g[b][0]+":"+g[b][1];e[str]=g[b][2]}var c=new Array(f.length+1);c[0]=new Array(d.length+1);c[0][0]=g[0][0];for(b=0;b<f.length;b++){c[b+1]=new Array(d.length+1);c[b+1][0]=f[b];for(a=0;a<d.length;a++){c[0][a+1]=d[a]+"~_"+g[0][2];if(e[f[b]+":"+d[a]]){c[b+1][a+1]=e[f[b]+":"+d[a]]}else{c[b+1][a+1]=0}}}return c}function revertRowColumn(c,b){var a=new Array(c[0].length);for(i=0;i<c[0].length;i++){a[i]=new Array(c.length-1);c[0][i]=c[0][i].replace(b,"")}for(i=0;i<c.length;i++){for(j=0;j<c[i].length;j++){a[j][i]=c[i][j]}}for(i=1;i<=c.length-1;i++){a[0][i]=a[0][i]+" "+b}return a}function getDateFilter(f){if(!f){return""}var a=["year","quarter","month","week","date"];var b=String(f).split("&");var c=new Array();for(var e=0;e<b.length;e++){for(var d=0;d<a.length;d++){if(b[e].toLowerCase().indexOf(a[d])>=0){c.push(b[e]);break}}}if(c.length>0){return" ("+c.join(" and ")+") "}else{return"( All Dates )"}}function getAnalyzeLink(c,d,b,f,e){var a="";if(d&&d.length>0){a+=getLabel("Title")+" : "+d+" "}if(b&&b.length>0){a+=(a.length>0?"
":"")+getLabel("Filter")+": "+b+" "}if(e&&e.length>0){a+=(a.length>0?"
":"")+getLabel("Desc")+": "+e+" "}if(Uaccessstr.indexOf("Analyze")>=0){a+="
"+getLabel("Action")+": "+getLabel("Click To Analyze")+" ";return"<A href='/mainmenu.rx?rdn="+rand()+"&conn="+getFromURL("conn")+"&uid="+getFromURL("uid")+"&gname="+c+"&mmenu=15' target='menubar' title='"+a+"'>"+f+getDateFilter(b)+"</A>"}else{return"<A href='#' title='"+a+"'>"+f+getDateFilter(b)+"</A>"}}function prepareReport(e,h,l,c,b,k,g){var d=new reportContext(h,l,c,b,k);var f=new displayOptions(multiDash.getReportDisplayOptions(b));var a=-1;if(f){a=parseInt(f.getTopxValues())}if(a<1||isNaN(a)){a=G_MAX_RECORDS}getReportDataAsync(sessionid,e,g,showReport,d,a)}function showReport(e,g,a){var f=new Report("","","T",0,0,"","","","","","","");var b=getReportMetaData(sessionid,g);if(b.length<1){$("div#"+a.divId).html("<font color=red><center>"+getLabel("Error ploting chart")+".<br>"+getLabel("Report has been deleted or unshared.")+".</center></font>");return}validateJSON("getReportMetaData",b,a.divId);if(e.length<=1){if(typeof e[0]=="undefined"||e[0][0]=="NO-DATA-FOUND"){$("div#"+a.divId).html("<font color=red><center>"+getLabel("No Data Found")+"</center></font>")}else{$("div#"+a.divId).html("<font color=red><center>"+getLabel("Error ploting chart")+".<br>"+getLabel("Getting chart details failed")+".</center></font>")}if(a.moduleId.length>0){$(".moduleTitle",document.getElementById(a.moduleId)).html(getAnalyzeLink(g,b[18],b[8],b[3],b[4]))}return}showProgress(a.divId,"Got Report Data: "+e.length+" rows , "+e[0].length+" columns.<br>Proceeding to draw chart.");f.setheight(a.height);f.setwidth(a.width);f.setlayout(b[12]);f.settitle(b[3]);f.setdescription(b[4]);f.setdimensions(b[13].split(":"));f.setdimmeta(b[19].split(":"));f.setmeasures(b[14].split(":"));f.setmeasureIds(b[23].split(":"));f.setformats(b[15].split(":"));f.setminmax(b[17].split(":"));f.setsystitle(b[18]);f.setsubtitle(b[8]);f.setgtype(a.gtype);f.setsortcolumn(b[20]);f.settopn(parseInt(b[21]));formatReportData(e,f.getdimmeta(),f.getlayout(),f.gettopn());if(isTimeColumn(f.getdimmeta()[0])==false&&f.getsortcolumn()=="Default"){sortReportData(e,f.getdimensions().length)}f.setdata(e);f.dispObj=new displayOptions(multiDash.getReportDisplayOptions(a.moduleId));if(a.gtype=="Bullet"){var h=getUserSettings(sessionid,"16");var d=getUserSettings(sessionid,"17");var c=parseInt(h[0][2]);var k=parseInt(d[0][2]);f.dispObj.RDsetGeneral();f.dispObj.RD.General.lower_threshold=c;f.dispObj.RD.General.upper_threshold=k}addMeasureColumn(f,sessionid);drawCharts(f,a.divId,g);if(a.moduleId.length>0){$(".moduleTitle",document.getElementById(a.moduleId)).html(getAnalyzeLink(g,f.getsystitle(),f.getsubtitle(),f.gettitle(),f.getdescription()))}}function getDivHtml(b,e,d,c){var f=getHeightBySpan(d);var a=getWidthBySpan(d);if(e!="T"){return'<div id="'+b+'" style="width:100%; Height:'+f+'px; overflow:hidden;"><center><img src=./css/g/loading.gif></img></center></div>'}else{return'<div id="'+b+'" style="width:100%; Height:'+f+'px; overflow-y:auto;overflow-x:auto"><center><img src=./css/g/loading.gif></img></center></div>'}}var Graph="Jqplot";function useGraph(a){if(Graph!=a){Graph=a;saveContent("CHART",0,a);refreshPage()}}var addMap=0;function getReport(d,h,f,g,b,e){var c=getHeightBySpan(g);var k=getWidthBySpan(g);var a=getReportMetaData(sessionid,d);if(a.length<1){$("div#"+h).html("<font color=red><center>"+getLabel("Error ploting chart")+".<br>"+getLabel("Report has been deleted or unshared.")+".</center></font>");return}if(Graph=="CUBOT"&&f!="G"&&f!="SVG"){if(f=="M"){getGeoChart(sessionid,d,h,b,"","No",f,c,k,e);return}else{getCubotTextReport(d,h,b,"","No",f,c,k,0);return}}else{if(f=="T"||f=="A"||f=="F"){showProgress(h,"Fetching CUBOT text report",0);getCubotTextReport(d,h,b,"","No",f,c,k,0);return}else{if(f=="M"){showProgress(h,"Preparing to show map",0);getGeoChart(sessionid,d,h,b,"","No",f,c,k,e);return}}if(e==1){showProgress(h,"Fetch chart data (Refresh)",0);prepareReport(d,f,c,k,b,h,true)}else{showProgress(h,"Fetching chart data ",0);prepareReport(d,f,c,k,b,h,false)}}}function removeContent(a,b){removeContentData(sessionid,a,b)}function saveContent(a,d,c){var b=c.replace(/"/g,/"/).length;if(b<65535){putContentData(sessionid,a,d,c)}else{alert("Can't save "+a+". Page became "+b+" characters.")}}function getContent(a,b){return getContentData(sessionid,a,b)}function getNextSequenceId(){return getUniqueNumber(sessionid)}function switchTheme(a,b){$("link[title]","head").each(function(){this.disabled=true;this.disabled=(this.title!=a);if(this.title==a&&b==1){saveContent("THEMES",0,a)}G_THEME=a;$("body").css("padding-top","")});return false}function addJsFile(a){var b=document.createElement("script");b.setAttribute("type","text/javascript");b.setAttribute("src",a);if(typeof b!="undefined"){document.getElementsByTagName("head")[0].appendChild(b)}}function getFromURL(a){if(document.URL.length>0&&document.URL.split(a+"=").length>1){return(document.URL.split(a+"=")[1].split("&")[0].replace("#",""))}}function htmlescape(a){return String(a).replace(/ /g,"+").replace(/#/g,"%23").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\./g,"%2e")}function getCubotTextReport(f,k,b,e,l,h,m,c,d){if(h!="B"&&h!="L"&&h!="P"&&h!="S"&&h!="N"&&h!="C"&&h!="T"&&h!="A"&&h!="F"){h="T"}var a=getReportMetaData(sessionid,f);if(a.length<1){$("div#"+k).html("<font color=red><center>"+getLabel("Error ploting chart")+".<br>"+getLabel("Report has been deleted or unshared.")+".</center></font>");return}if(f.length<1){$("#"+k).html("<center><font color=red>"+getLabel("No Report To Show")+"</font></center>");return}var g="";if(d>0){g="/newgraph.rx?conn="+getFromURL("conn")+"&rdn="+rand()+"&uid="+getFromURL("uid")+"&gname="+d+"&candrill=1&resetpref=Y&loc=D&showctl=N>ype="+h+"&gheight="+m+"&gwidth="+c+"&op=report_shared";if(e.length>0){g+="&sort="+htmlescape(e)}}else{g="/dograph.rx?rdn="+rand()+"&conn="+getFromURL("conn")+"&gname="+f+"&mode=Dashboard&op=rptview&fldid="+f}if(l=="yes"){g+="&fullrep=yes"}$.ajax({async:true,url:g,timeout:20000,success:function(w){var y=w;if(y.indexOf("location.href=")>0&&y.indexOf("dispgraph.rx?")>0){var z=0;if(y.split("gname=").length>1){z=y.split("gname=")[1].split("&")[0].replace("#","")}getCubotTextReport(f,k,b,e,l,h,m,c,z);return true}if(y.indexOf("<IMG SRC=/edash//be//gphout/")<0){if(h=="T"||h=="A"||h=="F"){y=y.substr(y.indexOf("<THEAD>"));y=y.substr(0,y.indexOf("</TFOOT>")+8)}else{y="<br><br><center><font color=red>Multi dimensional charts are not supported by CUBOT.<br>Click text report to view the data.</font></center>"}}else{y=y.substr(y.indexOf("<IMG SRC=/edash//be//gphout/"));y=y.substr(0,y.indexOf("</td>"));y="<tr><td>"+y+"</td></tr>"}if(h!="T"){$("#"+k).html('<table id="cubdata'+f+'" class="cubotgraph" width="100%" cellspacing="0" cellpadding="0" border="1">'+y+"</table>")}else{$("#"+k).html('<table id="cubdata'+f+'" class="sorttable" width="100%" cellspacing="1" cellpadding="3" border="1">'+y+"</table>");var B=document.getElementById("cubdata"+f);var p=-1,A="";if(B.rows[0]&&B.rows[0].cells[0]){p=B.rows[0].cells[0].rowSpan}if(p>0){for(var u=0;u<p;u++){for(var r=0;r<B.rows[u].cells.length;r++){A=B.rows[u].cells[r];if(typeof A.className=="undefined"||e.indexOf("(Down)")<0){A.className="Asc";upDown=" (Down)"}else{A.className="Desc";upDown=""}A.onclick=function(){var C=this.innerHTML;if(C=="Total"){C="Total0"}getCubotTextReport(f,k,b,C+upDown,l,h,m,c,0)}}}}}if(b.length>0){var v="",q,x="";var o=w.indexOf("rows displayed ]");if(o>0){v=w.substr(w.indexOf("[",o-10));v=v.substr(0,v.indexOf("]")+1);v="<A href=# onclick='getCubotTextReport("+f+',"'+k+'","'+b+'","'+e+'","yes", "'+h+'", "'+m+'", "'+c+"\",0);' title='View Full report'>"+v+"</A>"}var o=w.indexOf("(in");if(o>0){var t=w.indexOf(")",o);x=w.substr(o,t-o+1)}var n=getReportMetaData(sessionid,f);if(n.length>=18){if(k.indexOf("full")>=0){$("span.ui-dialog-title").html(v+" "+getAnalyzeLink(f,n[18],n[8],n[3],n[4])+" "+x)}else{$(".moduleTitle",document.getElementById(b)).html(v+" "+getAnalyzeLink(f,n[18],n[8],n[3],n[4])+" "+x)}}}},error:function(o,q,p){var n=getReportMetaData(sessionid,f);if(n.length>=18){$(".moduleTitle",document.getElementById(b)).html(getAnalyzeLink(f,n[18],n[8],n[3],n[4]))}$("#"+k).html("<center><font color=red>"+q+"</font></center>")}})}var gnameHash={};function replaceNewGname(b){var a="/dograph.rx?rdn="+rand()+"&conn="+getFromURL("conn")+"&gname="+b+"&mode=Dashboard&op=rptview&fldid="+b;$.ajax({async:false,url:a,timeout:2000,success:function(d){if(d.indexOf("dispgraph.rx?")>0){var c=0;if(d.split("gname=").length>1){c=d.split("gname=")[1].split("&")[0].replace("#","");if(c>0){gnameHash[b]=c}}}}})}function multiDimensional(d,c){d=d[3];c=c[3];return d==c?0:(d<c?-1:1)}function getAccordian(){var b=getReportMetaData(sessionid,"null");var c=new Array();for(i=0,j=0;i<b.length;i++){if(b[i][11]=="Folder"){c[j]=new Array();c[j].push(b[i][0]);c[j].push(b[i][1]);c[j].push(b[i][2]);c[j].push(b[i][3]);j++}}if(b.length>0){b=b.sort(multiDimensional)}var a='<dl class="maccordion"><div><b><font color=white>'+getLabel("Personal")+":</font></b></div>";for(i=0;i<c.length;i++){if(c[i][0]<100000){continue}if(i!=0){a+="</ul></dd>"}a+="<dt>"+c[i][3]+'</dt><dd><ul class="menu">';for(j=0;j<b.length;j++){if(b[j][1]==c[i][0]&&b[j][11]!="Folder"&&userId==b[j][2]){a+='<li><a rel="'+b[j][0]+":"+encodeFormat(b[j][11])+'"></a>'+b[j][3]+"</li>"}}}a+="</ul> </dd><div><b><font color=white>"+getLabel("Shared")+":</font></b></div>";for(i=0;i<c.length;i++){if(c[i][0]>100000){continue}if(i!=0){a+="</ul></dd>"}a+="<dt>"+c[i][3]+'</dt><dd><ul class="menu">';for(j=0;j<b.length;j++){if(b[j][1]==c[i][0]&&b[j][11]!="Folder"&&userId!=b[j][2]){a+='<li><a rel="'+b[j][0]+":"+encodeFormat(b[j][11])+'"></a>'+b[j][3]+"</li>"}}}a+="</ul> </dd> </dl>";return a}var labelValue=new Array();function initLabels(){if(userLanguage.length<=1){userLanguage="English"}var a="/showcase/"+userLanguage+".ui";var c=getRequestedData(a,null,0,false);if(c){var b=c.split("\n");for(i=0;i<b.length;i++){labelValue[i]=b[i].split("\t")}}}function getLabel(a){for(var b=0;b<labelValue.length;b++){if(labelValue[b].length>=2){if(labelValue[b][0].toUpperCase()==a.toUpperCase()){return labelValue[b][1]}}}return a}function formatDate(c){var b=c.split(" ")[0];var g=c.split(" ")[1];var a=new Array("00","00","00");var e="";if(b&&b.length>8){e=b.split("-")}else{return""}if(g&&g.length>5){a=g.split(":")}var f=new Date(e[0],e[1]-1,e[2],a[0],a[1],a[2]);return f.toString().split("GMT")[0]}function myprint(d){var b="<head><style>@media print {table { border-spacing: 2px; border-style: none; border-color: black black black black; border-collapse: collapse; background-color: white; } .sorttable td { border-width: thin thin thin thin; padding: 1px 1px 1px 1px; border-style: solid solid solid solid; border-color: black black black black; } }</style></head><body>";b+=document.getElementById("c1").innerHTML;b+=document.getElementById("c2").innerHTML;b+=document.getElementById("c3").innerHTML;b+=document.getElementById("c4").innerHTML;b+="</body>";var c=document.getElementById(d);var a=window.open("","CUBOT","width=740,height=325,top=200,left=250,toolbars=no,scrollbars=yes,status=no,resizable=no");a.document.writeln(b);a.document.close();a.focus();a.print();a.close()};