document.observe("dom:loaded",function(){$$(".handle").each(function(a){new HeaderMenu(a,a.id)});$$("#title .iconlink, #content .iconlink").each(function(a){if(a.parentNode.href){new IconMenu(a,a.parentNode.href+"/iconmenu")}});$$(".friend_list").each(function(a){a.select("a").each(function(b){$(b).observe("click",function(e){var d=b;var c=d.classNames().toArray().join(".");if(c){var f=(d.innerHTML=="Overview")?"&hellip;pick a service<b></b>":d.innerHTML+"<b></b>";$("service_selector").update(f);$$(".find_users div").invoke("setStyle",{height:0,overflow:"hidden"});$$("div."+c).invoke("setStyle",{height:"auto",display:"block"});inviteDropdown.close()}Event.stop(e)})})});$$(".add_friend a").each(function(a){$(a).observe("click",function(c){var b='<li><label for="invite_name">Name: <input type="text" name="invite[][name]" /></label><label for="invite_email"> E-mail: <input type="text" name="invite[][email]" /></label></li>';$$(".invite_person").first().insert({bottom:b});Event.stop(c)})});inviteDropdown=new inviteDropdown();if($("invite_email")){inviteMail=new inviteMail()}logoFaceBox=new LogoFaceBox();largeDescription=new LargeDescription("description_span",400);yourTags=new softwareButtonToggle("tags_button","user_tags");favoriteSoftware=new softwareButtonToggle("favs_button","user_favs");privacySettings=new softwareButtonToggle("privacy_button","user_privacy");if($("recentlyticker")){new RecentlyTicker("recentlyticker")}});function trackAjaxPageView(a){if(typeof(pageTracker)!=="undefined"){pageTracker._trackPageview(a)}}function clearInput(b,a){if(!a){a="666666"}if(b.className!="focussed"){b.style.color="#"+a;b.value="";b.className+="focussed"}}var Button=Class.create({initialize:function(a){this.btn=$(a);this.btn.caption=this.btn.innerHTML;this.btn.addClassName("loading");this.btn.update("<span>Loading</span>");this.btn.disabled="disabled";if(this.btn.type=="submit"&&this.btn.form.onSubmit==""){this.btn.form.submit()}if(this.btn.onclick){this.btn.form.submit()}},reset:function(){this.btn.removeClassName("loading");this.btn.update(this.btn.caption);this.btn.disabled=""},loading:function(){this.initialize(this.btn)}});var LogoFaceBox=Class.create({initialize:function(){this.logoWasClosed=false;if($("logo")){$("logo").oncontextmenu=this.showLogoBox.bindAsEventListener(this);$("facebox_close").onclick=this.closeLogoBox.bindAsEventListener(this)}},showLogoBox:function(){if(!this.logoWasClosed){$("facebox_logo").show();return false}},closeLogoBox:function(){$("facebox_logo").hide();this.logoWasClosed=true;return false}});var inviteDropdown=Class.create({initialize:function(){this.shown=false;$$(".find_users div").invoke("setStyle",{height:0,overflow:"hidden"});var b=["windowslive","yahoo","gmail_api","twitter","facebook","flickr"];var c=window.location.href.split("#")[1];if(b.include(c)){$$("div."+c+"-s").invoke("setStyle",{height:"auto"});var a=($$("a."+c+"-s").first().innerHTML=="Overview")?"&hellip;pick a service<b></b>":$$("a."+c+"-s").first().innerHTML+"<b></b>";$("service_selector").update(a)}else{$$(".find_users div:first-child").invoke("setStyle",{height:"auto"})}if($("service_selector")){$("service_selector").observe("click",this.toggle.bindAsEventListener(this))}},toggle:function(a){if(this.shown){this.close()}else{this.open()}Event.stop(a)},open:function(){$("service_selector").addClassName("opened");new Effect.Morph("friend_list",{style:"height:168px",duration:0.4});this.shown=true},close:function(){this.shown=false;new Effect.Morph("friend_list",{style:"height:0px",duration:0.4});$("service_selector").removeClassName("opened")}});var inviteMail=Class.create({initialize:function(){this.shown=false;$("invite_email").setStyle({height:0,overflow:"hidden"});if($("open_invitemail")){$("open_invitemail").observe("click",this.toggle.bindAsEventListener(this))}},toggle:function(a){if(this.shown){this.close()}else{this.open()}Event.stop(a)},open:function(){new Effect.Morph("invite_email",{style:"height:240px",duration:0.4});$("open_invitemail").update("hide example");this.shown=true},close:function(){this.shown=false;new Effect.Morph("invite_email",{style:"height:0px",duration:0.4});$("open_invitemail").update("example")}});var softwareButtonToggle=Class.create({initialize:function(a,b){this.shown=false;this.buttonid=a;this.divid=b;if($(this.buttonid)){$(this.buttonid).observe("click",this.toggle.bindAsEventListener(this))}},toggle:function(a){if(this.shown){this.close()}else{this.open()}Event.stop(a)},open:function(){trackAjaxPageView("/javascript/software/open-box-"+this.buttonid);new Effect.BlindDown(this.divid,{duration:0.4});this.shown=true},close:function(){this.shown=false;new Effect.BlindUp(this.divid,{duration:0.4})}});function showSubmit(a){if(a){a.addClassName("submitted_button")}}function activateSubmit(a){if(a){a.disabled=false;a.removeClassName("submitted_button")}}var LargeDescription=Class.create({initialize:function(b,a){this.elm=$(b);if(!this.elm){return}if(this.elm.innerHTML.length<a){this.elm.innerHTML=this.elm.innerHTML.stripTags();return}this.large_text=this.elm.innerHTML;this.small_text=this.large_text.substring(0,a);this.small_text=this.small_text.substring(0,this.small_text.lastIndexOf(" "))+" &hellip;";this.small_text=this.small_text.stripTags();this.elm.innerHTML='<span id="'+b+'_span"></span> <a id="'+b+'_link" href="#more">More</a>';this.span=$(b+"_span");this.link=$(b+"_link");this.span.innerHTML=this.small_text;this.link.onclick=this.toggle.bindAsEventListener(this);this.isFull=false},toggle:function(){this.span.innerHTML=(this.isFull)?this.small_text:this.large_text;this.link.innerHTML=(this.isFull)?"More":"Less";this.isFull=!this.isFull;return false}});function toggleDescr(){if($("descr").hasClassName("descr_closed")){$("more_link").innerHTML="Less";$("descr").removeClassName("descr_closed");$("descr").addClassName("descr_open")}else{$("descr").removeClassName("descr_open");$("descr").addClassName("descr_closed");$("more_link").innerHTML="&hellip; More"}}var search_running=false;function searchSoftware(b){var a=$F("search_query");if(!search_running&&a.length>=3){new Ajax.Request(b,{method:"post",postBody:"query="+escape(a),onLoading:function(){$("spinner").show();search_running=true},onComplete:function(){search_running=false;$("spinner").hide()},onSuccess:function(c){$("search_hits").innerHTML=c.responseText||"Nothing found :(";trackAjaxPageView("/javascript/ajax-search-box")}})}else{$("search_hits").innerHTML=""}}function observePicker(d,c){var b=$F(c+"_input");var a=$(c+"_hits");var e=$(c+"_spinner");if(!search_running&&b.length>=3){new Ajax.Request(d,{method:"post",postBody:"query="+escape(b),onLoading:function(){e.show();search_running=true},onComplete:function(){search_running=false;e.hide();a.show()},onSuccess:function(f){a.innerHTML=f.responseText||"Nothing found :(";trackAjaxPageView("/javascript/ajax-search-box")}})}else{a.hide();a.innerHTML=""}}function setApp(c,a,b,d){if(field=$(b)){$(b+"_hits").innerHTML=field.innerHTML;field.innerHTML="<span>"+c.innerHTML+'<input type="hidden" name="split[similar_software_id]" value="'+a+'" /></span>';field.innerHTML+=' - <a href="#developers" onclick="setPicker(\''+b+"')\">change</a>"}$(b+"_hits").hide();if($("devbadge_code")){setDevWidget(d)}}function setPicker(a){if(field=$(a)){field.innerHTML=$(a+"_hits").innerHTML;$(a+"_input").className="greyed";$(a+"_hits").innerHTML="";new Form.Element.Observer(a+"_input",1,function(b,c){observePicker("/search/autocomplete?field_id="+a,a)})}}function setBlockStatus(h,d,b){var a="usage_spinner_"+h;var c="usage_software_"+h;var f="block_"+h;var e="unblock_"+h;var g="flag_description_"+h;new Ajax.Request("/account/display_settings",{method:"post",postBody:"id="+escape(h)+"&display_flag="+escape(d),onLoading:function(){$(a).show()},onSuccess:function(j){$(a).hide();if(b){if(d==-1){$(f).show();$(e).hide()}else{$(f).hide();$(e).show();$(g).innerHTML=j.responseText}}else{if(d==-1){$(c).remove();if($("currently_blocked").childNodes.length<=1){$("none_blocked").show()}}else{$("none_blocked").hide();$(f).hide();$(g).innerHTML=j.responseText;$(e).show();$("currently_blocked").appendChild($(c))}}},on403:function(){$(a).hide()}})}function osChecker(){var b=null;if(navigator.appVersion.indexOf("Win")!=-1){b="win"}if(navigator.appVersion.indexOf("Mac")!=-1){b="mac"}if(navigator.appVersion.indexOf("Linux")!=-1||navigator.appVersion.indexOf("X11")!=-1){b="linux"}var a=["win","mac","linux"];if(b){$(a).each(Element.hide);var c=window.location.href.split("#")[1];if(a.include(c)){$$("div#"+c+"").invoke("show")}else{$(b).show()}}$$(".view_all_os").each(function(d){$(d).observe("click",function(e){$("win","mac","linux").invoke("show");$$(".view_all_os").invoke("hide")})})}var WakoopaConnectButton={toggle:function(c,e,g){var b=g.keepAround||false;var a=c.href;var d=c.href.match(/(?:\/)(connect|unconnect)(?:\?quick=)/)[1];var f=c.select("img").first();new Ajax.Request(a,{onLoading:function(){f.src="/images/indicator.gif"},onSuccess:function(){if(d=="connect"){f.src="/images/icon_mincontact.gif";c.title="Remove as contact";c.href=c.href.gsub(/\/connect\?quick/,"/unconnect?quick");trackAjaxPageView("/javascript/profile/add-as-contact")}else{if(d=="unconnect"){f.src="/images/icon_pluscontact.gif";c.title="Add as contact";c.href=c.href.gsub(/\/unconnect\?quick/,"/connect?quick");trackAjaxPageView("/javascript/profile/remove-as-contact")}}if($(e)&&!b){$(e).fade()}}})}};function inviteFormSubmit(form){var results_container=$("invitevia_result");var header_type=$$(".box_title h2, .box_title h3").first().tagName;var service=$(form).select('input[name="invite_via[via]"]').first().value.capitalize();new Ajax.Request("/account/invite/find_users",{asynchronous:true,evalScripts:true,onLoading:function(request){if($("found_users")){$("found_users").hide()}results_container.update("loading");results_container.addClassName("loading")},onComplete:function(request){eval(request.responseText);results_container.insert({top:"<"+header_type+">Found "+service+" contacts on Wakoopa</"+header_type+">"});results_container.removeClassName("loading")},onFailure:function(request){results_container.update('<p class="empty">Oops something went wrong, maybe the username you entered does not exist or '+service+" is down :(</p>");results_container.removeClassName("loading")},parameters:Form.serialize(form)});return false}var num=0;function userCarousel(b){var c=$("mostactive"),a=$$("#mostactive li").size()*60,d=num;if(b.id=="uprev"){num=num+420}else{num=num-420}if(num<=0){if(num>-a){new Effect.Morph(c,{style:"margin-left:"+num+"px",duration:0.3});if(num-420<=-a){$("inext").addClassName("faded")}else{$("inext").removeClassName("faded")}}else{num=d;$("inext").addClassName("faded")}if(num==0){$("iprev").addClassName("faded");$("inext").removeClassName("faded")}else{$("iprev").removeClassName("faded")}}else{num=0}trackAjaxPageView("/javascript/software/user-carousel");return false}var screenshotnum=0;function screenshotCarousel(b){var c=$("screenshot_scroller"),a=$$("#screenshot_scroller li").size()*99+15,d=screenshotnum;if(b.id=="suprev"){screenshotnum=screenshotnum+297}else{screenshotnum=screenshotnum-297}if(screenshotnum<=0){if(screenshotnum>-a){new Effect.Morph(c,{style:"margin-left:"+screenshotnum+"px",duration:0.3});if(screenshotnum-297<=-a){$("sinext").addClassName("faded")}else{$("sinext").removeClassName("faded")}}else{screenshotnum=d;$("inext").addClassName("faded")}if(screenshotnum==0){$("siprev").addClassName("faded");$("sinext").removeClassName("faded")}else{$("siprev").removeClassName("faded")}}else{screenshotnum=0}trackAjaxPageView("/javascript/software/screenshot-carousel");return false}var iphoneLatestAppsCarousel=Class.create({initialize:function(){$$("ul.latest_iphone_avatars li a").each(function(d){d.observe("click",function(f,e){window.iphoneCarousel=false;this.changeItem(e);Event.stop(f);return false}.bindAsEventListener(this,d))}.bind(this));var a=$$("ul.latest_iphone_avatars li a")[0];if(a){var c='<a class="url" href=""></a>: <em></em>';var b=new Element("div",{id:"iphone_tagline"}).update(c);$("latest_iphone_apps").insert({bottom:b});this.changeItem(a);window.iphoneCarousel=true;setTimeout(this.binderFunction.bind(this,1),4000)}},favCycle:function(a){var c=a,b=$$("ul.latest_iphone_avatars li a");this.changeItem(b[a]);c=(c<b.length-1)?c+1:0;setTimeout(this.binderFunction.bind(this,c),4000)},binderFunction:function(a){var b=$$("ul.latest_iphone_avatars li a");if(window.iphoneCarousel&&b.length>1){this.favCycle(a)}},changeItem:function(d){$$("ul.latest_iphone_avatars li a").each(function(f){$(f).removeClassName("active")});d.addClassName("active");var b=d.immediateDescendants(),a=d.readAttribute("href"),c=b[1].innerHTML,e=b[0].readAttribute("alt");tagline=$("iphone_tagline").immediateDescendants();tagline[0].innerHTML=e;tagline[0].writeAttribute("href",a);tagline[1].innerHTML=c}});var HeaderMenuOpen=null;var HeaderMenu=Class.create({initialize:function(a,b){this.node=$(a);this.menu=$(b=="os_link"?"os_menu":b+"menu");this.link=(b=="os_link"?$(b):$(b+"link"));this.os_select_form=$("os_select_form");this.search_input=$("search_input");this.escEvent=this.escape.bindAsEventListener(this);this.outEvent=this.outside.bindAsEventListener(this);this.menuOpened=false;this.effect=false;this.node.observe("click",this.toggle.bindAsEventListener(this));this.os_select_form.onsubmit=this.filterPlatforms.bindAsEventListener(this);if(this.search_input){this.search_input.onfocus=this.clearInput.bindAsEventListener(this);this.search_input.onblur=this.setInput.bindAsEventListener(this)}if(!window.HMZI){window.HMZI=2}},toggle:function(a){this.menu.style.zIndex=HMZI++;if(this.menuOpened){this.close(a)}else{this.open(a)}},open:function(a){if(HeaderMenuOpen!=null&&HeaderMenuOpen!=this){HeaderMenuOpen.close(a)}HeaderMenuOpen=this;new Effect.BlindDown(this.menu,{duration:0.2});this.link.addClassName("opened");document.observe("click",this.outEvent);document.observe("keydown",this.escEvent);this.menuOpened=true;Event.stop(a);if($("leaderboard")){$("leaderboard").hide()}},close:function(b){this.effect=new Effect.BlindUp(this.menu,{duration:0.2,afterFinish:(function(c){this.link.removeClassName("opened")}).bindAsEventListener(this)});document.stopObserving("click",this.outEvent);document.stopObserving("keydown",this.escEvent);this.menuOpened=false;var a=Event.element(b);if(a.hasClassName("handle")||a.hasClassName("innerhandle")){Event.stop(b)}if($("leaderboard")){$("leaderboard").show()}},escape:function(a){if(a.keyCode==27){this.close(a)}},outside:function(a){element=Event.element(a);if(!element.descendantOf("header")){this.close(a)}},filterPlatforms:function(){var a="";$$(".os_select").each(function(b){if(b.checked){a+=b.value+","}});document.location.href="/platforms?os="+a.slice(0,-1);return false},clearInput:function(){if(!this.default_search_text){this.default_search_text=this.search_input.value}if(this.default_search_text==this.search_input.value){this.search_input.value=""}this.search_input.addClassName("focussed")},setInput:function(){if(this.search_input.value.length==0&&this.default_search_text){this.search_input.value=this.default_search_text}this.search_input.removeClassName("focussed")}});var iconMenuIndex=1;var iconMenuContents=[];var IconMenu=Class.create({initialize:function(a,b){this.node=a;this.ajaxURL=b||"iconmenu.html";this.image=this.node.longDesc;this.closeEvent=this.close.bindAsEventListener(this);this.outEvent=this.outside.bindAsEventListener(this);this.escEvent=this.escape.bindAsEventListener(this);this.menuLink=false;this.menuOpener=false;this.menu=false;this.wrapper=false;this.linkShown=false;this.menuOpened=false;this.active=false;this.timeout=null;this.node.observe("mouseover",this.toggle.bindAsEventListener(this));this.node.observe("mouseout",this.toggle.bindAsEventListener(this))},toggle:function(b){var a=new Image();a.src=this.image;if(this.timeout){this.timeout=clearTimeout(this.timeout)}else{this.timeout=setTimeout(this.show.bindAsEventListener(this),300)}},show:function(c){clearTimeout(this.timeout);if(!this.linkShown){if(!this.menuLink){this.menuLink=new Element("div",{"class":"iconmenu_link"});this.menuOpener=new Element("a",{"class":"iconmenu_opener",href:this.node.parentNode.href});this.menuLink.appendChild(this.menuOpener);cloneIt(this.menuLink,this.node,{setWidth:false,setHeight:false});var a=new Element("img",{src:this.image});var b=new Element("a",{"class":"iconmenu_img",href:this.node.parentNode.href});b.appendChild(a);b.wrap(this.menuLink);this.menuLink.hide();document.body.appendChild(this.menuLink);this.menuLink.observe("mouseout",this.hide.bindAsEventListener(this));this.menuOpener.observe("click",this.toggleMenu.bindAsEventListener(this))}document.observe("click",this.outEvent);document.observe("keydown",this.escEvent);this.menuLink.show();this.linkShown=true}},hide:function(b){if(this.linkShown){var a=b.relatedTarget||b.toElement;if(a&&a.className!="iconmenu_link"&&a.className!="iconmenu_opener"&&!this.menuOpened){this.menuLink.hide();this.linkShown=false;document.stopObserving("click",this.outEvent);document.stopObserving("keydown",this.escEvent)}}},toggleMenu:function(c){if(this.menuOpened){this.menu.style.display="none";this.menuLink.removeClassName("opened");this.menuOpened=false}else{if(!this.menu){this.menu=new Element("div",{"class":"iconmenu"});var a=new Element("img",{src:"/images/indicator_big.gif",id:"indicator"});this.menu.appendChild(a);cloneIt(this.menu,this.node,{setWidth:false,setHeight:false});if(iconMenuContents[this.ajaxURL]){this.menu.update(iconMenuContents[this.ajaxURL])}else{var d=this.menu;var b=this.ajaxURL;new Ajax.Request(b,{method:"get",evalScripts:true,onSuccess:function(e){d.update(e.responseText);iconMenuContents[b]=d.innerHTML}})}}this.menu.style.display="";this.menuLink.insert({after:this.menu});this.menuLink.addClassName("opened");this.menuOpened=true;iconMenuIndex=iconMenuIndex+2;this.menuLink.style.zIndex=iconMenuIndex;this.menu.style.zIndex=iconMenuIndex-1}Event.stop(c)},close:function(a){if(this.menu){this.menuLink.hide();this.linkShown=false;this.menu.style.display="none";this.menuLink.removeClassName("opened");this.menuOpened=false;document.stopObserving("click",this.outEvent);document.stopObserving("keydown",this.escEvent)}},outside:function(a){element=Event.element(a);if(!element.descendantOf(this.menu)){this.close(a)}},escape:function(a){if(a.keyCode==27){this.close(a)}}});function cloneIt(b,c){var a=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{});c=$(c);var d=c.cumulativeOffset();b=$(b);if(a.setLeft){b.style.left=(d[0]+a.offsetLeft)+"px"}if(a.setTop){b.style.top=(d[1]+a.offsetTop)+"px"}if(a.setWidth){b.style.width=c.offsetWidth+"px"}if(a.setHeight){b.style.height=c.offsetHeight+"px"}return b}var AlertReply={trigger:function(f,b,h){var d=f.up();var c=d.select("form").first();if(!c){c=new Element("form",{"class":"reply_form",action:b,method:"post"}).update("Leave a comment: ");c.observe("submit",function(k){AlertReply.submitForm(c);Event.stop(k)},true);var j=new Element("input",{type:"text",name:"comment[text]","class":"comment_text"});if(h){var a=new Element("input",{type:"hidden",name:"comment[alert_id]",value:h});c.appendChild(a)}c.appendChild(j);var g=new Element("input",{type:"submit",value:"Reply",onclick:"showSubmit(this)"});c.appendChild(g);var e=new Element("div",{id:"alertreply_"+h,"class":"alertreply_box",style:"display:none"});e.appendChild(c);f.insert({after:e});j.focus()}else{e=$("alertreply_"+h)}new Effect.toggle(e,"blind",{duration:0.3})},submitForm:function(a){trackAjaxPageView("/javascript/dashboard/alert-reply-sent");var b=a.select("input[type=text]").first();if(b.value==""){b.style.border="1px solid red";activateSubmit(a.select("input[type=submit]").first())}else{new Ajax.Request(a.action,{asynchronous:true,evalScripts:true,onComplete:function(c){a.update('<p>Thanks! Your comment was posted on <a href="'+a.up(1).select("a").first().href+'#comments">this profile</a>.</p>')},parameters:Form.serialize(a)})}return false}};var Dismissal=Class.create({url:"/dismiss",initialize:function(b,a){if($(b)){new Effect.BlindUp($(b),{duration:0.2})}trackAjaxPageView("/javascript/dismiss-"+a);this.sendXHR(a);return false},sendXHR:function(a){new Ajax.Request(this.url,{parameters:{type:a},method:"post"})}});var WakoopaRecommendation={showReasons:function(a){$("reasons_"+a).toggle();trackAjaxPageView("/javascript/recommendations/show-reason");return false},showExplanation:function(a){$("explanation_"+a).toggle();trackAjaxPageView("/javascript/recommendations/show-explanation");return false},showContacts:function(a){$("contacts_"+a).toggle();trackAjaxPageView("/javascript/recommendations/show-contacts");return false},showReleasenotes:function(a){$("releasenotes_"+a).toggle();trackAjaxPageView("/javascript/recommendations/show-releasenotes");return false},showMore:function(b){var a=$(b).ancestors()[1];if($(a).hasClassName("reasons_open")){$(a).removeClassName("reasons_open");$(b).update("Show more")}else{$(a).addClassName("reasons_open");$(b).update("Show less")}return false},removeListing:function(a,e){var b=$(a).ancestors()[5];var d=$(a).ancestors()[3];var c="remove_loader_"+e;b.setStyle({opacity:"0.4"});d.setStyle({display:"none"});$(c).setStyle({display:"block"});trackAjaxPageView("/javascript/recommendations/remove-listing");return true}};var Ico={Base:{},Normaliser:{},SparkLine:{},SparkBar:{},BaseGraph:{},LineGraph:{},AreaGraph:{},StackGraph:{},BarGraph:{},HorizontalBarGraph:{}};Array.prototype.sum=function(){for(var a=0,b=0;a<this.length;b+=this[a++]){}return b};if(typeof Array.prototype.max=="undefined"){Array.prototype.max=function(){return Math.max.apply({},this)}}if(typeof Array.prototype.min=="undefined"){Array.prototype.min=function(){return Math.min.apply({},this)}}Array.prototype.mean=function(){return this.sum()/this.length};Array.prototype.variance=function(){var a=this.mean(),b=0;for(var c=0;c<this.length;c++){b+=Math.pow(this[c]-a,2)}return b/(this.length-1)};Array.prototype.standard_deviation=function(){return Math.sqrt(this.variance())};Ico.Normaliser=Class.create({initialize:function(b,a){this.options={start_value:null};Object.extend(this.options,a||{});this.min=b.min();this.max=b.max();this.standard_deviation=b.standard_deviation();this.range=0;this.step=this.labelStep(this.max-this.min);this.start_value=this.calculateStart();this.process()},calculateStart:function(){var a=this.options.start_value!=null&&this.min>=0?this.options.start_value:this.min;start_value=this.round(a,1);if(this.min>0&&start_value>this.min){return 0}return start_value},round:function(a,b){b=b||1;roundedValue=a;if(this.standard_deviation>0.1){var c=Math.pow(10,-b);roundedValue=Math.round(a*c)/c;if(roundedValue>this.min){return this.round(a-this.step)}}return roundedValue},process:function(){this.range=this.max-this.start_value;this.step=this.labelStep(this.range);if(this.range/this.step>15){this.step*=3}},labelStep:function(a){return Math.pow(10,(Math.log(a)/Math.LN10).round()-1)}});Ico.Base=Class.create({normaliseData:function(a){return $A(a).collect(function(b){return this.normalise(b)}.bind(this))}});Ico.BaseGraph=Class.create(Ico.Base,{initialize:function(b,c,a){this.element=b;this.data_sets=Object.isArray(c)?new Hash({one:c}):$H(c);if(this.chartDefaults().stacked===true){this.stackData(this.data_sets)}this.flat_data=this.data_sets.collect(function(d){return d[1]}).flatten();this.normaliser=new Ico.Normaliser(this.flat_data,this.normaliserOptions());this.label_step=this.normaliser.step;this.range=this.normaliser.range;this.start_value=this.normaliser.start_value;this.data_size=this.longestDataSetLength();if(a&&a.colour){a.colours={};this.data_sets.keys().each(function(d){a.colours[d]=a.colour})}this.options={width:parseInt(b.getStyle("width")),height:parseInt(b.getStyle("height")),labels:$A($R(1,this.data_size)),plot_padding:10,font_size:10,show_horizontal_labels:true,show_vertical_labels:true,vertical_label_unit:false,colours:this.makeRandomColours(),background_colour:b.getStyle("backgroundColor"),label_colour:"#000",grid_colour:"#ccc",markers:false,marker_size:5,meanline:false,y_padding_top:20,draw_axis:true,stacked_fill:false,datalabels:"",start_at_zero:true,bargraph_lastcolour:false,hover_colour:"",watermark:false,watermark_orientation:false,horizontal_rounded:false,hide_empty_label_grid:false};Object.extend(this.options,this.chartDefaults()||{});Object.extend(this.options,a||{});this.x_padding_left=10+this.paddingLeftOffset();this.x_padding_left+=this.options.vertical_label_unit?6:0;this.x_padding_right=20;this.x_padding=this.x_padding_left+this.x_padding_right;this.y_padding_top=this.options.y_padding_top;this.y_padding_bottom=20+this.paddingBottomOffset();this.y_padding=this.y_padding_top+this.y_padding_bottom;this.graph_width=this.options.width-(this.x_padding);this.graph_height=this.options.height-(this.y_padding);this.step=this.calculateStep();this.y_label_count=(this.range/this.label_step).round();if((this.normaliser.min+(this.y_label_count*this.normaliser.step))<this.normaliser.max){this.y_label_count+=1}this.value_labels=this.makeValueLabels(this.y_label_count);this.top_value=this.value_labels.last();this.grid_start_offset=-1;this.paper=Raphael(this.element,this.options.width,this.options.height);this.background=this.paper.rect(this.x_padding_left,this.y_padding_top,this.graph_width,this.graph_height);this.background.attr({fill:this.options.background_colour,stroke:"none"});if(this.options.meanline===true){this.options.meanline={"stroke-width":"2px",stroke:"#BBBBBB"}}this.setChartSpecificOptions();this.draw()},normaliserOptions:function(){return{graph_height:parseInt(this.element.getStyle("height"))}},chartDefaults:function(){},drawPlot:function(b,f,a,g,d,e,c){},calculateStep:function(){},getMousePos:function(c){var a=0;var d=0;if(!c){c=window.event}if(c.pageX||c.pageY){a=c.pageX;d=c.pageY}else{if(c.clientX||c.clientY){a=c.clientX+document.body.scrollLeft+document.documentElement.scrollLeft;d=c.clientY+document.body.scrollTop+document.documentElement.scrollTop}}var b={x:a,y:d};return b},buildDataLabel:function(d,c){var a={id:"datalabelelem-"+d,"class":"datalabelelem",style:"display:block"};var b=new Element("div",a);b.update(c);return b},makeRandomColours:function(a){var b={};this.data_sets.each(function(c){b[c[0]]=Raphael.hsb2rgb(Math.random(),1,0.75).hex});return b},longestDataSetLength:function(){var a=0;this.data_sets.each(function(b){a=b[1].length>a?b[1].length:a});return a},roundValue:function(b,a){var c=Math.pow(10,a);b*=c;b=Math.round(b)/c;return b},roundValues:function(b,a){return $A(b).collect(function(c){return this.roundValue(c,a)}.bind(this))},paddingLeftOffset:function(){if(this.options.show_vertical_labels){var b=this.flat_data;b=this.roundValues(b,2);var a=$A(b).sort(function(d,c){return d.toString().length<c.toString().length}).first().toString().length;a=a>2?a-1:a;return a*this.options.font_size}else{return 0}},paddingBottomOffset:function(){return this.options.font_size},normalise:function(b){var a=this.start_value==0?this.top_value:this.range;return((b/a)*(this.graph_height))},draw:function(){if(this.options.grid){this.drawGrid()}if(this.options.watermark){this.drawWatermark()}if(this.options.meanline){this.drawMeanLine(this.normaliseData(this.flat_data))}if(this.options.draw_axis){this.drawAxis()}if(this.options.show_vertical_labels){this.drawVerticalLabels()}if(this.options.show_horizontal_labels){this.drawHorizontalLabels()}if(!this.options.watermark){this.drawLinesInit(this)}if(this.start_value!=0){this.drawFocusHint()}},drawLinesInit:function(a){a.data_sets.each(function(c,b){a.drawLines(c[0],a.options.colours[c[0]],a.normaliseData(c[1]),a.options.datalabels[c[0]],a.element,b)}.bind(a))},drawWatermark:function(){if(this.options.watermark=="wakoopa"){this.drawWakoopaWatermark(this,this.data)}else{var a=this.options.watermark,c=new Image(),b=this;c.onload=function(){var e,d;if(b.options.watermark_orientation=="middle"){e=(b.graph_width-c.width)/2+b.x_padding_left;d=(b.graph_height-c.height)/2+b.y_padding_top}else{e=b.graph_width-c.width+b.x_padding_left-2;d=b.graph_height-c.height+b.y_padding_top-2}var f=b.paper.image(c.src,e,d,c.width,c.height);f.attr({opacity:"0.4"});b.drawLinesInit(b,b.data);if(b.options.stacked_fill){f.toFront()}};c.src=a.src||a}},drawWakoopaWatermark:function(e,f){var g=this.paper.path("M 66.12653,28.643755 C 65.88927,28.5774 65.20644,28.15623 65.04322,27.975565 L 64.41948,26.909725 L 64.41948,9.6875 L 64.82874,8.948709 L 65.70556,8.128486 L 66.50282,7.887364 L 67.4056,7.893512 L 68.35306,8.277407 L 69.62782,7.900526 L 71.57226,7.832284 L 72.86932,8.057673 L 73.87705,8.448976 L 74.96575,9.201389 L 76.05217,10.294938 C 76.340077,10.692297 76.570098,11.12571 76.82223,11.545138 C 76.866135,11.63585 77.017825,11.875 77.03146,11.875 C 77.04509,11.875 77.286715,11.493668 77.36473,11.349026 C 77.549845,11.005848 78.44977,9.850685 78.76001,9.558018 L 79.76786,8.753663 L 80.77321,8.238848 L 81.90958,7.942295 L 82.54448,7.831621 L 84.55837,7.907413 L 85.0527,8.041652 C 85.68887,8.214409 87.882965,9.74993 88.38521,10.373885 L 89.13951,11.5625 L 89.5687,12.708333 L 89.69726,13.229166 L 89.69726,18.92361 L 89.29135,19.756944 L 88.41673,20.619728 L 87.42381,20.921315 L 86.50957,20.835946 L 85.76571,20.472012 L 84.48893,20.857646 L 82.22912,20.914775 L 81.65764,20.799442 L 80.62316,20.490104 L 79.68566,19.979401 L 78.69499,19.154267 C 78.385265,18.84918 77.48717,17.659929 77.32773,17.343749 L 77.09135,16.874999 L 77.02603,16.874999 L 76.96071,16.874999 L 76.82203,17.188508 C 76.783895,17.274723 76.425125,17.875544 76.32718,18.017227 L 75.97102,18.532437 L 75.36886,19.112424 C 74.89758,19.566354 73.232795,20.554069 72.68337,20.70572 L 72.12782,20.859064 L 69.48893,20.872297 L 69.41426,26.840275 C 69.342233,27.111491 69.188925,27.349265 69.07653,27.603145 L 68.57711,28.187895 L 67.89892,28.583885 L 67.02365,28.721955 L 66.12653,28.643755 z M 67.75282,27.854455 L 68.21785,27.526115 L 68.56507,26.979165 L 68.72504,26.631945 L 68.76482,19.843758 L 69.97059,20.138888 L 71.85004,20.136476 L 72.33615,20.035045 L 73.44726,19.622577 L 74.53197,18.909242 C 74.818725,18.658303 75.782695,17.53299 75.9447,17.26006 L 76.19387,16.840277 L 76.56187,15.729166 L 76.56651,13.090277 L 76.44302,12.644901 L 76.08452,11.732876 L 75.42542,10.739029 L 74.55942,9.845498 L 73.35485,9.017946 L 72.33615,8.651538 L 71.08615,8.626713 L 69.2806,8.771929 L 68.28655,9.122801 L 67.23976,8.591472 L 66.35765,8.662278 L 65.90528,8.896209 L 65.3724,9.445307 L 65.14865,9.916823 L 65.14865,26.740725 L 65.48292,27.395835 C 65.653368,27.608819 65.909339,27.716383 66.12087,27.875395 L 66.91948,27.981865 L 67.75282,27.854455 z M 69.94405,16.451126 L 69.15778,15.8782 L 68.75976,15.250586 L 68.75976,13.499413 L 69.15667,12.873555 L 69.8422,12.370331 L 70.50571,12.203258 L 71.07998,12.239086 L 71.8216,12.361914 L 72.58835,12.933453 L 72.96115,13.496661 L 72.96115,15.173611 L 72.58019,15.821672 C 72.346501,16.074016 72.03605,16.229114 71.76546,16.431726 L 71.542,16.527777 L 70.11393,16.518974 L 69.94405,16.451126 z M 72.23146,14.965277 L 72.23198,13.711458 L 72.12044,13.552212 C 72.08977,13.508419 71.805305,13.24548 71.72808,13.189538 L 71.44726,12.986111 L 70.23894,12.986111 L 69.45421,13.812547 L 69.45421,14.937452 L 70.1803,15.763888 L 71.48971,15.763888 L 72.23146,14.965277 z M 85.87936,19.642929 L 86.29117,19.890908 L 87.15389,20.138888 L 87.90009,19.995942 L 88.43984,19.582404 L 88.97635,18.739342 L 88.92814,12.951388 C 88.791141,12.54239 88.597185,12.156824 88.4257,11.762184 L 87.80208,10.824995 C 87.470345,10.40955 86.11859,9.271178 85.71491,9.067298 L 84.2931,8.611111 L 82.19726,8.613523 L 80.82474,9.01531 C 80.12561,9.3323105 77.970485,11.685374 77.69821,12.428994 L 77.5578,12.812499 L 77.49723,15.520833 L 77.61048,16.006944 L 77.96658,16.985075 L 78.65928,18.039323 L 79.62734,19.01844 L 80.65058,19.682229 L 81.91948,20.134999 L 84.55837,20.10193 L 85.87936,19.642929 z M 82.08933,16.328779 C 81.91249,16.214796 81.371655,15.660515 81.2671,15.48611 L 81.12139,15.243055 L 81.12087,13.620152 L 81.25592,13.264954 L 82.15855,12.44301 L 82.47504,12.256944 L 84.00282,12.259436 L 84.23646,12.385608 L 85.22705,13.368055 L 85.35394,13.645833 L 85.35698,15.073905 L 85.2538,15.320855 L 84.40621,16.313808 L 84.08317,16.527777 L 82.39807,16.527777 L 82.08933,16.328779 z M 84.5931,15.037203 L 84.5931,13.685388 L 83.76666,12.986111 L 82.70896,12.986111 L 81.88476,13.639298 L 81.88476,15.128232 L 82.68337,15.832813 L 83.77809,15.833333 L 84.5931,15.037203 z M 91.4506,21.289805 C 91.378945,21.264235 91.0187,21.066135 90.95371,21.016565 L 90.42115,20.357005 L 90.26205,19.598487 L 90.44053,18.784721 L 91.22827,18.011772 L 92.05837,17.837228 L 92.39703,17.913935 C 92.610059,17.978137 92.825842,18.043467 93.03682,18.107197 L 93.12554,16.90368 L 93.29214,16.215277 L 93.69946,15.435813 L 94.61224,14.523034 L 95.39171,14.108924 L 96.46224,13.888888 L 98.72504,13.891058 L 99.52035,14.078221 L 100.02846,14.465779 L 100.40075,15.084358 L 100.72869,14.800524 C 100.81888,14.72247 101.26873,14.393767 101.34917,14.347141 L 102.02365,14.070819 L 103.24666,13.874003 L 104.2806,14.032831 L 105.15728,14.441183 C 105.43621,14.750079 105.77283,14.996649 106.08246,15.2699 L 106.50282,14.494109 L 107.01316,14.081427 L 107.79753,13.899093 L 108.16864,13.995753 L 108.53974,14.092413 L 109.01434,13.991856 L 110.05699,13.888888 L 110.59112,14.025496 C 110.73801,14.063064 111.35747,14.264826 111.44555,14.30379 L 111.76586,14.445475 L 112.50216,14.108388 L 113.56809,13.87124 L 114.59893,13.964653 L 115.46115,14.235318 L 116.38962,14.923212 L 116.6769,15.286656 C 116.86422,15.523623 117.27253,16.345657 117.33542,16.612397 L 117.43826,17.04861 L 117.44032,19.766458 L 117.22279,20.498962 L 116.92835,20.793403 L 116.31192,21.168925 C 116.22337,21.19122 115.79317,21.249995 115.71854,21.249995 L 115.2111,21.170965 C 115.14619,21.14923 114.81253,20.97131 114.75089,20.925555 L 114.33423,20.431673 L 114.14171,20.104166 L 114.07226,17.341136 L 113.83653,17.192833 L 113.44726,17.329423 L 113.37709,20.104166 L 113.06935,20.68101 L 112.54448,21.113965 L 112.30143,21.181595 C 112.14041,21.2264 111.40849,21.219505 111.21738,21.171385 L 110.90516,21.092765 L 110.29056,20.478167 L 110.07921,19.766458 L 110.07921,17.388888 L 109.91254,17.222222 L 109.62087,17.222222 L 109.45421,17.388888 L 109.45421,19.766458 L 109.23668,20.498962 L 108.6478,21.087845 L 108.3258,21.168925 C 108.13008,21.218205 107.3942,21.22673 107.23198,21.181595 L 106.73293,20.902785 L 106.29128,20.312155 L 106.10562,19.932701 L 105.69749,20.302042 L 104.93427,20.864645 L 104.22155,21.153125 L 103.16671,21.249175 L 102.4695,21.249995 L 102.0556,21.142225 L 101.36393,20.871444 C 101.28754,20.826619 100.83907,20.490717 100.74535,20.408131 L 100.40454,20.107817 L 99.8836,20.884015 L 99.14916,21.249995 L 95.99436,21.249995 C 95.243791,21.131778 94.787808,20.723437 94.21442,20.281452 L 93.93991,19.999999 L 93.66174,20.306074 L 93.54485,20.612147 L 92.60574,21.313255 L 91.4506,21.289805 z M 92.50889,20.536463 L 92.93648,20.138241 L 93.06506,19.619138 L 92.9268,19.113948 L 92.56248,18.749624 L 92.06887,18.61137 L 91.56649,18.72267 L 91.19142,19.060728 L 91.05143,19.612339 L 91.15455,20.136862 L 91.44969,20.472527 C 91.54951,20.543359 91.94119,20.679536 92.06481,20.686388 L 92.50889,20.536463 z M 99.45135,20.276414 L 99.66254,19.868008 L 99.66202,19.340277 L 99.3909,18.895631 L 98.97499,18.680555 L 96.39176,18.680555 L 95.99539,18.475589 L 95.70421,18.004439 L 95.70421,17.066993 L 96.24342,16.527777 L 98.91238,16.527777 L 99.40116,16.295838 L 99.67027,15.868055 L 99.6163,15.13782 L 99.28892,14.78933 L 98.79448,14.641688 L 95.94726,14.687499 L 94.72111,15.431143 L 94.04622,16.302935 L 93.81187,17.109047 L 93.87623,18.445487 L 94.23836,19.236478 L 94.9731,20.013352 L 95.59023,20.375017 L 96.22504,20.54618 L 98.90419,20.555555 L 99.45135,20.276414 z M 104.41948,20.342652 L 105.15755,19.838064 C 105.43055,19.569908 105.61043,19.230345 105.83191,18.92361 L 106.01671,18.576388 L 106.01671,16.701388 L 105.60969,15.898111 L 104.79637,15.077181 L 104.00282,14.687499 L 103.16948,14.687499 L 102.33615,14.687499 L 101.53321,15.063745 L 100.72618,15.833514 L 100.36704,16.493373 L 100.20013,17.451847 L 100.28819,18.399294 L 100.56723,19.145114 L 101.34273,20.002074 L 101.97912,20.375017 L 102.61393,20.54618 L 103.59169,20.555555 L 104.41948,20.342652 z M 102.0931,18.07383 L 102.0931,17.215324 L 102.30817,16.799413 L 102.75282,16.528297 L 103.56976,16.527777 L 104.02276,16.807744 L 104.24587,17.277934 L 104.24587,17.851683 L 104.05642,18.305095 L 103.61021,18.680555 L 102.69982,18.680555 L 102.0931,18.07383 z M 103.49146,17.421482 L 103.32609,17.222222 L 103.02365,17.222222 L 102.85698,17.388888 C 102.83965,17.471381 102.89867,17.796296 102.90659,17.873675 L 102.95619,17.923276 L 103.44726,17.881944 L 103.49146,17.421482 z M 108.28607,20.410022 L 108.55489,20.117095 L 108.6898,19.895833 L 108.69123,17.187499 L 108.82212,16.988978 L 109.35004,16.528692 L 110.23138,16.527777 L 110.63686,16.816505 L 110.8431,17.215324 L 110.84401,19.895833 C 110.96639,20.231313 111.35012,20.3179 111.58938,20.517424 L 112.05586,20.486939 L 112.29688,20.407395 L 112.64865,19.989343 L 112.64865,17.356649 L 112.8381,16.903237 L 113.28431,16.527777 L 114.25125,16.527777 L 114.83615,17.073031 L 114.9056,19.990444 L 115.19575,20.381944 L 115.77365,20.568735 L 116.35977,20.381944 L 116.68523,19.896962 L 116.64171,16.631944 L 116.2436,15.875508 L 115.46115,15.095273 L 114.63245,14.6912 L 113.28706,14.637162 L 112.91577,14.756375 L 111.74354,15.342683 L 111.08615,14.925572 L 110.20346,14.652777 L 109.2424,14.652777 L 108.46983,14.924313 L 108.21652,14.788545 L 107.8037,14.652777 L 107.18319,14.845397 L 106.88476,15.264495 L 106.88528,19.895833 L 107.16528,20.355076 L 107.61393,20.556562 C 107.84685,20.55183 108.06303,20.458649 108.28607,20.410022 z M 99.48893,17.19573 C 99.000743,17.196164 97.049363,17.248506 96.5621,17.270453 L 96.3782,17.660385 L 96.51753,17.881944 L 99.48893,18.020833 L 99.48893,17.19573 z M 5.25282,20.826367 L 3.72504,20.422372 L 3.30837,20.171278 C 2.73763,19.827334 0.850885,17.854202 0.57624,17.314051 C 0.535675,17.23427 0.29193,16.579756 0.24004,16.411274 L 0.05134,15.79861 L 0,10.215093 L 0.223,9.340277 L 0.70522,8.611728 L 1.36393,8.132128 L 2.22497,7.897951 C 2.6536043,7.9023786 3.0721721,7.997562 3.4946,8.051924 L 4.08082,8.356702 L 4.64035,8.916769 L 4.98802,9.607159 L 5.10671,9.965277 L 5.18337,15.104166 L 5.83821,15.763888 L 7.16849,15.763888 L 7.85698,15.119883 L 7.85698,10.354058 L 8.01081,9.618055 L 8.35246,8.923611 C 8.5698761,8.6426216 8.8786519,8.460513 9.14171,8.231245 L 9.79388,7.984611 L 10.66964,7.936022 L 11.52861,8.127778 L 12.26155,8.687018 L 12.79848,9.494126 L 12.96009,9.895833 L 13.0306,15.148429 L 13.68223,15.763888 L 15.10474,15.763888 L 15.76738,15.076415 L 15.80837,9.826388 L 16.19719,8.993055 L 16.85004,8.322436 C 17.084108,8.171743 17.359849,8.1144809 17.61393,8.010839 L 18.3431,7.918315 L 19.08787,8.014909 L 19.6935,8.261562 L 20.20954,8.722036 L 20.62739,9.34011 L 20.94217,10.544781 L 22.26671,9.190129 C 22.665436,8.8994121 23.100477,8.6668907 23.52413,8.416296 L 24.53108,8.049645 L 25.11393,7.896816 L 27.05837,7.832284 L 28.33719,8.054525 L 29.26865,8.405127 L 30.39492,9.154517 L 31.59308,10.397426 L 32.36716,11.388888 L 32.4056,1.909722 L 32.74068,1.077413 L 33.52728,0.290818 L 34.46884,-1.4210855e-14 L 35.32226,0.001648 C 35.638338,0.059796996 35.929498,0.19955172 36.23228,0.298231 L 36.80359,0.799002 L 37.31677,1.653147 L 37.47421,2.118055 L 37.51477,10.776827 C 39.115532,9.7919759 40.728732,8.8137558 42.36757,7.888068 L 42.78782,7.79003 C 43.188142,7.8427869 43.563503,7.993847 43.94934,8.100527 L 44.63398,8.64264 L 45.18954,9.444444 L 45.32226,10.452874 L 45.32226,11.079359 L 45.09344,11.544137 L 44.86462,12.008914 L 44.36003,12.375984 L 41.54059,14.270833 L 41.53754,14.44787 C 41.999822,14.742696 43.82206,15.961651 44.27218,16.274541 L 44.74987,16.631944 L 45.05343,17.251903 L 45.35698,17.871863 L 45.35534,18.645833 L 45.15655,19.392724 L 44.66407,20.134451 L 43.9788,20.676122 L 43.06848,20.922535 C 42.694995,20.908595 42.336934,20.795475 41.97206,20.730831 L 41.60796,20.619908 C 40.940681,20.175932 38.263004,18.412947 37.58478,17.98611 L 37.48711,18.385416 L 37.23505,19.485449 L 36.79736,20.146236 L 36.16627,20.62811 L 35.39171,20.85778 L 34.48893,20.856315 L 33.60813,20.603121 L 32.62621,19.583333 L 31.81214,20.407305 L 31.3257,20.707941 L 30.60004,20.901125 L 30.03497,20.902775 L 28.90762,20.461466 L 27.61393,20.868055 L 24.97504,20.868055 C 24.483661,20.760842 24.024814,20.555401 23.55697,20.377892 L 22.57079,19.785424 L 21.57806,18.881619 L 20.75868,17.844596 L 20.46115,17.362299 L 20.10072,17.725694 L 19.04214,19.083763 L 17.89755,19.999544 L 16.85004,20.544092 L 15.66948,20.863332 L 13.10004,20.857328 C 12.155195,20.620981 11.293919,20.17287 10.43969,19.722221 C 9.9772167,19.967769 9.5014905,20.186354 9.02897,20.412012 L 8.44726,20.642263 L 7.19726,20.900955 C 6.8722676,20.910114 5.5765276,20.844746 5.25282,20.826367 z M 9.17212,19.54083 L 10.44149,18.734127 C 10.684283,18.944312 10.957261,19.114976 11.21501,19.305299 L 12.15251,19.783047 L 13.53397,20.153523 L 15.80837,20.091782 L 16.7806,19.780508 L 17.71612,19.231083 L 18.63696,18.44988 C 18.931293,18.112229 19.174857,17.772988 19.45207,17.424144 L 19.9457,16.397856 L 20.14624,15.451388 L 20.14865,10.16363 L 19.68603,9.241812 L 19.15161,8.806177 L 18.37577,8.654044 L 17.49008,8.843766 L 16.89884,9.328155 L 16.53754,10.006535 L 16.53677,14.965277 L 16.40028,15.456554 L 15.70409,16.237666 L 15.1048,16.527777 L 13.66472,16.527777 L 13.07887,16.244171 L 12.33199,15.31326 L 12.23063,10.034722 L 11.90365,9.340277 L 11.55508,8.970105 L 10.95041,8.661623 L 10.04448,8.650114 L 9.50061,8.837818 L 8.90378,9.38796 L 8.62087,10.144099 L 8.62087,15.129847 L 8.48245,15.493935 L 7.75377,16.264406 L 7.23752,16.527777 L 5.76919,16.527777 L 5.29041,16.327731 L 4.41948,15.243055 L 4.35004,9.895833 L 3.91896,9.131944 L 3.37782,8.750225 L 2.57921,8.604072 L 1.7806,8.750225 L 1.22833,9.136239 L 0.80837,9.81527 L 0.76826,15.451388 L 0.98507,16.42962 L 1.1951,16.873719 C 1.252855,16.995846 1.62381,17.624279 1.70676,17.740522 L 2.49388,18.621206 C 2.78622,18.896987 3.77157,19.591703 4.06541,19.729208 L 4.94941,20.035214 L 5.39171,20.134525 L 7.75282,20.095971 C 8.2375523,19.941269 8.7020213,19.733511 9.17212,19.54083 z M 28.77282,19.696812 L 29.02894,19.585062 C 29.214297,19.783449 29.46973,19.886062 29.68882,20.035671 L 30.35752,20.138888 L 31.03683,20.00714 L 32.0931,18.861696 L 32.0931,13.186502 C 32.019456,12.76363 31.824093,12.378651 31.67801,11.979166 L 31.096,10.996474 L 30.19303,10.024252 L 29.22739,9.248556 L 27.82226,8.645833 L 24.97504,8.647804 L 23.89988,9.012636 L 22.82226,9.681537 L 21.70519,10.798611 L 21.06059,11.840277 L 20.68301,12.951388 L 20.61759,15.2551 L 20.84942,16.399222 C 20.997529,16.793504 21.227645,17.14748 21.42051,17.51929 L 22.13238,18.397394 L 23.01162,19.202168 L 23.86025,19.720467 L 25.04448,20.129748 L 27.50447,20.138888 C 27.934443,20.012345 28.350599,19.845508 28.77282,19.696812 z M 25.30713,16.391005 C 25.16275,16.302972 24.472095,15.589985 24.40021,15.454758 L 24.28766,15.243055 L 24.23138,13.853397 L 24.39543,13.244167 L 24.75897,12.880627 L 25.12251,12.517086 L 25.59546,12.27251 L 26.7806,12.206185 L 27.35873,12.363195 L 28.02249,12.82061 L 28.48198,13.487387 L 28.48146,15.243055 L 28.33576,15.48611 C 28.231205,15.660515 27.690365,16.214796 27.51353,16.328779 L 27.20479,16.527777 L 25.5306,16.527258 L 25.30713,16.391005 z M 27.04558,15.755403 C 27.1577,15.6978 27.633805,15.231723 27.68957,15.124976 L 27.68551,13.61524 L 26.99629,12.986111 L 25.79449,12.986111 L 25.00976,13.711458 L 25.00976,15.018328 L 25.80589,15.833333 L 27.04558,15.755403 z M 36.54538,19.166666 L 36.74419,17.743055 L 36.7806,16.631944 L 41.71115,19.811648 L 42.4056,20.137531 L 43.30837,20.135838 L 43.86512,19.882913 L 44.33537,19.347333 L 44.59403,18.762585 L 44.67882,18.143929 L 44.2932,17.284655 L 43.61224,16.672413 L 40.2181,14.432615 L 40.22239,14.270833 C 40.879498,13.837117 43.490253,12.076501 44.1329,11.621857 C 44.18309,11.575321 44.416065,11.255316 44.45425,11.180472 L 44.59157,10.402072 L 44.46265,9.615367 L 44.00147,9.041103 L 43.2883,8.637011 L 42.63415,8.570652 L 42.03527,8.780433 L 36.80178,12.109687 L 36.74587,2.31374 L 36.54707,1.653157 L 36.17245,1.112584 L 35.40417,0.736701 L 34.48893,0.733404 L 33.95618,0.91748 L 33.45998,1.353156 L 33.13612,2.048611 L 33.13612,18.784721 L 33.46093,19.479166 L 33.9301,19.935521 L 34.55837,20.137522 L 35.5306,20.0914 C 35.992913,19.930621 36.230352,19.500764 36.54538,19.166666 z").attr({fill:"#000",stroke:"#000","stroke-width":"0",opacity:"0.4","stroke-opacity":"0"});var b=this.paper.path("M 56.959209,20.312361 C 56.440882,20.244726 56.001555,19.948616 55.530602,19.743973 C 55.136598,19.423436 54.69356,19.154978 54.331946,18.800041 C 53.757674,18.135347 53.178055,17.428758 52.88401,16.592471 C 52.784311,16.142676 52.596798,15.703891 52.649097,15.235046 C 52.65914,14.568133 52.631804,13.897287 52.664996,13.232812 C 52.769793,12.78139 52.811099,12.308288 53.060678,11.906305 C 53.459916,11.004452 54.160743,10.285872 54.867149,9.6197522 C 55.305481,9.3470712 55.703535,8.9982021 56.20406,8.8431549 C 56.815475,8.6170435 57.458111,8.4259529 58.116176,8.4739387 C 58.630421,8.4901304 59.151597,8.4379635 59.661257,8.4993815 C 60.124348,8.6062785 60.61085,8.6424223 61.02684,8.8916613 C 61.37842,9.036393 61.709384,9.2153505 61.99646,9.4671612 C 62.963978,10.217089 63.741193,11.20512 64.259109,12.313169 C 64.410179,11.963245 64.37292,12.418405 64.404401,12.579714 C 64.531608,13.532204 64.473379,14.493515 64.487411,15.451388 C 64.446157,15.905695 64.404902,16.360002 64.363647,16.814308 C 64.244354,16.476541 64.166492,16.902885 64.073137,17.04348 C 63.919417,17.447708 63.660794,17.788105 63.394052,18.123562 C 63.032905,18.637349 62.511301,19.006444 62.072681,19.450371 C 61.599048,19.719468 61.1553,20.052055 60.621281,20.192862 C 60.337267,20.301578 60.055011,20.420008 59.744045,20.37972 C 58.943248,20.380428 58.138058,20.423427 57.339981,20.397957 C 57.213057,20.369425 57.086133,20.340893 56.959209,20.312361 z M 59.649651,16.534351 C 60.045619,16.377843 60.268977,15.981287 60.544809,15.679681 C 60.934258,15.04778 60.762822,14.276924 60.74975,13.557284 C 60.658177,13.162124 60.296508,12.93495 60.053879,12.633737 C 59.844345,12.430846 59.532202,12.36875 59.280602,12.223579 C 58.79516,12.232093 58.302608,12.205056 57.82149,12.235187 C 57.550144,12.335119 57.285855,12.445905 57.100641,12.678268 C 56.871302,12.911499 56.576252,13.097002 56.479665,13.426652 C 56.317426,14.045239 56.415023,14.71562 56.427484,15.352273 C 56.526312,15.602462 56.656555,15.830298 56.873804,15.996209 C 57.206053,16.296481 57.560236,16.739982 58.055482,16.665968 C 58.509117,16.655736 58.972766,16.687212 59.420257,16.651383 C 59.496721,16.612373 59.573186,16.573362 59.649651,16.534351 z").attr({fill:"#000",stroke:"#000","stroke-width":"0",opacity:"0.4","stroke-opacity":"0"});var d=this.paper.path("M 48.829208,20.31222 C 48.475841,20.26696 48.15923,20.117402 47.848722,19.950523 C 47.500983,19.784652 47.148567,19.626111 46.868692,19.353899 C 46.527053,19.072235 46.150785,18.825368 45.901675,18.450726 C 45.750138,18.076852 45.370555,18.002256 45.370279,18.167118 C 45.408175,17.816897 45.169729,17.536553 45.044033,17.227794 C 44.94573,16.895387 44.622935,16.655396 44.61657,16.304934 C 44.565627,15.306511 44.530037,14.303668 44.515945,13.305312 C 44.615598,12.912874 44.670961,12.505081 44.765879,12.117294 C 45.004171,11.750482 45.201926,11.358687 45.323891,10.9375 C 45.553614,10.988884 45.628283,10.705038 45.777569,10.582517 C 46.397513,9.8712187 47.155265,9.2586612 48.008947,8.8558433 C 48.362028,8.7462212 48.706058,8.5832266 49.064931,8.5077636 C 50.002562,8.515315 50.944553,8.4964143 51.879464,8.5204694 C 52.358793,8.7029965 52.880412,8.7941701 53.302926,9.0994288 C 53.727448,9.3447325 54.116873,9.6447143 54.4785,9.974781 C 53.689823,10.786927 52.957902,11.719351 52.7408,12.859186 C 52.656166,13.014283 52.725699,13.637005 52.493893,13.255432 C 52.26722,13.027948 52.078437,12.750492 51.828419,12.553793 C 51.573248,12.453152 51.341001,12.255113 51.069884,12.222222 C 50.613742,12.230523 50.151009,12.205955 49.698865,12.234195 C 49.451044,12.336146 49.18894,12.416137 49.01877,12.637477 C 48.767275,12.898046 48.43867,13.10057 48.31405,13.456643 C 48.228577,14.101722 48.281667,14.767525 48.291744,15.419297 C 48.548606,15.737127 48.719534,16.140787 49.089953,16.345199 C 49.287991,16.464636 49.450473,16.689759 49.706248,16.63757 C 50.227433,16.640826 50.758021,16.685037 51.273435,16.663162 C 51.836961,16.39513 52.299009,15.932894 52.60545,15.392538 C 52.714172,15.813326 52.754796,16.257044 52.907221,16.663117 C 53.241271,17.476142 53.779385,18.177558 54.355564,18.833131 C 54.558494,19.246583 53.691442,19.468074 53.440246,19.746846 C 52.970891,20.021773 52.453932,20.244291 51.926826,20.369292 C 51.034896,20.379064 50.140989,20.408275 49.250288,20.40596 C 49.109928,20.374713 48.969568,20.343466 48.829208,20.31222 z").attr({fill:"#000",stroke:"#000","stroke-width":"0",opacity:"0.4","stroke-opacity":"0"});var c,a;if(this.options.watermark_orientation=="middle"){c=(this.graph_width-118)/2+this.x_padding_left;a=(this.graph_height-29)/2+this.y_padding_top}else{c=this.graph_width-118+this.x_padding_left-10;a=this.graph_height-29+this.y_padding_top-7}g.translate(c,a);b.translate(c,a);d.translate(c,a);this.drawLinesInit(this,f);if(this.options.stacked_fill){g.toFront();d.toFront();b.toFront()}},drawGrid:function(){var c=this.paper.path().attr({stroke:this.options.grid_colour});if(this.options.show_vertical_labels){var d=this.graph_height+this.y_padding_top;for(i=0;i<this.y_label_count+1;i++){if((this.options.horizontalbar_grid&&i==this.y_label_count)||!this.options.horizontalbar_grid){c.moveTo(this.x_padding_left-0.5,parseInt(d)+0.5);c.lineTo(this.x_padding_left+this.graph_width-0.5,parseInt(d)+0.5)}d=d-(this.graph_height/this.y_label_count)}}if(this.options.show_horizontal_labels){var a=this.x_padding_left+this.options.plot_padding+this.grid_start_offset,b=this.options.labels.length;for(i=0;i<b;i++){if((this.options.hide_empty_label_grid==true&&this.options.labels[i]!="")||this.options.hide_empty_label_grid==false){c.moveTo(parseInt(a),this.y_padding_top);c.lineTo(parseInt(a),this.y_padding_top+this.graph_height)}a=this.options.horizontalbar_grid?a+(this.graph_width/this.y_label_count):a+this.step}if(this.bar_padding){c.moveTo(parseInt(this.x_padding_left)-0.5,this.y_padding_top);c.lineTo(parseInt(this.x_padding_left)-0.5,this.y_padding_top+this.graph_height);c.moveTo(parseInt(this.x_padding_left+this.graph_width)-0.5,this.y_padding_top);c.lineTo(parseInt(this.x_padding_left+this.graph_width)-0.5,this.y_padding_top+this.graph_height)}}},drawLines:function(k,a,e,d,f,g){var j=this.calculateCoords(e);y_offset=(this.graph_height+this.y_padding_top);if(this.options.start_at_zero==false){odd_horizontal_offset=0;$A(j).each(function(o,n){if(o[1]==y_offset){odd_horizontal_offset++}});this.options.odd_horizontal_offset=odd_horizontal_offset;if(this.options.odd_horizontal_offset>1){j.splice(0,this.options.odd_horizontal_offset)}}var m;if(this.options.stacked_fill||this.options.area){if(this.options.area){var h=this.data_sets.collect(function(n){return n.length}).length;m=this.paper.path().attr({stroke:a,fill:a,"stroke-width":"0","fill-opacity":1.5/h})}else{m=this.paper.path().attr({stroke:a,fill:a,"stroke-width":"0"})}j.unshift([j[0][0],y_offset]);j.push([j[j.length-1][0],y_offset])}else{m=this.paper.path().attr({stroke:a,"stroke-width":"5px"})}if(this.options.datalabels){var b=(this.options.stacked_fill||this.options.area)?"fill":"stroke";var c=this.options.hover_colour||a;var l=this.buildDataLabel(f.id,d);m.node.onmouseover=(function(o){if(b==="fill"){m.attr({fill:c,stroke:c})}else{m.attr({stroke:c})}var n=this.getMousePos(o);f.insert(l);$(l).setStyle({left:n.x+"px",top:n.y+"px",display:"block"});m.node.onmousemove=(function(q){var p=this.getMousePos(q);$(l).setStyle({left:p.x+"px",top:p.y+"px"})}.bind(this))}.bind(this));m.node.onmouseout=function(){if(b==="fill"){m.attr({fill:a,stroke:a})}else{m.attr({stroke:a})}$(l).remove()}}$A(j).each(function(q,o){var n=q[0],p=q[1];this.drawPlot(o,m,n,p,a,j,d,f,g)}.bind(this))},calculateCoords:function(c){var b=this.x_padding_left+this.options.plot_padding-this.step;var a=(this.graph_height+this.y_padding_top)+this.normalise(this.start_value);return $A(c).collect(function(d){var e=a-d;b=b+this.step;return[b,e]}.bind(this))},drawFocusHint:function(){var b=5,a=this.x_padding_left+(b/2)-1,d=this.options.height-this.y_padding_bottom;var c=this.paper.path().attr({stroke:this.options.label_colour,"stroke-width":2});c.moveTo(a,d);c.lineTo(a-b,d-b);c.moveTo(a,d-b);c.lineTo(a-b,d-(b*2))},drawMeanLine:function(a){var c=this.paper.path().attr({stroke:this.options.meanline});var b=$A(a).inject(0,function(e,d){return d+e})/a.length;c.moveTo(this.x_padding_left-1,this.options.height-this.y_padding_bottom-b);c.lineTo(this.graph_width+this.x_padding_left,this.options.height-this.y_padding_bottom-b)},drawAxis:function(){var a=this.paper.path().attr({stroke:this.options.label_colour});a.moveTo(parseInt(this.x_padding_left)-0.5,this.options.height-parseInt(this.y_padding_bottom)+0.5);a.lineTo(parseInt(this.graph_width+this.x_padding_left)-0.5,this.options.height-parseInt(this.y_padding_bottom)+0.5);a.moveTo(parseInt(this.x_padding_left)-0.5,parseInt(this.options.height-this.y_padding_bottom)+0.5);a.lineTo(parseInt(this.x_padding_left)-0.5,parseInt(this.y_padding_top))},makeValueLabels:function(a){var d=this.label_step,b=this.start_value,e=[];for(var c=0;c<a;c++){b=this.roundValue((b+d),3);e.push(b)}return e},drawMarkers:function(e,k,b,f,g,c){function d(m){return m*k[0]}function a(m){return m*k[1]}var j=parseInt(this.x_padding_left)-0.5+d(f),h=this.options.height-this.y_padding_bottom+a(f);var l=this.paper.path().attr({stroke:this.options.label_colour});font_options={font:this.options.font_size+'px "Arial"',stroke:"none",fill:this.options.label_colour};Object.extend(font_options,c||{});e.each(function(m){if(this.options.draw_axis&&((this.options.hide_empty_label_grid==true&&m!="")||this.options.hide_empty_label_grid==false)){l.moveTo(parseInt(j),parseInt(h)+0.5);l.lineTo(parseInt(j)+a(5),parseInt(h)+0.5+d(5))}this.paper.text(j+g[0],h-2-g[1],m).attr(font_options).toFront();j=j+d(b);h=h+a(b)}.bind(this))},drawVerticalLabels:function(){var b=this.graph_height/this.y_label_count;var c=(this.options.vertical_label_unit)?" "+this.options.vertical_label_unit:"";for(var a=0;a<this.value_labels.length;a++){this.value_labels[a]+=c}this.drawMarkers(this.value_labels,[0,-1],b,b,[-8,-2],{"text-anchor":"end"})},drawHorizontalLabels:function(){this.drawMarkers(this.options.labels,[1,0],this.step,this.options.plot_padding,[0,(this.options.font_size+7)*-1])}});Ico.LineGraph=Class.create(Ico.BaseGraph,{chartDefaults:function(){return{plot_padding:10,stacked_fill:false}},setChartSpecificOptions:function(){if(typeof(this.options.curve_amount)=="undefined"){this.options.curve_amount=10}},calculateStep:function(){return(this.graph_width-(this.options.plot_padding*2))/(this.data_size-1)},startPlot:function(c,a,d,b){c.moveTo(a,d)},drawGraphMarkers:function(e,h,f,a,c,d){var b=this.paper.circle(h,f,this.options.marker_size);b.attr({"stroke-width":"1px",stroke:this.options.background_colour,fill:a});if(this.options.datalabels){var g=this.options.marker_size;var j=this.buildDataLabel(d.id,c);b.node.onmouseover=(function(l){new_marker_size=parseInt(1.7*g);b.attr({r:new_marker_size});var k=this.getMousePos(l);d.insert(j);$(j).setStyle({left:k.x+"px",top:k.y+"px",display:"block"});b.node.onmousemove=(function(n){var m=this.getMousePos(n);$(j).setStyle({left:m.x+"px",top:m.y+"px"})}.bind(this))}.bind(this));b.node.onmouseout=function(){b.attr({r:g});$(j).remove()}}},drawGraphValueMarkers:function(g,k,j,a,d,f,h){var c=this.paper.circle(k,j,this.options.marker_size),e=this.paper.rect(k-(this.step/2),j-(this.graph_height/6),this.step,this.graph_height/3);c.attr({"stroke-width":"1px",stroke:this.options.background_colour,fill:a,opacity:0});e.attr({fill:a,"stroke-width":0,stroke:a,opacity:0});e.secondnode=c;if(this.options.odd_horizontal_offset>1){g+=this.options.odd_horizontal_offset}var b=this.data_sets.collect(function(m){return m[1][g]})[h];vertical_label_unit=this.options.vertical_label_unit||"";b=b.toString().split(".");if(b[1]){b[1]=b[1].truncate(3,"")}if(this.options.datalabels){d=d+" <span>"+b+" "+vertical_label_unit+"</span>"}else{d="<span>"+b+" "+vertical_label_unit+"</span>"}var l=this.buildDataLabel(f.id,d);e.node.onmouseover=(function(n){var m=this.getMousePos(n);e.secondnode.attr({opacity:1});f.insert(l);$(l).setStyle({left:m.x+"px",top:m.y+"px",display:"block"});e.node.onmousemove=(function(p){var o=this.getMousePos(p);$(l).setStyle({left:o.x+"px",top:o.y+"px"})}.bind(this))}.bind(this));e.node.onmouseout=function(){e.secondnode.attr({opacity:0});$(l).remove()}},drawPlot:function(e,j,h,f,a,g,b,c,d){if(this.options.markers=="circle"){this.drawGraphMarkers(e,h,f,a,b,c)}else{if(this.options.markers=="value"){this.drawGraphValueMarkers(e,h,f,a,b,c,d)}}if(e==0){return this.startPlot(j,h,f,a)}if(this.options.curve_amount){j.cplineTo(h,f,this.options.curve_amount)}else{j.lineTo(h,f)}}});Ico.AreaGraph=Class.create(Ico.LineGraph,{chartDefaults:function(){return{plot_padding:10,area:true}},setChartSpecificOptions:function(){if(typeof(this.options.curve_amount)=="undefined"){this.options.curve_amount=10}},drawPlot:function(e,j,h,f,b,g,c,d){var a=this.options.area||this.options.stacked_fill;if(this.options.markers=="circle"){if(a==true){if(e!=0&&e!=g.length-1){this.drawGraphMarkers(e,j,h,f,b,c,d)}}else{this.drawGraphMarkers(e,j,h,f,b,c,d)}}if(e==0){return this.startPlot(j,h,f,b)}if(this.options.curve_amount&&e>1&&(e<g.length-1)){j.cplineTo(h,f,this.options.curve_amount)}else{if(this.options.curve_amount&&!a&&(e=1||(e=g.length-1))){j.cplineTo(h,f,this.options.curve_amount)}else{j.lineTo(h,f)}}}});Ico.StackGraph=Class.create(Ico.AreaGraph,{chartDefaults:function(){return{plot_padding:10,stacked_fill:true,stacked:true}},normaliserOptions:function(){return{start_value:0}},stackData:function(a){this.stacked_data=a.collect(function(d){return d[1]});this.stacked_data.reverse();for(var c=1;c<this.stacked_data.length;c++){for(var b=0;b<this.stacked_data[0].length;b++){this.stacked_data[c][b]+=this.stacked_data[c-1][b]}}this.stacked_data.reverse();return this.stacked_data}});Ico.BarGraph=Class.create(Ico.BaseGraph,{chartDefaults:function(){return{plot_padding:0}},normaliserOptions:function(){return{start_value:0}},setChartSpecificOptions:function(){this.bar_padding=5;this.bar_width=this.calculateBarWidth();this.options.plot_padding=(this.bar_width/2);this.step=this.calculateStep();this.grid_start_offset=this.bar_padding-1},calculateBarWidth:function(){return(this.graph_width/this.data_size)-this.bar_padding},calculateStep:function(){return(this.graph_width-(this.options.plot_padding*2)-(this.bar_padding*2))/(this.data_size-1)},drawPlot:function(g,n,k,h,b,j,d,e){var m=this.options.height-this.y_padding_bottom;k=k+this.bar_padding;var f=this.options.bargraph_lastcolour;var a;if(f&&g==j.length-1){a=f}else{a=b}var o=this.paper.rect(k-(this.bar_width/2),m-(this.options.height-h-this.y_padding_bottom),this.bar_width,(this.options.height-this.y_padding_bottom)-h);o.attr({fill:a,"stroke-width":0,stroke:a});if(this.options.datalabels){var c=this.options.hover_colour||b;var l=this.buildDataLabel(e.id,d[g]);o.node.onmouseover=(function(q){o.attr({fill:c,stroke:c});var p=this.getMousePos(q);e.insert(l);$(l).setStyle({left:p.x+"px",top:p.y+"px",display:"block"});o.node.onmousemove=(function(s){var r=this.getMousePos(s);$(l).setStyle({left:r.x+"px",top:r.y+"px"})}.bind(this))}.bind(this));o.node.onmouseout=function(p){o.attr({fill:a,stroke:a});$(l).remove()}}k=k+this.step;this.options.count++},drawHorizontalLabels:function(){var a=this.bar_padding+this.options.plot_padding;this.drawMarkers(this.options.labels,[1,0],this.step,a,[0,(this.options.font_size+7)*-1])}});Ico.HorizontalBarGraph=Class.create(Ico.BarGraph,{setChartSpecificOptions:function(){this.x_padding_left=20+this.longestLabel()*(this.options.font_size/2);this.bar_padding=5;this.bar_width=this.calculateBarHeight();this.options.plot_padding=0;this.step=this.calculateStep();this.options.horizontalbar_grid=true;this.options.horizontalbar_padding=true;this.graph_width=this.options.width-this.x_padding_right-this.x_padding_left},normalise:function(a){var b=this.x_padding_left;return((a/this.range)*(this.graph_width-b))},longestLabel:function(){return $A(this.options.labels).sort(function(d,c){return d.toString().length<c.toString().length}).first().toString().length},calculateBarHeight:function(){return(this.graph_height/this.data_size)-this.bar_padding},calculateStep:function(){return(this.graph_height-(this.options.plot_padding*2))/(this.data_size)},drawLines:function(c,f,e,g,d){var a=this.x_padding_left+this.options.plot_padding;var h=this.y_padding_top+(this.bar_width/2)+(this.bar_padding/2);var b=this.options.bargraph_lastcolour;$A(e).each(function(o,m){var p;if(b&&m==$A(e).length-1){p=b}else{p=f}var j=this.options.horizontal_rounded?this.bar_width/2:0;var q=this.paper.rect(a,(h-this.bar_width/2),a+o-this.normalise(this.start_value),this.bar_width,j);q.attr({fill:p,"stroke-width":0,stroke:p});if(j){var n=this.paper.rect(a,(h-this.bar_width/2)-0.5,a+o-this.normalise(this.start_value)-this.bar_width/2,this.bar_width+0.5);n.attr({fill:p,"stroke-width":0,stroke:p});q.toFront();q.secondnode=n}h=h+this.step;if(this.options.datalabels){var k=this.options.hover_colour||f;var l=this.buildDataLabel(d.id,g[m]);q.node.onmouseover=(function(s){q.attr({fill:k,stroke:k});if(j){q.secondnode.attr({fill:k,stroke:k})}var r=this.getMousePos(s);d.insert(l);$(l).setStyle({left:r.x+"px",top:r.y+"px",display:"block"});q.node.onmousemove=(function(u){var t=this.getMousePos(u);$(l).setStyle({left:t.x+"px",top:t.y+"px"})}.bind(this))}.bind(this));q.node.onmouseout=function(){q.attr({fill:p,stroke:p});if(j){q.secondnode.attr({fill:p,stroke:p})}$(l).remove()}}}.bind(this))},drawFocusHint:function(){var b=5,a=this.x_padding_left+(this.step*2),d=this.options.height-this.y_padding_bottom;var c=this.paper.path().attr({stroke:this.options.label_colour,"stroke-width":2});c.moveTo(a,d);c.lineTo(a-b,d+b);c.moveTo(a-b,d);c.lineTo(a-(b*2),d+b)},drawVerticalLabels:function(){var a=(this.step/2);this.drawMarkers(this.options.labels.reverse(),[0,-1],this.step,a,[-8,-(this.options.font_size/5)],{"text-anchor":"end"})},drawHorizontalLabels:function(){var c=this.graph_width/this.y_label_count,a=this.makeValueLabels(this.y_label_count);if(this.options.vertical_label_unit){for(var b=0;b<a.length;b++){a[b]+=this.options.vertical_label_unit}}this.drawMarkers(a,[1,0],c,c,[0,(this.options.font_size+7)*-1])}});Ico.SparkLine=Class.create(Ico.Base,{initialize:function(b,c,a){this.element=b;this.data=c;this.options={width:parseInt(b.getStyle("width")),height:parseInt(b.getStyle("height")),highlight:false,background_colour:b.getStyle("backgroundColor"),colour:"#036"};Object.extend(this.options,a||{});this.step=this.calculateStep();this.paper=Raphael(this.element,this.options.width,this.options.height);if(this.options.acceptable_range){this.background=this.paper.rect(0,this.options.height-this.normalise(this.options.acceptable_range[1]),this.options.width,this.options.height-this.normalise(this.options.acceptable_range[0]))}else{this.background=this.paper.rect(0,0,this.options.width,this.options.height)}this.background.attr({fill:this.options.background_colour,stroke:"none"});this.draw()},calculateStep:function(){return this.options.width/(this.data.length-1)},normalise:function(a){return(this.options.height/this.data.max())*a},draw:function(){var a=this.normaliseData(this.data);this.drawLines("",this.options.colour,a);if(this.options.highlight){this.showHighlight(a)}},drawLines:function(c,e,d){var b=this.paper.path().attr({stroke:e}).moveTo(0,this.options.height-d.first());var a=0;d.slice(1).each(function(f){a=a+this.step;b.lineTo(a,this.options.height-f)}.bind(this))},showHighlight:function(d){var c=2,a=this.options.width-c,b=this.options.highlight.index||d.length-1,f=d[b]+((c/2).round());if(typeof(this.options.highlight.index)!="undefined"){a=this.step*this.options.highlight.index}var e=this.paper.circle(a,this.options.height-f,c);e.attr({stroke:false,fill:this.options.highlight.colour})}});Ico.SparkBar=Class.create(Ico.SparkLine,{calculateStep:function(){return this.options.width/this.data.length},drawLines:function(c,f,e){var b=this.options.bargraph_lastcolour;var d=this.step>2?this.step-1:this.step,a=d;e.each(function(j,h){var k;if(b&&h==e.length-1){k=b}else{k=f}var g=this.paper.path().attr({stroke:k,"stroke-width":d});g.moveTo(a,this.options.height-j);g.lineTo(a,this.options.height);a=a+this.step}.bind(this))}});window.Raphael=(function(){var aA=/[, ]+/,aW=document,ak=window,ag={was:"Raphael" in window,is:window.Raphael},aX=function(){if(aX.is(arguments[0],"array")){var g=arguments[0],f=aR[aV](aX,g.splice(0,3+aX.is(g[0],"number"))),b=f.set();for(var c=0,a=g[ay];c<a;c++){var d=g[c]||{};d.type in {circle:1,rect:1,path:1,ellipse:1,text:1,image:1}&&b.push(f[d.type]().attr(d))}return b}return aR[aV](aX,arguments)},a0={},aK={"clip-rect":"0 0 10e9 10e9",cx:0,cy:0,fill:"#fff","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:0,height:0,href:"http://raphaeljs.com/",opacity:1,path:"M0,0",r:0,rotation:0,rx:0,ry:0,scale:"1 1",src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank","text-anchor":"middle",title:"Raphael",translation:"0 0",width:0,x:0,y:0},aG={"clip-rect":"csv",cx:"number",cy:"number",fill:"colour","fill-opacity":"number","font-size":"number",height:"number",opacity:"number",path:"path",r:"number",rotation:"csv",rx:"number",ry:"number",scale:"csv",stroke:"colour","stroke-opacity":"number","stroke-width":"number",translation:"csv",width:"number",x:"number",y:"number"},aF=["click","dblclick","mousedown","mousemove","mouseout","mouseover","mouseup"],aP="prototype",aV="apply",ay="length",aL="parseFloat",aM="parseInt";aX.version="1.0";aX.type=(window.SVGAngle||document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")?"SVG":"VML");aX.svg=!(aX.vml=aX.type=="VML");aX.idGenerator=0;aX.fn={};aX.is=function(a,b){b=(b+"").toLowerCase();if((b=="object"||b=="undefined")&&typeof a==b){return true}if(a==null&&b=="null"){return true}return Object[aP].toString.call(a).replace(/^\[object\s+|\]$/gi,"").toLowerCase()==b};aX.setWindow=function(a){ak=a;aW=ak.document};aX.hsb2rgb=aB(function(k,m,d){if(aX.is(k,"object")&&"h" in k&&"s" in k&&"b" in k){d=k.b;m=k.s;k=k.h}var p,o,c;if(d==0){return{r:0,g:0,b:0,hex:"#000"}}if(k>1||m>1||d>1){k/=255;m/=255;d/=255}var n=Math.floor(k*6),j=(k*6)-n,q=d*(1-m),b=d*(1-(m*j)),a=d*(1-(m*(1-j)));p=[d,b,q,q,a,d,d][n];o=[a,d,d,b,q,q,a][n];c=[q,q,a,d,d,b,q][n];p*=255;o*=255;c*=255;var g={r:p,g:o,b:c},h=(~~p).toString(16),l=(~~o).toString(16),f=(~~c).toString(16);if(h[ay]==1){h="0"+h}if(l[ay]==1){l="0"+l}if(f[ay]==1){f="0"+f}g.hex="#"+h+l+f;return g},aX);aX.rgb2hsb=aB(function(c,b,g){if(aX.is(c,"object")&&"r" in c&&"g" in c&&"b" in c){g=c.b;b=c.g;c=c.r}if(aX.is(c,"string")){var d=aX.getRGB(c);c=d.r;b=d.g;g=d.b}if(c>1||b>1||g>1){c/=255;b/=255;g/=255}var h=Math.max(c,b,g),a=Math.min(c,b,g),k,l,j=h;if(a==h){return{h:0,s:0,b:h}}else{var f=(h-a);l=f/h;if(c==h){k=(b-g)/f}else{if(b==h){k=2+((g-c)/f)}else{k=4+((c-b)/f)}}k/=6;if(k<0){k+=1}if(k>1){k-=1}}return{h:k,s:l,b:j}},aX);aX._path2string=function(){var f="",a;for(var d=0,c=this[ay];d<c;d++){for(var g=0,b=this[d][ay];g<b;g++){f+=this[d][g];g&&g!=b-1&&(f+=",")}d!=c-1&&(f+="\n")}return f.replace(/,(?=-)/g,"")};function aB(c,a,d){function b(){var g=Array[aP].splice.call(arguments,0,arguments[ay]),f=g.join("\u25ba");b.cache=b.cache||{};b.count=b.count||[];if(f in b.cache){return d?d(b.cache[f]):b.cache[f]}if(b.count[ay]>1000){delete b.cache[b.count.unshift()]}b.count.push(f);b.cache[f]=c[aV](a,g);return d?d(b.cache[f]):b.cache[f]}return b}aX.getRGB=aB(function(f){var c={none:"none",aliceblue:"#f0f8ff",amethyst:"#96c",antiquewhite:"#faebd7",aqua:"#0ff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000",blanchedalmond:"#ffebcd",blue:"#00f",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#0ff",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",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#f0f",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",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#789",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#0f0",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#f0f",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",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:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#f00",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",wheat:"#f5deb3",white:"#fff",whitesmoke:"#f5f5f5",yellow:"#ff0",yellowgreen:"#9acd32"},k;f=c[(f+"").toLowerCase()]||f;if(!f){return{r:-1,g:-1,b:-1,hex:"none",error:1}}if(f=="none"){return{r:-1,g:-1,b:-1,hex:"none"}}var a,n,g,j=(f+"").match(/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgb\(\s*([\d\.]+\s*,\s*[\d\.]+\s*,\s*[\d\.]+)\s*\)|rgb\(\s*([\d\.]+%\s*,\s*[\d\.]+%\s*,\s*[\d\.]+%)\s*\)|hs[bl]\(\s*([\d\.]+\s*,\s*[\d\.]+\s*,\s*[\d\.]+)\s*\)|hs[bl]\(\s*([\d\.]+%\s*,\s*[\d\.]+%\s*,\s*[\d\.]+%)\s*\))\s*$/i);if(j){if(j[2]){g=ak[aM](j[2].substring(5),16);n=ak[aM](j[2].substring(3,5),16);a=ak[aM](j[2].substring(1,3),16)}if(j[3]){g=ak[aM](j[3].substring(3)+j[3].substring(3),16);n=ak[aM](j[3].substring(2,3)+j[3].substring(2,3),16);a=ak[aM](j[3].substring(1,2)+j[3].substring(1,2),16)}if(j[4]){j=j[4].split(/\s*,\s*/);a=ak[aL](j[0]);n=ak[aL](j[1]);g=ak[aL](j[2])}if(j[5]){j=j[5].split(/\s*,\s*/);a=ak[aL](j[0])*2.55;n=ak[aL](j[1])*2.55;g=ak[aL](j[2])*2.55}if(j[6]){j=j[6].split(/\s*,\s*/);a=ak[aL](j[0]);n=ak[aL](j[1]);g=ak[aL](j[2]);return aX.hsb2rgb(a,n,g)}if(j[7]){j=j[7].split(/\s*,\s*/);a=ak[aL](j[0])*2.55;n=ak[aL](j[1])*2.55;g=ak[aL](j[2])*2.55;return aX.hsb2rgb(a,n,g)}j={r:a,g:n,b:g};var b=(~~a).toString(16),l=(~~n).toString(16),h=(~~g).toString(16),d=/^(?=\d$)/,m="replace";b=b[m](d,"0");l=l[m](d,"0");h=h[m](d,"0");j.hex="#"+b+l+h;k=j}else{k={r:-1,g:-1,b:-1,hex:"none",error:1}}return k},aX);aX.getColor=function(a){var b=this.getColor.start=this.getColor.start||{h:0,s:1,b:a||0.75},c=this.hsb2rgb(b.h,b.s,b.b);b.h+=0.075;if(b.h>1){b.h=0;b.s-=0.2;if(b.s<=0){this.getColor.start={h:0,s:1,b:b.b}}}return c.hex};aX.getColor.reset=function(){delete this.start};aX.parsePathString=aB(function(c){if(!c){return null}var b={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},a=[];if(aX.is(c,"array")&&aX.is(c[0],"array")){a=aH(c)}if(!a[ay]){(c+"").replace(/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,function(h,j,d){var f=[],g=j.toLowerCase();d.replace(/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,function(l,k){k&&f.push(+k)});while(f[ay]>=b[g]){a.push([j].concat(f.splice(0,b[g])));if(!b[g]){break}}})}a.toString=aX._path2string;return a});var at=aB(function(c){if(!c){return{x:0,y:0,width:0,height:0}}c=ah(c);var g=0,h=0,l=[],a=[];for(var k=0,d=c[ay];k<d;k++){if(c[k][0]=="M"){g=c[k][1];h=c[k][2];l.push(g);a.push(h)}else{var j=am(g,h,c[k][1],c[k][2],c[k][3],c[k][4],c[k][5],c[k][6]);l=l.concat(j.min.x,j.max.x);a=a.concat(j.min.y,j.max.y)}}var b=Math.min[aV](0,l),f=Math.min[aV](0,a);return{x:b,y:f,width:Math.max[aV](0,l)-b,height:Math.max[aV](0,a)-f}}),aH=function(a){var f=[];if(!aX.is(a,"array")||!aX.is(a&&a[0],"array")){a=aX.parsePathString(a)}for(var d=0,c=a[ay];d<c;d++){f[d]=[];for(var g=0,b=a[d][ay];g<b;g++){f[d][g]=a[d][g]}}f.toString=aX._path2string;return f},aZ=aB(function(q){if(!aX.is(q,"array")||!aX.is(q&&q[0],"array")){q=aX.parsePathString(q)}var k=[],g=0,h=0,b=0,d=0,r=0;if(q[0][0]=="M"){g=q[0][1];h=q[0][2];b=g;d=h;r++;k.push(["M",g,h])}for(var n=r,a=q[ay];n<a;n++){var j=k[n]=[],f=q[n];if(f[0]!=f[0].toLowerCase()){j[0]=f[0].toLowerCase();switch(j[0]){case"a":j[1]=f[1];j[2]=f[2];j[3]=f[3];j[4]=f[4];j[5]=f[5];j[6]=+(f[6]-g).toFixed(3);j[7]=+(f[7]-h).toFixed(3);break;case"v":j[1]=+(f[1]-h).toFixed(3);break;case"m":b=f[1];d=f[2];default:for(var o=1,m=f[ay];o<m;o++){j[o]=+(f[o]-((o%2)?g:h)).toFixed(3)}}}else{j=k[n]=[];if(f[0]=="m"){b=f[1]+g;d=f[2]+h}for(var p=0,c=f[ay];p<c;p++){k[n][p]=f[p]}}var l=k[n][ay];switch(k[n][0]){case"z":g=b;h=d;break;case"h":g+=+k[n][l-1];break;case"v":h+=+k[n][l-1];break;default:g+=+k[n][l-2];h+=+k[n][l-1]}}k.toString=aX._path2string;return k},0,aH),aE=aB(function(p){if(!aX.is(p,"array")||!aX.is(p&&p[0],"array")){p=aX.parsePathString(p)}var k=[],g=0,j=0,c=0,d=0,q=0;if(p[0][0]=="M"){g=+p[0][1];j=+p[0][2];c=g;d=j;q++;k[0]=["M",g,j]}for(var m=q,a=p[ay];m<a;m++){var h=k[m]=[],f=p[m];if(f[0]!=(f[0]+"").toUpperCase()){h[0]=(f[0]+"").toUpperCase();switch(h[0]){case"A":h[1]=f[1];h[2]=f[2];h[3]=f[3];h[4]=f[4];h[5]=f[5];h[6]=+(f[6]+g);h[7]=+(f[7]+j);break;case"V":h[1]=+f[1]+j;break;case"H":h[1]=+f[1]+g;break;case"M":c=+f[1]+g;d=+f[2]+j;default:for(var n=1,l=f[ay];n<l;n++){h[n]=+f[n]+((n%2)?g:j)}}}else{for(var o=0,b=f[ay];o<b;o++){k[m][o]=f[o]}}switch(h[0]){case"Z":g=c;j=d;break;case"H":g=h[1];break;case"V":j=h[1];break;default:g=k[m][k[m][ay]-2];j=k[m][k[m][ay]-1]}}k.toString=aX._path2string;return k},null,aH),aY=function(a,c,d,b){return[a,c,d,b,d,b]},aC=function(f,h,b,d,j,g){var c=1/3,a=2/3;return[c*f+a*b,c*h+a*d,c*j+a*b,c*g+a*d,j,g]},aJ=function(m,z,a,c,l,r,w,n,A,k){var x=Math.PI,d=x*120/180,V=x/180*(+l||0),Q=[],U,D=aB(function(aa,X,W){var Y=aa*Math.cos(W)-X*Math.sin(W),Z=aa*Math.sin(W)+X*Math.cos(W);return{x:Y,y:Z}});if(!k){U=D(m,z,-V);m=U.x;z=U.y;U=D(n,A,-V);n=U.x;A=U.y;var j=Math.cos(x/180*l),p=Math.sin(x/180*l),O=(m-n)/2,P=(z-A)/2;a=Math.max(a,Math.abs(O));c=Math.max(c,Math.abs(P));var y=a*a,L=c*c,J=(r==w?-1:1)*Math.sqrt(Math.abs((y*L-y*P*P-L*O*O)/(y*P*P+L*O*O))),g=J*a*P/c+(m+n)/2,h=J*-c*O/a+(z+A)/2,s=Math.asin((z-h)/c),t=Math.asin((A-h)/c);s=m<g?x-s:s;t=n<g?x-t:t;s<0&&(s=x*2+s);t<0&&(t=x*2+t);if(w&&s>t){s=s-x*2}if(!w&&t>s){t=t-x*2}}else{s=k[0];t=k[1];g=k[2];h=k[3]}var o=t-s;if(Math.abs(o)>d){var f=t,b=n,q=A;t=s+d*(w&&t>s?1:-1);n=g+a*Math.cos(t);A=h+c*Math.sin(t);Q=aJ(n,A,a,c,l,0,w,b,q,[t,f,g,h])}o=t-s;var u=Math.cos(s),B=Math.sin(s),v=Math.cos(t),C=Math.sin(t),N=Math.tan(o/4),K=4/3*a*N,M=4/3*c*N,E=[m,z],F=[m+K*B,z-M*u],G=[n+K*C,A-M*v],I=[n,A];F[0]=2*E[0]-F[0];F[1]=2*E[1]-F[1];if(k){return[F,G,I].concat(Q)}else{Q=[F,G,I].concat(Q).join(",").split(",");var T=[];for(var H=0,S=Q[ay];H<S;H++){T[H]=H%2?D(Q[H-1],Q[H],V).y:D(Q[H],Q[H+1],V).x}return T}},aw=aB(function(n,s,b,d,r,t,p,q,j){var l=Math.pow(1-j,3)*n+Math.pow(1-j,2)*3*j*b+(1-j)*3*j*j*r+Math.pow(j,3)*p,o=Math.pow(1-j,3)*s+Math.pow(1-j,2)*3*j*d+(1-j)*3*j*j*t+Math.pow(j,3)*q,g=n+2*j*(b-n)+j*j*(r-2*b+n),h=s+2*j*(d-s)+j*j*(t-2*d+s),c=b+2*j*(r-b)+j*j*(p-2*r+b),f=d+2*j*(t-d)+j*j*(q-2*t+d),k=(1-j)*n+j*b,m=(1-j)*s+j*d,u=(1-j)*r+j*p,a=(1-j)*t+j*q;return{x:l,y:o,m:{x:g,y:h},n:{x:c,y:f},start:{x:k,y:m},end:{x:u,y:a}}}),am=aB(function(f,l,s,d,a,b,h,m){var c=(a-2*s+f)-(h-2*a+s),j=2*(s-f)-2*(a-s),n=f-s,p=(-j+Math.sqrt(j*j-4*c*n))/2/c,r=(-j-Math.sqrt(j*j-4*c*n))/2/c,k=[l,m],g=[f,h],o=aw(f,l,s,d,a,b,h,m,p>0&&p<1?p:0),q=aw(f,l,s,d,a,b,h,m,r>0&&r<1?r:0);g=g.concat(o.x,q.x);k=k.concat(o.y,q.y);c=(b-2*d+l)-(m-2*b+d);j=2*(d-l)-2*(b-d);n=l-d;p=(-j+Math.sqrt(j*j-4*c*n))/2/c;r=(-j-Math.sqrt(j*j-4*c*n))/2/c;o=aw(f,l,s,d,a,b,h,m,p>0&&p<1?p:0);q=aw(f,l,s,d,a,b,h,m,r>0&&r<1?r:0);g=g.concat(o.x,q.x);k=k.concat(o.y,q.y);return{min:{x:Math.min[aV](Math,g),y:Math.min[aV](Math,k)},max:{x:Math.max[aV](Math,g),y:Math.max[aV](Math,k)}}}),ah=aB(function(a,h){var p=aE(a),g=h&&aE(h),f={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},j={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},n=function(t,s){var u,r;if(!t){return["C",s.x,s.y,s.x,s.y,s.x,s.y]}!(t[0] in {T:1,Q:1})&&(s.qx=s.qy=null);switch(t[0]){case"M":s.X=t[1];s.Y=t[2];break;case"A":t=["C"].concat(aJ[aV](0,[s.x,s.y].concat(t.slice(1))));break;case"S":u=s.x+(s.x-(s.bx||s.x));r=s.y+(s.y-(s.by||s.y));t=["C",u,r].concat(t.slice(1));break;case"T":s.qx=s.x+(s.x-(s.qx||s.x));s.qy=s.y+(s.y-(s.qy||s.y));t=["C"].concat(aC(s.x,s.y,s.qx,s.qy,t[1],t[2]));break;case"Q":s.qx=t[1];s.qy=t[2];t=["C"].concat(aC(s.x,s.y,t[1],t[2],t[3],t[4]));break;case"L":t=["C"].concat(aY(s.x,s.y,t[1],t[2]));break;case"H":t=["C"].concat(aY(s.x,s.y,t[1],s.y));break;case"V":t=["C"].concat(aY(s.x,s.y,s.x,t[1]));break;case"Z":t=["C"].concat(aY(s.x,s.y,s.X,s.Y));break}return t},c=function(t,s){if(t[s][ay]>7){t[s].shift();var r=t[s];while(r[ay]){t.splice(s++,0,["C"].concat(r.splice(0,6)))}t.splice(s,1);d=Math.max(p[ay],g&&g[ay]||0)}},q=function(u,v,s,t,r){if(u&&v&&u[r][0]=="M"&&v[r][0]!="M"){v.splice(r,0,["M",t.x,t.y]);s.bx=0;s.by=0;s.x=u[r][1];s.y=u[r][2];d=Math.max(p[ay],g&&g[ay]||0)}};for(var l=0,d=Math.max(p[ay],g&&g[ay]||0);l<d;l++){p[l]=n(p[l],f);c(p,l);g&&(g[l]=n(g[l],j));g&&c(g,l);q(p,g,f,j,l);q(g,p,j,f,l);var m=p[l],b=g&&g[l],o=m[ay],k=g&&b[ay];f.x=m[o-2];f.y=m[o-1];f.bx=ak[aL](m[o-4])||f.x;f.by=ak[aL](m[o-3])||f.y;j.bx=g&&(ak[aL](b[k-4])||j.x);j.by=g&&(ak[aL](b[k-3])||j.y);j.x=g&&b[k-2];j.y=g&&b[k-1]}return g?[p,g]:p},null,aH),aO=aB(function(d){var f=[];for(var j=0,b=d[ay];j<b;j++){var c={},g=d[j].match(/^([^:]*):?([\d\.]*)/);c.color=aX.getRGB(g[1]);if(c.color.error){return null}c.color=c.color.hex;g[2]&&(c.offset=g[2]+"%");f.push(c)}for(var j=1,b=f[ay]-1;j<b;j++){if(!f[j].offset){var a=ak[aL](f[j-1].offset||0),l=0;for(var k=j+1;k<b;k++){if(f[k].offset){l=f[k].offset;break}}if(!l){l=100;k=b}l=ak[aL](l);var h=(l-a)/(k-j+1);for(;j<k;j++){a+=h;f[j].offset=a+"%"}}}return f}),ap=function(){var d,b,a,c,f;if(aX.is(arguments[0],"string")||aX.is(arguments[0],"object")){if(aX.is(arguments[0],"string")){d=aW.getElementById(arguments[0])}else{d=arguments[0]}if(d.tagName){if(arguments[1]==null){return{container:d,width:d.style.pixelWidth||d.offsetWidth,height:d.style.pixelHeight||d.offsetHeight}}else{return{container:d,width:arguments[1],height:arguments[2]}}}}else{if(aX.is(arguments[0],"number")&&arguments[ay]>3){return{container:1,x:arguments[0],y:arguments[1],width:arguments[2],height:arguments[3]}}}},a1=function(d,c){var a=this;for(var b in c){if(c.hasOwnProperty(b)&&!(b in d)){switch(typeof c[b]){case"function":(function(f){d[b]=d===a?f:function(){return f[aV](a,arguments)}})(c[b]);break;case"object":d[b]=d[b]||{};a1.call(this,d[b],c[b]);break;default:d[b]=c[b];break}}}};if(aX.svg){a0.svgns="http://www.w3.org/2000/svg";a0.xlink="http://www.w3.org/1999/xlink";var ai=function(a){return +a+(Math.floor(a)==a)*0.5};var ax=function(a){for(var d=0,c=a[ay];d<c;d++){if(a[d][0].toLowerCase()!="a"){for(var f=1,b=a[d][ay];f<b;f++){a[d][f]=ai(a[d][f])}}else{a[d][6]=ai(a[d][6]);a[d][7]=ai(a[d][7])}}return a};var av=function(b,c){if(c){for(var a in c){if(c.hasOwnProperty(a)){b.setAttribute(a,c[a])}}}else{return aW.createElementNS(a0.svgns,b)}};aX.toString=function(){return"Your browser supports SVG.\nYou are running Rapha\u00ebl "+this.version};var aD=function(d,c){var a=av("path");c.canvas&&c.canvas.appendChild(a);var b=new aQ(a,c);b.type="path";aq(b,{fill:"none",stroke:"#000",path:d});return b};var aj=function(q,d,j){var h="linear",m=0.5,o=0.5,a=q.style;d=(d+"").replace(/^r(?:\(([^,]+?)\s*,\s*([^\)]+?)\))?/,function(s,t,r){h="radial";if(t&&r){m=ak[aL](t);o=ak[aL](r);if(Math.pow(m-0.5,2)+Math.pow(o-0.5,2)>0.25){o=Math.sqrt(0.25-Math.pow(m-0.5,2))+0.5}}return""});d=d.split(/\s*\-\s*/);if(h=="linear"){var n=d.shift();n=-ak[aL](n);if(isNaN(n)){return null}var p=[0,0,Math.cos(n*Math.PI/180),Math.sin(n*Math.PI/180)],f=1/(Math.max(Math.abs(p[2]),Math.abs(p[3]))||1);p[2]*=f;p[3]*=f;if(p[2]<0){p[0]=-p[2];p[2]=0}if(p[3]<0){p[1]=-p[3];p[3]=0}}var k=aO(d);if(!k){return null}var c=av(h+"Gradient");c.id="r"+(aX.idGenerator++).toString(36);h=="radial"?av(c,{fx:m,fy:o}):av(c,{x1:p[0],y1:p[1],x2:p[2],y2:p[3]});j.defs.appendChild(c);for(var l=0,b=k[ay];l<b;l++){var g=av("stop");av(g,{offset:k[l].offset?k[l].offset:!l?"0%":"100%","stop-color":k[l].color||"#fff"});c.appendChild(g)}av(q,{fill:"url(#"+c.id+")",opacity:1,"fill-opacity":1});a.fill="";a.opacity=1;a.fillOpacity=1;return 1};var aI=function(a){var b=a.getBBox();av(a.pattern,{patternTransform:aX.format("translate({0},{1})",b.x,b.y)})};var aq=function(n,c){var k={"":[0],none:[0],"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},h=n.node,m=n.attrs,r=n.attr("rotation"),v=function(z,B){B=k[(B+"").toLowerCase()];if(B){var y=z.attrs["stroke-width"]||"1",D={round:y,square:y,butt:0}[z.attrs["stroke-linecap"]||c["stroke-linecap"]]||0,C=[];var A=B[ay];while(A--){C[A]=B[A]*y+((A%2)?1:-1)*D}av(h,{"stroke-dasharray":C.join(",")})}};ak[aL](r)&&n.rotate(0,true);for(var j in c){if(c.hasOwnProperty(j)){if(!(j in aK)){continue}var l=c[j];m[j]=l;switch(j){case"href":case"title":case"target":var f=h.parentNode;if(f.tagName.toLowerCase()!="a"){var x=av("a");f.insertBefore(x,h);x.appendChild(h);f=x}f.setAttributeNS(n.paper.xlink,j,l);break;case"clip-rect":var q=(l+"").split(aA);if(q[ay]==4){n.clip&&n.clip.parentNode.parentNode.removeChild(n.clip.parentNode);var a=av("clipPath"),g=av("rect");a.id="r"+(aX.idGenerator++).toString(36);av(g,{x:q[0],y:q[1],width:q[2],height:q[3]});a.appendChild(g);n.paper.defs.appendChild(a);av(h,{"clip-path":"url(#"+a.id+")"});n.clip=g}if(!l){var d=aW.getElementById(h.getAttribute("clip-path").replace(/(^url\(#|\)$)/g,""));d&&d.parentNode.removeChild(d);av(h,{"clip-path":""});delete n.clip}break;case"path":if(l&&n.type=="path"){m.path=ax(aE(l));av(h,{d:m.path})}break;case"width":h.setAttribute(j,l);if(m.fx){j="x";l=m.x}else{break}case"x":if(m.fx){l=-m.x-(m.width||0)}case"rx":if(j=="rx"&&n.type=="rect"){break}case"cx":h.setAttribute(j,l);n.pattern&&aI(n);break;case"height":h.setAttribute(j,l);if(m.fy){j="y";l=m.y}else{break}case"y":if(m.fy){l=-m.y-(m.height||0)}case"ry":if(j=="ry"&&n.type=="rect"){break}case"cy":h.setAttribute(j,l);n.pattern&&aI(n);break;case"r":if(n.type=="rect"){av(h,{rx:l,ry:l})}else{h.setAttribute(j,l)}break;case"src":if(n.type=="image"){h.setAttributeNS(n.paper.xlink,"href",l)}break;case"stroke-width":h.style.strokeWidth=l;h.setAttribute(j,l);if(m["stroke-dasharray"]){v(n,m["stroke-dasharray"])}break;case"stroke-dasharray":v(n,l);break;case"rotation":r=l;n.rotate(l,true);break;case"translation":var t=(l+"").split(aA);n.translate((+t[0]+1||2)-1,(+t[1]+1||2)-1);break;case"scale":var t=(l+"").split(aA);n.scale(+t[0]||1,+t[1]||+t[0]||1,+t[2]||null,+t[3]||null);break;case"fill":var w=(l+"").match(/^url\(['"]?([^\)]+)['"]?\)$/i);if(w){var a=av("pattern"),o=av("image");a.id="r"+(aX.idGenerator++).toString(36);av(a,{x:0,y:0,patternUnits:"userSpaceOnUse"});av(o,{x:0,y:0});o.setAttributeNS(n.paper.xlink,"href",w[1]);a.appendChild(o);var b=aW.createElement("img");b.style.cssText="position:absolute;left:-9999em;top-9999em";b.onload=function(){av(a,{width:this.offsetWidth,height:this.offsetHeight});av(o,{width:this.offsetWidth,height:this.offsetHeight});aW.body.removeChild(this);a0.safari()};aW.body.appendChild(b);b.src=w[1];n.paper.defs.appendChild(a);h.style.fill="url(#"+a.id+")";av(h,{fill:"url(#"+a.id+")"});n.pattern=a;n.pattern&&aI(n);break}if(!aX.getRGB(l).error){delete c.gradient;delete m.gradient;if(!aX.is(m.opacity,"undefined")&&aX.is(c.opacity,"undefined")){h.style.opacity=m.opacity;av(h,{opacity:m.opacity})}if(!aX.is(m["fill-opacity"],"undefined")&&aX.is(c["fill-opacity"],"undefined")){h.style.fillOpacity=m["fill-opacity"];av(h,{"fill-opacity":m["fill-opacity"]})}}else{if((n.type in {circle:1,ellipse:1}||(l+"").charAt(0)!="r")&&aj(h,l,n.paper)){m.gradient=l;m.fill="none";break}}case"stroke":h.style[j]=aX.getRGB(l).hex;h.setAttribute(j,aX.getRGB(l).hex);break;case"gradient":(n.type in {circle:1,ellipse:1}||(l+"").charAt(0)!="r")&&aj(h,l,n.paper);break;case"opacity":case"fill-opacity":if(m.gradient){var u=aW.getElementById(h.getAttribute("fill").replace(/^url\(#|\)$/g,""));if(u){var s=u.getElementsByTagName("stop");s[s[ay]-1].setAttribute("stop-opacity",l)}break}default:j=="font-size"&&(l=ak[aM](l,10)+"px");var p=j.replace(/(\-.)/g,function(y){return y.substring(1).toUpperCase()});h.style[p]=l;h.setAttribute(j,l);break}}}ad(n,c);ak[aM](r,10)&&n.rotate(r,true)};var al=1.2;var ad=function(d,l){if(d.type!="text"||!("text" in l||"font" in l||"font-size" in l||"x" in l||"y" in l)){return}var f=d.attrs,a=d.node,b=a.firstChild?ak[aM](aW.defaultView.getComputedStyle(a.firstChild,"").getPropertyValue("font-size"),10):10;if("text" in l){while(a.firstChild){a.removeChild(a.firstChild)}var m=(l.text+"").split("\n");for(var k=0,c=m[ay];k<c;k++){var h=av("tspan");k&&av(h,{dy:b*al,x:f.x});h.appendChild(aW.createTextNode(m[k]));a.appendChild(h)}}else{var m=a.getElementsByTagName("tspan");for(var k=0,c=m[ay];k<c;k++){k&&av(m[k],{dy:b*al,x:f.x})}}av(a,{y:f.y});var j=d.getBBox(),g=f.y-(j.y+j.height/2);g&&av(a,{y:f.y+g})};var aQ=function(a,d){var c=0,b=0;this[0]=a;this.node=a;a.raphael=this;this.paper=d;this.attrs=this.attrs||{};this.transformations=[];this._={tx:0,ty:0,rt:{deg:0,cx:0,cy:0},sx:1,sy:1}};aQ[aP].rotate=function(a,d,c){if(a==null){if(this._.rt.cx){return[this._.rt.deg,this._.rt.cx,this._.rt.cy].join(" ")}return this._.rt.deg}var b=this.getBBox();a=(a+"").split(aA);if(a[ay]-1){d=ak[aL](a[1]);c=ak[aL](a[2])}a=ak[aL](a[0]);if(d!=null){this._.rt.deg=a}else{this._.rt.deg+=a}(c==null)&&(d=null);this._.rt.cx=d;this._.rt.cy=c;d=d==null?b.x+b.width/2:d;c=c==null?b.y+b.height/2:c;if(this._.rt.deg){this.transformations[0]=aX.format("rotate({0} {1} {2})",this._.rt.deg,d,c);this.clip&&av(this.clip,{transform:aX.format("rotate({0} {1} {2})",-this._.rt.deg,d,c)})}else{this.transformations[0]="";this.clip&&av(this.clip,{transform:""})}av(this.node,{transform:this.transformations.join(" ")});return this};aQ[aP].hide=function(){this.node.style.display="none";return this};aQ[aP].show=function(){this.node.style.display="block";return this};aQ[aP].remove=function(){this.node.parentNode.removeChild(this.node)};aQ[aP].getBBox=function(){if(this.type=="path"){return at(this.attrs.path)}if(this.node.style.display=="none"){this.show();var g=true}var a={};try{a=this.node.getBBox()}catch(c){}finally{a=a||{}}if(this.type=="text"){a={x:a.x,y:Infinity,width:a.width,height:0};for(var f=0,d=this.node.getNumberOfChars();f<d;f++){var b=this.node.getExtentOfChar(f);(b.y<a.y)&&(a.y=b.y);(b.y+b.height-a.y>a.height)&&(a.height=b.y+b.height-a.y)}}g&&this.hide();return a};aQ[aP].attr=function(){if(arguments[ay]==1&&aX.is(arguments[0],"string")){if(arguments[0]=="translation"){return this.translate()}if(arguments[0]=="rotation"){return this.rotate()}if(arguments[0]=="scale"){return this.scale()}return this.attrs[arguments[0]]}if(arguments[ay]==1&&aX.is(arguments[0],"array")){var c={};for(var a in arguments[0]){if(arguments[0].hasOwnProperty(a)){c[arguments[0][a]]=this.attrs[arguments[0][a]]}}return c}if(arguments[ay]==2){var b={};b[arguments[0]]=arguments[1];aq(this,b)}else{if(arguments[ay]==1&&aX.is(arguments[0],"object")){aq(this,arguments[0])}}return this};aQ[aP].toFront=function(){this.node.parentNode.appendChild(this.node);return this};aQ[aP].toBack=function(){if(this.node.parentNode.firstChild!=this.node){this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild)}return this};aQ[aP].insertAfter=function(a){if(a.node.nextSibling){a.node.parentNode.insertBefore(this.node,a.node.nextSibling)}else{a.node.parentNode.appendChild(this.node)}return this};aQ[aP].insertBefore=function(b){var a=b.node;a.parentNode.insertBefore(this.node,a);return this};var au=function(c,g,a,b){g=ai(g);a=ai(a);var f=av("circle");c.canvas&&c.canvas.appendChild(f);var d=new aQ(f,c);d.attrs={cx:g,cy:a,r:b,fill:"none",stroke:"#000"};d.type="circle";av(f,d.attrs);return d};var an=function(h,j,a,f,c,b){j=ai(j);a=ai(a);var d=av("rect");h.canvas&&h.canvas.appendChild(d);var g=new aQ(d,h);g.attrs={x:j,y:a,width:f,height:c,r:b||0,rx:b||0,ry:b||0,fill:"none",stroke:"#000"};g.type="rect";av(d,g.attrs);return g};var aU=function(d,h,a,b,c){h=ai(h);a=ai(a);var g=av("ellipse");d.canvas&&d.canvas.appendChild(g);var f=new aQ(g,d);f.attrs={cx:h,cy:a,rx:b,ry:c,fill:"none",stroke:"#000"};f.type="ellipse";av(g,f.attrs);return f};var aN=function(h,b,j,a,f,c){var d=av("image");av(d,{x:j,y:a,width:f,height:c,preserveAspectRatio:"none"});d.setAttributeNS(h.xlink,"href",b);h.canvas&&h.canvas.appendChild(d);var g=new aQ(d,h);g.attrs={x:j,y:a,width:f,height:c,src:b};g.type="image";return g};var ao=function(c,g,a,b){var f=av("text");av(f,{x:g,y:a,"text-anchor":"middle"});c.canvas&&c.canvas.appendChild(f);var d=new aQ(f,c);d.attrs={x:g,y:a,"text-anchor":"middle",text:b,font:aK.font,stroke:"none",fill:"#000"};d.type="text";aq(d,d.attrs);return d};var ar=function(a,b){this.width=a||this.width;this.height=b||this.height;this.canvas.setAttribute("width",this.width);this.canvas.setAttribute("height",this.height);return this};var aR=function(){var j=ap[aV](null,arguments),b=j&&j.container,g=j.x,h=j.y,k=j.width,f=j.height;if(!b){throw new Error("SVG container not found.")}a0.canvas=av("svg");var c=a0.canvas,d=c.style;c.setAttribute("width",k||512);a0.width=k||512;c.setAttribute("height",f||342);a0.height=f||342;if(b==1){aW.body.appendChild(c);d.position="absolute";d.left=g+"px";d.top=h+"px"}else{if(b.firstChild){b.insertBefore(c,b.firstChild)}else{b.appendChild(c)}}b={canvas:c,clear:function(){while(this.canvas.firstChild){this.canvas.removeChild(this.canvas.firstChild)}this.desc=av("desc");this.defs=av("defs");this.desc.appendChild(aW.createTextNode("Created with Rapha\u00ebl"));this.canvas.appendChild(this.desc);this.canvas.appendChild(this.defs)}};for(var a in a0){if(a0.hasOwnProperty(a)){if(a!="create"){b[a]=a0[a]}}}a1.call(b,b,aX.fn);b.clear();b.raphael=aX;return b};a0.remove=function(){this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas)}}if(aX.vml){var az=function(a){var c=ah(a);for(var f=0,d=c[ay];f<d;f++){c[f][0]=(c[f][0]+"").toLowerCase();c[f][0]=="z"&&(c[f][0]="x");for(var g=1,b=c[f][ay];g<b;g++){c[f][g]=~~(c[f][g]+0.5)}}return(c+"")};aX.toString=function(){return"Your browser doesn\u2019t support SVG. Assuming it is Internet Explorer and falling down to VML.\nYou are running Rapha\u00ebl "+this.version};var aD=function(h,b){var g=e("group"),a=g.style;a.position="absolute";a.left=0;a.top=0;a.width=b.width+"px";a.height=b.height+"px";g.coordsize=b.coordsize;g.coordorigin=b.coordorigin;var f=e("shape"),d=f.style;d.width=b.width+"px";d.height=b.height+"px";f.path="";f.coordsize=this.coordsize;f.coordorigin=this.coordorigin;g.appendChild(f);var c=new aQ(f,g,b);c.isAbsolute=true;c.type="path";c.path=[];c.Path="";if(h){c.attrs.path=aX.parsePathString(h);c.node.path=az(c.attrs.path)}aq(c,{fill:"none",stroke:"#000"});c.setBox();b.canvas.appendChild(g);return c};var aq=function(m,h){m.attrs=m.attrs||{};var k=m.node,g=m.attrs,q=k.style,u,b=m;for(var p in h){if(h.hasOwnProperty(p)){g[p]=h[p]}}h.href&&(k.href=h.href);h.title&&(k.title=h.title);h.target&&(k.target=h.target);if(h.path&&m.type=="path"){g.path=aX.parsePathString(h.path);k.path=az(g.path)}if(h.rotation!=null){m.rotate(h.rotation,true)}if(h.translation){u=(h.translation+"").split(aA);m.translate(u[0],u[1])}if(h.scale){u=(h.scale+"").split(aA);m.scale(+u[0]||1,+u[1]||+u[0]||1,+u[2]||null,+u[3]||null)}if("clip-rect" in h){var s=(h["clip-rect"]+"").split(aA);if(s[ay]==4){s[2]=+s[2]+(+s[0]);s[3]=+s[3]+(+s[1]);var o=k.clipRect||aW.createElement("div"),c=o.style,r=k.parentNode;c.clip=aX.format("rect({1}px {2}px {3}px {0}px)",s);if(!k.clipRect){c.position="absolute";c.top=0;c.left=0;c.width=m.paper.width+"px";c.height=m.paper.height+"px";r.parentNode.insertBefore(o,r);o.appendChild(r);k.clipRect=o}}if(!h["clip-rect"]){k.clipRect&&(k.clipRect.style.clip="")}}if(m.type=="image"&&h.src){k.src=h.src}if(m.type=="image"&&h.opacity){k.filterOpacity=" progid:DXImageTransform.Microsoft.Alpha(opacity="+(h.opacity*100)+")";q.filter=(k.filterMatrix||"")+(k.filterOpacity||"")}h.font&&(q.font=h.font);h["font-family"]&&(q.fontFamily='"'+h["font-family"].split(",")[0].replace(/^['"]+|['"]+$/g,"")+'"');h["font-size"]&&(q.fontSize=h["font-size"]);h["font-weight"]&&(q.fontWeight=h["font-weight"]);h["font-style"]&&(q.fontStyle=h["font-style"]);if(h.opacity!=null||h["stroke-width"]!=null||h.fill!=null||h.stroke!=null||h["stroke-width"]!=null||h["stroke-opacity"]!=null||h["fill-opacity"]!=null||h["stroke-dasharray"]!=null||h["stroke-miterlimit"]!=null||h["stroke-linejoin"]!=null||h["stroke-linecap"]!=null){k=m.shape||k;var j=(k.getElementsByTagName("fill")&&k.getElementsByTagName("fill")[0]),f=false;!j&&(f=j=e("fill"));if("fill-opacity" in h||"opacity" in h){var n=((+g["fill-opacity"]+1||2)-1)*((+g.opacity+1||2)-1);n<0&&(n=0);n>1&&(n=1);j.opacity=n}h.fill&&(j.on=true);if(j.on==null||h.fill=="none"){j.on=false}if(j.on&&h.fill){var a=h.fill.match(/^url\(([^\)]+)\)$/i);if(a){j.src=a[1];j.type="tile"}else{j.color=aX.getRGB(h.fill).hex;j.src="";j.type="solid";if(aX.getRGB(h.fill).error&&(b.type in {circle:1,ellipse:1}||(h.fill+"").charAt(0)!="r")&&aj(b,h.fill)){g.fill="none";g.gradient=h.fill}}}f&&k.appendChild(j);var t=(k.getElementsByTagName("stroke")&&k.getElementsByTagName("stroke")[0]),d=false;!t&&(d=t=e("stroke"));if((h.stroke&&h.stroke!="none")||h["stroke-width"]||h["stroke-opacity"]!=null||h["stroke-dasharray"]||h["stroke-miterlimit"]||h["stroke-linejoin"]||h["stroke-linecap"]){t.on=true}(h.stroke=="none"||t.on==null||h.stroke==0||h["stroke-width"]==0)&&(t.on=false);t.on&&h.stroke&&(t.color=aX.getRGB(h.stroke).hex);var n=((+g["stroke-opacity"]+1||2)-1)*((+g.opacity+1||2)-1);n<0&&(n=0);n>1&&(n=1);t.opacity=n;h["stroke-linejoin"]&&(t.joinstyle=h["stroke-linejoin"]||"miter");t.miterlimit=h["stroke-miterlimit"]||8;h["stroke-linecap"]&&(t.endcap={butt:"flat",square:"square",round:"round"}[h["stroke-linecap"]]||"miter");h["stroke-width"]&&(t.weight=(ak[aL](h["stroke-width"])||1)*12/16);if(h["stroke-dasharray"]){var l={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"};t.dashstyle=l[h["stroke-dasharray"]]||""}d&&k.appendChild(t)}if(b.type=="text"){var q=b.paper.span.style;g.font&&(q.font=g.font);g["font-family"]&&(q.fontFamily=g["font-family"]);g["font-size"]&&(q.fontSize=g["font-size"]);g["font-weight"]&&(q.fontWeight=g["font-weight"]);g["font-style"]&&(q.fontStyle=g["font-style"]);b.node.string&&(b.paper.span.innerHTML=b.node.string.replace(/</g,"&#60;").replace(/&/g,"&#38;").replace(/\n/g,"<br>"));b.W=g.w=b.paper.span.offsetWidth;b.H=g.h=b.paper.span.offsetHeight;b.X=g.x;b.Y=g.y+~~(b.H/2+0.5);switch(g["text-anchor"]){case"start":b.node.style["v-text-align"]="left";b.bbx=~~(b.W/2+0.5);break;case"end":b.node.style["v-text-align"]="right";b.bbx=-~~(b.W/2+0.5);break;default:b.node.style["v-text-align"]="center";break}}};var aj=function(d,h){d.attrs=d.attrs||{};var g=d.attrs,c=d.node.getElementsByTagName("fill"),k="linear",j=".5 .5";d.attrs.gradient=h;h=(h+"").replace(/^r(?:\(([^,]+?)\s*,\s*([^\)]+?)\))?/,function(p,o,n){k="radial";if(o&&n){o=ak[aL](o);n=ak[aL](n);if(Math.pow(o-0.5,2)+Math.pow(n-0.5,2)>0.25){n=Math.sqrt(0.25-Math.pow(o-0.5,2))+0.5}j=o+" "+n}return""});h=h.split(/\s*\-\s*/);if(k=="linear"){var a=h.shift();a=-ak[aL](a);if(isNaN(a)){return null}}var l=aO(h);if(!l){return null}d=d.shape||d.node;c=c[0]||e("fill");if(l[ay]){c.on=true;c.method="none";c.type=(k=="radial")?"gradientradial":"gradient";c.color=l[0].color;c.color2=l[l[ay]-1].color;var b=[];for(var m=0,f=l[ay];m<f;m++){l[m].offset&&b.push(l[m].offset+" "+l[m].color)}if(b[ay]&&c.colors){c.colors.value=b.join(",")}else{c.colors.value="0% "+c.color}if(k=="radial"){c.focus="100%";c.focussize=j;c.focusposition=j}else{c.angle=(270-a)%360}}return 1};var aQ=function(d,a,h){var b=0,g=0,c=0,f=1;this[0]=d;this.node=d;d.raphael=this;this.X=0;this.Y=0;this.attrs={};this.Group=a;this.paper=h;this._={tx:0,ty:0,rt:{deg:0},sx:1,sy:1}};aQ[aP].rotate=function(a,c,b){if(a==null){if(this._.rt.cx){return[this._.rt.deg,this._.rt.cx,this._.rt.cy].join(" ")}return this._.rt.deg}a=(a+"").split(aA);if(a[ay]-1){c=ak[aL](a[1]);b=ak[aL](a[2])}a=ak[aL](a[0]);if(c!=null){this._.rt.deg=a}else{this._.rt.deg+=a}b==null&&(c=null);this._.rt.cx=c;this._.rt.cy=b;this.setBox(this.attrs,c,b);this.Group.style.rotation=this._.rt.deg;return this};aQ[aP].setBox=function(p,o,q){var c=this.Group.style,n=(this.shape&&this.shape.style)||this.node.style;p=p||{};for(var m in p){if(p.hasOwnProperty(m)){this.attrs[m]=p[m]}}o=o||this._.rt.cx;q=q||this._.rt.cy;var h=this.attrs,d,f,b,k;switch(this.type){case"circle":d=h.cx-h.r;f=h.cy-h.r;b=k=h.r*2;break;case"ellipse":d=h.cx-h.rx;f=h.cy-h.ry;b=h.rx*2;k=h.ry*2;break;case"rect":case"image":d=h.x;f=h.y;b=h.width||0;k=h.height||0;break;case"text":this.textpath.v=["m",~~(h.x+0.5),", ",~~(h.y-2+0.5),"l",~~(h.x+0.5)+1,", ",~~(h.y-2+0.5)].join("");d=h.x-~~(this.W/2+0.5);f=h.y-this.H/2;b=this.W;k=this.H;break;case"path":if(!this.attrs.path){d=0;f=0;b=this.paper.width;k=this.paper.height}else{var l=at(this.attrs.path);d=l.x;f=l.y;b=l.width;k=l.height}break;default:d=0;f=0;b=this.paper.width;k=this.paper.height;break}o=(o==null)?d+b/2:o;q=(q==null)?f+k/2:q;var r=o-this.paper.width/2,g=q-this.paper.height/2;if(this.type=="path"||this.type=="text"){(c.left!=r+"px")&&(c.left=r+"px");(c.top!=g+"px")&&(c.top=g+"px");this.X=this.type=="text"?d:-r;this.Y=this.type=="text"?f:-g;this.W=b;this.H=k;(n.left!=-r+"px")&&(n.left=-r+"px");(n.top!=-g+"px")&&(n.top=-g+"px")}else{(c.left!=r+"px")&&(c.left=r+"px");(c.top!=g+"px")&&(c.top=g+"px");this.X=d;this.Y=f;this.W=b;this.H=k;(c.width!=this.paper.width+"px")&&(c.width=this.paper.width+"px");(c.height!=this.paper.height+"px")&&(c.height=this.paper.height+"px");(n.left!=d-r+"px")&&(n.left=d-r+"px");(n.top!=f-g+"px")&&(n.top=f-g+"px");(n.width!=b+"px")&&(n.width=b+"px");(n.height!=k+"px")&&(n.height=k+"px");var a=(+p.r||0)/(Math.min(b,k));if(this.type=="rect"&&this.arcsize!=a&&(a||this.arcsize)){var j=e(a?"roundrect":"rect");j.arcsize=a;this.Group.appendChild(j);this.node.parentNode.removeChild(this.node);this.node=j;this.arcsize=a;aq(this,this.attrs);this.setBox(this.attrs)}}};aQ[aP].hide=function(){this.Group.style.display="none";return this};aQ[aP].show=function(){this.Group.style.display="block";return this};aQ[aP].getBBox=function(){if(this.type=="path"){return at(this.attrs.path)}return{x:this.X+(this.bbx||0),y:this.Y,width:this.W,height:this.H}};aQ[aP].remove=function(){this[0].parentNode.removeChild(this[0]);this.Group.parentNode.removeChild(this.Group);this.shape&&this.shape.parentNode.removeChild(this.shape)};aQ[aP].attr=function(){if(arguments[ay]==1&&aX.is(arguments[0],"string")){if(arguments[0]=="translation"){return this.translate()}if(arguments[0]=="rotation"){return this.rotate()}if(arguments[0]=="scale"){return this.scale()}return this.attrs[arguments[0]]}if(this.attrs&&arguments[ay]==1&&aX.is(arguments[0],"array")){var d={};for(var c=0,b=arguments[0][ay];c<b;c++){d[arguments[0][c]]=this.attrs[arguments[0][c]]}return d}var a;if(arguments[ay]==2){a={};a[arguments[0]]=arguments[1]}if(arguments[ay]==1&&aX.is(arguments[0],"object")){a=arguments[0]}if(a){if(a.gradient&&(this.type in {circle:1,ellipse:1}||(a.gradient+"").charAt(0)!="r")){aj(this,a.gradient)}if(a.text&&this.type=="text"){this.node.string=a.text}aq(this,a);this.setBox(this.attrs)}return this};aQ[aP].toFront=function(){this.Group.parentNode.appendChild(this.Group);return this};aQ[aP].toBack=function(){if(this.Group.parentNode.firstChild!=this.Group){this.Group.parentNode.insertBefore(this.Group,this.Group.parentNode.firstChild)}return this};aQ[aP].insertAfter=function(a){if(a.Group.nextSibling){a.Group.parentNode.insertBefore(this.Group,a.Group.nextSibling)}else{a.Group.parentNode.appendChild(this.Group)}return this};aQ[aP].insertBefore=function(a){a.Group.parentNode.insertBefore(this.Group,a.Group);return this};var au=function(f,j,a,c){var d=e("group"),b=e("oval"),h=b.style;d.style.cssText="position:absolute;left:0;top:0;width:"+f.width+"px;height:"+f.height+"px";d.coordsize=f.coordsize;d.coordorigin=f.coordorigin;d.appendChild(b);var g=new aQ(b,d,f);g.type="circle";aq(g,{stroke:"#000",fill:"none"});g.attrs.cx=j;g.attrs.cy=a;g.attrs.r=c;g.setBox({x:j-c,y:a-c,width:c*2,height:c*2});f.canvas.appendChild(d);return g};var an=function(b,g,h,f,l,c){var k=e("group"),a=e(c?"roundrect":"rect"),d=(+c||0)/(Math.min(f,l));a.arcsize=d;k.style.cssText="position:absolute;left:0;top:0;width:"+b.width+"px;height:"+b.height+"px";k.coordsize=b.coordsize;k.coordorigin=b.coordorigin;k.appendChild(a);var j=new aQ(a,k,b);j.type="rect";aq(j,{stroke:"#000"});j.arcsize=d;j.setBox({x:g,y:h,width:f,height:l,r:+c});b.canvas.appendChild(k);return j};var aU=function(c,d,f,a,b){var j=e("group"),k=e("oval"),g=k.style;j.style.cssText="position:absolute;left:0;top:0;width:"+c.width+"px;height:"+c.height+"px";j.coordsize=c.coordsize;j.coordorigin=c.coordorigin;j.appendChild(k);var h=new aQ(k,j,c);h.type="ellipse";aq(h,{stroke:"#000"});h.attrs.cx=d;h.attrs.cy=f;h.attrs.rx=a;h.attrs.ry=b;h.setBox({x:d-a,y:f-b,width:a*2,height:b*2});c.canvas.appendChild(j);return h};var aN=function(b,c,f,g,d,l){var k=e("group"),a=e("image"),h=a.style;k.style.cssText="position:absolute;left:0;top:0;width:"+b.width+"px;height:"+b.height+"px";k.coordsize=b.coordsize;k.coordorigin=b.coordorigin;a.src=c;k.appendChild(a);var j=new aQ(a,k,b);j.type="image";j.attrs.src=c;j.attrs.x=f;j.attrs.y=g;j.attrs.w=d;j.attrs.h=l;j.setBox({x:f,y:g,width:d,height:l});b.canvas.appendChild(k);return j};var ao=function(b,g,h,f){var l=e("group"),m=e("shape"),j=m.style,d=e("path"),c=d.style,a=e("textpath");l.style.cssText="position:absolute;left:0;top:0;width:"+b.width+"px;height:"+b.height+"px";l.coordsize=b.coordsize;l.coordorigin=b.coordorigin;d.v=aX.format("m{0},{1}l{2},{1}",~~(g+0.5),~~(h+0.5),~~(g+0.5)+1);d.textpathok=true;j.width=b.width;j.height=b.height;a.string=f;a.on=true;m.appendChild(a);m.appendChild(d);l.appendChild(m);var k=new aQ(a,l,b);k.shape=m;k.textpath=d;k.type="text";k.attrs.text=f;k.attrs.x=g;k.attrs.y=h;k.attrs.w=1;k.attrs.h=1;aq(k,{font:aK.font,stroke:"none",fill:"#000"});k.setBox();b.canvas.appendChild(l);return k};var ar=function(b,c){var a=this.canvas.style;this.width=ak[aL](b||this.width);this.height=ak[aL](c||this.height);a.width=this.width+"px";a.height=this.height+"px";a.clip="rect(0 "+this.width+"px "+this.height+"px 0)";this.coordsize=this.width+" "+this.height;return this};aW.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)");try{!aW.namespaces.rvml&&aW.namespaces.add("rvml","urn:schemas-microsoft-com:vml");var e=function(a){return aW.createElement("<rvml:"+a+' class="rvml">')}}catch(R){var e=function(a){return aW.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}var aR=function(){var m=ap[aV](null,arguments),b=m.container,f=m.height,d,a=m.width,g=m.x,h=m.y;if(!b){throw new Error("VML container not found.")}var k={},j=k.canvas=aW.createElement("div"),l=j.style;a=ak[aL](a)||512;f=ak[aL](f)||342;k.width=a;k.height=f;k.coordsize=a+" "+f;k.coordorigin="0 0";k.span=aW.createElement("span");k.span.style.cssText="position:absolute;left:-9999px;top:-9999px;padding:0;margin:0;line-height:1;display:inline;";j.appendChild(k.span);l.cssText=aX.format("width:{0}px;height:{1}px;position:absolute;clip:rect(0 {0}px {1}px 0)",a,f);if(b==1){aW.body.appendChild(j);l.left=g+"px";l.top=h+"px";b={style:{width:a,height:f}}}else{b.style.width=a;b.style.height=f;if(b.firstChild){b.insertBefore(j,b.firstChild)}else{b.appendChild(j)}}for(var c in a0){if(a0.hasOwnProperty(c)){k[c]=a0[c]}}a1.call(k,k,aX.fn);k.clear=function(){while(j.firstChild){j.removeChild(j.firstChild)}};k.raphael=aX;return k};a0.remove=function(){this.canvas.parentNode.removeChild(this.canvas)}}if({"Apple Computer, Inc.":1,"Google Inc.":1}[navigator.vendor]){a0.safari=function(){var a=this.rect(-99,-99,this.width+99,this.height+99);setTimeout(function(){a.remove()})}}else{a0.safari=function(){}}var aT=(function(){if(aW.addEventListener){return function(b,d,a,f){var c=function(g){return a.call(f,g)};b.addEventListener(d,c,false);return function(){b.removeEventListener(d,c,false);return true}}}else{if(aW.attachEvent){return function(a,f,d,c){var b=function(h){return d.call(c,h||ak.event)};a.attachEvent("on"+f,b);var g=function(){a.detachEvent("on"+f,b);return true};if(f=="mouseover"){a.attachEvent("onmouseenter",b);return function(){a.detachEvent("onmouseenter",b);return g()}}else{if(f=="mouseout"){a.attachEvent("onmouseleave",b);return function(){a.detachEvent("onmouseleave",b);return g()}}}return g}}}})();for(var af=aF[ay];af--;){(function(a){aQ[aP][a]=function(b){if(aX.is(b,"function")){this.events=this.events||{};this.events[a]=this.events[a]||{};this.events[a][b]=this.events[a][b]||[];this.events[a][b].push(aT(this.shape||this.node,a,b,this))}return this};aQ[aP]["un"+a]=function(b){this.events&&this.events[a]&&this.events[a][b]&&this.events[a][b][ay]&&this.events[a][b].shift()()&&!this.events[a][b][ay]&&delete this.events[a][b]}})(aF[af])}a0.circle=function(c,b,a){return au(this,c||0,b||0,a||0)};a0.rect=function(f,b,a,d,c){return an(this,f||0,b||0,a||0,d||0,c||0)};a0.ellipse=function(d,c,b,a){return aU(this,d||0,c||0,b||0,a||0)};a0.path=function(a){a&&!aX.is(a,"string")&&!aX.is(a[0],"array")&&(a+="");return aD(aX.format[aV](aX,arguments),this)};a0.image=function(d,f,b,a,c){return aN(this,d||"about:blank",f||0,b||0,a||0,c||0)};a0.text=function(c,b,a){return ao(this,c||0,b||0,a||"")};a0.set=function(a){arguments[ay]>1&&(a=Array[aP].splice.call(arguments,0,arguments[ay]));return new aS(a)};a0.setSize=ar;aQ[aP].stop=function(){clearTimeout(this.animation_in_progress);return this};aQ[aP].scale=function(v,w,H,a){if(v==null&&w==null){return{x:this._.sx,y:this._.sy,toString:function(){return this.x+" "+this.y}}}w=w||v;!+w&&(w=v);var n,s,q,u,l=this.attrs;if(v!=0){var y=this.getBBox(),B=y.x+y.width/2,F=y.y+y.height/2,m=v/this._.sx,o=w/this._.sy;H=(+H||H==0)?H:B;a=(+a||a==0)?a:F;var z=~~(v/Math.abs(v)),C=~~(w/Math.abs(w)),g=this.node.style,f=H+(B-H)*z*m,j=a+(F-a)*C*o;switch(this.type){case"rect":case"image":var A=l.width*z*m,h=l.height*C*o,x=l.r*Math.min(m,o),D=f-A/2,G=j-h/2;this.attr({width:A,height:h,x:D,y:G,r:x});break;case"circle":case"ellipse":this.attr({rx:l.rx*m,ry:l.ry*o,r:l.r*Math.min(m,o),cx:f,cy:j});break;case"path":var c=aZ(l.path),b=true;for(var r=0,k=c[ay];r<k;r++){var d=c[r];if(d[0].toUpperCase()=="M"&&b){continue}else{b=false}if(aX.svg&&d[0].toUpperCase()=="A"){d[c[r][ay]-2]*=m;d[c[r][ay]-1]*=o;d[1]*=m;d[2]*=o;d[5]=+(z+C?!!+d[5]:!+d[5])}else{for(var t=1,p=d[ay];t<p;t++){d[t]*=(t%2)?m:o}}}var E=at(c),n=f-E.x-E.width/2,s=j-E.y-E.height/2;c[0][1]+=n;c[0][2]+=s;this.attr({path:c});break}if(this.type in {text:1,image:1}&&(z!=1||C!=1)){if(this.transformations){this.transformations[2]="scale(".concat(z,",",C,")");this.node.setAttribute("transform",this.transformations.join(" "));n=(z==-1)?-l.x-(A||0):l.x;s=(C==-1)?-l.y-(h||0):l.y;this.attr({x:n,y:s});l.fx=z-1;l.fy=C-1}else{this.node.filterMatrix=" progid:DXImageTransform.Microsoft.Matrix(M11=".concat(z,", M12=0, M21=0, M22=",C,", Dx=0, Dy=0, sizingmethod='auto expand', filtertype='bilinear')");g.filter=(this.node.filterMatrix||"")+(this.node.filterOpacity||"")}}else{if(this.transformations){this.transformations[2]="";this.node.setAttribute("transform",this.transformations.join(" "));l.fx=0;l.fy=0}else{this.node.filterMatrix="";g.filter=(this.node.filterMatrix||"")+(this.node.filterOpacity||"")}}l.scale=[v,w,H,a].join(" ");this._.sx=v;this._.sy=w}return this};aX.easing_formulas={linear:function(a){return a},"<":function(a){return Math.pow(a,3)},">":function(a){return Math.pow(a-1,3)+1},"<>":function(a){a=a*2;if(a<1){return Math.pow(a,3)/2}a-=2;return(Math.pow(a,3)+2)/2},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a=a-1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(b){if(b==0||b==1){return b}var a=0.3,c=a/4;return Math.pow(2,-10*b)*Math.sin((b-c)*(2*Math.PI)/a)+1},bounce:function(c){var a=7.5625,b=2.75,d;if(c<(1/b)){d=a*c*c}else{if(c<(2/b)){c-=(1.5/b);d=a*c*c+0.75}else{if(c<(2.5/b)){c-=(2.25/b);d=a*c*c+0.9375}else{c-=(2.625/b);d=a*c*c+0.984375}}}return d}};aQ[aP].animate=function(b,m,n,w){clearTimeout(this.animation_in_progress);if(aX.is(n,"function")||!n){w=n||null}var j={},a={},p={},q={x:0,y:0};for(var l in b){if(b.hasOwnProperty(l)){if(l in aG){j[l]=this.attr(l);(j[l]==null)&&(j[l]=aK[l]);a[l]=b[l];switch(aG[l]){case"number":p[l]=(a[l]-j[l])/m;break;case"colour":j[l]=aX.getRGB(j[l]);var k=aX.getRGB(a[l]);p[l]={r:(k.r-j[l].r)/m,g:(k.g-j[l].g)/m,b:(k.b-j[l].b)/m};break;case"path":var u=ah(j[l],a[l]);j[l]=u[0];a[l]=u[1];p[l]=[];for(var g=0,r=j[l][ay];g<r;g++){p[l][g]=[0];for(var h=1,d=j[l][g][ay];h<d;h++){p[l][g][h]=(a[l][g][h]-j[l][g][h])/m}}break;case"csv":var v=(b[l]+"").split(aA),s=(j[l]+"").split(aA);switch(l){case"translation":j[l]=[0,0];p[l]=[v[0]/m,v[1]/m];break;case"rotation":j[l]=(s[1]==v[1]&&s[2]==v[2])?s:[0,v[1],v[2]];p[l]=[(v[0]-j[l][0])/m,0,0];break;case"scale":b[l]=v;j[l]=(j[l]+"").split(aA);p[l]=[(v[0]-j[l][0])/m,(v[1]-j[l][1])/m,0,0];break;case"clip-rect":j[l]=(j[l]+"").split(aA);p[l]=[];var g=4;while(g--){p[l][g]=(v[g]-j[l][g])/m}break}a[l]=v}}}}var x=+new Date,o=0,c=function(y){return y>255?255:y},t=this;(function f(){var H=new Date-x,z={},I;if(H<m){var B=aX.easing_formulas[n]?aX.easing_formulas[n](H/m):H/m;for(var D in j){if(j.hasOwnProperty(D)){switch(aG[D]){case"number":I=+j[D]+B*m*p[D];break;case"colour":I="rgb("+[c(~~(j[D].r+B*m*p[D].r+0.5)),c(~~(j[D].g+B*m*p[D].g+0.5)),c(~~(j[D].b+B*m*p[D].b+0.5))].join(",")+")";break;case"path":I=[];for(var F=0,y=j[D][ay];F<y;F++){I[F]=[j[D][F][0]];for(var G=1,E=j[D][F][ay];G<E;G++){I[F][G]=+j[D][F][G]+B*m*p[D][F][G]}I[F]=I[F].join(" ")}I=I.join(" ");break;case"csv":switch(D){case"translation":var A=p[D][0]*(H-o),C=p[D][1]*(H-o);q.x+=A;q.y+=C;I=[A,C].join(" ");break;case"rotation":I=+j[D][0]+B*m*p[D][0];j[D][1]&&(I+=","+j[D][1]+","+j[D][2]);break;case"scale":I=[+j[D][0]+B*m*p[D][0],+j[D][1]+B*m*p[D][1],(2 in b[D]?b[D][2]:""),(3 in b[D]?b[D][3]:"")].join(" ");break;case"clip-rect":I=[];var F=4;while(F--){I[F]=+j[D][F]+B*m*p[D][F]}break}break}z[D]=I}}t.attr(z);t.animation_in_progress=setTimeout(f);aX.svg&&a0.safari()}else{(q.x||q.y)&&t.translate(-q.x,-q.y);t.attr(b);clearTimeout(t.animation_in_progress);aX.svg&&a0.safari();(aX.is(w,"function"))&&w.call(t)}o=H})();return this};aQ[aP].translate=function(c,b){if(c==null){return{x:this._.tx,y:this._.ty}}this._.tx+=+c;this._.ty+=+b;switch(this.type){case"circle":case"ellipse":this.attr({cx:+c+this.attrs.cx,cy:+b+this.attrs.cy});break;case"rect":case"image":case"text":this.attr({x:+c+this.attrs.x,y:+b+this.attrs.y});break;case"path":var a=aZ(this.attrs.path);a[0][1]+=+c;a[0][2]+=+b;this.attr({path:a});break}return this};aQ[aP].toString=function(){return"Rapha\u00ebl\u2019s object"};var aS=function(c){this.items=[];this[ay]=0;if(c){for(var b=0,a=c[ay];b<a;b++){if(c[b]&&(c[b].constructor==aQ||c[b].constructor==aS)){this[this.items[ay]]=this.items[this.items[ay]]=c[b];this[ay]++}}}};aS[aP].push=function(){var a,d;for(var c=0,b=arguments[ay];c<b;c++){a=arguments[c];if(a&&(a.constructor==aQ||a.constructor==aS)){d=this.items[ay];this[d]=this.items[d]=a;this[ay]++}}return this};aS[aP].pop=function(){delete this[this[ay]--];return this.items.pop()};for(var ae in aQ[aP]){if(aQ[aP].hasOwnProperty(ae)){aS[aP][ae]=(function(a){return function(){for(var c=0,b=this.items[ay];c<b;c++){this.items[c][a][aV](this.items[c],arguments)}return this}})(ae)}}aS[aP].attr=function(f,a){if(f&&aX.is(f,"array")&&aX.is(f[0],"object")){for(var g=0,b=f[ay];g<b;g++){this.items[g].attr(f[g])}}else{for(var d=0,c=this.items[ay];d<c;d++){this.items[d].attr[aV](this.items[d],arguments)}}return this};aS[aP].animate=function(d,h,a,b){if(aX.is(a,"function")||!a){b=a||null}var j=this.items[ay],g=j,c=this;if(b){var f=function(){!--j&&b.call(c)};while(g--){this.items[g].animate(d,h,a||f,f)}}else{while(g--){this.items[g].animate(d,h,a)}}return this};aS[aP].getBBox=function(){var g=[],a=[],f=[],c=[];for(var d=this.items[ay];d--;){var b=this.items[d].getBBox();g.push(b.x);a.push(b.y);f.push(b.x+b.width);c.push(b.y+b.height)}g=Math.min[aV](Math,g);a=Math.min[aV](Math,a);return{x:g,y:a,width:Math.max[aV](Math,f)-g,height:Math.max[aV](Math,c)-a}};aX.registerFont=function(d){if(!d.face){return d}this.fonts=this.fonts||{};var g={w:d.w,face:{},glyphs:{}},f=d.face["font-family"];for(var a in d.face){if(d.face.hasOwnProperty(a)){g.face[a]=d.face[a]}}if(this.fonts[f]){this.fonts[f].push(g)}else{this.fonts[f]=[g]}if(!d.svg){g.face["units-per-em"]=ak[aM](d.face["units-per-em"],10);for(var c in d.glyphs){if(d.glyphs.hasOwnProperty(c)){var b=d.glyphs[c];g.glyphs[c]={w:b.w,k:{},d:b.d&&"M"+b.d.replace(/[mlcxtrv]/g,function(j){return{l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"}[j]||"M"})+"z"};if(b.k){for(var h in b.k){if(b.hasOwnProperty(h)){g.glyphs[c].k[h]=b.k[h]}}}}}}return d};a0.getFont=function(f,d,a,k){k=k||"normal";a=a||"normal";d=+d||{normal:400,bold:700,lighter:300,bolder:800}[d]||400;var j=aX.fonts[f];if(!j){var l=new RegExp("(^|\\s)"+f.replace(/[^\w\d\s+!~.:_-]/g,"")+"(\\s|$)","i");for(var c in aX.fonts){if(aX.fonts.hasOwnProperty(c)){if(l.test(c)){j=aX.fonts[c];break}}}}var h;if(j){for(var g=0,b=j[ay];g<b;g++){h=j[g];if(h.face["font-weight"]==d&&(h.face["font-style"]==a||!h.face["font-style"])&&h.face["font-stretch"]==k){break}}}return h};a0.print=function(g,j,l,a,b){var n=this.set(),k=(l+"").split(""),h=0,c="",o;aX.is(a,"string")&&(a=this.getFont(a));if(a){o=(b||16)/a.face["units-per-em"];for(var m=0,f=k[ay];m<f;m++){var p=m&&a.glyphs[k[m-1]]||{},d=a.glyphs[k[m]];h+=m?(p.w||a.w)+(p.k&&p.k[k[m]]||0):0;d&&d.d&&n.push(this.path(d.d).attr({fill:"#000",stroke:"none",translation:[h,0]}))}n.scale(o,o,0,j).translate(g,(b||16)/2)}return n};aX.format=function(a){var b=aX.is(arguments[1],"array")?[0].concat(arguments[1]):arguments;a&&aX.is(a,"string")&&b[ay]-1&&(a=a.replace(/\{(\d+)\}/g,function(d,c){return b[++c]==null?"":b[c]}));return a||""};aX.ninja=function(){var c=window.Raphael,a;if(ag.was){window.Raphael=ag.is}else{try{delete window.Raphael}catch(b){window.Raphael=a}}return c};aX.el=aQ[aP];return aX})();Raphael.el.isAbsolute=true;Raphael.el.absolutely=function(){this.isAbsolute=1;return this};Raphael.el.relatively=function(){this.isAbsolute=0;return this};Raphael.el.moveTo=function(a,b){this._last={x:a,y:b};return this.attr({path:this.attrs.path+["m","M"][+this.isAbsolute]+parseFloat(a)+" "+parseFloat(b)})};Raphael.el.lineTo=function(a,b){this._last={x:a,y:b};return this.attr({path:this.attrs.path+["l","L"][+this.isAbsolute]+parseFloat(a)+" "+parseFloat(b)})};Raphael.el.arcTo=function(e,d,b,c,a,g,f){this._last={x:a,y:g};return this.attr({path:this.attrs.path+["a","A"][+this.isAbsolute]+[parseFloat(e),parseFloat(d),+f,b,c,parseFloat(a),parseFloat(g)].join(" ")})};Raphael.el.curveTo=function(){var a=Array.prototype.splice.call(arguments,0,arguments.length),b=[0,0,0,0,"s",0,"c"][a.length]||"";this.isAbsolute&&(b=b.toUpperCase());this._last={x:a[a.length-2],y:a[a.length-1]};return this.attr({path:this.attrs.path+b+a})};Raphael.el.cplineTo=function(a,c,b){this.attr({path:this.attrs.path+["C",this._last.x+b,this._last.y,a-b,c,a,c]});this._last={x:a,y:c};return this};Raphael.el.qcurveTo=function(){var b=[0,1,"t",3,"q"][arguments.length],a=Array.prototype.splice.call(arguments,0,arguments.length);if(this.isAbsolute){b=b.toUpperCase()}this._last={x:a[a.length-2],y:a[a.length-1]};return this.attr({path:this.attrs.path+b+a})};Raphael.el.addRoundedCorner=function(c,b){var a=this.isAbsolute;a&&this.relatively();this._last={x:c*(!!(b.indexOf("r")+1)*2-1),y:c*(!!(b.indexOf("d")+1)*2-1)};this.arcTo(c,c,0,{lu:1,rd:1,ur:1,dl:1}[b]||0,this._last.x,this._last.y);a&&this.absolutely();return this};Raphael.el.andClose=function(){return this.attr({path:this.attrs.path+"z"})};