var streetViewInitialized = false;

$(document).ready(function(){
	
	/*$("#test").click( function() {
		$("#data").load("http://www.bcn.cat/cgi-bin/llista_eq.pl?tema=0000104002005006000&idioma=CA&v=BOMBERS",
			null,
			function (responseText, textStatus, XMLHttpRequest){
				alert(responseText);
			}
		);	
	});*/
	/////////////////////////////////////
	/*    JQUERY GOOGLE ANALYTICS       */
	/////////////////////////////////////
	var pageTracker;
	
	try {
		pageTracker = _gat._getTracker("UA-514953-40");
		//alert(document.location);
		pageTracker._trackPageview();
	} catch(err) {
		alert(err);
	}
	
	makeUrl = function ( params ) {
		return document.location + params;
	}
	
    sendAlert = function (page) {
//		alert(page);
		pageTracker._trackPageview(page);
	}
	/////////////////////////////////////
	/////////////////////////////////////
	/////////////////////////////////////
	
	$("select#categories").change( function() {

		var element = $(this);
//		var category_id = element.attr("id").split("_")[1];
        var category_id = Number(element.val());

        var relative_url = [];
        var params = {};
        params["method"] = "getCenters";
        if( category_id ) {
            params["cat_id"] =  category_id;
            relative_url.push("category_id=" + category_id);
        }
        var zone_id = Number($("select#zones").val());
        if( !isNaN(zone_id) ) {
            relative_url.push("zone_id=" + zone_id);
            params["zone_id"] = zone_id;
        }
        var tag_id = Number($("select#tags").val());
        if( !isNaN(tag_id) ) {
            relative_url.push("tag_id=" + tag_id);
            params["tag_id"] = tag_id;
        }
        var url = makeUrl("?" + relative_url.join("&"));
        sendAlert(url);
            
//		var images = $("#categories > li > a > img");
//		updateSecondMenu( images, element );
        updateSecondMenu();
        
        $.getJSON("",
            params,
            function(json){
                mainImageCenters = json.center_images; 
                updateMarkersMap(json.center_ids, category_id);
                map.returnToSavedPosition();
            }
        );
        /*$.get("",params,
            function(data){
                updateMarkersMap(data, category_id);
                map.returnToSavedPosition();
            }
        );*/
		
	});
	
	$("select#zones").change( function() {
		
		var element = $(this);
        var zone_id = Number(element.val());

        var relative_url = [];
        var params = {};
        params["method"] = "getCenters";
        if( zone_id ) {
            params["zone_id"] =  zone_id;
            relative_url.push("zone_id=" + zone_id);
        }
        var category_id = Number($("select#categories").val());
        if( !isNaN(category_id) ) {
            relative_url.push("category_id=" + category_id);
            params["cat_id"] = category_id;
        }
        var tag_id = Number($("select#tags").val());
        if( !isNaN(tag_id) ) {
            relative_url.push("tag_id=" + tag_id);
            params["tag_id"] = tag_id;
        }
        var url = makeUrl("?" + relative_url.join("&"));
        sendAlert(url);

        updateSecondMenu();

        $.getJSON("",params,
            function(data){
                updateMarkersMap(data.center_ids, zone_id);
                map.returnToSavedPosition();
            }
        );        
		
	});
	
	$("select#tags").change( function() {

        var element = $(this);
        var tag_id = Number(element.val());

        var relative_url = [];
        var params = {};
        params["method"] = "getCenters";
        if( tag_id ) {
            params["tag_id"] =  tag_id;
            relative_url.push("tag_id=" + tag_id);
        }
        var category_id = Number($("select#categories").val());
        if( !isNaN(category_id) ) {
            relative_url.push("category_id=" + category_id);
            params["cat_id"] = category_id;
        }
        var zone_id = Number($("select#zones").val());
        if( !isNaN(zone_id) ) {
            relative_url.push("zone_id=" + zone_id);
            params["zone_id"] = zone_id;
        }
        var url = makeUrl("?" + relative_url.join("&"));
        sendAlert(url);

        updateSecondMenu();

        $.getJSON("",params,
            function(data){
                updateMarkersMap(data.center_ids, tag_id);
                map.returnToSavedPosition();
            }
        );
		
	});
	
    ////////////////
    // DEPRECATED //
    ////////////////
    // Process the click on a section menu (Category, Zone, Tag)
	$(".section-menu li a").click( function() {
		
		var element_id;
		var params = {};
		var images = [];
		var element = $(this);
		var name_id = element.attr("id");
		
		var categories_element = $("#categories");
		var zones_element = $("#zones");
		var tags_element = $("#tags");
		var que_es_element = $("#que-es");
		
		if( name_id == "cat" ) {
		
			var url = makeUrl("?types");
			sendAlert(url);
		
			var id = showSecondMenu( categories_element );
			categories_element.show();
			zones_element.hide();
			tags_element.hide();
			que_es_element.hide();
			
			images = $("#categories > li > a > img");
			
			params["method"] = "getCenters";
			params["cat_id"] = id;
		}
		else if( name_id =="zon" ) {
		
			var url = makeUrl("?zones");
			sendAlert(url);
		
			var id = showSecondMenu( zones_element );
			zones_element.show();
			categories_element.hide();
			tags_element.hide();
			que_es_element.hide();
			
			images = $("#zones > li > a > img");
			
			params["method"] = "getCenters";
			params["zone_id"] = id;
		}
		else if( name_id == "tag" ) {
		
			var url = makeUrl("?tags");
			sendAlert(url);
		
			var id = showSecondMenu( tags_element );
			tags_element.show();
			categories_element.hide();
			zones_element.hide();
			que_es_element.hide();
			
			params["method"] = "getCentersByTag";
			params["tag_id"] = id;
		}
		
		for(var i = 0 ; i < images.length ; i++ ) {
			var image = $(images[i]);
			if( !image.hasClass("first") )
				image.css({'opacity' : '0.4'});
			else
				image.css({'opacity' : '1'});
		}
		
		$.get("",
			params,
			function(data){
				updateMarkersMap(data, id);				
			}
		);
				
	});
	
	// Process the click on Que es?
	$("#que-es-link").click( function() {
		
		var url = makeUrl("?que-es");
		sendAlert(url);
		
		var second_menu_element = $("#second-menu");
		second_menu_element.hide();
		
		var contingut_element = $("#contingut");
		var map_element = $("#map");		
		var que_es_element = $("#que-es");
		
		contingut_element.width("51.9em");
		map_element.width("51.9em");
		map.checkResize();
		que_es_element.fadeIn(1000);
		
	});
	
	function showSecondMenu( element ) {
		
		/*var child = element.children()[0];
		var id = $(child).attr("id").split("li_")[1];
		
		var contingut_element = $("#contingut");
		var map_element = $("#map");
		var second_menu_element = $("#second-menu");
		
		contingut_element.width("51.9em");
		map_element.width("51.9em");
		map.checkResize();
		second_menu_element.fadeIn(1000);
		
		return id;*/
		
	}
	
	// Process the click on a center element
	centerClick = function ( id ) {
		
		var link_center_clicked = $("#c" + id);		
		$("#current_center_list > li a").removeClass("selected");
		link_center_clicked.addClass("selected");
		
		buildDetailCenterTabs(id, markers_hash[id] );
				
	}
	
	// Sets the opacity of the current image menu element and the others
/*	function updateOpacitySecondMenu( images, element ) {		
		images.css({'opacity' : '0.4'});
		element.children().css({'opacity' : '1'});
	}*/

    function updateSecondMenu( images, element ) {
        $("#menu").css({"background-color": "#fff"});
        $("#menu").html('<img class="loadinfo" src="/src/bcd_maps/images/loadinfo.gif" alt="Loading..." />');
	}
	
	$("#errors").append("<p>ERRORS</p>");
	
	printErrorList = function ( error_list ) {
		$("#errors-list").append( error_list );
	}
	
	// Process the click on a link to see street view
	streetViewClick = function (id) {
	
		var url = makeUrl("?street_view_center_id=" + id);
		sendAlert(url);
	
		$("#street-view-container").show();
		$("#error-msg").html("");		
		$("#street-view").show();
		$("#street-view").html("<p class=\"interior-msg\"><span class=\"loading\">LOADING...</span></p>");
		streetViewObject.setLocationAndPOV( current_marker.getPoint() );
		if( !streetViewInitialized ) {	
			//setTimeout('streetViewObject.show()',1500);
			streetViewInitialized = true;
		}
		$("#street-view").html("");
	}
	
	// Process the click on a link to close window street view
	closeStreetViewWindow = function() {
		//streetViewInitialized = false;
		//streetViewObject.hide();
		$("#street-view-container").hide();
	}
		
	// Start dragging street view container
	$("#move").mouseover( function() {
		var streetViewContainer = $("#street-view-container");
		streetViewContainer.draggable();
		streetViewContainer.draggable('enable');
	});
	
	// Disable dragging street view container
	$("#move").mouseleave( function() {
		$("#street-view-container").draggable( 'disable' );
	});
	
	// It handles error of street view
	handleErrorStreeView = function( errorCode ) {
		if( errorCode == 600 ) {
			$("#street-view").hide();
			
			var error_msg = {
								es: "Lo sentimos pero no existe panorámica de Street View para este punto",
								ca: "Ho sentim però no existeix panoràmica de Street View per aquest punt",
								en: "We are sorry but there is no panoramic view for this point"
							}
			
			$("#street-view-container").append("<p id=\"error-msg\" class=\"interior-msg\">" + error_msg[currentLanguageCode] + "</p>");			
		}
	}
	
	// It is called when street view is initialized or a new locationa has been set
	initializedStreeView = function( location ) {
		/*streetViewObject.show();
		$("#street-view-container").show();*/
	}
	
});

