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);
	}
	/////////////////////////////////////
	/////////////////////////////////////
	/////////////////////////////////////
	
	$(".category").click( function() {
		
		var element = $(this);
		var category_id = element.attr("id").split("_")[1];
		
		var url = makeUrl("?category_id=" + category_id);
		sendAlert(url);
		
		var images = $("#categories > li > a > img");
		updateOpacitySecondMenu( images, element );
		
		$.get("",
			{
				method: "getCenters",
				cat_id: category_id
			},
			function(data){
				updateMarkersMap(data, category_id);
				map.returnToSavedPosition();
			}
		);
		
	});
	
	$(".zone").click( function() {
		
		var element = $(this);
		var zone_id = element.attr("id").split("_")[1];
		
		var url = makeUrl("?zone_id=" + zone_id);
		sendAlert(url);
		
		var images = $("#zones > li > a > img");
		updateOpacitySecondMenu( images, element );
		
		$.get("",
			{
				method: "getCenters",
				zone_id: zone_id
			},
			function(data){
				updateMarkersMap(data, zone_id);
				map.returnToSavedPosition();				
			}
		);
		
	});
	
	$(".tag").click( function() {
		
		var element = $(this);
		var tag_id = element.attr("id").split("_")[1];
		
		var url = makeUrl("?tag_id=" + tag_id);
		sendAlert(url);
		
		$.get("",
			{
				method: "getCentersByTag",
				tag_id: tag_id
			},
			function(data){
				updateMarkersMap(data, tag_id);
				map.returnToSavedPosition();
			}
		);
		
	});
		
	// 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'});
	}
	
	$("#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();*/
	}
	
});
