(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY;};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev]);}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev]);};var handleHover=function(e){var p=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(p&&p!=this){try{p=p.parentNode;}catch(e){p=this;}}if(p==this){return false;}var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);}if(e.type=="mouseover"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob);},cfg.timeout);}}};return this.mouseover(handleHover).mouseout(handleHover);};})(jQuery);
/*End*/ 
function hoverIntentOver() {
	$(this).addClass('hover');
	//$('.breadcrumbs').hide();
	$(this).find('.navPanel').show();
}

function hoverIntentOut() {
	$(this).removeClass('hover');
	//$('.breadcrumbs').show();
	$(this).find('.navPanel').hide();
}
if ( !window.EnjoyEngland ) EnjoyEngland = {};

// retrieve assets path
(function() {
var scriptSrcs = document.getElementsByTagName( 'script' );
EnjoyEngland.path = '';
for ( var x = 0; x < scriptSrcs.length; x++ ) if ( scriptSrcs[x].src && ( EnjoyEngland.path = scriptSrcs[x].src.match( /(.+?)\/js\/base.js$/ ) ) ) break;
if ( EnjoyEngland.path ) document.write( '<link rel="stylesheet" type="text/css" href="' + EnjoyEngland.path[1] + '/css/base.js.css">' );
else return;
EnjoyEngland.path = EnjoyEngland.path[1]; })();

// Cookies
EnjoyEngland.Cookies =
{
	name:'EnjoyEngland_Base',
	days: null,

	read: function( property )
	{
		var cookie = jQuery.cookie( EnjoyEngland.Cookies.name );

		if ( cookie ) cookie = jQuery.evalJSON( cookie );
		else return null;

		if ( cookie[ property] ) return cookie[ property];
		else return null;
	},
	
	write: function( property, value )
	{
		var cookie = jQuery.cookie( EnjoyEngland.Cookies.name );

		if ( cookie ) cookie = jQuery.evalJSON( cookie );
		else cookie = {  };

		cookie[ property ] = value;

		jQuery.cookie( EnjoyEngland.Cookies.name, jQuery.toJSON( cookie ), { expires:EnjoyEngland.Cookies.days, path:'/' } );
	},

	remove: function( property )
	{
		var cookie = jQuery.cookie( EnjoyEngland.Cookies.name );

		if ( cookie ) cookie = jQuery.evalJSON( cookie );
		else cookie = {  };

		if ( cookie[ property ] ) delete cookie[ property ];

		cookie = jQuery.toJSON( cookie );
		if ( cookie == '{}' ) cookie = null;

		jQuery.cookie( EnjoyEngland.Cookies.name, cookie, { expires:EnjoyEngland.Cookies.days, path:'/' } );
	}
};

// Carousel
EnjoyEngland.Carousel =
{
	/* private */
	loaded: false,
	jsReady: true,
	swfReady: false,
	carouselDOMNode: null,
	carouselWrapperDOMNode: null,
	map: null,
	mapContainer: null,
	culture: null,
	mapStyle: null,

	/* public */
	carouselWrapperDOMNode_ID: 'Carousel',
	mapPinURL: EnjoyEngland.path + '/images/icons/' + 'carousel-map-pin.png' ,

	setup: function()
	{
		EnjoyEngland.Carousel.loaded = true;
	},
	
	docOnloadTest: function()
	{
		return EnjoyEngland.Carousel.loaded;
	},

	isReady: function()
	{
		return EnjoyEngland.Carousel.jsReady;
	},

	setSWFIsReady: function( carouselDOMNodeRef )
	{
		//Leave as empty shell as it is called when Carousel SWF is registered with SWFObject/
		//Code that was here moved to setup()
	},

	shareLink: function( address, text_x_centre, text_top_y )
	{ 
		var shareJQObj = $( '#ShareThisCarousel' );
		var marginBottom  = 5;
//	shareJQObj.css( { left: parseInt(text_x_centre + (shareJQObj.width() / 6) ) + "px", top: parseInt( text_top_y - marginBottom - shareJQObj.height() ) + 'px' } );
		shareJQObj.css( { left: parseInt(text_x_centre + (shareJQObj.width() / 6) ) + "px", top: parseInt( text_top_y - marginBottom - 16 ) + 'px' } );
		shareJQObj.show();
	},

	closeShare: function()
	{
		$( '#ShareThisCarousel' ).hide();
	},

	newCarouselItemLoaded: function()
	{
		EnjoyEngland.Carousel.closeShare();
	},

	getURL: function(){
		return document.location.toString();
	},
	
	initMap:function(lat, lon, zoom, map_top, map_left, map_width, map_height)
	{
		alert('EnjoyEngland.Carousel.initMap needed after all...');
	},

	openMap: function( lat, lon, zoom, localised_explore_the_map, localised_close, map_top, map_left, map_width, map_height )
	{
		// no args sent so this is a sniff from flash		
		if ( arguments.length == 0 ) return true;
		
		EnjoyEngland.Carousel.closeShare();
		EnjoyEngland.Carousel.closeMap();
		
		var carouselMapClass = '';
		
		if ($('.columnA #Carousel').length > 0) {
			carouselMapClass = 'carousel-medium-main';
		}else if ($('#Carousel.moduleCarousel-medium').length > 0) {
			carouselMapClass = 'carousel-medium-right';
		}else{
			carouselMapClass = 'carousel-wide';
		}	
			
//		= $('#Carousel').hasClass('moduleCarousel-medium') ? 'carousel-medium' : 'carousel-wide';
		
		EnjoyEngland.Maps.BMap.getMap({
			idMapDiv: 'Carousel',
			//idMapDiv: 'content',
			mapClass: carouselMapClass,
			width: map_width,
			height: map_height,
			mapCenter:{
				latitude: lat,
				longitude: lon 
			},
			mapZoom: zoom,
			mapStyle: 'Shaded',
			onloadFunction: null,
			markers: 
			{
				carouselPin:
				{
					pinOnly: true,
					coordinates:{
						latitude: lat,
						longitude: lon
					},
					category:'ideas' //use same pin as ideas
				}
			}
		});

		if ( EnjoyEngland.Carousel.mapContainer && EnjoyEngland.Carousel.mapContainer.length ) EnjoyEngland.Carousel.mapContainer.show();
	},

	closeMap: function()
	{
		EnjoyEngland.Maps.BMap.unload();
		if ( EnjoyEngland.Carousel.mapContainer && EnjoyEngland.Carousel.mapContainer.length ) EnjoyEngland.Carousel.mapContainer.hide();
	}

};

$( document ).ready( EnjoyEngland.Carousel.setup );

EnjoyEngland.InspireMe =
{
	url: '',
	link:null,
	
	setup: function()
	{
		EnjoyEngland.InspireMe.link = $( '#inspiratorPopup' );
		var url = EnjoyEngland.InspireMe.link.length ? EnjoyEngland.InspireMe.link[0].className.match( /inspiratorPopup-([^\s]+)/ ) : null;
		
		if ( url ) 
		{
			EnjoyEngland.InspireMe.url = url[1];
			EnjoyEngland.InspireMe.link.bind( 'click', EnjoyEngland.InspireMe.open );
		}
	},
	
	open: function(e)
	{
		var url = EnjoyEngland.InspireMe.link[0].className.match( /inspiratorPopup-([^\s]+)/ );
		 $(window.location).attr('href', EnjoyEngland.InspireMe.url);
		 return false;
	}
};
$( document ).ready( EnjoyEngland.InspireMe.setup );

EnjoyEngland.DestinationFinder =
{
	url: '',
	link:null,
	
	setup: function()
	{
		EnjoyEngland.DestinationFinder.link = $( '#destinationFinderPopup' );
		var url = EnjoyEngland.DestinationFinder.link.length ? EnjoyEngland.DestinationFinder.link[0].className.match( /destinationFinderPopup-([^\s]+)/ ) : null;
		
		if ( url ) 
		{
			EnjoyEngland.DestinationFinder.url = url[1];
			EnjoyEngland.DestinationFinder.link.bind( 'click', EnjoyEngland.DestinationFinder.open );
		}
	},
	
	open: function(e)
	{
		var url = EnjoyEngland.DestinationFinder.link[0].className.match( /destinationFinderPopup-([^\s]+)/ );
		 $(window.location).attr('href', EnjoyEngland.DestinationFinder.url);
		 return false;
	}
};

$( document ).ready( EnjoyEngland.DestinationFinder.setup );

