/*
 * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
 *
 * Uses the built in easing capabilities added In jQuery 1.1
 * to offer multiple easing options
 *
 * TERMS OF USE - jQuery Easing
 * 
 * Open source under the BSD License. 
 * 
 * Copyright Œ© 2008 George McGinley Smith
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without modification, 
 * are permitted provided that the following conditions are met:
 * 
 * Redistributions of source code must retain the above copyright notice, this list of 
 * conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list 
 * of conditions and the following disclaimer in the documentation and/or other materials 
 * provided with the distribution.
 * 
 * Neither the name of the author nor the names of contributors may be used to endorse 
 * or promote products derived from this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
 * OF THE POSSIBILITY OF SUCH DAMAGE. 
 *
*/

// t: current time, b: begInnIng value, c: change In value, d: duration
jQuery.easing['jswing'] = jQuery.easing['swing'];

jQuery.extend( jQuery.easing,
{
	def: 'easeOutQuad',
	swing: function (x, t, b, c, d) {
		//alert(jQuery.easing.default);
		return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
	},
	easeInQuad: function (x, t, b, c, d) {
		return c*(t/=d)*t + b;
	},
	easeOutQuad: function (x, t, b, c, d) {
		return -c *(t/=d)*(t-2) + b;
	},
	easeInOutQuad: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t + b;
		return -c/2 * ((--t)*(t-2) - 1) + b;
	},
	easeInCubic: function (x, t, b, c, d) {
		return c*(t/=d)*t*t + b;
	},
	easeOutCubic: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t + 1) + b;
	},
	easeInOutCubic: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t + b;
		return c/2*((t-=2)*t*t + 2) + b;
	},
	easeInQuart: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t + b;
	},
	easeOutQuart: function (x, t, b, c, d) {
		return -c * ((t=t/d-1)*t*t*t - 1) + b;
	},
	easeInOutQuart: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
		return -c/2 * ((t-=2)*t*t*t - 2) + b;
	},
	easeInQuint: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t*t + b;
	},
	easeOutQuint: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t*t*t + 1) + b;
	},
	easeInOutQuint: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
		return c/2*((t-=2)*t*t*t*t + 2) + b;
	},
	easeInSine: function (x, t, b, c, d) {
		return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
	},
	easeOutSine: function (x, t, b, c, d) {
		return c * Math.sin(t/d * (Math.PI/2)) + b;
	},
	easeInOutSine: function (x, t, b, c, d) {
		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
	},
	easeInExpo: function (x, t, b, c, d) {
		return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
	},
	easeOutExpo: function (x, t, b, c, d) {
		return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
	},
	easeInOutExpo: function (x, t, b, c, d) {
		if (t==0) return b;
		if (t==d) return b+c;
		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
	},
	easeInCirc: function (x, t, b, c, d) {
		return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
	},
	easeOutCirc: function (x, t, b, c, d) {
		return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
	},
	easeInOutCirc: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
		return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
	},
	easeInElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
	},
	easeOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
	},
	easeInOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
		return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
	},
	easeInBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*(t/=d)*t*((s+1)*t - s) + b;
	},
	easeOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
	},
	easeInOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158; 
		if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
		return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
	},
	easeInBounce: function (x, t, b, c, d) {
		return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
	},
	easeOutBounce: function (x, t, b, c, d) {
		if ((t/=d) < (1/2.75)) {
			return c*(7.5625*t*t) + b;
		} else if (t < (2/2.75)) {
			return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
		} else if (t < (2.5/2.75)) {
			return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
		} else {
			return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
		}
	},
	easeInOutBounce: function (x, t, b, c, d) {
		if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
		return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
	}
});

