// A few fields
var userFieldDefault = "name@email.com";
var passFieldDefault = "password";
(function() {
	// Prepare the page
	$(document).ready(function() {
		showSplash();
		augmentLoginForm();
		augmentNavigation();
		augmentOnCampus();
		augmentRegistrationForm();
	});
	
	/**
	 * showSplash
	 * Provides the ability to show a poster over the top of a page..
	 * bit intrusive but effective.
	 */
	function showSplash() {
		$('a.splash').lightBox({
			overlayOpacity: 0.7,
			imageLoading: 'imgs/design/lightbox-ico-loading.gif',
			imageBtnClose: 'imgs/design/lightbox-btn-close.gif',
			imageBtnPrev: 'imgs/design/lightbox-btn-prev.gif',
			imageBtnNext: 'imgs/design/lightbox-btn-next.gif'
   		});
		$('a.splash').click();
	}
	
	/**
	  * augmentLoginForm
	  * For the top-right login form, add some default text
	  * to the fields that clears on focus.
	  */
	function augmentLoginForm() {
		if($('#loginForm').size() > 0) {
		
			// Username field
			$('#usernameTxt').val(userFieldDefault);
			$('#usernameTxt').focus(function() {
				if($('#usernameTxt').val() == userFieldDefault) {
					$('#usernameTxt').val("");
				}
			});
			$('#usernameTxt').blur(function() {
				if($('#usernameTxt').val() == "") {
					$('#usernameTxt').val(userFieldDefault);
				}
			});
			
			// Password field
			$('#passwordTxt').val(passFieldDefault);
			$('#passwordTxt').focus(function() {
				if($('#passwordTxt').val() == passFieldDefault) {
					$('#passwordTxt').val("");
				}
			});
			$('#passwordTxt').blur(function() {
				if($('#passwordTxt').val() == "") {
					$('#passwordTxt').val(passFieldDefault);
				}
			});
		}
	}
	
	/**
	  * augmentNavigation
	  * For the main, left hand menu, add some mouse over
	  * effect, to make it clear to the user they are links.
	  */
	function augmentNavigation() {
		$('#navigation > ul').children('li').each(function() {
			$(this).children('a:not(:active)').hover(
				function() {
					$(this).addClass('over');
				},
				function() {
					$(this).removeClass('over');
				}
			);
		});
	}
	
	/**
	 * augmentOnCampus
	 * Since onCampus rarely works, provide instructions to
	 * the user
	 */
	function augmentOnCampus() {
		$('#onCampus').click(function() {return false;});
		
		$('#onCampus').qtip({
		   content: 'To join us, go to <a href="http://kent-umt.oncampus.net/ocsn/login.page">onCampus</a>, login or register, and go to <strong>Groups &raquo; Discover Groups</strong> on the top menu. Search for "Live Music". Click to join, and pay your &pound;3.<br><br>You can also sign up in the Mandela Building, behind the Venue at UKC.',
		   show: 'click',
		   hide: {
				delay: 10000
		   },
		   position: {
				corner: {
					target: 'rightMiddle',
					tooltip: 'leftMiddle'
				}
		   },
		   style: {
				name: 'blue',
				tip: 'leftMiddle'
		   }
		});
	}
	
	/**
	 * augmentRegistrationForm
	 * Add on some hints and such to the reg form
	 */
	function augmentRegistrationForm() {
		
		// First stage registration form
		if($('#register').size() > 0) {
			$('#email').qtip({
			   content: 'We will not give out your email address without your permission.',
			   show: 'focus',
			   hide: 'blur',
			   position: {
					corner: {
						target: 'rightMiddle',
						tooltip: 'leftMiddle'
					}
			   },
			   style: {
					name: 'cream',
					tip: 'leftMiddle'
			   }
			});
			
			$('#password').qtip({
			   content: 'Try to pick a password with numbers and letters in it.',
			   show: 'focus',
			   hide: 'blur',
			   position: {
					corner: {
						target: 'rightMiddle',
						tooltip: 'leftMiddle'
					}
			   },
			   style: {
					name: 'cream',
					tip: 'leftMiddle'
			   }
			});
			
			$('#confirm').qtip({
			   content: 'This step confirms you are not a robot.',
			   show: 'focus',
			   hide: 'blur',
			   position: {
					corner: {
						target: 'rightMiddle',
						tooltip: 'leftMiddle'
					}
			   },
			   style: {
					name: 'cream',
					tip: 'leftMiddle'
			   }
			});
		}
		
		// Second stage registration form
		if($('#register-details').size() > 0) {
			$('#mobile').qtip({
			   content: 'Please only provide your mobile number if you do not mind people contacting you on it!',
			   show: 'focus',
			   hide: 'blur',
			   position: {
					corner: {
						target: 'rightMiddle',
						tooltip: 'leftMiddle'
					}
			   },
			   style: {
					name: 'cream',
					tip: 'leftMiddle'
			   }
			});
			
			$('#site').qtip({
			   content: 'Provide a full address, including <strong>http://www.</strong>',
			   show: 'focus',
			   hide: 'blur',
			   position: {
					corner: {
						target: 'rightMiddle',
						tooltip: 'leftMiddle'
					}
			   },
			   style: {
					name: 'cream',
					tip: 'leftMiddle'
			   }
			});
			
			$('#bio').focus(function() {
				$(this).val('');
			});
		}
	}
	
	/**
	 * facebookOnLogin
	 * Called when FB Connect has succeeded. 
	 */
	function facebookOnLogin() {
		//document.fb-register.fbemail.value = '';
		//document.fb-register.submit();
	}
})();