EnjoyEngland.DestinationFinderMapIdea =
{
	url: '',
	link:null,
	
	setup: function()
	{
		EnjoyEngland.DestinationFinderMapIdea.link = $( '#destinationFinderMapIdea' );
		var url = EnjoyEngland.DestinationFinderMapIdea.link.length ? EnjoyEngland.DestinationFinderMapIdea.link[0].className.match( /destinationFinderMapIdea-([^\s]+)/ ) : null;
		
		if ( url ) 
		{
			EnjoyEngland.DestinationFinderMapIdea.url = url[1];
			EnjoyEngland.DestinationFinderMapIdea.link.bind( 'click', EnjoyEngland.DestinationFinderMapIdea.open );
		}
	},
	
	open: function(e)
	{
		var url = EnjoyEngland.DestinationFinderMapIdea.link[0].className.match( /DestinationFinderMapIdea-([^\s]+)/ );
		 $(window.location).attr('href', EnjoyEngland.DestinationFinderMapIdea.url);
		 return false;
	}
};

$( document ).ready( EnjoyEngland.DestinationFinderMapIdea.setup );

// Newsletter Subscription Link
EnjoyEngland.Newsletter =
{
	link: null,
	hide: null,
	url: '',

	setup: function()
	{
		EnjoyEngland.Newsletter.link = $( '#newsletterClick' );
		var url = EnjoyEngland.Newsletter.link.length ? EnjoyEngland.Newsletter.link[0].className.match( /newsletter-url-([^\s]+)/ ) : null;
		
		if ( url )
		{
			EnjoyEngland.Newsletter.url = url[1];
		
			EnjoyEngland.Newsletter.link.bind( 'click', EnjoyEngland.Newsletter.open );
			
		}
	},

	open: function(e)
	{
		EnjoyEngland.Newsletter.link = $( '#newsletterClick' );
		var url = EnjoyEngland.Newsletter.link[0].className.match( /newsletter-url-([^\s]+)/ );
		//var title = $( this ).text();

		// load the content
		var newsletterPopUpState = $('.moduleNewsletterLightbox').length;
		if (newsletterPopUpState === 0) {	
				jQuery.ajax( { dataType:'html', success:EnjoyEngland.Newsletter.loadedNewsletterPopup, type:'GET', url:url[1] } );
		}
		else {
			$('.moduleNewsletterLightbox').remove();
			jQuery.ajax( { dataType:'html', success:EnjoyEngland.Newsletter.loadedNewsletterPopup, type:'GET', url:url[1] } );
			//$('.moduleNewsletterLightbox').slideDown('fast');
		}
		EnjoyEngland.Modal.showModal('complete');
		
		e.preventDefault();
	},

	loadedNewsletterPopup: function( html )
	{
		
		$('#newsletterSignUp').prepend(html);
		//$('.moduleNewsletterLightbox').slideDown('fast');	
		$('.moduleNewsletterLightbox').show();	
		EnjoyEngland.Forms.setup();
		EnjoyEngland.Newsletter.hide = $( '.moduleNewsletterLightbox a.icon' );	
		EnjoyEngland.Newsletter.hide.bind( 'click', EnjoyEngland.Newsletter.close );		
	},
	
	close: function(e)
	{
		$(".moduleNewsletterLightbox").slideUp("fast");
		EnjoyEngland.Modal.hideModal();
		e.preventDefault();
	},	
	submissionFeedback: function( html )
	{
		$('#moduleNewsletterContent').empty().append( html );
		Cufon.replace(['.moduleNewsletterThanks span'], {hover: false});
		EnjoyEngland.Newsletter.hide = $( '.moduleNewsletterLightbox a.icon' );	
		EnjoyEngland.Newsletter.hide.bind( 'click', EnjoyEngland.Newsletter.close );		
	}
};
$( document ).ready( EnjoyEngland.Newsletter.setup );


//Country Language Selection Link
EnjoyEngland.LanguageCountrySelector =
{
	languagelink: null,
	countrylink: null,
	oldCPanel:null,
	currentLanguage:null,
	url: '',

	setup: function()
	{
		EnjoyEngland.LanguageCountrySelector.languagelink = $( '#currentLanguage' );
		var url = EnjoyEngland.LanguageCountrySelector.languagelink.length ? EnjoyEngland.LanguageCountrySelector.languagelink[0].className.match( /language-url-([^\s]+)/ ) : null;
		
		if ( url )
		{
			EnjoyEngland.LanguageCountrySelector.url = url[1];
		
			EnjoyEngland.LanguageCountrySelector.languagelink.bind( 'click', EnjoyEngland.LanguageCountrySelector.openLanguage );
			
		}
	},

	openLanguage: function(e)
	{
		EnjoyEngland.LanguageCountrySelector.languagelink = $( '#currentLanguage' );
		var url = EnjoyEngland.LanguageCountrySelector.languagelink[0].className.match( /language-url-([^\s]+)/ );

		// load the content
		var languagePopUpState = $('.moduleLanguage').length;
		if (languagePopUpState === 0) {	
				jQuery.ajax( { dataType:'html', success:EnjoyEngland.LanguageCountrySelector.loadedLanguagePopup, type:'GET', url:url[1] } );
		}
		else {
			if ($('.countryFragment').length) {
				$('.moduleLanguageBottom>ul>li').removeClass('selected');
				$('.countryFragment').slideUp('fast');
				$('.countryFragment').empty();
			}
			$(".moduleLanguage").slideDown("fast");
		}
		$( 'html' ).bind( 'click', EnjoyEngland.LanguageCountrySelector.close );
		e.preventDefault();
	},

	loadedLanguagePopup: function( html )
	{	
		$('#headerWrapper').prepend(html);
		$('.moduleLanguage').slideDown('fast');
		
		//setup for country selector
		EnjoyEngland.LanguageCountrySelector.countrylink = $( '.moduleLanguageBottom>ul>li>a' );
		
		var url  = EnjoyEngland.LanguageCountrySelector.countrylink.length ? EnjoyEngland.LanguageCountrySelector.countrylink[0].className.match( /language-url-([^\s]+)/ ) : null;

		if ( url )
		{
			EnjoyEngland.LanguageCountrySelector.url = url[1];
			EnjoyEngland.LanguageCountrySelector.countrylink.bind( 'click', EnjoyEngland.LanguageCountrySelector.openCountry );
		}			
	},
	
	openCountry: function(e)
	{ 	
		EnjoyEngland.LanguageCountrySelector.currentLanguage = $(this);
		var url = EnjoyEngland.LanguageCountrySelector.currentLanguage[0].className.match( /language-url-([^\s]+)/ );

		// load the content
		jQuery.ajax( { dataType:'html', success:EnjoyEngland.LanguageCountrySelector.loadedCountryPopup , type:'GET', url:url[1] } );
		e.preventDefault();
	},
	
	loadedCountryPopup: function( html)
	{	
		var $this = EnjoyEngland.LanguageCountrySelector.currentLanguage;
		if ($this.parent().parent().parent().find('.countryFragment').length > 0) {
			$('.countryFragment').slideUp('fast');
			$this.parent().parent().parent().find('.countryFragment').empty();
		}
		$this.parent().parent().find('.countryFragment').append( html );
		$('.countryFragment').slideUp('fast');
		$('.moduleLanguageBottom>ul>li').removeClass('selected');
		$this.parent().addClass('selected');

		var newCPanel = $this.parent().parent().find('.countryFragment');
		
		if(EnjoyEngland.LanguageCountrySelector.oldCPanel == null) {
			newCPanel.slideDown('fast');
		}
		else {
			EnjoyEngland.LanguageCountrySelector.oldCPanel.slideUp('fast', 
			function() {newCPanel.slideDown('fast');});
		}
		EnjoyEngland.LanguageCountrySelector.oldCPanel = newCPanel;
		var countryClick = $( '.countryPanel>ul>li>a' );
		countryClick.bind('click',function(e){e.stopPropagation();});
	},	
	
	close: function(e)
	{	 
		if (!$(e.target).parents().hasClass('moduleLanguage') && e.target.id != 'currentLanguage') {
			$('.moduleLanguage').slideUp('fast');
			$( 'html' ).unbind( 'click', EnjoyEngland.LanguageCountrySelector.close );
		}else if(e.target.id == 'closeLocale'){
			$('.moduleLanguage').slideUp("fast");
			$( 'html' ).unbind( 'click', EnjoyEngland.LanguageCountrySelector.close );
		}
		e.preventDefault();
	}	
};
$( document ).ready( EnjoyEngland.LanguageCountrySelector.setup );

