//var markerOptions={ icon:letteredIcon };
var counter=0;
var OFFSET_X=20;
var ICO_W=60,ICO_H=60;
var BORDER_S=3;

var baseIcon = new GIcon(G_DEFAULT_ICON);
baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
baseIcon.iconSize = new GSize(20, 34);
baseIcon.shadowSize = new GSize(37, 34);
baseIcon.iconAnchor = new GPoint(9, 34);
baseIcon.infoWindowAnchor = new GPoint(9, 2);

var tinyIcon = new GIcon();
tinyIcon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
tinyIcon.shadow =null;
tinyIcon.iconSize = new GSize(40,40);
//tinyIcon.shadowSize = new GSize(44, 40);
tinyIcon.iconAnchor = new GPoint(OFFSET_X, 40);
tinyIcon.infoWindowAnchor = new GPoint(OFFSET_X,40);

var lx=1000,ux=-1000,ly=1000,uy=-1000;
var p_locs=[];

function centerAndZoomOnBounds(bounds,center)
{
var newZoom = map.getBoundsZoomLevel(bounds)-1;
 if(map.getZoom()!=newZoom)
  map.setCenter(center, newZoom);
 else
  map.panTo(center);
}

function clearPane()
{
map.getPane(G_MAP_FLOAT_PANE).innerHTML="";
map.getPane(G_MAP_MAP_PANE).innerHTML="";
}

function clearUP(obj_par)
{
	obj_par.parentNode.parentNode.innerHTML='';
}

function createMarker(loc,img,title,desc,link,date,scale,im_mode)
{
var point=new GLatLng(loc[0],loc[1]);

var photoIcon=new GIcon(tinyIcon,img[1]);
 //photoIcon.image=;
 photoIcon.iconSize=new GSize(ICO_W*scale,ICO_H*scale);
 photoIcon.iconAnchor=new GPoint((ICO_W*scale)/2,(ICO_H*scale)/2);
 photoIcon.infoWindowAnchor=new GPoint((ICO_W*scale)/2,(ICO_H*scale)/2);
 markerOptions = { icon:photoIcon };
 var marker=new GMarker(point,markerOptions);
 if(loc[0]>ux)
  ux=loc[0];
 else if(loc[0]<lx)
  lx=loc[0];
 if(loc[1]>uy)
  uy=loc[1];
 else if(loc[1]<ly)
  ly=loc[1];
  
  if(desc.length>100)
   desc=desc.substr(0,100);
  desc+="...";
 //<a href=\""+link+"\" class = \"flickr\" target = \"_blank\">| Flickr |</a>
 GEvent.addListener(marker, "click", function() {
 	map.panTo(point);
 	var lc=map.fromLatLngToDivPixel(point);
 	map.getPane(G_MAP_MAP_PANE).innerHTML="<div class=\"info_shadow\" style=\"left: "+(lc.x-((ICO_W*scale)/2)-BORDER_S)+"px; top: "+(lc.y-((ICO_H*scale)/2)-BORDER_S)+"px; width: "+((ICO_W*scale)+(BORDER_S*2))+"px; height: "+((ICO_H*scale)+(BORDER_S*2))+"px;\">&nbsp;</div>"
 	map.getPane(G_MAP_FLOAT_PANE).innerHTML="<div class=\"info_window\" style=\" left: "+(lc.x+(20*scale))+"px; top: "+(lc.y-140)+"px; \">"+
	"<span><img src=\""+img[0]+"\" "+(im_mode==1?'width=200':'height=150')+" class=\"flickr_img\" onclick=\"clearPane();\"/></span>"+
	"<span onclick=\"clearPane();\" class=\"title_span\">"+title+"</span>"+
	"<span onclick=\"clearPane();\">"+date+"</span> <br />"+
	"<span onclick=\"clearPane();\">"+desc+"</span><br />"+
	"<span style=\"width: 190px; float: left;\"><a class=\"more_link\" href=\""+link+"\" target=\"_blank\">[go to flickr]</a></span><span style=\"cursor: pointer; color: #0066ff; float: right; width: 10px;\" onclick=\"clearPane();\">X</span>"+
	"</div>";
 	counter=0;
 });
return marker;
}


function setupMarkers(photoSet)
{
var mgr=new MarkerManager(map);
 var bounds=new GLatLngBounds();
 for(var i=0; i<4; i++){
  var markers=new Array();
  for(var j in photoSet){
   markers.push(createMarker(photoSet[j]["loc"],photoSet[j]["icon"],photoSet[j]["title"],photoSet[j]["copy"],photoSet[j]["link"],photoSet[j]["date"],(i+1)/4,photoSet[j]["im_mode"]));
   if(!i){
    bounds.extend(new GLatLng(photoSet[j]["loc"][0],photoSet[j]["loc"][1]));
    p_locs.push(new GLatLng(photoSet[j]["loc"][0],photoSet[j]["loc"][1]));
   }
  }
  switch(i){
   case 0: mgr.addMarkers(markers,0,4); break;
   case 1: mgr.addMarkers(markers,5,7); break;
   case 2: mgr.addMarkers(markers,8,13); break;
   case 3: mgr.addMarkers(markers,14,17); break;
  }
 }
 mgr.refresh();

 map.addOverlay(new GPolyline(p_locs, "#0066ff", 2, 0.7));//BDCCArrowedPolyline(p_locs,"#0000cc",3,0.7, {clickable: false},1, 6, "#0000cc",4,0.7));//
 centerAndZoomOnBounds(bounds,new GLatLng((lx+ux)/2,(ly+uy)/2));

 map.addControl(new GSmallMapControl());
// map.addControl(new GOverviewMapControl());
 map.addControl(new GMapTypeControl());
  /*GEvent.addListener(map, "click", function() {
 	if(!counter)
 	 clearPane();
 	else
 	 counter=0;
 });*/
  GEvent.addListener(map, "dragstart", function() {
 	if(!counter)
 	 clearPane();
  else
 	 counter=0;
 });
  GEvent.addListener(map, "zoomend", function() {
 	if(!counter)
 	 clearPane();
 	else
 	 counter=0;
 });
}
