﻿var mUrl="http://gmapgis.com/",mp="",lG=[],lSt=[],lN=[],lHt=[],tL="",lSs=[10],dfls="#ff8800,3,0.9,#ff8800,0",pC_=0,pG=[],pSt=[],pNa=[],pHt=[],tPo="",pSs=[10],dfPs="#000000,2,0.5,#ff8800,0.2",rG=[],rSt=[],rNa=[],rHt=[],tRe="",rSs=[10],dfre="#ff0000,5,0.9,#ff8800,0",dfmg="",mG=[],points=[],mSt=[],mNa=[], mHt=[];mIc=[]; var tMa="",nuM=0,dLn=0,mLn=false,dsLn="",x1="",edS="",thR="",fR="",AdM="",clcL="",dlm="\t",uEm="",win1,tIt="",tlb="",ltM=tL="",bck="",IE=false,icon=new GIcon,lsB="",lsq="",wHt="",htF="",lbI="new",qwz="double^medium^#000000^#FFCC00",tLS="",ldi=[],lPs=[],lTx=[],iTy=[],lpt=new GLatLng("-32.12360","115.94230"),mpT=[],yPt=new GLatLng("29.688603", "75.880836"),yZm=2,mTy="Relief";dfPs="#000000,1,0.5,#ff8800,0.4";pSs=[];pSs[0]="#000000,1,0.5,#ff8800,0.4";pSs[1]="#000000,1,0.9,#008000,0.2";pSs[2]="#000000,1,0.5,#800080,0.2";pSs[3]="#000000,1,0.5,#FF00FF,0.2";pSs[4]="#000000,1,0.5,#00FFCC,0.2";pSs[5]="#000000,1,0.5,#800080,0.2";lSs=[];lSs[0]="#ff8800,2,1.0,#ff8800,0.4";lSs[1]="#000000,2,0.9,#008000,0.2";lSs[2]="#FF0000,3,0.5,#800080,0.2"; lSs[3]="#000000,4,0.5,#FF00FF,0.2";lSs[4]="#000000,1,0.5,#00FFCC,0.2";lSs[5]="#000000,1,0.5,#800080,0.2";var kSt=[];kSt[0]="#FF0000,4,1,#ff8800,0.4";kSt[1]="#ff8800,2,0.9,#008000,0.2";kSt[2]="#ff8800,3,0.5,#800080,0.2";kSt[3]="#800080,4,0.5,#FF00FF,0.2";kSt[4]="#000000,2,0.5,#00FFCC,0.2";kSt[5]="#00FFCC,2,0.5,#800080,0.2";var mSp=[]; function getmrkspec(){mSp[0]="32^16^FF0000^000000^1";mSp[1]="32^16^800000^000000^1";mSp[2]="32^16^FF6600^000000^1";mSp[3]="32^16^FFCC00^000000^1";mSp[4]="32^16^FFFF00^000000^1";mSp[5]="32^16^00FF00^000000^1";mSp[6]="32^16^339966^000000^1";mSp[7]="32^16^00CCFF^000000^1";mSp[8]="32^16^0000FF^000000^1";mSp[9]="32^16^000080^000000^1";mSp[10]="32^16^FF6600^000000^1"}getmrkspec(); var tlbar="",xDt=[[],[],[],[],[],[],[],[],[],[]],mgT=0,mCt=0,yxF="",isN=0,pRV=[[],[],[],[],[],[],[],[]],fsL="32^32^#ff0000^#000000^1",rwC=[],rwV=[],nku=0,pnl=0,DTc=[],bth="",vdO;
var dCl = [{ label: "Category 1", from: "", to: "", img: "",iconSz: 8},{ label: "Category 2", from: "", to: "", img: "",iconSz: 8},{ label: "Category 3", from: "", to: "", img: "",iconSz: 8},{ label: "Category 4", from: "", to: "", img: "",iconSz: 8},{ label: "Category 5", from: "", to: "", img: "",iconSz: 8},{ label: "Category 6", from: "", to: "", img: "",iconSz: 8},{ label: "Category 7", from: "", to: "", img: "",iconSz: 8},{ label: "Category 8", from: "", to: "", img: "",iconSz: 8},{ label: "Category 9", from: "", to: "", img: "",iconSz: 8},{ label: "Category 10", from: "", to: "", img: "",iconSz:8},]
var IE=document.all?true:false;IE||document.captureEvents(Event.MOUSEMOVE);document.onmousemove=gtMy;mousedown=topOffset=leftOffset=mouseY=mouseX=0;dragID="";dragEnabled=1;

function $$(a){return document.getElementById(a)}