/*
//InspireMe Tab Selection
EnjoyEngland.InspireMe =
{
	inspireNav:null,
	inspireNavSuggestion:null,
	inpiratorPanel:null,
	inspiratorField:null,
	expandResultsPanel:null,
	miniStrip:null,
	tagsList:null,
	resultsJson:null,
	maxentries:null,
	num_display_entries:null,
	items_per_page:null,
	current_page:null,
	num_display_entries:null,
	
	setup: function()
	{
		//Do not load mini Inspirator on full Inspirator page
		if (! $('.inspirator').length)
		{

			var resultsCookie = EnjoyEngland.Cookies.read('xResultsCookie'); 
			if (resultsCookie && EnjoyEngland.Cookies.read ('resultsFlag') == 'true') {
				var ideaIndex = EnjoyEngland.Cookies.read('ideaIndex');  
				favOn = resultsCookie.indexOf('?favOn');
				tellUs = resultsCookie.indexOf('?tellUs');
				var tagListY = resultsCookie.substring(resultsCookie.indexOf('-?yes=') + 6, resultsCookie.indexOf('-?no='));
				var tagListN = resultsCookie.substring(resultsCookie.indexOf('-?no=') + 5);
				var tagsList = {
					yesList: tagListY,
					noList: tagListN,
					dataIndex: ideaIndex
				}
				if (tellUs > -1) {	
					EnjoyEngland.InspireMe.miniStrip = $( '#inspiratorResultsMini' );
					var url = EnjoyEngland.InspireMe.miniStrip.length ? EnjoyEngland.InspireMe.miniStrip[0].className.match( /inspiratorResultsMini-url-([^\s]+)/ ) : null;
					// load the content
					if(url) jQuery.ajax( { dataType:'json', data:tagsList, success:EnjoyEngland.InspireMe.loadMiniStrip , type:'GET', url:url[1] } );	
				}else if (favOn > -1){
					EnjoyEngland.InspireMe.miniFavStrip = $( '#inspiratorResultsStrip' );
					var urlpath = EnjoyEngland.InspireMe.miniFavStrip.length ? EnjoyEngland.InspireMe.miniFavStrip[0].className.match( /inspiratorResultsStrip-url-([^\s]+)/ ) : null;
					// load the content
					if(urlpath) jQuery.ajax( { dataType:'xml', success:EnjoyEngland.InspireMe.loadMiniFavStrip , type:'GET', url:urlpath[1] } );	
				}					
			}
		}
	},
	
	loadMiniFavStrip: function(xml){
		var favsExpandListDiv = $(xml).find('favouritesExpandList').text();
		$('#inspiratorResultsMini').html(favsExpandListDiv);
		$('li#navTabInspire a').removeClass('inspiratorPopup').addClass('inspiratorResultsOpen');
		$('#inspiratorResultsStrip').slideDown('fast');
		if ($('body').attr('id') == 'home') {
			$('#normalPageHeaderFeatures').show().css({
				'padding-top': '38px'
			});
		}
		else {
			$('#normalPageHeaderFeatures').css({
				'padding-top': '28px'
			});
		}
		$('a.inspiratorResultsClose').bind('click',function(e) {
			if ($(this).hasClass('inspiratorResultsClose')) {
				$('li#navTabInspire a').removeClass('inspiratorResultsOpen').addClass('inspiratorPopup');
				$('#inspiratorResultsStrip').slideUp('fast');
			}	
			$('#normalPageHeaderFeatures').css({'padding-top': '0px'});
			EnjoyEngland.Cookies.remove('xResultsCookie');
			EnjoyEngland.Cookies.remove('ideaIndex');
			EnjoyEngland.Cookies.write('resultsFlag', 'false');
			e.preventDefault();			
		});			
	},

	loadMiniStrip:function(json){
		if(json){
			EnjoyEngland.InspireMe.resultsJson = json;
			
			EnjoyEngland.InspireMe.loadImageMiniStrip();
			
			
			var yesTags = [];
			jQuery.each( json.inspiratorResultsStrip[0].tagsListYes, function(i){
				yesTags.push(this.key + '[' + this.left + ' '+ this.top  + ']');
			});

			var noTags = [];
			jQuery.each( json.inspiratorResultsStrip[0].tagsListNo, function(i){
				noTags.push(this.key + '[' + this.left + ' '+ this.top  + ']');
			});

			EnjoyEngland.InspireMe.tagsList = {yesList:yesTags.join( ';' ), noList:noTags.join( ';' )}
		}
		$('li#navTabInspire a').removeClass('inspiratorPopup').addClass('inspiratorResultsClose');
		$('#inspiratorResultsStrip').slideDown('fast');
		if ($('body').attr('id') == 'home') {
			$('#normalPageHeaderFeatures').show().css({
				'padding-top': '38px'
			});
		}
		else {
			$('#normalPageHeaderFeatures').css({
				'padding-top': '28px'
			});
		}

		$('a.inspiratorResultsClose').bind('click',function(e) {
			if ($(this).hasClass('inspiratorResultsClose')) {
				$('li#navTabInspire a').removeClass('inspiratorResultsClose').addClass('inspiratorPopup');
				$('#inspiratorResultsStrip').slideUp('fast');
			}	
			$('#normalPageHeaderFeatures').css({'padding-top': '0px'});
			EnjoyEngland.Cookies.remove('xResultsCookie');
			EnjoyEngland.Cookies.remove('ideaIndex');
			EnjoyEngland.Cookies.write('resultsFlag', 'false');
			e.preventDefault();			
		});	
	},
	
	inspireIntro:function(e){
		if($(this).parent().hasClass('navPanel')){
			$(this).parent().parent().removeClass('hover');
			$(this).parent().hide();				
		}
		$('html,body').scrollTop(0);
		
		if ($( 'li#navTabInspire a' ).hasClass('inspiratorPopup')) {
			var popupState = $('.inspirator').length;
			if (popupState === 0) {
				EnjoyEngland.InspireMe.plotInspireIntro();// load up the required HTML
			}else{
				EnjoyEngland.InspireMe.showInspiratorPopup();
			}
		}else if($( 'li#navTabInspire a' ).hasClass('inspiratorPopupClose')){
				EnjoyEngland.InspireMe.hideInspiratorPopup();
		}
		e.preventDefault();
	},
	
	plotInspireIntro:function(){
		EnjoyEngland.InspireMe.inspiratorField = $( '#inspiratorPath' );
		var url = EnjoyEngland.InspireMe.inspiratorField[0].className.match( /inspiratorField-url-([^\s]+)/ );
		// load the content
		jQuery.ajax( { dataType:'html', success:EnjoyEngland.InspireMe.loadInspireHTML , type:'GET', url:url[1] } );			
	},
	
	loadInspireHTML:function(xml){
		$( '#content' ).prepend(xml);
		EnjoyEngland.InspireMe.showInspiratorPopup();
	},
	
	showInspiratorPopup: function(){
		EnjoyEngland.Maps.DestinationFinder.closePanel();
		EnjoyEngland.Modal.showModal();
		$('#inspiratorStart').slideDown('fast');
		EnjoyEngland.InspireMe.inpiratorPanel = $( '.inspirator' );
		EnjoyEngland.InspireMe.inspireNav.removeClass('inspiratorPopup').addClass('inspiratorPopupOpen');
		EnjoyEngland.InspireMe.inpiratorPanel.css({'background':'url(/public/images/backgrounds/spacer.gif)','visibility':'visible'});
	},
	
	hideInspiratorPopup: function(){
		EnjoyEngland.Cookies.remove('xResultsCookie');
		EnjoyEngland.Cookies.remove('ideaIndex');
		EnjoyEngland.Cookies.write('resultsFlag', 'false');
		if (EnjoyEngland.Inspirator) EnjoyEngland.Inspirator.WhatYouWant.resetter();
		EnjoyEngland.InspireMe.inspireNav.removeClass('inspiratorPopupOpen').addClass('inspiratorPopup');
		EnjoyEngland.InspireMe.inpiratorPanel = $( '.inspirator' );
		EnjoyEngland.InspireMe.inpiratorPanel.css({'visibility':'hidden'});
		$('#tellResults').css({'visibility':'hidden'});
		$('#InspiratorMaps').css({'visibility':'hidden'});
		$('.moduleMapHolder').css({'visibility':'hidden'});
		//reset our favorites
		if (typeof plotFavsList == 'function'){
			if ($('#picfield').is(':visible')) {plotFavsList(null);}
			else{$('#picfield').show();$('#picfield').css({'visibility':'visible'});plotFavsList(null);}
		}
		$('#picfield').css({'visibility':'hidden'});
		$('#InspiratorWhatYouWant .wraparound_tellus').hide();
		$('#picfield, #tellUsWhatYouWant, #inspiratorStart,#picfieldTabs').slideUp('fast');
		EnjoyEngland.Modal.hideModal();
	},
	
	expandResults: function(e){
		EnjoyEngland.InspireMe.inspiratorField = $( '#inspiratorPath' );
		var url = EnjoyEngland.InspireMe.inspiratorField[0].className.match( /inspiratorField-url-([^\s]+)/ );
		// load the content
		jQuery.ajax( { dataType:'html', success:EnjoyEngland.InspireMe.expandInspireHTML , type:'GET', url:url[1] } );			

		$('#inspiratorResultsStrip').slideUp('fast');

		e.preventDefault();
	},
	
	expandInspireHTML: function(xml){
		$( '#content' ).prepend(xml);
		EnjoyEngland.Modal.showModal();
		$('.inspirator').css({'background':'url(/public/images/backgrounds/inspirator.gif) left bottom no-repeat'});
		$('#picfieldTabs').show();
		$('li#navTabInspire a').removeClass('inspiratorResultsClose').addClass('inspiratorPopupOpen');
		if (tellUs > -1) {
			$('a#picfieldTab2').addClass('selected');
			$('a#picfieldTab1').removeClass('selected');
			$('#introReset').hide();
			$('#tellUsWhatYouWant').hide();
			$('#tellResults').css({'visibility': 'visible'});
			$('#InspiratorMaps').css({'visibility': 'visible'});
			var urlpath = $('#tellusresults')[0].className.match(/tellusresults-url-([^\s]+)/);
			jQuery.ajax({
				dataType: 'json',
				data: EnjoyEngland.InspireMe.tagsList,
				success: EnjoyEngland.Inspirator.WhatYouWant.getPossibleResults,
				type: 'GET',
				url: urlpath[1],
				complete: EnjoyEngland.InspireMe.retainIdeaTags
			});
		}				
		if (favOn > -1) {
			$('a#picfieldTab1').addClass('selected');
			$('a#picfieldTab2').removeClass('selected');
			$('#introReset').hide();
			$('#tellUsWhatYouWant').hide();
			$('#tellResults').css({'visibility': 'hidden'});
			$('#InspiratorMaps').css({'visibility': 'hidden'});
			$('#picfield').show();
			$('#picfield').css({'visibility':'visible'});
		//Delete
			//inspiratorOurFavMapData();
			//EnjoyEngland.Maps.initMapInstance.setup('Map','BingMap');
		}				
	},
	
	retainIdeaTags: function(){
		jQuery.each( $('#InspiratorWhatYouWant .inspiratorWhatYouWantTags .inspiratorTagsContent a'), function(){
			var $this = $(this);
			var $thiskey = $(this).attr('tagkey');
			jQuery.each( EnjoyEngland.InspireMe.resultsJson.inspiratorResultsStrip[0].tagsListYes, function(){
				 if($thiskey == this.key){
				 	$this.css({
						'position' : 'absolute',
						'left' : this.left,
						'top' : this.top
					});
				 	$('#InspiratorWhatYouWant .inspiratorWhatYouWantYes .inspiratorTagsContent').append($this);
				 }
			});			
			jQuery.each( EnjoyEngland.InspireMe.resultsJson.inspiratorResultsStrip[0].tagsListNo, function(){
				 if($thiskey == this.key){
				 	$this.css({
						'position' : 'absolute',
						'left' : this.left,
						'top' : this.top
					});
				 	$('#InspiratorWhatYouWant .inspiratorWhatYouWantNo .inspiratorTagsContent').append($this);
				 }
			});	
		});
		$('.wraparound_tellus #tellusresults').text(EnjoyEngland.InspireMe.resultsJson.inspiratorResultsStrip[2].totalPossibleResults);
		$('#InspiratorWhatYouWant .wraparound_tellus').show().animate({'right': '0px'}, 'fast');		
		EnjoyEngland.Inspirator.WhatYouWant.giveideas();
	},
	loadImageMiniStrip: function(){
		var ideaIndex = EnjoyEngland.Cookies.read('ideaIndex'); 
		EnjoyEngland.InspireMe.maxentries=EnjoyEngland.InspireMe.resultsJson.inspiratorResultsStrip[2].totalPossibleResults; //total results
		EnjoyEngland.InspireMe.items_per_page=1;		//total number of items per page
		EnjoyEngland.InspireMe.current_page=ideaIndex;			//selected page
		EnjoyEngland.InspireMe.num_display_entries=7;	// sum of total list image ie 3 left + 1 selected(hidden) + 3 right 
		
		var interval=EnjoyEngland.InspireMe.getInterval();
  		EnjoyEngland.InspireMe.createRow(interval.start,interval.end);
	},
	numPages: function() {
			return Math.ceil(EnjoyEngland.InspireMe.maxentries/EnjoyEngland.InspireMe.items_per_page);
	},
	getInterval: function (current_page)  {
			var current_page = EnjoyEngland.InspireMe.current_page;
			var ne_half = Math.floor(EnjoyEngland.InspireMe.num_display_entries/2);	 
			var np = EnjoyEngland.InspireMe.numPages();
			var upper_limit = np - EnjoyEngland.InspireMe.num_display_entries;
			var start = current_page > ne_half ? Math.max( Math.min(current_page - ne_half, upper_limit), 0 ) : 0;
			var end = current_page > ne_half?Math.min((current_page*1)+(ne_half*1) + (EnjoyEngland.InspireMe.num_display_entries % 2), np):Math.min(EnjoyEngland.InspireMe.num_display_entries, np);
			return {start:start, end:end};
	},
	createRow: function (start,end){
			$('#inspiratorResultsMini').html("");
			for(var i = start; i < end; i++){
				var img = $("<img/>").attr({src: EnjoyEngland.InspireMe.resultsJson.inspiratorResultsStrip[1].imagesList[i].imageURL, alt: EnjoyEngland.InspireMe.resultsJson.inspiratorResultsStrip[1].imagesList[i].altText, title: EnjoyEngland.InspireMe.resultsJson.inspiratorResultsStrip[1].imagesList[i].altText, width: "52", height:"40"});
				if(i==EnjoyEngland.InspireMe.current_page){
					$("<span/>").attr({href: EnjoyEngland.InspireMe.resultsJson.inspiratorResultsStrip[1].imagesList[i].linkURL, rel:  i})
					  	.append(img).appendTo("#inspiratorResultsMini")
						.bind('click', function() {
				  			EnjoyEngland.InspireMe.current_page=$(this).attr("rel");
							var interval=EnjoyEngland.InspireMe.getInterval(EnjoyEngland.InspireMe.current_page);
							EnjoyEngland.InspireMe.createRow(interval.start,interval.end);
						});
					}else{
						$("<a/>").attr({href: EnjoyEngland.InspireMe.resultsJson.inspiratorResultsStrip[1].imagesList[i].linkURL, rel:  i})
						.append(img).appendTo("#inspiratorResultsMini")
						.bind('click', function() {
							EnjoyEngland.InspireMe.current_page=$(this).attr("rel");
							EnjoyEngland.Cookies.write('ideaIndex', EnjoyEngland.InspireMe.current_page);
							var interval=EnjoyEngland.InspireMe.getInterval(EnjoyEngland.InspireMe.current_page);
							EnjoyEngland.InspireMe.createRow(interval.start,interval.end);
							return false;
						});
					}					
			}
	}
}

//$( document ).ready( EnjoyEngland.InspireMe.setup );
*/
EnjoyEngland.Modal =
{
	windowHeight:null,
	setup:function(){
		$('#content').prepend('<div class="modal"></div>');
	},
	showModal:function(type){
		windowHeight = $('body').height();
		if(type == 'complete'){$('.modal').addClass('modalComplete')}else {if($('.modal').hasClass('modalComplete'))$('.modal').removeClass('modalComplete');}
		//$('.modal').height(windowHeight).slideDown('fast');
		$('.modal').height(windowHeight).show();
	},
	hideModal:function(){
		windowHeight = $('body').height();
		if($('.modal').hasClass('modalComplete'))$('.modal').removeClass('modalComplete');
		if($('.modal').hasClass('modalPartial'))$('.modal').removeClass('modalPartial');
		//$('.modal').height(windowHeight).slideUp('fast');
		$('.modal').height(windowHeight).hide();
	}	
};
$( document ).ready( EnjoyEngland.Modal.setup );