/*
 *
 * TERMS OF USE - EASING EQUATIONS
 * 
 * Open source under the BSD License. 
 * 
 * Copyright Œ© 2001 Robert Penner
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without modification, 
 * are permitted provided that the following conditions are met:
 * 
 * Redistributions of source code must retain the above copyright notice, this list of 
 * conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list 
 * of conditions and the following disclaimer in the documentation and/or other materials 
 * provided with the distribution.
 * 
 * Neither the name of the author nor the names of contributors may be used to endorse 
 * or promote products derived from this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
 * OF THE POSSIBILITY OF SUCH DAMAGE. 
 *
 */
 
 /*
CSS Browser Selector v0.4.0 (Nov 02, 2010)
Rafael Lima (http://rafael.adm.br)
http://rafael.adm.br/css_browser_selector
License: http://creativecommons.org/licenses/by/2.5/
Contributors: http://rafael.adm.br/css_browser_selector#contributors
*/
function css_browser_selector(u){var ua=u.toLowerCase(),is=function(t){return ua.indexOf(t)>-1},g='gecko',w='webkit',s='safari',o='opera',m='mobile',h=document.documentElement,b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+RegExp.$1):is('firefox/2')?g+' ff2':is('firefox/3.5')?g+' ff3 ff3_5':is('firefox/3.6')?g+' ff3 ff3_6':is('firefox/3')?g+' ff3':is('gecko/')?g:is('opera')?o+(/version\/(\d+)/.test(ua)?' '+o+RegExp.$1:(/opera(\s|\/)(\d+)/.test(ua)?' '+o+RegExp.$2:'')):is('konqueror')?'konqueror':is('blackberry')?m+' blackberry':is('android')?m+' android':is('chrome')?w+' chrome':is('iron')?w+' iron':is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.$1:''):is('mozilla/')?g:'',is('j2me')?m+' j2me':is('iphone')?m+' iphone':is('ipod')?m+' ipod':is('ipad')?m+' ipad':is('mac')?'mac':is('darwin')?'mac':is('webtv')?'webtv':is('win')?'win'+(is('windows nt 6.0')?' vista':''):is('freebsd')?'freebsd':(is('x11')||is('linux'))?'linux':'','js']; c = b.join(' '); h.className += ' '+c; return c;}; css_browser_selector(navigator.userAgent);


/*$(window).load(function() {

	// set up vars
	
	var flowpaneHeight = $('#flowpanes').outerHeight();

	// set up bottom nav
	
	$('#homenav img').each(function() {
		var largeWidth = $(this).outerWidth();
		var largeHeight = $(this).outerHeight();
		var largeMarginLeft = Math.round(largeWidth/2);
		var largeMarginTop = Math.round(largeHeight/2);
		var smallWidth = Math.round(largeWidth*0.8);
		var smallHeight = Math.round(largeHeight*0.8);
		var smallMarginLeft = Math.round(smallWidth/2);
		var smallMarginTop = Math.round(smallHeight/2);
		
		$(this).css('height',smallHeight);
		$(this).css('width',smallWidth);
		$(this).css('marginLeft',smallMarginLeft*-1);
		$(this).css('marginTop',smallMarginTop*-1);
		$(this).show();
		
		// add hover state to images
		$(this).hover(function(){
			$(this).stop(true,false).animate({
				height:largeHeight,
				width:largeWidth,
				marginLeft:largeMarginLeft*-1,
				marginTop:largeMarginTop*-1
			},250);
		},function(){
			$(this).stop(true,false).animate({
				height:smallHeight,
				width:smallWidth,
				marginLeft:smallMarginLeft*-1,
				marginTop:smallMarginTop*-1
			},50);
		});
	})
	
// vertical align diy images in holder
	$('.diyimage img').each(function() {
		var diyMargin = Math.round(((flowpaneHeight-$(this).outerHeight())/2));
		$(this).css('marginTop',diyMargin);
	}); 	

});	*/

