
var infoAbierto=false;
var infoPanel;

var marker=new Array(); //Array of google markers controls.
var markers = new Array(); //Array with the data for the markers
var posts=new Array();

function sm_marker_ob(marker, infowindow, value){
    this.marker = marker;
    this.infowindow = infowindow;
    this.value=value;
}

jQuery("document").ready(function(){
    //Executes when ready.
        hmap=jQuery("#map").height();
        //jQuery("#page").css("bottom",-hmap);
    	jQuery(".btn-slide").click(function(){

                hc=jQuery(this).hasClass("active");
                if (hc){
                    jQuery("#page #content").animate({height:"232"});
                }else{
                    jQuery("#page #content").animate({height:"18"});
                }
		jQuery(this).toggleClass("active");
                return false;
	});
	
	jQuery("#creditPanel").hide();
	
	jQuery(".btn-intro").click(function() {
		// Act on the event
		jQuery("#infoPanel").show();
		jQuery("#creditPanel").hide();
		jQuery(".btn-intro").addClass("selectedPage");
		jQuery(".btn-creditos").removeClass('selectedPage');
	});

	jQuery(".btn-creditos").click(function() {
		// Act on the event
		jQuery("#creditPanel").show();
		jQuery("#infoPanel").hide();
		jQuery(".btn-creditos").addClass("selectedPage");
		jQuery(".btn-intro").removeClass('selectedPage');
	});
	
	
    jQuery(".level-3").click(function(){
        jQuery(".level-3").removeClass("list-selected");
        jQuery(this).addClass("list-selected");

        var postid=this.id;
                var marker_found=-1;
        
                for ( var i=0; i<marker.length;i=i+1){
                    if (marker[i].value==postid){
                        marker_found=i;
                    }
                }
                if (marker_found!=-1){
                    if (infoAbierto){
                        infoPanel.close();
                    }
					var myOpt = {
					  disableAutoPan: true
					}
					
                    marker[marker_found].infowindow.open(map,marker[marker_found]);
					var mark=marker[marker_found];
					var lf=mark.getPosition();
					map.setCenter(lf);
                    infoAbierto=true;
                    infoPanel=marker[marker_found].infowindow;
                }
    });


    
    jQuery(".panel-2").hide();
    
    jQuery(".level-1").click(function(){
        //Executes when user clicks in first level.
    	
        jQuery(".panel-2").hide();
		jQuery(".panel-3").hide();
        opcion=jQuery(this).text();
        switch (opcion){
            case "Categorie":
                jQuery("#categories-list").show();
                break;
		
            case "Tags":
                jQuery("#tags-list").show();
                break;
			
            case "Tutti Suoni":
	        	url="markers.js.php?all=1";
			    jQuery.getJSON(url,function(data){
			        if (data.length){
			            renewMarkers(data);
						jQuery(".panel-3").show()
			        }
			    });
                break;
        }
        jQuery(".level-1").removeClass("list-selected");
        jQuery(".level-2").removeClass("list-selected");
        jQuery(this).addClass("list-selected");

    
    });
    
    jQuery(".level-2").click(function(){
        //Executes when user clicks in second level.
	
        first_level_selection=jQuery(this).parent().attr("class");
        select=jQuery(this).text();
        url="markers.js.php?";
        jQuery(".panel-3").empty();
        switch (first_level_selection){
		
            case "categories-links":
                url=url+"cat=" + select;
                jQuery.getJSON(url,function(data){
                    if (data.length){
                        renewMarkers(data);
                    }
                });
			
                break;

            case "tags-links":
                url=url+"tag=" + select;
                jQuery.getJSON(url,function(data){
                    if (data.length){
                        renewMarkers(data);
                    }
                });
                break;

            case "pages-links":
			
                break;
		
        }
		jQuery(".panel-3").show();
        jQuery(".level-2").removeClass("list-selected");
        jQuery(this).addClass("list-selected");
    });
	

});

function loadAllPosts(){
    url="markers.js.php?all=1";
    jQuery.getJSON(url,function(data){
        if (data.length){
            renewMarkers(data);
        }
    });
}


function renewMarkers(data){

    if (data.length){
        jQuery("#hiddenPosts").empty();
        remove_markers();
        for (var i=0; i<data.length;i++){
            var content="";
            content="<li><span class='panel-link level-3' id='" + i + "'>" + data[i].post_title + "</span></li>";
            jQuery(".panel-3").append(content);
            var p=new google.maps.LatLng(data[i].lat,data[i].lng);

            var marcador = new google.maps.Marker({
                position: p,
                map: map,
                title:data[i].post_title,
                clickable: true
            });

            jQuery("#hiddenPosts").append(data[i].infoWindow);
            post_ID="post-" + data[i].post_id;
            videoLauncher="#videoLauncher-" + data[i].post_id;
            videoPlayer="#videoPlayer-" + data[i].post_id;

            jQuery(videoPlayer).dialog({
                        autoOpen: false,
			height: 493,
                        width: 640,
                        resizable: false,
                        draggable: false,
                        title: data[i].post_title,
                        closeOnEscape: true,
			modal: true
	    });
            jQuery(videoLauncher).data("player",videoPlayer);
            jQuery(videoLauncher).click(function(){
                v=jQuery(this).data("player");
                jQuery(v).dialog('open')

            });

            var infowindow = new google.maps.InfoWindow({
                 content: document.getElementById(post_ID)
            });

            marker[i]=new sm_marker_ob(marcador,infowindow,i);

             google.maps.event.addListener(marcador, 'click', function() {
                 if (infoAbierto){
                     infoPanel.close();
                 }
                 for (var j=0; j<marker.length;j++){
                    if (marker[j].marker==this){
                        marker[j].infowindow.open(map,this);
                        infoAbierto=true;
                        infoPanel=marker[j].infowindow;
                        break;
                    }
                 }

             });

        }

        jQuery(".level-3").click(function(){
            jQuery(".level-3").removeClass("list-selected");
            jQuery(this).addClass("list-selected");

                var postid=this.id;
                
                if (infoAbierto){
                    infoPanel.close();
                }

				var myOpt = {
				  disableAutoPan: true
				}
				var mark=marker[postid].marker;
				marker[postid].infowindow.setOptions(myOpt);
                marker[postid].infowindow.open(map,marker[postid].marker);
				var lf=mark.getPosition();
				map.panTo(lf);                
				infoAbierto=true;
                infoPanel=marker[postid].infowindow;             

        });
        //mangr.addMarkers(marker,0);
        //mangr.refresh();
    }


}

function remove_markers(){
    if (infoAbierto){
        infoPanel.close();
    }
    for ( var i=0; i<marker.length;i=i+1){
        marker[i].marker.setMap(null);
    }
    marker=new Array();
}