EnjoyEngland.Carousel_addthis = {
	setup:function(){
		$('.addthisCarousel').bind('click',function(e){
			$('#ShareThisCarousel').css({
				'left' : $(this).position().left,
				'top' : $(this).position().top - 10
			});
			$('#ShareThisCarousel').show();
			$('html').bind('click', EnjoyEngland.Carousel_addthis.close );
			e.preventDefault();
		});			
	},
	close:function(e){
		if (!$(e.target).hasClass('addthisCarousel') && !$(e.target).hasClass('addthis_button_compact')) {
			$('#ShareThisCarousel').hide();
			$('html').unbind('click', EnjoyEngland.Carousel_addthis.close );
		}
		e.preventDefault();
	}
}
$( document ).ready( EnjoyEngland.Carousel_addthis.setup );


EnjoyEngland.Aggregator = {
	aggregatorFilters:null,
	aggregatorResults:null,
	filtersHead:'',
	filtersWrapper:'',
	filtersIdeaList:'',
	ideasDiv:'',
	resultsInfo:'',
	resultsPagination:'',
	pageRange:'',
	resultsPerpage:15,
	pagingNumber:1,
	genericIdeaWrapper:'',
	totalIdeasCount:null,
	checkedIdeas:null,
	setup:function(){
		EnjoyEngland.Aggregator.aggregatorFilters = $( '#aggregatorFilters' );
		EnjoyEngland.Aggregator.aggregatorResults = $( '#aggregatorResults' );
		var url = EnjoyEngland.Aggregator.aggregatorFilters.length ? EnjoyEngland.Aggregator.aggregatorFilters[0].className.match( /aggregatorFilters-url-([^\s]+)/ ) : null;
		var rurl = EnjoyEngland.Aggregator.aggregatorResults.length ? EnjoyEngland.Aggregator.aggregatorResults[0].className.match( /aggregatorResults-url-([^\s]+)/ ) : null;

		// load the content

    var ideasCookie = EnjoyEngland.Cookies.read('ideasCookie'); 
    if (ideasCookie) {
      var selectedIdeas = EnjoyEngland.Cookies.read('ideasTags'); 
      if(!selectedIdeas)selectedIdeas = '';/* for no ideas supplied */
      EnjoyEngland.Aggregator.checkedIdeas = {ideas:selectedIdeas}

      if(url) jQuery.ajax( { dataType:'json', success:EnjoyEngland.Aggregator.loadIdeaFilters , type:'GET', url:url[1] } );
      
      if(rurl) jQuery.ajax( { dataType:'json', data:EnjoyEngland.Aggregator.checkedIdeas, success:EnjoyEngland.Aggregator.loadIdeaResults ,complete:EnjoyEngland.Aggregator.clearCookies, type:'GET', url:rurl[1] } );      
      
    }else{
 
      if(url) jQuery.ajax( { dataType:'json', success:EnjoyEngland.Aggregator.loadIdeaFilters , type:'GET', url:url[1] } );
    
      if(rurl) jQuery.ajax( { dataType:'json', data:EnjoyEngland.Aggregator.checkedIdeas, success:EnjoyEngland.Aggregator.loadIdeaResults , type:'GET', url:rurl[1] } );      
    
    }
		
	},
	clearCookies: function(){

      EnjoyEngland.Cookies.write('ideasCookie','false'); 
      
      EnjoyEngland.Cookies.remove('ideasTags'); 
      
      EnjoyEngland.Aggregator.checkedIdeas = null;
	  
	},
	loadIdeaFilters:function(json){
		if(json.aggregatorFilter){
			EnjoyEngland.Aggregator.filtersHead = '<h2>'+json.aggregatorFilter[0].tags[0]+'</h2>';
			EnjoyEngland.Aggregator.filtersWrapper = '<ul class="alphaUL">';
			jQuery.each( json.aggregatorFilter[1].filterCategory, function(i){
				EnjoyEngland.Aggregator.filtersWrapper += '<li class="alpha" id="idea'+i+'"><a href="#idea'+i+'" class="ideas">'+this.title+'</a><div class="fieldsWrapper">';
				EnjoyEngland.Aggregator.filtersIdeaList = '';
				jQuery.each (this.filtersList, function(j){
					EnjoyEngland.Aggregator.filtersIdeaList  += '<div class="rowRadioCheckButton"><input type="checkbox" id="fIdea'+i+j+'" class="checkbox" /><label for="fIdea'+i+j+'">'+this+'</label></div>';
				});
				EnjoyEngland.Aggregator.filtersWrapper += EnjoyEngland.Aggregator.filtersIdeaList + '</li>';
			});
			EnjoyEngland.Aggregator.ideasDiv = '<form action="#" method="POST" id="resetForm" class="standardForm">' + (EnjoyEngland.Aggregator.filtersHead + EnjoyEngland.Aggregator.filtersWrapper)+ '</ul><div class="actionPanel"><input type="button" name="clear" onClick="clearForm(this.form);" class="inputStyle4" value="'+json.aggregatorFilter[0].tags[1]+'"/></div></form>';
			$( '#aggregatorFilters' ).html(EnjoyEngland.Aggregator.ideasDiv);

			EnjoyEngland.Aggregator.initIdeas();
			EnjoyEngland.Forms.setup();
      var ideasArr = null;
      if(null!=EnjoyEngland.Aggregator.checkedIdeas && EnjoyEngland.Aggregator.checkedIdeas.ideas){
          ideasArr = EnjoyEngland.Aggregator.checkedIdeas.ideas.split(',');

          jQuery.each($('.rowRadioCheckButton input'), function(){
            for(var i=0;i<ideasArr.length;i++){
              if($(this).nextAll('label').text() === ideasArr[i])$(this).checkBox('changeCheckStatus', true); 
            }
          });      
      }
      else{
    			EnjoyEngland.Aggregator.resetCheckedIdeas();
			}
      EnjoyEngland.Aggregator.initFilterEvents(ideasArr);
			
		}
	},
	initIdeas:function(){
		$('.moduleAggregatorFilters li.alpha:first-child').addClass('selected');
		$('.moduleAggregatorFilters li.alpha a.ideas').bind('click',function(e) {
			$('.moduleAggregatorFilters li.alpha').removeClass('selected');
			$(this).parent().addClass('selected');
			e.preventDefault();
    	});
	},
	loadIdeaResults:function(json){
		if(json.aggregatorResults){
			EnjoyEngland.Aggregator.loadPaging(json);
			EnjoyEngland.Aggregator.genericIdea(json)
		}
	},
	loadPaging:function(json){
		var sel = '';	
		EnjoyEngland.Aggregator.totalIdeasCount = json.aggregatorResults[0].ideasCount;
		var totalIdeas = EnjoyEngland.Aggregator.totalIdeasCount;
		var resultsPerpage = EnjoyEngland.Aggregator.resultsPerpage;
		//var paging = totalIdeas != resultsPerpage ? parseInt(totalIdeas/resultsPerpage) + 1 : 1;
		var rem = parseInt(totalIdeas%resultsPerpage);
		var res = parseInt(totalIdeas/resultsPerpage)
		var paging = rem > 0 ? res + 1 : res;
		
		switch (resultsPerpage){
			case 15:{
				sel = '<a class="selected">15</a><a href="#">30</a><a href="#" class="last">45</a>';
				EnjoyEngland.Aggregator.pageRange = '1-15';
				if(totalIdeas<15) EnjoyEngland.Aggregator.pageRange = '1-'+totalIdeas;
				break;
			}
			case 30:{
				sel = '<a href="#">15</a><a class="selected">30</a><a href="#" class="last">45</a>';
				EnjoyEngland.Aggregator.pageRange = '1-30';
				if(totalIdeas<30) EnjoyEngland.Aggregator.pageRange = '1-'+totalIdeas;
				break;
			}
			case 45:{
				sel = '<a href="#">15</a><a href="#">30</a><a class="last selected">45</a>';
				EnjoyEngland.Aggregator.pageRange = '1-45';
				if(totalIdeas<45) EnjoyEngland.Aggregator.pageRange = '1-'+totalIdeas;
				break;
			}
			default: 
			break;
		}		
		EnjoyEngland.Aggregator.resultsInfo = '<div class="pageResults"><p class="resultsInfo">'+ json.aggregatorResults[0].tags[0] +' <span class="pageRange">'+ EnjoyEngland.Aggregator.pageRange +'</span> '+ json.aggregatorResults[0].tags[1] +' <span class="totalResults">'+ totalIdeas +'</span></p><p class="noResults">'+json.aggregatorResults[0].tags[5]+'</p><p class="resultsRange">'+ json.aggregatorResults[0].tags[2] +' '+sel+'</p></div>';
		var nextTag = '<div class="next"><a href="#">'+json.aggregatorResults[0].tags[4] +'</a></div>';
		if(paging == 1) nextTag = '<div class="next disabled"><a href="#">'+json.aggregatorResults[0].tags[4] +'</a></div>';
		EnjoyEngland.Aggregator.resultsPagination = '<div class="paginationPanel long-page clearfix"><div class="prev disabled"><a href="#">'+ json.aggregatorResults[0].tags[3] +'</a></div>' + nextTag + '<ul class="pagination">';
		for(var i=0;i<paging;i++){
			if(i == paging-1){
				if (EnjoyEngland.Aggregator.pagingNumber == (i + 1)) {
					EnjoyEngland.Aggregator.resultsPagination += '<li><a class="last selected">' + (i + 1) + '</a></li>';
				}
				else {
					EnjoyEngland.Aggregator.resultsPagination += '<li><a href="#" class="last">' + (i + 1) + '</a></li>';
				}
			}else if(EnjoyEngland.Aggregator.pagingNumber == (i+1)) {
				EnjoyEngland.Aggregator.resultsPagination += '<li><a class="selected">'+ (i+1) +'</a></li>';
			}else{
				EnjoyEngland.Aggregator.resultsPagination += '<li><a href="#">'+ (i+1) +'</a></li>';
			}			
		}
		EnjoyEngland.Aggregator.resultsPagination += '</ul></div>';
		if(paging==1)EnjoyEngland.Aggregator.resultsPagination = '';
	},
	genericIdea:function(json){
		
		EnjoyEngland.Aggregator.genericIdeaWrapper = EnjoyEngland.Aggregator.resultsInfo + EnjoyEngland.Aggregator.resultsPagination + '<ul class="ideasList current page_first">';
		var resultsPerPage = EnjoyEngland.Aggregator.resultsPerpage;
		jQuery.each( json.aggregatorResults[1].filterCategory, function(i){
					if(i!=0 && i%resultsPerPage == 0){
						if ((json.aggregatorResults[0].ideasCount - i) < resultsPerPage) {
							EnjoyEngland.Aggregator.genericIdeaWrapper += '</ul><ul class="ideasList page_last">';
						}
						else {
							EnjoyEngland.Aggregator.genericIdeaWrapper += '</ul><ul class="ideasList">';
						}
					}
			EnjoyEngland.Aggregator.genericIdeaWrapper += '<li><div class="imgWrapper"><a href="'+ this.linkUrl +'"><img src="'+ this.imageUrl +'" alt="'+ this.altText +'" title="'+ this.altText +'" width="206px" height="156px" /></a><h3><a class="colour'+ (i%9+1) +'" title="'+ this.title +'" href="'+ this.linkUrl +'">'+ this.title +'<span>&nbsp;</span></a></h3></div></li>';
		});
		EnjoyEngland.Aggregator.genericIdeaWrapper += '</ul>' + EnjoyEngland.Aggregator.resultsPagination;
		$( '#aggregatorResults' ).html(EnjoyEngland.Aggregator.genericIdeaWrapper);
		if(json.aggregatorResults[0].ideasCount == 0){
			$( '#aggregatorResults .paginationPanel, #aggregatorResults p.resultsInfo, #aggregatorResults p.resultsRange' ).hide();
			$( '#aggregatorResults p.noResults' ).show();
		}
		EnjoyEngland.Aggregator.initPagination(json);
	},
	initPagination:function(json){
		$( 'ul.pagination a' ).bind('click',function(e){
			if ($(this).attr('href') !== undefined) {
				var $this = $(this);
				$('ul.pagination a').removeClass('selected').attr('href', '#');
				EnjoyEngland.Aggregator.plotPagination($this);
			}
			e.preventDefault();	
		});
		$( '.paginationPanel div' ).bind('click',function(e){
			if($(this).hasClass('next')){
				var $this = $ ('ul.pagination a.selected:first').parent().next().find('a');
				$ ('ul.pagination a.selected').removeClass('selected').attr('href', '#').parent().next().find('a').removeAttr('href').addClass('selected');
				EnjoyEngland.Aggregator.plotPagination($this);
			}
			else if($(this).hasClass('prev')){
				var $this = $ ('ul.pagination a.selected:first').parent().prev().find('a');
				$ ('ul.pagination a.selected').removeClass('selected').attr('href', '#').parent().prev().find('a').removeAttr('href').addClass('selected');
				EnjoyEngland.Aggregator.plotPagination($this);
			}
			e.preventDefault();	
		});
		$( 'p.resultsRange a' ).bind('click',function(e){
			if ($(this).attr('href') !== undefined) {
				EnjoyEngland.Aggregator.resultsPerpage = parseInt($(this).text());
				EnjoyEngland.Aggregator.loadIdeaResults(json);
			}
			e.preventDefault();	
		});		
	},
	plotPagination:function($this){
			var currentPage = parseInt($this.text()) - 1;
			//var paging = parseInt(EnjoyEngland.Aggregator.totalIdeasCount/EnjoyEngland.Aggregator.resultsPerpage) + 1;
			var rem = parseInt(EnjoyEngland.Aggregator.totalIdeasCount%EnjoyEngland.Aggregator.resultsPerpage);
			var res = parseInt(EnjoyEngland.Aggregator.totalIdeasCount/EnjoyEngland.Aggregator.resultsPerpage)
			var paging = rem > 0 ? res + 1 : res;
			if((currentPage + 1) > 1 && (currentPage + 1) < paging){
				$('.paginationPanel div.prev').removeClass('disabled');
				$('.paginationPanel div.next').removeClass('disabled');
			}
			else if((currentPage + 1) == paging){
				$('.paginationPanel div.next').addClass('disabled');
				$('.paginationPanel div.prev').removeClass('disabled');
			}
			else if((currentPage + 1) == 1){
				$('.paginationPanel div.prev').addClass('disabled');
				$('.paginationPanel div.next').removeClass('disabled');
			}
			
			jQuery.each($('ul.pagination'),function(i){
				$(this).children('li:eq('+currentPage+')').children().removeAttr('href').addClass('selected');				
			});
			
			$('ul.ideasList').removeClass('current');
			$('ul.ideasList').each(function(index){
				if (currentPage == index) {
					var pageStart = ( index * EnjoyEngland.Aggregator.resultsPerpage ) + 1;
					var pageEnd = (( index + 1 ) * EnjoyEngland.Aggregator.resultsPerpage) > EnjoyEngland.Aggregator.totalIdeasCount ? EnjoyEngland.Aggregator.totalIdeasCount : ( index + 1 ) * EnjoyEngland.Aggregator.resultsPerpage;
					$('.resultsInfo .pageRange').text(pageStart+'-'+pageEnd);
					$(this).addClass('current');
				}
			});
	},
	initFilterEvents:function(prevals){
		var selectedIdeas = [];
		if(prevals){
		  selectedIdeas = $.merge([], prevals);
		}

		$('.rowRadioCheckButton input').checkBox().bind('checkBoxchange', function(e, ui){ 
		  
			if(ui.checked){
				selectedIdeas.push($(this).parent().find('label').text());
			}else{
				var index = $.inArray($(this).parent().find('label').text(), selectedIdeas);
				selectedIdeas.splice(index,1);
			}
			
			EnjoyEngland.Aggregator.checkedIdeas = {ideas:selectedIdeas.join(',')}
			var urlpath = $('#aggregatorResults')[0].className.match( /aggregatorResults-url-([^\s]+)/ );
			jQuery.ajax( { dataType:'json', data:EnjoyEngland.Aggregator.checkedIdeas, success:EnjoyEngland.Aggregator.loadIdeaResults, type:'GET', url:urlpath[1] } );
		});  
	},
	resetCheckedIdeas:function(){
		$('.actionPanel input').bind('click',function(e){
			jQuery.each($('.rowRadioCheckButton input:checked'), function(){
				$(this).checkBox('changeCheckStatus', false); 
			});
			e.preventDefault();
		});
	}
}
$( document ).ready( EnjoyEngland.Aggregator.setup );


