(function($){$.extend({tablesorter:new function(){var parsers=[],widgets=[];this.defaults={cssHeader:"header",cssAsc:"headerSortUp",cssDesc:"headerSortDown",sortInitialOrder:"asc",sortMultiSortKey:"shiftKey",sortForce:null,sortAppend:null,textExtraction:"simple",parsers:{},widgets:[],widgetZebra:{css:["even","odd"]},headers:{},widthFixed:false,cancelSelection:true,sortList:[],headerList:[],dateFormat:"us",decimal:'.',debug:false};function benchmark(s,d){log(s+","+(new Date().getTime()-d.getTime())+"ms");}this.benchmark=benchmark;function log(s){if(typeof console!="undefined"&&typeof console.debug!="undefined"){console.log(s);}else{alert(s);}}function buildParserCache(table,$headers){if(table.config.debug){var parsersDebug="";}var rows=table.tBodies[0].rows;if(table.tBodies[0].rows[0]){var list=[],cells=rows[0].cells,l=cells.length;for(var i=0;i<l;i++){var p=false;if($.metadata&&($($headers[i]).metadata()&&$($headers[i]).metadata().sorter)){p=getParserById($($headers[i]).metadata().sorter);}else if((table.config.headers[i]&&table.config.headers[i].sorter)){p=getParserById(table.config.headers[i].sorter);}if(!p){p=detectParserForColumn(table,cells[i]);}if(table.config.debug){parsersDebug+="column:"+i+" parser:"+p.id+"\n";}list.push(p);}}if(table.config.debug){log(parsersDebug);}return list;};function detectParserForColumn(table,node){var l=parsers.length;for(var i=1;i<l;i++){if(parsers[i].is($.trim(getElementText(table.config,node)),table,node)){return parsers[i];}}return parsers[0];}function getParserById(name){var l=parsers.length;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==name.toLowerCase()){return parsers[i];}}return false;}function buildCache(table){if(table.config.debug){var cacheTime=new Date();}var totalRows=(table.tBodies[0]&&table.tBodies[0].rows.length)||0,totalCells=(table.tBodies[0].rows[0]&&table.tBodies[0].rows[0].cells.length)||0,parsers=table.config.parsers,cache={row:[],normalized:[]};for(var i=0;i<totalRows;++i){var c=table.tBodies[0].rows[i],cols=[];cache.row.push($(c));for(var j=0;j<totalCells;++j){cols.push(parsers[j].format(getElementText(table.config,c.cells[j]),table,c.cells[j]));}cols.push(i);cache.normalized.push(cols);cols=null;};if(table.config.debug){benchmark("Building cache for "+totalRows+" rows:",cacheTime);}return cache;};function getElementText(config,node){if(!node)return"";var t="";if(config.textExtraction=="simple"){if(node.childNodes[0]&&node.childNodes[0].hasChildNodes()){t=node.childNodes[0].innerHTML;}else{t=node.innerHTML;}}else{if(typeof(config.textExtraction)=="function"){t=config.textExtraction(node);}else{t=$(node).text();}}return t;}function appendToTable(table,cache){if(table.config.debug){var appendTime=new Date()}var c=cache,r=c.row,n=c.normalized,totalRows=n.length,checkCell=(n[0].length-1),tableBody=$(table.tBodies[0]),rows=[];for(var i=0;i<totalRows;i++){rows.push(r[n[i][checkCell]]);if(!table.config.appender){var o=r[n[i][checkCell]];var l=o.length;for(var j=0;j<l;j++){tableBody[0].appendChild(o[j]);}}}if(table.config.appender){table.config.appender(table,rows);}rows=null;if(table.config.debug){benchmark("Rebuilt table:",appendTime);}applyWidget(table);setTimeout(function(){$(table).trigger("sortEnd");},0);};function buildHeaders(table){if(table.config.debug){var time=new Date();}var meta=($.metadata)?true:false,tableHeadersRows=[];for(var i=0;i<table.tHead.rows.length;i++){tableHeadersRows[i]=0;};$tableHeaders=$("thead th",table);$tableHeaders.each(function(index){this.count=0;this.column=index;this.order=formatSortingOrder(table.config.sortInitialOrder);if(checkHeaderMetadata(this)||checkHeaderOptions(table,index))this.sortDisabled=true;if(!this.sortDisabled){$(this).addClass(table.config.cssHeader);}table.config.headerList[index]=this;});if(table.config.debug){benchmark("Built headers:",time);log($tableHeaders);}return $tableHeaders;};function checkCellColSpan(table,rows,row){var arr=[],r=table.tHead.rows,c=r[row].cells;for(var i=0;i<c.length;i++){var cell=c[i];if(cell.colSpan>1){arr=arr.concat(checkCellColSpan(table,headerArr,row++));}else{if(table.tHead.length==1||(cell.rowSpan>1||!r[row+1])){arr.push(cell);}}}return arr;};function checkHeaderMetadata(cell){if(($.metadata)&&($(cell).metadata().sorter===false)){return true;};return false;}function checkHeaderOptions(table,i){if((table.config.headers[i])&&(table.config.headers[i].sorter===false)){return true;};return false;}function applyWidget(table){var c=table.config.widgets;var l=c.length;for(var i=0;i<l;i++){getWidgetById(c[i]).format(table);}}function getWidgetById(name){var l=widgets.length;for(var i=0;i<l;i++){if(widgets[i].id.toLowerCase()==name.toLowerCase()){return widgets[i];}}};function formatSortingOrder(v){if(typeof(v)!="Number"){i=(v.toLowerCase()=="desc")?1:0;}else{i=(v==(0||1))?v:0;}return i;}function isValueInArray(v,a){var l=a.length;for(var i=0;i<l;i++){if(a[i][0]==v){return true;}}return false;}function setHeadersCss(table,$headers,list,css){$headers.removeClass(css[0]).removeClass(css[1]);var h=[];$headers.each(function(offset){if(!this.sortDisabled){h[this.column]=$(this);}});var l=list.length;for(var i=0;i<l;i++){h[list[i][0]].addClass(css[list[i][1]]);}}function fixColumnWidth(table,$headers){var c=table.config;if(c.widthFixed){var colgroup=$('<colgroup>');$("tr:first td",table.tBodies[0]).each(function(){colgroup.append($('<col>').css('width',$(this).width()));});$(table).prepend(colgroup);};}function updateHeaderSortCount(table,sortList){var c=table.config,l=sortList.length;for(var i=0;i<l;i++){var s=sortList[i],o=c.headerList[s[0]];o.count=s[1];o.count++;}}function multisort(table,sortList,cache){if(table.config.debug){var sortTime=new Date();}var dynamicExp="var sortWrapper = function(a,b) {",l=sortList.length;for(var i=0;i<l;i++){var c=sortList[i][0];var order=sortList[i][1];var s=(getCachedSortType(table.config.parsers,c)=="text")?((order==0)?"sortText":"sortTextDesc"):((order==0)?"sortNumeric":"sortNumericDesc");var e="e"+i;dynamicExp+="var "+e+" = "+s+"(a["+c+"],b["+c+"]); ";dynamicExp+="if("+e+") { return "+e+"; } ";dynamicExp+="else { ";}var orgOrderCol=cache.normalized[0].length-1;dynamicExp+="return a["+orgOrderCol+"]-b["+orgOrderCol+"];";for(var i=0;i<l;i++){dynamicExp+="}; ";}dynamicExp+="return 0; ";dynamicExp+="}; ";eval(dynamicExp);cache.normalized.sort(sortWrapper);if(table.config.debug){benchmark("Sorting on "+sortList.toString()+" and dir "+order+" time:",sortTime);}return cache;};function sortText(a,b){return((a<b)?-1:((a>b)?1:0));};function sortTextDesc(a,b){return((b<a)?-1:((b>a)?1:0));};function sortNumeric(a,b){return a-b;};function sortNumericDesc(a,b){return b-a;};function getCachedSortType(parsers,i){return parsers[i].type;};this.construct=function(settings){return this.each(function(){if(!this.tHead||!this.tBodies)return;var $this,$document,$headers,cache,config,shiftDown=0,sortOrder;this.config={};config=$.extend(this.config,$.tablesorter.defaults,settings);$this=$(this);$headers=buildHeaders(this);this.config.parsers=buildParserCache(this,$headers);cache=buildCache(this);var sortCSS=[config.cssDesc,config.cssAsc];fixColumnWidth(this);$headers.click(function(e){$this.trigger("sortStart");var totalRows=($this[0].tBodies[0]&&$this[0].tBodies[0].rows.length)||0;if(!this.sortDisabled&&totalRows>0){var $cell=$(this);var i=this.column;this.order=this.count++%2;if(!e[config.sortMultiSortKey]){config.sortList=[];if(config.sortForce!=null){var a=config.sortForce;for(var j=0;j<a.length;j++){if(a[j][0]!=i){config.sortList.push(a[j]);}}}config.sortList.push([i,this.order]);}else{if(isValueInArray(i,config.sortList)){for(var j=0;j<config.sortList.length;j++){var s=config.sortList[j],o=config.headerList[s[0]];if(s[0]==i){o.count=s[1];o.count++;s[1]=o.count%2;}}}else{config.sortList.push([i,this.order]);}};setTimeout(function(){setHeadersCss($this[0],$headers,config.sortList,sortCSS);appendToTable($this[0],multisort($this[0],config.sortList,cache));},1);return false;}}).mousedown(function(){if(config.cancelSelection){this.onselectstart=function(){return false};return false;}});$this.bind("update",function(){this.config.parsers=buildParserCache(this,$headers);cache=buildCache(this);}).bind("sorton",function(e,list){$(this).trigger("sortStart");config.sortList=list;var sortList=config.sortList;updateHeaderSortCount(this,sortList);setHeadersCss(this,$headers,sortList,sortCSS);appendToTable(this,multisort(this,sortList,cache));}).bind("appendCache",function(){appendToTable(this,cache);}).bind("applyWidgetId",function(e,id){getWidgetById(id).format(this);}).bind("applyWidgets",function(){applyWidget(this);});if($.metadata&&($(this).metadata()&&$(this).metadata().sortlist)){config.sortList=$(this).metadata().sortlist;}if(config.sortList.length>0){$this.trigger("sorton",[config.sortList]);}applyWidget(this);});};this.addParser=function(parser){var l=parsers.length,a=true;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==parser.id.toLowerCase()){a=false;}}if(a){parsers.push(parser);};};this.addWidget=function(widget){widgets.push(widget);};this.formatFloat=function(s){var i=parseFloat(s);return(isNaN(i))?0:i;};this.formatInt=function(s){var i=parseInt(s);return(isNaN(i))?0:i;};this.isDigit=function(s,config){var DECIMAL='\\'+config.decimal;var exp='/(^[+]?0('+DECIMAL+'0+)?$)|(^([-+]?[1-9][0-9]*)$)|(^([-+]?((0?|[1-9][0-9]*)'+DECIMAL+'(0*[1-9][0-9]*)))$)|(^[-+]?[1-9]+[0-9]*'+DECIMAL+'0+$)/';return RegExp(exp).test($.trim(s));};this.clearTableBody=function(table){if($.browser.msie){function empty(){while(this.firstChild)this.removeChild(this.firstChild);}empty.apply(table.tBodies[0]);}else{table.tBodies[0].innerHTML="";}};}});$.fn.extend({tablesorter:$.tablesorter.construct});var ts=$.tablesorter;ts.addParser({id:"text",is:function(s){return true;},format:function(s){return $.trim(s.toLowerCase());},type:"text"});ts.addParser({id:"digit",is:function(s,table){var c=table.config;return $.tablesorter.isDigit(s,c);},format:function(s){return $.tablesorter.formatFloat(s);},type:"numeric"});ts.addParser({id:"currency",is:function(s){return/^[£$€?.]/.test(s);},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/[^0-9.]/g),""));},type:"numeric"});ts.addParser({id:"ipAddress",is:function(s){return/^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(s);},format:function(s){var a=s.split("."),r="",l=a.length;for(var i=0;i<l;i++){var item=a[i];if(item.length==2){r+="0"+item;}else{r+=item;}}return $.tablesorter.formatFloat(r);},type:"numeric"});ts.addParser({id:"url",is:function(s){return/^(https?|ftp|file):\/\/$/.test(s);},format:function(s){return jQuery.trim(s.replace(new RegExp(/(https?|ftp|file):\/\//),''));},type:"text"});ts.addParser({id:"isoDate",is:function(s){return/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(s);},format:function(s){return $.tablesorter.formatFloat((s!="")?new Date(s.replace(new RegExp(/-/g),"/")).getTime():"0");},type:"numeric"});ts.addParser({id:"percent",is:function(s){return/\%$/.test($.trim(s));},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/%/g),""));},type:"numeric"});ts.addParser({id:"usLongDate",is:function(s){return s.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/));},format:function(s){return $.tablesorter.formatFloat(new Date(s).getTime());},type:"numeric"});ts.addParser({id:"shortDate",is:function(s){return/\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/.test(s);},format:function(s,table){var c=table.config;s=s.replace(/\-/g,"/");if(c.dateFormat=="us"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$1/$2");}else if(c.dateFormat=="uk"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$2/$1");}else if(c.dateFormat=="dd/mm/yy"||c.dateFormat=="dd-mm-yy"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/,"$1/$2/$3");}return $.tablesorter.formatFloat(new Date(s).getTime());},type:"numeric"});ts.addParser({id:"time",is:function(s){return/^(([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(am|pm)))$/.test(s);},format:function(s){return $.tablesorter.formatFloat(new Date("2000/01/01 "+s).getTime());},type:"numeric"});ts.addParser({id:"metadata",is:function(s){return false;},format:function(s,table,cell){var c=table.config,p=(!c.parserMetadataName)?'sortValue':c.parserMetadataName;return $(cell).metadata()[p];},type:"numeric"});ts.addWidget({id:"zebra",format:function(table){if(table.config.debug){var time=new Date();}$("tr:visible",table.tBodies[0]).filter(':even').removeClass(table.config.widgetZebra.css[1]).addClass(table.config.widgetZebra.css[0]).end().filter(':odd').removeClass(table.config.widgetZebra.css[0]).addClass(table.config.widgetZebra.css[1]);if(table.config.debug){$.tablesorter.benchmark("Applying Zebra widget",time);}}});})(jQuery);(function(A){A.widget("ui.stars",{_init:function(){var B=this,E=this.options;E.isSelect=E.inputType=="select";this.$selec=E.isSelect?A("select",this.element):null;this.$rboxs=E.isSelect?A("option",this.$selec):A(":radio",this.element);this.$stars=this.$rboxs.map(function(H){if(H==0){E.split=typeof E.split!="number"?0:E.split;E.val2id=[];E.id2val=[];E.id2title=[];E.name=E.isSelect?B.$selec.get(0).name:this.name;E.disabled=E.disabled||(E.isSelect?A(B.$selec).attr("disabled"):A(this).attr("disabled"));E.items=0}E.items++;E.val2id[this.value]=H;E.id2val[H]=this.value;E.id2title[H]=(E.isSelect?this.text:this.title)||this.value;if(E.selected==H||(E.selected==-1&&(E.isSelect?this.defaultSelected:this.defaultChecked))){E.checked=H;E.value=E.id2val[H];E.title=E.id2title[H]}var G=A("<div/>").addClass(E.starClass);var I=A("<a/>").attr("title",E.showTitles?E.id2title[H]:"").text(this.value);if(E.split){var F=(H%E.split);var J=Math.floor(E.starWidth/E.split);G.width(J);I.css("margin-left","-"+(F*J)+"px")}return G.append(I).get(0)});this.$cancel=A("<div/>").addClass(E.cancelClass).append(A("<a/>").attr("title",E.showTitles?E.cancelTitle:"").text(E.cancelValue));this.$value=A('<input type="hidden" name="'+E.name+'" value="'+E.value+'" />');E.cancelShow&=!E.disabled&&!E.oneVoteOnly;if(E.cancelShow){this.element.append(this.$cancel)}this.element.append(this.$stars);this.element.append(this.$value);E.isSelect?this.$selec.remove():this.$rboxs.remove();if(E.checked===undefined){E.checked=-1;E.value=E.cancelValue;E.title="";if(E.cancelShow){this._disableCancel()}}else{C(E.checked,false)}E.disabled&&this.disable();A(window).bind("unload",function(){B.$cancel.unbind(".stars");B.$stars.unbind(".stars");B.$selec=B.$rboxs=B.$stars=B.$value=B.$cancel=null});function D(){B.$stars.removeClass(E.starOnClass+" "+E.starHoverClass);B._showCap("")}function C(F,H){if(F!=-1){var I=H?E.starHoverClass:E.starOnClass;var G=H?E.starOnClass:E.starHoverClass;B.$stars.eq(F).prevAll("."+E.starClass).andSelf().removeClass(G).addClass(I);B.$stars.eq(F).nextAll("."+E.starClass).removeClass(E.starHoverClass+" "+E.starOnClass);B._showCap(E.id2title[F])}else{D()}}this.$stars.bind("click.stars",function(){if(!E.forceSelect&&E.disabled){return false}var F=B.$stars.index(this);E.checked=F;E.value=E.id2val[F];E.title=E.id2title[F];B.$value.attr({disabled:E.disabled?"disabled":"",value:E.value});C(F,false);B._disableCancel();if(!E.forceSelect){B.callback("star")}}).bind("mouseover.stars",function(){if(E.disabled){return false}var F=B.$stars.index(this);C(F,true)}).bind("mouseout.stars",function(){if(E.disabled){return false}C(B.options.checked,false)});this.$cancel.bind("click.stars",function(){if(!E.forceSelect&&(E.disabled||(E.value==E.cancelValue))){return false}E.checked=-1;E.value=E.cancelValue;E.title="";B.$value.attr({disabled:"disabled",value:E.value});D();B._disableCancel();(!E.forceSelect)&&B.callback("cancel")}).bind("mouseover.stars",function(){if(B._disableCancel()){return false}B.$cancel.addClass(E.cancelHoverClass);D();B._showCap(E.cancelTitle)}).bind("mouseout.stars",function(){if(B._disableCancel()){return false}B.$cancel.removeClass(E.cancelHoverClass);B.$stars.triggerHandler("mouseout.stars")})},_disableCancel:function(){var C=this.options,B=C.disabled||C.oneVoteOnly||(C.value==C.cancelValue);if(B){this.$cancel.removeClass(C.cancelHoverClass).addClass(C.cancelDisabledClass)}else{this.$cancel.removeClass(C.cancelDisabledClass)}this.$cancel.css("opacity",B?0.5:1);return B},_disableAll:function(){var B=this.options;this._disableCancel();if(B.disabled){this.$stars.filter("div").addClass(B.starDisabledClass)}else{this.$stars.filter("div").removeClass(B.starDisabledClass)}},_showCap:function(B){var C=this.options;if(C.captionEl){C.captionEl.text(B)}},value:function(){return this.options.value},select:function(D){var C=this.options,B=(D==C.cancelValue)?this.$cancel:this.$stars.eq(C.val2id[D]);C.forceSelect=true;B.triggerHandler("click.stars");C.forceSelect=false},selectID:function(D){var C=this.options,B=(D==-1)?this.$cancel:this.$stars.eq(D);C.forceSelect=true;B.triggerHandler("click.stars");C.forceSelect=false},enable:function(){this.options.disabled=false;this._disableAll()},disable:function(){this.options.disabled=true;this._disableAll()},destroy:function(){this.options.isSelect?this.$selec.appendTo(this.element):this.$rboxs.appendTo(this.element);this.$cancel.unbind(".stars").remove();this.$stars.unbind(".stars").remove();this.$value.remove();this.element.unbind(".stars").removeData("stars")},callback:function(B){var C=this.options;C.callback(this,B,C.value);C.oneVoteOnly&&!C.disabled&&this.disable()}});A.extend(A.ui.stars,{version:"2.0.2",getter:"value",defaults:{inputType:"radio",split:0,selected:-1,disabled:false,cancelTitle:"Cancel Rating",cancelValue:0,cancelShow:true,oneVoteOnly:false,showTitles:false,captionEl:null,callback:function(C,B,D){},starWidth:16,cancelClass:"ui-stars-cancel",starClass:"ui-stars-star",starOnClass:"ui-stars-star-on",starHoverClass:"ui-stars-star-hover",starDisabledClass:"ui-stars-star-disabled",cancelHoverClass:"ui-stars-cancel-hover",cancelDisabledClass:"ui-stars-cancel-disabled"}})})(jQuery);(function($){function SVGManager(){this._settings=[];this._extensions=[];this.regional=[];this.regional['']={errorLoadingText:'Error loading',notSupportedText:'This browser does not support SVG'};this.local=this.regional[''];this._uuid=new Date().getTime();this._renesis=detectActiveX('RenesisX.RenesisCtrl')}function detectActiveX(a){try{return!!(window.ActiveXObject&&new ActiveXObject(a))}catch(e){return false}}var o='svgwrapper';$.extend(SVGManager.prototype,{markerClassName:'hasSVG',svgNS:'http://www.w3.org/2000/svg',xlinkNS:'http://www.w3.org/1999/xlink',_wrapperClass:SVGWrapper,_attachSVG:function(a,b){if($(a).hasClass(this.markerClassName)){return}$(a).addClass(this.markerClassName);try{var c=document.createElementNS(this.svgNS,'svg');c.setAttribute('version','1.1');c.setAttribute('width',a.clientWidth);c.setAttribute('height',a.clientHeight);a.appendChild(c);this._afterLoad(a,c,b)}catch(e){if($.browser.msie){if(!a.id){a.id='svg'+(this._uuid++)}this._settings[a.id]=b;a.innerHTML='<embed type="image/svg+xml" width="'+a.clientWidth+'" height="'+a.clientHeight+'" src="'+(b.initPath||'')+'blank.svg"/>'}else{a.innerHTML='<p class="svg_error">'+this.local.notSupportedText+'</p>'}}},_registerSVG:function(){for(var i=0;i<document.embeds.length;i++){var a=document.embeds[i].parentNode;if(!$(a).hasClass($.svg.markerClassName)||$.data(a,o)){continue}var b=null;try{b=document.embeds[i].getSVGDocument()}catch(e){setTimeout($.svg._registerSVG,250);return}b=(b?b.documentElement:null);if(b){$.svg._afterLoad(a,b)}}},_afterLoad:function(a,b,c){var c=c||this._settings[a.id];this._settings[a.id]=null;var d=new this._wrapperClass(b,a);$.data(a,o,d);if(c.loadURL){d.load(c.loadURL,c)}if(c.settings){d.configure(c.settings)}if(c.onLoad&&!c.loadURL){c.onLoad.apply(a,[d])}},_getSVG:function(a){a=(typeof a=='string'?$(a)[0]:(a.jquery?a[0]:a));return $.data(a,o)},_destroySVG:function(a){var b=$(a);if(!b.hasClass(this.markerClassName)){return}b.removeClass(this.markerClassName).empty();$.removeData(a,o)},addExtension:function(a,b){this._extensions.push([a,b])}});function SVGWrapper(a,b){this._svg=a;this._container=b;for(var i=0;i<$.svg._extensions.length;i++){var c=$.svg._extensions[i];this[c[0]]=new c[1](this)}}$.extend(SVGWrapper.prototype,{_width:function(){return this._container.clientWidth},_height:function(){return this._container.clientHeight},root:function(){return this._svg},configure:function(a,b){if(b){for(var i=this._svg.attributes.length-1;i>=0;i--){var c=this._svg.attributes.item(i);if(!(c.nodeName=='onload'||c.nodeName=='version'||c.nodeName.substring(0,5)=='xmlns')){this._svg.attributes.removeNamedItem(c.nodeName)}}}for(var d in a){this._svg.setAttribute(d,a[d])}return this},getElementById:function(a){return this._svg.ownerDocument.getElementById(a)},change:function(a,b){if(a){for(var c in b){if(b[c]==null){a.removeAttribute(c)}else{a.setAttribute(c,b[c])}}}return this},_args:function(b,c,d){c.splice(0,0,'parent');c.splice(c.length,0,'settings');var e={};var f=0;if(b[0]!=null&&(typeof b[0]!='object'||!b[0].nodeName)){e['parent']=null;f=1}for(var i=0;i<b.length;i++){e[c[i+f]]=b[i]}if(d){$.each(d,function(i,a){if(typeof e[a]=='object'){e.settings=e[a];e[a]=null}})}return e},title:function(a,b,c){var d=this._args(arguments,['text']);var e=this._makeNode(d.parent,'title',d.settings||{});e.appendChild(this._svg.ownerDocument.createTextNode(d.text));return e},describe:function(a,b,c){var d=this._args(arguments,['text']);var e=this._makeNode(d.parent,'desc',d.settings||{});e.appendChild(this._svg.ownerDocument.createTextNode(d.text));return e},defs:function(a,b,c){var d=this._args(arguments,['id'],['id']);return this._makeNode(d.parent,'defs',$.extend((d.id?{id:d.id}:{}),d.settings||{}))},symbol:function(a,b,c,d,e,f,g){var h=this._args(arguments,['id','x1','y1','x2','y2']);return this._makeNode(h.parent,'symbol',$.extend({id:h.id,viewBox:h.x1+' '+h.y1+' '+h.x2+' '+h.y2},h.settings||{}))},marker:function(a,b,c,d,e,f,g,h){var i=this._args(arguments,['id','refX','refY','mWidth','mHeight','orient'],['orient']);return this._makeNode(i.parent,'marker',$.extend({id:i.id,refX:i.refX,refY:i.refY,markerWidth:i.mWidth,markerHeight:i.mHeight,orient:i.orient||'auto'},i.settings||{}))},style:function(a,b,c){var d=this._args(arguments,['styles']);var e=this._makeNode(d.parent,'style',$.extend({type:'text/css'},d.settings||{}));e.appendChild(this._svg.ownerDocument.createTextNode(d.styles));if($.browser.opera){$('head').append('<style type="text/css">'+d.styles+'</style>')}return e},script:function(a,b,c,d){var e=this._args(arguments,['script','type'],['type']);var f=this._makeNode(e.parent,'script',$.extend({type:e.type||'text/javascript'},e.settings||{}));f.appendChild(this._svg.ownerDocument.createTextNode(this._escapeXML(e.script)));if(!$.browser.mozilla){$.globalEval(e.script)}return f},linearGradient:function(a,b,c,d,e,f,g,h){var i=this._args(arguments,['id','stops','x1','y1','x2','y2'],['x1']);var j=$.extend({id:i.id},(i.x1!=null?{x1:i.x1,y1:i.y1,x2:i.x2,y2:i.y2}:{}));return this._gradient(i.parent,'linearGradient',$.extend(j,i.settings||{}),i.stops)},radialGradient:function(a,b,c,d,e,r,f,g,h){var i=this._args(arguments,['id','stops','cx','cy','r','fx','fy'],['cx']);var j=$.extend({id:i.id},(i.cx!=null?{cx:i.cx,cy:i.cy,r:i.r,fx:i.fx,fy:i.fy}:{}));return this._gradient(i.parent,'radialGradient',$.extend(j,i.settings||{}),i.stops)},_gradient:function(a,b,c,d){var e=this._makeNode(a,b,c);for(var i=0;i<d.length;i++){var f=d[i];this._makeNode(e,'stop',$.extend({offset:f[0],'stop-color':f[1]},(f[2]!=null?{'stop-opacity':f[2]}:{})))}return e},pattern:function(a,b,x,y,c,d,e,f,g,h,i){var j=this._args(arguments,['id','x','y','width','height','vx','vy','vwidth','vheight'],['vx']);var k=$.extend({id:j.id,x:j.x,y:j.y,width:j.width,height:j.height},(j.vx!=null?{viewBox:j.vx+' '+j.vy+' '+j.vwidth+' '+j.vheight}:{}));return this._makeNode(j.parent,'pattern',$.extend(k,j.settings||{}))},mask:function(a,b,x,y,c,d,e){var f=this._args(arguments,['id','x','y','width','height']);return this._makeNode(f.parent,'mask',$.extend({id:f.id,x:f.x,y:f.y,width:f.width,height:f.height},f.settings||{}))},createPath:function(){return new SVGPath()},createText:function(){return new SVGText()},svg:function(a,x,y,b,c,d,e,f,g,h){var i=this._args(arguments,['x','y','width','height','vx','vy','vwidth','vheight'],['vx']);var j=$.extend({x:i.x,y:i.y,width:i.width,height:i.height},(i.vx!=null?{viewBox:i.vx+' '+i.vy+' '+i.vwidth+' '+i.vheight}:{}));return this._makeNode(i.parent,'svg',$.extend(j,i.settings||{}))},group:function(a,b,c){var d=this._args(arguments,['id'],['id']);return this._makeNode(d.parent,'g',$.extend({id:d.id},d.settings||{}))},use:function(a,x,y,b,c,d,e){var f=this._args(arguments,['x','y','width','height','ref']);if(typeof f.x=='string'){f.ref=f.x;f.settings=f.y;f.x=f.y=f.width=f.height=null}var g=this._makeNode(f.parent,'use',$.extend({x:f.x,y:f.y,width:f.width,height:f.height},f.settings||{}));g.setAttributeNS($.svg.xlinkNS,'href',f.ref);return g},link:function(a,b,c){var d=this._args(arguments,['ref']);var e=this._makeNode(d.parent,'a',d.settings);e.setAttributeNS($.svg.xlinkNS,'href',d.ref);return e},image:function(a,x,y,b,c,d,e){var f=this._args(arguments,['x','y','width','height','ref']);var g=this._makeNode(f.parent,'image',$.extend({x:f.x,y:f.y,width:f.width,height:f.height},f.settings||{}));g.setAttributeNS($.svg.xlinkNS,'href',f.ref);return g},path:function(a,b,c){var d=this._args(arguments,['path']);return this._makeNode(d.parent,'path',$.extend({d:(d.path.path?d.path.path():d.path)},d.settings||{}))},rect:function(a,x,y,b,c,d,e,f){var g=this._args(arguments,['x','y','width','height','rx','ry'],['rx']);return this._makeNode(g.parent,'rect',$.extend({x:g.x,y:g.y,width:g.width,height:g.height},(g.rx?{rx:g.rx,ry:g.ry}:{}),g.settings||{}))},circle:function(a,b,c,r,d){var e=this._args(arguments,['cx','cy','r']);return this._makeNode(e.parent,'circle',$.extend({cx:e.cx,cy:e.cy,r:e.r},e.settings||{}))},ellipse:function(a,b,c,d,e,f){var g=this._args(arguments,['cx','cy','rx','ry']);return this._makeNode(g.parent,'ellipse',$.extend({cx:g.cx,cy:g.cy,rx:g.rx,ry:g.ry},g.settings||{}))},line:function(a,b,c,d,e,f){var g=this._args(arguments,['x1','y1','x2','y2']);return this._makeNode(g.parent,'line',$.extend({x1:g.x1,y1:g.y1,x2:g.x2,y2:g.y2},g.settings||{}))},polyline:function(a,b,c){var d=this._args(arguments,['points']);return this._poly(d.parent,'polyline',d.points,d.settings)},polygon:function(a,b,c){var d=this._args(arguments,['points']);return this._poly(d.parent,'polygon',d.points,d.settings)},_poly:function(a,b,c,d){var e='';for(var i=0;i<c.length;i++){e+=c[i].join()+' '}return this._makeNode(a,b,$.extend({points:$.trim(e)},d||{}))},text:function(a,x,y,b,c){var d=this._args(arguments,['x','y','value']);if(typeof d.x=='string'&&arguments.length<4){d.value=d.x;d.settings=d.y;d.x=d.y=null}return this._text(d.parent,'text',d.value,$.extend({x:(d.x&&isArray(d.x)?d.x.join(' '):d.x),y:(d.y&&isArray(d.y)?d.y.join(' '):d.y)},d.settings||{}))},textpath:function(a,b,c,d){var e=this._args(arguments,['path','value']);var f=this._text(e.parent,'textPath',e.value,e.settings||{});f.setAttributeNS($.svg.xlinkNS,'href',e.path);return f},_text:function(a,b,c,d){var e=this._makeNode(a,b,d);if(typeof c=='string'){e.appendChild(e.ownerDocument.createTextNode(c))}else{for(var i=0;i<c._parts.length;i++){var f=c._parts[i];if(f[0]=='tspan'){var g=this._makeNode(e,f[0],f[2]);g.appendChild(e.ownerDocument.createTextNode(f[1]));e.appendChild(g)}else if(f[0]=='tref'){var g=this._makeNode(e,f[0],f[2]);g.setAttributeNS($.svg.xlinkNS,'href',f[1]);e.appendChild(g)}else if(f[0]=='textpath'){var h=$.extend({},f[2]);h.href=null;var g=this._makeNode(e,f[0],h);g.setAttributeNS($.svg.xlinkNS,'href',f[2].href);g.appendChild(e.ownerDocument.createTextNode(f[1]));e.appendChild(g)}else{e.appendChild(e.ownerDocument.createTextNode(f[1]))}}}return e},other:function(a,b,c){var d=this._args(arguments,['name']);return this._makeNode(d.parent,d.name,d.settings||{})},_makeNode:function(a,b,c){a=a||this._svg;var d=this._svg.ownerDocument.createElementNS($.svg.svgNS,b);for(var b in c){var e=c[b];if(e!=null&&e!=null&&(typeof e!='string'||e!='')){d.setAttribute(b,e)}}a.appendChild(d);return d},add:function(b,c){var d=this._args(arguments,['node']);var f=this;d.parent=d.parent||this._svg;try{if($.svg._renesis){throw'Force traversal';}d.parent.appendChild(d.node.cloneNode(true))}catch(e){d.node=(d.node.jquery?d.node:$(d.node));d.node.each(function(){var a=f._cloneAsSVG(this);if(a){d.parent.appendChild(a)}})}return this},_cloneAsSVG:function(a){var b=null;if(a.nodeType==1){b=this._svg.ownerDocument.createElementNS($.svg.svgNS,this._checkName(a.nodeName));for(var i=0;i<a.attributes.length;i++){var c=a.attributes.item(i);if(c.nodeName!='xmlns'&&c.nodeValue){if(c.prefix=='xlink'){b.setAttributeNS($.svg.xlinkNS,c.localName,c.nodeValue)}else{b.setAttribute(this._checkName(c.nodeName),c.nodeValue)}}}for(var i=0;i<a.childNodes.length;i++){var d=this._cloneAsSVG(a.childNodes[i]);if(d){b.appendChild(d)}}}else if(a.nodeType==3){if($.trim(a.nodeValue)){b=this._svg.ownerDocument.createTextNode(a.nodeValue)}}else if(a.nodeType==4){if($.trim(a.nodeValue)){try{b=this._svg.ownerDocument.createCDATASection(a.nodeValue)}catch(e){b=this._svg.ownerDocument.createTextNode(a.nodeValue.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;'))}}}return b},_checkName:function(a){a=(a.substring(0,1)>='A'&&a.substring(0,1)<='Z'?a.toLowerCase():a);return(a.substring(0,4)=='svg:'?a.substring(4):a)},load:function(h,j){if(typeof j=='boolean'){j={addTo:j}}else{j=j||{}}if(!j.addTo){this.clear(false)}var k=[this._svg.getAttribute('width'),this._svg.getAttribute('height')];var l=this;var m=$.ajax({url:h,dataType:($.browser.msie?'text':'xml'),success:function(a){if($.browser.msie){var b=new ActiveXObject('Microsoft.XMLDOM');b.validateOnParse=false;b.resolveExternals=false;b.loadXML(a);if(b.parseError.errorCode!=0){var c=$.svg.local.errorLoadingText+': '+b.parseError.reason;if(j.onLoad){j.onLoad.apply(l._container,[l,c])}else{l.text(null,10,20,c)}return}a=b}var d={};for(var i=0;i<a.documentElement.attributes.length;i++){var f=a.documentElement.attributes.item(i);if(!(f.nodeName=='version'||f.nodeName.substring(0,5)=='xmlns')){d[f.nodeName]=f.nodeValue}}l.configure(d,true);var g=a.documentElement.childNodes;for(var i=0;i<g.length;i++){try{if($.svg._renesis){throw'Force traversal';}l._svg.appendChild(g[i].cloneNode(true))}catch(e){l.add(null,g[i])}}if(!j.changeSize){l.configure({width:k[0],height:k[1]})}if(j.onLoad){j.onLoad.apply(l._container,[l])}},error:function(a,b,c){b=$.svg.local.errorLoadingText+': '+b+(c?' '+c.message:'');if(j.onLoad){j.onLoad.apply(l._container,[l,b])}else{l.text(null,10,20,b)}}});return this},remove:function(a){a.parentNode.removeChild(a);return this},clear:function(a){if(a){this.configure({},true)}while(this._svg.firstChild){this._svg.removeChild(this._svg.firstChild)}return this},toSVG:function(a){a=a||this._svg;return(typeof XMLSerializer=='undefined'?this._toSVG(a):new XMLSerializer().serializeToString(a))},_toSVG:function(a){var b='';if(!a){return b}if(a.nodeType==3){b=a.nodeValue}else if(a.nodeType==4){b='<![CDATA['+a.nodeValue+']]>'}else{b='<'+a.nodeName;if(a.attributes){for(var i=0;i<a.attributes.length;i++){var c=a.attributes.item(i);if(!($.trim(c.nodeValue)==''||c.nodeValue.match(/^\[object/)||c.nodeValue.match(/^function/))){b+=' '+(c.namespaceURI==$.svg.xlinkNS?'xlink:':'')+c.nodeName+'="'+c.nodeValue+'"'}}}if(a.firstChild){b+='>';var d=a.firstChild;while(d){b+=this._toSVG(d);d=d.nextSibling}b+='</'+a.nodeName+'>'}else{b+='/>'}}return b},_escapeXML:function(a){a=a.replace(/&/g,'&amp;');a=a.replace(/</g,'&lt;');a=a.replace(/>/g,'&gt;');return a}});function SVGPath(){this._path=''}$.extend(SVGPath.prototype,{reset:function(){this._path='';return this},moveTo:function(x,y,a){a=(isArray(x)?y:a);return this._coords((a?'m':'M'),x,y)},lineTo:function(x,y,a){a=(isArray(x)?y:a);return this._coords((a?'l':'L'),x,y)},horizTo:function(x,a){this._path+=(a?'h':'H')+(isArray(x)?x.join(' '):x);return this},vertTo:function(y,a){this._path+=(a?'v':'V')+(isArray(y)?y.join(' '):y);return this},curveCTo:function(a,b,c,d,x,y,e){e=(isArray(a)?b:e);return this._coords((e?'c':'C'),a,b,c,d,x,y)},smoothCTo:function(a,b,x,y,c){c=(isArray(a)?b:c);return this._coords((c?'s':'S'),a,b,x,y)},curveQTo:function(a,b,x,y,c){c=(isArray(a)?b:c);return this._coords((c?'q':'Q'),a,b,x,y)},smoothQTo:function(x,y,a){a=(isArray(x)?y:a);return this._coords((a?'t':'T'),x,y)},_coords:function(a,b,c,d,e,f,g){if(isArray(b)){for(var i=0;i<b.length;i++){var h=b[i];this._path+=(i==0?a:' ')+h[0]+','+h[1]+(h.length<4?'':' '+h[2]+','+h[3]+(h.length<6?'':' '+h[4]+','+h[5]))}}else{this._path+=a+b+','+c+(d==null?'':' '+d+','+e+(f==null?'':' '+f+','+g))}return this},arcTo:function(a,b,c,d,e,x,y,f){f=(isArray(a)?b:f);this._path+=(f?'a':'A');if(isArray(a)){for(var i=0;i<a.length;i++){var g=a[i];this._path+=(i==0?'':' ')+g[0]+','+g[1]+' '+g[2]+' '+(g[3]?'1':'0')+','+(g[4]?'1':'0')+' '+g[5]+','+g[6]}}else{this._path+=a+','+b+' '+c+' '+(d?'1':'0')+','+(e?'1':'0')+' '+x+','+y}return this},close:function(){this._path+='z';return this},path:function(){return this._path}});function SVGText(){this._parts=[]}$.extend(SVGText.prototype,{reset:function(){this._parts=[];return this},string:function(a){this._parts[this._parts.length]=['text',a];return this},span:function(a,b){this._parts[this._parts.length]=['tspan',a,b];return this},ref:function(a,b){this._parts[this._parts.length]=['tref',a,b];return this},path:function(a,b,c){this._parts[this._parts.length]=['textpath',b,$.extend({href:a},c||{})];return this}});$.fn.svg=function(a){var b=Array.prototype.slice.call(arguments,1);if(typeof a=='string'&&a=='get'){return $.svg['_'+a+'SVG'].apply($.svg,[this[0]].concat(b))}return this.each(function(){if(typeof a=='string'){$.svg['_'+a+'SVG'].apply($.svg,[this].concat(b))}else{$.svg._attachSVG(this,a||{})}})};var p=$.fn.addClass;$.fn.addClass=function(c){c=c||'';var d=function(a,b){return b+($.inArray(a,b.split(/\s+/))==-1?(b?' ':'')+a:'')};return this.each(function(){if(this.nodeType==1&&this.namespaceURI==$.svg.svgNS){var b=this;$.each(c.split(/\s+/),function(i,a){if(b.className){b.className.baseVal=d(a,b.className.baseVal)}else{b.setAttribute('class',d(a,b.getAttribute('class')))}})}else{p.apply($(this),[c])}})};var q=$.fn.removeClass;$.fn.removeClass=function(d){d=d||'';var e=function(a,b){b=b.split(/\s+/);var c=$.inArray(a,b);return $.grep(b,function(n,i){return i!=c}).join(' ')};return this.each(function(){if(this.nodeType==1&&this.namespaceURI==$.svg.svgNS){var b=this;$.each(d.split(/\s+/),function(i,a){if(b.className){b.className.baseVal=e(a,b.className.baseVal)}else{b.setAttribute('class',e(a,b.getAttribute('class')))}})}else{q.apply($(this),[d])}})};$.fn.toggleClass=function(a,b){if(typeof b!=='boolean'){b=!this.hasClass(a)}this[(b?'add':'remove')+'Class'](a)};var s=$.fn.hasClass;$.fn.hasClass=function(b){b=b||'';var c=false;this.each(function(){if(this.nodeType==1&&this.namespaceURI==$.svg.svgNS){var a=(this.className?this.className.baseVal:this.getAttribute('class')).split(/\s+/);if($.inArray(b,a)>-1){c=true}}else{if(s.apply($(this),[b])){c=true}}return!c});return c};function isArray(a){return(a&&a.constructor==Array)}$.svg=new SVGManager()})(jQuery);var supportsvg=detectSVG();if((jQuery.browser.msie)){if(!window.CanvasRenderingContext2D)
{(function(){var m=Math;var mr=m.round;var ms=m.sin;var mc=m.cos;var Z=10;var Z2=Z/2;var G_vmlCanvasManager_={init:function(opt_doc){var doc=opt_doc||document;if(/MSIE/.test(navigator.userAgent)&&!window.opera){var self=this;doc.attachEvent("onreadystatechange",function(){self.init_(doc);});}},init_:function(doc){if(doc.readyState=="complete"){if(!doc.namespaces["g_vml_"]){doc.namespaces.add("g_vml_","urn:schemas-microsoft-com:vml");}
var ss=doc.createStyleSheet();ss.cssText="canvas{display:inline-block;overflow:hidden;"+"text-align:left;width:300px;height:150px}"+"g_vml_\\:*{behavior:url(#default#VML)}";var listedivs=$(".canvas").get();for(var i=0;i<listedivs.length;i++){var newNode=document.createElement("canvas");newNode.style.width=$(listedivs[i]).css('width');newNode.style.height=$(listedivs[i]).css('height');listedivs[i].appendChild(newNode);}
var els=$(".canvas").find("canvas").get();for(var i=0;i<els.length;i++){if(!els[i].getContext){this.initElement(els[i]);}}}},fixElement_:function(el){var outerHTML=el.outerHTML;var newEl=el.ownerDocument.createElement(outerHTML);if(outerHTML.slice(-2)!="/>"){var tagName="/"+el.tagName;var ns;while((ns=el.nextSibling)&&ns.tagName!=tagName){ns.removeNode();}
if(ns){ns.removeNode();}}
el.parentNode.replaceChild(newEl,el);return newEl;},initElement:function(el){el=this.fixElement_(el);el.getContext=function(){if(this.context_){return this.context_;}
return this.context_=new CanvasRenderingContext2D_(this);};el.attachEvent('onpropertychange',onPropertyChange);el.attachEvent('onresize',onResize);var attrs=el.attributes;if(attrs.width&&attrs.width.specified){el.style.width=attrs.width.nodeValue+"px";}else{el.width=el.clientWidth;}
if(attrs.height&&attrs.height.specified){el.style.height=attrs.height.nodeValue+"px";}else{el.height=el.clientHeight;}
return el;}};function onPropertyChange(e){var el=e.srcElement;switch(e.propertyName){case'width':el.style.width=el.attributes.width.nodeValue+"px";el.getContext().clearRect();break;case'height':el.style.height=el.attributes.height.nodeValue+"px";el.getContext().clearRect();break;}}
function onResize(e){var el=e.srcElement;if(el.firstChild){el.firstChild.style.width=el.clientWidth+'px';el.firstChild.style.height=el.clientHeight+'px';}}
G_vmlCanvasManager_.init();var dec2hex=[];for(var i=0;i<16;i++){for(var j=0;j<16;j++){dec2hex[i*16+j]=i.toString(16)+j.toString(16);}}
function createMatrixIdentity(){return[[1,0,0],[0,1,0],[0,0,1]];}
function matrixMultiply(m1,m2){var result=createMatrixIdentity();for(var x=0;x<3;x++){for(var y=0;y<3;y++){var sum=0;for(var z=0;z<3;z++){sum+=m1[x][z]*m2[z][y];}
result[x][y]=sum;}}
return result;}
function copyState(o1,o2){o2.fillStyle=o1.fillStyle;o2.lineCap=o1.lineCap;o2.lineJoin=o1.lineJoin;o2.lineWidth=o1.lineWidth;o2.miterLimit=o1.miterLimit;o2.shadowBlur=o1.shadowBlur;o2.shadowColor=o1.shadowColor;o2.shadowOffsetX=o1.shadowOffsetX;o2.shadowOffsetY=o1.shadowOffsetY;o2.strokeStyle=o1.strokeStyle;o2.arcScaleX_=o1.arcScaleX_;o2.arcScaleY_=o1.arcScaleY_;}
function processStyle(styleString){var str,alpha=1;styleString=String(styleString);if(styleString.substring(0,3)=="rgb"){var start=styleString.indexOf("(",3);var end=styleString.indexOf(")",start+1);var guts=styleString.substring(start+1,end).split(",");str="#";for(var i=0;i<3;i++){str+=dec2hex[Number(guts[i])];}
if((guts.length==4)&&(styleString.substr(3,1)=="a")){alpha=guts[3];}}else{str=styleString;}
return[str,alpha];}
function processLineCap(lineCap){switch(lineCap){case"butt":return"flat";case"round":return"round";case"square":default:return"square";}}
function CanvasRenderingContext2D_(surfaceElement){this.m_=createMatrixIdentity();this.mStack_=[];this.aStack_=[];this.currentPath_=[];this.strokeStyle="#000";this.fillStyle="#000";this.lineWidth=1;this.lineJoin="miter";this.lineCap="butt";this.miterLimit=Z*1;this.globalAlpha=1;this.canvas=surfaceElement;var el=surfaceElement.ownerDocument.createElement('div');el.style.width=surfaceElement.clientWidth+'px';el.style.height=surfaceElement.clientHeight+'px';el.style.overflow='hidden';el.style.position='absolute';surfaceElement.appendChild(el);this.element_=el;this.arcScaleX_=1;this.arcScaleY_=1;};var contextPrototype=CanvasRenderingContext2D_.prototype;contextPrototype.clearRect=function(){this.element_.innerHTML="";this.currentPath_=[];};contextPrototype.beginPath=function(){this.currentPath_=[];};contextPrototype.moveTo=function(aX,aY){this.currentPath_.push({type:"moveTo",x:aX,y:aY});this.currentX_=aX;this.currentY_=aY;};contextPrototype.lineTo=function(aX,aY){this.currentPath_.push({type:"lineTo",x:aX,y:aY});this.currentX_=aX;this.currentY_=aY;};contextPrototype.bezierCurveTo=function(aCP1x,aCP1y,aCP2x,aCP2y,aX,aY){this.currentPath_.push({type:"bezierCurveTo",cp1x:aCP1x,cp1y:aCP1y,cp2x:aCP2x,cp2y:aCP2y,x:aX,y:aY});this.currentX_=aX;this.currentY_=aY;};contextPrototype.quadraticCurveTo=function(aCPx,aCPy,aX,aY){var cp1x=this.currentX_+2.0/3.0*(aCPx-this.currentX_);var cp1y=this.currentY_+2.0/3.0*(aCPy-this.currentY_);var cp2x=cp1x+(aX-this.currentX_)/3.0;var cp2y=cp1y+(aY-this.currentY_)/3.0;this.bezierCurveTo(cp1x,cp1y,cp2x,cp2y,aX,aY);};contextPrototype.arc=function(aX,aY,aRadius,aStartAngle,aEndAngle,aClockwise){aRadius*=Z;var arcType=aClockwise?"at":"wa";var xStart=aX+(mc(aStartAngle)*aRadius)-Z2;var yStart=aY+(ms(aStartAngle)*aRadius)-Z2;var xEnd=aX+(mc(aEndAngle)*aRadius)-Z2;var yEnd=aY+(ms(aEndAngle)*aRadius)-Z2;if(xStart==xEnd&&!aClockwise){xStart+=0.125;}
this.currentPath_.push({type:arcType,x:aX,y:aY,radius:aRadius,xStart:xStart,yStart:yStart,xEnd:xEnd,yEnd:yEnd});};contextPrototype.rect=function(aX,aY,aWidth,aHeight){this.moveTo(aX,aY);this.lineTo(aX+aWidth,aY);this.lineTo(aX+aWidth,aY+aHeight);this.lineTo(aX,aY+aHeight);this.closePath();};contextPrototype.strokeRect=function(aX,aY,aWidth,aHeight){this.beginPath();this.moveTo(aX,aY);this.lineTo(aX+aWidth,aY);this.lineTo(aX+aWidth,aY+aHeight);this.lineTo(aX,aY+aHeight);this.closePath();this.stroke();};contextPrototype.fillRect=function(aX,aY,aWidth,aHeight){this.beginPath();this.moveTo(aX,aY);this.lineTo(aX+aWidth,aY);this.lineTo(aX+aWidth,aY+aHeight);this.lineTo(aX,aY+aHeight);this.closePath();this.fill();};contextPrototype.createLinearGradient=function(aX0,aY0,aX1,aY1){var gradient=new CanvasGradient_("gradient");return gradient;};contextPrototype.createRadialGradient=function(aX0,aY0,aR0,aX1,aY1,aR1){var gradient=new CanvasGradient_("gradientradial");gradient.radius1_=aR0;gradient.radius2_=aR1;gradient.focus_.x=aX0;gradient.focus_.y=aY0;return gradient;};contextPrototype.drawImage=function(image,var_args){var dx,dy,dw,dh,sx,sy,sw,sh;var oldRuntimeWidth=image.runtimeStyle.width;var oldRuntimeHeight=image.runtimeStyle.height;image.runtimeStyle.width='auto';image.runtimeStyle.height='auto';var w=image.width;var h=image.height;image.runtimeStyle.width=oldRuntimeWidth;image.runtimeStyle.height=oldRuntimeHeight;if(arguments.length==3){dx=arguments[1];dy=arguments[2];sx=sy=0;sw=dw=w;sh=dh=h;}else if(arguments.length==5){dx=arguments[1];dy=arguments[2];dw=arguments[3];dh=arguments[4];sx=sy=0;sw=w;sh=h;}else if(arguments.length==9){sx=arguments[1];sy=arguments[2];sw=arguments[3];sh=arguments[4];dx=arguments[5];dy=arguments[6];dw=arguments[7];dh=arguments[8];}else{throw"Invalid number of arguments";}
var d=this.getCoords_(dx,dy);var w2=sw/2;var h2=sh/2;var vmlStr=[];var W=10;var H=10;vmlStr.push(' <g_vml_:group',' coordsize="',Z*W,',',Z*H,'"',' coordorigin="0,0"',' style="width:',W,';height:',H,';position:absolute;');if(this.m_[0][0]!=1||this.m_[0][1]){var filter=[];filter.push("M11='",this.m_[0][0],"',","M12='",this.m_[1][0],"',","M21='",this.m_[0][1],"',","M22='",this.m_[1][1],"',","Dx='",mr(d.x/Z),"',","Dy='",mr(d.y/Z),"'");var max=d;var c2=this.getCoords_(dx+dw,dy);var c3=this.getCoords_(dx,dy+dh);var c4=this.getCoords_(dx+dw,dy+dh);max.x=Math.max(max.x,c2.x,c3.x,c4.x);max.y=Math.max(max.y,c2.y,c3.y,c4.y);vmlStr.push("padding:0 ",mr(max.x/Z),"px ",mr(max.y/Z),"px 0;filter:progid:DXImageTransform.Microsoft.Matrix(",filter.join(""),", sizingmethod='clip');")}else{vmlStr.push("top:",mr(d.y/Z),"px;left:",mr(d.x/Z),"px;")}
vmlStr.push(' ">','<g_vml_:image src="',image.src,'"',' style="width:',Z*dw,';',' height:',Z*dh,';"',' cropleft="',sx/w,'"',' croptop="',sy/h,'"',' cropright="',(w-sx-sw)/w,'"',' cropbottom="',(h-sy-sh)/h,'"',' />','</g_vml_:group>');this.element_.insertAdjacentHTML("BeforeEnd",vmlStr.join(""));};contextPrototype.stroke=function(aFill){var lineStr=[];var lineOpen=false;var a=processStyle(aFill?this.fillStyle:this.strokeStyle);var color=a[0];var opacity=a[1]*this.globalAlpha;var W=10;var H=10;lineStr.push('<g_vml_:shape',' fillcolor="',color,'"',' filled="',Boolean(aFill),'"',' style="position:absolute;width:',W,';height:',H,';"',' coordorigin="0 0" coordsize="',Z*W,' ',Z*H,'"',' stroked="',!aFill,'"',' strokeweight="',this.lineWidth,'"',' strokecolor="',color,'"',' path="');var newSeq=false;var min={x:null,y:null};var max={x:null,y:null};for(var i=0;i<this.currentPath_.length;i++){var p=this.currentPath_[i];if(p.type=="moveTo"){lineStr.push(" m ");var c=this.getCoords_(p.x,p.y);lineStr.push(mr(c.x),",",mr(c.y));}else if(p.type=="lineTo"){lineStr.push(" l ");var c=this.getCoords_(p.x,p.y);lineStr.push(mr(c.x),",",mr(c.y));}else if(p.type=="close"){lineStr.push(" x ");}else if(p.type=="bezierCurveTo"){lineStr.push(" c ");var c=this.getCoords_(p.x,p.y);var c1=this.getCoords_(p.cp1x,p.cp1y);var c2=this.getCoords_(p.cp2x,p.cp2y);lineStr.push(mr(c1.x),",",mr(c1.y),",",mr(c2.x),",",mr(c2.y),",",mr(c.x),",",mr(c.y));}else if(p.type=="at"||p.type=="wa"){lineStr.push(" ",p.type," ");var c=this.getCoords_(p.x,p.y);var cStart=this.getCoords_(p.xStart,p.yStart);var cEnd=this.getCoords_(p.xEnd,p.yEnd);lineStr.push(mr(c.x-this.arcScaleX_*p.radius),",",mr(c.y-this.arcScaleY_*p.radius)," ",mr(c.x+this.arcScaleX_*p.radius),",",mr(c.y+this.arcScaleY_*p.radius)," ",mr(cStart.x),",",mr(cStart.y)," ",mr(cEnd.x),",",mr(cEnd.y));}
if(c){if(min.x==null||c.x<min.x){min.x=c.x;}
if(max.x==null||c.x>max.x){max.x=c.x;}
if(min.y==null||c.y<min.y){min.y=c.y;}
if(max.y==null||c.y>max.y){max.y=c.y;}}}
lineStr.push(' ">');if(typeof this.fillStyle=="object"){var focus={x:"50%",y:"50%"};var width=(max.x-min.x);var height=(max.y-min.y);var dimension=(width>height)?width:height;focus.x=mr((this.fillStyle.focus_.x/width)*100+50)+"%";focus.y=mr((this.fillStyle.focus_.y/height)*100+50)+"%";var colors=[];if(this.fillStyle.type_=="gradientradial"){var inside=(this.fillStyle.radius1_/dimension*100);var expansion=(this.fillStyle.radius2_/dimension*100)-inside;}else{var inside=0;var expansion=100;}
var insidecolor={offset:null,color:null};var outsidecolor={offset:null,color:null};this.fillStyle.colors_.sort(function(cs1,cs2){return cs1.offset-cs2.offset;});for(var i=0;i<this.fillStyle.colors_.length;i++){var fs=this.fillStyle.colors_[i];colors.push((fs.offset*expansion)+inside,"% ",fs.color,",");if(fs.offset>insidecolor.offset||insidecolor.offset==null){insidecolor.offset=fs.offset;insidecolor.color=fs.color;}
if(fs.offset<outsidecolor.offset||outsidecolor.offset==null){outsidecolor.offset=fs.offset;outsidecolor.color=fs.color;}}
colors.pop();lineStr.push('<g_vml_:fill',' color="',outsidecolor.color,'"',' color2="',insidecolor.color,'"',' type="',this.fillStyle.type_,'"',' focusposition="',focus.x,', ',focus.y,'"',' colors="',colors.join(""),'"',' opacity="',opacity,'" />');}else if(aFill){lineStr.push('<g_vml_:fill color="',color,'" opacity="',opacity,'" />');}else{lineStr.push('<g_vml_:stroke',' opacity="',opacity,'"',' joinstyle="',this.lineJoin,'"',' miterlimit="',this.miterLimit,'"',' endcap="',processLineCap(this.lineCap),'"',' weight="',this.lineWidth,'px"',' color="',color,'" />');}
lineStr.push("</g_vml_:shape>");this.element_.insertAdjacentHTML("beforeEnd",lineStr.join(""));this.currentPath_=[];};contextPrototype.fill=function(){this.stroke(true);}
contextPrototype.closePath=function(){this.currentPath_.push({type:"close"});};contextPrototype.getCoords_=function(aX,aY){return{x:Z*(aX*this.m_[0][0]+aY*this.m_[1][0]+this.m_[2][0])-Z2,y:Z*(aX*this.m_[0][1]+aY*this.m_[1][1]+this.m_[2][1])-Z2}};contextPrototype.save=function(){var o={};copyState(this,o);this.aStack_.push(o);this.mStack_.push(this.m_);this.m_=matrixMultiply(createMatrixIdentity(),this.m_);};contextPrototype.restore=function(){copyState(this.aStack_.pop(),this);this.m_=this.mStack_.pop();};contextPrototype.translate=function(aX,aY){var m1=[[1,0,0],[0,1,0],[aX,aY,1]];this.m_=matrixMultiply(m1,this.m_);};contextPrototype.rotate=function(aRot){var c=mc(aRot);var s=ms(aRot);var m1=[[c,s,0],[-s,c,0],[0,0,1]];this.m_=matrixMultiply(m1,this.m_);};contextPrototype.scale=function(aX,aY){this.arcScaleX_*=aX;this.arcScaleY_*=aY;var m1=[[aX,0,0],[0,aY,0],[0,0,1]];this.m_=matrixMultiply(m1,this.m_);};contextPrototype.clip=function(){};contextPrototype.arcTo=function(){};contextPrototype.createPattern=function(){return new CanvasPattern_;};function CanvasGradient_(aType){this.type_=aType;this.radius1_=0;this.radius2_=0;this.colors_=[];this.focus_={x:0,y:0};}
CanvasGradient_.prototype.addColorStop=function(aOffset,aColor){aColor=processStyle(aColor);this.colors_.push({offset:1-aOffset,color:aColor});};function CanvasPattern_(){}
G_vmlCanvasManager=G_vmlCanvasManager_;CanvasRenderingContext2D=CanvasRenderingContext2D_;CanvasGradient=CanvasGradient_;CanvasPattern=CanvasPattern_;})();}}
(function($){$.fn._mkDiv=function(x,y,w,h,settings){$(this).append('<div style="position:absolute;'+'left:'+(x)+'px;'+'top:'+(y)+'px;'+'width:'+w+'px;'+'height:'+h+'px;'+'margin: 0 0 0 0; padding: 0 0 0 0;clip:rect(0,'+w+'px,'+h+'px,0);'+'opacity:'+settings.opacity+';'+'background-color: '+settings.color+';'+'background-image: url('+settings.backgroundImage+');'+'background-position: '+(-(x-settings.xorigin))+'px '+(-(y-settings.yorigin))+'px'+';"><\/div>');}
$.fn._mkLin=function(x1,y1,x2,y2,settings){if(x1>x2)
{var _x2=x2;var _y2=y2;x2=x1;y2=y1;x1=_x2;y1=_y2;}
var dx=x2-x1,dy=Math.abs(y2-y1),x=x1,y=y1,yIncr=(y1>y2)?-1:1;if(dx>=dy)
{var pr=dy<<1,pru=pr-(dx<<1),p=pr-dx,ox=x;while(dx>0)
{--dx;++x;if(p>0)
{$(this)._mkDiv(ox,y,x-ox,1,settings);y+=yIncr;p+=pru;ox=x;}
else p+=pr;}
$(this)._mkDiv(ox,y,x2-ox+1,1,settings);}
else
{var pr=dx<<1,pru=pr-(dy<<1),p=pr-dy,oy=y;if(y2<=y1)
{while(dy>0)
{--dy;if(p>0)
{$(this)._mkDiv(x++,y,1,oy-y+1,settings);y+=yIncr;p+=pru;oy=y;}
else
{y+=yIncr;p+=pr;}}
$(this)._mkDiv(x2,y2,1,oy-y2+1,settings);}
else
{while(dy>0)
{--dy;y+=yIncr;if(p>0)
{$(this)._mkDiv(x++,oy,1,y-oy,settings);p+=pru;oy=y;}
else p+=pr;}
$(this)._mkDiv(x2,oy,1,y2-oy+1,settings);}}
return $(this);}
$.fn._mkLin2D=function(x1,y1,x2,y2,settings){if(x1>x2)
{var _x2=x2;var _y2=y2;x2=x1;y2=y1;x1=_x2;y1=_y2;}
var dx=x2-x1,dy=Math.abs(y2-y1),x=x1,y=y1,yIncr=(y1>y2)?-1:1;var s=settings.stroke;if(dx>=dy)
{if(dx>0&&s-3>0)
{var _s=(s*dx*Math.sqrt(1+dy*dy/(dx*dx))-dx-(s>>1)*dy)/dx;_s=(!(s-4)?Math.ceil(_s):Math.round(_s))+1;}
else var _s=s;var ad=Math.ceil(s/2);var pr=dy<<1,pru=pr-(dx<<1),p=pr-dx,ox=x;while(dx>0)
{--dx;++x;if(p>0)
{$(this)._mkDiv(ox,y,x-ox+ad,_s,settings);y+=yIncr;p+=pru;ox=x;}
else p+=pr;}
$(this)._mkDiv(ox,y,x2-ox+ad+1,_s,settings);}
else
{if(s-3>0)
{var _s=(s*dy*Math.sqrt(1+dx*dx/(dy*dy))-(s>>1)*dx-dy)/dy;_s=(!(s-4)?Math.ceil(_s):Math.round(_s))+1;}
else var _s=s;var ad=Math.round(s/2);var pr=dx<<1,pru=pr-(dy<<1),p=pr-dy,oy=y;if(y2<=y1)
{++ad;while(dy>0)
{--dy;if(p>0)
{$(this)._mkDiv(x++,y,_s,oy-y+ad,settings);y+=yIncr;p+=pru;oy=y;}
else
{y+=yIncr;p+=pr;}}
$(this)._mkDiv(x2,y2,_s,oy-y2+ad,settings);}
else
{while(dy>0)
{--dy;y+=yIncr;if(p>0)
{$(this)._mkDiv(x++,oy,_s,y-oy+ad,settings);p+=pru;oy=y;}
else p+=pr;}
$(this)._mkDiv(x2,oy,_s,y2-oy+ad+1,settings);}}
return $(this);}
$.fn._mkLinDott=function(x1,y1,x2,y2,settings){if(x1>x2)
{var _x2=x2;var _y2=y2;x2=x1;y2=y1;x1=_x2;y1=_y2;}
var dx=x2-x1,dy=Math.abs(y2-y1),x=x1,y=y1,yIncr=(y1>y2)?-1:1,drw=true;if(dx>=dy)
{var pr=dy<<1,pru=pr-(dx<<1),p=pr-dx;while(dx>0)
{--dx;if(drw)$(this)._mkDiv(x,y,1,1,settings);drw=!drw;if(p>0)
{y+=yIncr;p+=pru;}
else p+=pr;++x;}}
else
{var pr=dx<<1,pru=pr-(dy<<1),p=pr-dy;while(dy>0)
{--dy;if(drw)$(this)._mkDiv(x,y,1,1,settings);drw=!drw;y+=yIncr;if(p>0)
{++x;p+=pru;}
else p+=pr;}}
if(drw)$(this)._mkDiv(x,y,1,1,settings);return $(this);}
$.fn._mkOv=function(left,top,width,height,settings){var a=(++width)>>1,b=(++height)>>1,wod=width&1,hod=height&1,cx=left+a,cy=top+b,x=0,y=b,ox=0,oy=b,aa2=(a*a)<<1,aa4=aa2<<1,bb2=(b*b)<<1,bb4=bb2<<1,st=(aa2>>1)*(1-(b<<1))+bb2,tt=(bb2>>1)-aa2*((b<<1)-1),w,h;while(y>0)
{if(st<0)
{st+=bb2*((x<<1)+3);tt+=bb4*(++x);}
else if(tt<0)
{st+=bb2*((x<<1)+3)-aa4*(y-1);tt+=bb4*(++x)-aa2*(((y--)<<1)-3);w=x-ox;h=oy-y;if((w&2)&&(h&2))
{$(this)._mkOvQds(cx,cy,x-2,y+2,1,1,wod,hod,settings);$(this)._mkOvQds(cx,cy,x-1,y+1,1,1,wod,hod,settings);}
else $(this)._mkOvQds(cx,cy,x-1,oy,w,h,wod,hod,settings);ox=x;oy=y;}
else
{tt-=aa2*((y<<1)-3);st-=aa4*(--y);}}
w=a-ox+1;h=(oy<<1)+hod;y=cy-oy;$(this)._mkDiv(cx-a,y,w,h,settings);$(this)._mkDiv(cx+ox+wod-1,y,w,h,settings);return $(this);}
$.fn._mkOv2D=function(left,top,width,height,settings){var s=settings.stroke;width+=s+1;height+=s+1;var a=width>>1,b=height>>1,wod=width&1,hod=height&1,cx=left+a,cy=top+b,x=0,y=b,aa2=(a*a)<<1,aa4=aa2<<1,bb2=(b*b)<<1,bb4=bb2<<1,st=(aa2>>1)*(1-(b<<1))+bb2,tt=(bb2>>1)-aa2*((b<<1)-1);if(s-4<0&&(!(s-2)||width-51>0&&height-51>0))
{var ox=0,oy=b,w,h,pxw;while(y>0)
{if(st<0)
{st+=bb2*((x<<1)+3);tt+=bb4*(++x);}
else if(tt<0)
{st+=bb2*((x<<1)+3)-aa4*(y-1);tt+=bb4*(++x)-aa2*(((y--)<<1)-3);w=x-ox;h=oy-y;if(w-1)
{pxw=w+1+(s&1);h=s;}
else if(h-1)
{pxw=s;h+=1+(s&1);}
else pxw=h=s;$(this)._mkOvQds(cx,cy,x-1,oy,pxw,h,wod,hod,settings);ox=x;oy=y;}
else
{tt-=aa2*((y<<1)-3);st-=aa4*(--y);}}
$(this)._mkDiv(cx-a,cy-oy,s,(oy<<1)+hod,settings);$(this)._mkDiv(cx+a+wod-s,cy-oy,s,(oy<<1)+hod,settings);}
else
{var _a=(width-(s<<1))>>1,_b=(height-(s<<1))>>1,_x=0,_y=_b,_aa2=(_a*_a)<<1,_aa4=_aa2<<1,_bb2=(_b*_b)<<1,_bb4=_bb2<<1,_st=(_aa2>>1)*(1-(_b<<1))+_bb2,_tt=(_bb2>>1)-_aa2*((_b<<1)-1),pxl=new Array(),pxt=new Array(),_pxb=new Array();pxl[0]=0;pxt[0]=b;_pxb[0]=_b-1;while(y>0)
{if(st<0)
{pxl[pxl.length]=x;pxt[pxt.length]=y;st+=bb2*((x<<1)+3);tt+=bb4*(++x);}
else if(tt<0)
{pxl[pxl.length]=x;st+=bb2*((x<<1)+3)-aa4*(y-1);tt+=bb4*(++x)-aa2*(((y--)<<1)-3);pxt[pxt.length]=y;}
else
{tt-=aa2*((y<<1)-3);st-=aa4*(--y);}
if(_y>0)
{if(_st<0)
{_st+=_bb2*((_x<<1)+3);_tt+=_bb4*(++_x);_pxb[_pxb.length]=_y-1;}
else if(_tt<0)
{_st+=_bb2*((_x<<1)+3)-_aa4*(_y-1);_tt+=_bb4*(++_x)-_aa2*(((_y--)<<1)-3);_pxb[_pxb.length]=_y-1;}
else
{_tt-=_aa2*((_y<<1)-3);_st-=_aa4*(--_y);_pxb[_pxb.length-1]--;}}}
var ox=-wod,oy=b,_oy=_pxb[0],l=pxl.length,w,h;for(var i=0;i<l;i++)
{if(typeof _pxb[i]!="undefined")
{if(_pxb[i]<_oy||pxt[i]<oy)
{x=pxl[i];$(this)._mkOvQds(cx,cy,x,oy,x-ox,oy-_oy,wod,hod,settings);ox=x;oy=pxt[i];_oy=_pxb[i];}}
else
{x=pxl[i];$(this)._mkDiv(cx-x,cy-oy,1,(oy<<1)+hod,settings);$(this)._mkDiv(cx+ox+wod,cy-oy,1,(oy<<1)+hod,settings);ox=x;oy=pxt[i];}}
$(this)._mkDiv(cx-a,cy-oy,1,(oy<<1)+hod,settings);$(this)._mkDiv(cx+ox+wod,cy-oy,1,(oy<<1)+hod,settings);}
return $(this);}
$.fn._mkOvDott=function(left,top,width,height,settings){var a=(++width)>>1,b=(++height)>>1,wod=width&1,hod=height&1,hodu=hod^1,cx=left+a,cy=top+b,x=0,y=b,aa2=(a*a)<<1,aa4=aa2<<1,bb2=(b*b)<<1,bb4=bb2<<1,st=(aa2>>1)*(1-(b<<1))+bb2,tt=(bb2>>1)-aa2*((b<<1)-1),drw=true;while(y>0)
{if(st<0)
{st+=bb2*((x<<1)+3);tt+=bb4*(++x);}
else if(tt<0)
{st+=bb2*((x<<1)+3)-aa4*(y-1);tt+=bb4*(++x)-aa2*(((y--)<<1)-3);}
else
{tt-=aa2*((y<<1)-3);st-=aa4*(--y);}
if(drw&&y>=hodu)$(this)._mkOvQds(cx,cy,x,y,1,1,wod,hod,settings);drw=!drw;}
return $(this);}
$.fn._mkRect=function(x,y,w,h,settings){var s=settings.stroke;$(this)._mkDiv(x,y,w,s,settings);$(this)._mkDiv(x+w,y,s,h,settings);$(this)._mkDiv(x,y+h,w+s,s,settings);$(this)._mkDiv(x,y+s,s,h-s,settings);return $(this);}
$.fn._mkRectDott=function(x,y,w,h,settings){$(this).drawLine(x,y,x+w,y,settings);$(this).drawLine(x+w,y,x+w,y+h,settings);$(this).drawLine(x,y+h,x+w,y+h,settings);$(this).drawLine(x,y,x,y+h,settings);return $(this);}
$.fn.drawLine=function(x1,y1,x2,y2,settings){settings=jQuery.extend({stroke:1,color:'black',opacity:1,backgroundImage:'none'},settings);settings.xorigin=x1;settings.yorigin=y1;if(supportsvg.support&&!jQuery.browser.msie)
{var myrand='id'+parseInt(Math.random()*1000000);$(this).append("<div id ='"+myrand+"' style='position: absolute;top: 0; left: 0;'></div>");$("#"+myrand).css('width',$(this).css('width')).css('height',$(this).css('height')).svg(function(){var svg=svgManager.getSVGFor("#"+myrand);var g=svg.group(null,{stroke:settings.color,stroke_width:settings.stroke});svg.line(g,x1,y1,x2,y2);});}
else
{if(!$(this).find('canvas').get(0))
$(this).append("<canvas  width='"+$(this).css('width')+"' height='"+$(this).css('height')+"' style='position: absolute; top: 0; left: 0;'></canvas>");var canvas=$(this).find("canvas").get(0);try{var ctx=canvas.getContext("2d");ctx.globalAlpha=settings.opacity;if(settings.stroke=='dotted')ctx.lineWidth=.5;else if(settings.stroke=='dotted')ctx.lineWidth=.5;else ctx.lineWidth=settings.stroke;ctx.beginPath();ctx.strokeStyle=settings.color;ctx.moveTo(x1,y1);ctx.lineTo(x2,y2);ctx.closePath();ctx.stroke();}
catch(e){if(settings.stroke=='dotted')
{$(this)._mkLinDott(x1,y1,x2,y2,settings);}
else if(settings.stroke-1>0)
{$(this)._mkLin2D(x1,y1,x2,y2,settings);}
else
{$(this)._mkLin(x1,y1,x2,y2,settings);}}}
return $(this);};$.fn.drawRect=function(x1,y1,x2,y2,settings){settings=jQuery.extend({stroke:1,color:'black',opacity:1,backgroundImage:'none'},settings);settings.xorigin=x1;settings.yorigin=y1;if(supportsvg.support&&!jQuery.browser.msie)
{var myrand='id'+parseInt(Math.random()*1000000);$(this).append("<div id ='"+myrand+"' style='position: absolute;top: 0; left: 0;'></div>");$("#"+myrand).css('width',$(this).css('width')).css('height',$(this).css('height')).svg(function(){var svg=svgManager.getSVGFor("#"+myrand);var g=svg.group(null,{stroke:settings.color,stroke_width:settings.stroke});svg.rect(null,x1,y1,x2,y2,{fill:"none",stroke:settings.color,stroke_width:settings.stroke});});}
else
{if(!$(this).find('canvas').get(0))
$(this).append("<canvas  width='"+$(this).css('width')+"' height='"+$(this).css('height')+"' style='position: absolute; top: 0; left: 0;'></canvas>");var canvas=$(this).find("canvas").get(0);try{var ctx=canvas.getContext("2d");ctx.globalAlpha=settings.opacity;if(settings.stroke=='dotted')ctx.lineWidth=.5;else ctx.lineWidth=settings.stroke;ctx.strokeStyle=settings.color;ctx.strokeRect(x1,y1,x2,y2);ctx.closePath();ctx.stroke();}
catch(e){if(settings.stroke=='dotted')
{$(this)._mkRectDott(x1,y1,x2,y2,settings);}
else if(settings.stroke-1>0)
{$(this)._mkRect(x1,y1,x2,y2,settings);}
else
{$(this)._mkRect(x1,y1,x2,y2,settings);}}}
return $(this);};$.fn.drawPolyline=function(x,y,settings){settings=jQuery.extend({stroke:1,color:'black',opacity:1,backgroundImage:'none'},settings);settings.xorigin=x[0];settings.yorigin=y[0];for(var i=x.length-1;i;)
{--i;$(this).drawLine(x[i],y[i],x[i+1],y[i+1],settings);}
return $(this);};$.fn.fillRect=function(x,y,w,h,settings){settings=jQuery.extend({stroke:1,color:'black',opacity:1,backgroundImage:'none'},settings);settings.xorigin=x;settings.yorigin=y;if(supportsvg.support&&!jQuery.browser.msie)
{var myrand='id'+parseInt(Math.random()*1000000);$(this).append("<div id ='"+myrand+"' style='position: absolute;top: 0; left: 0;'></div>");$("#"+myrand).css('width',$(this).css('width')).css('height',$(this).css('height')).svg(function(){var svg=svgManager.getSVGFor("#"+myrand);var g=svg.group(null,{stroke:settings.color,stroke_width:settings.stroke});svg.rect(null,x,y,w,h,{fill:settings.color});});}
else
{if(!$(this).find('canvas').get(0))
$(this).append("<canvas  width='"+$(this).css('width')+"' height='"+$(this).css('height')+"' style='position: absolute; top: 0; left: 0;'></canvas>");var canvas=$(this).find("canvas").get(0);try{var ctx=canvas.getContext("2d");ctx.globalAlpha=settings.opacity;if(settings.stroke=='dotted')ctx.lineWidth=.5;else ctx.lineWidth=settings.stroke;if(settings.backgroundImage!='none')
{var img=new Image();img.src=settings.backgroundImage;if(jQuery.browser.msie)
erreur;else img.onload=function(){var ptrn=ctx.createPattern(img,'repeat');ctx.fillStyle=ptrn;ctx.fillRect(x,y,w,h);}}
else
{ctx.fillStyle=settings.color;ctx.fillRect(x,y,w,h);}}
catch(e){$(this)._mkDiv(x,y,w,h,settings);}}
return $(this);};$.fn.drawPolygon=function(x,y,settings){settings=jQuery.extend({stroke:1,color:'black',opacity:1,backgroundImage:'none'},settings);settings.xorigin=x[0];settings.yorigin=y[0];$(this).drawPolyline(x,y,settings);$(this).drawLine(x[x.length-1],y[x.length-1],x[0],y[0],settings);return $(this);};$.fn.drawEllipse=function(x,y,w,h,settings){settings=jQuery.extend({stroke:1,color:'black',opacity:1,backgroundImage:'none'},settings);settings.xorigin=x;settings.yorigin=y;if(!$(this).find('canvas').get(0))
$(this).append("<canvas  width='"+$(this).css('width')+"' height='"+$(this).css('height')+"' style='position: absolute; top: 0; left: 0;'></canvas>");var canvas=$(this).find("canvas").get(0);if(supportsvg.support&&!jQuery.browser.msie)
{var myrand='id'+parseInt(Math.random()*1000000);$(this).append("<div id ='"+myrand+"' style='position: absolute;top: 0; left: 0;'></div>");$("#"+myrand).css('width',$(this).css('width')).css('height',$(this).css('height')).svg(function(){var svg=svgManager.getSVGFor("#"+myrand);var g=svg.group(null,{stroke:settings.color,stroke_width:settings.stroke});svg.ellipse(null,x+w/2,y+h/2,w/2,h/2,{fill:"none",stroke:settings.color,stroke_width:settings.stroke});});}
else
{try{var ctx=canvas.getContext("2d");var left=x,top=y;w+=x;h+=y;ctx.globalAlpha=settings.opacity;if(settings.stroke=='dotted')ctx.lineWidth=.5;else ctx.lineWidth=settings.stroke;var KAPPA=4*((Math.sqrt(2)-1)/3);var rx=(w-left)/2;var ry=(h-top)/2;var cx=left+rx;var cy=top+ry;ctx.beginPath();ctx.strokeStyle=settings.color;ctx.moveTo(cx,cy-ry);ctx.bezierCurveTo(cx+(KAPPA*rx),cy-ry,cx+rx,cy-(KAPPA*ry),cx+rx,cy);ctx.bezierCurveTo(cx+rx,cy+(KAPPA*ry),cx+(KAPPA*rx),cy+ry,cx,cy+ry);ctx.bezierCurveTo(cx-(KAPPA*rx),cy+ry,cx-rx,cy+(KAPPA*ry),cx-rx,cy);ctx.bezierCurveTo(cx-rx,cy-(KAPPA*ry),cx-(KAPPA*rx),cy-ry,cx,cy-ry);ctx.closePath();ctx.stokeStyle=settings.color;ctx.stroke();}catch(e){if(settings.stroke=='dotted')
{$(this)._mkOvDott(x,y,w,h,settings);}
else if(settings.stroke-1>0)
{$(this)._mkOv2D(x,y,w,h,settings);}
else
{$(this)._mkOv(x,y,w,h,settings);}}}
return $(this);};$.fn.fillEllipse=function(left,top,w,h,settings){settings=jQuery.extend({stroke:1,color:'black',opacity:1,backgroundImage:'none'},settings);settings.xorigin=left;settings.yorigin=top;if(supportsvg.support&&!jQuery.browser.msie)
{var myrand='id'+parseInt(Math.random()*1000000);$(this).append("<div id ='"+myrand+"' style='position: absolute;top: 0; left: 0;'></div>");$("#"+myrand).css('width',$(this).css('width')).css('height',$(this).css('height')).svg(function(){var svg=svgManager.getSVGFor("#"+myrand);var g=svg.group(null,{stroke:settings.color,stroke_width:settings.stroke});svg.ellipse(null,left+w/2,top+h/2,w/2,h/2,{fill:settings.color});});}
else
{if(!$(this).find('canvas').get(0))
$(this).append("<canvas  width='"+$(this).css('width')+"' height='"+$(this).css('height')+"' style='position: absolute; top: 0; left: 0;'></canvas>");var canvas=$(this).find("canvas").get(0);try{var ctx=canvas.getContext("2d");w+=left;h+=top;ctx.globalAlpha=settings.opacity;if(settings.stroke=='dotted')ctx.lineWidth=.5;else ctx.lineWidth=settings.stroke;if(settings.backgroundImage!='none')
{var img=new Image();img.src=settings.backgroundImage;$(img).ready(function(){var ptrn=ctx.createPattern(img,'repeat');ctx.moveTo(left,top);var KAPPA=4*((Math.sqrt(2)-1)/3);var rx=(w-left)/2;var ry=(h-top)/2;var cx=left+rx;var cy=top+ry;ctx.beginPath();ctx.fillStyle=ptrn;ctx.globalAlpha=settings.opacity;if(settings.stroke=='dotted')ctx.lineWidth=.5;else ctx.lineWidth=settings.stroke;ctx.moveTo(cx,cy-ry);ctx.bezierCurveTo(cx+(KAPPA*rx),cy-ry,cx+rx,cy-(KAPPA*ry),cx+rx,cy);ctx.bezierCurveTo(cx+rx,cy+(KAPPA*ry),cx+(KAPPA*rx),cy+ry,cx,cy+ry);ctx.bezierCurveTo(cx-(KAPPA*rx),cy+ry,cx-rx,cy+(KAPPA*ry),cx-rx,cy);ctx.bezierCurveTo(cx-rx,cy-(KAPPA*ry),cx-(KAPPA*rx),cy-ry,cx,cy-ry);ctx.closePath();ctx.fill();});}
else
{ctx.fillStyle=settings.color;ctx.globalAlpha=settings.opacity;if(settings.stroke=='dotted')ctx.lineWidth=.5;else ctx.lineWidth=settings.stroke;ctx.fillStyle=settings.color;ctx.beginPath();ctx.moveTo(left,top);var KAPPA=4*((Math.sqrt(2)-1)/3);var rx=(w-left)/2;var ry=(h-top)/2;var cx=left+rx;var cy=top+ry;ctx.beginPath();ctx.moveTo(cx,cy-ry);ctx.bezierCurveTo(cx+(KAPPA*rx),cy-ry,cx+rx,cy-(KAPPA*ry),cx+rx,cy);ctx.bezierCurveTo(cx+rx,cy+(KAPPA*ry),cx+(KAPPA*rx),cy+ry,cx,cy+ry);ctx.bezierCurveTo(cx-(KAPPA*rx),cy+ry,cx-rx,cy+(KAPPA*ry),cx-rx,cy);ctx.bezierCurveTo(cx-rx,cy-(KAPPA*ry),cx-(KAPPA*rx),cy-ry,cx,cy-ry);ctx.closePath();ctx.fill();}}catch(e){var a=w>>1,b=h>>1,wod=w&1,hod=h&1,cx=left+a,cy=top+b,x=0,y=b,oy=b,aa2=(a*a)<<1,aa4=aa2<<1,bb2=(b*b)<<1,bb4=bb2<<1,st=(aa2>>1)*(1-(b<<1))+bb2,tt=(bb2>>1)-aa2*((b<<1)-1),xl,dw,dh;if(w)while(y>0)
{if(st<0)
{st+=bb2*((x<<1)+3);tt+=bb4*(++x);}
else if(tt<0)
{st+=bb2*((x<<1)+3)-aa4*(y-1);xl=cx-x;dw=(x<<1)+wod;tt+=bb4*(++x)-aa2*(((y--)<<1)-3);dh=oy-y;$(this)._mkDiv(xl,cy-oy,dw,dh,settings);$(this)._mkDiv(xl,cy+y+hod,dw,dh,settings);oy=y;}
else
{tt-=aa2*((y<<1)-3);st-=aa4*(--y);}}
$(this)._mkDiv(cx-a,cy-oy,w,(oy<<1)+hod,settings);}}
return $(this);};$.fn.fillArc=function(iL,iT,iW,fAngA,fAngZ,settings){var iH=iW;settings=jQuery.extend({stroke:1,color:'black',opacity:1,backgroundImage:'none'},settings);settings.xorigin=iL;settings.yorigin=iT;if(supportsvg.support&&!jQuery.browser.msie)
{var myrand='id'+parseInt(Math.random()*1000000);$(this).append("<div id ='"+myrand+"' style='position: absolute;top: 0; left: 0;'></div>");$("#"+myrand).css('width',$(this).css('width')).css('height',$(this).css('height')).svg(function(){var svg=svgManager.getSVGFor("#"+myrand);var g=svg.group(null,{stroke:settings.color,stroke_width:settings.stroke});var cx=iL+iW/2,cy=iT+iW/2,r=iW/2,startangle=Math.PI+(((fAngA+90)%360)*Math.PI/180),endangle=Math.PI+(((fAngZ+90)%360)*Math.PI/180);var big=0;if(endangle-startangle>Math.PI)big=1;var x1=cx+r*Math.sin(startangle);var y1=cy-r*Math.cos(startangle);var x2=cx+r*Math.sin(endangle);var y2=cy-r*Math.cos(endangle);var d="M "+cx+","+cy+" L "+x1+","+y1+" A "+r+","+r+" 0 "+big+" 1 "+
x2+","+y2+" Z";svg.path(null,d,{fill:settings.color,stroke_linejoin:"round",background_fill:"none"});});}
else
{if(!$(this).find('canvas').get(0))
$(this).append("<canvas  width='"+$(this).css('width')+"' height='"+$(this).css('height')+"' style='position: absolute; top: 0; left: 0;'></canvas>");var canvas=$(this).find("canvas").get(0);try{var ctx=canvas.getContext("2d");ctx.globalAlpha=settings.opacity;if(settings.stroke=='dotted')ctx.lineWidth=.5;else ctx.lineWidth=settings.stroke;var img;var ptrn;if(settings.backgroundImage!='none')
{var img=new Image();img.src=settings.backgroundImage;if(jQuery.browser.msie)
erreur;else img.onload=function(){var ptrn=ctx.createPattern(img,'repeat');ctx.fillStyle=ptrn;ctx.beginPath();ctx.moveTo(iL+iW/2,iT+iW/2);ctx.arc(iL+iW/2,iT+iW/2,iW/2,2*Math.PI-(fAngA*Math.PI)/180,2*Math.PI-(fAngZ*Math.PI)/180,true);ctx.lineTo(iL+iW/2,iT+iW/2);ctx.closePath();ctx.fill();};}
else
{ctx.fillStyle=settings.color;ctx.beginPath();ctx.moveTo(iL+iW/2,iT+iW/2);ctx.arc(iL+iW/2,iT+iW/2,iW/2,2*Math.PI-(fAngA*Math.PI)/180,2*Math.PI-(fAngZ*Math.PI)/180,true);ctx.lineTo(iL+iW/2,iT+iW/2);ctx.closePath();ctx.fill();}}catch(e){var a=iW>>1,b=iH>>1,iOdds=(iW&1)|((iH&1)<<16),cx=iL+a,cy=iT+b,x=0,y=b,ox=x,oy=y,aa2=(a*a)<<1,aa4=aa2<<1,bb2=(b*b)<<1,bb4=bb2<<1,st=(aa2>>1)*(1-(b<<1))+bb2,tt=(bb2>>1)-aa2*((b<<1)-1),xEndA,yEndA,xEndZ,yEndZ,iSects=(1<<(Math.floor((fAngA%=360.0)/180.0)<<3))|(2<<(Math.floor((fAngZ%=360.0)/180.0)<<3))|((fAngA>=fAngZ)<<16),aBndA=new Array(b+1),aBndZ=new Array(b+1);fAngA*=Math.PI/180.0;fAngZ*=Math.PI/180.0;xEndA=cx+Math.round(a*Math.cos(fAngA));yEndA=cy+Math.round(-b*Math.sin(fAngA));$(this)._mkLinVirt(aBndA,cx,cy,xEndA,yEndA,settings);xEndZ=cx+Math.round(a*Math.cos(fAngZ));yEndZ=cy+Math.round(-b*Math.sin(fAngZ));$(this)._mkLinVirt(aBndZ,cx,cy,xEndZ,yEndZ,settings);while(y>0)
{if(st<0)
{st+=bb2*((x<<1)+3);tt+=bb4*(++x);}
else if(tt<0)
{st+=bb2*((x<<1)+3)-aa4*(y-1);ox=x;tt+=bb4*(++x)-aa2*(((y--)<<1)-3);$(this)._mkArcDiv(ox,y,oy,cx,cy,iOdds,aBndA,aBndZ,iSects,settings);oy=y;}
else
{tt-=aa2*((y<<1)-3);st-=aa4*(--y);if(y&&(aBndA[y]!=aBndA[y-1]||aBndZ[y]!=aBndZ[y-1]))
{$(this)._mkArcDiv(x,y,oy,cx,cy,iOdds,aBndA,aBndZ,iSects,settings);ox=x;oy=y;}}}}
$(this)._mkArcDiv(x,0,oy,cx,cy,iOdds,aBndA,aBndZ,iSects,settings);if(iOdds>>16)
{if(iSects>>16)
{var xl=(yEndA<=cy||yEndZ>cy)?(cx-x):cx;$(this)._mkDiv(xl,cy,x+cx-xl+(iOdds&0xffff),1,settings);}
else if((iSects&0x01)&&yEndZ>cy)
$(this)._mkDiv(cx-x,cy,x,1,settings);}}
return $(this);};$.fn.fillPolygon=function(array_x,array_y,settings){settings=jQuery.extend({stroke:1,color:'black',opacity:1,backgroundImage:'none'},settings);settings.xorigin=array_x[0];settings.yorigin=array_y[0];if(supportsvg.support&&!jQuery.browser.msie)
{var myrand='id'+parseInt(Math.random()*1000000);$(this).append("<div id ='"+myrand+"' style='position: absolute;top: 0; left: 0;'></div>");$("#"+myrand).css('width',$(this).css('width')).css('height',$(this).css('height')).svg(function(){var svg=svgManager.getSVGFor("#"+myrand);var g=svg.group(null,{stroke:settings.color,stroke_width:settings.stroke});var points=new Array;for(var i=0;i<array_x.length;i++)
{points[i]=new Array;points[i][0]=array_x[i];points[i][1]=array_y[i];}
svg.polygon(null,points,{fill:settings.color});});}
else
{if(!$(this).find('canvas').get(0))
$(this).append("<canvas  width='"+$(this).css('width')+"' height='"+$(this).css('height')+"' style='position: absolute; top: 0; left: 0;'></canvas>");var canvas=$(this).find("canvas").get(0);try{var ctx=canvas.getContext("2d");var n=array_x.length;ctx.globalAlpha=settings.opacity;if(settings.stroke=='dotted')ctx.lineWidth=.5;else ctx.lineWidth=settings.stroke;ctx.beginPath();var img;var ptrn;if(settings.backgroundImage!='none')
{img=new Image();img.src=settings.backgroundImage;if(jQuery.browser.msie)
erreur;else img.onload=function(){ptrn=ctx.createPattern(img,'repeat');ctx.fillStyle=ptrn;ctx.moveTo(array_x[0],array_y[0]);for(var i=1;i<n;i++)
{ctx.lineTo(array_x[i],array_y[i]);}
ctx.lineTo(array_x[0],array_y[0]);ctx.closePath();ctx.fill();}}
else
{ctx.fillStyle=settings.color;ctx.moveTo(array_x[0],array_y[0]);for(var i=1;i<n;i++)
{ctx.lineTo(array_x[i],array_y[i]);}
ctx.lineTo(array_x[0],array_y[0]);ctx.closePath();ctx.fill();}}catch(e){var i;var y;var miny,maxy;var x1,y1;var x2,y2;var ind1,ind2;var ints;var n=array_x.length;if(!n)return;miny=array_y[0];maxy=array_y[0];for(i=1;i<n;i++)
{if(array_y[i]<miny)
miny=array_y[i];if(array_y[i]>maxy)
maxy=array_y[i];}
for(y=miny;y<=maxy;y++)
{var polyInts=new Array();ints=0;for(i=0;i<n;i++)
{if(!i)
{ind1=n-1;ind2=0;}
else
{ind1=i-1;ind2=i;}
y1=array_y[ind1];y2=array_y[ind2];if(y1<y2)
{x1=array_x[ind1];x2=array_x[ind2];}
else if(y1>y2)
{y2=array_y[ind1];y1=array_y[ind2];x2=array_x[ind1];x1=array_x[ind2];}
else continue;if((y>=y1)&&(y<y2))
polyInts[ints++]=Math.round((y-y1)*(x2-x1)/(y2-y1)+x1);else if((y==maxy)&&(y>y1)&&(y<=y2))
polyInts[ints++]=Math.round((y-y1)*(x2-x1)/(y2-y1)+x1);}
polyInts.sort(function CompInt(x,y){return(x-y);});for(i=0;i<ints;i+=2)
$(this)._mkDiv(polyInts[i],y,polyInts[i+1]-polyInts[i]+1,1,settings);}}}
return $(this);};$.fn._mkOvQds=function(cx,cy,x,y,w,h,wod,hod,settings){var xl=cx-x,xr=cx+x+wod-w,yt=cy-y,yb=cy+y+hod-h;if(xr>xl+w)
{$(this)._mkDiv(xr,yt,w,h,settings);$(this)._mkDiv(xr,yb,w,h,settings);}
else
w=xr-xl+w;$(this)._mkDiv(xl,yt,w,h,settings);$(this)._mkDiv(xl,yb,w,h,settings);return $(this);};$.fn._mkArcDiv=function(x,y,oy,cx,cy,iOdds,aBndA,aBndZ,iSects,settings){var xrDef=cx+x+(iOdds&0xffff),y2,h=oy-y,xl,xr,w;if(!h)h=1;x=cx-x;if(iSects&0xff0000)
{y2=cy-y-h;if(iSects&0x00ff)
{if(iSects&0x02)
{xl=Math.max(x,aBndZ[y]);w=xrDef-xl;if(w>0)$(this)._mkDiv(xl,y2,w,h,settings);}
if(iSects&0x01)
{xr=Math.min(xrDef,aBndA[y]);w=xr-x;if(w>0)$(this)._mkDiv(x,y2,w,h,settings);}}
else
$(this)._mkDiv(x,y2,xrDef-x,h,settings);y2=cy+y+(iOdds>>16);if(iSects&0xff00)
{if(iSects&0x0100)
{xl=Math.max(x,aBndA[y]);w=xrDef-xl;if(w>0)$(this)._mkDiv(xl,y2,w,h,settings);}
if(iSects&0x0200)
{xr=Math.min(xrDef,aBndZ[y]);w=xr-x;if(w>0)$(this)._mkDiv(x,y2,w,h,settings);}}
else
$(this)._mkDiv(x,y2,xrDef-x,h,settings);}
else
{if(iSects&0x00ff)
{if(iSects&0x02)
xl=Math.max(x,aBndZ[y]);else
xl=x;if(iSects&0x01)
xr=Math.min(xrDef,aBndA[y]);else
xr=xrDef;y2=cy-y-h;w=xr-xl;if(w>0)$(this)._mkDiv(xl,y2,w,h,settings);}
if(iSects&0xff00)
{if(iSects&0x0100)
xl=Math.max(x,aBndA[y]);else
xl=x;if(iSects&0x0200)
xr=Math.min(xrDef,aBndZ[y]);else
xr=xrDef;y2=cy+y+(iOdds>>16);w=xr-xl;if(w>0)$(this)._mkDiv(xl,y2,w,h,settings);}}
return $(this);};$.fn._mkLinVirt=function(aLin,x1,y1,x2,y2,settings){var dx=Math.abs(x2-x1),dy=Math.abs(y2-y1),x=x1,y=y1,xIncr=(x1>x2)?-1:1,yIncr=(y1>y2)?-1:1,p,i=0;if(dx>=dy)
{var pr=dy<<1,pru=pr-(dx<<1);p=pr-dx;while(dx>0)
{--dx;if(p>0)
{aLin[i++]=x;y+=yIncr;p+=pru;}
else p+=pr;x+=xIncr;}}
else
{var pr=dx<<1,pru=pr-(dy<<1);p=pr-dy;while(dy>0)
{--dy;y+=yIncr;aLin[i++]=x;if(p>0)
{x+=xIncr;p+=pru;}
else p+=pr;}}
for(var len=aLin.length,i=len-i;i;)
aLin[len-(i--)]=x;};})(jQuery);function detectSVG()
{var results={support:null,plugin:null,builtin:null};var obj=null;if(navigator&&navigator.mimeTypes&&navigator.mimeTypes.length)
{for(var mime in{"image/svg+xml":null,"image/svg":null,"image/svg-xml":null})
{if(navigator.mimeTypes[mime]&&(obj=navigator.mimeTypes[mime].enabledPlugin)&&obj)
results={plugin:(obj=obj.name.toLowerCase())&&obj.indexOf("adobe")>=0?"Adobe":(obj.indexOf("renesis")>=0?"Renesis":"Unknown")};}}
else if((obj=document.createElement("object"))&&obj&&typeof obj.setAttribute("type","image/svg+xml"))
{if(typeof obj.USE_SVGZ=="string")
results={plugin:"Adobe",IID:"Adobe.SVGCtl",pluginVersion:obj.window&&obj.window._window_impl?(obj.window.evalScript?6:3):2};else if(obj.window&&obj.window.getSVGViewerVersion().indexOf("enesis")>0)
results={plugin:"Renesis",IID:"RenesisX.RenesisCtrl.1"};}
results.IID=(results.plugin=="Adobe"?"Adobe.SVGCtl":(results.plugin=="Renesis"?"renesisX.RenesisCtrl.1":null));var claimed=document&&document.implementation&&document.implementation.hasFeature("org.w3c.dom.svg","1.0");var nsi=window.Components&&window.Components.interfaces&&!!Components.interfaces.nsIDOMGetSVGDocument;results.builtin=claimed?(!!window.opera?"Opera":(nsi?"Gecko":"Safari")):(!!window.opera&&window.opera.version?"Opera":(nsi?"Gecko":null));results.builtinVersion=results.builtin&&!!window.opera?parseFloat(window.opera.version()):(nsi?(typeof Iterator=="function"?(Array.reduce?3.0:2.0):1.5):null);if(!!window.opera&&results.builtinVersion>=9&&(obj=document.createElement("object"))&&obj&&typeof obj.setAttribute("type","image/svg+xml")&&document.appendChild(obj))
{results.support=obj.offsetWidth?"Plugin":"Builtin";document.removeChild(obj);}
else results.support=results.plugin&&!claimed?"Plugin":(results.builtin&&claimed?"Builtin":null);return results;}
(function($){$.fn.editable=function(target,options){if('disable'==target){$(this).data('disabled.editable',true);return;}
if('enable'==target){$(this).data('disabled.editable',false);return;}
if('destroy'==target){$(this).unbind($(this).data('event.editable')).removeData('disabled.editable').removeData('event.editable');return;}
var settings={target:target,name:'value',id:'id',type:'text',width:'auto',height:'auto',event:'click',onblur:'cancel',loadtype:'GET',loadtext:'Loading...',placeholder:'Click to edit',loaddata:{},submitdata:{},ajaxoptions:{}};if(options){$.extend(settings,options);}
var plugin=$.editable.types[settings.type].plugin||function(){};var submit=$.editable.types[settings.type].submit||function(){};var buttons=$.editable.types[settings.type].buttons||$.editable.types['defaults'].buttons;var content=$.editable.types[settings.type].content||$.editable.types['defaults'].content;var element=$.editable.types[settings.type].element||$.editable.types['defaults'].element;var reset=$.editable.types[settings.type].reset||$.editable.types['defaults'].reset;var callback=settings.callback||function(){};var onedit=settings.onedit||function(){};var onsubmit=settings.onsubmit||function(){};var onreset=settings.onreset||function(){};var onerror=settings.onerror||reset;if(settings.tooltip){$(this).attr('title',settings.tooltip);}
settings.autowidth='auto'==settings.width;settings.autoheight='auto'==settings.height;return this.each(function(){var self=this;var savedwidth=$(self).width();var savedheight=$(self).height();$(this).data('event.editable',settings.event);if(!$.trim($(this).html())){$(this).html(settings.placeholder);}
$(this).bind(settings.event,function(e){if(true===$(this).data('disabled.editable')){return;}
if(self.editing){return;}
if(false===onedit.apply(this,[settings,self])){return;}
if(settings.tooltip){$(self).removeAttr('title');}
if(0==$(self).width()){settings.width=savedwidth;settings.height=savedheight;}else{if(settings.width!='none'){settings.width=settings.autowidth?$(self).width():settings.width;}
if(settings.height!='none'){settings.height=settings.autoheight?$(self).height():settings.height;}}
if($(this).html().toLowerCase().replace(/(;|")/g,'')==settings.placeholder.toLowerCase().replace(/(;|")/g,'')){$(this).html('');}
self.editing=true;self.revert=$(self).html();$(self).html('');var form=$('<form />');if(settings.cssclass){if('inherit'==settings.cssclass){form.attr('class',$(self).attr('class'));}else{form.attr('class',settings.cssclass);}}
if(settings.style){if('inherit'==settings.style){form.attr('style',$(self).attr('style'));form.css('display',$(self).css('display'));}else{form.attr('style',settings.style);}}
var input=element.apply(form,[settings,self]);var input_content;if(settings.loadurl){var t=setTimeout(function(){input.disabled=true;content.apply(form,[settings.loadtext,settings,self]);},100);var loaddata={};loaddata[settings.id]=self.id;if($.isFunction(settings.loaddata)){$.extend(loaddata,settings.loaddata.apply(self,[self.revert,settings]));}else{$.extend(loaddata,settings.loaddata);}
$.ajax({type:settings.loadtype,url:settings.loadurl,data:loaddata,async:false,success:function(result){window.clearTimeout(t);input_content=result;input.disabled=false;}});}else if(settings.data){input_content=settings.data;if($.isFunction(settings.data)){input_content=settings.data.apply(self,[self.revert,settings]);}}else{input_content=self.revert;}
content.apply(form,[input_content,settings,self]);input.attr('name',settings.name);buttons.apply(form,[settings,self]);$(self).append(form);plugin.apply(form,[settings,self]);$(':input:visible:enabled:first',form).focus();if(settings.select){input.select();}
input.keydown(function(e){if(e.keyCode==27){e.preventDefault();reset.apply(form,[settings,self]);}});var t;if('cancel'==settings.onblur){input.blur(function(e){t=setTimeout(function(){reset.apply(form,[settings,self]);},500);});}else if('submit'==settings.onblur){input.blur(function(e){t=setTimeout(function(){form.submit();},200);});}else if($.isFunction(settings.onblur)){input.blur(function(e){settings.onblur.apply(self,[input.val(),settings]);});}else{input.blur(function(e){});}
form.submit(function(e){if(t){clearTimeout(t);}
e.preventDefault();if(false!==onsubmit.apply(form,[settings,self])){if(false!==submit.apply(form,[settings,self])){if($.isFunction(settings.target)){var str=settings.target.apply(self,[input.val(),settings]);$(self).html(str);self.editing=false;callback.apply(self,[self.innerHTML,settings]);if(!$.trim($(self).html())){$(self).html(settings.placeholder);}}else{var submitdata={};submitdata[settings.name]=input.val();submitdata[settings.id]=self.id;if($.isFunction(settings.submitdata)){$.extend(submitdata,settings.submitdata.apply(self,[self.revert,settings]));}else{$.extend(submitdata,settings.submitdata);}
if('PUT'==settings.method){submitdata['_method']='put';}
$(self).html(settings.indicator);var ajaxoptions={type:'POST',data:submitdata,url:settings.target,success:function(result,status){$(self).html(result);self.editing=false;callback.apply(self,[self.innerHTML,settings]);if(!$.trim($(self).html())){$(self).html(settings.placeholder);}},error:function(xhr,status,error){onerror.apply(form,[settings,self,xhr]);}}
$.extend(ajaxoptions,settings.ajaxoptions);$.ajax(ajaxoptions);}}}
$(self).attr('title',settings.tooltip);return false;});});this.reset=function(form){if(this.editing){if(false!==onreset.apply(form,[settings,self])){$(self).html(self.revert);self.editing=false;if(!$.trim($(self).html())){$(self).html(settings.placeholder);}
if(settings.tooltip){$(self).attr('title',settings.tooltip);}}}}});};$.editable={types:{defaults:{element:function(settings,original){var input=$('<input type="hidden"></input>');$(this).append(input);return(input);},content:function(string,settings,original){$(':input:first',this).val(string);},reset:function(settings,original){original.reset(this);},buttons:function(settings,original){var form=this;if(settings.submit){if(settings.submit.match(/>$/)){var submit=$(settings.submit).click(function(){if(submit.attr("type")!="submit"){form.submit();}});}else{var submit=$('<button type="submit" />');submit.html(settings.submit);}
$(this).append(submit);}
if(settings.cancel){if(settings.cancel.match(/>$/)){var cancel=$(settings.cancel);}else{var cancel=$('<button type="cancel" />');cancel.html(settings.cancel);}
$(this).append(cancel);$(cancel).click(function(event){if($.isFunction($.editable.types[settings.type].reset)){var reset=$.editable.types[settings.type].reset;}else{var reset=$.editable.types['defaults'].reset;}
reset.apply(form,[settings,original]);return false;});}}},text:{element:function(settings,original){var input=$('<input />');if(settings.width!='none'){input.width(settings.width);}
if(settings.height!='none'){input.height(settings.height);}
input.attr('autocomplete','off');$(this).append(input);return(input);}},textarea:{element:function(settings,original){var textarea=$('<textarea />');if(settings.rows){textarea.attr('rows',settings.rows);}else if(settings.height!="none"){textarea.height(settings.height);}
if(settings.cols){textarea.attr('cols',settings.cols);}else if(settings.width!="none"){textarea.width(settings.width);}
$(this).append(textarea);return(textarea);}},select:{element:function(settings,original){var select=$('<select />');$(this).append(select);return(select);},content:function(data,settings,original){if(String==data.constructor){eval('var json = '+data);}else{var json=data;}
for(var key in json){if(!json.hasOwnProperty(key)){continue;}
if('selected'==key){continue;}
var option=$('<option />').val(key).append(json[key]);$('select',this).append(option);}
$('select',this).children().each(function(){if($(this).val()==json['selected']||$(this).text()==original.revert){$(this).attr('selected','selected');};});}}},addInputType:function(name,input){$.editable.types[name]=input;}};})(jQuery);(function(c){var a=["DOMMouseScroll","mousewheel"];c.event.special.mousewheel={setup:function(){if(this.addEventListener){for(var d=a.length;d;){this.addEventListener(a[--d],b,false)}}else{this.onmousewheel=b}},teardown:function(){if(this.removeEventListener){for(var d=a.length;d;){this.removeEventListener(a[--d],b,false)}}else{this.onmousewheel=null}}};c.fn.extend({mousewheel:function(d){return d?this.bind("mousewheel",d):this.trigger("mousewheel")},unmousewheel:function(d){return this.unbind("mousewheel",d)}});function b(f){var d=[].slice.call(arguments,1),g=0,e=true;f=c.event.fix(f||window.event);f.type="mousewheel";if(f.wheelDelta){g=f.wheelDelta/120}if(f.detail){g=-f.detail/3}d.unshift(f,g);return c.event.handle.apply(this,d)}})(jQuery);var bmid;var links=[];var offset=false;function rgbStringToHex(string){var parts=string.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);if(parts){parts[0]="#";for(var i=1;i<=3;++i){parts[i]=parseInt(parts[i],10).toString(16);if(parts[i].length==1){parts[i]='0'+parts[i];}}
return parts.join('');}else{return string;}}
function drawLink(eTarget,eSource){var $source,$target,originX,originY,endingX,endingY,svg,color,originType,endingType;$source=eSource;$target=eTarget;if(offset){originX=$source.offset().left;originY=$source.offset().top+($source.attr('offsetHeight')/2);endingX=$target.offset().left;endingY=$target.offset().top+($target.attr('offsetHeight')/2);}else{originX=$source.position().left;originY=$source.position().top+($source.attr('offsetHeight')/2);endingX=$target.position().left;endingY=$target.position().top+($target.attr('offsetHeight')/2);}
svg=$("#svgbasics");color='red';if(originX>endingX){return drawLink(eSource,eTarget);}
originType=$source.parent().attr('id');endingType=$target.parent().attr('id');if(Math.abs(originX-endingX)<20){originX+=$source.width()/2;endingX+=$target.width()/2;}else if((endingX-(originX+$source.attr('offsetWidth')))<20){if((originType=="block_Partner"&&endingType=="block_Activity")||(originType=="block_Activity"&&endingType=="block_Offer")||(originType=="block_Offer"&&endingType=="block_Relationship")||(originType=="block_Relationship"&&endingType=="block_Segment")){if(originY<endingY){originX+=$source.attr('offsetWidth');endingX+=$target.attr('offsetWidth')/2;}else{originX+=$source.attr('offsetWidth')/2;}}else{if(originY>endingY){originX+=$source.attr('offsetWidth');endingX+=$target.attr('offsetWidth')/2;}else{originX+=$source.attr('offsetWidth')/2;}}}else{originX+=$source.attr('offsetWidth');}
svg.drawLine(originX,originY,endingX,endingY,{'color':color,'stroke':2});}
function drawLinks(newDraw){$('#svgbasics').empty();if(newDraw){$('#svgbasics').css('z-index',100);}
$.each(links,function(){if($(this[0]).is(":visible")&&$(this[1]).is(":visible")){drawLink($(this[0]),$(this[1]));}});}
function resizeModel(){var ap,aph,op,oph,cp,cph,bm=$("#business-model");ap=$("#activity-perspective");aph=$("#activity-perspective-height");op=$("#offer-perspective");oph=$("#offer-perspective-height");cp=$("#client-perspective");cph=$("#client-perspective-height");op.height('');ap.height('');cp.height('');aph.height('');cph.height('');oph.height('');if(op.height()<ap.height()&&op.height()<cp.height()){if(ap.height()>cp.height()){op.height(ap.height());cph.height(aph.height());}else{op.height(cp.height());aph.height(cph.height());}}
oph.height(op.height());$("#svgbasics").css({height:bm.height()+bm.offset().top,width:bm.width()+bm.position().left});drawLinks();}
$(document).ready(function(){bmid=$("#bmid").val();resizeModel();$.tablesorter.defaults.widgets=['zebra'];$("#svgbasics").bind("click",function(){$(this).css('z-index',-100);});$(".help").bind("mouseover mouseout",function(){$(this).parent().next().toggle();$(this).parent().next().next().toggle();});$(".help,#help-title").bind("click",function(){$(".help").parent().next().toggle();$(".help").parent().next().next().toggle();$("#help-title").toggle();return false;});$("#embed").click(function(event){var item=$("#watch-customize-embed-theme");if(item.length<1){item=$('<div id="watch-customize-embed-theme">Loading...</div>');$("#iconmenu").after(item);$.post(baseURL+'/explore/embedcode/'+bmid,null,function(html){item.html(html);item.draggable();},'html');}else{if(item.is(':visible')){item.hide();}else{item.show();}}
item.css({top:$(this).position().top+$(this).height(),left:($(this).position().left+item.width())>$(window).width()?$(window).width()-item.width()-10:$(this).position().left});});});$(document).ready(function(){$('.item').cluetip({arrows:true,cluetipClass:'jtip',showTitle:false,sticky:false,mouseOutClose:true,closePosition:'title'});$('.item').bind('dblclick',function(){var item=$(this);$.post(baseURL+'/element/linked/'+item.attr('id').split('_')[1],null,function(json){links=json;drawLinks(true);},'json');return false;});$("#business-model").bind("dblclick",function(event){links=[];drawLinks();return false;});$(".layer_visibility").bind("click",function(){var visibleLayers=$.map($(".layer_visibility:checked"),function(n,i){return $(n).attr("id");}),inputChecked=$(this),id=inputChecked.attr("id"),checked=inputChecked.attr("checked");if(checked){$("."+id+":hidden").show("highlight");}else{$.each($("."+id+":visible"),function(){var show=false,item=$(this);$.each(visibleLayers,function(i,n){show=show||item.hasClass(n);});if(!show){item.hide("highlight");}});}
setTimeout("drawLinks(false)",500);});$(".annotation").bind("click",function(){var category=$(this).attr("id"),dialog=$("#dialog-"+category);if(dialog.length===0){dialog=$('<div id="dialog-'+category+'"></div>').dialog({title:'Annotations for '+category,width:500});}else{dialog.dialog('open');}
dialog.html('Loading <img src="'+baseURL+'/images/spinner.gif" />');$.post(baseURL+'/annotation/list',{'bmid':$("#bmid").val(),'category':category},function(data){dialog.html(data);dialog.find("#annotation-table").tablesorter({headers:{3:{sorter:false}}});},'html');return false;});$('.short_item').cluetip({arrows:true,cluetipClass:'jtip',splitTitle:'|'});if($.fn.stars){$("#stars-wrapper").stars({inputType:"select",cancelShow:false,callback:function(ui,type,value){$.post(baseURL+'/businessModel/rate',{id:bmid,rating:value},function(json){$("#ratingCount").text(json.count);$("#stars-wrapper").stars("select",Math.round(json.rating)).attr('title',json.rating);},'json');}});}
$("#comment-submit").bind("click",function(){var submit=$(this);submit.fadeOut();$.post(baseURL+'/comment/add/'+bmid,$("#newcommentform").serialize(),function(data){submit.fadeIn();if(data==="error"){$("#newcommentform").addClass('error');}else{$("#newcommentform").removeClass('error').slideUp();$("#newcommentform textarea").attr('value','');$("#comments").prepend(data);$("#comments .comment:first").effect('highlight','slow');}},'html');return false;});var commentOffset=$("#comments").children().length,commentAjax=false;$(window).scroll(function(){if($(document).scrollTop()+$(window).height()===$(document).height()&&!commentAjax){commentAjax=true;$("#comments").append('<div id="commentWaiting"><img src="'+baseURL+'/css/cluetip/images/wait.gif"/></div>');$.post(baseURL+'/comment/list',{id:bmid,offset:commentOffset},function(data){$("#commentWaiting").fadeOut('normal',function(){$(this).remove();});if(data==="END"){$("#comments").append("<div>no more comments</div>");}else{$("#comments").append(data);commentOffset+=$(data).length;commentAjax=false;}},'html');}});$('.layer-main-swatch').bind("click",function(){var checked=$(this).nextAll('.layer_visibility');if(checked.attr("checked")){checked.removeAttr("checked");}else{checked.attr("checked","checked");}
checked.triggerHandler("click");});});function annotationPriorityListSelect(item,id){$(item).parent().hide();return false;}
function makeCommentEditable(item){$(item).editable(baseURL+'/comment/update',{name:'body',onblur:'submit',tooltip:'Click to edit...',type:'textarea',width:'650px',loadurl:baseURL+'/comment/get',data:function(value,settings){var retval=value.replace(/<br[\s\/]?>/gi,'\n');return retval;}});}
function newcomment(){$("#newcommentform").slideDown();}
function deletecomment(item,id){$.post(baseURL+'/comment/delete/'+id,null,function(data){if(data==="ok"){$(item).parents(".comment").fadeOut('normal',function(){$(this).remove();});}});}
offset=true;function update_overview(){var bm=$("#business-model"),ov=$("#bm_over"),w=$(window),m=$("#menu");$("#bm_view").css({'left':-bm.offset().left/bm.width()*ov.width(),'top':-(bm.offset().top-m.height())/bm.height()*ov.height()}).width(w.width()/bm.width()*ov.width()).height((w.height()-m.height())/bm.height()*ov.height());resizeModel();}
function initOverview(){var m=$("#menu"),h=$(window).height(),w=$(window).width();h-=m.height();$("#business-model").css({'top':m.height(),left:-1});$("#bm_over").css({'height':h*0.1,'width':w*0.1,'bottom':h*0.05,'right':w*0.05});$("#bm_over_bound").css({'height':h*0.2,'width':w*0.2,'bottom':-h*0.05,'right':-w*0.05});setTimeout(update_overview,100);}
$(document).ready(function(){initOverview();$(window).bind('resize',function(){resizeModel();initOverview();});$("#business-model").draggable({scroll:false,drag:update_overview,stop:update_overview}).selectable("disable").bind('mousewheel',function(event,delta){$(this).width($(this).width()+(delta*30));$(".item").each(function(){var fontSize=delta+parseInt($(this).css('font-size'),10);fontSize=fontSize<8?8:fontSize;$(this).css({'font-size':fontSize+'px'});});if(delta>0||(delta<0&&$(this).offset().left<0)){$(this).css('left',$(this).offset().left+(delta*-30));}
update_overview();return false;});$("#bm_view").draggable({scroll:false,containment:'#bm_over_bound',drag:function(){var bv=$("#bm_view"),w=$(window),ov=$("#bm_over"),m=$("#menu"),bm=$("#business-model");$("#business-model").css({'left':-bv.position().left/(ov.width())*bm.width(),'top':-(bv.position().top/ov.height()*bm.height())+m.height()});}});});