var currentImageId = 1;
var referenceLocation;

FastInit.addOnLoad(
	function(){
	
		if(!$('references_content')){
			return;
		}
		
		swfobject.embedSWF(
			SITE_ROOT_DIR + 'swf/globe.swf', 
			'globe', 
			400, 
			400, 
			'9.0.0', 
			false, 
			{
				markersXmlUrl: SITE_ROOT_URL + 'references/xml',
				globeTextureUrl: SITE_ROOT_DIR + 'swf/world32k.gif',
				selectedReferenceLocationId: selectedReferenceLocationId 
			}, 
			{
				allowScriptAccess: 'always'
			}
		);
		
		Event.observe(
			'page',
			'click',
			function(event){
				var element = Event.element(event);
				if(element.id == 'prev'){
					currentImageId --;
					showReferenceImage();
					Event.stop(event);
				}
				if(element.id == 'next'){
					currentImageId ++;
					showReferenceImage();
					Event.stop(event);
				}
			}
		);
		
		showLocation(referenceLocationId);
		
	}
);

function showLocation(locationId){

	currentImageId = 1;

	var url = SITE_ROOT_URL + 'references/get_location/' + locationId;

	new Ajax.Request(
		url, {
			method: 'get',
			onSuccess: function(transport){
			
				referenceLocation = eval(transport.responseText);
				$('page').innerHTML = '';
				showReferenceImage();
				
			}	
		}
	);

}

function showReferenceImage(){

	var numImages = referenceLocation[0]['ReferenceImage'].length;

	var filename;
	if(referenceImageId){
		for(var i = 0; i < numImages; i ++){
			var referenceImage = referenceLocation[0]['ReferenceImage'][i];
			if(referenceImage['id'] == referenceImageId){
				referenceImageId = null;
				filename = referenceImage['image_filename'];
				currentImageId = i + 1;
				break; 
			}
		}
	} else {
		filename = referenceLocation[0]['ReferenceImage'][currentImageId - 1]['image_filename'];
	}

	var src = REFERENCE_IMAGE_TEMPLATE_URL.replace(/dummy.jpg/, filename);
	$('img').innerHTML = '<img src="' + src + '" />';
	if(numImages > 1){
		var html = '';
		if(currentImageId != 1){
			html += '<a href="" onclick="return false;" id="prev">&lt;&lt;</a>';
		} else {
			html += '&lt;&lt;';
		}
		html += ' ' + currentImageId + ' of ' + numImages + ' ';
		if(currentImageId != numImages){
			html += '<a href="" onclick="return false;" id="next">&gt;&gt;</a>';
		} else {
			html += '&gt;&gt;';
		}
		$('page').innerHTML = html;
	}

}