function inspiratorStartLink1(){
	$('.inspirator').css({'background':'url(/public/images/backgrounds/inspirator.gif) left bottom no-repeat'});
	$('#inspiratorStart').hide();
	$('#picfieldTabs').show();
	$('#introReset').hide();
	$('#picfield').css({'visibility':'visible'});
	$('#picfield').show();
	$('a#picfieldTab1').addClass('selected');
	$('a#picfieldTab2').removeClass('selected');
	
	return false;
}

function inspiratorStartLink2(){
	$('.inspirator').css({'background':'url(/public/images/backgrounds/inspirator.gif) left bottom no-repeat'});
	$('#inspiratorStart').hide();
	$('#picfieldTabs').show();
	$('#tellUsWhatYouWant').show();
	$('#introReset').show();
	$('#tellResults').css({'visibility':'hidden'});
	$('#InspiratorMaps').css({'visibility':'hidden'});
	$('a#picfieldTab2').addClass('selected');
	$('a#picfieldTab1').removeClass('selected');
	return false;
}

function inspiratorResultsStripClose() {
	$('li#navTabInspire a').removeClass('inspiratorResultsClose').addClass('inspiratorPopup');
	$('#inspiratorResultsStrip').slideUp('fast');
	$('#normalPageHeaderFeatures').css({'padding-top':'0px'});
	return false;
}


