Вход Регистрация
Файл: templates/backend/default/assets/plugins/jqvmap/jqvmap/jquery.vmap.min.js
Строк: 696
<?php
!function(e){var t={colors:1,values:1,backgroundColor:1,scaleColors:1,normalizeFunction:1,enableZoom:1,showTooltip:1,borderColor:1,borderWidth:1,borderOpacity:1,selectedRegions:1,multiSelectRegion:1},l={onLabelShow:"labelShow",onRegionOver:"regionMouseOver",onRegionOut:"regionMouseOut",onRegionClick:"regionClick",onRegionSelect:"regionSelect",onRegionDeselect:"regionDeselect"};e.fn.vectorMap=function(n){var a={map:"world_en",backgroundColor:"#a5bfdd",color:"#f4f3f0",hoverColor:"#c9dfaf",selectedColor:"#c9dfaf",scaleColors:["#b6d6ff","#005ace"],normalizeFunction:"linear",enableZoom:!0,showTooltip:!0,borderColor:"#818181",borderWidth:1,borderOpacity:.25,selectedRegions:null,multiSelectRegion:!1},o=this.data("mapObject");if("addMap"===n)i.maps[arguments[1]]=arguments[2];else if("set"===n&&t[arguments[1]])o["set"+arguments[1].charAt(0).toUpperCase()+arguments[1].substr(1)].apply(o,Array.prototype.slice.call(arguments,2));else{if("string"==typeof n&&"function"==typeof o[n])return o[n].apply(o,Array.prototype.slice.call(arguments,1));e.extend(a,n),a.container=this,this.css({position:"relative",overflow:"hidden"}),o=new i(a),this.data("mapObject",o);for(var r in l)a[r]&&this.bind(l[r]+".jqvmap",a[r])}};var n=function(e,t,l){if(this.mode=window.SVGAngle?"svg":"vml",this.params=l,"svg"==this.mode)this.createSvgNode=function(e){return document.createElementNS(this.svgns,e)};else{try{document.namespaces.rvml||document.namespaces.add("rvml","urn:schemas-microsoft-com:vml"),this.createVmlNode=function(e){return document.createElement("<rvml:"+e+' class="rvml">')}}catch(n){this.createVmlNode=function(e){return document.createElement("<"+e+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}document.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)")}"svg"==this.mode?this.canvas=this.createSvgNode("svg"):(this.canvas=this.createVmlNode("group"),this.canvas.style.position="absolute"),this.setSize(e,t)};n.prototype={svgns:"http://www.w3.org/2000/svg",mode:"svg",width:0,height:0,canvas:null,setSize:function(e,t){if("svg"==this.mode)this.canvas.setAttribute("width",e),this.canvas.setAttribute("height",t);else if(this.canvas.style.width=e+"px",this.canvas.style.height=t+"px",this.canvas.coordsize=e+" "+t,this.canvas.coordorigin="0 0",this.rootGroup){for(var l=this.rootGroup.getElementsByTagName("shape"),n=0,i=l.length;i>n;n++)l[n].coordsize=e+" "+t,l[n].style.width=e+"px",l[n].style.height=t+"px";this.rootGroup.coordsize=e+" "+t,this.rootGroup.style.width=e+"px",this.rootGroup.style.height=t+"px"}this.width=e,this.height=t},createPath:function(e){var t;if("svg"==this.mode)t=this.createSvgNode("path"),t.setAttribute("d",e.path),null!==this.params.borderColor&&t.setAttribute("stroke",this.params.borderColor),this.params.borderWidth>0&&(t.setAttribute("stroke-width",this.params.borderWidth),t.setAttribute("stroke-linecap","round"),t.setAttribute("stroke-linejoin","round")),this.params.borderOpacity>0&&t.setAttribute("stroke-opacity",this.params.borderOpacity),t.setFill=function(e){this.setAttribute("fill",e),null===this.getAttribute("original")&&this.setAttribute("original",e)},t.getFill=function(){return this.getAttribute("fill")},t.getOriginalFill=function(){return this.getAttribute("original")},t.setOpacity=function(e){this.setAttribute("fill-opacity",e)};else{t=this.createVmlNode("shape"),t.coordorigin="0 0",t.coordsize=this.width+" "+this.height,t.style.width=this.width+"px",t.style.height=this.height+"px",t.fillcolor=i.defaultFillColor,t.stroked=!1,t.path=n.pathSvgToVml(e.path);var l=this.createVmlNode("skew");l.on=!0,l.matrix="0.01,0,0,0.01,0,0",l.offset="0,0",t.appendChild(l);var a=this.createVmlNode("fill");t.appendChild(a),t.setFill=function(e){this.getElementsByTagName("fill")[0].color=e,null===this.getAttribute("original")&&this.setAttribute("original",e)},t.getFill=function(){return this.getElementsByTagName("fill")[0].color},t.getOriginalFill=function(){return this.getAttribute("original")},t.setOpacity=function(e){this.getElementsByTagName("fill")[0].opacity=parseInt(100*e,10)+"%"}}return t},createGroup:function(e){var t;return"svg"==this.mode?t=this.createSvgNode("g"):(t=this.createVmlNode("group"),t.style.width=this.width+"px",t.style.height=this.height+"px",t.style.left="0px",t.style.top="0px",t.coordorigin="0 0",t.coordsize=this.width+" "+this.height),e&&(this.rootGroup=t),t},applyTransformParams:function(e,t,l){"svg"==this.mode?this.rootGroup.setAttribute("transform","scale("+e+") translate("+t+", "+l+")"):(this.rootGroup.coordorigin=this.width-t+","+(this.height-l),this.rootGroup.coordsize=this.width/e+","+this.height/e)}},n.pathSvgToVml=function(e){var t,l,n=0,i=0;return e.replace(/([MmLlHhVvCcSs])((?:-?(?:d+)?(?:.d+)?,?s?)+)/g,function(e,a,o){o=o.replace(/(d)-/g,"$1,-").replace(/s+/g,",").split(","),o[0]||o.shift();for(var r=0,s=o.length;s>r;r++)o[r]=Math.round(100*o[r]);switch(a){case"m":return n+=o[0],i+=o[1],"t"+o.join(",");case"M":return n=o[0],i=o[1],"m"+o.join(",");case"l":return n+=o[0],i+=o[1],"r"+o.join(",");case"L":return n=o[0],i=o[1],"l"+o.join(",");case"h":return n+=o[0],"r"+o[0]+",0";case"H":return n=o[0],"l"+n+","+i;case"v":return i+=o[0],"r0,"+o[0];case"V":return i=o[0],"l"+n+","+i;case"c":return t=n+o[o.length-4],l=i+o[o.length-3],n+=o[o.length-2],i+=o[o.length-1],"v"+o.join(",");case"C":return t=o[o.length-4],l=o[o.length-3],n=o[o.length-2],i=o[o.length-1],"c"+o.join(",");case"s":return o.unshift(i-l),o.unshift(n-t),t=n+o[o.length-4],l=i+o[o.length-3],n+=o[o.length-2],i+=o[o.length-1],"v"+o.join(",");case"S":return o.unshift(i+i-l),o.unshift(n+n-t),t=o[o.length-4],l=o[o.length-3],n=o[o.length-2],i=o[o.length-1],"c"+o.join(",");default:return!1}return""}).replace(/z/g,"")};var i=function(t){t=t||{};var l=this,o=i.maps[t.map];this.selectedRegions=[],this.multiSelectRegion=t.multiSelectRegion,this.container=t.container,this.defaultWidth=o.width,this.defaultHeight=o.height,this.color=t.color,this.selectedColor=t.selectedColor,this.hoverColor=t.hoverColor,this.hoverOpacity=t.hoverOpacity,this.setBackgroundColor(t.backgroundColor),this.width=t.container.width(),this.height=t.container.height(),this.resize(),jQuery(window).resize(function(){l.width=t.container.width(),l.height=t.container.height(),l.resize(),l.canvas.setSize(l.width,l.height),l.applyTransform()}),this.canvas=new n(this.width,this.height,t),t.container.append(this.canvas.canvas),this.makeDraggable(),this.rootGroup=this.canvas.createGroup(!0),this.index=i.mapIndex,this.label=jQuery("<div/>").addClass("jqvmap-label").appendTo(jQuery("body")),t.enableZoom&&(jQuery("<div/>").addClass("jqvmap-zoomin").text("+").appendTo(t.container),jQuery("<div/>").addClass("jqvmap-zoomout").html("&#x2212;").appendTo(t.container)),l.countries=[];for(var r in o.pathes){var s=this.canvas.createPath({path:o.pathes[r].path});s.setFill(this.color),s.id=l.getCountryId(r),l.countries[r]=s,"svg"==this.canvas.mode?s.setAttribute("class","jvectormap-region"):jQuery(s).addClass("jvectormap-region"),jQuery(this.rootGroup).append(s)}if(jQuery(t.container).delegate("svg"==this.canvas.mode?"path":"shape","mouseover mouseout",function(n){var i=n.target,a=n.target.id.split("_").pop(),r=e.Event("labelShow.jqvmap"),s=e.Event("regionMouseOver.jqvmap");"mouseover"==n.type?(jQuery(t.container).trigger(s,[a,o.pathes[a].name]),s.isDefaultPrevented()||l.highlight(a,i),t.showTooltip&&(l.label.text(o.pathes[a].name),jQuery(t.container).trigger(r,[l.label,a]),r.isDefaultPrevented()||(l.label.show(),l.labelWidth=l.label.width(),l.labelHeight=l.label.height()))):(l.unhighlight(a,i),l.label.hide(),jQuery(t.container).trigger("regionMouseOut.jqvmap",[a,o.pathes[a].name]))}),jQuery(t.container).delegate("svg"==this.canvas.mode?"path":"shape","click",function(e){if(!t.multiSelectRegion)for(var n in o.pathes)l.countries[n].currentFillColor=l.countries[n].getOriginalFill(),l.countries[n].setFill(l.countries[n].getOriginalFill());var i=e.target,a=e.target.id.split("_").pop();jQuery(t.container).trigger("regionClick.jqvmap",[a,o.pathes[a].name]),-1!==l.selectedRegions.indexOf(a)?l.deselect(a,i):l.select(a,i)}),t.showTooltip&&t.container.mousemove(function(e){l.label.is(":visible")&&l.label.css({left:e.pageX-15-l.labelWidth,top:e.pageY-15-l.labelHeight})}),this.setColors(t.colors),this.canvas.canvas.appendChild(this.rootGroup),this.applyTransform(),this.colorScale=new a(t.scaleColors,t.normalizeFunction,t.valueMin,t.valueMax),t.values&&(this.values=t.values,this.setValues(t.values)),t.selectedRegions)if(t.selectedRegions instanceof Array)for(var c in t.selectedRegions)this.select(t.selectedRegions[c].toLowerCase());else this.select(t.selectedRegions.toLowerCase());this.bindZoomButtons(),i.mapIndex++};i.prototype={transX:0,transY:0,scale:1,baseTransX:0,baseTransY:0,baseScale:1,width:0,height:0,countries:{},countriesColors:{},countriesData:{},zoomStep:1.4,zoomMaxStep:4,zoomCurStep:1,setColors:function(e,t){if("string"==typeof e)this.countries[e].setFill(t),this.countries[e].setAttribute("original",t);else{var l=e;for(var n in l)this.countries[n]&&(this.countries[n].setFill(l[n]),this.countries[n].setAttribute("original",l[n]))}},setValues:function(e){var t,l=0,n=Number.MAX_VALUE;for(var i in e)t=parseFloat(e[i]),t>l&&(l=e[i]),t&&n>t&&(n=t);this.colorScale.setMin(n),this.colorScale.setMax(l);var a={};for(i in e)t=parseFloat(e[i]),a[i]=t?this.colorScale.getColor(t):this.color;this.setColors(a),this.values=e},setBackgroundColor:function(e){this.container.css("background-color",e)},setScaleColors:function(e){this.colorScale.setColors(e),this.values&&this.setValues(this.values)},setNormalizeFunction:function(e){this.colorScale.setNormalizeFunction(e),this.values&&this.setValues(this.values)},highlight:function(t,l){l=l||e("#"+this.getCountryId(t))[0],this.hoverOpacity?l.setOpacity(this.hoverOpacity):this.hoverColor&&(l.currentFillColor=l.getFill()+"",l.setFill(this.hoverColor))},unhighlight:function(t,l){l=l||e("#"+this.getCountryId(t))[0],l.setOpacity(1),l.currentFillColor&&l.setFill(l.currentFillColor)},select:function(t,l){l=l||e("#"+this.getCountryId(t))[0],this.selectedRegions.indexOf(t)<0&&(this.multiSelectRegion?this.selectedRegions.push(t):this.selectedRegions=[t],e(this.container).trigger("regionSelect.jqvmap",[t]),this.selectedColor&&(l.currentFillColor=this.selectedColor,l.setFill(this.selectedColor)))},deselect:function(t,l){l=l||e("#"+this.getCountryId(t))[0],this.selectedRegions.indexOf(t)>=0&&(this.selectedRegions.splice(this.selectedRegions.indexOf(t),1),e(this.container).trigger("regionDeselect.jqvmap",[t]),l.currentFillColor=l.getOriginalFill(),l.setFill(l.getOriginalFill()))},isSelected:function(e){return this.selectedRegions.indexOf(e)>=0},resize:function(){var e=this.baseScale;this.width/this.height>this.defaultWidth/this.defaultHeight?(this.baseScale=this.height/this.defaultHeight,this.baseTransX=Math.abs(this.width-this.defaultWidth*this.baseScale)/(2*this.baseScale)):(this.baseScale=this.width/this.defaultWidth,this.baseTransY=Math.abs(this.height-this.defaultHeight*this.baseScale)/(2*this.baseScale)),this.scale*=this.baseScale/e,this.transX*=this.baseScale/e,this.transY*=this.baseScale/e},reset:function(){this.countryTitle.reset();for(var e in this.countries)this.countries[e].setFill(i.defaultColor);this.scale=this.baseScale,this.transX=this.baseTransX,this.transY=this.baseTransY,this.applyTransform()},applyTransform:function(){var e,t,l,n;this.defaultWidth*this.scale<=this.width?(e=(this.width-this.defaultWidth*this.scale)/(2*this.scale),l=(this.width-this.defaultWidth*this.scale)/(2*this.scale)):(e=0,l=(this.width-this.defaultWidth*this.scale)/this.scale),this.defaultHeight*this.scale<=this.height?(t=(this.height-this.defaultHeight*this.scale)/(2*this.scale),n=(this.height-this.defaultHeight*this.scale)/(2*this.scale)):(t=0,n=(this.height-this.defaultHeight*this.scale)/this.scale),this.transY>t?this.transY=t:this.transY<n&&(this.transY=n),this.transX>e?this.transX=e:this.transX<l&&(this.transX=l),this.canvas.applyTransformParams(this.scale,this.transX,this.transY)},makeDraggable:function(){var e,t,l=!1,n=this;n.isMoving=!1,n.isMovingTimeout=!1,this.container.mousemove(function(i){return l&&(n.transX,n.transY,n.transX-=(e-i.pageX)/n.scale,n.transY-=(t-i.pageY)/n.scale,n.applyTransform(),e=i.pageX,t=i.pageY,n.isMoving=!0,n.isMovingTimeout&&clearTimeout(n.isMovingTimeout)),!1}).mousedown(function(n){return l=!0,e=n.pageX,t=n.pageY,!1}).mouseup(function(){return l=!1,n.isMovingTimeout=setTimeout(function(){n.isMoving=!1},100),!1})},bindZoomButtons:function(){var e=this,t=(jQuery("#zoom").innerHeight()-12-30-6-7-6)/(this.zoomMaxStep-this.zoomCurStep);this.container.find(".jqvmap-zoomin").click(function(){e.zoomCurStep<e.zoomMaxStep&&(e.transX,e.transY,e.scale,e.transX-=(e.width/e.scale-e.width/(e.scale*e.zoomStep))/2,e.transY-=(e.height/e.scale-e.height/(e.scale*e.zoomStep))/2,e.setScale(e.scale*e.zoomStep),e.zoomCurStep++,jQuery("#zoomSlider").css("top",parseInt(jQuery("#zoomSlider").css("top"),10)-t))}),this.container.find(".jqvmap-zoomout").click(function(){e.zoomCurStep>1&&(e.transX,e.transY,e.scale,e.transX+=(e.width/(e.scale/e.zoomStep)-e.width/e.scale)/2,e.transY+=(e.height/(e.scale/e.zoomStep)-e.height/e.scale)/2,e.setScale(e.scale/e.zoomStep),e.zoomCurStep--,jQuery("#zoomSlider").css("top",parseInt(jQuery("#zoomSlider").css("top"),10)+t))})},setScale:function(e){this.scale=e,this.applyTransform()},getCountryId:function(e){return"jqvmap"+this.index+"_"+e}},i.xlink="http://www.w3.org/1999/xlink",i.mapIndex=1,i.maps={};var a=function(e,t,l,n){e&&this.setColors(e),t&&this.setNormalizeFunction(t),l&&this.setMin(l),l&&this.setMax(n)};a.prototype={colors:[],setMin:function(e){this.clearMinValue=e,this.minValue="function"==typeof this.normalize?this.normalize(e):e},setMax:function(e){this.clearMaxValue=e,this.maxValue="function"==typeof this.normalize?this.normalize(e):e},setColors:function(e){for(var t=0;t<e.length;t++)e[t]=a.rgbToArray(e[t]);this.colors=e},setNormalizeFunction:function(e){"polynomial"===e?this.normalize=function(e){return Math.pow(e,.2)}:"linear"===e?delete this.normalize:this.normalize=e,this.setMin(this.clearMinValue),this.setMax(this.clearMaxValue)},getColor:function(e){"function"==typeof this.normalize&&(e=this.normalize(e));for(var t,l=[],n=0,i=0;i<this.colors.length-1;i++)t=this.vectorLength(this.vectorSubtract(this.colors[i+1],this.colors[i])),l.push(t),n+=t;var a=(this.maxValue-this.minValue)/n;for(i=0;i<l.length;i++)l[i]*=a;for(i=0,e-=this.minValue;e-l[i]>=0;)e-=l[i],i++;var o;for(o=i==this.colors.length-1?this.vectorToNum(this.colors[i]).toString(16):this.vectorToNum(this.vectorAdd(this.colors[i],this.vectorMult(this.vectorSubtract(this.colors[i+1],this.colors[i]),e/l[i]))).toString(16);o.length<6;)o="0"+o;return"#"+o},vectorToNum:function(e){for(var t=0,l=0;l<e.length;l++)t+=Math.round(e[l])*Math.pow(256,e.length-l-1);return t},vectorSubtract:function(e,t){for(var l=[],n=0;n<e.length;n++)l[n]=e[n]-t[n];return l},vectorAdd:function(e,t){for(var l=[],n=0;n<e.length;n++)l[n]=e[n]+t[n];return l},vectorMult:function(e,t){for(var l=[],n=0;n<e.length;n++)l[n]=e[n]*t;return l},vectorLength:function(e){for(var t=0,l=0;l<e.length;l++)t+=e[l]*e[l];return Math.sqrt(t)}},a.arrayToRgb=function(e){for(var t,l="#",n=0;n<e.length;n++)t=e[n].toString(16),l+=1==t.length?"0"+t:t;return l},a.rgbToArray=function(e){return e=e.substr(1),[parseInt(e.substr(0,2),16),parseInt(e.substr(2,2),16),parseInt(e.substr(4,2),16)]}}(jQuery);
?>
Онлайн: 2
Реклама