window.addEvent('domready',function() {
									
	var so_form, so_link, so_thanks, so, error_counter, error_message;
	
	so_form = document.id("signupForm"), so_link = $$(".newsletter_signup"), so_fresh = so_form.getElement('div.signup_fresh'), so_thanks = so_form.getElement('div.signup_thanks'), so_error = so_form.getElement('div.signup_error');
	
	so = new Overlay(document.body,{
		id: 'so',
		duration: 500,
		opacity: 0.88,
		zIndex: 999,
		onShow: function(item) { 
			so_form.setStyles({opacity: 1, zIndex: 9999});
		},
		onClose: function() { 
			so_form.setStyles({opacity: 0, zIndex: -9999});
			$$(so_error, so_thanks).setStyle("display", "none");
			so_fresh.setStyle("display", "block");
		},
		onClick: function() {
			this.close();
		}
	});
									
	
	if ( so_link.length ) {
									   
		new Element("a", {
				'class': "signup_close", 
				'href': "#", 
				'events': { 
					'click': function() {
						so.close();
					}
				}
			}).inject(so_form, "top");
	}
		
	so_link.addEvent("click", function() {				
		so.open();
		return false;
	});
	
	so_form.addEvent("submit", function() {
		
		error_counter = false;
		error_message = "";
		
		so_form.getElements("[rel=required]").each(function(field) {

			
			
			if ( field.get('data') != null ) {
				
				if ( field.get('data') == "email" && !(/^(?:[a-z0-9!#$%&'*+\/=?^_`{|}~-]\.?){0,63}[a-z0-9!#$%&'*+\/=?^_`{|}~-]@(?:(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\])$/i).test(field.get('value')) ) {
					
					error_counter = true;
					error_message += "Please enter a valid email address. For example \"fred@domain.com\".\n";

				}

			} else {
				
				if ( field.get('value').replace(/^\s*|\s*$/g,'').length < 1 ) {
					error_counter = true;
					error_message += field.get('placeholder') + " field is required.\n";
				}
				
			}
			
		});
			
		if ( error_counter ) {
			alert(error_message);
			return false;
		}

	});
	
	if( window.location.hash.contains('!') ) {
		chars = "/";
		lnk = window.location.hash.replace(new RegExp("[" + chars + "]+$", "g"), "");
		hash = ( lnk.indexOf('?') == -1 ) ? lnk.substring(3) : lnk.substring(3, lnk.indexOf('?'));	
		
		if ( hash == "signup_successful" ) {
			$$(so_fresh, so_error).setStyle("display", "none");
			so_thanks.setStyle("display", "block");
		}
		
		if ( hash == "signup_error" ) {
			$$(so_fresh, so_thanks).setStyle("display", "none");
			so_error.setStyle("display", "block");
		}

		so_link.fireEvent('click');
		
		(function() {
			so.close();
			if ( hash == "signup_error" ) {
				(function() {
					so_link.fireEvent('click');
				}).delay(500);
			}
		}).delay(4000);
	}
	
	if ( $$('.link_breadcrumb').length ) {
	
		var d = $$('.link_breadcrumb');
		var b;
		var n = $$('nav[role="breadcrumb"]')[0];
		
		var n2 = new Element('nav', {
						"role": "breadcrumb"
					});
		
		$$('.link_breadcrumb').each(function(el, i) {
			
			if ( i == 0 ) el.addClass("first-child");
											 
			if ( el.get('text') == "Products") el.dispose(); 
			else el.inject(n2);
		});
		
		n2.replaces(n);
		n2.fade("in");
	}
	
});

var runLoader = (function() {

	function loadScript(src, func) {
		
		var ls = document.createElement('script');
		ls.src = src;
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ls);
		
		window.addEvent('load', function() {
			if ( func != null ) (function() { func(); }).delay(360);										 
		});
		

    }

	window.addEvent('domready',function() {
																						
		var googMap = $$('.googleMap');
		
		if ( googMap.length )
		{
			run = (function() {
							
				loadScript("/scripts/mmap.main.js");
				
				(function() {
											 
					var stylez = [
						{              
						  featureType: 'all',
						  stylers: [
							{saturation: -100},
							{lightness: 50},
							{gamma: 0.50}
						  ]
						}
					  ];
					/*
					var stylez = [
					  {
						featureType: "all",
						elementType: "geometry",
						stylers: [
							{ saturation: -100 },
							{ gamma: 0.16 },
							{ lightness: -50 }
						]
					  },{
						featureType: "all",
						elementType: "labels",
						stylers: [
							{ hue: "#ffcc00" }
						]
					  },
					  { 
						featureType: "road.local", 
						elementType: "labels", 
						stylers: [ 
							{ hue: "#ffee00" }, 
							{ visibility: "off" } 
						] 
					  },
					  { 
						featureType: "poi", 
						elementType: "labels", 
						stylers: [ 
							{ visibility: "off" } 
						] 
					  }
					]; */
							
							
					var data = $$('.address-box.location-active')[0];
					var  LatLng = {
						lat : data.getElement('.latitude') ? data.getElement('.latitude').get("text") : 0,
						lng : data.getElement('.longitude') ? data.getElement('.longitude').get("text") : 0
					}
	
					var map;
					var LatLng = new google.maps.LatLng(LatLng.lat, LatLng.lng);
						
					var map = new google.maps.Map($('gmap'), {
						zoom: 15,
						center: LatLng,
						mapTypeControlOptions: {
							mapTypeIds: [google.maps.MapTypeId.ROADMAP, 'Bloodwood']
						},
						scaleControl: true
					});
					
					var styledMapOptions = {
						name: "Mirabela Elite"
					}
					
					var jayzMapType = new google.maps.StyledMapType(
					stylez, styledMapOptions);
					
					map.mapTypes.set('Mirabela Elite', jayzMapType);
					map.setMapTypeId('Mirabela Elite');
					 
					var marker1 = new MMap.Marker.Image({
						map: map,
						title: 'Mirabela Elite',
						image: '/images/store-locations/pin.png',
						position: LatLng
					});
				
					(function() {map.setZoom(16);}).delay(500);
					
				}).delay(360);
				
			});
			// Included Mootools More.Date (in this.file)

//			
			
			loadScript("http://maps.google.com/maps/api/js?v=3&sensor=false&callback=run");
		
		}
	});
	
});

window.addEvent('load', runLoader);

