if (typeof SE === 'undefined') {
	var SE = {Views: {}};
}

SE.Views.Map = (function ($) {
	var that,
		el;
	
	function createMap (elem) {
		var maybeCenter,
			maybeMarker,
			pos = {}, map, marker;
		
		maybeCenter = {
			lat: parseFloat(elem.data('lat')),
			lng: parseFloat(elem.data('lng'))
		};
		
		maybeMarker = {
			lat: parseFloat(elem.data('marker-lat')),
			lng: parseFloat(elem.data('marker-lng'))
		};
		
		if (isFinite(maybeCenter.lat) && isFinite(maybeCenter.lng)) {
			pos.center = new google.maps.LatLng(maybeCenter.lat, maybeCenter.lng);
			
			map = new google.maps.Map(elem.get(0), {
				zoom: 17,
				center: pos.center,
				mapTypeId: google.maps.MapTypeId.ROADMAP,
				disableDefaultUI: true
				// zoomControlOptions: {
				// 	position: google.maps.ControlPosition.RIGHT_TOP
				// },
				// scaleControl: false,
				// streetViewControl: false,
				// panControl: false,
				// mapTypeControl: false,
				// clickable: false,
				// cursor: 'crosshair'
			});
		}
		
		if (map && isFinite(maybeMarker.lat) && isFinite(maybeMarker.lng)) {
			pos.marker = new google.maps.LatLng(maybeMarker.lat, maybeMarker.lng);
			marker = new google.maps.Marker({
				position: pos.marker,
				map: map,
				title: ''
			});
		}
	}
	
	that = {
		init: function (_el, _opts) {
			if (_el.length) {
				el = _el;
				createMap(el);
			}
		}
	};
	
	// function main () {
	// 	if ($('.contact-map').length) {
	// 		createMap($('.contact-map'));
	// 	}
	// }
	// 
	// $(main);
	
	return that;
})(jQuery);

jQuery(function () {
	jQuery('.map-layer').length && SE.Views.Map.init(jQuery('.map-layer'));
});
