
    var pdmax=30;   // max mx from ld
    
    
	var plmklat=[]; var plmklng=[]; var plmklnm=[]; var plmkhtm=[]; var plmkid=[]; var plmkzm=[]; var plmktag=[];  var plmkstat=[];
	var plmkvwc=[]; var plmkpic=[];  var plmkalled=[]; var plmkrgst=[]; /////// still deciding if I need plmkregst here....  var plmkregst=[];
	var plmkuidn=[]; var plmkwww=[]; var plmktag=[]; var plmkkw1=[]; var plmklck=[];
																//// might need it just to have 'register old marker' function
		
	var pdmklat=[]; var pdmklng=[]; var pdmklnm=[]; var pdmkhtm=[]; var pdmkid=[]; var pdmkzm=[]; var pdmktag=[];  var pdmkstat=[];  // 0,1,2 sm,bg
	var pdmkvwc=[]; var pdmkpic=[]; var pdmkalled=[]; var pdmkrgst=[];
	var pdmkuidn=[]; var pdmkwww=[];  var pdmktag=[]; var pdmkkw1=[]; var pdmklck=[];
	
	var keyhd=""
	
	var plmkst;  var oldvwmd  /// dunno if need really

	var pdmark=[];
	
	var lngmx 
    var lngmn 
    var latmx  
    var latmn
    
    var hizmb4cl = 0 
    
//     function mkey(){  
// 	        
// 	document.getElementById("sidebar").innerHTML = "<b>Create your own free<br> Googlemap mashup with MassiveMap! </b><br><span id=\"logstuff\"><br></span><span id=\"logblb\"><b>Log in/Sign up</b></span><br> Email: <br>  <input type=\"text\" id=\"ntryl\" size=\"19\" maxlength=\"100\"> <br> Password: <br> <input type=\"password\" id=\"ptryl\" size=\"19\" maxlength=\"100\"><br><br><input type=\"submit\"  value=\"LOG IN\" onClick=\"trylogin();\";><input type=\"submit\"  value=\"SIGN UP!\" onClick=\"nu();\";><br><a href=\"http://www.massivemap.com/resetpass.php\" target=\"_blank\" >Forgotten password?</a> </span><br>  ";	  //<br><b>MassiveMap is completely free to use</b>

