/* Initiate on DOM ready */

$(document).ready( function() {

	/* Google Maps
     *******************************************************************/

	var whiskyicon = new GIcon();
	whiskyicon.image = "/assets/ui/whisky-icon.png";
	whiskyicon.shadow = "/assets/ui/whisky-shadow.png";
	whiskyicon.iconSize = new GSize(9, 25);
	whiskyicon.shadowSize = new GSize(18, 25);
	whiskyicon.iconAnchor = new GPoint(3, 23);
	whiskyicon.infoWindowAnchor = new GPoint(9, 2);
	whiskyicon.infoShadowAnchor = new GPoint(18, 25);

	
	if ($('#all-distillers-map').length) {
	
		$('#all-distillers-map').jmap('init', {
			'mapType':'map',
			'mapCenter':[57,-4.7],
			mapShowjMapsIcon: false,
			mapZoom: 6
		});
		
		var mapdata;
		
			$.ajax({
			url: "/cached-data/maps/all.xml",
			processData: false,
			dataType: "xml",
			success: function(data) {
	
			mapdata = data;
			
			
			
			$("entry", mapdata).each(function() {
			
					var latlon = $(this).find("latlon").text();	
					var name = $(this).find("name").text();	
					var region = $(this).find("region").attr('handle');
					var handle = $(this).find("name").attr('handle');
					var id = $(this).attr('id');
						
					var pairs = new Array;
					
					pairs = latlon.split(',');
					
					var string = "clickReviseAll("+id+",'"+name+"','"+latlon+"')";
					
					
					$('#all-distillers-map').jmap('AddMarker', {
						'pointIcon': whiskyicon,
						'pointLatLng': [pairs[0],pairs[1]],
						'pointHTML': '<strong><p><a style="font-weight: bold;" href="/whisky/'+region+'/'+handle+'/'+'">'+name+'</a></p><p style="margin-top:4px;"><a style="text-decoration:underline;" href="/whisky/'+region+'/'+handle+'/'+'">'+'Find out more'+'</a> <br/><a href="#" style="color: #4E4E4E;" class="thickbox" onclick="'+string+'">Wrong location? <span style="text-decoration: underline">Submit</span> a revision</a></p></strong>'
						
					});	
				
				});
	
			}
		});	
		
	}
	
	var marker_point;
	
	if ($('#revise-map').length) {
		
		$('p.revise-text a').click(function() {
			
			reviseMap($('span#map-latlon').text());
			
			return false;
				
		})
				
	}
	
	
	
	
	if ($('#distillers-map').length) {
	
		var latlon = $('span#map-latlon').text();
		var name = $('h1 span:first').text();	

		var pairs = latlon.split(',');
			
		$('#distillers-map').jmap('init', {
			'mapType':'map',
			'mapCenter':[pairs[0],pairs[1]],
			mapShowjMapsIcon: false,
			mapZoom: 7
		});
		
		$('#distillers-map').jmap('AddMarker', {
			'pointIcon': whiskyicon,
			'pointLatLng': [pairs[0],pairs[1]],
			'pointHTML': '<strong><p><a style="font-weight: bold;" href="/whisky/'+$(this).find("region").attr('handle')+'/'+$(this).find("name").attr('handle')+'/'+'">'+name+'</a></p><p style="margin-top:4px;"><a href="#" style="color: #4E4E4E; text-decoration: none;" class="thickbox" onclick="clickReviseDistiller();">Wrong location? <span style="text-decoration: underline">Submit</span> a revision</a></p></strong>'
			
		});	
		
		
	}
	
	

	if ($('#full-distillers-map').length) {
					
		$('#full-distillers-map').jmap('init', {
			'mapType':'map',
			'mapCenter':[57,-4.7],
			mapShowjMapsIcon: false,
			mapZoom: 7
		});
		
		var mapdata;
		
		$.ajax({
			url: "/cached-data/maps/all.xml",
			processData: false,
			dataType: "xml",
			success: function(data) {
	
			mapdata = data;	
			
			$("entry", mapdata).each(function() {
			
					var latlon = $(this).find("latlon").text();	
					var name = $(this).find("name").text();	
					var region = $(this).find("region").attr('handle');
					var handle = $(this).find("name").attr('handle');
					var id = $(this).attr('id');
						
					var pairs = new Array;
					
					pairs = latlon.split(',');
					
					var string = "clickReviseAll("+id+",'"+name+"','"+latlon+"')";
					
					$('#full-distillers-map').jmap('AddMarker', {
						'pointIcon': whiskyicon,
						'pointLatLng': [pairs[0],pairs[1]],
						'pointHTML': '<strong><p><a style="font-weight: bold;" href="/whisky/'+region+'/'+handle+'/'+'">'+name+'</a></p><p style="margin-top:4px;"><a style="text-decoration:underline;" href="/whisky/'+region+'/'+handle+'/'+'">'+'Find out more'+'</a> <a href="#" style="color: #4E4E4E; text-decoration: none;" class="thickbox" onclick="'+string+'">Wrong location? <span style="text-decoration: underline">Submit</span> a revision</a></p></strong>'
						
					});	
				
				});
	
			}
		});	
		
		
	}

	
	if ($('#directory-distillers-map').length) {
	
		$('#directory-distillers-map').jmap('init', {
			'mapType':'map',
			'mapCenter':[57,-4.7],
			mapShowjMapsIcon: false,
			mapZoom: 6
		});
		
		var letter = $('span#map-letter').text();
		
		var mapdata;
		
			$.ajax({
			url: "/data/maps/"+letter,
			processData: false,
			dataType: "xml",
			success: function(data) {
	
			mapdata = data;
			
			$("entry", mapdata).each(function() {
			
					var latlon = $(this).find("latlon").text();	
					var name = $(this).find("name").text();	
					var pairs = new Array;
					pairs = latlon.split(',');
					
					$('#directory-distillers-map').jmap('AddMarker', {
						'pointIcon': whiskyicon,
						'pointLatLng': [pairs[0],pairs[1]],
						'pointHTML': '<strong><p><a style="font-weight: bold;" href="/whisky/'+$(this).find("region").attr('handle')+'/'+$(this).find("name").attr('handle')+'/'+'">'+name+'</a></p><p style="margin-top:4px;"><a style="text-decoration:underline;" href="/whisky/'+$(this).find("region").attr('handle')+'/'+$(this).find("name").attr('handle')+'/'+'">'+'Find out more'+'</a></p></strong>'
						
					});	
				
				});
	
			}
		});	
		
	}
	
	
});	

function clickReviseDistiller() {
	
	tb_show('Show map', '#TB_inline?height=520&amp;width=600&amp;inlineId=revise-form&amp;KeepThis=true',true);
	
	$('p.revise-text a').click();
	
	return false;
	
}

function clickReviseAll(id, name, latlon) {
	
	tb_show('Show map', '#TB_inline?height=520&amp;width=600&amp;inlineId=revise-form&amp;KeepThis=true',true);
	
	$('#revised-distiller').val(id);
	
	$('#revise-form h2').text(name);
	
	//alert(latlon)
	
	reviseMap(latlon);
	
	return false;
	
}

function reviseMap(latlon) {

	var pairs = latlon.split(','); //[pairs[0],pairs[1]]

	var map      = new GMap2(document.getElementById('revise-map')),
		center   = new GLatLng(pairs[0],pairs[1]),
		geocoder = new GClientGeocoder();
		
	var marker   = new GMarker(center, {draggable: true});

		map.setCenter(center, 7);
		map.addControl(new GSmallMapControl());
		map.addOverlay(marker);
		
	GEvent.addListener(marker, "dragend", function() {
		
		$('#revised-latlon').val(marker.getPoint());
	
	});
		
	return false;
	
}

