var JoggerHome = {

	start : function() {
		if (Jogger.userLogged) {
			this.enhanceQtools();
		} 
		
		if (document.body.id == 'frontpage') {
			this.enhanceEntries();
			this.minorTweaks();
		}
		
		if (!Jogger.userLogged) {
			this.enhanceLogin();
		}
	},	

	enhanceLogin: function() {

		var newFieldset = '<fieldset><legend>' + l18n.loginMethodLegend +'</legend>' +
		'<div class="grid"><label>' + l18n.loginMethod + ':</label><div class="fields multi">' +
		'<label id="loginJabber" for="loginJabberInput">' +
		'<input name="loginType" id="loginJabberInput" type="radio" />JabberID</label>' +
		'<label id="loginOpenID" for="loginOpenIDInput">' +
		'<input name="loginType" id="loginOpenIDInput" type="radio" />OpenID</label>' +
		'</div></div></fieldset>';

		var moreLink = '<fieldset id="fieldsetMoreLink"><div class="indent"><div class="fields switcher"><a id="loginMoreOptions" href="#">' +
		+ l18n.loginMoreOptions + '&raquo;</a></div></div></fieldset>';

		var login = $('#loginForm').add('.sidebar p.section:first');

		$('#loginForm').addClass('js').prepend(newFieldset)
			.find('fieldset')
				.slice(1,2).attr('id', 'fieldsetJabber').end()
				.slice(2,3).attr('id', 'fieldsetOpenID').end()
				.slice(3,4).attr('id', 'fieldsetOptions');

		$('#loginJabberInput').bind('click', function() {
			if (this.checked) {
				$('#fieldsetOpenID').hide().find('input').val('');
				$('#fieldsetJabber').fadeIn('fast', function() {
					$(this).find('input:first').focus()
				});
			}
		});

		$('#loginOpenIDInput').bind('click', function() {
			if (this.checked) {
				$('#fieldsetJabber').hide().find('input').val('');
				$('#fieldsetOpenID').fadeIn('fast', function() {
					$(this).find('input:first').focus()
				});
			}
		});

		$('#loginJabberInput').attr('checked', 'checked').click();
		$('#fieldsetOptions').before(moreLink);
		$('#loginMoreOptions').html(l18n.loginMoreOptions + ' &raquo;');
		$('#fieldsetOptions').hide();

		$('#loginMoreOptions').toggle(function() {
			$('#fieldsetOptions').fadeIn('fast', function() {
				$('#loginMoreOptions').html(l18n.loginLessOptions + ' &laquo;')
			});
		}, function() {
			$('#fieldsetOptions').fadeOut('fast', function() {
				$('#loginMoreOptions').html(l18n.loginMoreOptions + ' &raquo;');
			});
		});
		
		if (document.body.id == 'frontpage') {

			$('li.login a').bind('click', function(e) {
				if (login.css('display') == 'none') {
					login.show();
					var loginStart = $('.sidebar p.section:first');
					loginStart.attr('id', 'signIn')
					$.scrollTo(loginStart, {				
						speed: 400,
						onAfter: function() {
							document.location.hash = 'signIn';
						}
					});
				} else {
					login.hide();
				}
				e.preventDefault();
			});
			
		}

		login.not('.standalone').hide();
	},

	enhanceEntries: function() {
		var entries = $('div.entry');
		$.each(entries, function(i) {
			var next = i + 1;
			if (next != entries.size()) {
				$(this).find('a.next').bind('click', function(e) {
					var url = this.href;
					$.scrollTo($(entries).eq(next), {
						speed: 400,
						onAfter: function() {
							document.location.href = url;
						}
					});					
					e.preventDefault();
				});
			}
		});
	},
	
	minorTweaks: function() {
		$('#footer p a').bind('click', function(e) {
			var url = this.href;
			var $top = $('#top'), once;
			$.scrollTo($top, {
				speed: 400,
				onAfter: function() {
					document.location.href = url;
				}
			})
			e.preventDefault();
		});
	},

	enhanceQtools: function() {
		var nt = $('#intro');
		//extra div for IE6 inconvenience
		var div = document.createElement('div');
		var toggle = document.createElement('a');
		$(toggle)
			.attr({ id: 'quicktoggle', href: '#' })
			.text(l18n.quickToggle)
			.toggle(function() {
				nt.toggleClass('minimized');
				nt.toggleClass('maximized');
				$.cookie('quicktools', nt.slice(0,1).attr('class'), { expires: 365 });
			}, function() {
				nt.toggleClass('maximized');
				nt.toggleClass('minimized');
				$.cookie('quicktools', nt.slice(0,1).attr('class'), { expires: 365 });
			});
		div.appendChild(toggle);
		nt.prepend(div);
	}

}