/************************************************/
/***      lightbox starts here			     ***/
function closeLightbox() {
	if($.browser.msie){
		$('#lightbox-wrapper').hide();
		$('#blanket').hide();
	} else {
		$('#lightbox-wrapper').fadeOut();
		$('#blanket').fadeOut();
	}
	
	return false;
}

function showLightbox() {
	$('#blanket').css('height', Math.max($('body').height() + 20, document.documentElement.clientHeight) + 'px');

	// window dimensions
	var windowWidth = document.documentElement.clientWidth;
	var windowHeight = document.documentElement.clientHeight;
		
	// set position
	$("#lightbox-wrapper").css({  
		"top": windowHeight/2 - 280 + document.documentElement.scrollTop,
		"left": windowWidth/2 - 450,
		"z-index": 1000
	});
	
	$('#lightbox-wrapper').css('left', (document.documentElement.clientWidth / 2 - 307) + 'px');
	
	if($.browser.msie){
		$('#blanket').show();
		$('#lightbox-wrapper').show(300, function() {
			$('#fname').focus();	
		});
	} else {
		$('#blanket').fadeIn();
		$('#lightbox-wrapper').fadeIn(300, function() {
			$('#fname').focus();
		});
	}

	return false;
}

/***      lightbox ends here			      ***/
/************************************************/



/************************************************/
/***      checkbox + radio starts here        ***/
/*
 * Replace generic radio and checkbox elements
 * with images.
 *
 */
// checkbox replacements
$(function() {
	$(":checkbox").click(function() {
		if ($(this).attr("checked")) {
			$("label[for=" + $(this).attr("id") + "]").addClass("active");
		} else {
			$("label[for=" + $(this).attr("id") + "]").removeClass("active");
		}
	});
	$(":checkbox,:radio").focus(function() {
		$("label[for=" + $(this).attr("id") + "]").addClass("focus");
	});
	$(":checkbox,:radio").blur(function() {
		$("label[for=" + $(this).attr("id") + "]").removeClass("focus");
	});
	$("label.input-radio").mousedown(function() {
		var name = $("#" + $(this).attr("for")).attr("name");
		$(":radio[name=" + name + "]").each(function() {
			$("label[for=" + $(this).attr("id") + "]").removeClass("active");
		});

		return true;
	});
	$(":radio").click(function() {
		$(":radio[name=" + $(this).attr("name") + "]").each(function() {
			$("label[for=" + $(this).attr("id") + "]").removeClass("active");
		});

		$("label[for=" + $(this).attr("id") + "]").addClass("active");
	});
});
/***      checkbox + radio ends here          ***/
/************************************************/


/************************************************/
/***     form processing starts here          ***/
function displayError(elem, error, msg) {
	var dd = $(elem).parent("dd");

	dd.removeClass("loading");
	if (error) {
		dd.addClass("error");
		if (msg != null) {
			var span = dd.find("span.error");
			if (span.length) {
				span.html(msg);
			} else {
				dd.append('<span class="error">' + msg + '</span>');
			}

			dd.find("span.error").show();
			dd.find("span.info").hide();
		}
	} else {
		dd.find("span.error").hide();
		dd.find("span.info").show();
		dd.removeClass("error");
	}
}

function processForm() {
	var error = false;
	if ($.trim($('#fname').val()) == '') {
		displayError($('#fname'), true, 'First Name is required');
		error = true;
	} else {
		displayError($('#fname'), false);
	}
	if ($.trim($('#lname').val()) == '') {
		displayError($('#lname'), true, 'Last Name is required');
		error = true;
	} else {
		displayError($('#lname'), false);
	}
	if ($.trim($('#email').val()) == '') {
		displayError($('#email'), true, 'Email is required');
		displayError($('#vemail'), true);
		error = true;
	} else if ($('#email').val() != $('#vemail').val()) {
		displayError($('#email'), true, 'Emails did not match');
		displayError($('#vemail'), true);
		error = true;
	} else {
		var pattern = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,5})+$/;

		if (!pattern.test($('#email').val())) {
			displayError($('#email'), true, 'Email address is not valid');
			displayError($('#vemail'), true);
		} else {
			displayError($('#email'), false);
			displayError($('#vemail'), false);
		}
	}
	if ($('#province').val() == "" || $('#provider').val() == "") {
		displayError($('#province'), true, 'Province and Service Provider are required');
		displayError($('#provider'), true);
		error = true;
	} else {
		displayError($('#province'), false);
		displayError($('#provider'), false);
	}

	$('#hidden_province').val($('#province :selected').text());

	if (!error) {
		$('#formError').hide();

		//$.post($('#processTheForm').attr("action"), $('#processTheForm').serialize(), '/scripts/saveNewsletter.php', 'json');
		$.post(
			'/join/services/saveNewsletter.php', 
			$('#processTheForm').serialize(), 
			'', 
			'json'
		);
		
		/*Tracking.trackNewsletterSignup();
		Tracking.paidSearchConversionTracking('newsletter');*/
		
		$('#join-form').slideUp(400, function() {
			$('#thanks-form').slideDown(300);
			window.setTimeout('hideThanks()', 3000);
		});
	} else {
		$('#formError').show();
	}

	return false;
}

function hideThanks() {
	closeLightbox();
}