function reactToInspiratorStartClicks() {
	
	$('.inspirator a#inspiratorStartLink1').click(function() {
		inspiratorStartLink1();
		return false;
    });
	
	$('.inspirator a#inspiratorStartLink2').bind('click',function() {
		inspiratorStartLink2();
		return false;
    });
	
}

/* More Ideas module - As the mouse passes over the coloured links, the image within the link appears in the more ideas black box */
function moreIdeas() {
	var moreIdeasHolder=$('#moreIdeasHolder');
	var moreIdeaPic;
	$('.moduleIdeasLinkCollection a').mouseover(function() {
		var elemRightPadding = parseInt($(this).css('paddingRight'));
		var animRight = elemRightPadding + 20;
		if($(this).parent().width() - $(this).width() < animRight) animRight =  $(this).parent().width() - $(this).width() - 10;
			if(animRight > 10) $(this).animate( { paddingRight:animRight+'px' },300, 'easeInOutQuad');
			moreIdeaPic=$(this).children().filter('img').attr('src');
			moreIdeasHolder.children().filter('img').attr({src:moreIdeaPic}).show();
	}).mouseout(function(){
		$(this).animate( { paddingRight:'22px' },300 ,'easeInOutQuad');
			moreIdeasHolder.children().filter('img').attr({src:'/public/images/backgrounds/more-ideas.gif'}).hide();
		}
	);
}

