(function($) {
	$(function(){
		mainInit();

		$('div.active').makeTabs();
	
		/*==Advanced search==*/
		/*=== show more or less ===*/
		var showMoreList = $('#rightcolumn .advancedSearch ul.filter');
		var showMoreList2 = $('#rightcolumn .advancedSearch ul.filter_date');
		var showMoreText = $(showMoreList).siblings('p').children('a');
		var showMoreText2 = $(showMoreList2).siblings('p').children('a');

		//works out whether selected filter is inside the dropdown. If it is then open the dropdown on page load.
		$(showMoreList).children('li').each(function(count){
			if($(this).hasClass('selected')){
				if(count>5)
					$(this).parent().siblings('p').addClass('showless').children('a').text('Fewer sections');
				else
					$(this).parent().siblings('p').addClass('showmore').children('a').text('More sections');
			}
		});
		$(showMoreList2).children('li').each(function(count){
			if($(this).hasClass('selected')){
				if(count>5)
					$(this).parent().siblings('p').addClass('showless').children('a').text('Fewer dates');
				else
					$(this).parent().siblings('p').addClass('showmore').children('a').text('More dates');
			}
		});

		/*hides more than 6 results*/
		$('#rightcolumn .advancedSearch ul.filter_date li:gt(5)').wrapAll('<div class="hidden"></div>');
		$('#rightcolumn .advancedSearch ul.filter li:gt(5)').wrapAll('<div class="hidden"></div>');
		if ($(showMoreText).parent().hasClass('showmore')) { $(showMoreList).children('div.hidden').hide(); }
		if ($(showMoreText2).parent().hasClass('showmore')) { $(showMoreList2).children('div.hidden').hide(); }

		$(showMoreText).click(function(){
		/*if there's a showmore class, hide the more than 6 results in a new div*/
			if ($(this).text('Fewer sections').parent().hasClass('showmore')) {$(this).parent().removeClass('showmore').addClass('showless').siblings('ul.filter').children('div.hidden').slideDown('fast');}
		/*else remove class and allow hiding of extra content*/
			else if ($(this).text('More sections').parent().hasClass('showless')) {$(this).parent().removeClass('showless').addClass('showmore').siblings('ul.filter').children('div:visible').slideUp('fast');}
			return false;
		});
		$(showMoreText2).click(function(){
		/*if there's a showmore class, hide the more than 6 results in a new div*/
			if ($(this).text('Fewer dates').parent().hasClass('showmore')) {$(this).parent().removeClass('showmore').addClass('showless').siblings('ul.filter_date').children('div.hidden').slideDown('fast');}
		/*else remove class and allow hiding of extra content*/
			else if ($(this).text('More dates').parent().hasClass('showless')) {$(this).parent().removeClass('showless').addClass('showmore').siblings('ul.filter_date').children('div:visible').slideUp('fast');}
			return false;
		});

		// Apply PNG fix to the following selectors
		if ($.browser.msie && $.browser.version<7) {
			$.ifixpng.pixel = '/magazine/graphics/pixel.gif';
			$('#logo img[@src$=.png]').ifixpng();
		}

		/* setup focus states on form fields */
		$('#addlinks, #addtags, #mp_direcory_home #content input[type=text], #mp_direcory_home #content select, #content div.formbox input[type=text], #content div.formbox input[type=password], #content div.formbox input[type=file], #content div.formbox textarea, #rightcolumn .formbox .text, #rightcolumn .formbox select, #inform fieldset.informcontent input[type=text], #inform fieldset.informcontent input[type=file], #inform fieldset.informcontent select, #inform fieldset.informcontent textarea, #emailsignup input[type=text], .informcontent table input').css({backgroundColor:'#FFF', color:'#494949'}).focus(function() { $(this).css({backgroundColor:'#FFFFB7', color:'#000'}); }).blur(function() { $(this).css({backgroundColor:'#FFF', color:'#494949'}); });

		//inform text input style
		$('.informcontent table input[type="text"]').css('border','1px solid #1C5180');

		/* Page Tools */
		// Write out print button for users with JS enabled
		$('.page_options ul, .job_options ul, #getListedAmend .options ul').prepend('<li><a href="javascript:window.print()" class="po_print">Print</a></li>');
		$('.paging_results').append('<span class="print"><a href="javascript:window.print()">Print</a></span>');

		$('.refine_search a.refine').click(function() {
			$(this).toggleClass('up');
			$('.refinesearch').toggleClass('hide');
			return false;
		});

		//stops inheriting the height for the auto height
		$('#rightcolumn .active.searches .active_block ul, .searches .filter ul').css('height','auto');

		// Initially disable buttons
		$('#story #comments_form .button, #create_thread .storytext .formbox .button').attr('disabled','disabled').css({cursor:'default', opacity:.5});

		// Toggle button style depending on checkbox state
		$('#story #comments_form .note :checkbox, .uploadAgreement :checkbox, #create_thread .storytext .formbox .note :checkbox').click(function(){
			if(this.checked)
				{
					$('#story #comments_form .button, .uploadAgreement .button, #create_thread .storytext .formbox .button')
						.attr('disabled','')
						.css({
							cursor: 'pointer',
							opacity: '1'
						})
				}
			else
				{
					$('#story #comments_form .button, .uploadAgreement .button, #create_thread .storytext .formbox .button')
						.attr('disabled','disabled')
						.css({
							cursor: 'default',
							opacity: .5
						})
				}
		});

		//feedback button
		$('<div class="feedback_close"><a href="#">Close form overlay</a></div>').appendTo('.feedback_box .inner_sleeve');
		$('.feedback_box .feedback_close').click(function(){ $(this).parents('.feedback_box').remove(); return false;});

		// for my library page
		$('#myLibrary').load(function(){
			var currentQueryString = new Querystring();
			var tab = currentQueryString.get("type","S")
			//Setup everything properly.
			if (tab == 'T')
				$('#MyLibrarySavedDiscussions').click();
			if (tab == 'B')
				$('#MyLibrarySavedBlogs').click();
		});

	});

	function buttonOver() {
		if ($(this).is(':not(.over)')) {
			if ($.browser.msie && $.browser.version<7) $(this).iunfixpng();
			this.src.match(/_over\..../) ? null : this.src = this.src.replace(/\.(...)$/,'_over.$1');
	
			if ($.browser.msie && $.browser.version<7) $(this).ifixpng();
			$(this).addClass('over');
		}
	}

	function buttonOut() {
		if ($(this).is('.over')) {
			if ($.browser.msie && $.browser.version<7) $(this).iunfixpng();
			this.src = this.src.replace(/_over\.(...)$/,'.$1')
	
			if ($.browser.msie && $.browser.version<7) $(this).ifixpng();
			$(this).removeClass('over');
		}
	}

	function mainInit() {
		$('#mainnav').SetupMenu();
	}
})(jQuery);