// Remind Scripts
	// attach the custom events on DOM loaded
	
	
	function reminderInitHandlers(){
		$$( '.remind-no', '.remind-yes' ).invoke( 'observe', 'click', remindClick );
		
		if($('sign-up-form'))
			$('sign-up-form').observe( 'submit', signUpSubmit );
		
	}
	
	function remindClick(e){
		Event.stop(e);
		
		var hrefParts = this.href.toString().split('/');
		if( hrefParts.length < 5 ) { alert('Need more information, please refresh your page.') }
		
		var params = {
			email: hrefParts[ hrefParts.length - 1 ] || FlapJackUser.email || '',
			notify: hrefParts[ hrefParts.length - 2 ],
			event_id: hrefParts[ hrefParts.length - 3 ]
		}
		
		if( !params.email || params.email.blank() ) {
			// Replace with sign-up window
			if( $('sign-up') ) {
				showSignUp( this, params );
			} else {
				// Plan B
				params.email = FlapJackUser.email = prompt( "Please enter your email to recieve notification on this event", "" );
			}
			
			// If it is still blank, run away
			if( !params.email || params.email.blank() ) {
				//alert('you need to provide an email so we can remind you');
				return;
			}
		}
		// If we have an email keep goign with the request
		params.notify = toggleRemindMe(this);
		
		
		
		requestReminder( this, params );
	}
	
	// Remind Me Toggle
	function toggleRemindMe ( remindLink ) {
		if( !remindLink ) return 0;
		
		var newRemindValue = 0;
		if( remindLink.hasClassName('remind-no') ) {
			remindLink.update("Remind me of this event");	
			newRemindValue = 1;
			//alert("I am going to remember this date for ever!");
		} else {
			remindLink.update("Remove my reminder");
			newRemindValue = 0;
			//alert("No time for breakfast");	
		}
		
		// Swap Classes
		remindLink.toggleClassName('remind-no');
		remindLink.toggleClassName('remind-yes');
		
		return newRemindValue.toString();
	}
	
	// AJAX Request Event Reminder
	function requestReminder( remindLink, params ) {
	
		var url = "/EventReminders/reminder/" + params.event_id + "/" + params.notify + '/' + params.email;
		remindLink.href = url;
		$( 'reminder-url' ).value = remindLink.href;
		
		new Ajax.Request( url, {
			onSuccess: function(transport) { 
				//alert('You have been Reminded');	
				//window.location.reload();
			},
			onFailure: function() {
				alert('An error occured');
				// Reset
				var revertReminder = toggleRemindMe(remindLink);
				remindLink.href = "/EventReminders/reminder/" + params.event_id + "/" + revertReminder + '/' + params.email;
			}
		});
	}
	
	// Signup Form Event Handler
	function signUpSubmit(e) {
		Event.stop(e);
		var remindLink = $('sign-up').remindLink;
		var params = $('sign-up').params;
		
		params.email = FlapJackUser.email = $F('signup-email');
		params.notify = toggleRemindMe ( remindLink );
		
		requestReminder( remindLink, params );
		// Hide Signup Div
		hideSignUp();
		return false;
	}
	
	//Show Signup Box
	function showSignUp( remindLink, params ) {
		// Show Divs
		if( $('sign-up') ) {
			// Animate
			$('sign-up').appear({duration: .5});
			// Position
			var container_dimensions = $('sign-up').getDimensions();
			var viewport_dimensions = document.viewport.getDimensions();
   			Position.prepare();
			var offset_left = (Position.deltaX + Math.floor((viewport_dimensions.width - container_dimensions.width) / 2));
    		var offset_top = (Position.deltaY + ((viewport_dimensions.height > container_dimensions.height) ? Math.floor((viewport_dimensions.height - container_dimensions.height) / 2) : 0));
    
			$('sign-up').setStyle({
				top: (container_dimensions.height <= viewport_dimensions.height) ? ((offset_top != null && offset_top > 0) ? offset_top : 0) + 'px' : 0,
				left: (container_dimensions.width <= viewport_dimensions.width) ? ((offset_left != null && offset_left > 0) ? offset_left : 0) + 'px' : 0
			});
		
			
				
			// Set Info
			$('sign-up').remindLink = remindLink;
			$('sign-up').params = params;
		}
		
		if( !$('overlay') ) $('sign-up').insert( { before:'<div id="overlay" />' } );
		$('overlay').setOpacity(0);
		$('overlay').appear({to: .8, duration: .25});
		$('overlay').observe('click', hideSignUp );
		positionOverlay();
		if(Prototype.Browser.IE){
			Event.observe(window,'scroll', positionOverlay);
			Event.observe(window,'resize', positionOverlay);
			
		} 
		
		
	}
	
	function positionOverlay() {

		var dimensions = document.viewport.getDimensions();
		$('overlay').setStyle({
			top: 0,
			left: 0,
			width: dimensions.width + 'px',
			height: dimensions.height + 'px'
		});
	}
	
	// Hid Signup Box
	function hideSignUp() {
		if( $('sign-up') ) $('sign-up').fade({duration: .5});
		if( $('overlay') ) $('overlay').fade({duration: .25});
	}