// Works out how to plot the CMS derived nav content into three columns
function navColumnSorter() {
	var alphaList=[];
	var betaList=[];
	var betaListVertPos=[];
	var ulPos=$('.navPanel ul').position();
	var thirdColVerticalOffset=0;
	var secondColVerticalOffset=0;
	var newNavItemTop=0;
	
	$('.navTop li.alpha').each(function(alphaCounter) {
		alphaList[alphaCounter]=$(this);
		naturalNavHeight=alphaList[alphaCounter].find('.navPanel').height();
		//alert(naturalNavHeight);//!!
		var vertDivider1to2=(naturalNavHeight/3);
		var vertDivider2to3=(naturalNavHeight/3)*2;
		
		//var newULHeight=vertDivider1to2 + 40;
		//alphaList[alphaCounter].find('.navPanel>ul').height(newULHeight);
		
		thirdColVerticalOffset=0;
		secondColVerticalOffset=0;
		
		alphaList[alphaCounter].find('li.beta').each(function(index) {
			
			betaList[index]=$(this);
			position = betaList[index].position();
			betaListVertPos[index]=position.top - ulPos.top;
			if (betaListVertPos[index]>vertDivider2to3) 
				{
					$(this).addClass('thirdColMarker');
					if (thirdColVerticalOffset===0) {thirdColVerticalOffset=position.top;}
				}
			else if (betaListVertPos[index] >vertDivider1to2 && betaListVertPos[index]<vertDivider2to3) 
				{
					$(this).addClass('secondColMarker');
					if (secondColVerticalOffset===0) {secondColVerticalOffset=position.top;}
				}
		});
		
		alphaList[alphaCounter].find('.navPanel').hide().css({'visibility':'visible'});
		
		alphaList[alphaCounter].find('li.beta').each(function(index) {
			betaList[index]=$(this);
			if (betaList[index].hasClass('thirdColMarker')) 
				{
					newNavItemTop=betaListVertPos[index]-thirdColVerticalOffset+30;
					betaList[index].css({'top':newNavItemTop});
					betaList[index].addClass('navThirdCol');
					betaList[index].removeClass('thirdColMarker');
				}
			else if (betaList[index].hasClass('secondColMarker')) 
				{
					newNavItemTop=betaListVertPos[index]-secondColVerticalOffset+30;
					betaList[index].css({'top':newNavItemTop});
					betaList[index].addClass('navSecondCol');
					betaList[index].removeClass('secondColMarker');
				}
			else {betaList[index].addClass('navFirstCol');}
		});
	});
} // end of navColumnSorter


/*
function ntopTabSwitcher(){
	var ntopTabSwitcherHeight;
	$('.moduleNtopCollection li:first-child').addClass('selected');
	ntopTabSwitcherHeight=$('.moduleNtopCollection li.selected ul').height() + $('.moduleNtopCollection li.selected').height() + 20;
	$('.moduleNtopCollection').height(ntopTabSwitcherHeight); // Set a height so that the 'See more attractions' link is just below the content
	
	$('.moduleNtopCollection li a').click(function() {
		$('.moduleNtopCollection li').removeClass('selected');
		$(this).parent().addClass('selected');
		ntopTabSwitcherHeight=$('.moduleNtopCollection li.selected ul').height() + $('.moduleNtopCollection li.selected').height() + 20;
		$('.moduleNtopCollection').height(ntopTabSwitcherHeight);
		return false;
    });
}
*/
function ntopTabSwitcher(){
    $('.moduleNtopCollection>li>a').click(function() {
        $('.moduleNtopCollection>li.selected').removeClass('selected');
        $(this).parent().addClass('selected');
        $('.moduleNtopCollection').height($('.moduleNtopCollection li.selected ul').height() + $('.moduleNtopCollection li.selected').height() + 20);
 // Set a height so that the 'See more attractions' link is just below the content
        return false;
    });
    $('.moduleNtopCollection>li:first-child>a').click();
}


function itineraryDaySwitcher(){
	$('.moduleItineraryAccordion li.alpha:first-child').addClass('selected');
	$('.moduleItineraryAccordion li.alpha a.itineraryDay').click(function() {
		$('.moduleItineraryAccordion li.alpha').removeClass('selected');
		$(this).parent().addClass('selected');
		return false;
    });
}


$(document).ready(function(){
	moreIdeas();
	ntopTabSwitcher();
	itineraryDaySwitcher();
	$( 'a#printItinerary' ).attr( 'href', 'javascript:void( 0 )' ).click(function(e){$( '.printable' ).print();e.preventDefault;});	

	if($('#normalPageHeaderFeatures #ShareThis').is(':visible')){
		$('#aggregatorResults').css({'margin-top':'-20px'})
	}	


// The 'Inspire Me' and 'Destination Finder' nav links to only appear when JS is switched on
//	$('ul.navTop li.last').show();
// Shift the breadcrumbs up now that the 'Inspire Me' and 'Destination Finder' nav links have appeared
	//$('.breadcrumbs').css({'margin-top':'0px'});	
	
// Routine to make single width modules appearing in a double width column to be spaced correctly.
	var myLeft;
	var position;
	var colAPos=$('.columnA').position();
	var singleMods = [];
	var marker = [];
	
	$('.columnA .singleWidthModule').each(function(index) {
		singleMods[index]=$(this);
		position = singleMods[index].position();
		myLeft=position.left - colAPos.left;
		if (myLeft>300) {
			marker[index]='R';
		}
		//else if (myLeft===0) {
		else if (myLeft<50) {
			marker[index]='L';
		}
	});
	
	$('.columnA .singleWidthModule').each(function(index) {
		singleMods[index]=$(this);
		if ($(this).hasClass('moduleOneColumnTeaser')){
			if (marker[index]=='R') {
				singleMods[index].addClass('colAOCT2');
			}
			else if (marker[index]=='L') {
				singleMods[index].addClass('colAOCT1');
			}
		}
		else if ($(this).hasClass('moduleDiscountTicket')){
			if (marker[index]=='R') {
				singleMods[index].addClass('colADT2');
			}
			else if (marker[index]=='L') {
				singleMods[index].addClass('colADT1');
			}
		}
		else {
			if (marker[index]=='R') {
				singleMods[index].addClass('colA2');
			}
			else if (marker[index]=='L') {
				singleMods[index].addClass('colA1');
			}		
		}
	});
	
	$('.columnA .speechBubbleHolder').each(function(index) {
		singleMods[index]=$(this);
		position = singleMods[index].position();
		myLeft=position.left - colAPos.left;
		if (myLeft>300) {
			marker[index]='R';
		}
		else if (myLeft===0) {
			marker[index]='L';
		}
	});
	
	$('.columnA .speechBubbleHolder').each(function(index) {
		singleMods[index]=$(this);
		if (marker[index]=='R') {
			singleMods[index].addClass('colA2SC');
		}
		else if (marker[index]=='L') {
			singleMods[index].addClass('colA1SC');
		}		
	});
	
// Use Cufon to insert the Script MT font
	Cufon.replace(['.errorModule p.leadIn','.speechBubble p.coda','.footnote','.cufonSubtitle','.moduleCheatSheet h2 span.attentionGrabber', '.homeWelcome p.welcome', '.moduleNewsletterThanks span' /*,'#inspiratorStart h1 span'*/], {hover: false});

// Module top ten list events
	$('#moduleTopTensList li').mouseover(function() {
		$(this).addClass('selected');
    });	

	$('#moduleTopTensList li').mouseout(function() {
		$(this).removeClass('selected');
    });
	
	navColumnSorter();

	$('.navTop li.alpha').click(
		function () {
			var currentNavPanel=$(this).find('.navPanel');
			var currentNavPanelStatus=$(this).find('.navPanel').is(':hidden');// for iPhone users
			if (currentNavPanelStatus) {
				//$('.breadcrumbs').hide();
				//$('.modal').show();
				//currentNavPanel.slideDown('fast');
				currentNavPanel.show();
				return false;
			}
		}, 
		function () {
			//$(this).find('.navPanel').slideUp('fast');
			$(this).find('.navPanel').hide();
			//$('.modal').hide();
			//$('.breadcrumbs').show();
		}
	);
// end of Navigation hover and click code	

	var defSearchVal = $('#searchSiteInput').val();
	
	$('#searchSiteInput,#errorSearch').focus(function() {
		if ($(this).val() == defSearchVal) {
			$(this).val('');
		}
    });
	$('#searchSiteInput,#errorSearch').blur(function() {
		if ($.trim($(this).val()) == '') {
			$(this).val(defSearchVal);
		}		
    });
    
  $('.evenMoreIdeas').bind('click',function(){
      var ideas = $(this).attr('data-ideas');
      EnjoyEngland.Cookies.write('ideasCookie', 'true');
      EnjoyEngland.Cookies.write('ideasTags', ideas);
  }); 
  
   
  if($('.moduleNTOPfinder').length){
      $('.moduleNTOPfinder h3.initLoad').addClass('selected');
      var formPicked=$('.moduleNTOPfinder h3.initLoad').attr('title');
      $('#ntopform').attr('src',formPicked);  
  }
  $('.moduleNTOPfinder h3').click(
    function () {
      $('.moduleNTOPfinder h3').removeClass('selected');
      $(this).addClass('selected');
      var formPicked=$(this).attr('title');
      $('#ntopform').attr('src',formPicked);
    }
  );    

});// end of $(document).ready(function(){