//     }
      
       
       
          function pdMarker(point,htminf,i,locname) {     //// do marker size toggle
          htminf+=pdmkvwc[i]
          
          
      //    if ((zm>=pdmkzm[i]-3)&&(zm>8))
          if (false)    //// try with just big small markers for now, it was a bit messy
          {
	          
	          
	      var iccb = new GIcon(icb);  
	      var ici = mkcolb(pdmkkw1[i])   
	      iccb.image = ici    		          
          pdmark[i] = new GMarker(point,{icon:iccb, draggable: false});  pdmkstat[i]=2;
          }else{
	      var iccs = new GIcon(ics);  
	      var ici = mkcols(pdmkkw1[i])   
	      iccs.image = ici    
          pdmark[i] = new GMarker(point,{icon:iccs, draggable: false}); pdmkstat[i]=1;      }
                                          
          GEvent.addListener(pdmark[i], "click", function() {
          pdmark[i].openInfoWindowHtml(htminf);
          //  document.getElementById("trpic").innerHTML = pdmkpic[i];	                      
          });         
          return pdmark[i];                    
        }
  
              
                
          function pdeMarker(point,htminf,i,locname) {      //// temp version to check selection from php
          
          if (pdmklck[i]==1){var chl="checked";}else{var chl="";}
          
//        if ((lgst=='nowlogged')&&(pdmkrgst[i]<0)){htminf+='<b>Regiser This</b>  &nbsp;'}else
//        {htminf+="<a href=\"javascript:dvmark("+i+")\">Set Picture/Details</a> &nbsp;";}

          if ((lgst=='nowlogged')&&(pdmkrgst[i]<0)){htminf+="<a href=\"javascript:dvmark("+i+")\">Set Picture/Details</a>  &nbsp;"}else
          {htminf+="<a href=\"javascript:dvmark("+i+")\">Set Picture/Details</a> &nbsp;";}


          htminf+=pdmkvwc[i]+' &nbsp;<a href=\"javascript:mkedit('+i+')\">Edit</a><br> <input type=\"checkbox\"  "+chl+"  id=\"mlock\" onClick=\"dmlock('+i+');\"> Lock marker (disable dragging)'
          if ((zm>=pdmkzm[i]-3)&&(zm>8)){
	      var iccb = new GIcon(icb);  
	      var ici = mkcolb(pdmktag[i])   
	      iccb.image = ici    		          
          pdmark[i] = new GMarker(point,{icon:iccb, draggable: true});  pdmkstat[i]=2;
          }else{
	      var iccs = new GIcon(ics);  
	      var ici = mkcols(pdmkkw1[i])   
	      iccs.image = ici    
          pdmark[i] = new GMarker(point,{icon:iccs, draggable: true}); pdmkstat[i]=1;      }
          GEvent.addListener(pdmark[i], "click", function() {
          pdmark[i].openInfoWindowHtml(htminf);
          //  document.getElementById("trpic").innerHTML = pdmkpic[i];	 // infowindowclose 
          var lock = document.getElementById("mlock");   
          if (pdmklck[i]==1){lock.checked=true}else{lock.checked=false}                      
          });                   
           GEvent.addListener(pdmark[i], "dragend", function() {  	           
	       dreditmk(i)           
           });
            
          return pdmark[i];                    
        }
        
      function dmlock(i){   //svalert = 1; 	
	  var lock = document.getElementById("mlock");
	  	   if (lock.checked==true){	pdmklck[i]=1; pdmark[i].disableDragging();  } else { pdmklck[i]=0;  pdmark[i].enableDragging(); }
	  	      dreditmk(i)
	      } /// prob call save marker for good measure... 
 
        
        
       function dvmark(i){    //// might need this instead of vmark
evalAHAH('vmark.php?clem='+clem+'&clp='+clp+"&markid="+pdmkid[i]+'&lgst='+lgst,'blurb','Loading...');
			}


      
      
var e = "m";  // from mmamap, probably had a fn////  but why always in aha stuff??

function clear(){map.clearOverlays();
//document.getElementById("blurb").innerHTML = "xx "+lgst;    //// check lgst or any other var...
cvwmd='clr';  
}



function getbounds(){
//clear();
var bounds = map.getBounds();	
var southWest = bounds.getSouthWest();
var northEast = bounds.getNorthEast();
 lngmx = northEast.lng(); 
 lngmn = southWest.lng();
 latmx = northEast.lat(); 
 latmn = southWest.lat();	
}



function bpumap(){
document.getElementById("sidebar").innerHTML = keyhd+' ';
pumap()	
}
 
function pumap(){  clradd();    //  keyhd="<b>Viewing All Markers</b><br><br>"
	clear()
cvwmd = 'pub' 
for (var i=1;i<=pdmax;i++){pdmkid[i]=0}
getplmks()
}

function frmks(){  clradd();     keyhd=""  ///wtf was key hd for? prob no use on fb
	clear()                                  
cvwmd = 'fmk' 
for (var i=1;i<=pdmax;i++){pdmkid[i]=0}
getplmks()                                       //// change to get your mks     ////   yrm
	document.getElementById("sidebar").innerHTML = keyhd+' ';
}


function getplmks(){
if (mkldtime==0){ mkldtime++;getplmksn();}else{
if (mkldtime==1){ mkldtime++;
	setTimeout("mkldtime=0;getplmksn()",1100);}
	  }
	}
