
function westPanControl(){}
westPanControl.prototype=new GControl();westPanControl.prototype.initialize=function(map){var container=document.createElement("div");var panDiv=document.createElement("div");this.setButtonStyle_(panDiv);container.appendChild(panDiv);panDiv.innerHTML='<img src="http://www.google.com/mapfiles/west-mini.png" alt="Pan west" />';GEvent.addDomListener(panDiv,"click",function(){map.panBy(new GSize(200,0));});map.getContainer().appendChild(container);return container;}
westPanControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(15,20));}
westPanControl.prototype.setButtonStyle_=function(button){button.style.color="#000000";button.style.border="none";button.style.padding="0px";button.style.marginBottom="1px";button.style.width="2em";button.style.cursor="pointer";}
function northPanControl(){}
northPanControl.prototype=new GControl();northPanControl.prototype.initialize=function(map){var container=document.createElement("div");var panDiv=document.createElement("div");this.setButtonStyle_(panDiv);container.appendChild(panDiv);panDiv.innerHTML='<img src="http://www.google.com/mapfiles/north-mini.png" alt="Pan north" />';GEvent.addDomListener(panDiv,"click",function(){map.panBy(new GSize(0,200));});map.getContainer().appendChild(container);return container;}
northPanControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(30,5));}
northPanControl.prototype.setButtonStyle_=function(button){button.style.color="#000000";button.style.border="none";button.style.padding="0px";button.style.marginBottom="1px";button.style.width="2em";button.style.cursor="pointer";}
function eastPanControl(){}
eastPanControl.prototype=new GControl();eastPanControl.prototype.initialize=function(map){var container=document.createElement("div");var panDiv=document.createElement("div");this.setButtonStyle_(panDiv);container.appendChild(panDiv);panDiv.innerHTML='<img src="http://www.google.com/mapfiles/east-mini.png" alt="Pan east" />';GEvent.addDomListener(panDiv,"click",function(){map.panBy(new GSize(-200,0));});map.getContainer().appendChild(container);return container;}
eastPanControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(45,20));}
eastPanControl.prototype.setButtonStyle_=function(button){button.style.color="#000000";button.style.border="none";button.style.padding="0px";button.style.marginBottom="1px";button.style.width="2em";button.style.cursor="pointer";}
function southPanControl(){}
southPanControl.prototype=new GControl();southPanControl.prototype.initialize=function(map){var container=document.createElement("div");var panDiv=document.createElement("div");this.setButtonStyle_(panDiv);container.appendChild(panDiv);panDiv.innerHTML='<img src="http://www.google.com/mapfiles/south-mini.png" alt="Pan south" />';GEvent.addDomListener(panDiv,"click",function(){map.panBy(new GSize(0,-200));});map.getContainer().appendChild(container);return container;}
southPanControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(30,35));}
southPanControl.prototype.setButtonStyle_=function(button){button.style.color="#000000";button.style.border="none";button.style.padding="0px";button.style.marginBottom="1px";button.style.width="2em";button.style.cursor="pointer";}
function shareMap(){var sendmail=document.getElementById("semail").value;var recemail=document.getElementById("remail").value;if(validateEmail(sendmail)==0){alert(sendmail+" Doesn't look like a valid e-mail address");document.getElementById("semail").focus();return false;}
else if(validateEmail(recemail)==0){alert(recemail+" Doesn't look like a valid e-mail address");document.getElementById("remail").focus();}
else{var lat=map.getCenter().lat();var lng=map.getCenter().lng();var murl="mshare.php?f="+recemail+"&t="+sendmail+"&lat="+lat+"&lng="+lng;var request=GXmlHttp.create();request.open('GET',murl,true);request.onreadystatechange=function(){if(request.readyState==4){var responder=request.responseText;document.getElementById("sentMail").innerHTML=responder;}}
request.send(null);}}
function validateEmail(email){var reg=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;if(reg.test(email)==false){return 0;}
return 1;}
function checkAddress(){var address=document.getElementById("address").value;address+=', Wilmington, NC';geocoder.getLocations(address,function(response){if(response.Status.code!=200){document.getElementById("uAddress").innerHTML="Google couldn't find "+address+". Try again.";}
else{place=response.Placemark[0];}
if(place.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.LocalityName!="Wilmington"){document.getElementById("uAddress").innerHTML="Google couldn't find "+address+". Try again.";}
else{document.getElementById("uAddress").innerHTML="Centering on "+address+".";map.setCenter(new GLatLng(place.Point.coordinates[1],place.Point.coordinates[0]),startZoom);updateMarkers2();}});}
function myclick(k){GEvent.trigger(existingMarkers[k],"click");}
function makeIcon(iconURL,iconImage,iconShadow){iconImage=iconURL+iconImage;iconShadow=iconURL+iconShadow;var icon=new GIcon();icon.image=iconImage;icon.iconSize=new GSize(12,20);icon.shadow=iconShadow;icon.shadowSize=new GSize(22,20);icon.iconAnchor=new GPoint(7,18);icon.infoWindowAnchor=new GPoint(10,3);return icon;}
function updateMarkers1(){document.getElementById("waiting_icon").style.visibility="visible";var mapBounds=map.getBounds();var request=GXmlHttp.create();request.open('GET','wanted_t.php',true);request.onreadystatechange=function(){if(request.readyState==4){document.getElementById("waiting_icon").style.visibility="hidden";var jscript=request.responseText;eval(jscript);for(i in points){if(points[i].lat>0){var point=new GLatLng(points[i].lat,points[i].lng);if(!existingMarkers[i]&&mapBounds.contains(point)){existingMarkers[i]=createMarker(point,points[i].name,points[i].address,points[i].charges,icon);document.getElementById("tab1").innerHTML+="<a href=\"javascript:myclick('"+i+"')\">"+points[i].name+'<\/a><br>';map.addOverlay(existingMarkers[i]);}}}}}
request.send(null);}
function updateMarkers2(){var mapBounds=map.getBounds();for(k in existingMarkers){if(!mapBounds.contains(existingMarkers[k].getPoint())){map.removeOverlay(existingMarkers[k]);delete existingMarkers[k];}}
for(k in points){if(points[k].lat>0){var latlng=new GLatLng(points[k].lat,points[k].lng);if(!existingMarkers[k]&&mapBounds.contains(latlng)){var icon=makeIcon('http://labs.google.com/ridefinder/images/','mm_20_orange.png','mm_20_shadow.png');existingMarkers[k]=createMarker(latlng,points[k].name,points[k].address,points[k].charges,icon);map.addOverlay(existingMarkers[k]);}}}
side_bar_html="";document.getElementById("tab1").innerHTML=side_bar_html;for(i in existingMarkers){side_bar_html+="<a href=\"javascript:myclick('"+i+"')\">"+points[i].name+'<\/a><br>';}
document.getElementById("tab1").innerHTML=side_bar_html;if(scount==1&&existingMarkers[spoint]){scount=0;GEvent.trigger(existingMarkers[spoint],"click");}}
function createMarker(point,name,address,charges,icon){var marker=new GMarker(point,{draggable:true,bouncy:false,autoPan:true,title:name,icon:icon});GEvent.addListener(marker,'click',function(){count=1;map.savePosition();var markerHTML="<div id=\"iWindow\" style=\"font: 12px Gill Sans, sans-serif; overflow:auto; width: 225px; height: 100px\"><table width=223><tbody><tr><td><strong>"+name+"<\/strong><br/>"
+address+"<br/>Charges:<br/>"
+charges+"<\/td><\/tr><\/tbody><\/table><\/div>";marker.openInfoWindowHtml(markerHTML);});GEvent.addListener(marker,'infowindowclose',function(){map.returnToSavedPosition();});return marker;}
function sDB(e){getCsv();YAHOO.wantedTable.ClientPagination=new function(){var myColumnDefs=[{key:"name",label:"Name",sortable:true},{key:"address",label:"Address",sortable:true},{key:"city",label:"City",sortable:true},{key:"st",label:"State",sortable:true},{key:"zip",label:"Zip",sortable:true},{key:"charges",label:"Charges",sortable:true},{key:"mapit",label:"Map this"}];var searchPage='wsearch_2.php?';var searchFName=escape(document.getElementById("dbfn").value);var searchLName=escape(document.getElementById("dbln").value);var searchAddress=escape(document.getElementById("dbaddress").value);var searchCharge=escape(document.getElementById("dbcharge").value);searchPage+='fn='+searchFName+'&ln='+searchLName+'&a='+searchAddress+'&c='+searchCharge;this.myDataSource=new YAHOO.util.DataSource(searchPage);this.myDataSource.responseType=YAHOO.util.DataSource.TYPE_JSON;this.myDataSource.responseSchema={resultsList:"records",fields:["name","address","city","st","zip","charges","mapit"]};var oConfigs={paginated:true,paginator:{pageLinks:12,rowsPerPage:10,dropdownOptions:[10,25,50]},initialRequest:""};this.myDataTable=new YAHOO.widget.DataTable("dbresults",myColumnDefs,this.myDataSource,oConfigs);};}
function mapThis(lat,lng,point){spoint=point;scount=1;rCenterMap(lat,lng);mTabView.set('activeIndex',0);}
function rCenterMap(lat,lng){map.closeInfoWindow();map.setCenter(new GLatLng(lat,lng,startZoom));if(navigator.appName=="Microsoft Internet Explorer"){map.panBy(new GSize(100,100));}}
function getCsv(){var csvURL='http://www.star-newsmedia.com/cr/w/csv.php?';var csvParams='a='+escape(document.getElementById("dbaddress").value)+'&fn='+escape(document.getElementById("dbfn").value)+'&ln='+escape(document.getElementById("dbln").value)+'&c='+escape(document.getElementById("dbcharge").value);csvURL+=csvParams;csvLink='<a href="'+csvURL+'">Download these search results to an Excel spreadsheet</a>';document.getElementById("csvdownload").innerHTML=csvLink;}
function init(){map=new GMap2(document.getElementById("map"));map.setCenter(new GLatLng(centerLatitude,centerLongitude),startZoom);var pos=new GControlPosition(G_ANCHOR_BOTTOM_LEFT,new GSize(200,300));pos.apply(document.getElementById("waiting_icon"));map.getContainer().appendChild(document.getElementById("waiting_icon"));updateMarkers1();var ovcontrol=new GOverviewMapControl(new GSize(200,200));map.addControl(ovcontrol);map.addControl(new westPanControl());map.addControl(new northPanControl());map.addControl(new eastPanControl());map.addControl(new southPanControl());map.disableDoubleClickZoom();GEvent.addListener(map,'zoomend',function(){updateMarkers2();});GEvent.addListener(map,'move',function(){if(count==0){document.getElementById("tab1").innerHTML="Loading markers ...";}});GEvent.addListener(map,'moveend',function(){if(count==0){updateMarkers2();}
count=0;});(function(){mTabView=new YAHOO.widget.TabView('mtabs');})();(function(){var tabView=new YAHOO.widget.TabView('wtabs');})();}
YAHOO.util.Event.addListener(window,"load",function(){YAHOO.wantedTable.ClientPagination=new function(){var myColumnDefs=[{key:"name",label:"Name",sortable:true},{key:"address",label:"Address",sortable:true},{key:"city",label:"City",sortable:true},{key:"st",label:"State",sortable:true},{key:"zip",label:"Zip",sortable:true},{key:"charges",label:"Charges",sortable:true},{key:"mapit",label:"Map this"}];var searchPage='wsearch2.php?';this.myDataSource=new YAHOO.util.DataSource(searchPage);this.myDataSource.responseType=YAHOO.util.DataSource.TYPE_JSON;this.myDataSource.responseSchema={resultsList:"records",fields:["name","address","city","st","zip","charges","mapit"]};var oConfigs={paginated:true,paginator:{pageLinks:12,rowsPerPage:10,dropdownOptions:[10,25,50]},initialRequest:""};this.myDataTable=new YAHOO.widget.DataTable("dbresults",myColumnDefs,this.myDataSource,oConfigs);};});