1 | 9 | unreal | // -------------------------------------------------------- |
2 | | | // This script made by JKLIR as. Unreal][ [http://jklir.net] |
3 | | | // Map engine originally from Emcee Lam [http://sjsutech.com] |
4 | | | // Licence: GNU/GPL |
5 | | | // (c) 2011 All rights reserved |
6 | | | // -------------------------------------------------------- |
7 | | | |
8 | | | var mainMap;var magnifier;var node=new Array();var nodecount;var file_nodes=new Array();var file_noping=new Array();var file_links=new Array();var file_infopoints=new Array();var file_state=new Array();var ann;var m1;var m2;var m3;var m4;var m5;var m6;var m7;var m8;var m9;var m1_a;var m2_a;var m3_a;var m4_a;var m5_a;var m6_a;var m7_a;var m8_a;var m9_a;var cntm;var div_paint;var div_points;var div_wave;var div_infopoint;var div_name;var div_ip;var div_status;var numoflinks=0;var maxnumoflinks=17;var is_ie=false;if(typeof(G_vmlCanvasManager)!='undefined'){is_ie=true;} |
9 | | | actual_links="";var drawing_timer;var is_adding=true;Array.prototype.max=function(){var max=this[0];var len=this.length;for(var i=1;i<len;i++)if(this[i]>max)max=this[i];return max;} |
10 | | | Array.prototype.min=function(){var min=this[0];var len=this.length;for(var i=1;i<len;i++)if(this[i]<min)min=this[i];return min;} |
11 | | | function mapInit(startzoom){magnifier=new Magnifier();mainMap=new MainMap(startzoom);var miniMapDiv=document.getElementById("miniMapInner");miniMapDiv.onmousedown=function(event){return magnifier.startMove(event)};miniMapDiv.onmousemove=function(event){return magnifier.processMove(event)};miniMapDiv.onmouseup=function(event){return magnifier.stopMove(event)};miniMapDiv.ondragstart=function(){return false;}} |
12 | | | function Magnifier(){var this1=this;this.f_dragging=false;this.div=document.getElementById("magnifier");this.div.ondragstart=function(){return false;} |
13 | | | this.div.onmousedown=function(event){return this1.startMove(event)};this.div.onmousemove=function(event){return this1.processMove(event)};this.div.onmouseup=function(event){return this1.stopMove(event)};} |
14 | | | Magnifier.prototype.startMove=function(event){if(!event)event=window.event;var magnifierDiv=document.getElementById("magnifier");this.dragStartLeft=event.clientX;this.dragStartTop=event.clientY;this.top=magnifierDiv.offsetTop;this.left=magnifierDiv.offsetLeft;this.f_dragging=true;return false;} |
15 | | | Magnifier.prototype.processMove=function(event){var magnifierDiv=this.div;if(!event)event=window.event;if(this.f_dragging){var minX=0;var maxX=magres_x-magnifierDiv.offsetWidth;var minY=0;var maxY=magres_y-magnifierDiv.offsetHeight;var shiftedLeft=this.left+(event.clientX-this.dragStartLeft);if(shiftedLeft<minX)shiftedLeft=minX;if(shiftedLeft>maxX)shiftedLeft=maxX;magnifierDiv.style.left=shiftedLeft+"px";var shiftedTop=this.top+(event.clientY-this.dragStartTop);if(shiftedTop<minY)shiftedTop=minY;if(shiftedTop>maxY)shiftedTop=maxY;magnifierDiv.style.top=shiftedTop+"px";mainMap.setViewPort();}} |
16 | | | Magnifier.prototype.stopMove=function(event){this.f_dragging=false;is_adding=true;checkLinks();} |
17 | | | Magnifier.prototype.setSize=function(innerDivWidth,innerDivHeight){var magnifierWidth=Math.round((magres_x*inres_x)/innerDivWidth)-2;var magnifierHeight=Math.round((magres_y*inres_y)/innerDivHeight)-2;var magnifierDiv=document.getElementById("magnifier");magnifierDiv.style.width=magnifierWidth+"px";magnifierDiv.style.height=magnifierHeight+"px";document.getElementById("wrapper").style.width=inres_x+document.getElementById("menuset").clientWidth+18+"px";} |
18 | | | Magnifier.prototype.setPosition=function(){var innerDiv=document.getElementById("innerDiv");var innerDivWidth=innerDiv.clientWidth;var innerDivHeight=innerDiv.clientHeight;var innerDivLeft=innerDiv.offsetLeft;var innerDivTop=innerDiv.offsetTop;this.left=Math.round(Math.abs(innerDivLeft)*magres_x/innerDivWidth);this.top=Math.round(Math.abs(innerDivTop)*magres_y/innerDivHeight);var magnifierDiv=this.div;magnifierDiv.style.left=this.left+"px";magnifierDiv.style.top=this.top+"px";} |
19 | | | function MainMap(zoomfirst){var this1=this;this.viewPortWidth=inres_x;this.viewPortHeight=inres_y;this.tileSize=256;this.f_dragging=false;this.innerDiv=document.getElementById("innerDiv");this.innerDiv.style.cursor="url('grab.cur'), default";var outerDiv=document.getElementById("outerDiv");this.outerDiv=outerDiv;outerDiv.style.width=inres_x+"px";outerDiv.style.height=inres_y+"px";var underMap=document.getElementById("underMap");underMap.style.width=(inres_x-4)+"px";outerDiv.onmousedown=function(event){return this1.startMove(event)};outerDiv.onmousemove=function(event){return this1.processMove(event)};outerDiv.onmouseup=function(event){return this1.stopMove(event)};outerDiv.ondblclick=function(event){return this1.doubleClick()};outerDiv.ondragstart=function(){return false;} |
20 | | | if(zoomfirst==eq_mini){zf=0;} |
21 | | | else if(zoomfirst==eq_medi){zf=1;} |
22 | | | else if(zoomfirst==eq_high){zf=2;} |
23 | | | else if(zoomfirst==eq_orig){zf=3;} |
24 | | | else{zf=0;} |
25 | | | this.zoom=zf;this.zoomDim=[{width:parseInt(full_x*eq_mini),height:parseInt(full_y*eq_mini),size:1,nasobek:eq_mini,numoflinks:17},{width:parseInt(full_x*eq_medi),height:parseInt(full_y*eq_medi),size:2,nasobek:eq_medi,numoflinks:12},{width:parseInt(full_x*eq_high),height:parseInt(full_y*eq_high),size:3,nasobek:eq_high,numoflinks:10},{width:parseInt(full_x*eq_orig),height:parseInt(full_y*eq_orig),size:4,nasobek:eq_orig,numoflinks:7},] |
26 | | | var zoomElt=this.zoomDim[this.zoom];this.setInnerDivSize(zoomElt.width,zoomElt.height,zoomElt.size,(parseInt(zoomfirst*1000)/10));document.getElementById("zoom"+this.zoom).className="active";var innerDiv=document.getElementById("innerDiv");innerDiv.style.left=-(start_left*start_mul)+"px";innerDiv.style.top=-(start_top*start_mul)+"px";magnifier.setPosition();this.checkTiles();} |
27 | | | MainMap.prototype.startMove=function(event){if(!event)event=window.event;this.dragStartLeft=event.clientX;this.dragStartTop=event.clientY;var innerDiv=this.innerDiv;innerDiv.style.cursor="url('grabbing.cur'), default";this.top=innerDiv.offsetTop;this.left=innerDiv.offsetLeft;this.f_dragging=true;is_adding=true;window.clearInterval(drawing_timer);drawing_timer=window.setInterval(checkLinks,1100);return false;} |
28 | | | MainMap.prototype.processMove=function(event){var zoomElt=this.zoomDim[this.zoom];var maxY=0;var minY=-(zoomElt.height-this.viewPortHeight);var maxX=0;var minX=-(zoomElt.width-this.viewPortWidth);if(!event)event=window.event;var innerDiv=this.innerDiv;if(this.f_dragging){var shiftedTop=this.top+(event.clientY-this.dragStartTop);if(shiftedTop>maxY)shiftedTop=maxY;if(shiftedTop<minY)shiftedTop=minY;innerDiv.style.top=shiftedTop+"px";var shiftedLeft=this.left+(event.clientX-this.dragStartLeft);if(shiftedLeft>maxX)shiftedLeft=maxX;if(shiftedLeft<minX)shiftedLeft=minX;innerDiv.style.left=shiftedLeft+"px";this.checkTiles();magnifier.setPosition();} |
29 | | | var konst=0;var nasobek=this.zoomDim[this.zoom].nasobek;if(is_ie){konst=-2;} |
30 | | | var outerDiv=this.outerDiv;var infoDiv=document.getElementById("infoDiv");if(this.f_dragging){infoDiv.innerHTML=parseInt((Math.abs(shiftedLeft)+event.clientX-outerDiv.offsetLeft+konst)/nasobek)+" x "+parseInt((Math.abs(shiftedTop)+event.clientY-outerDiv.offsetTop+konst)/nasobek);}else{infoDiv.innerHTML=parseInt((Math.abs(parseInt(innerDiv.style.left))+event.clientX-outerDiv.offsetLeft+konst)/nasobek)+" x "+parseInt((Math.abs(parseInt(innerDiv.style.top))+event.clientY-outerDiv.offsetTop+konst)/nasobek);}} |
31 | | | MainMap.prototype.checkZoom=function(){window.clearInterval(drawing_timer);var zoomElt=this.zoomDim[this.zoom];var maxY=0;var minY=-(zoomElt.height-this.viewPortHeight);var maxX=0;var minX=-(zoomElt.width-this.viewPortWidth);var chcky=0;var chckx=0;var innerDiv=this.innerDiv;var shiftedTop=innerDiv.offsetTop;if(shiftedTop>maxY){shiftedTop=maxY;chcky=1;} |
32 | | | if(shiftedTop<minY){shiftedTop=minY;chcky=1;} |
33 | | | if(chcky==1)innerDiv.style.top=shiftedTop+"px";var shiftedLeft=innerDiv.offsetLeft;if(shiftedLeft>maxX){shiftedLeft=maxX;chckx=1;} |
34 | | | if(shiftedLeft<minX){shiftedLeft=minX;chckx=1;} |
35 | | | if(chckx==1)innerDiv.style.left=shiftedLeft+"px";magnifier.setPosition();document.getElementById("zoom0").className="";document.getElementById("zoom1").className="";document.getElementById("zoom2").className="";document.getElementById("zoom3").className="";document.getElementById("zoom"+this.zoom).className="active";} |
36 | | | MainMap.prototype.checkTiles=function(){var innerDiv=this.innerDiv;var tileSize=this.tileSize;var visibleTiles=this.getVisibleTiles();var visibleTilesMap={};var i;var size=this.zoomDim[this.zoom].size;for(i=0;i<visibleTiles.length;i++){var tile=visibleTiles[i];var xy="x"+tile.x+"y"+tile.y;var tileName=xy+"z"+this.zoom;visibleTilesMap[tileName]=true;var img=document.getElementById(tileName);if(!img){img=document.createElement("img");img.src="size"+size+"/"+xy+".jpg";img.style.position="absolute";img.style.left=(tile.x*tileSize)+"px";img.style.top=(tile.y*tileSize)+"px";img.setAttribute("id",tileName);innerDiv.appendChild(img);}} |
37 | | | var imgs=innerDiv.getElementsByTagName("img");for(i=0;i<imgs.length;i++){var id=imgs[i].getAttribute("id");if(!visibleTilesMap[id]){innerDiv.removeChild(imgs[i]);i--;}}} |
38 | | | MainMap.prototype.getVisibleTiles=function(){var innerDiv=this.innerDiv;var mapX=innerDiv.offsetLeft;var mapY=innerDiv.offsetTop;var tileSize=this.tileSize;var startX=Math.abs(Math.floor(mapX/tileSize))-1;if(startX<0)startX=0;var startY=Math.abs(Math.floor(mapY/tileSize))-1;if(startY<0)startY=0;var tilesX=Math.ceil(this.viewPortWidth/tileSize)+1;var tilesY=Math.ceil(this.viewPortHeight/tileSize)+1;var visibleTiles=[];var counter=0;for(x=startX;x<(tilesX+startX);x++){for(y=startY;y<(tilesY+startY);y++){var tile={};tile.x=x;tile.y=y;visibleTiles[counter++]=tile;}} |
39 | | | return visibleTiles;} |
40 | | | MainMap.prototype.stopMove=function(event){window.clearInterval(drawing_timer);checkLinks();is_adding=false;checkLinks();this.innerDiv.style.cursor="url('grab.cur'), default";this.f_dragging=false;} |
41 | | | MainMap.prototype.setViewPort=function(){var magDiv=document.getElementById("magnifier");var innerDiv=this.innerDiv;var magLeft=magDiv.offsetLeft;var magTop=magDiv.offsetTop;var innerDivWidth=innerDiv.clientWidth;var innerDivHeight=innerDiv.clientHeight;var innerDivLeftMin=inres_x-innerDivWidth;var innerDivLeft=Math.round((-magLeft)*innerDivWidth/magres_x);if(innerDivLeft<innerDivLeftMin)innerDivLeft=innerDivLeftMin;innerDiv.style.left=innerDivLeft+"px";var innerDivTopMin=inres_y-innerDivHeight;var innerDivTop=Math.round((-magTop)*innerDivHeight/magres_y);if(innerDivTop<innerDivTopMin)innerDivTop=innerDivTopMin;innerDiv.style.top=innerDivTop+"px";this.checkTiles();} |
42 | | | MainMap.prototype.setInnerDivSize=function(width,height,size,percent){var innerDiv=this.innerDiv;innerDiv.style.width=width+"px";innerDiv.style.height=height+"px";magnifier.setPosition();magnifier.setSize(width,height);var resolutionInfo=document.getElementById("resolutionInfo");resolutionInfo.innerHTML=percent+"%, "+width+" x "+height+"px";} |
43 | | | MainMap.prototype.setZoom=function(newZoom){is_adding=true;if(this.zoom==newZoom)return;window.clearInterval(drawing_timer);actual_links="";numoflinks=0;var oldZ=this.zoomDim[this.zoom];var newZ=this.zoomDim[newZoom];var innerDiv=this.innerDiv;var imgs=innerDiv.getElementsByTagName("img");while(imgs.length>0){innerDiv.removeChild(imgs[0]);} |
44 | | | var oldLeft=innerDiv.offsetLeft;var oldTop=innerDiv.offsetTop;var wdth=Math.round(((magres_x*inres_x)/newZ.width)-2);var hght=Math.round(((magres_y*inres_y)/newZ.height)-2);var wdth2=Math.round(((magres_x*inres_x)/oldZ.width)-2);var hght2=Math.round(((magres_y*inres_y)/oldZ.height)-2);innerDiv.style.left=Math.round(Math.round(newZ.width*oldLeft/oldZ.width)+((wdth-wdth2)*4))+"px";innerDiv.style.top=Math.round(Math.round(newZ.height*oldTop/oldZ.height)+((hght-hght2)*4))+"px";this.zoom=newZoom;this.setInnerDivSize(newZ.width,newZ.height,newZ.size,(newZ.nasobek*1000)/10);maxnumoflinks=newZ.numoflinks;this.checkZoom();this.checkTiles();deleteNames();canvasInit(newZ.nasobek);} |
45 | | | MainMap.prototype.doubleClick=function(){if(this.zoom==3)return;this.setZoom(this.zoom+1);} |
46 | | | MainMap.prototype.addNewLinks=function(minx,maxx,miny,maxy,linkname){var innerDiv=this.innerDiv;var frameLeft=-innerDiv.offsetLeft;var frameTop=-innerDiv.offsetTop;var frameRight=frameLeft+inres_x;var frameBottom=frameTop+inres_y;var regexp=new RegExp(linkname+' ','gi');if(!regexp.test(actual_links)){return(minx<=frameRight&&frameLeft<=maxx&&miny<=frameBottom&&frameTop<=maxy);}} |
47 | | | MainMap.prototype.removeOldLinks=function(minx,maxx,miny,maxy,linkname){var innerDiv=this.innerDiv;var frameLeft=-innerDiv.offsetLeft;var frameTop=-innerDiv.offsetTop;var frameRight=frameLeft+inres_x;var frameBottom=frameTop+inres_y;var regexp=new RegExp(linkname+' ','gi');if(regexp.test(actual_links)&&numoflinks>=maxnumoflinks){if(!(minx<=frameRight&&frameLeft<=maxx&&miny<=frameBottom&&frameTop<=maxy)){actual_links=actual_links.replace(regexp,"");var linkDOM=document.getElementById(linkname);if(is_ie){linkDOM.parentNode.parentNode.removeChild(linkDOM.parentNode);}else{linkDOM.parentNode.removeChild(linkDOM);} |
48 | | | numoflinks--;return;}}} |
49 | | | function canvasInit(nasobek){is_adding=true;actual_links="";numoflinks=0;div_paint=document.getElementById("paint");div_points=document.getElementById("mapstats_points");div_wave=document.getElementById("mapstats_wave");div_infopoint=document.getElementById("mapstats_infopoint");div_name=document.getElementById("mapstats_name");div_ip=document.getElementById("mapstats_ip");div_status=document.getElementById("mapstats_status");div_paint.style.width=parseInt(full_x*nasobek)+"px";div_paint.style.height=parseInt(full_y*nasobek)+"px";var mapstats_over=document.getElementById("mapstats_over");mapstats_over.style.width=parseInt(full_x*nasobek)+"px";mapstats_over.style.height=parseInt(full_y*nasobek)+"px";ann=nasobek;var pozdrav2=new Array();var pozdr=new Array();var pozdrav=file_nodes.split('\n');var pozdrav1=file_noping.split('\n');var a_cnt=0;var p0count=pozdrav.length;var p1count=pozdrav1.length;for(a=0;a<p0count;a++){if(pozdrav[a]!=false){node[a]=new Array();pozdrav2=pozdrav[a].split(';');for(b=0;b<pozdrav2.length;b++){node[a][b]=pozdrav2[b];} |
50 | | | a_cnt++;}} |
51 | | | for(e=0;e<p1count;e++){if(pozdrav1[e]!=false){node[(e+a_cnt)]=new Array();pozdr=pozdrav1[e].split(';');for(f=0;f<pozdr.length;f++){node[(e+a_cnt)][f]=pozdr[f];}}} |
52 | | | nodecount=node.length;var pozdrav3=new Array();var pozdrav4=new Array();var size;var clrlnk;m1=0;m1_a=0;m2=0;m2_a=0;m3=0;m3_a=0;m4=0;m4_a=0;m5=0;m5_a=0;m6=0;m6_a=0;m7=0;m7_a=0;m8=0;m8_a=0;m9=0;m9_a=0;cntm=0;checkLinks();cntm=m1+m2+m3+m4+m5+m6+m7+m8+m9+m1_a+m2_a+m3_a+m4_a+m5_a+m6_a+m7_a+m8_a+m9_a;var pozdrav5=new Array();var pozdrav6=new Array();if(ch_infopoint){if(file_infopoints.length>0){pozdrav5=file_infopoints.split('\n');for(d=0;d<pozdrav5.length;d++){if(pozdrav5[d]!=false){pozdrav6=pozdrav5[d].split(';');if(ch_name){drawInfo(pozdrav6[0],pozdrav6[1],pozdrav6[2],nasobek);} |
53 | | | drawInfoPoint(pozdrav6[1],pozdrav6[2],nasobek);}}}} |
54 | | | for(e=0;e<p1count;e++){if(pozdrav1[e]!=""){if(ch_noping){if(node[(a_cnt+e)][3]==1){drawClient(node[(a_cnt+e)][1],node[(a_cnt+e)][2],nasobek);if(ch_name){drawName(node[(a_cnt+e)][0],(node[(a_cnt+e)][1])-1,(node[(a_cnt+e)][2])-1,nasobek)}} |
55 | | | if(node[(a_cnt+e)][3]==2){drawSwitch(node[(a_cnt+e)][1],node[(a_cnt+e)][2],nasobek);}}}} |
56 | | | var pozdrav7=file_state.split('\n');var pozdrav8=new Array();var clrpnt;var x_pos;var y_pos;var name_pos;var title_pos;var p7count=pozdrav7.length;for(c=0;c<p7count;c++){if(pozdrav7[c]!=false){pozdrav8=pozdrav7[c].split(';');if(pozdrav8[1]==1){clrpnt="on";pozdrav8[2]=pozdrav8[2]+' ms';}else{clrpnt="off";pozdrav8[2]="offline";} |
57 | | | if(pozdrav8[0]!=node[c][4]){x_pos=ip2sour(pozdrav8[0],1);y_pos=ip2sour(pozdrav8[0],2);name_pos=ip2sour(pozdrav8[0],0);title_pos=ip2sour(pozdrav8[0],3);}else{x_pos=node[c][1];y_pos=node[c][2];name_pos=node[c][0];title_pos=node[c][3];} |
58 | | | if(title_pos.toLowerCase()=="ap"){if(ch_ap){drawAP(x_pos,y_pos,nasobek);drawNode(x_pos,y_pos,nasobek,clrpnt);if(ch_name){drawName(name_pos,x_pos,y_pos,nasobek);} |
59 | | | if((ch_ip)&&(ch_status)){drawStatus(pozdrav8[2],x_pos,y_pos,nasobek);drawIP(pozdrav8[0],x_pos,y_pos,nasobek);}else if((!ch_ip)&&(ch_status)){drawStatus(pozdrav8[2],x_pos,y_pos-parseInt(12/nasobek),nasobek);}else if((ch_ip)&&(!ch_status)){drawIP(pozdrav8[0],x_pos,y_pos,nasobek);}}}else if(title_pos.toLowerCase()=="router"){if(ch_router){drawNode(x_pos,y_pos,nasobek,clrpnt);if(ch_name){drawName(name_pos,x_pos,y_pos,nasobek);} |
60 | | | if(ch_status){drawStatus(pozdrav8[2],x_pos,y_pos-parseInt(12/nasobek),nasobek);}}}else{if(ch_node){drawNode(x_pos,y_pos,nasobek,clrpnt);if(ch_name){drawName(name_pos,x_pos,y_pos,nasobek);}}}}} |
61 | | | var legend=document.getElementById('legend');if((ch_legend)&&(cntm>0)){drawLegend();legend.style.display="block";}else{legend.style.display="none";}} |
62 | | | function drawLink(pos,size,nas,color){var linkname="canvas"+pos.replace(/(#|&|_|\.|\:)/gi,"");var points=new Array();var posxy=new Array();var coordinates=new Array();var cor_x=new Array();var cor_y=new Array();points=pos.split('#');var reg=/(\d+)&(\d+)/;for(i=0;i<points.length;i++){if(reg.test(points[i])){posxy=points[i].split('&');coordinates[i*2]=parseInt(posxy[0]*nas);coordinates[i*2+1]=parseInt(posxy[1]*nas);cor_x.push(coordinates[i*2]);cor_y.push(coordinates[i*2+1]);}else{coordinates[i*2]=parseInt(node2sour(points[i],1)*nas);coordinates[i*2+1]=parseInt(node2sour(points[i],2)*nas);cor_x.push(coordinates[i*2]);cor_y.push(coordinates[i*2+1]);}} |
63 | | | var maxX=cor_x.max();var minX=cor_x.min();var maxY=cor_y.max();var minY=cor_y.min();if(is_adding){if(!mainMap.addNewLinks(minX,maxX,minY,maxY,linkname))return;}else{if(!mainMap.removeOldLinks(minX,maxX,minY,maxY,linkname))return;} |
64 | | | numoflinks++;actual_links=actual_links+linkname+" ";var canvas=document.createElement("canvas");canvas.width=maxX-minX+10;canvas.height=maxY-minY+10;canvas.id=linkname;if(is_ie){var div=document.createElement("div");div.style.width=maxX-minX+10+"px";div.style.height=maxY-minY+10+"px";div.style.position="absolute";div.style.left=(minX-5)+"px";div.style.top=(minY-5)+"px";div.appendChild(canvas);div_paint.appendChild(div);G_vmlCanvasManager.initElement(canvas);}else{canvas.setAttribute("style","position:absolute;left:"+(minX-5)+"px;top:"+(minY-5)+"px;");div_paint.appendChild(canvas);} |
65 | | | var ctx=document.getElementById(linkname).getContext('2d');minX-=5;minY-=5;ctx.lineJoin="round";ctx.strokeStyle="rgb(20, 20, 20)";ctx.lineWidth=size+1;ctx.beginPath();ctx.moveTo(coordinates[0]-minX,coordinates[1]-minY);for(i=2;i<coordinates.length;i+=2){ctx.lineTo(coordinates[i]-minX,coordinates[i+1]-minY);} |
66 | | | ctx.stroke();ctx.lineJoin="round";ctx.strokeStyle="rgb(0, 0, 0)";ctx.lineWidth=size+1;ctx.beginPath();ctx.moveTo(coordinates[0]-minX,coordinates[1]-minY);for(i=2;i<coordinates.length;i+=2){ctx.lineTo(coordinates[i]-minX,coordinates[i+1]-minY);} |
67 | | | ctx.stroke();ctx.lineJoin="round";ctx.strokeStyle=color;ctx.lineWidth=size-1;ctx.beginPath();ctx.moveTo(coordinates[0]-minX,coordinates[1]-minY);for(i=2;i<coordinates.length;i+=2){ctx.lineTo(coordinates[i]-minX,coordinates[i+1]-minY);} |
68 | | | ctx.stroke();} |
69 | | | function drawINPLink(pos,size,nas,color){var linkname="canvas"+pos.replace(/(#|&|_|\.|\:)/gi,"");var points=new Array();var posxy=new Array();var coordinates=new Array();var cor_x=new Array();var cor_y=new Array();points=pos.split('#');var reg=/(\d+)&(\d+)/;for(i=0;i<points.length;i++){if(reg.test(points[i])){posxy=points[i].split('&');coordinates[i*2]=parseInt(posxy[0]*nas);coordinates[i*2+1]=parseInt(posxy[1]*nas);cor_x.push(coordinates[i*2]);cor_y.push(coordinates[i*2+1]);}else{coordinates[i*2]=parseInt(node2sour(points[i],1)*nas);coordinates[i*2+1]=parseInt(node2sour(points[i],2)*nas);cor_x.push(coordinates[i*2]);cor_y.push(coordinates[i*2+1]);}} |
70 | | | var maxX=cor_x.max();var minX=cor_x.min();var maxY=cor_y.max();var minY=cor_y.min();if(is_adding){if(!mainMap.addNewLinks(minX,maxX,minY,maxY,linkname))return;}else{if(!mainMap.removeOldLinks(minX,maxX,minY,maxY,linkname))return;} |
71 | | | numoflinks++;actual_links=actual_links+linkname+" ";var canvas=document.createElement("canvas");canvas.width=maxX-minX+10;canvas.height=maxY-minY+10;canvas.id=linkname;if(is_ie){var div=document.createElement("div");div.style.width=maxX-minX+10+"px";div.style.height=maxY-minY+10+"px";div.style.position="absolute";div.style.left=(minX-5)+"px";div.style.top=(minY-5)+"px";div.appendChild(canvas);div_paint.appendChild(div);G_vmlCanvasManager.initElement(canvas);}else{canvas.setAttribute("style","position:absolute;left:"+(minX-5)+"px;top:"+(minY-5)+"px;");div_paint.appendChild(canvas);} |
72 | | | var ctx=document.getElementById(linkname).getContext('2d');minX-=5;minY-=5;ctx.lineJoin="round";ctx.strokeStyle="rgba(0, 0, 0, 0.1)";ctx.lineWidth=size+1.5;ctx.beginPath();ctx.moveTo(coordinates[0]-minX,coordinates[1]-minY);for(i=2;i<coordinates.length;i+=2){ctx.lineTo(coordinates[i]-minX,coordinates[i+1]-minY);} |
73 | | | ctx.stroke();ctx.lineJoin="round";ctx.strokeStyle=color;ctx.lineWidth=size+0.5;ctx.beginPath();ctx.moveTo(coordinates[0]-minX,coordinates[1]-minY);for(i=2;i<coordinates.length;i+=2){ctx.lineTo(coordinates[i]-minX,coordinates[i+1]-minY);} |
74 | | | ctx.stroke();} |
75 | | | function checkLinks(){if(file_links.length>0){pozdrav3=file_links.split('\n');var p3count=pozdrav3.length;for(a=0;a<p3count;a++){if(pozdrav3[a]!=false){pozdrav4=pozdrav3[a].split(';');if(pozdrav4[1].toLowerCase()=="backbone"){size=4.1;}else{size=2.7;} |
76 | | | if(pozdrav4[2].toLowerCase()!="inp"){if(pozdrav4[3]==1){clrlnk=wifi_client;m1=1;} |
77 | | | else if(pozdrav4[3]==2){clrlnk=wifi_backbone;m2=1;} |
78 | | | else if(pozdrav4[3]==3){clrlnk=eth_100;m3=1;} |
79 | | | else if(pozdrav4[3]==4){clrlnk=fso;m4=1;} |
80 | | | else if(pozdrav4[3]==5){clrlnk=fso_backup;m5=1;} |
81 | | | else if(pozdrav4[3]==6){clrlnk=ghz5;m6=1;} |
82 | | | else if(pozdrav4[3]==7){clrlnk=ghz10;m7=1;} |
83 | | | else if(pozdrav4[3]==8){clrlnk=fiber;m8=1;} |
84 | | | else{clrlnk=other;m9=1;}}else{if(pozdrav4[3]==1){clrlnk=wifi_client_a;m1_a=1;} |
85 | | | else if(pozdrav4[3]==2){clrlnk=wifi_backbone_a;m2_a=1;} |
86 | | | else if(pozdrav4[3]==3){clrlnk=eth_100_a;m3_a=1;} |
87 | | | else if(pozdrav4[3]==4){clrlnk=fso_a;m4_a=1;} |
88 | | | else if(pozdrav4[3]==5){clrlnk=fso_backup_a;m5_a=1;} |
89 | | | else if(pozdrav4[3]==6){clrlnk=ghz5_a;m6_a=1;} |
90 | | | else if(pozdrav4[3]==7){clrlnk=ghz10_a;m7_a=1;} |
91 | | | else if(pozdrav4[3]==8){clrlnk=fiber_a;m8_a=1;} |
92 | | | else{clrlnk=other_a;m9_a=1;}} |
93 | | | if(pozdrav4[2].toLowerCase()!="inp"){if((ch_backbone&&size==4.1)||(ch_client&&size==2.7)){drawLink(pozdrav4[0],size,ann,clrlnk);}}else{if(ch_inp){drawINPLink(pozdrav4[0],size-1,ann,clrlnk);}}}}}} |
94 | | | function drawNode(xo,yo,nas,img){xo=parseInt((xo*nas)-7);yo=parseInt((yo*nas)-7);var text='<div class="node" style="position:absolute;left:'+xo+'px;top:'+yo+'px;background:url(\''+img+'.png\');" unselectable = "on"></div>';div_points.innerHTML+=text;} |
95 | | | function drawAP(xn,yn,nas){xn=parseInt((xn*nas)-31);yn=parseInt((yn*nas)-17);var text='<div class="ap" style="position:absolute;left:'+xn+'px;top:'+yn+'px;" unselectable = "on"></div>';div_wave.innerHTML+=text;} |
96 | | | function drawClient(xc,yc,nas){xc=parseInt((xc*nas)-7);yc=parseInt((yc*nas)-7);var text='<div class="client" style="position:absolute;left:'+xc+'px;top:'+yc+'px;" unselectable = "on"></div>';div_wave.innerHTML+=text;} |
97 | | | function drawSwitch(xs,ys,nas){xs=parseInt((xs*nas)-6);ys=parseInt((ys*nas)-6);var text='<div class="switch" style="position:absolute;left:'+xs+'px;top:'+ys+'px;" unselectable = "on"></div>';div_wave.innerHTML+=text;} |
98 | | | function drawInfoPoint(xl,yl,nas){xl=parseInt((xl*nas)-7);yl=parseInt((yl*nas)-7);var text='<div class="infopoint" style="position:absolute;left:'+xl+'px;top:'+yl+'px;" unselectable = "on"></div>';div_wave.innerHTML+=text;} |
99 | | | function drawInfo(txt,xa,ya,nas){xa=parseInt((xa*nas)+6);ya=parseInt((ya*nas)-13);var text='<div class="stitek" style="position:absolute;left:'+xa+'px;top:'+ya+'px;" unselectable = "on">'+txt+'</div>';div_infopoint.innerHTML+=text;} |
100 | | | function drawName(txt,xa,ya,nas){xa=parseInt((xa*nas)+6);ya=parseInt((ya*nas)-13);var text='<div class="stitek" style="position:absolute;left:'+xa+'px;top:'+ya+'px;" unselectable = "on">'+txt+'</div>';div_name.innerHTML+=text;} |
101 | | | function drawIP(txt,xb,yb,nas){xb=parseInt((xb*nas)+6);yb=parseInt((yb*nas)-1);var text='<div class="stitek" style="position:absolute;left:'+xb+'px;top:'+yb+'px;" unselectable = "on">'+txt+'</div>';div_ip.innerHTML+=text;} |
102 | | | function drawStatus(txt,xc,yc,nas){xc=parseInt((xc*nas)+6);yc=parseInt((yc*nas)+11);var text='<div class="stitek" style="position:absolute;left:'+xc+'px;top:'+yc+'px;" unselectable = "on">'+txt+'</div>';div_status.innerHTML+=text;} |
103 | | | function drawLegendText(txt){document.getElementById("mapstats_legend").innerHTML='<div class="legend" unselectable = "on">'+txt+'</div>';} |
104 | | | function drawLegend(){var epsilon;var cislo=0;var name="";var paintlegend=document.getElementById('paintlegend');paintlegend.height=(((cntm-1)*12)+13);paintlegend.width="25";var ctx=paintlegend.getContext('2d');ctx.clearRect(0,0,25,((cntm-1)*12)+13);if(m1==1){epsilon=((cislo*12)+5);drawLegendLink(epsilon,wifi_client,2.7);name=name+name1+"<br/>";cislo++;} |
105 | | | if(m2==1){epsilon=((cislo*12)+5);drawLegendLink(epsilon,wifi_backbone,4.1);name=name+name2+"<br/>";cislo++;} |
106 | | | if(m3==1){epsilon=((cislo*12)+5);drawLegendLink(epsilon,eth_100,4.1);name=name+name3+"<br/>";cislo++;} |
107 | | | if(m4==1){epsilon=((cislo*12)+5);drawLegendLink(epsilon,fso,4.1);name=name+name4+"<br/>";cislo++;} |
108 | | | if(m5==1){epsilon=((cislo*12)+5);drawLegendLink(epsilon,fso_backup,4.1);name=name+name5+"<br/>";cislo++;} |
109 | | | if(m6==1){epsilon=((cislo*12)+5);drawLegendLink(epsilon,ghz5,4.1);name=name+name6+"<br/>";cislo++;} |
110 | | | if(m7==1){epsilon=((cislo*12)+5);drawLegendLink(epsilon,ghz10,4.1);name=name+name7+"<br/>";cislo++;} |
111 | | | if(m8==1){epsilon=((cislo*12)+5);drawLegendLink(epsilon,fiber,4.1);name=name+name8+"<br/>";cislo++;} |
112 | | | if(m9==1){epsilon=((cislo*12)+5);drawLegendLink(epsilon,other,4.1);name=name+name9+"<br/>";cislo++;} |
113 | | | if(m1_a==1){epsilon=((cislo*12)+5);drawLegendINPLink(epsilon,wifi_client_a,2.7);name=name+name1+" "+inp+"<br/>";cislo++;} |
114 | | | if(m2_a==1){epsilon=((cislo*12)+5);drawLegendINPLink(epsilon,wifi_backbone_a,4.1);name=name+name2+" "+inp+"<br/>";cislo++;} |
115 | | | if(m3_a==1){epsilon=((cislo*12)+5);drawLegendINPLink(epsilon,eth_100_a,4.1);name=name+name3+" "+inp+"<br/>";cislo++;} |
116 | | | if(m4_a==1){epsilon=((cislo*12)+5);drawLegendINPLink(epsilon,fso_a,4.1);name=name+name4+" "+inp+"<br/>";cislo++;} |
117 | | | if(m5_a==1){epsilon=((cislo*12)+5);drawLegendINPLink(epsilon,fso_backup_a,4.1);name=name+name5+" "+inp+"<br/>";cislo++;} |
118 | | | if(m6_a==1){epsilon=((cislo*12)+5);drawLegendINPLink(epsilon,ghz5_a,4.1);name=name+name6+" "+inp+"<br/>";cislo++;} |
119 | | | if(m7_a==1){epsilon=((cislo*12)+5);drawLegendINPLink(epsilon,ghz10_a,4.1);name=name+name7+" "+inp+"<br/>";cislo++;} |
120 | | | if(m8_a==1){epsilon=((cislo*12)+5);drawLegendINPLink(epsilon,fiber_a,4.1);name=name+name8+" "+inp+"<br/>";cislo++;} |
121 | | | if(m9_a==1){epsilon=((cislo*12)+5);drawLegendINPLink(epsilon,other_a,4.1);name=name+name9+" "+inp+"<br/>";} |
122 | | | drawLegendText(name);} |
123 | | | function drawLegendLink(yg,color,size){var ctx=document.getElementById('paintlegend').getContext('2d');ctx.strokeStyle="rgb(20, 20, 20)";ctx.lineWidth=size+1;ctx.beginPath();ctx.moveTo(1,yg);ctx.lineTo(24,yg);ctx.stroke();ctx.strokeStyle="rgb(0, 0, 0)";ctx.lineWidth=size;ctx.beginPath();ctx.moveTo(1,yg);ctx.lineTo(24,yg);ctx.stroke();ctx.strokeStyle=color;ctx.lineWidth=size-1;ctx.beginPath();ctx.moveTo(1,yg);ctx.lineTo(24,yg);ctx.stroke();} |
124 | | | function drawLegendINPLink(yg,color,size){var ctx=document.getElementById('paintlegend').getContext('2d');ctx.strokeStyle="rgba(255, 255, 255, 0.5)";ctx.lineWidth=size;ctx.beginPath();ctx.moveTo(1,yg);ctx.lineTo(24,yg);ctx.stroke();ctx.strokeStyle="rgba(0, 0, 0, 0.1)";ctx.lineWidth=size;ctx.beginPath();ctx.moveTo(1,yg);ctx.lineTo(24,yg);ctx.stroke();ctx.strokeStyle=color;ctx.lineWidth=size-0.5;ctx.beginPath();ctx.moveTo(1,yg);ctx.lineTo(24,yg);ctx.stroke();} |
125 | | | function clearMap(){div_paint.innerHTML="";} |
126 | | | function node2sour(name,pos){var ok=0;for(k=0;k<nodecount;k++){if(node[k][0]==name){ok=node[k][pos];} |
127 | | | if(ok!=0){return ok;}} |
128 | | | return ok;} |
129 | | | function ip2sour(ip,pos){var ok=0;for(k=0;k<nodecount;k++){if(node[k][4]==ip){ok=node[k][pos];} |
130 | | | if(ok!=0){return ok;}} |
131 | | | return ok;} |
132 | | | function loadFiles(){var d=new Date();var tm=d.getTime();file_nodes=getFile(nodes+"?"+tm);file_noping=getFile(noping+"?"+tm);file_links=getFile(links+"?"+tm);file_infopoints=getFile(infopoints+"?"+tm);file_state=getFile(state+"?"+tm);redrawUpdate();} |
133 | | | function getFile(url){AJAX=(window.XMLHttpRequest?new XMLHttpRequest():(window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):false));if(AJAX){AJAX.open("GET",url,false);AJAX.setRequestHeader("Cache-Control","no-store");AJAX.setRequestHeader("Cache-Control","no-cache");AJAX.setRequestHeader("Cache-Control","must-revalidate");AJAX.setRequestHeader("Pragma","no-cache");AJAX.send(null);return AJAX.responseText;}else{return false;}} |
134 | | | function setAutoLoader(){setInterval("loadFiles()",2*60*1000);} |
135 | | | function setCheckboxes(){document.form_map.ch_ap.checked=ch_ap;document.form_map.ch_router.checked=ch_router;document.form_map.ch_node.checked=ch_node;document.form_map.ch_infopoint.checked=ch_infopoint;document.form_map.ch_noping.checked=ch_noping;document.form_map.ch_legend.checked=ch_legend;document.form_map.ch_name.checked=ch_name;document.form_map.ch_ip.checked=ch_ip;document.form_map.ch_status.checked=ch_status;document.form_map.ch_backbone.checked=ch_backbone;document.form_map.ch_client.checked=ch_client;document.form_map.ch_inp.checked=ch_inp;} |
136 | | | function deleteNames(){div_paint.innerHTML="";div_points.innerHTML="";div_wave.innerHTML="";div_infopoint.innerHTML="";div_name.innerHTML="";div_ip.innerHTML="";div_status.innerHTML="";document.getElementById("mapstats_legend").innerHTML="";} |
137 | | | function reDraw(){if(document.form_map.ch_ap.checked){ch_ap=true;}else{ch_ap=false;} |
138 | | | if(document.form_map.ch_router.checked){ch_router=true;}else{ch_router=false;} |
139 | | | if(document.form_map.ch_node.checked){ch_node=true;}else{ch_node=false;} |
140 | | | if(document.form_map.ch_infopoint.checked){ch_infopoint=true;}else{ch_infopoint=false;} |
141 | | | if(document.form_map.ch_noping.checked){ch_noping=true;}else{ch_noping=false;} |
142 | | | if(document.form_map.ch_legend.checked){ch_legend=true;}else{ch_legend=false;} |
143 | | | if(document.form_map.ch_name.checked){ch_name=true;}else{ch_name=false;} |
144 | | | if(document.form_map.ch_ip.checked){ch_ip=true;}else{ch_ip=false;} |
145 | | | if(document.form_map.ch_status.checked){ch_status=true;}else{ch_status=false;} |
146 | | | if(document.form_map.ch_backbone.checked){ch_backbone=true;}else{ch_backbone=false;} |
147 | | | if(document.form_map.ch_client.checked){ch_client=true;}else{ch_client=false;} |
148 | | | if(document.form_map.ch_inp.checked){ch_inp=true;}else{ch_inp=false;} |
149 | | | deleteNames();clearMap();canvasInit(ann);} |
150 | | | function changeOpacity(opc){var opcprc=opc/100;var mapstats_update=document.getElementById("mapstats_update");if(is_ie){mapstats_update.style.filter='alpha(opacity='+opc+');';}else{mapstats_update.style.setProperty("-moz-opacity",opcprc,null);mapstats_update.style.setProperty("opacity",opcprc,null);}} |
151 | | | function changeUpdate(){var promenna=new Date();var rok=promenna.getFullYear();var mesic=""+(promenna.getMonth()+1);var den=""+(promenna.getDate());var hodin=""+(promenna.getHours());var minut=""+(promenna.getMinutes());var sekund=""+(promenna.getSeconds());if(mesic.length==1){mesic="0"+mesic;} |
152 | | | if(den.length==1){den="0"+den;} |
153 | | | if(hodin.length==1){hodin="0"+hodin;} |
154 | | | if(minut.length==1){minut="0"+minut;} |
155 | | | if(sekund.length==1){sekund="0"+sekund;} |
156 | | | document.getElementById("mapstats_update").innerHTML=den+". "+mesic+". "+rok+" "+hodin+":"+minut+":"+sekund;} |
157 | | | function redrawUpdate(){setTimeout("changeOpacity(90)",100);setTimeout("changeOpacity(80)",200);setTimeout("changeOpacity(70)",300);setTimeout("changeOpacity(60)",400);setTimeout("changeOpacity(50)",500);setTimeout("changeOpacity(40)",600);setTimeout("changeOpacity(30)",700);setTimeout("changeOpacity(20)",800);setTimeout("changeOpacity(10)",900);setTimeout("changeOpacity(0)",1000);setTimeout("changeUpdate()",1050);setTimeout("changeOpacity(10)",1100);setTimeout("changeOpacity(20)",1200);setTimeout("changeOpacity(30)",1300);setTimeout("changeOpacity(40)",1400);setTimeout("changeOpacity(50)",1500);setTimeout("changeOpacity(60)",1600);setTimeout("changeOpacity(70)",1700);setTimeout("changeOpacity(80)",1800);setTimeout("changeOpacity(90)",1900);setTimeout("changeOpacity(100)",2000);} |