EnjoyEngland.NavPanel = {
	setup:function(){
			$(".navTop li.alpha").hoverIntent({
				sensitivity: 10, // How sensitive the hoverIntent should be
				interval: 500, // How often in milliseconds the onmouseover should be checked
				over: hoverIntentOver, // Function to call when mouseover is called    
				timeout: 500, // How often in milliseconds the onmouseout should be checked
				out: hoverIntentOut // Function to call when mouseout is called    
			});
	}
}
$( document ).ready( EnjoyEngland.NavPanel.setup );

EnjoyEngland.PlotPins = {
	minimap: null,
	setup:function(){
		EnjoyEngland.PlotPins.minimap = $( '.minimap' );
		jQuery.each( EnjoyEngland.PlotPins.minimap, function(i){

			var coords = $(this).attr('coordinates').split(",");
			
			var lat = parseFloat(coords[0]);
			var lon = parseFloat(coords[1]);
			var zoom = parseInt(coords[2]);
			var pinTop = Math.round(84 - ((lat-51.533)*12.216));
			
			// 58 = from left side of map to London.    
			// 0.083 London's longitude
			// 8.529 number of pixels that one degree of longitude occupies
			var fiddleFactor=((lat-50.056)*1.4);
			var pinLeft=0;
			if (lon<0) {pinLeft=Math.round(58 + ((lon-0.083)*8.529)+fiddleFactor); }
			else {pinLeft=Math.round(56 + ((lon+0.083)*8.529)+fiddleFactor); }	
			
			if($(this).find('img').hasClass('circleOverlay')){pinLeft-=9;pinTop+=5;}
			
			$(this).find('img').css({'left':pinLeft,'top':pinTop});	

			$(this).bind('click', function(e) {
				//EnjoyEngland.Maps.DestinationFinder.openToPoint(lat,lon,zoom);
				window.location = EnjoyEngland.DestinationFinder.url + '?lat='+lat +'&lon='+lon+'&zoom='+zoom;
				e.preventDefault();
			});
		});
	}
}
$( document ).ready( EnjoyEngland.PlotPins.setup );

EnjoyEngland.Forms =
{
	setup: function( parent )
	{
		if ( parent && typeof parent == 'object' )
		{
			// Styled Checkboxes
			$( parent ).find( 'input.checkbox, input.radio' ).checkBox();

			// Styled Dropdowns
			$( parent ).find( 'select' ).styledDropdown( { maxHeight:130, position:'fixed' } );
			
			// Ajax Forms
			EnjoyEngland.Forms.AjaxForms.setup( parent );
		}
		else
		{
			// Styled Checkboxes
			$( 'input.checkbox, input.radio' ).checkBox();
			
			// Styled Dropdowns
			$( 'select' ).styledDropdown( { maxHeight:130 } );
			
			// Ajax Forms
			EnjoyEngland.Forms.AjaxForms.setup( 'body' );
		}
	},
	
	Validation:
	{
		displayError: function( valid, element, text )
		{
			var input = $( element ).eq(0);
			var errorField;

			if ( !valid )
			{
				if ( input.hasClass( 'textField' ) )
				{
					errorField = input.parents( '.textFieldContainer' ).siblings( '.formError' );
				
					if ( !errorField.length )
					{
						errorField = $( '<div class="formError">' + text + '</div>' );
					
						input.parents( '.textFieldContainer' ).before( errorField );
						
						var height = errorField.height();
						
						errorField.css( { height:0 } ).animate( { height:height }, 250, 'easeInOutQuad' );
					}
					else errorField.text( text );
				}
				else if ( input.hasClass( 'checkbox' ) || input.hasClass( 'radio' ) )
				{
					errorField = input.parents( '.rowRadioCheckButton' ).siblings( '.formError' );
				
					if ( !errorField.length )
					{
						errorField = $( '<div class="formError">' + text + '</div>' );

						input.parents( '.rowRadioCheckButton' ).before( errorField );

						var height = errorField.height();

						errorField.css( { height:0 } ).animate( { height:height }, 250, 'easeInOutQuad' );
					}
					else errorField.text( text );
				}else if ( input.hasClass( 'textarea' ))
				{
					errorField = input.parents( '.textareaContainer' ).siblings( '.formError' );
				
					if ( !errorField.length )
					{
						errorField = $( '<div class="formError">' + text + '</div>' );

						input.parents( '.textareaContainer' ).before( errorField );

						var height = errorField.height();

						errorField.css( { height:0 } ).animate( { height:height }, 250, 'easeInOutQuad' );
					}
					else errorField.text( text );
				}				
			}
			else
			{
				if ( input.hasClass( 'textField' ) ) errorField = input.parents( '.textFieldContainer' ).siblings( '.formError' );
				else if ( input.hasClass( 'textarea' ) ) errorField = input.parents( '.textareaContainer' ).siblings( '.formError' );
				else if ( input.hasClass( 'checkbox' ) || input.hasClass( 'radio' ) ) errorField = input.parents( '.rowRadioCheckButton' ).siblings( '.formError' );
			
				if ( errorField ) errorField.animate( { height:0 }, 250, 'easeInOutQuad', function()
				{
					$( this ).remove();
				} );
			}
		}
	},
	
	AjaxForms:
	{
		setup: function ( parent )
		{
			$( parent ).find( 'form.ajaxForm' ).each( function()
			{
				var form = $( this );
				var validationObject = form.data( 'validations' );

				// remove auto validation
				if ( validationObject ) validationObject.unbindSubmit();
				
				// bind submit event
				form.bind( 'submit', EnjoyEngland.Forms.AjaxForms.submit );
			} );
		},
		
		submit: function(e)
		{
			var form = $( this );
			var validationObject = form.data( 'validations' );
			var validates = validationObject ? validationObject.validateForm() : true;
			var url = form[0].className.match( /ajaxForm-url-([^\s]+)/ );
			var callback = form[0].className.match( /ajaxForm-callback-([^\s]+)/ );

			if ( url && callback )
			{
				if ( validates ) form.ajaxSubmit( { url:url[1], dataType:'html', success:eval( callback[1] ) } );
			
				e.preventDefault();
			}
		}
	}
};

$( document ).ready( EnjoyEngland.Forms.setup );

// Clear form
function clearForm(ele) {
	tags = ele.getElementsByTagName('input');
	for(i = 0; i < tags.length; i++) {
		switch(tags[i].type) {
			case 'password': 
			case 'text': 
				tags[i].value = '';
				break;
			case 'checkbox':
			case 'radio':
				tags[i].checked = false;
				break;
			default:
				break;
		}
	}
	tags = ele.getElementsByTagName('select');
	for(i = 0; i < tags.length; i++) {
		if(tags[i].type == 'select-one') {
			tags[i].selectedIndex = 0;
		}
	}
	tags = ele.getElementsByTagName('textarea');
	for(i = 0; i < tags.length; i++) {
		tags[i].value = '';
	}
	$('.ui-dropdown-content').each(function(){
			if($(this).parent().parent().find("label").text() == 'title'){
				$(this).parent().parent().find('.ui-dropdown-content').html("Mr");
			} else if($(this).parent().parent().find("label").text() == 'Country') {
				$(this).parent().parent().find('.ui-dropdown-content').html("Choose a country");
			}
	});
	//$('span').removeClass('ui-checkbox-state-checked');
	jQuery.each($('.rowRadioCheckButton input'), function(){
		for(var i=0;i<2;i++){
		  $(this).checkBox('changeCheckStatus', false); 
		}
	});
	$('.formError').remove();
}

