/*******************************************************************************
	Filename		: main.js

	Called by		: 

	Created			: 05 May 2008 (11:51:55)
	Created by		: Rick Holmes/NinthVector LLC

	Required files	: 

	Comments		: JavaScript functionality for nhpets.com
*******************************************************************************/	

jQuery(document).ready(function($) {
//  $('a[rel*=facebox]').facebox(),
  
  LPA.getImages()
})


var LPA = function() {
	/*************************** PRIVATE PROPERTIES AND METHODS ********************************/
	
	var imageArray = [];
	var imageIndex = 0;
	
	jQuery.preloadImages = function() {
	  for(var i = 0; i<arguments.length; i++) {
	  	var id = arguments[i].substr(0, arguments[i].lastIndexOf('.'));
	    imageArray[i] = $('<img>').attr('src', arguments[i]).attr('id', id);
	  }
	}

	/*************************** ONLOAD AND RUNTIME METHODS (PUBLIC) ********************************/
	return {
	
		showMap: function(){
			var mapval = $('input[name="map"]:checked').val();
			switch (mapval) {
				case 'Lebanon':
					/* lat = 43.6465;
					lng = -72.2536; */
					lat = 43.6336;
					lng = -72.3180;
					break;
				case 'Claremont':
					lat = 43.3720;
					//lng = -72.3188;
					lng = -72.3280;
					break;
			}
			/* try {
				$('#mapcanvas').empty();
			} catch (e) {
				// just catch it
			} */
			jQuery.facebox("<div id='mapcanvas'></div>");
			
			google.load('maps', '2', {'callback': function(){
						var map = new google.maps.Map2(document.getElementById('mapcanvas'));
						map.setCenter(new google.maps.LatLng(lat, lng), 15);
						var nhp = new GLatLng(lat, lng);
						map.addOverlay(new GMarker(nhp, {'clickable': false}));
						map.addControl(new GLargeMapControl());
						map.addControl(new GMapTypeControl());
						map.addControl(new GOverviewMapControl());
					}});
			
			
			
		},
	
		// does Ajax call to load proper images into array of preloaded images
		getImages: function() {
			// first get page name from body id
			var page = document.body.id;
			if (page == 'directions') return;
			// php url
			var url = '../assets/templates/nhpets/ajax/imagefunctions.php?page=' + page;
			
			$.getJSON(url,
				function(data) {
					jQuery.each(data, function(i, val) {
						var id = val.substr(0, val.lastIndexOf('.'));
						// path = 'photos/' + page + '/' + val;
						path = '../assets/templates/nhpets/photos/' + page + '/' + val;
						imageArray[i] = $('<img>').attr('src', path).attr('id', id).attr('class', 'galleryphoto');
						});
					$('.galleryphoto').replaceWith(imageArray[0]);
					$('#image_minus').css('display', 'none')
				});			
		},
		
		changeImage: function(direction) {
			var count = imageArray.length;
			if (direction == 'plus') {
				if (imageIndex < count - 1) {
					imageIndex = imageIndex + 1;
					if ($('.galleryphoto')) {
						$('.galleryphoto').replaceWith(imageArray[imageIndex]);
					}
					$('#image_minus').css('display', 'block');
				} else {
					$('#image_plus').css('display', 'none');
				}
			} else if (direction == 'minus') {
				if (imageIndex > 0) {
					imageIndex = imageIndex - 1;
					if ($('.galleryphoto')) {
						$('.galleryphoto').replaceWith(imageArray[imageIndex]);
					}
					$('#image_plus').css('display', 'block')	
				} else {
					$('#image_minus').css('display', 'none')
				}
			}
		}
		
	}
}();