function getplmksn(){  //   alert(cvwmd)   /// blurb it
getbounds()	
if (cvwmd=='fmk'){ 
  var bigvar="frsql="+frsql;
ca('ldy.php?e='+e+'&lngmx='+lngmx+'&lngmn='+lngmn+'&latmx='+latmx+'&latmn='+latmn+'&zm='+zm+'&clem='+clem+'&clp='+clp,'blurb','Loading...',bigvar)
}else{	          
evalAHAH('ld.php?e='+e+'&lngmx='+lngmx+'&lngmn='+lngmn+'&latmx='+latmx+'&latmn='+latmn+'&zm='+zm+'&clem='+clem+'&clp='+clp,'blurb','Loading...')
}
//mkey()
}	


function zoomsort(){
	
	if (hizmb4cl>=zm+1){  hizmb4cl=zm-1   /// temp fix for odd bug 1_261 may be good idea anyway, clear markers on 2 zoomouts..
	 map.clearOverlays();
    for (var i=1;i<=pdmax;i++){pdmkid[i]=0}		
		
		}else{	

// 	for (var i=1;i<=pdmax;i++){    // sort out zoom display etc.
// 	
//   //  if (zm>(pdmkzm[i]+3)){ pdmkstat[i]=0; pdmkid[i]=0; map.removeOverlay(pdmark[i]);  	}	

//   //	if ((zm>(pdmkzm[i]-1))&&(pdmkstat[i]==1)&&(zm>8)&&(pdmkalled[i]=='n')){  pdmkid[i]=0; map.removeOverlay(pdmark[i]); 	}  /// replace small with big marker  /// loose this for now

//     }
    }	
       getplmksn()
  }	
	
		