function giev(){var a=-1;if(navigator.appName=="Microsoft Internet Explorer"){/MSIE ([0-9]{1,}[.0-9]{0,})/.exec(navigator.userAgent);a=parseFloat(RegExp.$1)}return a}function ckvn(){if(giev()>-1)IE=true;else FF=true}ckvn();function $(a){return Ext.getCmp(a)} function gtMy(a){if(IE){mouseX=event.clientX+document.body.scrollLeft;mouseY=event.clientY+document.body.scrollTop}else{mouseX=a.pageX;mouseY=a.pageY}if(mouseX<0)mouseX=0;if(mouseY<0)mouseY=0;if(mousedown==1){dragID.style.left=mouseX+leftOffset+"px";if(topOffset!=0)dragID.style.top=mouseY+topOffset+"px";if(dragID.id.slice(0,5)=="label")for(i=0;i<ldi.length;i++)if(dragID.id==ldi[i])lPs[i]=mp.fromContainerPixelToLatLng(new GPoint(mouseX+leftOffset,mouseY+topOffset))}return true} function startDrag(a){if(dragEnabled==1){dragID=a;mousedown=1;a=dragID.style;a.cursor="move";var b=a.left.split("p");leftOffset=parseFloat(b[0])-mouseX;b=a.top.split("p");topOffset=parseFloat(b[0])-mouseY}}function stopDrag(){dragID.style.cursor="default";mousedown=0;dragID=""}function cc(a,b,c){if(c){var d=new Date;d.setTime(d.getTime()+c*24*60*60*1E3);c="; expires="+d.toGMTString()}else c="";document.cookie=a+"="+b+c+"; path=/"} function rc(a){a=a+"=";for(var b=document.cookie.split(";"),c=0;c<b.length;c++){for(var d=b[c];d.charAt(0)==" ";)d=d.substring(1,d.length);if(d.indexOf(a)==0)return d.substring(a.length,d.length)}return null}function ec(a){cc(a,"",-1)}function randomString(){for(var a="",b=0;b<10;b++){var c=Math.floor(Math.random()*61);a+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz".substring(c,c+1)}return a} function xm(){var a=null;try{a=new XMLHttpRequest}catch(b){try{a=new ActiveXObject("Msxml2.XMLHTTP")}catch(c){a=new ActiveXObject("Microsoft.XMLHTTP")}}return a}function nFrL(a){alert(a);var b=document.createElement("script");b.src=a;b.type="text/javascript";$$$(document.head).appendChild(b)};

Ext.BLANK_IMAGE_URL = './ext-3.2.1/resources/images/default/s.gif'
Ext.onReady(function(){new Ext.TabPanel({Autoheight:true,width:300,activeTab:0,laoyout:"fit",items:[login(),register(),chPass()]});var a=new Ext.BoxComponent({region:"north",bodyStyle:"background:#f1f1f1",height:60,layout:"border",autoEl:{tag:"div",id:"title",html:'<br><span style="font-family: verdana; color: rgb(51, 102, 255); font-size: 28px; "><b><font color="#DBEDFF"> .......</font>GmapGIS</b></span>',margins:"20 20 30 30"},items:[]}),c=[{xtype:"buttongroup",title:'<div style="color:blue;">Open</div>', defaults:{scale:"small",handler:oick},items:[{id:"prj",text:"Project",iconCls:"project"},{xtype:"splitbutton",id:"xyf",text:"xy file",iconCls:"xy",menu:{defaults:{group:"theme9"},items:['<b class="menu-title">Choose dlm</b>',{text:"Comma",id:"comma",checked:false,checkHandler:function(b){if(b.checked){cc("dl",",");dlm=","}}},{text:"Tab",id:"tab",checked:true,checkHandler:function(b){if(b.checked){cc("dl","\t",100);dlm="\t"}}}]}},{id:"kml",text:"KML",iconCls:"kml"}]},{xtype:"buttongroup", title:'<div style="color:blue;">Save as</div>',defaults:{scale:"small"},items:[{id:"file",text:"File",handler:oick,iconCls:"save"},{id:"sendlink",text:"Link",disabled:true,handler:oick,iconCls:"sendlink"}]},{xtype:"buttongroup",title:'<div style="color:blue;">Draw</div>',defaults:{scale:"small"},items:[{id:"marker",text:"Marker",enableToggle:true,toggleHandler:oITo,pressed:false,iconCls:"marker"},{id:"polygon",text:"Polygon",enableToggle:true,toggleHandler:oITo,pressed:false, iconCls:"polygon"},{id:"line",text:"Line",enableToggle:true,toggleHandler:oITo,pressed:false,iconCls:"line"},{id:"rectang",text:"Rectangle",enableToggle:true,toggleHandler:oITo,pressed:false,iconCls:"rectang"},{id:"label",text:"Label",handler:oick,iconCls:"label"}]},{xtype:"buttongroup",title:'<div style="color:blue;">Search</div>',defaults:{scale:"small",handler:oick},items:[{id:"gtCoordi",iconCls:"gtcoordi"},{id:"gtAddress",iconCls:"gtaddress"}]}, {xtype:"buttongroup",title:'<div style="color:blue;">Map type</div>',defaults:{scale:"small",handler:oick},items:[{id:"sat",text:"Satellite"},{id:"str",text:"Street"},{id:"hyb",text:"Hybrid"},{id:"rel",text:"Relief"}]},{xtype:"buttongroup",title:'<div style="color:blue;">Map tools</div>',defaults:{scale:"small"},items:[{id:"mLength",enableToggle:true,toggleHandler:oITo,pressed:false,iconCls:"mdistance"},{id:"blowup",enableToggle:true,toggleHandler:oITo, iconCls:"blowup"},{id:"fndaddress",enableToggle:true,toggleHandler:oITo,iconCls:"fndaddress"},{xtype:"splitbutton",id:"hm",iconCls:"mapcentre",handler:oick,menu:[{text:"Set new home",handler:oick}]},{id:"panB",handler:oick,iconCls:"panb"},{id:"panF",handler:oick,iconCls:"panf"}]},{xtype:"buttongroup",title:'<div style="color:blue;">Support</div>',defaults:{scale:"small"},items:[{text:"Blog",handler:oick,iconCls:"blog"},{xtype:"splitbutton", id:"Help",handler:oick,iconCls:"help",menu:[{text:"GmapGIS in Popup",handler:oick}]},{id:"Contact",handler:oick,iconCls:"contact"}]}];if(cs())c=tlbar;new Ext.Viewport({layout:"border",items:[a,{region:"south",contentEl:"south",split:true,bodyStyle:"background:#f1f1f1",height:100,minSize:100,maxSize:200,margins:"0 0 0 0",html:'<FONT face="times new roman" color=#969696 size=1><span style="font-size: small;">©</span></span> 2010 Mynest</FONT><BR><a href="http://gmapgis.blogspot.com/p/about-gmapgis.html" target="_newtab"><FONT face="times new roman" color=#969696 size=1>Terms of Use</a><BR>'},{region:"west",id:"west-panel",bodyStyle:"background:#f1f1f1", split:true,width:200,minSize:200,maxSize:400,collapsible:true,collapsed:true,collapseMode:"mini",margins:"0 0 0 5",layout:{type:"accordion",animate:true},items:[{id:"toc",title:"Table of Contents",id:"toc",border:false,iconCls:"nav",items:[]}]},{id:"cenPanel",region:"center",bodyStyle:"padding:0px;",margins:"0 0 0 0",layout:"fit",tbar:c,items:[{xtype:"gmappanel",zoomLevel:14,gmapType:"map"}]}]});ddtl();sc()&&mpSp();a=rc("dl");if(rc("dl")==","){$("comma").checked=true;$("tab").checked= false;dlm=a}});
function oITo(a,b){if(a.id=="marker")if(b)ltM=GEvent.addListener(mp,"click",startMarker);else GEvent.removeListener(ltM);if(a.id=="polygon")if(b)startPoly();else{tPo.disableEditing();mp.removeOverlay(tPo)}if(a.id=="line")if(b)startLine();else{tL.disableEditing();mp.removeOverlay(tL)}if(a.id=="rectang")if(b)startRect();else{tL.disableEditing();mp.removeOverlay(tL)}if(a.id=="blowup")if(b){if(lsq!=""){GEvent.removeListener(lsq); $("fndaddress").toggle(false)}lsB=GEvent.addListener(mp,"click",showBlowup)}else GEvent.removeListener(lsB);if(a.id=="fndaddress")if(b){if(lsB!=""){GEvent.removeListener(lsB);$("blowup").toggle(false)}lsq=GEvent.addListener(mp,"click",getAddress)}else GEvent.removeListener(lsq);if(a.id=="mLength")if(b){listenerDistance=GEvent.addListener(mp,"click",function(d,c){x1=c});mLn=true;$$("mDistance").style.visibility="visible"}else{GEvent.removeListener(listenerDistance); if(dLn==1){mp.removeOverlay(dsLn);dLn=0;$$("mDistance").style.visibility="hidden"}mLn=false}};
function oick(a){if(a.text=="Project")fileUpload("gmp",function(){var b=gtfn("form-file");$("winFile").close();ldLL(b)});else if(a.text=="File")wSvj();else if(a.text=="Send as a link")saveLink();else if(a.text=="xy file")fileUpload("txt",function(){var b=gtfn("form-file");yxF=b.split(".")[0];$("winFile").close();loadFile(b)});else if(a.text=="KML")fileUpload("kml",function(){var b=gtfn("form-file");dLkM(b);$("winFile").close()}); else if(a.text=="Set new home"){yPt=mp.getCenter();yZm=mp.getZoom();cc("mc",yPt+"^"+yZm,100)}else if(a.text=="Satellite"){mTy=a.text;stmt()}else if(a.text=="Relief"){mTy=a.text;stmt()}else if(a.text=="Street"){mTy=a.text;stmt()}else if(a.text=="Hybrid"){mTy=a.text;stmt()}else if(a.text=="Polygon")$("polygon").toggle();else if(a.text=="Line")$("line").toggle();else if(a.text=="Rectangle")$("rectang").toggle();else if(a.text=="Point marker")$("marker").toggle(); else if(a.text=="GmapGIS in Popup")window.open("http://www.gmapgis.com/index.htm",null,"status=no, titlebar=no,toolbar=no, resizable = yes, menubar=no,location=no");else if(a.text=="Blog")window.open("http://gmapgis.blogspot.com/","_newtab");else if(a.text=="Help")window.open("http://gmapgis.blogspot.com/p/about-gmapgis.html","_newtab");else if(a.text=="Contact")window.open("http://gmapgis.blogspot.com/p/about-gmapgis.html","_newtab");else if(a.id=="hm")tGlc(0);else if(a.id=="panB")tGlc(1);else if(a.id=="panF")tGlc(2); else if(a.id=="sendlink")saveLink();else if(a.id=="gtAddress")gotoAddress();else if(a.id=="gtCoordi")QtNu();else if(a.id=="label"){$("label").disable();labelExt()}};




function gtfn(id){var f = $(id).value;if (IE){ ; f=f.slice(f.lastIndexOf(bck)+1)}; return f}
function wpnl(){var w = Ext.getCmp('west-panel');w.collapsed ? w.expand() : w.collapse();}

function gGpt(a){a=a.split(",");return new GLatLng(parseFloat(a[0].slice(1)),parseFloat(a[1]))}

function gtSt(){var a=rc("mc");if(a){a=a.split("^");yPt=gGpt(a[0]);yZm=parseFloat(a[1])}else{}} 


function mpSp(){var a=new GMapType(G_PHYSICAL_MAP.getTileLayers(),G_PHYSICAL_MAP.getProjection(),"Relief");gtSt();mp.setCenter(yPt,yZm);mp.addMapType(a);mp.addControl(new GScaleControl);a=new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(5,60));mp.addControl(new GLargeMapControl,a);mp.enableScrollWheelZoom();mTy=rc("mt")?rc("mt"):"relief";stmt();mp.clearOverlays();mp.getDragObject().setDraggableCursor("pointer");geocoder= new GClientGeocoder;listenerMove=GEvent.addListener(mp,"moveend",scTT);listenerMove=GEvent.addListener(mp,"move",gMvt);listenerZoom=GEvent.addListener(mp,"zoomend",gMvt);GEvent.addListener(mp,"singlerightclick",rgck);GEvent.addListener(mp,"mousemove",function(c){c.toUrlValue(5).split(",");if(c)if(mLn){dLn==1&&mp.removeOverlay(dsLn);dsLn=new GPolyline([x1,c],"#FF8800",3,0.8);mp.addOverlay(dsLn);dLn=1;var b=Math.round(dsLn.getLength())+ " m";if(b.length>5)b=b.slice(0,b.length-5)+", "+b.slice(b.length-5);var d=mp.fromLatLngToContainerPixel(c);c=d.y-40;d=d.x;var e=$$("mDistance");e.innerHTML=b;e.style.top=c+"px";e.style.left=d+"px"}});setTimeout("link()",0);gtil("mdis.txt",function(){if(x.readyState==4||x.readyState=="complete")var p = x.responseText.split('^');bck = p[1];$$$(mp.getContainer().id).createChild(p[0])})}


function link(){var a=window.location.search.substring(1);if(a)ldLL("http://www.gmapgis.com/links/"+a)} 
function ddc(){mp.disableDoubleClickZoom()};function edc(a){GEvent.addListener(a,"mouseout",function(){mp.enableDoubleClickZoom()})};

function sc(){if((window.location+"").split("g")[1]=="map")return true}
function cs(){if((window.location+"").split("g")[1]!="map")return true} 
function rgck(b,c,a){if(a){fR=thR;frP=tPo;$("contWin")&&$("contWin").destroy();c=new Ext.Button({width:100,height:20,text:"Delete",handler:function(){if(edS=="marker")mp.removeOverlay(mG[fR]);else if(edS=="line"){mp.removeOverlay(lG[fR]);lG.splice(fR,1);lineName.splice(fR,1);lSt.splice(fR,1)}else if(edS=="polygon"){mp.removeOverlay(pG[fR]);pG.splice(fR,1);pNa.splice(fR,1);pSt.splice(fR,1)}else if(edS== "rectan"){mp.removeOverlay(rG[fR]);rG.splice(fR,1);rNa.splice(fR,1);rSt.splice(fR,1)}$("contWin").destroy()}});a=new Ext.Button({width:100,height:20,text:"Close",handler:function(){$("contWin").destroy()}});var d=new Ext.Button({width:100,height:20,text:"Format",handler:function(){$("markerWin")&&$("markerWin").destroy();$("shapeWin")&&$("shapeWin").destroy();if(edS=="marker"){mkFt();$("mrkHTML").setValue(mHt[fR])}else if(edS=="line"){shapesTbar(); $("shHTML").setValue(lHt[fR])}else if(edS=="polygon"){shapesTbar();$("shHTML").setValue(pHt[fR])}else if(edS=="rectan"){shapesTbar();$("shHTML").setValue(rHt[fR])}$("contWin").destroy()}});(new Ext.Window({id:"contWin",height:IE?78:83,width:113,y:b.y+65,x:b.x+15,closable:false,items:[d,c,a]})).show()}};
//-------------------------------------------------------------
function gMvt(){for(var a=0;a<ldi.length;a++){var c=mp.fromLatLngToContainerPixel(lPs[a]),b=$$(ldi[a]).style;b.top=c.y+"px";b.left=c.x+"px"}} function scTT(){if(thisPoint()=="new")mpT[mpT.length]=mp.getCenter()+"^"+mp.getZoom()}function thisPoint(){if(mpT.length==0)return"new";for(var a=0;a<mpT.length;a++)if(mpT[a]==mp.getCenter()+"^"+mp.getZoom())return a;return"new"}function swyT(a){a=a.slice(1);a=a.split(",");return new GLatLng(parseFloat(a[0]),parseFloat(a[1]))};
function stmt(){if(mTy=="Hybrid")mp.setMapType(G_HYBRID_MAP);else if(mTy=="Relief")mp.setMapType(G_PHYSICAL_MAP);else if(mTy=="Street")mp.setMapType(G_NORMAL_MAP);else mTy=="Satellite"&&mp.setMapType(G_SATELLITE_MAP);cc("mt",mTy,100)} function tGlc(a){var b="",c="";if(a==0){b=yPt;c=yZm}else if(a==1){a=mpT[thisPoint()-1].split("^");b=swyT(a[0]);c=parseFloat(a[1])}else if(a==2){a=mpT[thisPoint()+1].split("^");b=swyT(a[0]);c=parseFloat(a[1])}mp.setCenter(b,c)}function showBlowup(a,b){b!=null&&mp.showMapBlowup(b,{zoomLevel:19,mTy:G_SATELLITE_MAP})}function getAddress(a,b){if(b!=null){address=b;geocoder.getLocations(b,showAddress)}} function showAddress(a){AdM!=""&&mp.removeOverlay(AdM);if(!a||a.Status.code!=200)alert("Status Code:"+a.Status.code);else{place=a.Placemark[0];var b=new GLatLng(place.Point.coordinates[1],place.Point.coordinates[0]);AdM=new GMarker(b);GEvent.addListener(AdM,"click",function(){mp.removeOverlay(AdM)});mp.addOverlay(AdM);AdM.openInfoWindowHtml('<font size="2"><b>Clicked coordinates: </b>'+a.name+"<br/><b>Address coordinates: </b>"+ place.Point.coordinates[1]+","+place.Point.coordinates[0]+"<br><b>Address: </b>"+place.address+"<br></font<br>")}}function TeYZ(){var a=$("fndAdd").getValue();geocoder&&geocoder.getLatLng(a,function(b){if(b){mp.setCenter(b,13);var c=new GMarker(b);GEvent.addListener(c,"click",function(){mp.removeOverlay(c)});mp.addOverlay(c);c.openInfoWindowHtml(a)}else alert(a+" not found")})} function nHyU(){var a=$("gotoLat").getValue(),b=$("gotoLong").getValue();a=new GLatLng(a,b);mp.setCenter(a,yZm);var c=new GMarker(a);GEvent.addListener(c,"click",function(){mp.removeOverlay(c)});mp.addOverlay(c);c.openInfoWindowHtml('<font size="2"><b>Your searched coordinates are here</b></font<br>')}function toolTip(a,b){new Ext.ToolTip({target:a,width:150,html:'<div style="color:blue;">'+b+"</div>",trackMouse:true})} function ddtl(){toolTip("test","This tip will follow the mouse while it is over the element");toolTip("sendlink","Send current drawings as a link");toolTip("home","Return to the map centre");toolTip("gtAddress","Search a street address");toolTip("gtCoordi","Go to given coordinates");toolTip("panB","Panback to previous location");toolTip("panF","Pan forward to next location");toolTip("label","Insert a text label on the map");toolTip("mLength","Measure distance with this tool");toolTip("marker", "Put place marker on the map");toolTip("polygon","Draw a polygon on the map");toolTip("line","Draw a line on the map");toolTip("rectang","Draw a rectangle on the map");toolTip("edS","Press this and then click a shape to change the line and fill style");toolTip("fndaddress","Find street address on any point");toolTip("blowup","Show blowup in a small window");toolTip("file","Save drawings and download the file");toolTip("prj","Open drawings saved in a project file");toolTip("xyf","Open xy data file to display and analyse"); toolTip("kml","Open KML saved by Google Earth");toolTip("hm","Go to saved home location")} 
function fileUpload(a,b){var c=a=="kml"?"kmlupload.php":"phpupload.php",d=new Ext.FormPanel({fileUpload:true,frame:true,labelWidth:40,defaults:{anchor:"95%",msgTarget:"side"},items:[{xtype:"fileuploadfield",id:"form-file",emptyText:"Select an file",fieldLabel:"File",name:"file",buttonCfg:{text:"",iconCls:"upload-icon"}}],buttons:[{text:"Open",handler:function(){if(d.getForm().isValid()){var e=gtfn("form-file");e.split(".")[1]==a?d.getForm().submit({url:c,waitMsg:"Opening file...",success:b,failure:function(){Ext.MessageBox.alert("Warning", "failure uploading data...")}}):Ext.MessageBox.alert("Message",e+" is not a correct file",d.getForm().reset())}}},{text:"Reset",handler:function(){d.getForm().reset()}}]});(new Ext.Window({width:500,id:"winFile",y:200,height:110,closable:true,layout:"fit",items:d})).show()} function sendLink(a){$("sendlink").disable();a=new Ext.FormPanel({frame:true,labelWidth:60,defaults:{anchor:"95%",msgTarget:"side"},items:[{xtype:"textfield",value:"http://www.gmapgis.com/index.htm?"+a,selectOnFocus:true,name:"Filename",fieldLabel:"Link "}],buttons:[{text:"Close",handler:function(){$("sendlink").enable();b.close()}}]});var b=new Ext.Window({title:"Copy link to send",width:500,height:100,y:200,layout:"fit",items:a});b.show()} function gotoAddress(){$("gtAddress").disable();var a=new Ext.FormPanel({frame:true,labelWidth:60,defaults:{anchor:"95%",msgTarget:"side"},items:[{xtype:"textfield",id:"fndAdd",name:"Filename",fieldLabel:"Address "}],buttons:[{text:"Cancel",handler:function(){$("gtAddress").enable();b.close()}},{text:"Find",handler:function(){TeYZ();$("gtAddress").enable();b.close()}}]}),b=new Ext.Window({title:"Find address",width:500,height:100,y:200,closable:false,layout:"fit",items:a});b.show()} function QtNu(){$("gtCoordi").disable();var a=new Ext.FormPanel({frame:true,border:true,labelWidth:65,defaults:{anchor:"95%",msgTarget:"side"},items:[{xtype:"numberfield",decimalPrecision:7,id:"gotoLat",name:"Filename",fieldLabel:"Latitude "},{xtype:"numberfield",decimalPrecision:7,id:"gotoLong",name:"Filename",fieldLabel:"Longitude "}],buttons:[{text:"Cancel",handler:function(){$("gtCoordi").enable();b.close()}},{text:"Go",handler:function(){nHyU();$("gtCoordi").enable();b.close()}}]}), b=new Ext.Window({title:"Go to coordinates",width:350,height:130,y:200,closable:false,layout:"fit",items:a});b.show()} 
function wSvj(){var a=new Ext.Window({width:420,y:200,height:100,border:false,layout:"fit",items:[{xtype:"form",labelWidth:100,frame:true,border:true,buttons:[{text:"Save",id:"btnSave",handler:function(){var b=$("projFn").getValue()+".gmp";saveProject(b)}},{text:"Close",id:"btnCancel",handler:function(){a.close()}},{text:"Download",id:"btnDownload",disabled:true,handler:function(){if(IE)window.location="http://www.gmapgis.com/temp/"+$("projFn").getValue()+".gmp";else window.open("http://www.gmapgis.com/temp/"+ $("projFn").getValue()+".gmp","_newtab")}}],items:[{fieldLabel:"Enter file name",xtype:"textfield",name:"filename",id:"projFn",anchor:"-18"}]}]});a.show()};
function gtil(a,b){a="file="+a;x=xm();if(x!=null){x.open("POST","readins.php",true);x.onreadystatechange=b;x.setRequestHeader("Content-type","application/x-www-form-urlencoded");x.send(a)}} function ldLL(a){var b=a.split("/");if(b.length>1){var c="readlink.php";a=b[b.length-1]}else c="fileread.php";a="file="+a;x=xm();if(x!=null){x.open("POST",c,true);x.onreadystatechange=function(){if(x.readyState==4||x.readyState=="complete"){var d=x.responseText.split("@");process_mapVars(d[0]);process_polygons(d[1]);process_lines(d[2]);pmol(d[4]);process_rectans(d[3]);process_labels(d[5])}};x.setRequestHeader("Content-type","application/x-www-form-urlencoded");x.send(a)}} function pmol(a){a=a.split("\n");nuM=a.length;for(i=0;i<a.length-1;i++){mIc[i]=a[i];var b=assemMarker(mIc[i]);addlisMarker(b);mG[mG.length]=b;var c=a[i].split("^");mHt[mHt.length]=c[7];mp.addOverlay(b)}}function LisMarker(a){GEvent.addListener(a,"click",function(){for(i=0;i<mG.length;i++)if(a==mG[i])var b=i;a.openInfoWindowHtml(mHt[b])})} function makeMarker(a){var b=pRV[0][a];icon.image=pRV[1][a];var c=new GMarker(b,{icon:icon,clickable:true,title:pRV[2][a]});GEvent.addListener(c,"click",function(){html=pRV[3][a];c.openInfoWindowHtml(html)});map.addOverlay(c)}function dLkM(a){a=new GGeoXml("http://gmapgis.com/kml/"+a);mp.addOverlay(a)} function saveProject(a){var b=gTcn();CpBh(b,"filesave.php",a,function(){if(x.readyState==4||x.readyState=="complete"){$("btnDownload").enable();$("btnSave").disable();$("projFn").disable()}})}function saveLink(){var a=randomString()+".gmp",b=gTcn();CpBh(b,"savelink.php",a,function(){if(x.readyState==4||x.readyState=="complete")sendLink(a)})} function gTcn(){var a="";return a=mTy+"^"+mp.getCenter()+"^"+mp.getZoom()+"@"+vPgn()+"@"+vzln()+"@"+vsRc()+"@"+vmkr()+"@"+WquY()}
function vPgn(){var a="";for(i=0;i<pG.length;i++){a=a+pNa[i]+"^"+pSt[i]+"^"+pHt[i];var b=pG[i].getVertexCount(),c="";for(j=0;j<b;j++)c=c+"~"+pG[i].getVertex(j).toUrlValue(5);c=c.slice(1);a=a+"^"+c+"\n"} return a} 
function vmkr(){var a="";for(i=0;i<mG.length;i++)a=a+mIc[i]+"^"+mHt[i]+"\n";return a}function vzln(){var a="";for(i=0;i<lG.length;i++){a=a+lN[i]+"^"+lSt[i]+"^"+lHt[i];var b=lG[i].getVertexCount(),c="";for(j=0;j<b;j++)c=c+"~"+lG[i].getVertex(j).toUrlValue(5);c=c.slice(1);a=a+"^"+c+"\n"}return a} function vsRc(){var a="";for(i=0;i<rG.length;i++){a=a+rNa[i]+"^"+rSt[i]+"^"+rHt[i];var b=rG[i].getVertexCount(),c="";for(j=0;j<b;j++)c=c+"~"+rG[i].getVertex(j).toUrlValue(5);c=c.slice(1);a=a+"^"+c+"\n"}return a} function CpBh(a,b,c,d){c="file="+c;x=xm();if(x==null)alert("Error: Browser does not support HTTP Request");else{x.open("POST",b,true);x.onreadystatechange=d;x.setRequestHeader("Content-type","application/x-www-form-urlencoded");x.setRequestHeader("Content-length",a.length);x.setRequestHeader("Connection","close");x.send(c+"&content="+a)}}function stateChanged(){if(x.readyState==4||x.readyState=="complete")alert("File saved successfully")} function process_mapVars(a){a=a.split("^");mTy=a[0];stmt();var b=a[1].split(",");yPt=new GLatLng(parseFloat(b[0]),parseFloat(b[1]));yZm=parseFloat(a[2]);mp.setCenter(yPt,yZm)}function $$$(a){return Ext.get(a)} function labelExt(){var a=mp.getBounds().getSouthWest().toUrlValue(4).split(","),b=mp.getBounds().getNorthEast().toUrlValue(4).split(","),c=(parseFloat(a[1])+parseFloat(b[1]))/2;a=parseFloat(a[0])-parseFloat(b[0]);c=Math.round(c*1E4)/1E4;a=parseFloat(b[0])+a*0.2;a=Math.round(a*1E4)/1E4;lpt=new GLatLng(a,c);tLS=qwz+"^"+lpt;if(ldi.length==0)var d="label0";else if(ldi.length>0)d="label"+(parseFloat(ldi[ldi.length-1].slice(5))+1);ldi.push(d);lPs.push(lpt); lTx.push("New label");iTy.push(qwz);insLab(d);formatLabel(d,qwz+"^"+lpt);$$(d).innerHTML=lTx[lTx.length-1];labelEditor(d);$("labHTML").setValue($$(d).innerHTML)} function process_labels(a){a=a.split("\n");for(i=0;i<a.length;i++){if(ldi.length==0)var b="label0";else if(ldi.length>0)b="label"+(parseFloat(ldi[ldi.length-1].slice(5))+1);var c=a[i].split("^"),d=c[4].split(",");lPs[i]=new GLatLng(parseFloat(d[0]),parseFloat(d[1]));mp.fromLatLngToContainerPixel(lPs[i]);d=c[0]+"^"+c[1]+"^"+c[2]+"^"+c[3]+"^"+lPs[i];insLab(b);formatLabel(b,d);$$(b).innerHTML=c[5];ldi[i]=b;lTx[i]=c[5];iTy[i]=c[0]+"^"+c[1]+"^"+c[2]+"^"+c[3]}} function WquY(){var a="";for(i=0;i<ldi.length;i++)a=a+iTy[i]+"^"+lPs[i]+"^"+$$(ldi[i]).innerHTML+"\n";return a} function insLab(a){$$$(mp.getContainer().id).createChild("<div id="+a+' style="padding-left: 3px; padding-right: 3px;padding-top: 1px;padding-bottom: 1px;position: absolute; " onmousedown = "startDrag(this)" onmouseup = "stopDrag ()"></div>');$$(a).ondblclick=function(){$("winLabel")&&$("winLabel").destroy();labelEditor(this.id);$("labHTML").setValue($$(a).innerHTML)};$("sendlink").enable()} function delLab(a){for(i=0;i<ldi.length;i++)if(a==ldi[i])var b=i;$$(a).parentNode.removeChild($$(a));ldi.splice(b,1);lPs.splice(b,1);lTx.splice(b,1);iTy.splice(b,1)}function RlBi(a){$$(a).style.visibility="visible";$$(a).innerHTML=$("labHTML").getRawValue()} function formatLabel(a,b){var c=b.split("^"),d=$$(a).style;d.borderStyle=c[0];d.borderWidth=c[1];d.borderColor=c[2];d.backgroundColor=c[3];c=mp.fromLatLngToContainerPixel(gGpt(c[4]));d.top=c.y+"px";d.left=c.x+"px"}function gGpt(a){a=a.split(",");return new GLatLng(parseFloat(a[0].slice(1)),parseFloat(a[1]))}function SlYf(a){return a.split("^")}function PkLb(a){return a[0]+"^"+a[1]+"^"+a[2]+"^"+a[3]} function labelEditor(a){for(i=0;i<ldi.length;i++)if(a==ldi[i])var b=i;var c=new Ext.menu.ColorMenu({text:"colorMenu",handler:function(g,f){var e=SlYf(iTy[b]);e[2]="#"+f;iTy[b]=PkLb(e);formatLabel(a,iTy[b]+"^"+lPs[b])}}),d=new Ext.menu.ColorMenu({text:"colorMenu",handler:function(g,f){var e=SlYf(iTy[b]);e[3]="#"+f;iTy[b]=PkLb(e);formatLabel(a,iTy[b]+"^"+lPs[b])}});c=[{text:"Border type",menu:{defaults:{group:"brdsty",checkHandler:function(g, f){if(f){var e=SlYf(iTy[b]);e[0]=getBrdSty(g.text);iTy[b]=PkLb(e);formatLabel(a,iTy[b]+"^"+lPs[b])}}},items:['<b class="menu-title">Save style as</b>',{text:"Default",checked:true},{text:"Double",checked:false},{text:"Dotted",checked:false},{text:"Dashed",checked:false},{text:"Groove",checked:false},{text:"Ridge",checked:false},{text:"Inset",checked:false},{text:"Outset",checked:false}]}},{text:"Border thickness",menu:{defaults:{group:"theme5",checkHandler:function(g,f){if(f){var e= SlYf(iTy[b]);e[1]=getBrdWd(g.text);iTy[b]=PkLb(e);formatLabel(a,iTy[b]+"^"+lPs[b])}}},items:['<b class="menu-title">Save style as</b>',{text:"Default",checked:true},{text:"Thin",checked:false},{text:"Medium",checked:false},{text:"Thick",checked:false}]}},{text:"Border color",menu:c},{text:"Background color",menu:d},"->",{text:"Delete",iconCls:"remove",handler:function(){delLab(a);$("winLabel").close();$("label").enable()}}];d=new Ext.FormPanel({labelAlign:"top",frame:true, autoHeight:true,items:[{layout:"column",items:[{columnWidth:0.5,layout:"form",items:[]},{columnWidth:0.5,layout:"form",items:[]}]},{xtype:"htmleditor",id:"labHTML",width:500,height:75,anchor:"98%"}],buttons:[{text:"Update",handler:function(){RlBi(a)}},{text:"Close",handler:function(){$("winLabel").close();$("label").enable()}}]});(new Ext.Window({title:"Place label on the map",id:"winLabel",closable:false,width:545,layout:"fit",tbar:c,items:d})).show()} function getBrdWd(a){if(a=="Default")return"thin";else if(a=="Thin")return"thin";else if(a=="Medium")return"medium";else if(a=="Thick")return"thick"}function getBrdSty(a){if(a=="Default")return"solid";else if(a=="Dashed")return"dashed";else if(a=="Dotted")return"dotted";else if(a=="Double")return"double";else if(a=="Inset")return"inset";else if(a=="Outset")return"outset";else if(a=="Groove")return"groove";else if(a=="Ridge")return"ridge";else if(a=="Solid")return"solid"};
function udhT(){var a="<div class='infowindow'>";a+=$("mrkHTML").getRawValue();mHt[thR]=a}function rpmr(){var a=assemMarker(mIc[fR]);addlisMarker(a);mp.removeOverlay(mG[fR]);mp.addOverlay(a);mG[fR]=a}function markerSize(a,b){var c=psSO();c[3]=b;utMS(c);rpmr()}function psSO(){return mIc[fR].split("^")} function utMS(a){mIc[fR]=a[0]+"^"+a[1]+"^"+a[2]+"^"+a[3]+"^"+a[4]+"^"+a[5]+"^"+a[6]} function mkFt(){var a=new Ext.menu.ColorMenu({text:"colorMenu",handler:function(c,g){var f=psSO();f[4]="#"+g;utMS(f);rpmr()}}),b=new Ext.Slider({fieldLabel:"Size",labelWidth:30,width:100,minValue:10,maxValue:64,increment:4,value:32,plugins:new Ext.ux.SliderTip,listeners:{changecomplete:function(c,g){markerSize(c,g)}}});a={xtype:"fieldset",title:"Format Icon",autoHeight:true,layout:"column",defaults:{layout:"form"},items:[{columnWidth:0.3,items:[new Ext.Button({fieldLabel:"Fill", iconCls:"color",text:"Color",menu:a})]},{columnWidth:0.4,items:[b]}]};a=new Ext.FormPanel({labelWidth:50,frame:true,width:550,autoHeight:true,items:[a,{xtype:"fieldset",collapsible:true,collapsed:true,layout:"fit",title:"Write information window content here",autoHeight:true,buttons:[{text:"Update window content",handler:function(){udhT()}}],items:[{xtype:"htmleditor",id:"mrkHTML",width:500,height:75,anchor:"98%"}]}]});(new Ext.Window({frame:true,autoHeight:true,y:150,width:550,id:"markerWin", layout:"fit",closable:true,items:[a]})).show()} function shapesTbar(){var a=new Ext.menu.ColorMenu({text:"colorMenu",handler:function(e,d){var k=splitSty();k[3]="#"+d;updateStyle(k);JvBt(k)}}),b=new Ext.menu.ColorMenu({text:"colorMenu",icon:"color",handler:function(e,d){var k=splitSty();k[0]="#"+d;updateStyle(k);TeYo(k)}}),c=new Ext.Slider({fieldLabel:"Opacity",labelWidth:30,width:100,minValue:0,maxValue:100,increment:10,value:50,plugins:new Ext.ux.SliderTip,listeners:{changecomplete:function(e,d){fillOp(e,d)}}}),g=new Ext.Slider({fieldLabel:"Opacity", width:100,minValue:0,maxValue:100,increment:10,value:50,plugins:new Ext.ux.SliderTip,listeners:{changecomplete:function(e,d){lineOp(e,d)}}}),f=new Ext.Slider({fieldLabel:"Size",width:100,id:"lnszSl",minValue:0,maxValue:10,increment:1,value:2,clickHandler:function(){alert("hello")},plugins:new Ext.ux.SliderTip,listeners:{changecomplete:function(e,d){lNSz(e,d)}}});a=new Ext.Button({fieldLabel:"Fill",text:"Color",iconCls:"color",menu:a});var h=new Ext.Button({fieldLabel:"Line",text:"Color",iconCls:"color", menu:b});b=[{text:"Save style as",handler:oick,menu:{defaults:{group:"theme4",checkHandler:svSty},items:['<b class="menu-title">Save style as</b>',{text:"Default",checked:true},{text:"Style one",checked:false},{text:"Style two",checked:false},{text:"Style three",checked:false},{text:"Style four",checked:false},{text:"Style five",checked:false}]}},{text:"Apply style",handler:oick,menu:{defaults:{group:"theme5",checkHandler:apSty},items:['<b class="menu-title">Apply style </b>',{text:"Default", checked:true},{text:"Style one",checked:false},{text:"Style two",checked:false},{text:"Style three",checked:false},{text:"Style four",checked:false},{text:"Style five",checked:false}]}}];c=new Ext.FormPanel({labelWidth:50,frame:true,height:400,width:550,autoHeight:true,items:[{xtype:"fieldset",title:"Format shape",autoHeight:true,layout:"column",defaults:{layout:"form"},items:[{columnWidth:0.3,items:[a]},{columnWidth:0.7,items:[c]},{columnWidth:0.3,items:[h]},{columnWidth:0.35,items:[g]},{columnWidth:0.35, items:[f]}]},{xtype:"fieldset",collapsible:true,collapsed:true,layout:"fit",title:"Write information window content here",autoHeight:true,buttons:[{text:"Update window content",handler:function(){updateHTML()}}],items:[{xtype:"htmleditor",id:"shHTML",width:550,height:75,anchor:"98%"}]}]});(new Ext.Window({frame:true,y:150,id:"shapeWin",width:550,layout:"fit",closable:true,tbar:b,items:[c]})).show()} function del(){if(edS!="line")if(edS=="polygon"){mp.removeOverlay(pG[thR]);pG.splice(thR,1);pNa.splice(thR,1);pSt.splice(thR,1)}}function TeYo(a){frP.setStrokeStyle({color:a[0],weight:a[1],opacity:a[2]})}function JvBt(a){frP.setFillStyle({color:a[3],opacity:a[4]})} function updateStyle(a){if(edS=="line")lSt[fR]=a[0]+","+a[1]+","+a[2]+","+a[3]+","+a[4];else if(edS=="polygon")pSt[fR]=a[0]+","+a[1]+","+a[2]+","+a[3]+","+a[4];else if(edS=="rectan")rSt[fR]=a[0]+","+a[1]+","+a[2]+","+a[3]+","+a[4]}function splitSty(){if(edS=="line")var a=lSt[fR].split(",");else if(edS=="polygon")a=pSt[fR].split(",");else if(edS=="rectan")a=rSt[fR].split(",");return a} function fillOp(a,b){var c=splitSty();c[4]=parseFloat(b)/100;updateStyle(c);JvBt(c)}function apSty(a){if(a.checked){a=getSty(a.text);if(edS=="line")lSt[fR]=lSs[a];else if(edS=="polygon")pSt[fR]=pSs[a];else if(edS=="rectan")rSt[fR]=kSt[a];sty=splitSty();TeYo(sty);edS=="polygon"&&JvBt(sty)}} function svSty(a){if(a.checked){a=getSty(a.text);if(edS=="line")lSs[a]=lSt[fR];else if(edS=="polygon")pSs[a]=pSt[fR];else if(edS=="rectan")kSt[a]=rSt[fR]}}function getSty(a){if(a=="Default")return"0";else if(a=="Style one")return"1";else if(a=="Style two")return"2";else if(a=="Style three")return"3";else if(a=="Style four")return"4";else if(a=="Style five")return"5"} function lineOp(a,b){var c=splitSty();c[2]=parseFloat(b)/100;updateStyle(c);TeYo(c)}function lNSz(a,b){var c=splitSty();c[1]=b;updateStyle(c);TeYo(c)}function updateHTML(){var a="<div class='infowindow'>";a+=$("shHTML").getRawValue();if(edS=="line")lHt[fR]=a;else if(edS=="polygon")pHt[fR]=a;else if(edS=="rectan")rHt[fR]=a} function getHTML(){if(edS=="line")return lHt[thR];else if(edS=="polygon")return pHt[thR];else if(edS=="rectan")return rHt[thR]}function addlisMarker(a){GEvent.addListener(a,"mouseover",function(){for(i=0;i<mG.length;i++)if(a==mG[i])thR=i;edS="marker"});GEvent.addListener(a,"click",function(){for(i=0;i<mG.length;i++)if(a==mG[i])thR=i;a.openInfoWindowHtml(mHt[thR])})} function assemMarker(a){var b=a.split("^");a=GLatLng.fromUrlValue(b[0]);var c=b[1],g=b[4];b=MapIconMaker.createMarkerIcon({width:b[2],height:b[3],primaryColor:g,strokeColor:b[5],cornerColor:b[6]=="0"?g:"#ffffff"});return new GMarker(a,{icon:b,title:c})} function startMarker(a,b){if(b){var c=b.toUrlValue(5)+"^Marker^"+fsL,g=assemMarker(c);$("sendlink").enable();addlisMarker(g);mG[mG.length]=g;mHt[mHt.length]="";mp.addOverlay(g);mIc[mIc.length]=c}}function addIcon(a){a.iconSize=new GSize(20,20);a.shadowSize=new GSize(40,20);a.shadow="http://labs.google.com/ridefinder/images/mm_20_shadow.png";a.iconAnchor=new GPoint(10,20);a.infoWindowAnchor=new GPoint(10,1)} function startRect(){var a=kSt[0].split(","),b=new GPolyline([],a[0]);tL=b;a=kSt[0].split(",");b.setStrokeStyle({color:a[0],weight:parseFloat(a[1]),opacity:parseFloat(a[2])});mp.addOverlay(b);b.enableDrawing();GEvent.addListener(b,"endline",function(){rG[rG.length]=b;rNa[rNa.length]="Rectangle ";rSt[rSt.length]=dfre;rHt[rHt.length]="Length: 'Llength'";drawRect(b);tL="";$("sendlink").enable();$("rectang").toggle()})} function drawRect(a){for(i=0;i<rG.length;i++)if(a==rG[i])var b=i;var c=a.getBounds().getSouthWest().toUrlValue(8).split(","),g=a.getBounds().getNorthEast().toUrlValue(8).split(","),f=new GLatLng(g[0],c[1]);c=new GLatLng(c[0],g[1]);g=a.getBounds().getSouthWest();var h=a.getBounds().getNorthEast(),e=rSt[b].split(",");f=new GPolyline([g,c,h,f,g],e[0],parseFloat(e[1]),parseFloat(e[2]));rG[b]=f;mp.removeOverlay(a);mp.addOverlay(f);f.enableEditing({onEvent:"mouseover"}); f.disableEditing({onEvent:"mouseout"});rectAddListener(f)} function rectAddListener(a){GEvent.addListener(a,"click",function(b,c){if(typeof c=="number")a.deleteVertex(c);else{tPo=a;for(i=0;i<rG.length;i++)if(tPo==rG[i])thR=i;edS="rectan";for(var g=rHt[thR].split("\n"),f="",h=0;h<g.length;h++)for(var e=g[h].split("~"),d=0;d<e.length;d++){if(e[d]=="Llength"){e[d]=Math.round(a.getLength())+" metres";if(e[d].length>10)e[d]=e[d].slice(0,e[d].length-10)+", "+e[d].slice(e[d].length-10)}f+=e[d]}html="<div class='infowindow'>"; html+=f;mp.openInfoWindowHtml(b,html)}});GEvent.addListener(a,"mouseover",function(){tPo=a;for(i=0;i<rG.length;i++)if(tPo==rG[i])thR=i;edS="rectan"})} function process_polygons(a){a=a.split("\n");for(i=0;i<a.length-1;i++){var b=a[i].split("^"),c=b[1].split(","),g=b[3].split("~");pNa[pNa.length]=b[0];pSt[pSt.length]=b[1];pHt[pHt.length]=b[2];b=[];for(j=0;j<g.length;j++){var f=g[j].split(",");b[j]=new GLatLng(parseFloat(f[0]),parseFloat(f[1]))}c=new GPolygon([b[0],b[1],b[2],b[0]],c[0],parseFloat(c[1]),parseFloat(c[2]),c[3],parseFloat(c[4]));pG[pG.length]=c;mp.addOverlay(c);c.enableEditing({onEvent:"mouseover"}); c.disableEditing({onEvent:"mouseout"});for(j=3;j<b.length;j++)c.insertVertex(j,b[j]);padl(c)}} function process_lines(a){a=a.split("\n");for(i=0;i<a.length-1;i++){var b=a[i].split("^"),c=b[1].split(","),g=b[3].split("~"),f=[];for(j=0;j<g.length;j++){var h=g[j].split(",");f[j]=new GLatLng(parseFloat(h[0]),parseFloat(h[1]))}c=new GPolyline([f[0],f[1],f[2]],c[0],parseFloat(c[1]),parseFloat(c[2]));mp.addOverlay(c);for(j=3;j<f.length;j++)c.insertVertex(j,f[j]);lG[lG.length]=c;lN[lN.length]=b[0];lSt[lSt.length]=b[1];lHt[lHt.length]=b[2];c.enableEditing({onEvent:"mouseover"}); c.disableEditing({onEvent:"mouseout"});lineAddListener(c)}} function process_rectans(a){a=a.split("\n");for(i=0;i<a.length-1;i++){var b=a[i].split("^"),c=b[1].split(","),g=b[3].split("~"),f=[];for(j=0;j<g.length;j++){var h=g[j].split(",");f[j]=new GLatLng(parseFloat(h[0]),parseFloat(h[1]))}c=new GPolyline([f[0],f[1],f[2]],c[0],parseFloat(c[1]),parseFloat(c[2]));mp.addOverlay(c);for(j=3;j<f.length;j++)c.insertVertex(j,f[j]);rG[rG.length]=c;rNa[rNa.length]=b[0];rSt[rSt.length]=b[1];rHt[rHt.length]= b[2];c.enableEditing({onEvent:"mouseover"});c.disableEditing({onEvent:"mouseout"})}} function startPoly(){var a=pSs[0].split(","),b=new GPolygon([],a[0],parseFloat(a[1]),parseFloat(a[2]),a[3],parseFloat(a[4]));mp.addOverlay(b);tPo=b;b.enableDrawing();b.enableEditing({onEvent:"mouseover"});b.disableEditing({onEvent:"mouseout"});GEvent.addListener(b,"endline",function(){pG[pG.length]=b;var c="Polygon "+ ++pC_;pNa[pNa.length]=c;pSt[pSt.length]=dfPs;pHt[pHt.length]="Area: ~Parea~";$("sendlink").enable(); tPo="";$("polygon").toggle()});padl(b)} 
function padl(a){edc(a);GEvent.addListener(a,"click",function(b,c){if(typeof c=="number")a.deleteVertex(c);else{tPo=a;for(i=0;i<pG.length;i++)if(tPo==pG[i])thR=i;edS="polygon";for(var g=pHt[thR].split("\n"),f="",h=0;h<g.length;h++)for(var e=g[h].split("~"),d=0;d<e.length;d++){if(e[d]=="Parea"){e[d]=Math.round(a.getArea())+" square metres";if(e[d].length>20)e[d]=e[d].slice(0,e[d].length-20)+", "+e[d].slice(e[d].length-20)}f+=e[d]}html= "<div class='infowindow'>";html+=f;mp.openInfoWindowHtml(b,html)}});GEvent.addListener(a,"mouseover",function(){tPo=a;ddc();for(i=0;i<pG.length;i++)if(a==pG[i])thR=i;edS="polygon"})} function startLine(){var a=lSs[0].split(","),b=new GPolyline([],a[0]);tL=b;a=dfls.split(",");b.setStrokeStyle({color:a[0],weight:parseFloat(a[1]),opacity:parseFloat(a[2])});mp.addOverlay(b);b.enableDrawing();b.enableEditing({onEvent:"mouseover"});b.disableEditing({onEvent:"mouseout"});GEvent.addListener(b,"endline",function(){lG[lG.length]=b;lN[lN.length]="line";lSt[lSt.length]=dfls;lHt[lHt.length]="Length: ~Llength~";tL= "";$("sendlink").enable();$("line").toggle()});lineAddListener(b)} function lineAddListener(a){GEvent.addListener(a,"click",function(b,c){if(typeof c=="number")a.deleteVertex(c);else{tPo=a;for(i=0;i<lG.length;i++)if(tPo==lG[i])thR=i;edS="line";for(var g=lHt[thR].split("\n"),f="",h=0;h<g.length;h++)for(var e=g[h].split("~"),d=0;d<e.length;d++){if(e[d]=="Llength"){e[d]=Math.round(a.getLength())+" metres";if(e[d].length>10)e[d]=e[d].slice(0,e[d].length-10)+", "+e[d].slice(e[d].length-10)}f+=e[d]}html="<div class='infowindow'>"; html+=f;mp.openInfoWindowHtml(b,html)}});GEvent.addListener(a,"mouseover",function(){tPo=a;for(i=0;i<lG.length;i++)if(a==lG[i])thR=i;edS="line"})};

function dtwn(){var a=new Ext.menu.ColorMenu({text:"colorMenu",handler:function(e,f){var d=vdO,g=spltIcSpecs(mSp[d]);g[2]=f;mSp[d]=g[0]+"^"+g[1]+"^"+g[2]+"^"+g[3]+"^"+g[4];chngImg(d);if(d==10){hideClasses();nailmarkers()}else dumR(d)}});a=new Ext.Button({fieldLabel:"Fill",iconCls:"color",text:"Color",menu:a});var b=new Ext.Slider({fieldLabel:"Size",labelWidth:30,width:100,minValue:10,maxValue:64,increment:4,value:32,plugins:new Ext.ux.SliderTip,listeners:{changecomplete:function(e, f){var d=vdO,g=spltIcSpecs(mSp[d]);g[1]=f;mSp[d]=g[0]+"^"+g[1]+"^"+g[2]+"^"+g[3]+"^"+g[4];chngImg(d);if(d==10){hideClasses();nailmarkers()}else dumR(d)}}});a=new Ext.FormPanel({labelWidth:50,frame:true,height:400,width:620,autoHeight:true,items:[{xtype:"fieldset",title:"Format Icon",autoHeight:true,layout:"column",defaults:{layout:"form"},items:[{columnWidth:0.3,items:[a]},{columnWidth:0.7,items:[b]}]},{xtype:"fieldset",collapsible:true,collapsed:true,title:"Write information window content here", autoHeight:true,buttons:[{text:"Save",handler:function(){wHt=$("dtHTML").getRawValue();upHTML()}}],items:[{xtype:"htmleditor",id:"dtHTML",width:600,height:100,anchor:"98%"}]}]});b=new Ext.menu.Menu;for(var c=3;c<mCt;++c)b.add({text:xDt[c][0],group:"fileCols",checked:false,checkHandler:colSelect});(new Ext.Window({frame:true,y:150,width:620,layout:"fit",id:"winData",closable:true,listeners:{close:function(){clsHilite()}},items:[a]})).show()} function WcTn(){$("tocData")&&$("tocData").destroy();$("toc").add({xtype:"form",id:"tocData",frame:true,defaults:{xtype:"box",anchor:"95%"},layout:"column"});$("toc").doLayout();for(var a=new Ext.menu.Menu,b=3;b<mCt;++b)a.add({text:xDt[b][0],group:"fileCols",checked:false,checkHandler:colSelect});b={columnWidth:0.7,autoEl:{tag:"div",children:[{id:"dataFn",style:"margin: 10px 0 10px 10px",html:'<div style="color:blue; font-weight: bold">File: '+yxF+"</div>"}]}};var c={columnWidth:0.3, autoEl:{tag:"div",children:[{tag:"img",id:"img10",style:" margin: 10px 0 10px 30px; visibility: visible",src:getmrkImg(mSp[10])}]}};$("tocData").add(b);$("tocData").add(c);b=new Ext.Button({columnWidth:0.4,text:'<div style="font-weight: bold">  Column</div>',style:"margin: 10px 0 10px 10px",menu:a});$("tocData").add(b);$("tocData").add({columnWidth:0.5,autoEl:{tag:"div",children:[{id:"dataCol",style:"margin: 10px 0 4px 30px; visibility: hidden",html:"None"}]}});for(b=0;b<10;b++){c=getmrkImg(mSp[b]); a={columnWidth:0.7,autoEl:{tag:"div",children:[{style:" margin:0 0 4px 40px; visibility: hidden",id:"capt"+b,html:"Image Caption"}]}};c={columnWidth:0.3,autoEl:{tag:"div",children:[{tag:"img",style:" margin:0 20px 4px 20px; visibility: hidden",id:"img"+b,src:c}]}};$("tocData").add(a);$("tocData").add(c)}$("tocData").doLayout();$$("img10").ondblclick=function(){var e=this.id.split("g");vdO=parseFloat(e[1]);$("winData")&&$("winData").destroy();dtwn()}} function hideClasses(){for(var a=0;a<10;a++){$$("capt"+a).style.visibility="hidden";$$("img"+a).style.visibility="hidden";$$("dataCol").style.visibility="hidden"}}function reftoc(){for(var a=0;a<10;a++){var b=getmrkImg(mSp[a]);$$("img"+a).src=b}}function spltIcSpecs(a){return a.split("^")}function chngImg(a){$$("img"+a).src=getmrkImg(mSp[a])} function loadFile(a){a="file="+a;var b=xm();if(b==null)alert("Error: Browser does not support HTTP Request");else{b.open("POST","fileread.php",true);b.onreadystatechange=function(){if(b.readyState==4||b.readyState=="complete"){var c=b.responseText.split("\n");mgT=c.length-2;for(var e=0;e<c.length-1;e++){var f=c[e].split(dlm);mCt=f.length;for(var d=0;d<f.length;d++)xDt[d][e]=f[d]}nailmarkers();$("sendlink").enable();WcTn(a);$("west-panel").expand()}};b.setRequestHeader("Content-type", "application/x-www-form-urlencoded");b.send(a)}} function dumR(a){for(i=1;i<mgT+1;i++)if(bth=="Text"){if(xDt[pnl][i]==dCl[a].max){var b=i-1,c=mG[b].getTitle(),e=xDt[1][i]+","+xDt[2][i];mIc[b]=e+"^"+c+"^"+mSp[a];mp.removeOverlay(mG[b]);c=assemMarker(mIc[b]);addlisMarker(c);mp.addOverlay(c);mG[b]=c}}else if(bth=="Numerical")if(parseFloat(xDt[pnl][i])<parseFloat(dCl[a].max))if(parseFloat(xDt[4][i])>parseFloat(dCl[a].min)){b= i-1;c=mG[b].getTitle();e=xDt[1][i]+","+xDt[2][i];mIc[b]=e+"^"+c+"^"+mSp[a];mp.removeOverlay(mG[b]);c=assemMarker(mIc[b]);addlisMarker(c);mp.addOverlay(c);mG[b]=c}}function getmrkImg(a){a=a.split("^");return"http://chart.apis.google.com/chart?cht=mm&chs="+a[0]+"x"+a[1]+"&chco="+(a[4]=="0"?a[2]:"FFFFFF")+","+a[2]+","+a[3]+"&ext=.png"} function colSelect(a){getmrkspec();reftoc();$$("dataCol").innerHTML='<div style="font-weight: bold">'+a.text+"</div>";$$("dataCol").style.visibility="visible";if(a.checked){for(var b=3;b<mCt;++b)if(a.text==xDt[b][0])pnl=b;IEfindCategories(pnl)}} function IEfindCategories(a){rwC=[];isN=1;for(var b=0,c=[],e=1;e<mgT+1;e++){for(var f=1,d=0;d<rwC.length;d++)if(rwC[d]==xDt[a][e])f=0;f==1&&rwC.push(xDt[a][e]);if(isNaN(xDt[a][e]))isN=0;if(isN==1){c[e-1]=parseFloat(xDt[a][e]);b+=parseFloat(xDt[a][e])}}if(isN==1){new Stats(c);rwC.sort(function(g,h){return g-h})}else isN==0&&rwC.sort();for(d=maxCount=0;d<rwC.length;d++){b=0;for(e=1;e<mgT+ 1;e++)if(rwC[d]==xDt[a][e])b+=1;rwV[d]=b;if(b>maxCount)maxCount=b;DTc.push([rwC[d],b])}bth="Numerical";if(isN==0)bth="Text";if(rwC.length<11){nku=rwC.length;classesSelected=1;for(d=0;d<nku;d++){dCl[d].label=""+rwC[d];dCl[d].min=rwC[d];dCl[d].max=rwC[d];dCl[d].img=$$("img"+d).src}colorMarkers(a);updateToc()}else if(rwC.length>10)if(isN==1){classify();colorMarkers(a); updateToc()}}function classify(){nku=10;var a=(rwC[rwC.length-1]-rwC[0])/10;a=Math.round(a);for(var b=parseFloat(rwC[0]),c=0;c<nku;c++){dCl[c].min=b+a*c;dCl[c].max=b+a*(c+1);dCl[c].label=""+dCl[c].min+"--"+dCl[c].max;dCl[c].img=$$("img"+c).src}} function updateToc(){for(var a=0;a<10;a++){$$("img"+a).style.visibility="hidden";$$("capt"+a).style.visibility="hidden"}for(a=0;a<nku;a++){$$("capt"+a).innerHTML=dCl[a].label;$$("capt"+a).style.visibility="visible";$$("img"+a).style.visibility="visible";$$("img"+a).ondblclick=function(){var b=this.id.split("g");vdO=parseFloat(b[1]);clsHilite();hilite();$("winData")&&$("winData").destroy();dtwn()}}} function hilite(){var a=$$("capt"+vdO).style;a.color="#FF0000";a.fontWeight="bold"}function clsHilite(){for(var a=0;a<10;a++){var b=$$("capt"+a).style;b.color="#000000";b.fontWeight="normal"}} function graphWin(){$("winData").close();var a=new Ext.data.ArrayStore({fields:["month","hits"],data:DTc});a=new Ext.FormPanel({labelAlign:"top",frame:true,bodyStyle:"padding:5px 5px 0",layout:"fit",items:{xtype:"columnchart",store:a,yField:"hits",url:"/ext-3.1.1/resources/charts.swf",xField:"month",xAxis:new Ext.chart.CategoryAxis({title:"Month"}),yAxis:new Ext.chart.NumericAxis({title:"Hits"}),extraStyle:{xAxis:{labelRotation:-90}}},buttons:[{text:"Save"},{text:"Close"}]});(new Ext.Window({frame:true, title:"Login for advanced services",width:600,height:400,layout:"fit",id:"winGraph",closable:true,items:a})).show()} function colorMarkers(a){remMarkers();var b="";for(i=1;i<mgT+1;i++){for(var c=0;c<nku;c++)if(bth=="Text"){if(xDt[a][i]==dCl[c].max){b=mSp[c];break}}else if(bth=="Numerical")if(parseFloat(xDt[a][i])<=parseFloat(dCl[c].max))if(parseFloat(xDt[a][i])>parseFloat(dCl[c].min)){b=mSp[c];break}c=i-1;var e=xDt[1][i]+","+xDt[2][i],f=mG[c].getTitle(),d=assemMarker(e+"^"+f+"^"+b);d=addListener(d);mp.removeOverlay(mG[c]); mp.addOverlay(d);mG[c]=d;mIc[c]=e+"^"+f+"^"+b}} function nailmarkers(){remMarkers();for(i=1;i<mgT+1;i++){var a=xDt[1][i]+","+xDt[2][i];pRV[0][i]=a;pRV[1][i]=icon.image;pRV[2][i]=xDt[0][i];pRV[3][i]=makeHTML(i);mHt[mHt.length]=makeHTML(i);var b=assemMarker(a+"^"+xDt[0][i]+"^"+mSp[10]);b=addListener(b);mp.addOverlay(b);mG[mG.length]=b;mIc[mIc.length]=a+"^"+xDt[0][i]+"^"+mSp[10]}} function addListener(a){GEvent.addListener(a,"click",function(){for(i=0;i<mG.length;i++)if(a==mG[i])var b=i;a.openInfoWindowHtml(mHt[b])});return a} function makeHTML(a){htF="";for(var b=wHt.split("\n"),c=0;c<b.length;c++)for(var e=b[c].split("~"),f=0;f<e.length;f++){for(var d=0;d<mCt;d++){var g=xDt[d][0];g=g.slice(0,g.length-1);if(e[f]==g)e[f]=xDt[d][a];if(e[f]==xDt[d][0])e[f]=xDt[d][a]}htF+=e[f]}html="<div class='infowindow'>";html+=htF;return html}function remMarkers(){for(var a=1;a<mG.length;a++)mp.removeOverlay(mG[a])} function upHTML(){for(i=0;i<mgT+1;i++)mHt[i]=makeHTML(i+1)};

Ext.apply(Ext.form.VTypes,{password:function(a,c){if(c.initialPassField){var b=Ext.getCmp(c.initialPassField);return a==b.getValue()}return true},passwordText:"Passwords do not match"}); function login(){Ext.QuickTips.init();var a=new Ext.FormPanel({title:"Login",labelWidth:80,url:"login.php",frame:true,width:300,autoHeight:true,defaultType:"textfield",items:[{xtype:"box",autoEl:{tag:"img",src:"im48x48.png"}},{fieldLabel:"Email",name:"email",id:"uEma",width:190,vtype:"email",allowBlank:false},{fieldLabel:"Password",name:"password",width:190,inputType:"password",allowBlank:false}],buttons:[{text:"Login",handler:function(){a.getForm().submit({method:"POST",waitTitle:"please wait.....", waitMsg:"Logging in...",success:function(){uEm=$("uEma").getValue();alert(uEm);alert(responseText)},failure:function(c,b){if(b.failureType=="server"){obj=Ext.util.JSON.decode(b.response.responseText);Ext.Msg.alert("Login Failed!",obj.errors.message)}else Ext.Msg.alert("Warning!","Authentication server is unreachable : "+b.response.responseText+"abcd");a.getForm().reset()}})}},{text:"Reset",handler:function(){a.getForm().reset()}}]});return a} function register(){Ext.QuickTips.init();var a=new Ext.FormPanel({title:"Register",labelWidth:80,url:"register.php",frame:true,width:300,autoHeight:true,defaultType:"textfield",items:[{fieldLabel:"Email",name:"email",width:190,vtype:"email",allowBlank:false},{fieldLabel:"Password",name:"password",width:190,inputType:"password",id:"pass",allowBlank:false},{fieldLabel:"Confirm",name:"password1",width:190,inputType:"password",vtype:"password",initialPassField:"pass",allowBlank:false}],buttons:[{text:"Register", handler:function(){a.getForm().submit({method:"POST",waitTitle:"please wait.....",waitMsg:"Send data...",success:function(){Ext.Msg.alert("Status","You are successfullly registered and currently logged in..!",function(){})},failure:function(c,b){if(b.failureType=="server"){obj=Ext.util.JSON.decode(b.response.responseText);Ext.Msg.alert("Login Failed!",obj.errors.reason)}else Ext.Msg.alert("Warning!","Authentication server is unreachable : "+b.response.responseText+"abcd");a.getForm().reset()}})}}, {text:"Reset",handler:function(){a.getForm().reset()}}]});return a} function chPass(){Ext.QuickTips.init();var a=new Ext.FormPanel({title:"Change password",labelWidth:80,url:"register.php",disabled:false,frame:true,width:30,autoHeight:true,defaultType:"textfield",items:[{fieldLabel:"Old",name:"oldpass",width:190,vtype:"password",allowBlank:false},{fieldLabel:"New",name:"password",width:190,inputType:"password",id:"pass1",allowBlank:false},{fieldLabel:"Confirm",name:"password1",width:190,inputType:"password",vtype:"password",initialPassField:"pass1",allowBlank:false}], buttons:[{text:"Change",handler:function(){a.getForm().submit({method:"POST",waitTitle:"please wait.....",waitMsg:"Send data...",success:function(){Ext.Msg.alert("Status","You are successfullly registered and currently logged in..!",function(){})},failure:function(c,b){if(b.failureType=="server"){obj=Ext.util.JSON.decode(b.response.responseText);Ext.Msg.alert("Login Failed!",obj.errors.reason)}else Ext.Msg.alert("Warning!","Authentication server is unreachable : "+b.response.responseText+"abcd"); a.getForm().reset()}})}},{text:"Reset",handler:function(){a.getForm().reset()}}]});return a};


var MapIconMaker={},iconImageMaker={};
MapIconMaker.createMarkerIcon=function(b){var a=b.width||32,c=b.height||32,e=b.primaryColor||"#ff0000",f=b.strokeColor||"#000000",g=b.cornerColor||"#ffffff",d="http://chart.apis.google.com/chart?cht=mm&chs="+a+"x"+c+"&chco="+g.replace("#","")+","+e.replace("#","")+","+f.replace("#","")+"&ext=.png";b=new GIcon(G_DEFAULT_ICON);b.image=d;b.iconSize=new GSize(a,c);b.shadowSize=new GSize(Math.floor(a*1.6),c);b.iconAnchor=new GPoint(a/2,c);b.infoWindowAnchor=new GPoint(a/2,Math.floor(c/12));b.printImage=d+"&chof=gif";b.mozPrintImage=d+"&chf=bg,s,ECECD8&chof=gif";d="http://chart.apis.google.com/chart?cht=mm&chs="+a+"x"+c+"&chco="+g.replace("#","")+","+e.replace("#","")+","+f.replace("#","");b.transparent=d+"&chf=a,s,ffffff11&ext=.png";b.imageMap=[a/2,c,0.4375*a,0.625*c,0.3125*a,0.4375*c,0.21875*a,0.3125*c,0.3125*a,0.125*c,0.5*a,0,0.6875*a,0.125*c,0.78125*a,0.3125*c,0.6875*a,0.4375*c,0.5625*a,0.625*c];for(a=0;a<b.imageMap.length;a++)b.imageMap[a]=parseInt(b.imageMap[a]);return b};MapIconMaker.createMarkerImage=function(b){var a=b.width||32,c=b.height||32,e=b.primaryColor||"#ff0000",f=b.strokeColor||"#000000",g=b.cornerColor||"#ffffff",d="http://chart.apis.google.com/chart?cht=mm&chs="+a+"x"+c+"&chco="+g.replace("#","")+","+e.replace("#","")+","+f.replace("#","")+"&ext=.png";b=new GIcon(G_DEFAULT_ICON);b.image=d;b.iconSize=new GSize(a,c);b.shadowSize=new GSize(Math.floor(a*1.6),c);b.iconAnchor=new GPoint(a/2,c);b.infoWindowAnchor=new GPoint(a/2,Math.floor(c/12));b.printImage=d+"&chof=gif";b.mozPrintImage=d+"&chf=bg,s,ECECD8&chof=gif";d="http://chart.apis.google.com/chart?cht=mm&chs="+a+"x"+c+"&chco="+g.replace("#","")+","+e.replace("#","")+","+f.replace("#","");b.transparent=d+"&chf=a,s,ffffff11&ext=.png";b.imageMap=[a/2,c,0.4375*a,0.625*c,0.3125*a,0.4375*c,0.21875*a,0.3125*c,0.3125*a,0.125*c,0.5*a,0,0.6875*a,0.125*c,0.78125*a,0.3125*c,0.6875*a,0.4375*c,0.5625*a,0.625*c];for(a=0;a<b.imageMap.length;a++)b.imageMap[a]=parseInt(b.imageMap[a]);return b.imageMap};
