jQuery(document).ready(function(){

			jQuery(".tag").live('click',function(){ 
				var $span = jQuery(this);
				$span.css('color','#8F998C');
					showTitle($span.text()); 
				});	
	
});			


function tagCloud(){
		
		var json = jQuery.get('carte/tagcloud', function(response){		
			var response = eval("(" + response + ")");
			var side_bar_html = "";		
			for(var i in response){
				var item =response[i];
				side_bar_html += '<span class="tag" style="font-size:'+ (parseInt(item.size)*15) +'%">'+ item.term +'</span> ';  
			}			
			$tags.html(side_bar_html);
		});
			
	}

	function displayMap() {
		map.addControl(mapcontrol);
		map.setCenter(new GLatLng(5, 5), 2);
		map.setMapType(G_SATELLITE_MAP);
		if (windowHeight() < 780) {
			handleResize();
		}	
		var mapClick = GEvent.addListener(map,"click", function() {
				if($projectTitle.is(':visible')){
						$projectTitle.hide(anim_delay, function (){ side_bar(); });
						jQuery('#project-presentation').hide(); 
				}		
				if($displayTitle.is(':visible')){
						$displayTitle.hide(anim_delay);
				}									
		});

		GEvent.addListener(map, "zoomend", function(oldzoom, newzoom) {
			var zoom = map.getZoom();
			if (zoom <= 3) {				
				$elabels.animate({	
					opacity: 0.15,
					letterSpacing: '-2px',
					fontSize:'8pt'
				}, 600 );						
			}else if (zoom > 3 && zoom <= 5) {				
				$elabels.animate({
					opacity: 0.6,
					letterSpacing: '-1px',
					fontSize:'9pt'
				}, 600 );	
			}else if (zoom > 5 && zoom <= 7) {
					$elabels.animate({
						opacity: 0.8,
						letterSpacing: '0px',
						fontSize:'10pt'
					}, 600 );	
				}else if (zoom > 7) {
					$elabels.animate({
						opacity: 0.9,
						letterSpacing: '1px',
						fontSize:'11pt'
					}, 600 );	
				}			
			});

	}
	
	function reachJson() {
		jQuery.get('carte/getMarkers', function(response) {
			var response = eval("(" + response + ")");
			readJson(response);
		});
	}

function readJson(response) {
	for(var i in response){
		var item = response[i];
		var point = new GLatLng(item.lat, item.lon);
		var html = item.title;
		var id = item.id;
		var label = new ELabel(point, html, id, "myLabelClass", "");
		elabels[id] = label;	
		//GEvent.addListener(label, function(){ fdesc(id) });	
		map.addOverlay(label);
		y++;
	}
  $elabels = jQuery('.myLabelClass');
 
  $elabels.bind({
  	mouseover: function(){
			jQuery(this).css('backgroundColor', '#8C7C5A').css('border', '1px solid #CADBC6');
  	},
  	mouseout:function(){
   			jQuery(this).css('backgroundColor', 'transparent').css('border', 'none');	
  	}
  });

}

function getFeedItem(id) {

}

function fdesc(id) {

	// setZoom
	var zoom = map.getZoom();
	if (zoom < 2) {
		return;
	} else {
		if (zoom != 6) {
			map.setZoom(6);
		}
	}

	jQuery.get('carte/getFeedItem',
					{
						"id" : id
					},
					function(response) {
						var response = eval("(" + response + ")");

						var html = '<p class="infowindow">';
						// html += '<span class="infowindow-date"><b>' +
						// response.date + '</b> : </span>';
						html += '<div class="infowindow-description">' + response.desc + '</div>';

						if (response.source != '') {
							html += '<div class="infowindow-source"> <b>source</b> : ' + response.source + '</div>';
						}
						
						
						if(typeof response.items != undefined && response.items.length > 0){
							
							html += '<div class="infowindow-tags"><span><b>tag(s)</b> : </span>';
							
							jQuery.each(response.items,function(c,item){
								html += '<span class="tag">' + item.term + '</span>';
							});
							
							html +=  '</div>';	
													
						}

						html += '</p>';

						/* move on map */

						var nlocation = new GLatLng(response.lat, response.lon);


						var mk = new GMarker(nlocation);

						if (jQuery.browser.mozilla) {
							mk.openExtInfoWindow(map, "myInfoWindow", html, {
								beakOffset : 3
							});
						} else {
							map.openInfoWindow(nlocation, html, {
									maxWidth : '150',
									pixelOffset : new GSize(20, -20)
							});
						}

						
						map.panTo(nlocation);
							
					});

}

var lastpk;
var x = 0;
var y = 0;

function showTitle(tag) {
	
	jQuery('.feed-title').unbind();

	map.closeInfoWindow();
	var display_title_html = "";
	
	jQuery.get('carte/getFeedItemByTag', {"tag": escape(tag)}, function(response){
		var response = eval("(" + response + ")");
		
		for(var i in response){
			var item =response[i];
			display_title_html += '<span id="feed-title-' + item.id + '" class="feed-title">' +item.title  + '</span>';
		}
	
		$displayTitle.html(display_title_html);


		jQuery('.feed-title').bind({
			click : function(){
				var $title = jQuery(this);
				$title.css('color','#8F998C');
				var id = $title.attr('id').split('-')[2];
				jQuery('#elabel-' + id).trigger('click');	
			},
			mouseover: function(){			
				if(jQuery(this).css('color') == "rgb(232, 249, 228)") jQuery(this).css('color','#000');			
			},
			mouseout: function(){				
				if(jQuery(this).css('color') == "rgb(0, 0, 0)")
				jQuery(this).css('color','#E8F9E4');
			}
		});
		
		showTitles();
		
	});

}


function side_bar() {
	($sidebar.is(':visible'))? $sidebar.show(anim_delay) : $sidebar.show(anim_delay);
}

function showTitles(e) {
	
	var elm = document.getElementById('display_title');
	elm.style.display = 'block';
}

function windowWidth() {
	// Standard browsers (Mozilla, Safari, etc.)
	if (self.innerWidth)
		return self.innerWidth;
	// IE 6
	if (document.documentElement && document.documentElement.clientWidth)
		return document.documentElement.clientWidth;
	// IE 5
	if (document.body)
		return document.body.clientWidth;
	// Just in case.
	return 0;
}

function windowHeight() {
	// Standard browsers (Mozilla, Safari, etc.)
	if (self.innerHeight)
		return self.innerHeight;
	// IE 6
	if (document.documentElement && document.documentElement.clientHeight)
		return document.documentElement.clientHeight;
	// IE 5
	if (document.body)
		return document.body.clientHeight;
	// Just in case.
	return 0;
}

function handleResize() {
	var height = windowHeight() - 18; // -
	// document.getElementById('toolbar').offsetHeight
	// - 30;
	var width = windowWidth();
	var top = windowHeight() - 70;

	document.getElementById('map').style.height = (height) + 'px'; // -200
//	document.getElementById('display_recherche').style.top = top + 'px';

	// document.getElementById('side_bar').style.height = (height) + 'px';

	// document.getElementById('map').style.width = (width) + 'px'; //-200
	// document.getElementById('side_bar').style.width = width + 'px';

}

function setLastClicked($e){	
	if(lastClicked){
		lastClicked.trigger('mouseout');
	}
	lastClicked = $e;
	setTimeout(function(){lastClicked.trigger('mouseover')},500);
}

window.onresize = handleResize;

