var map;
var scroll;
var actIndex=0;
var actMarker;
var mgr;
var icon;

jQuery(function() {

    // initialize scrollable
    scroll=jQuery("div.scrollable").scrollable({
        api:true
    });

    jQuery("#imagen a.next").click(function(){
        actIndex++;
        scroll.click(actIndex,showPhoto(actIndex));
    });

    jQuery("#imagen a.prev").click(function(){
        actIndex--;
        scroll.click(actIndex,showPhoto(actIndex));
    });

    jQuery("#imagen a.prev").css({
        "visibility": "hidden"
    });

    initialize();

    jQuery("div#mini").find("img").each(function(i,ele){
        var f=jQuery(fotos)[i];
        jQuery(ele).attr('src',f.url_sq);
    });

    /*jQuery("a#imglink").click(function (){
        Overlay(jQuery("a#imglink"),{
            expose: 'darkred',
            effect: 'apple'
        });
        return false;
    });*/

    jQuery("div#overlay").click(function(){
        jQuery("div#overlay").slideToggle(500);
    });
    
    jQuery("div#imagen img").click(function(){
        jQuery('div#overlay img').attr('src',(jQuery("div#imagen img").attr('rel')));
        jQuery("div#overlay").slideToggle(500);
    });

});

function initialize() {
    if (typeof(GBrowserIsCompatible) == "undefined") return;

    if (GBrowserIsCompatible()) {

        iconPhotos = new GIcon(G_DEFAULT_ICON);

        iconPhoto = new GIcon(G_DEFAULT_ICON);
        iconPhoto.image = "http://maps.google.com/mapfiles/marker_green.png";

        iconNode = new GIcon();
        iconNode.image = icons+"node.gif";
        iconNode.shadow = '';
        iconNode.iconSize = new GSize(10,10);
        iconNode.shadowSize = new GSize(0,0);
        iconNode.iconAnchor = new GPoint(5,5);
        iconNode.infoWindowAnchor = new GPoint(5,5);

        var batch = [];
        var bounds = new GLatLngBounds;

        if (typeof(fotos) != "undefined"){
            jQuery.each(fotos,function(i,foto){
                var p=new GLatLng(foto.latitude, foto.longitude);
                icon=new GMarker(p,{
                    icon:iconNode
                });
                GEvent.addListener(icon, "click", function() {
                    scroll.click(i,showPhoto(i));
                });
                batch.push(icon);
                bounds.extend(p);
            });
        }

        if (typeof(puntos) != "undefined"){
            jQuery.each(puntos,function(i,punto){
                var p=new GLatLng(punto.latitude, punto.longitude);

                if(punto.type==0)
                    icon=new GMarker(p,{
                        icon:iconPhotos
                    });
                else
                    icon=new GMarker(p,{
                        icon:iconPhoto
                    });

                GEvent.addListener(icon, "click", function() {
                    var myHtml = "<a href=\""+punto.link+"\">"+punto.nombre+"</a>";
                    this.openInfoWindowHtml(myHtml);
                });
                batch.push(icon);
                bounds.extend(p);
            });
        }


        map = new GMap2(document.getElementById("map_canvas"));
        map.addMapType(G_NORMAL_MAP);
        map.addMapType(G_HYBRID_MAP);
        map.addMapType(G_SATELLITE_MAP);
        map.removeMapType(G_PHYSICAL_MAP);
        map.addControl(new GSmallMapControl(),new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,35)));
        map.addControl(new GMapTypeControl());
        map.enableDragging();
        map.enableDoubleClickZoom();

        map.setCenter(bounds.getCenter());
        map.setZoom(map.getBoundsZoomLevel(bounds));

        if (typeof(kmlfile) != "undefined"){
            var geoXml = new GGeoXml(kmlfile);
            map.addOverlay(geoXml);
            geoXml.gotoDefaultViewport(map);
        }

        mgr = new MarkerManager(map);
        mgr.addMarkers(batch,1);
        mgr.refresh();
    }
}

var photoIcon="http://maps.google.com/mapfiles/ms/micons/camera.png";
var icon;
function showPhoto(id){
    var f=jQuery(fotos)[id];

    var setImage=function(){
        jQuery("div#imagen img").attr('src',f.url_m);
        jQuery("div#imagen img").load(function(){
            jQuery("div#imagen img").fadeIn(500);
        });
    }

    var changeSize=function(){
        jQuery("div#imagen").animate({
            height: f.height_m
        }, 500,"swing",setImage);
    }

    jQuery("div#imagen img").fadeOut(500,changeSize);

    jQuery("div#imagen img").attr('rel',f.url_o);

    actIndex=id;
    if(actIndex>0){
        jQuery("#imagen a.prev").css({
            "visibility": "visible"
        });
    }else{
        jQuery("#imagen a.prev").css({
            "visibility": "hidden"
        });
    }

    if(actIndex<(jQuery(fotos).size()-1)){
        jQuery("#imagen a.next").css({
            "visibility": "visible"
        });
    }else{
        jQuery("#imagen a.next").css({
            "visibility": "hidden"
        });
    }

    if (typeof(GBrowserIsCompatible) == "undefined") return;

    var p=new GLatLng(f.latitude, f.longitude);
    if(actMarker === undefined){
        actMarker=new GMarker(p);
        mgr.addMarker(actMarker,1);
        mgr.refresh();
    }else{
        actMarker.setLatLng(p);
    }
    map.panTo(p);


}