function pubmarks(refvwmd){

if (refvwmd==cvwmd){
	
for (var j=1;j<=plmkst;j++){  //alert("j="+j)   /// where did we preset pdmkids?
	plmkstat[j]=0;	
	for (var i=1;i<=pdmax;i++){
	    if (plmkid[j]==pdmkid[i]){ plmkstat[j]=1; break    }
    }
    if (plmkstat[j]==0) { //alert("add this") /// marker not yet mappped, add it:	
        for (var i=1;i<=pdmax;i++){     /// find marker not set 0 or gone off bounds -1
        
                    if ((latmx>latmn)&&((pdmklat[i]>=latmx)||(pdmklat[i]<=latmn))){ pdmkid[i]=-1}    /// sort dateline /// 
                    if ((lngmx>lngmn)&&((pdmklng[i]>=lngmx)||(pdmklng[i]<=lngmn))){ pdmkid[i]=-1}
                                                // alert(pdmkid[i])
                    if ((lngmx<lngmn)&&((pdmklng[i]>=lngmx)&&(pdmklng[i]<=lngmn))){ pdmkid[i]=-1}    /// sort dateline ///                                               
                                                
              	    if (pdmkid[i]<=1){  // alert("adding")
	              	   if (pdmkid[i]==-1){map.removeOverlay(pdmark[i])}   
	              	 //if -1 then remove overlay    
	              	 pdmkid[i]=plmkid[j]
	                 pdmkzm[i]=plmkzm[j]
  					pdmklat[i]=plmklat[j] 
  					pdmklng[i]=plmklng[j]
  					pdmklnm[i]=plmklnm[j]
  					pdmkhtm[i]=plmkhtm[j]
  					pdmkkw1[i]=plmkkw1[j];     // alert(plmktag[i]) 
 				    pdmkvwc[i]=plmkvwc[j]
 				    pdmkpic[i]=plmkpic[j]	
 				    pdmkalled[i]=plmkalled[j]	    /// allow editing or not
 				    
 				    pdmklck[i]=plmklck[j]
 				    pdmkuidn[i]=plmkuidn[j]
 				    pdmkrgst[i]=plmkrgst[j] 
 				     pdmkwww[i]=plmkwww[j]
 				     pdmktag[i]=plmktag[j]
 				    				
  					var point = new GLatLng(pdmklat[i],pdmklng[i])
  					
  				//	if  ((cvwmd=='pub')&&(lgst=='nl'))            // (plmkregst<=0)
  					
				//	map.removeOverlay(pdmark[i]);   /// could try                              				
  				
  					if (pdmkalled[i]=='y'){
 /// map.addOverlay(pdeMarker(point,"<b>"+pdmklnm[i]+"</b><br>"+bnwrap(pdmkhtm[i],55,pdmkpic[i])+"<br>",i,pdmklnm[i])) 
  					
  	map.addOverlay(pdMarker(point,"<b>"+pdmklnm[i]+"</b><br>"+bnwrap(pdmkhtm[i],55,pdmkpic[i]),i,pdmklnm[i]))  //for now disable editing whatever  					
  					 	  					
	  				}else{
  				//	map.addOverlay(pdMarker(point,"<b>"+pdmklnm[i]+"</b><br>"+bnwrap(pdmkhtm[i],55)+"<br>",i,pdmklnm[i]))  //bnwrap(htmls[i]
  					map.addOverlay(pdMarker(point,"<b>"+pdmklnm[i]+"</b><br>"+bnwrap(pdmkhtm[i],55,pdmkpic[i]),i,pdmklnm[i]))  //bnwrap(htmls[i]  					
					}
					if (pdmklck[i]==1){pdmark[i].disableDragging();}					
  					break
  					 					
	              	}
              	}
            }	
		}
			
    }
}
			


        function mkedit(i) { map.closeInfoWindow()
	        
	     oldvwmd=cvwmd; cvwmd='edit';    /// dont want any reloading during the edit, remember to change back tho  // could go to list instead
        
	//     setTimeout("modeback()",4000); //alert ('hey')	 //ed     nope, messes up placel
	        
        if (pdmkuidn[i]==clocuidn){var ch="checked";}else{var ch="";}
        
        if (pdmklck[i]==1){var chl="checked";}else{var chl="";}     
        
	      var currkhtm =pdmkhtm[i].replace(/<br>/g, "\n")          
	        
	    infw="<input size=\"35\" id=\"upname\" onChange=\"dwrw1("+i+")\" value=\""+pdmklnm[i]+"\"><br><TEXTAREA  id=\"upwinf\" onChange=\"dwrw2("+i+")\" ROWS=\"3\" COLS=\"40\" WRAP>"+currkhtm+"</TEXTAREA><br> http:// <input size=\"42\" id=\"mkwww\" onChange=\"dwrw3("+i+")\" value=\""+pdmkwww[i]+"\"><br>TAG <input size=\"30\" id=\"mktag\" onChange=\"dwrw4("+i+")\" value=\""+pdmktag[i]+"\">  <input id=\"priv\" type=\"checkbox\" onClick=\"dpriv("+i+");\"> Private    <br> <input type=\"checkbox\"  "+ch+"  id=\"iscurloc\" onClick=\"dsetcurloc("+i+");\">Set as current location <input type=\"checkbox\"id=\"mlock\" "+chl+" onClick=\"dmlock("+i+");\"> Lock marker position<br><span align=\"center\"><input type=\"submit\" value=\"SAVE MARKER\" onClick=\"deditmk("+i+");updatemlist(); \"> &nbsp; <input type=\"submit\" value=\"DELETE MARKER\" onClick=\"ddelete("+i+");\"><span>"
        pdmark[i].openInfoWindowHtml(infw);
           document.getElementById("trpic").innerHTML = pdmkpic[i];	         		      
        if(uidn[i]==1){ setcurloc(i);} 
      	if (document.getElementById("mktag").value=="private"){document.getElementById("priv").checked=true}    
      	
        var lock = document.getElementById("mlock");   
        if (pdmklck[i]==1){lock.checked=true}else{lock.checked=false}                      
      }
      function dwrw1(i){pdmklnm[i]=document.getElementById("upname").value}
      function dwrw2(i){pdmkhtm[i]=document.getElementById("upwinf").value}
      function dwrw3(i){pdmkwww[i]=document.getElementById("mkwww").value}
      function dwrw4(i){pdmktag[i]=document.getElementById("mktag").value}
      function dpriv(i){
	  if (document.getElementById("priv").checked==true){pdmktag[i]="private";}else{pdmktag[i]==""}	  
	  document.getElementById("mktag").value=pdmktag[i]	  
	  }
	  
