/*
 * SimpleModal OSX Style Modal Dialog
 * http://www.ericmmartin.com/projects/simplemodal/
 * http://code.google.com/p/simplemodal/
 *
 * Copyright (c) 2009 Eric Martin - http://ericmmartin.com
 *
 * Licensed under the MIT license:
 *   http://www.opensource.org/licenses/mit-license.php
 *
 * Revision: $Id: osx.js 213 2009-09-17 04:10:02Z emartin24 $
 */

jQuery(function ($) {
	$("input.osx, a.osx").click(function (e) {
		e.preventDefault();	

		$("#osx-modal-content").modal({
			overlayId: 'osx-overlay',
			containerId: 'osx-container',
			closeHTML: '<div class="close"><a href="#" class="simplemodal-close">x</a></div>',
			minHeight:80,
			opacity:65, 
			position:['0',],
			overlayClose:true,
			onOpen:OSX.open,
			onClose:OSX.close
		});
	});

	var OSX = {
		container: null,
		open: function (d) {
			var self = this;
			self.container = d.container[0];
			d.overlay.fadeIn('fast', function () {
				$("#osx-modal-content", self.container).show();
				var title = $("#osx-modal-title", self.container);
				title.show();
				d.container.slideDown('fast', function () {
					setTimeout(function () {
						var h = $("#osx-modal-data", self.container).height()
							+ title.height()
							+ 20; // padding
						d.container.animate(
							{height: h}, 
							//100,
							function () {
								$("div.close", self.container).show();
								$("#osx-modal-data", self.container).show();
							}
						);
					}, 200);
				   });
				validate_email_a_friend();
			})
		},
		close: function (d) {
			var self = this;
			d.container.animate(
				{top:"-" + (d.container.height() + 20)},
				500,
				function () {
					self.close(); // or $.modal.close();
				}
			);
		}
	};
	
	function validate_email_a_friend(){
		$('#osx-container form').submit(function(){			
			var is_valid_sender = validate_sender();
			var is_valid_recipient = validate_recipient();				
			
			if(!is_valid_sender || !is_valid_recipient){
				return false;
			}			
			return true;
		});			
	}
	function validate_sender(){
		$('#osx-container p.sender input').focus(function(){
			if($(this).val() == "Invalid"){
				$(this).val('');
			}
			$(this).addClass('selected');
			$(this).removeClass('error');
		});						
		var email = $('#osx-container p.sender input').val();
		if(!isValidEmailAddress(email)){
			$('#osx-container p.sender input').addClass('error');
			if($('#osx-container p.sender input').val() == ""){
				$('#osx-container p.sender input').val('Invalid');
			}
			return false;
		}				
		return true;
	}
	function validate_recipient(){
		$('#osx-container p.recipient input').focus(function(){
			if($(this).val() == "Invalid"){
				$(this).val('');
			}				
			$(this).addClass('selected');
			$(this).removeClass('error');
		});
		var email = $('#osx-container p.recipient input').val();
		if(!isValidEmailAddress(email)){
			$('#osx-container p.recipient input').addClass('error');
			if($('#osx-container p.recipient input').val() == ""){
				$('#osx-container p.recipient input').val('Invalid');
			}			
			return false;
		}				
		return true;
	}
	
});