var myP=[];var myPO=[];
function Place(lng,lat,name){this.lat=lat;this.lng=lng;this.name=name;}
function loadMyPlaces(){var cookie=readCookie("myplaces");if(cookie){var places=cookie.split('@@');for(var i=0;i< places.length;i++){var pp=places[i].split('##');addMyPlaces(pp[2],pp[1],pp[0]);}updateMyPlaceMarkers();}}
function addMyPlaces(lng,lat,name){myP.push(new Place(lng,lat,name));document.getElementById('placecount').innerHTML=myP.length;saveMyPlaceCookie();}
function updateMyPlaceMarkers(){if (myPO.length >0){for(var i=0;i< myPO.length;i++){map.removeOverlay(myPO[i]);}}myPO=[];for(var i=0;i< myP.length;i++){var lat=myP[i].lat;var lng=myP[i].lng;var name=myP[i].name;var marker=createMyPlaceMarker(name,lat,lng,i+1);myPO.push(marker);map.addOverlay(marker);}}
function listMyPlaces(){var list="<table>";for(var i=0;i< myP.length;i++){var lat=myP[i].lat;var lng=myP[i].lng;var name=myP[i].name;var icc="markers-green/marker"+(i+1)+".png";list += "<tr><td style=\"width: 25px; text-align: left; vertical-align: top;\"><img src=\""+icc+"\" width=\"20\" height=\"34\" /></td><td style=\"vertical-align: top;\"><span id=\"placename"+i+"\" style=\"font-weight: bold;\">"+name+"</span><br /><span id=\"placeloc"+i+"\">"+formatLat(lat)+" "+formatLng(lng)+"</span><br /><a onclick=\"recenterMyPlace("+i+");\">Recenter</a> | <a onclick=\"recenterAndZoomMyPlace("+i+");\">Zoom</a> | <a onclick=\"renamePlace("+i+");\">Rename</a> | <a onclick=\"removePlace("+i+");\">Remove</a></td></tr>";}list+="</table>";document.getElementById('sp').innerHTML=list;}
function recenterMyPlace(p){recenter(myP[p].lng, myP[p].lat);}
function recenterAndZoomMyPlace(p){recenterAndZoom(myP[p].lng,myP[p].lat);}
function addNewPlace(){addMyPlaces(map.getCenter().lng(),map.getCenter().lat(),document.getElementById('newplace').value);document.getElementById('sn').innerHTML='';listMyPlaces();updateMyPlaceMarkers();}
function cancelNewPlace(){document.getElementById('sn').innerHTML='';}
function renamePlace(p){document.getElementById('placename'+p).innerHTML="<input type=\"text\" size=\"20\" id=\"renameplace"+p+"\" onkeypress=\"handleRenamePlaceEnter(event, "+p+");\" value=\""+myP[p].name+"\" /><input type=\"button\" value=\"Go\" onclick=\"renamePlace2("+p+");\">";document.getElementById('renameplace'+p).focus();}
function renamePlace2(p){myP[p].name=document.getElementById('renameplace'+p).value;document.getElementById('placename'+p).innerHTML=myP[p].name;recreateMyPlaceMarker(p);saveMyPlaceCookie();}
function updateMyPlaceLocation(p,lat,lng){myP[p].lat=lat;myP[p].lng=lng;recreateMyPlaceMarker(p);saveMyPlaceCookie();}
function recreateMyPlaceMarker(p){map.removeOverlay(myPO[p]);myPO[p]=createMyPlaceMarker(myP[p].name,myP[p].lat,myP[p].lng,p+1);map.addOverlay(myPO[p]);}
function removePlace(p){if(confirm("Removing "+myP[p].name+" from My Places.")){myP.splice(p, 1);saveMyPlaceCookie();listMyPlaces();updateMyPlaceMarkers();document.getElementById('placecount').innerHTML=myP.length;}}
function handleNewPlaceEnter (event){var keyCode=event.keyCode?event.keyCode:event.which?event.which:event.charCode;if(keyCode==13){document.getElementById('menu7').className='inactiveTab';addNewPlace();}}
function handleRenamePlaceEnter(event,p){var keyCode=event.keyCode?event.keyCode:event.which?event.which:event.charCode;if (keyCode==13){renamePlace2(p);}}
function createMyPlaceMarker(name,lat,lng,num){var ic=new GIcon(baseIcon);if(num< 100){ic.image="/markers-green/marker"+num+".png";}else{ic.image="/markers-green/blank.png";}var placeMarker=new GMarker(new GPoint(lng,lat),{draggable: true, icon: ic, title: name});GEvent.addListener(placeMarker,"dragstart",function(){map.closeInfoWindow();});GEvent.addListener(placeMarker,"drag",function(){if(currentapp==2){document.getElementById('placeloc'+(num-1)).innerHTML=formatLat(placeMarker.getPoint().lat())+" "+formatLng(placeMarker.getPoint().lng());}});GEvent.addListener(placeMarker,"dragend",function(){updateMyPlaceLocation(num-1,placeMarker.getPoint().lat(),placeMarker.getPoint().lng());});var html=getMarkerHtml(num-1);GEvent.addListener(placeMarker,'click',function(){placeMarker.openInfoWindowHtml(html);});return placeMarker;}
function getMarkerHtml(p){return"<b>"+myP[p].name+"</b><br />Latitude: "+formatLat(myP[p].lat)+"<br />Longitude: "+formatLng(myP[p].lng)+"<br /><a onclick=\"recenterMyPlace("+p+");\">Recenter</a> | <a onclick=\"recenterAndZoomMyPlace("+p+");\">Zoom</a>"}
function saveMyPlaceCookie(){var value="";for(var i=0;i< myP.length;i++){if(i>0)value+="@@";value+=myP[i].name+"##"+myP[i].lat+"##"+myP[i].lng;}createCookie("myplaces",value,3650);}
function createCookie(name,value,days){if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires="; expires="+date.toGMTString();}else var expires="";document.cookie = name+"="+value+expires+"; path=/";}
function readCookie(name){var nameEQ=name+"=";var ca=document.cookie.split(';');for(var i=0;i< ca.length;i++){var c=ca[i];while(c.charAt(0)==' ')c=c.substring(1,c.length);if(c.indexOf(nameEQ)==0)return c.substring(nameEQ.length,c.length);}return null;}
function eraseCookie(name){createCookie(name,"",-1);}