$(function()
{
	RoundedCorners.init();
	
	$('#col-sup, #col-main, #col-sub').equalizeCols();
		
	var $container_group = '';
	
	var $items = $('div.listing ul.two-col li');
	
	// Make every pair of li's the same height
	$items.each(function(i)
	{
		var $container = $(this);
		
		if ($container_group == '')
		{
			$container_group = $container;
		}
		else
		{
			$container_group = $container_group.add($container);
		}
				
		if (i+1 % 2 == 2 || $items.size() == (i +1))
		{		
			$container_group.equalizeCols();			

			$container_group = '';
		}
	});
		
	Search.init();
	
	//Slideshow.init();
	
	Reg.init();
	
	Profile.init();
	
	Archive.init();
	
	$('form label').not('#member-form form label').labelAsValue();
	
	//$('div.thumb-listing li').bubble();
	
	$('form.validate').input_helper();
});

var RoundedCorners =
{
	init:function()
	{
		var $images = $('img');

		$images.each(function()
		{
			var $this = $(this);
			var width = $this.width();
			var height = $this.height();
			
			var dimensions = width + 'x' + height;
			
			if (
				dimensions == '70x70' ||
				dimensions == '150x150' ||
				dimensions == '228x220' ||
				dimensions == '460x255'
			)
			{
				img_class = 's' + dimensions;

				var new_markup = '<span class="img ' + img_class + '" />';

				$(this).wrap(new_markup).parent('span').prepend('<span></span>');
			}			
		});
	}
};

var Archive =
{
	init:function()
	{
		var $container = $('#archive .inner >ul');
		
		$container.find('ul').hide();
		
		$container.find('a').toggle(function()
		{
			$(this).parent('li').addClass('open').end().next('ul').show();
			return false;
		},
		function()
		{
			$(this).parent('li').removeClass('open').end().next('ul').hide();
			return false;
		});
	}
};

var Profile =
{
	init:function()
	{		
		this.init_status_form();
	},
	
	init_status_form:function()
	{
		$('a.update-status').click(function()
		{
			var $form = $('#form-status');
			
			$form.fadeIn('fast').find('p.close a').click(function()
			{
				$form.hide();
				return false;
			});
			
			return false;
		});
	}
};

var Reg =
{
	init:function()
	{
		var $join = $('#member-form');
		
		if ( ! $join.size())
		{
			return false;
		}
		
		this.toggle_fs();
		//this.init_nav();
	},
	
	init_nav:function()
	{		
		var $sections = $('#member-form div.section');
		
		var $nav_links = $('ul.nav a');
		
		$nav_links.filter(':first').parent('li').addClass('sel');
		
		$sections.hide().filter(':first').show();
		
		$nav_links.click(function()
		{
			var $this = $(this);
			
			$nav_links.parent('li').removeClass('sel');
			
			$this.parent('li').addClass('sel');
			
			var target = $this.attr('href');
			
			$sections.hide();
			
			$sections.filter(target).show();
			
			return false;
		});
	},
	
	toggle_fs:function()
	{
		var $links = $('p.toggle a');
		
		$links.each(function()
		{
			var $link = $(this);
			
			var $target = $link.parents('p').next('div');
			
			$target.hide();
			
			if (! $target.size())
			{
				return false;
			}
			
			$link.toggle(function()
			{
				$target.fadeIn('normal');
				return false;
			},
			function()
			{
				$target.fadeOut('fast');
				return false;
			});	
		});
	}
};

var Search =
{
	init:function()
	{
		var $search = $('#search');
		
		if ( ! $search.size())
		{
			return false;
		}
		
		var $adv_search = $search.find('fieldset.advanced');
		
		$search.find('p.go-on a').toggle(function()
		{
			$adv_search.fadeIn();
			$(this).find('span').text('Enkel sök');
			return false;
		},
		function()
		{
			$adv_search.hide();
			$(this).find('span').text('Avancerad sök');
			return false;
		});
		
		$adv_search.find('p').click(function()
		{
			$(this).addClass('sel').parents('fieldset').find('p').not($(this)).removeClass('sel');
		});
	}
};

var Slideshow =
{
	init:function()
	{
		$('#slideshow #slides').before('<ul id="nav-slides" class="prev-next"><li class="prev"><a href="#">Prev</a></li><li class="next"><a href="#">Next</a></li></ul>')
		.cycle(
		{ 
		    fx:     'fade', 
		    prev:   '#slideshow .prev', 
		    next:   '#slideshow .next',
			after: 	Slideshow.onAfter,
		    timeout: 0 
		});
		
		// Modern browser doesn't really need this. They use the very elegant css3 selector: div.slide:not(:first-child)
		// Supersucky browsers like IE dont know what the hell that means and uses this below as fallback
			
		$('#slideshow #slide').not(':eq(0)').hide();
	},
	
	// Toggles nav btns if current slide is first or last
	onAfter:function(curr, next, opts)
	{
	    var index = opts.currSlide;
	    $('#slideshow .prev')[index == 0 ? 'hide' : 'show']();
	    $('#slideshow .next')[index == opts.slideCount - 1 ? 'hide' : 'show']();
	}
}