(function($) {
	var current_page = 1;
	
	$.extend({
		settings: {
			slideDelay: 4000,
			actions: {
				newsletter: theme_url + '/act/subscribe.php'
			}
		}
	});
	$.fn.extend({
		labelize: function() {
			return $(this).each(function() {
				$input = $(this);
				
				var label = $('label[for="' + $input.attr('id') + '"]');
				var labelvalue = label.text();
				
				
				label.remove();
				
				$input.blur(function() {
					if($input.val().length == 0)
						$input.val(labelvalue);
				}).trigger('blur');
				
				$input.focus(function() {
					if($input.val() == labelvalue)
						$input.val('');
				});
			});
		},
		
		replace_gravatar: function() {
			return $(this).each(function() {
				
			});
		}
	});
	
	function replaceGravatar() {
		/*var rep = $('.replace_gravatar');
		if(rep.length > 0) {
			rep = rep.eq(0);
		} else {
			return;
		}
		
		$.ajax({
			url: rep.attr('rel'),
			dataType: 'image',
			success: function(response) {
				rep.replaceWith(response);
			},
			error: function() {
				rep.remove();
			},
			complete: replaceGravatar
		});*/
	}
	
	function guestblogslideshow() {
		$gb = $('#header .guestblog');
		$postsdiv = $gb.find('.posts');
		$posts = $postsdiv.find('.blog');
		$nav = $gb.find('.navigation');
		var curpost = 0;
		var interval;
		
		function slide() {
			if(curpost >= $posts.length-1) {
				curpost = 0;
				var speed = ($posts.length-1)*200;
			} else {
				curpost++;
				var speed = 400;
			}
			
			$nav.find('.current').text(curpost+1);
			//var top = (((($postsdiv.height()) + 23.5) * curpost) -20)*-1;
			var top = ((($posts.outerHeight()) * curpost)) *-1;
			$postsdiv.stop(true,false).animate({
				'top': top
			}, speed, 'easeOutQuad');
		}
		
		$nav.click(function(e) {
			e.preventDefault();
			clearInterval(interval);
			slide();
		});
		
		interval = setInterval(function() {
			slide();
		}, $.settings.slideDelay);
	}
	
	function getEvents(url, data, callback) {
		$('#content .posts').height($('#content .posts').height());
		$('#content .posts').html('<div class="loader"></div>');
		
		$.get(url, data, function(response) {
			if(callback) callback();
			$('#content .posts').html(response);
			$('#content .posts').height('auto');
		});
	}
	
	function check_hash_for_paging() {
		var pageid = /#page=([0-9]+)/.exec(window.location.hash);
		
		if(pageid && current_page != pageid[1]) {
			pageid = pageid[1];
			getEvents('?page='+pageid+'&ajax=get_events');
		}
	}
	
	$(function() {
		$('.filters .filter').click(function(e) {
			e.preventDefault();
			var $btn = $(this);
			$btn.toggleClass('active');
			
			if($btn.hasClass('active')) {
				var href = 'enable_filter';
			} else {
				var href = 'disable_filter';
			}
			var url = '?'+href+'='+$(this).find('.tilte').text()+'&ajax=get_events';
			
			getEvents(url, null, function() {
				window.location.hash = 'page=1';
			});
		});
		
		$('.home .paging ul a').live('click',function(e) {
			e.preventDefault();
			$pagelink = $(this);
			
			
			setTimeout(function() { $(window).scrollTop($('#content').offset().top) }, 20);
			
			getEvents($pagelink.attr('href')+'&ajax=get_events', null, function() {
				window.location.hash = $pagelink.attr('href').split('?')[1];
			});
		});
		
		$('#newsletter form').find('.status_message').hide();
		
		$('#newsletter form').submit(function(e) {
			e.preventDefault();
			$form = $(this);
			
			$.ajax({
				url: $.settings.actions.newsletter,
				dataType: 'json',
				data: $('#newsletter_input'),
				success: function(d) {
					if(d.success) {
						$form.find('.status_message').text(d.message).hide().fadeIn();
						$form.find('input').hide();
					} else {
						$form.find('.status_message').text(d.message).hide().fadeIn();
					}
				},
				error: function() {
					alert('Noe gikk galt ved registrering av epostadresse. Vennligst prøv igjen');
				}
			});
		});
		
		
		$.expr[':'].external = function(obj){
			return ;
			
		/*
			return !obj.href.match(/^mailto\:/)
			&& (obj.hostname != location.hostname);
			*/
		};
		
		$('a').live('click',function(e) {
			if(!this.href.match(/^https?\:\/\/(.*)?petterstordalen./) && this.href!='') {
				e.preventDefault();
				window.open($(this).attr('href'));
			}
		});

		
		// RSS FEED
		$('.rss_feed .show_feed').click(function(e) {
			e.preventDefault();
			$(this).parent().find('ul').hide().fadeIn();
		});
		
		$('.rss_feed ul').hide();
		
		$('blockquote').prepend('<p class="quotation">“</p>');
		
		$('#newsletter_input').labelize();
		
		replaceGravatar();
		
		//$.get('http://petterstordalen.gapt.no/wp-content/themes/pettersblogg/js/get_gravatar.php?url=http://www.gravatar.com/avatar/e95f7d3fe3ec40c29d3eaedf721d70af?size=32&d=404');
		
		check_hash_for_paging();
		
		guestblogslideshow();
	});
})(jQuery);
