(function($) {
    var cache = [];
    // Arguments are image paths relative to the current page.
        $.preLoadImages = function() {
        var args_len = arguments.length;
        for (var i = args_len; i--;) {
          var cacheImage = document.createElement('img');
          cacheImage.src = arguments[i];
          cache.push(cacheImage);
        }
    }
	jQuery.noConflict();
	
    $("document").ready(function() {

    	var showTitleCooltimes = $('body#home #element1942071_781165 .blogsElement .blogList ul li:first-child');
    	if (showTitleCooltimes) {showTitleCooltimes.html('<h3 class="homeTitle">Most recent Cool Times</h3><center><img src="/Websites/cca/Images/cooltimes-cover.jpg" title="cover of Cool Times issue"></center>'+showTitleCooltimes.html());}
    	var showAllCooltimes = $('body#home #element1942071_781165 div.rss');
    	if (showAllCooltimes) {showAllCooltimes.html('<a href="/cca-cool-times" class="showAll">show all Cool Times »</a>');}

    	var showTitlePressRelease = $('body#home #element1948331_781165 .blogsElement .blogList ul li:first-child');
    	if (showTitlePressRelease) {showTitlePressRelease.html('<h3 class="homeTitle">Latest Press Releases</h3>'+showTitlePressRelease.html());}
    	var showAllPressreleases = $('body#home #element1948331_781165 div.rss');
    	if (showAllPressreleases) {showAllPressreleases.html('<a href="/press-releases" class="showAll">show all Press Releases »</a>');}

    	var showTitleIndustryRelevant = $('body#home #element1917912_781165 .blogsElement .blogList ul li:first-child');
    	if (showTitleIndustryRelevant) {showTitleIndustryRelevant.html('<h3 class="homeTitle">Latest Industry Relevant</h3>'+showTitleIndustryRelevant.html());}
    	var showAllIndustryRelevant = $('body#home #element1917912_781165 div.rss');
    	if (showAllIndustryRelevant) {showAllIndustryRelevant.html('<a href="/industry-relevant" class="showAll">show all Industry Relevant »</a>');}
    	
    	var showTitleEvents = $('body#home #element1948229_781165 .eventsElement .eventsList ul li:first-child');
    	if (showTitleEvents) {showTitleEvents.html('<h3 class="homeTitle">First upcoming events</h3>'+showTitleEvents.html());}
    	var showAllEvents = $('body#home #element1948229_781165 .eventsElement .eventsList ul li:last-child');
    	if (showAllEvents) {showAllEvents.html(showAllEvents.html()+'<div class="showAll"><a href="/events-list-view" class="showAll">show all Events »</a></div>');}

		var ctl17_txtQueryInput = $("div#sitesearch .search input.searchInput");
		if (ctl17_txtQueryInput){
			fillSearchinput();
		}
		ctl17_txtQueryInput.focus(clearSearchinput);
		ctl17_txtQueryInput.blur(fillSearchinput);
		
		function clearSearchinput(){
			ctl17_txtQueryInput.css('color','#000');
			ctl17_txtQueryInput.val('');
		}
		function fillSearchinput(){
			ctl17_txtQueryInput.css('color','#00539F');
			ctl17_txtQueryInput.val('SITE SEARCH');
		}
		
		/* ----------------------------------------------------------------
		Collect h1.titles and inject within the bordered div
		-----------------------------------------------------------------*/
		var linksModule = $('div.linksModule ul li:first-child a');
		var adminView = $('#adminbar #toolbar').length;

		if (adminView && linksModule) {
			// don't remove attributes href in edit mode (disables the edit functionality)
			linksModule.addClass('h2title');

		} else {

			linksModule.removeAttr('href').removeAttr('target').addClass('h2title');
		}
		

		/* ----------------------------------------------------------------
		Add classes to every individual event, for styling and filtering purpose
		-----------------------------------------------------------------*/
		var sysDate = new Date();
		var todaysMonth = sysDate.getMonth();
		var todaysDay = sysDate.getDate();
		$('body.events .eventsElement .eventDate').each(function(index) {
			
			var myDate = new Date($(this).html());
			var curr_date = myDate.getDate();
			var curr_day = myDate.getDay();
			var curr_month = myDate.getMonth();
			var curr_year = myDate.getFullYear();

			var spanclass = 'future';

			if (curr_date < todaysDay && curr_month <= todaysMonth) { spanclass = 'past'; }
			if (curr_date == todaysDay && curr_month == todaysMonth) { spanclass = 'today'; }

//			$(this).html('<span class="' + spanclass +'">'+ curr_date +'</span>'+$(this).html());
			$(this).parent().addClass(curr_month+'');
			$(this).addClass(spanclass);
		
		});
		/* ----------------------------------------------------------------
		On body load filter only the events of the current month
		-----------------------------------------------------------------*/
		$("body.events ul.selectDate li a").removeClass();
		$('body.events ul.selectDate li a#'+todaysMonth).addClass('selectedPage');
		filterEventsPerMonth(todaysMonth);
			
		/* ----------------------------------------------------------------
		Caldendar : Show Events of the selected month
		-----------------------------------------------------------------*/
		$("body.events ul.selectDate li a").click(function() {
			var month = $(this).attr('id');
			
			$("ul.selectDate li a").removeClass();
			$(this).addClass('selectedPage');
			
			if (!month) {
				$("div.eventsList ul li").show();
			} else if (month == '12') {
				$("div.eventsList ul li").show('slow');
			} else {
				$("div.eventsList ul li").hide().filter(function() {
					return $(this).hasClass(month);
				}).show('slow');
			}
		});
		/* ----------------------------------------------------------------
		Members : Show Members of the selected country
		-----------------------------------------------------------------*/
		$("body#members input#filterMembers").keyup(function() {
			var terms = $(this).val().toLowerCase();
			if (!terms) {
				$(".membercolumn1 .element, .membercolumn2 .element").show();
			} else {
				$(".membercolumn1 .element, .membercolumn2 .element").hide().filter(function() {
					return $(this).text().toLowerCase().indexOf(terms) > -1 ;
				}).show('slow');
			}
		});
		/* ----------------------------------------------------------------
		Members : Show Members of the selected country
		-----------------------------------------------------------------*/
		$("body#members ul#filterCountries li a").click(function() {
			var country = $(this).html();
			
			$("ul#filterCountries li a").removeClass();
			$(this).addClass('selectedPage');
			
			if (!country) {
				$(".membercolumn1 .element, .membercolumn2 .element").show();
			} else if (country == 'Show all') {
				$(".membercolumn1 .element, .membercolumn2 .element").show('slow');
			} else {
				$(".membercolumn1 .element, .membercolumn2 .element").hide().filter(function() {
					return $(this).text().indexOf(country) > 1;
				}).show('slow');
			}
		});

		/* ----------------------------------------------------------------
		Blog : Filter items
		-----------------------------------------------------------------*/
		$("input#coolTimes, input#pressReleases, input#industryRelevant").keyup(function() {
	
			var terms = $(this).val().toLowerCase();
			if (!terms) {
				$(".col2 .blogsElement .blogList ul li").show();
			} else {
				$(".col2 .blogsElement .blogList ul li").hide().filter(function() {
					return ($(this).children(".postTitle").text().toLowerCase().indexOf(terms) > -1 ) || ($(this).children(".postBody").text().toLowerCase().indexOf(terms) > -1 ) || ($(this).children(".postInfo").text().toLowerCase().indexOf(terms) > -1 );
				}).show();
			}
		});
		/* ----------------------------------------------------------------
		Function to filter the events per month
		-----------------------------------------------------------------*/
		function filterEventsPerMonth(todaysMonth){

			if (!todaysMonth) {
				$("body.events div.eventsList ul li").show();
			} else {
				$("body.events div.eventsList ul li").hide().filter(function() {
					return $(this).hasClass(todaysMonth);
				}).show('slow');
			}
		}
    });

})(jQuery)
