// WIDGET SIZE 391x210

function isEmail(s) {
	var isEmail_re = /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/;
	return String(s).search (isEmail_re) != -1;
}

jQuery(function($) {
	
	 var preloadImages = [
		'/assets/site_images/loader_popup.gif',
		'/assets/site_images/find_registry_popup.jpg',
		'/assets/site_images/tell_bride.jpg',
		'/assets/site_images/thank_you.jpg',
		'/assets/site_images/target_reg_id.jpg'
	];
	$.each(preloadImages, function(i,img) { $('<img />').attr('src', img); });
	
	var first_name 		= $("input[name='first_name']");
	var last_name 		= $("input[name='last_name']");
	var email 			= $("input[name='email']");
	
	var registry_id 	= $("input[name='registry_id']");
	
	var brides_name 	= $("input[name='brides_name']");
	var grooms_name 	= $("input[name='grooms_name']");
	var wedding_date 	= $("input[name='wedding_date']");
	
	var inputs = [first_name, last_name, email, registry_id, brides_name, grooms_name, wedding_date];
	
	wedding_date.mask("99/99/9999");
	wedding_date.datepicker({
		minDate: 0,
		changeMonth: true,
		changeYear: true,
		onSelect: function(dateText) {
			activeField(wedding_date);
		}
	});
	
	if ($.browser.msie) {
		first_name.keypress(	function (e) { if (e.which == 13) $('#search-form').trigger('submit'); });
		last_name.keypress(		function (e) { if (e.which == 13) $('#search-form').trigger('submit'); });
		email.keypress(			function (e) { if (e.which == 13) $('#search-form').trigger('submit'); });
		
		registry_id.keypress(	function (e) { if (e.which == 13) $('#search-form').trigger('submit'); });
		
		brides_name.keypress(	function (e) { if (e.which == 13) $('#dont-have2').trigger('submit'); });
		grooms_name.keypress(	function (e) { if (e.which == 13) $('#dont-have2').trigger('submit'); });
		wedding_date.keypress(	function (e) { if (e.which == 13) $('#dont-have2').trigger('submit'); });
	}
	
	$('#search-form').submit(function() {
		if ((first_name.val() && last_name.val() /* && (email.val() && isEmail(email.val())) */ )  || (registry_id.val())) {
			$('#search-loader').show();
			$('#submit-search').hide();
		} else {
			if (!first_name.val()) { $("label[for='id_first_name']").addClass('required'); } else { $("label[for='id_first_name']").removeClass('required'); }
			if (!last_name.val()) { $("label[for='id_last_name']").addClass('required'); } else { $("label[for='id_last_name']").removeClass('required'); }
			if (!email.val()) { $("label[for='id_email']").addClass('required'); } else { $("label[for='id_email']").removeClass('required'); }
			//if (!isEmail(email.val())) { $("label[for='id_email']").addClass('required'); } else { $("label[for='id_email']").removeClass('required'); }
			return false;
		}
	});
	$('#dont-have2').submit(function() {
		if (brides_name.val() && grooms_name.val() && wedding_date.val()) {
			$('#submit-create').hide();
			$('#create-loader').show();
		} else {
			if (!brides_name.val()) { $("label[for='id_brides_name']").addClass('required'); } else { $("label[for='id_brides_name']").removeClass('required'); }
			if (!grooms_name.val()) { $("label[for='id_grooms_name']").addClass('required'); } else { $("label[for='id_grooms_name']").removeClass('required'); }
			if (!wedding_date.val()) { $("label[for='id_wedding_date']").addClass('required'); } else { $("label[for='id_wedding_date']").removeClass('required'); }
			return false;
		}
	});
	
	function activeField(field) {
		if (field.val().length) {
			switch (field) {
				case first_name:
				case last_name:
				case email:
					registry_id.attr('disabled','disabled').addClass('disabled');
					brides_name.attr('disabled','disabled').addClass('disabled');
					grooms_name.attr('disabled','disabled').addClass('disabled');
					wedding_date.attr('disabled','disabled').addClass('disabled');
					//$('#submit-create').attr('disabled','disabled');
					break;
				case registry_id:
					first_name.attr('disabled','disabled').addClass('disabled');
					last_name.attr('disabled','disabled').addClass('disabled');
					email.attr('disabled','disabled').addClass('disabled');
					brides_name.attr('disabled','disabled').addClass('disabled');
					grooms_name.attr('disabled','disabled').addClass('disabled');
					wedding_date.attr('disabled','disabled').addClass('disabled');
					//$('#submit-create').attr('disabled','disabled');
					break;
				case brides_name:
				case grooms_name:
				case wedding_date:
					first_name.attr('disabled','disabled').addClass('disabled');
					last_name.attr('disabled','disabled').addClass('disabled');
					email.attr('disabled','disabled').addClass('disabled');
					registry_id.attr('disabled','disabled').addClass('disabled');
					//$('#submit-search').attr('disabled','disabled');
					break;
			}
		} else {
			switch (field) {
				case first_name:
				case last_name:
				case email:
					if (!first_name.val().length && !last_name.val().length && !email.val().length) {
						registry_id.removeAttr('disabled').removeClass('disabled');
						brides_name.removeAttr('disabled').removeClass('disabled');
						grooms_name.removeAttr('disabled').removeClass('disabled');
						wedding_date.removeAttr('disabled').removeClass('disabled');
						//$('#submit-create').removeAttr('disabled');
					}
					break;
				case registry_id:
					first_name.removeAttr('disabled').removeClass('disabled');
					last_name.removeAttr('disabled').removeClass('disabled');
					email.removeAttr('disabled').removeClass('disabled');
					brides_name.removeAttr('disabled').removeClass('disabled');
					grooms_name.removeAttr('disabled').removeClass('disabled');
					wedding_date.removeAttr('disabled').removeClass('disabled');
					//$('#submit-create').removeAttr('disabled');
					break;
				case brides_name:
				case grooms_name:
				case wedding_date:
					if (!brides_name.val().length && !grooms_name.val().length && !wedding_date.val().length) {
						first_name.removeAttr('disabled').removeClass('disabled');
						last_name.removeAttr('disabled').removeClass('disabled');
						email.removeAttr('disabled').removeClass('disabled');
						registry_id.removeAttr('disabled').removeClass('disabled');
						//$('#submit-search').removeAttr('disabled');
					}
					break;
			}
		}
	}
	
	$.each(inputs, function(i,field) {
		field.val('').removeAttr('disabled');
		field.keyup(function(e) { activeField(field); }).blur(function(e) { activeField(field); });
	});
	
	first_name.focus();
	
	/*
	$('#submit-cancel').click(function() {
		if (typeof $.browser != 'undefined') { // jQuery 1.2
			if ($.browser.msie) document.execCommand('Stop'); else window.stop();
		} else { // jQuery 1.3
			if ($.support.noCloneEvent) window.stop(); else document.execCommand('Stop');
		}
		submitButtons('cancel');
		return false;
	});
	*/
	
	$('a#find-my-registry').fancybox({
		'frameWidth'			: 369,
		'frameHeight'			: 298,
		'callbackOnStart' : function() { $.get('/assets/event.php', { section: 'home', action: 'find-my-registry-id' }); },
		'callbackOnShow'		: function() {
			$('#fancy_div #registry-visual').bind('click', function() {
				$('#fancy_outer').css({ 'width': '526px', 'height': '595px' });
				$('#fancy_div #registry-id-msg-2').css({
					'background': "transparent url('/assets/site_images/target_reg_id.jpg') no-repeat",
					'width': '526px', 'height': '595px'
				}).html('');
				$.fn.fancybox.scrollBox();
				return false;
			});
		}
	});
	
	$('#tell-friend a').fancybox({
		'frameWidth'			: 640,
		'frameHeight'			: 372,
		'callbackOnStart' : function() {
			//$.get('/assets/event.php', { section: 'home', action: 'send-to-a-friend' }); 
			pageTracker._trackPageview('/event/?section=home&action=send-to-a-friend');
		},
		'callbackOnShow'		: function() { $.getScript('/assets/share.js'); }
	});
	
	$('#visit-clubwedd').click(function() { pageTracker._trackPageview('/event/?section=home&action=visit-club-wedd'); });
	$('#widget-head a').click(function() { pageTracker._trackPageview('/event/?section=home&action=target-logo'); });
	
});