$(document).ready(function(){

	$('#stage_mh').remove();
	
	// set up vars
	
	var changeFlowpaneInterval;
	var menuDisable = 0;
	var previousPanel = 1;
	var panelCount = $('#flowpanes .panel').size();
	var panelWidth = $('#flowpanes > .panel').outerWidth();	
	var flowpaneHeight = $('#flowpanes').outerHeight();
	var contentMargin;
	var changeFactInterval;
	var pageURL = encodeURI(window.location);
	
	var tweetArray = new Array();
	tweetArray[0] = new Array();
	tweetArray[0][0] = 1;
	tweetArray[0][1] = "At the end of each day, @pret_uk give all unsold sandwiches to homeless charities.";
	tweetArray[1] = new Array();
	tweetArray[1][0] = 2;
	tweetArray[1][1] = "To ensure food is fresh, @pret_uk build kitchens in their shops (except for a few tiny ones)";
	tweetArray[2] = new Array();
	tweetArray[2][0] = 3;
	tweetArray[2][1] = "Nearly all @pret_uk London shops ensure that 100% of waste doesn't end up in landfill";
	tweetArray[3] = new Array();
	tweetArray[3][0] = 4;
	tweetArray[3][1] = "The skipjack tuna at @pret_uk is caught using pole & line fishing which means it's only tuna that gets caught & nothing else.";
	tweetArray[4] = new Array();
	tweetArray[4][0] = 5;
	tweetArray[4][1] = "Amazing ingredients are dropped off every day to @pret_uk shops to make their food.";
	tweetArray[5] = new Array();
	tweetArray[5][0] = 6;
	tweetArray[5][1] = "The first @pret_uk little shop opened in 1986, Pret has been creating good, natural food ever since";
	tweetArray[6] = new Array();
	tweetArray[6][0] = 7;
	tweetArray[6][1] = "To ensure people in head office understand @pret_uk shops, everyone spends 2 days working in store";
	tweetArray[7] = new Array();
	tweetArray[7][0] = 8;
	tweetArray[7][1] = "All @pret_uk baguettes, croissants and pastries are freshly baked in each shop throughout the day";
	
	shuffle = function(o){ //v1.0
		for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
		return o;
	};
	
	shuffle(tweetArray)
	
	var arrayLength = tweetArray.length;
	var arrayCount = 0;
	
	var tweetText = escape('#PretFacts '+tweetArray[0][1]);
	$('.tweetshare .twitter').attr('href','http://twitter.com?status='+tweetText);
	$('.tweetshare .facebook').attr('href','http://www.facebook.com/share.php?u='+pageURL+'&t='+escape(tweetArray[0][1]));
	
	// define functions
	/*	
	function changeFlowpane(p_id) {
		if (p_id != previousPanel) {
			if (menuDisable == 0) {
				clearInterval(changeFlowpaneInterval);
				menuDisable = 1;
				$('#flowpanes:not(.home) .panel:nth-child('+previousPanel+')').animate({
					left:panelWidth*-1
				},1000,'easeInQuint',function() {
					$('#flowpanes .panel').css('left',panelWidth);
					$('#flowpanes .panel:nth-child('+p_id+')').animate({
						left:'0'
					},1000,'easeOutQuint',function() {
						menuDisable = 0;
						previousPanel = p_id;
					});
				});
			}
		}

	
	function triggerChange(p_id) {
		clearInterval(changeFlowpaneInterval);
		changeFlowpaneInterval = setInterval(function(){
			changeFlowpane(p_id);
		},1);
	}
    }*/	
	function changeFact() {
		$('.didyouknow .facts .item:nth-child('+tweetArray[arrayCount][0]+')').fadeOut('slow',function() {
			if(arrayCount != (arrayLength-1)) {
				arrayCount = arrayCount+1;
			} else {
				arrayCount = 0;
			}
			$('.didyouknow .facts .item:nth-child('+tweetArray[arrayCount][0]+')').fadeIn('slow',function() {
				tweetText = escape('#PretFacts '+tweetArray[arrayCount][1]);
				$('.tweetshare .twitter').attr('href','http://twitter.com?status='+tweetText);
				$('.tweetshare .facebook').attr('href','http://www.facebook.com/share.php?u='+pageURL+'&t='+escape(tweetArray[arrayCount][1]));
				factTimer();
			});
		});
		$('.home .diyimage img:nth-child('+tweetArray[arrayCount][0]+')').fadeOut('slow',function() {
		$('.home .diyimage img:nth-child('+tweetArray[arrayCount][0]+')').fadeIn('slow');
		});
	}
	
	function factTimer() {
		changeFactInterval = setTimeout(function(){
			changeFact();
		},30000);
	}
	
	factTimer();
	
/*	// match diyimage height to flowpanes
	$('.diyimage').css('height',$('#flowpanes').outerHeight());
		
	// vertical align content within panels
	$('#flowpanes .panel .content').each(function(index) {
		contentMargin = Math.round(((flowpaneHeight-$(this).outerHeight())/2)-5);
		$(this).css('marginTop',contentMargin);
	});
*/
	// show and hide didyouknow content
	$('.didyouknow .facts .item').hide();
	$('.didyouknow .facts .item:nth-child('+tweetArray[0][0]+')').show();
	$('.home .diyimage img').hide();
	$('.home .diyimage img:nth-child('+tweetArray[0][0]+')').show();

/*	// add click event to buttons
	$('#flowpanes .backbutton').click(function() {
		window.location = "/";
		/*id = $(this).attr('id');
		id = id.split('-');
		id = parseFloat(id[1]);
		factTimer();
		triggerChange(id)
		$('#flowpanes .backbutton').fadeIn();
		return false;
	});
	
	$('#flowpanes .backbutton').click(function() {
		$(this).fadeOut();
	});
	
	// add click event to buttons
	$('#homenav a').click(function() {
		id = $(this).attr('id');
		id = id.split('-');
		id = parseFloat(id[1]);
		clearInterval(changeFactInterval);
		triggerChange(id)
		$('#flowpanes .backbutton').fadeIn();
		return false;
	});
	*/
	var dykinterval;
	
	$('.didyouknow').hover(function() {
		clearInterval(dykinterval);
		$('.tweetshare').fadeIn();
	},function() {
		dykinterval = setInterval(function(){
			clearInterval(dykinterval);
			$('.tweetshare').fadeOut();
		},1000);
	});
	
	$('.tweetshare').hover(function() {
		clearInterval(dykinterval);
	},function() {
		dykinterval = setInterval(function(){
			clearInterval(dykinterval);
			$('.tweetshare').fadeOut();
		},1000);
	});
			
});
