/* paul collett 2011-12  -- paulcol.com */blackwoodfitness = {	ready:function(){		//newsletter box		$('#newsletter a').click(function(){			return false;		});		$('#newsletter input:last').remove();		//timetable header		if($('.timetable').length){			$('.timetable').fixedtableheader({highlightrow:true});									//create youtube images			$('div[data-ytvid]').each(function(){				var href = $(this).attr('data-ytvid');				var ytkey = href.replace(/.*?(youtube.com|youtu.be).*?(=|\/)([\w\-]{11}).*/,'$3');				if(href==ytkey) return;				$(this).after('<a class="timetablevid" href="'+href+'" data-yt="'+href+'" style="background-image:url(http://img.youtube.com/vi/'+ytkey+'/2.jpg);"><span></span></a>');			});		}				//setup lightbox for gallery images		$('#content .third.first a img,.gallery a img').parent().attr('rel','gallery[p]').lightbox({ fitToScreen: true,fileLoadingImage : '/assets/lightbox/loading.gif',fileBottomNavCloseImage : '/assets/lightbox/close.gif'});		//make external links open in new window		$.expr[':'].external = function(obj){		    return !obj.href.match(/^mailto\:/)		    && (obj.hostname != location.hostname);		};		$('a:external').attr({'target':'_blank','rel':'external'});		//make youtube video popups		var ytlinks = $('a[data-yt]');		if(ytlinks.length){			DIALOG.init();			$('a[data-yt]').click(function(){				var href = $(this).attr('href');				var ytkey = href.replace(/.*?(youtube.com|youtu.be).*?(=|\/)([\w\-]{11}).*/,'$3');				if(href==ytkey) return true;				var html = '<a class="dialog-close">&times; Close Video</a><div style="padding:5px;"><iframe width="853" height="480" src="http://www.youtube.com/embed/'+ytkey+'?&autoplay=1&showinfo=0&rel=0&modestbranding=1&theme=light&autohide=1" frameborder="0" allowfullscreen></iframe></div>';				DIALOG.cont(html);				DIALOG.open();				$('#dialog .dialog-close').click(function(){ DIALOG.close();return false; });				return false;			});		}		//input placeholders		$('input[placeholder], textarea[placeholder]').placeholder();		$('#newsletter a').click(function(){			var val = $('#newsletter input').val();			if(val==$('#newsletter input').attr('placeholder')) return false;			$(this).html('Subscribing&hellip;');			$.post('/assets/newsletter.php',{email:val},function(r){				r = $.parseJSON(r);				if(!r.status){					alert(r.message);					$('#newsletter a').html('Subscribe');				}else $('#newsletter').html('<p><br /><strong>'+r.message+'</strong></p>');			});		});				//print buttons		$('a[href=#print]').click(function(){			window.print();			return false;		});	}}//Init JS$(document).ready(blackwoodfitness.ready);//Load Custom FontWebFontConfig = {google: { families: [ 'Droid Sans','Droid Sans:bold' ] }};(function() {	var wf = document.createElement('script');	wf.src = ('https:' == document.location.protocol ? 'https' : 'http') +'://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';	wf.type = 'text/javascript';	wf.async = 'true';	var s = document.getElementsByTagName('script')[0];	s.parentNode.insertBefore(wf, s);})();//input placeholder(function(b){function d(a){this.input=a;a.attr("type")=="password"&&this.handlePassword();b(a[0].form).submit(function(){if(a.hasClass("placeholder")&&a[0].value==a.attr("placeholder"))a[0].value=""})}d.prototype={show:function(a){if(this.input[0].value===""||a&&this.valueIsPlaceholder()){if(this.isPassword)try{this.input[0].setAttribute("type","text")}catch(b){this.input.before(this.fakePassword.show()).hide()}this.input.addClass("placeholder");this.input[0].value=this.input.attr("placeholder")}},hide:function(){if(this.valueIsPlaceholder()&&this.input.hasClass("placeholder")&&(this.input.removeClass("placeholder"),this.input[0].value="",this.isPassword)){try{this.input[0].setAttribute("type","password")}catch(a){}this.input.show();this.input[0].focus()}},valueIsPlaceholder:function(){return this.input[0].value==this.input.attr("placeholder")},handlePassword:function(){var a=this.input;a.attr("realType","password");this.isPassword=!0;if(b.browser.msie&&a[0].outerHTML){var c=b(a[0].outerHTML.replace(/type=(['"])?password\1/gi,"type=$1text$1"));this.fakePassword=c.val(a.attr("placeholder")).addClass("placeholder").focus(function(){a.trigger("focus");b(this).hide()});b(a[0].form).submit(function(){c.remove();a.show()})}}};var e=!!("placeholder"in document.createElement("input"));b.fn.placeholder=function(){return e?this:this.each(function(){var a=b(this),c=new d(a);c.show(!0);a.focus(function(){c.hide()});a.blur(function(){c.show(!1)});b.browser.msie&&(b(window).load(function(){a.val()&&a.removeClass("placeholder");c.show(!0)}),a.focus(function(){if(this.value==""){var a=this.createTextRange();a.collapse(!0);a.moveStart("character",0);a.select()}}))})}})(jQuery);//Lightbox(function($){$.fn.lightbox=function(options){var opts=$.extend({},$.fn.lightbox.defaults,options);return this.each(function(){$(this).click(function(){initialize();start(this);return false})});function initialize(){$("#overlay").remove();$("#lightbox").remove();opts.inprogress=false;if(opts.jsonData&&opts.jsonData.length>0){var parser=opts.jsonDataParser?opts.jsonDataParser:$.fn.lightbox.parseJsonData;opts.imageArray=[];opts.imageArray=parser(opts.jsonData)}var outerImage='<div id="outerImageContainer"><div id="imageContainer"><iframe id="lightboxIframe" /><img id="lightboxImage"><div id="hoverNav"><a href="javascript://" title="'+opts.strings.prevLinkTitle+'" id="prevLink"></a><a href="javascript://" id="nextLink" title="'+opts.strings.nextLinkTitle+'"></a></div><div id="loading"><a href="javascript://" id="loadingLink"><img src="'+opts.fileLoadingImage+'"></a></div></div></div>';var imageData='<div id="imageDataContainer" class="clearfix"><div id="imageData"><div id="imageDetails"><span id="caption"></span><span id="numberDisplay"></span></div><div id="bottomNav">';if(opts.displayHelp)imageData+='<span id="helpDisplay">'+opts.strings.help+"</span>";imageData+='<a href="javascript://" id="bottomNavClose" title="'+opts.strings.closeTitle+'"><img src="'+opts.fileBottomNavCloseImage+'"></a></div></div></div>';var string;if(opts.navbarOnTop){string='<div id="overlay"></div><div id="lightbox">'+imageData+outerImage+"</div>";$("body").append(string);$("#imageDataContainer").addClass("ontop")}else{string='<div id="overlay"></div><div id="lightbox">'+outerImage+imageData+"</div>";$("body").append(string)}$("#overlay").click(function(){end()}).hide();$("#lightbox").click(function(){end()}).hide();$("#loadingLink").click(function(){end();return false});$("#bottomNavClose").click(function(){end();return false});$("#outerImageContainer").width(opts.widthCurrent).height(opts.heightCurrent);$("#imageDataContainer").width(opts.widthCurrent);if(!opts.imageClickClose){$("#lightboxImage").click(function(){return false});$("#hoverNav").click(function(){return false})}}function getPageSize(){var jqueryPageSize=new Array($(document).width(),$(document).height(),$(window).width(),$(window).height());return jqueryPageSize}function getPageScroll(){var xScroll,yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;xScroll=self.pageXOffset}else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;xScroll=document.documentElement.scrollLeft}else if(document.body){yScroll=document.body.scrollTop;xScroll=document.body.scrollLeft}var arrayPageScroll=new Array(xScroll,yScroll);return arrayPageScroll}function pause(ms){var date=new Date;var curDate=null;do curDate=new Date;while(curDate-date<ms)}function start(imageLink){$("select, embed, object").hide();var arrayPageSize=getPageSize();$("#overlay").hide().css({width:"100%",height:arrayPageSize[1]+"px",opacity:opts.overlayOpacity}).fadeIn();imageNum=0;if(!opts.jsonData){opts.imageArray=[];if(!imageLink.rel||imageLink.rel=="")opts.imageArray.push(new Array(imageLink.href,opts.displayTitle?imageLink.title:""));else $("a").each(function(){if(this.href&&this.rel==imageLink.rel)opts.imageArray.push(new Array(this.href,opts.displayTitle?this.title:""))})}if(opts.imageArray.length>1){for(i=0;i<opts.imageArray.length;i++)for(j=opts.imageArray.length-1;j>i;j--)if(opts.imageArray[i][0]==opts.imageArray[j][0])opts.imageArray.splice(j,1);while(opts.imageArray[imageNum][0]!=imageLink.href)imageNum++}var arrayPageScroll=getPageScroll();var lightboxTop=arrayPageScroll[1]+arrayPageSize[3]/10;var lightboxLeft=arrayPageScroll[0];$("#lightbox").css({top:lightboxTop+"px",left:lightboxLeft+"px"}).show();if(!opts.slideNavBar)$("#imageData").hide();changeImage(imageNum)}function changeImage(imageNum){if(opts.inprogress==false){opts.inprogress=true;opts.activeImage=imageNum;$("#loading").show();$("#lightboxImage").hide();$("#hoverNav").hide();$("#prevLink").hide();$("#nextLink").hide();if(opts.slideNavBar){$("#imageDataContainer").hide();$("#imageData").hide();doChangeImage()}else doChangeImage()}}function doChangeImage(){imgPreloader=new Image;imgPreloader.onload=function(){var newWidth=imgPreloader.width;var newHeight=imgPreloader.height;if(opts.fitToScreen){var arrayPageSize=getPageSize();var ratio;var initialPageWidth=arrayPageSize[2]-2*opts.borderSize;var initialPageHeight=arrayPageSize[3]-200;if(imgPreloader.height>initialPageHeight){newWidth=parseInt(initialPageHeight/imgPreloader.height*imgPreloader.width);newHeight=initialPageHeight}else if(imgPreloader.width>initialPageWidth){newHeight=parseInt(initialPageWidth/imgPreloader.width*imgPreloader.height);newWidth=initialPageWidth}}$("#lightboxImage").attr("src",opts.imageArray[opts.activeImage][0]).width(newWidth).height(newHeight);resizeImageContainer(newWidth,newHeight)};imgPreloader.src=opts.imageArray[opts.activeImage][0]}function end(){disableKeyboardNav();$("#lightbox").hide();$("#overlay").fadeOut();$("select, object, embed").show()}function preloadNeighborImages(){if(opts.loopImages&&opts.imageArray.length>1){preloadNextImage=new Image;preloadNextImage.src=opts.imageArray[opts.activeImage==opts.imageArray.length-1?0:opts.activeImage+1][0];preloadPrevImage=new Image;preloadPrevImage.src=opts.imageArray[opts.activeImage==0?opts.imageArray.length-1:opts.activeImage-1][0]}else{if(opts.imageArray.length-1>opts.activeImage){preloadNextImage=new Image;preloadNextImage.src=opts.imageArray[opts.activeImage+1][0]}if(opts.activeImage>0){preloadPrevImage=new Image;preloadPrevImage.src=opts.imageArray[opts.activeImage-1][0]}}}function resizeImageContainer(imgWidth,imgHeight){opts.widthCurrent=$("#outerImageContainer").outerWidth();opts.heightCurrent=$("#outerImageContainer").outerHeight();var widthNew=Math.max(350,imgWidth+opts.borderSize*2);var heightNew=imgHeight+opts.borderSize*2;opts.xScale=widthNew/opts.widthCurrent*100;opts.yScale=heightNew/opts.heightCurrent*100;wDiff=opts.widthCurrent-widthNew;hDiff=opts.heightCurrent-heightNew;$("#imageDataContainer").animate({width:widthNew},opts.resizeSpeed,"linear");$("#outerImageContainer").animate({width:widthNew},opts.resizeSpeed,"linear",function(){$("#outerImageContainer").animate({height:heightNew},opts.resizeSpeed,"linear",function(){showImage()})});if(hDiff==0&&wDiff==0)if(jQuery.browser.msie)pause(250);else pause(100);$("#prevLink").height(imgHeight);$("#nextLink").height(imgHeight)}function showImage(){$("#loading").hide();$("#lightboxImage").fadeIn("fast");updateDetails();preloadNeighborImages();opts.inprogress=false}function updateDetails(){$("#numberDisplay").html("");if(opts.imageArray[opts.activeImage][1])$("#caption").html(opts.imageArray[opts.activeImage][1]).show();if(opts.imageArray.length>1){var nav_html;nav_html=opts.strings.image+(opts.activeImage+1)+opts.strings.of+opts.imageArray.length;if(!opts.disableNavbarLinks){if(opts.activeImage>0||opts.loopImages)nav_html='<a title="'+opts.strings.prevLinkTitle+'" href="#" id="prevLinkText">'+opts.strings.prevLinkText+"</a>"+nav_html;if(opts.activeImage+1<opts.imageArray.length||opts.loopImages)nav_html+='<a title="'+opts.strings.nextLinkTitle+'" href="#" id="nextLinkText">'+opts.strings.nextLinkText+"</a>"}$("#numberDisplay").html(nav_html).show()}if(opts.slideNavBar)$("#imageData").slideDown(opts.navBarSlideSpeed);else $("#imageData").show();var arrayPageSize=getPageSize();$("#overlay").height(arrayPageSize[1]);updateNav()}function updateNav(){if(opts.imageArray.length>1){$("#hoverNav").show();if(opts.loopImages){$("#prevLink,#prevLinkText").show().click(function(){changeImage(opts.activeImage==0?opts.imageArray.length-1:opts.activeImage-1);return false});$("#nextLink,#nextLinkText").show().click(function(){changeImage(opts.activeImage==opts.imageArray.length-1?0:opts.activeImage+1);return false})}else{if(opts.activeImage!=0)$("#prevLink,#prevLinkText").show().click(function(){changeImage(opts.activeImage-1);return false});if(opts.activeImage!=opts.imageArray.length-1)$("#nextLink,#nextLinkText").show().click(function(){changeImage(opts.activeImage+1);return false})}enableKeyboardNav()}}function keyboardAction(e){var o=e.data.opts;var keycode=e.keyCode;var escapeKey=27;var key=String.fromCharCode(keycode).toLowerCase();if(key=="x"||key=="o"||key=="c"||keycode==escapeKey)end();else if(key=="p"||keycode==37)if(o.loopImages){disableKeyboardNav();changeImage(o.activeImage==0?o.imageArray.length-1:o.activeImage-1)}else{if(o.activeImage!=0){disableKeyboardNav();changeImage(o.activeImage-1)}}else if(key=="n"||keycode==39)if(opts.loopImages){disableKeyboardNav();changeImage(o.activeImage==o.imageArray.length-1?0:o.activeImage+1)}else if(o.activeImage!=o.imageArray.length-1){disableKeyboardNav();changeImage(o.activeImage+1)}}function enableKeyboardNav(){$(document).bind("keydown",{opts:opts},keyboardAction)}function disableKeyboardNav(){$(document).unbind("keydown")}};$.fn.lightbox.parseJsonData=function(data){var imageArray=[];$.each(data,function(){imageArray.push(new Array(this.url,this.title))});return imageArray};$.fn.lightbox.defaults={fileLoadingImage:"images/loading.gif",fileBottomNavCloseImage:"images/closelabel.gif",overlayOpacity:0.8,borderSize:10,imageArray:new Array,activeImage:null,inprogress:false,resizeSpeed:350,widthCurrent:250,heightCurrent:250,xScale:1,yScale:1,displayTitle:true,navbarOnTop:false,slideNavBar:false,navBarSlideSpeed:350,displayHelp:false,strings:{help:" \u2190 / P - previous image\u00a0\u00a0\u00a0\u00a0\u2192 / N - next image\u00a0\u00a0\u00a0\u00a0ESC / X - close image gallery",prevLinkTitle:"previous image",nextLinkTitle:"next image",prevLinkText:"&laquo; Previous",nextLinkText:"Next &raquo;",closeTitle:"close image gallery",image:"Image ",of:" of "},fitToScreen:false,disableNavbarLinks:false,loopImages:false,imageClickClose:true,jsonData:null,jsonDataParser:null}})(jQuery);DIALOG = {	init:function(){		if(DIALOG.dialog) return false;			this.dialog = $('<div id="dialog" style="display:none" />');		this.bg = $('<div id="dialog-background" style="display:none" />');				this.bg.css('opacity',0.4);				$('body').append(this.dialog).append(this.bg);				$(window).resize(function(){			DIALOG.resize();		});			},	open:function(){				if(!this.content) this.content ='';		if(this.strtitle&&this.content.indexOf('class="title"')<0){			this.content = this.strtitle+this.content;		}		this.dialog.html(this.content);		if(this.elbuttons) this.dialog.append(this.elbuttons);		this.dialog.show();		this.resize();		this.bg.fadeIn('fast');				return this;	},	close:function(){		DIALOG.content = false;		DIALOG.image = false;		DIALOG.strtitle = false;		DIALOG.elbuttons = false;		DIALOG.dialog.hide().empty();		DIALOG.bg.hide();		return DIALOG;	},	cont:function(html){		this.content = html;		return this;	},	resize:function(){		var w = this.dialog.outerWidth(),h= this.dialog.outerHeight(),wh=$(window).height();				if(h>wh){			this.dialog.css({'position':'absolute','top':20,'margin-top':0,'margin-left':-w/2});		}else{			this.dialog.css({'position':'fixed','top':'50%','margin-left':-w/2,'margin-top':-h/2});		}				return this;	}};