//	  function modeback(){cvwmd=oldvwmd;}  nope



function deditmk(i){
dreditmk(i)	
pdmkstat[i]=0; pdmkid[i]=0; map.removeOverlay(pdmark[i]);  	
	}

function dreditmk(i){     //// call routing to ensure listing marker array updated too, or do it here actually, 

  	   var elat = pdmark[i].getPoint().lat(); 
  	   var elng = pdmark[i].getPoint().lng(); 
	   var elnm = pdmklnm[i];
	   var ehtm = bnltbr(pdmkhtm[i]);
	   var ewww = pdmkwww[i];
	   var etag = pdmktag[i];
	   var edid = pdmkid[i];
	   
	   var elck = pdmklck[i];
	   	   
	   var nuidn = 'n';   // change from n if we need to update uidn when marker regd


var found=0
for (var k=1;k<=mkst;k++){
if (mkid[k]==pdmkid[i]){found=1;   // alert(i+' found '+k)

mklat[k]= elat
mklng[k]= elng
mklnm[k]= elnm
mkhtm[k]= ehtm
mkwww[k]= ewww
mktag[k]= etag
lck[k] = elck

 break;}	
  }
  
  if (found==0){   // add mark to list, update mkrnd and mkid among others. uh, and picture, jesus

  	        newmarks++;
	        mkst++;

	      if (pdmkrgst[i]<0){  	        
	        highid++;
	        uidn[mkst]=highid; 
	        nuidn=highid;
        }else{
	        uidn[mkst]=pdmkuidn[i]        //// this would be a registered marker if too many markers to load up at li.
	       nuidn='n'; 
        }
	        	        
	        pmstat[mkst]="o"; 
	        mkid[mkst]=edid; 
	        mklnm[mkst]= elnm;          
	        mkhtm[mkst]= ehtm; 
	        mkwww[mkst]= ewww; 
	        mktag[mkst]= etag; 	        	        
	        mkzm[mkst] = zm   
	       mktyp[mkst] = mtp  
	         lck[mkst] = elck
	       mklat[mkst] = elat
	       mklng[mkst] = elng
	        
	        mkpica[mkst] = "<img id=\"idpic\" src=\"logo.jpg\" height=\"120\">"; 	  /// actually should have loaded this 	    
	        
	      //  alert (found+' '+mkst)     
	  }		
 
	  
//	updatemlist();      
	   
  evalAHAH('deditmk.php?clem='+clem+'&clp='+clp+'&edid='+edid+'&nuidn='+nuidn+'&lgst='+lgst+'&elck='+elck+'&elat='+elat+'&elng='+elng+'&elnm='+elnm+'&ehtm='+ehtm+'&ewww='+ewww+'&etag='+etag,'blurb','Saving...');	 
  
 document.getElementById('blurb').innerHTML = mkst  

 }
 
 function ddelete(i){
 var edid = pdmkid[i];
 
 for (var k=1;k<=mkst;k++){
if (mkid[k]==pdmkid[i]){

mklnm[k]= 'delete'
pmstat[mkst]="d"; 
}}

   evalAHAH('ddelete.php?clem='+clem+'&clp='+clp+'&edid='+edid+'&lgst='+lgst,'blurb','Deleting...');	 
 
   map.removeOverlay(pdmark[i])
	 	 
 }

