$(function() {
	
	if($('#map_canvas').length != 0) {
		mapTools();
		var addressVal = $('#getdirections').val();
		$('#getdirections').click(function(){
			if($(this).val() === addressVal){
				$(this).val('');
			}
		})
	}
	
	searchClients($('#search-clients'));
	
});

function mapTools() {
	var directionDisplay;
	var myLatlng = new google.maps.LatLng(51.408729,-0.304205);
	var directionsService = new google.maps.DirectionsService();
	
	directionsDisplay = new google.maps.DirectionsRenderer();
	
	var myOptions = {
		zoom : 16,
		center : myLatlng,
		mapTypeId : google.maps.MapTypeId.ROADMAP
	};
	var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
	
	directionsDisplay.setMap(map);
	directionsDisplay.setPanel(document.getElementById('directions')); 
	
	var image = new google.maps.MarkerImage('/wp-content/themes/agencyInc/images/icons/marker.png', new google.maps.Size(115, 77), new google.maps.Point(0, 0), new google.maps.Point(115, 77));

	var marker = new google.maps.Marker({
		position : myLatlng,
		map : map,
		icon : image
	});
	function getDirections(startFrom, mode) {
		if(mode === 'WALKING') {
			modeOfTravel = google.maps.DirectionsTravelMode.WALKING;
		} else {
			modeOfTravel = google.maps.DirectionsTravelMode.DRIVING;
		}
		var request = {
			origin : startFrom,
			destination : myLatlng,
			travelMode : modeOfTravel
		};
		directionsService.route(request, function(result, status) {
			if(status == google.maps.DirectionsStatus.OK) {
				$('#transport').toggle();
				$('#directions').toggle();
				directionsDisplay.setDirections(result);
			} else {
				alert('Not a valid address');
			}
		});
	}
	$('#find-directions').bind('submit',function(e){
		var startFrom = $(this).find('input');
		if ($(startFrom).val().length > 0) {
			getDirections(startFrom.val());
		} else {
			$(startFrom).val('Enter a start address');
		};
		e.preventDefault();
	}); 
}


function searchClients(searchElem) {
	var content = $('.thumbList > .thumb').find('p');
	var elem = searchElem.find('.search-list');
	$('.searchBox').click(function() {
		$(this).find('.search-listing').toggle();
	});

	for(var i = 0; i < content.length; i++) {
		elem.append('');
	}
}

function filterResults(theFilter) {
	var newFilter = $(theFilter).text();
	var thumbs = $('.thumbList').find('.thumb');
	$.each(thumbs, function(i, item) {
		$(item).show();
		if($(item).attr('rel').toLowerCase() != newFilter.toLowerCase()){
			$(item).hide();
		};
		if($(item).attr('rel').toLowerCase() != newFilter) {
			theFilter.parents('.search-listing').prev().html(newFilter);
			$('#results').html(" " + newFilter);
			$('.resultsDisplay').slideDown();
		}
	});
	
	$('.search-listing').hide();
	
	return false
}

