function cancelEvent(e){if(!e)var e=window.event;(e.preventDefault)?e.preventDefault():e.returnValue=false;} function getEventTarget(e){if(!e)var e=window.event;return (e.target&&e.target.nodeType==3)?e.target.parentNode:(e.target)?e.target:e.srcElement;} function supportsSVG(){ //Old FF 3.5 and Safari 3 versions have a very poor svg support //http://www.w3.org/TR/SVG11/feature#Image Defeat FF 3.5 only //http://www.w3.org/TR/SVG11/feature#Animation Defeat Saf 3 but also returns false in IE9 //http://www.w3.org/TR/SVG11/feature#BasicGraphicsAttribute Defeat Saf 3 but also returns false in Chrome and safari4 //http://www.w3.org/TR/SVG11/feature#Text Defeat Saf 3 but also returns false in FF and safari4 if(!document.createElementNS||!document.createElementNS('http://www.w3.org/2000/svg','svg').createSVGRect)return false; if(!document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image","1.1"))return false; if(!document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicGraphicsAttribute","1.1")&&!document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Animation","1.1")&&!document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Text","1.1"))return false; return true; } function getStyle(a,b){ if(window.getComputedStyle)return document.defaultView.getComputedStyle(a,null).getPropertyValue(b); var n=b.indexOf('-'); if(n!==-1)b=b.substr(0,n)+b.substr(n+1,1).toUpperCase()+b.substr(n+2); return a.currentStyle[b]; } function getWidth(a){ var w=getStyle(a,'width'); if(w.indexOf('px')!==-1)return parseInt(w.replace('px','')); var p=[getStyle(a,'padding-top'),getStyle(a,'padding-right'),getStyle(a,'padding-bottom'),getStyle(a,'padding-left')]; for(var i=0;i<4;i++){ if(p[i].indexOf('px')!==-1)p[i]=parseInt(p[i]); else p[i]=0; } return Math.max(0,a.offsetWidth-p[1]-p[3]); } function getHeight(a){ var h=getStyle(a,'height'); if(h.indexOf('px')!==-1)return parseInt(h.replace('px','')); var p=[getStyle(a,'padding-top'),getStyle(a,'padding-right'),getStyle(a,'padding-bottom'),getStyle(a,'padding-left')]; for(var i=0;i<4;i++){ if(p[i].indexOf('px')!==-1)p[i]=parseInt(p[i]); else p[i]=0; } return Math.max(0,a.offsetHeight-p[0]-p[2]); } function svgfallback(){ if(supportsSVG())return; for(var i=0,nd=document.getElementsByTagName('*'),n=nd.length;i