var YMAPPID = "OrnaXSnV34F26uD7a0DyZY9XdBtz4_YfDNG7EcX69S1Adk1SqFK8FYKRB4Gbjr4-";
function placeonmap(o){
  YAHOO.util.Dom.setStyle('results','height','400px');
  var photodata = {};
  var geopoints = [];
  var photos = o.query.results.photo;
  if(photos.length>0){
    for(var i=0;i<photos.length;i++){
      var lat = photos[i].location.latitude;
      var lon = photos[i].location.longitude;
      var id = 'lat'+lat+'lon'+lon;
      if(typeof photodata[id] === 'undefined'){
        photodata[id] = [];
      };
      function getLocData(data,obj){
        if(obj.location[data]){
          return obj.location[data].content;
        } else{
          return '';
        }
      }
      photodata[id].push(
        {
          'lat':lat,
          'lon':lon,
          'link':photos[i].urls.url.content,
          'location':getLocData('neighbourhood',photos[i]) + ', '+
                     getLocData('locality',photos[i]) + ', '+
                     getLocData('country',photos[i]),
          'html':'<td><a href="'+photos[i].urls.url.content+
                 '"><img src="http://farm'+photos[i].farm+
                 '.static.flickr.com/'+photos[i].server+'/'+
                 photos[i].id+'_'+photos[i].secret+'_s.jpg" alt="'+
                 photos[i].title+'" title="'+
                 (photos[i].description || photos[i].title)+'"></a></td>'
        }
      );
    }
    var map = new YMap(document.getElementById('map')); 
    map.addTypeControl();
    map.addZoomLong();
    map.addPanControl();
    for(i in photodata){
      var point = new YGeoPoint(photodata[i][0].lat,photodata[i][0].lon);
      geopoints.push(point);
      var newMarker= new YMarker(point);
      newMarker.addLabel(photodata[i].length);
      var label = '<h2>'+photodata[i][0].location+'</h2><table><tr>';
      for(var j=0;j<photodata[i].length;j++){
        label+=photodata[i][j].html;
      }
      newMarker.html = label + '</table>';
      YEvent.Capture(newMarker, EventsList.MouseClick, 
       function(e){
         this.openSmartWindow(this.html);
       });
      map.addOverlay(newMarker);
    }
    var zac = map.getBestZoomAndCenter(geopoints);
    map.drawZoomAndCenter(zac.YGeoPoint,zac.zoomLevel);
    var carousel = new YAHOO.widget.Carousel('carousel', {
       numVisible: 1, isCircular: false ,animation:{speed:.5}
    });
    carousel.render();
    carousel.show(); 
  }
}

