fontsLoaded = 0;

window.addEvent('domready', function() {

	if ($("ts-slider")){

		new ThinkShiftSlider({
			sliderType: "partial",
			wrapper: $("ts-slider"),
			slides: $("ts-slider").getElements('.slide'),
			startIndex: 0,
			transitionDuration: 500,
			transitionType: Fx.Transitions.Expo.easeInOut
		});	
	}

});

var ThinkShiftSlider = new Class({
	Implements: [Options,Events],

	options: {
		sliderType: null, // 'full' or 'partial'
		wrapper:$("ts-slider"),
		slides: [],
		startIndex:	0,
		transitionDuration: 500,
		itemsPerPage: 5,
		transitionType: Fx.Transitions.Expo.easeInOut
	},

	initialize: function(options){

		this.setOptions(options);
		this.dom();
		this.getLocation();
		this.detectMobile();
		this.setupSearchForm();
		this.formatNavigation();

	},


	detectMobile: function(){
		
		var self = this;
		self.smallScreen = false;
		self.iPad = false;

		if(navigator.userAgent.match(/iPad/i) != null) {
			self.iPad = true;
		}

		if($('main-column').getSize().x < 500) {
			
			self.smallScreen = true;
			//$('body').addClas('smart-phone');

			var newNavHtml = $('nav-panel');

			var mobileNav = new Element('div', {
					id: 'nav-panel-mobile',
					html: newNavHtml.get('html')
			}).inject($("main-column"), 'after');

			newNavHtml.destroy();

			self.navPanel = $('nav-panel-mobile');

			if(self.pageSection == 'thanks') {
				self.navPanel.fade('hide');
			}

		} 
		
	},


	dom: function() {
		
		var self = this;
		self.initLoad = 1;

		var History = window.History; 

	    if ( !History.enabled ) {
	        return false;
	    }

	    // Bind to StateChange Event
	    History.Adapter.bind(window,'statechange',function(){ 

	        var State = History.getState(); // Note: We are using History.getState() instead of event.state

	        History.log(State.data, State.title, State.url);
	        
	        	//History.replaceState({state:1},State.url);
	        	//console.log('going to = ' + State.url);
	        	self.changePage(State.url);

	    });

	    self.loaderHTML = '<img src="/images/loading.gif">';//<div class="spinner"><div class="bar1"></div><div class="bar2"></div><div class="bar3"></div><div class="bar4"></div><div class="bar5"></div><div class="bar6"></div><div class="bar7"></div><div class="bar8"></div><div class="bar9"></div><div class="bar10"></div><div class="bar11"></div><div class="bar12"></div></div>';
		
		self.bottomContent = $('bottom-content');
		self.bottomWrap = $('bottom-wrap');
		self.slider = $('ts-slider');
		self.topContent = $('top-content');
		self.backgrounds = $('backgrounds');
		self.searchForm = $('search-form');
		self.logo = $('logo');
		self.navPanel = $('nav-panel');
		self.navigation = $('navigation');

		self.bottomWrap.fade('hide');
		self.bottomContent.fade('hide');
		self.topContent.fade('hide');

		self.currentPage = 0;
		self.currentAltSlide = "";

		self.videoComplete = 0;
		self.videoPlaying = 0;
		self.videoStarted = 0;
		self.fontsResized = 0;
		self.currentAltSlide;
		self.currentlySliding = 0;

		//Get an array of months because I get get it to write out the ful month name
		self.month = new Array(12);
		self.month[0]="Jan";
		self.month[1]="Feb";
		self.month[2]="Mar";
		self.month[3]="Apr";
		self.month[4]="May";
		self.month[5]="Jun";
		self.month[6]="Jul";
		self.month[7]="Aug";
		self.month[8]="Sep";
		self.month[9]="Oct";
		self.month[10]="Nov";
		self.month[11]="Dec";

		self.slideLogo = new Fx.Morph(self.logo, { 
			duration: self.options.transitionDuration, 
			transition: self.options.transitionType
		})
		self.slideMenu = new Fx.Morph(self.navPanel, { 
			duration: self.options.transitionDuration, 
			transition: self.options.transitionType
		})
		self.slideNavigation = new Fx.Morph(self.navigation, { 
				duration: self.options.transitionDuration, 
				transition: self.options.transitionType
		})

		//workaround fix for menus not transitioning the first time in some browsers
		if(Browser.Platform.ios || Browser.Platform.android) {
			//mobile, dont call this fix
		} else {
			self.slideLogo.start({ 'top': 0 });
			self.slideMenu.start({ 'top': 0 });
			self.slideNavigation.start({ 'height': 500 });
		}

		self.loader = new Element('div', {
				id: 'loader',
				styles: {
					width: 80,
					height: 80,
					top: (window.getSize().y/2) - 45,
					left: (window.getSize().x/2) - 45
			}
		}).inject($("body"), 'top').fade('hide');


		var opts = {
		  lines: 12, // The number of lines to draw
		  length: 7, // The length of each line
		  width: 4, // The line thickness
		  radius: 10, // The radius of the inner circle
		  color: '#ffffff', // #rgb or #rrggbb
		  speed: 1, // Rounds per second
		  trail: 60, // Afterglow percentage
		  shadow: false // Whether to render a shadow
		};
		var target = document.getElementById('loader');
		var spinner = new Spinner(opts).spin(target);



	},
	
	setupAltSlider: function(){

		var self = this;

		
		var mySlide = new Fx.Tween($("whatwedo-slider"), {
		    duration: 750,
		    transition: 'expo:out',
		    link: 'cancel',
		    property: 'margin-left'
		});

		
		if(self.currentAltSlide == "" || self.currentAltSlide == undefined) {
			self.currentAltSlide = 0;
		}
		


		if($('whatwedo-slider')){

			// Set up the slide positions
			$("whatwedo-slider").getElements('.slide').each(function(slide,index){
				slide.addClass("push");
				slide.setStyle("width",$('bottom-wrap').getSize().x);
				$('bottom-wrap').setStyle("overflow", "hidden");
			});

			$("whatwedo-slider").setStyle('margin-left',-(self.currentAltSlide * ($('bottom-wrap').getSize().x + 40)));
			
			// Set up the buttons and click events
			$("slider-nav").getElements('li a').each(function(button,index){
				button.addEvent('click', function(e){
					e.stop();

					if(self.smallScreen == false) {
						var scrolltotop = new Fx.Scroll(window).toElement($('slider-nav'));
					} else {
						var scrolltotop = new Fx.Scroll(window).toElement($('whatwedo-slider'));
					}
					mySlide.start(null, -(index * ($('bottom-wrap').getSize().x + 40)));
					self.currentAltSlide = index;


					// Set up the active state on the buttons
					$("slider-nav").getElements("li").each(function(item,index){
						if(item.hasClass("active")){
							item.removeClass("active");
						}
					});

					button.getParent().addClass("active");

					
				});
				
			});
		}
	},

	showLoader: function() {
		var self = this;
		self.loader.fade('in');
	},

	hideLoader: function() {
		var self = this;
		self.loader.fade('out');
	},

	setupSearchForm: function() {

		var self = this;

		self.searchForm.addEvent('submit', function(e) {
			e.stop();
		});

		self.searchForm.addEvent('keyup', function(e) {

			if (e.key == "enter") {
				//e.stop();
				//self.stateful.pushState(self.searchForm.get("action") +"/"+ $('search-value').get('value')+'/');
				//History.pushState(data,title,url) 
				//History.pushState(null,null,self.searchForm.get("action") +"/"+ $('search-value').get('value')+'/');
				document.location.href = '/search/word/' + $('search-value').get('value');
				self.searchForm.reset();
			}

		});

	     $('search-value').addEvent('focus', function() { if($('search-value').get('value') == 'Search') { $('search-value').set('value',''); } });
	     $('search-value').addEvent('blur', function() { if($('search-value').get('value') == '') { $('search-value').set('value','Search'); } });


	},

	resetStyles: function(url) {

		var self = this;
		self.bottomWrap.removeClass('portfolio');
		self.bottomContent.setStyle('border-top','none');
		self.slider.removeClass('portfolio');
		self.slider.setStyle('margin-top',0);
		self.slider.removeClass('work-details');
		self.slider.removeClass('our-work');
		self.slider.removeClass('careers');
		self.backgrounds.setStyle('left',0);
		if($('blog-sidebar')) {
			$('blog-sidebar').destroy();
		}

		$('primary-navigation').getElements('a').each(function(link,index){
			link.removeClass('active');
		});

		self.currentlySliding = 0;

	},

	destroyVideo: function(object) {
		
		if(self.videoStarted == 1) {
			window.player.stopVideo();
			if(self.menuPosition == 0) {
				if(!Browser.Platform.ios && !Browser.Platform.android) {
					self.openCloseMenu();
				}
			}
			$('main-column').fade('in');
		}

		if(window.player) {
			
			window.player.stopVideo();
			window.player.destroy();
		}	

		self.videoStarted == 0;
		self.videoComplete == 0;

	},

	changePage: function(url) {


		var self = this;

		//window.location = url;

		self.currentPage = 0;
		self.currentAltSlide = "";
		//show these elements incase they were hidden on a video page
		self.navPanel.fade('in');
		$('main-column').fade('in');
		$('sidebar').fade('in');
		//$('slide-controls').fade('in');
		$('main-column').setStyle('height','100%');
		self.topContent.removeClass('contact');

		if(self.thumbList) {
			self.hideThumbnails();
		}

		//self.destroyVideo();

		//if you're using an ipad and its in portait mode, close the menu once you make a selection
		if(self.iPad == true && self.menuPosition == 1 && window.getSize().x < 1000) {
			self.openCloseMenu();
		}

		var hideBottom = new Fx.Morph(self.bottomWrap, { 
			duration: self.options.transitionDuration, 
			transition: self.options.transitionType, 
			onComplete: function(){ 
				self.bottomWrap.set('html','<div class="clear"></div>');
			} 
		}).start({ 'opacity': 0 });

		var hideBottom = new Fx.Morph(self.bottomContent, { 
			duration: self.options.transitionDuration, 
			transition: self.options.transitionType, 
			onComplete: function(){ 
				
			} 
		}).start({ 'opacity': 0 });

		var hideTop = new Fx.Morph(self.topContent, { 
			duration: self.options.transitionDuration, 
			transition: self.options.transitionType, 
			onComplete: function(){ 
				self.topContent.set('html','');
			} 
		}).start({ 'opacity': 0 });

		var hideImages = new Fx.Morph(self.backgrounds, { 
			duration: self.options.transitionDuration, 
			transition: self.options.transitionType, 
			onComplete: function(){ 
				self.backgrounds.set('html','');
			} 
		}).start({ 'opacity': 0 });

		var hideSlider = new Fx.Morph(self.slider, { 
			duration: self.options.transitionDuration, 
			transition: self.options.transitionType, 
			onComplete: function(){ 
				self.slider.set('html','');
				self.getLocation(url);
				if(self.smallScreen == true) {
					//setTimeout(function() { window.scrollTo(0, 1) }, 100);
				}
				if($('thumb-holder')) {
					$('thumb-holder').set('html','');
				}
			} 
		}).start({ 'opacity': 0 });

		//self.stateful.pushState(stateObject.url, stateObject.title, stateObject);


	},

	getLocation: function(urlLinked){
		

		var self = this;

		//testing, till we get the links working
		// --------------------------------------
		if(urlLinked == null) {
			urlLinked = '';
		}

		self.resetStyles();

		self.pageSection = '';
		self.pageSubSection = '';
		self.pageType = ''; //home , landing, subsection, article
		self.headingURL = '';
		self.featureURL = '';
		self.relatedURL = '';
		self.thumbURL = '';
		self.listURL = '';
		self.authorURL = '';


		// Parsing the URI
		var uri = (urlLinked == undefined || urlLinked == null) ? new URI(window.location) : new URI(urlLinked);

		// var siteDomain = uri.get('host');
		// var siteDirectory = uri.get('directory');
		// var siteQuerystring = uri.get('query');
		// var siteFile = uri.get('file');

		// use the fragment if it's there, otherwise use the path
		var sitePath = (uri.get('fragment')) ? uri.get('fragment').replace(/!\//, '') : uri.get('directory') + uri.get('file');


		// some clean up (getting rid of slashes and hashbangs)
		sitePath = sitePath.replace(/^\//, '');
		sitePath = sitePath.replace(/\/$/, '');
		sitePath = sitePath.replace(/^\#\!\//, '');


		//console.log("sitePath: " + sitePath);

		// -Devo: Commenting out these because index.php has been removed in the cms.
		// sitePath = sitePath.replace('index.php/', '');
		// sitePath = sitePath.replace('index.php', '');

		_gaq.push(['_trackPageview'], sitePath);


		if(sitePath.length == 0 || sitePath == 'home') {
		
			self.pageType ='home';
			
		} else {

			sitePath = sitePath.split('/');

			self.pageSection = sitePath[0];
			if(sitePath[1]) {
				self.pageSubSection = sitePath[1];
				self.pageType = 'subsection';
				
				if(sitePath[2]) {
					self.pageType = 'article';
				}
			} else {
				self.pageType = 'landing';
			}

		}


		if(self.pageType == 'home') {
			
			self.featureURL = '/index.php/slides/';
			self.thumbURL = '/index.php/thumbs/';
			self.slider.addClass('portfolio');

		} else if(self.pageSection == 'search') {

			self.headingURL = '/index.php/search/heading/'+sitePath[2]+'/';
			//self.featureURL = '/index.php/search/'+self.pageSubSection+'/'+sitePath[2]+'/';
			self.featureURL = '/index.php/search/'+sitePath[1]+'/'+sitePath[2];
			if(sitePath[3]) {
				self.featureURL = '/index.php/search/'+sitePath[1]+'/'+sitePath[2]+'/'+sitePath[3];
			}
			self.slider.setStyle('margin-top','-24px');

			

		} else if(self.pageSection == 'who-we-are') {

			if(self.pageType == 'landing') {

				self.headingURL = '/index.php/who-we-are/heading/';
				self.featureURL = '/index.php/who-we-are/featured/';
				self.listURL = '/index.php/who-we-are/staff/';
				self.thumbURL = '/index.php/who-we-are/thumbs/';

			} else if(self.pageType == 'subsection') {

				self.headingURL = '/index.php/who-we-are/heading/';
				self.featureURL = '/index.php/who-we-are/'+sitePath[1]+'/';

			}

		} else if(self.pageSection == 'what-we-do') {

			self.headingURL = '/index.php/what-we-do/heading/';
			self.featureURL = '/index.php/what-we-do/featured/';
			self.listURL = '/index.php/what-we-do/staff/';

		} else if(self.pageSection == 'our-approach') {

			//if(self.pageType == 'landing') {

				//self.headingURL = '/index.php/who-we-are/heading/';
				//self.featureURL = '/index.php/who-we-are/featured/';
				//self.listURL = '/index.php/who-we-are/staff/';
				//self.thumbURL = '/index.php/who-we-are/thumbs/';

			//} else if(self.pageType == 'subsection') {

				self.headingURL = '/index.php/our-approach/heading/';
				self.featureURL = '/index.php/our-approach/';

			//}	

		} else if(self.pageSection == 'careers') {

			if(self.pageType == 'landing') {

				self.headingURL = '/index.php/careers/heading/';
				self.featureURL = '/index.php/careers/featured/';
				self.listURL = '/index.php/careers/';
				self.thumbURL = '/index.php/careers/thumbs/';

			} else if(self.pageType == 'subsection') {

				self.headingURL = '/index.php/careers/heading/';
				self.featureURL = '/index.php/careers/'+sitePath[1]+'/';

			}

			self.slider.addClass('careers');

		} else if(self.pageSection == 'our-work') {

			if(self.pageType == 'landing') {

				self.featureURL = '/index.php/our-work/our-work-featured/';
				self.listURL = '/index.php/our-work/';
				self.thumbURL = '/index.php/our-work/our-work-thumbs/';
				self.headingURL = '/index.php/our-work/our-work-heading/';

				self.slider.addClass('our-work');

			} else if(self.pageType == 'subsection') {

				self.headingURL = '/index.php/our-work/our-work-heading/';
				self.featureURL = '/index.php/our-work/project/'+sitePath[1]+'/';
				//self.listURL = '/index.php/our-work/our-work-details/';

				self.slider.addClass('work-details');

			}

		} else if(self.pageSection == 'contact') {
			
			self.headingURL = '/index.php/contact/heading/'
			self.featureURL = '/index.php/contact/index/';
			self.listURL = '/index.php/contact/footer/';

		} else if(self.pageSection == 'thanks') {
			
			self.headingURL = '/index.php/thanks/heading/'
			self.featureURL = '/index.php/thanks/';
			self.listURL = '/index.php/thanks/staff/';

			$('bottom-content').setStyle('display','none');
			$('nav-panel').setStyle('display','none');
			$('search').setStyle('display','none');
			

		} else if(self.pageSection == 'how-we-think') {


				if(self.pageType == 'article' || self.pageType == 'subsection') {
					self.featureURL = '/index.php/how-we-think/'+sitePath[1]+'/';
					self.commentsURL = '/index.php/how-we-think/comments/'+sitePath[1]+'/';
				} else {
					self.featureURL = '/index.php/how-we-think/featured/';
					self.listURL = '/index.php/how-we-think/';
					self.thumbURL = '/index.php/how-we-think/thumbs/';
				}

				self.headingURL = '/index.php/how-we-think/heading/';
				self.authorURL = '/index.php/how-we-think/authors/';

			//}

		}

		$('primary-navigation').getElements('.'+self.pageSection).addClass('active');

		if(self.pageType != 'home') {
			if(self.pageSubSection != '') {
				document.title = self.pageSubSection.replace(/-/g," ").humanize() + " | " + self.pageSection.replace(/-/g," ").humanize() + " | Think Shift";
			} else {
				document.title = self.pageSection.replace(/-/g," ").humanize() + " | Think Shift";
			}
		} else {
			document.title = "Think Shift | Brand Advertising and Digital Marketing";
		}
			
		


		if(self.featureURL == '') {
			self.featureURL = 'site/error';
		}
		//console.log('load features = ' + self.featureURL);
		
		this.loadFeatureContent();

		if(self.listURL != '') {
			//console.log('load content = ' + self.listURL);
			this.loadContentList();
		}

		if(self.headingURL != '') {
			//console.log('load headings = ' + self.headingURL);
			this.loadHeadings();
		}

		if(self.authorURL != '') {
			//console.log('load authors = ' + self.authorURL);
			this.listAuthors();
		}


	},

	formatNavigation: function(){
		
		var self = this;
			
		var primaryNav = $('primary-navigation');
		var navLinks = primaryNav.getElements('a');
		var menuButton = $('btn-hide-menu');
		var menuHeight = -394; //-392 with our-apprach
		self.menuPosition = 1; //1 is open, 0 is collapsed
		
		navLinks.each(function(link,index){
			if(link.get('target') != '_blank' && self.smallScreen == false) {
				link.addEvent('click',function(e){
					//e.stop();	
					var linkhref = link.get('href');
					//self.stateful.pushState(linkhref);
					//History.pushState(null,null,linkhref);
					//History.replaceState({state:1},'Think Shift Inc | ' + link.get('title'),linkhref);
					//History.replaceState({state:1},'Search',linkhref);
				});
			}
		});

		var logoLink = self.logo.getElement('a');

		logoLink.addEvent('click',function(e){
				//e.stop();	
				//self.stateful.pushState('/home/');
				//History.pushState(null,null,'/home/');
		});


		// If Ipad portrait, set the default values to have the menu closed at the start
		// -----------------------------
		if(self.slider.getSize().x < 780 && self.logo.getStyle('top').toFloat() == -100) {

			self.menuPosition = 0;
			menuButton.removeClass("menu-open");
			menuButton.addClass("menu-closed");
			menuButton.set("text","Open Menu");
		}
		
		self.openCloseMenu = function(){

			if(self.menuPosition == 1) {
				
				self.slideLogo.start({ 'top': -100 });
				self.slideMenu.start({ 'top': menuHeight });
				self.slideNavigation.start({ 'height': 60 });

				if($('blog-sidebar')) {
					self.slideAuthors.start({ 'top': menuHeight+'px' });
				}

				self.menuPosition = 0;
				menuButton.removeClass("menu-open");
				menuButton.addClass("menu-closed");
				menuButton.set("text","Open Menu");

			} else {

				self.slideLogo.start({ 'top': 0 });
				self.slideMenu.start({ 'top': 0 });
				self.slideNavigation.start({ 'height': 540 });

				if($('blog-sidebar')) {
					self.slideAuthors.start({ 'top': 0 });
				}

				self.menuPosition = 1;
				menuButton.removeClass("menu-closed");
				menuButton.addClass("menu-open");
				menuButton.set("text","Close Menu");
			}

		} //end: openCloseMenu

		menuButton.addEvent('click',function(e){
			e.stop();	
			self.openCloseMenu();
		});

	},

	loadHeadings: function(){
		
		

		var self = this;
			
			var dataRequest = new Request({

		      type: 'post',	
	      	  url: self.headingURL,
	      	  noCache: true,

		      onRequest: function(){
		        //show loader animation
		
		        
		      },

		      onComplete: function(results) {
		        
		        self.topContent.set('html',results);
		        self.topContent.fade('in');

				self.topContent.setProperty('class', '');
				self.topContent.addClass(self.pageSection);

		        var headingLinks = self.topContent.getElements('a');
		        headingLinks.each(function(link,index){
			
		        	if(self.smallScreen == false) {
						link.addEvent('click',function(e){
							//e.stop();	
							var linkhref = link.get('href');
							//self.stateful.pushState(linkhref);
							//History.pushState(null,null,linkhref);
						});
					}

				});



				if(self.pageSection == 'our-work' && self.pageType == 'landing') {
		        	var autoplay = 0;
					var vidwidth = $('ts-slider').getSize().x;
					var vidheight = (vidwidth * 9) / 16;

					var videoIframe = new Element('div', {
						html: '<iframe width="100%" class="video-embed" height="500" id="our-work-video" src="http://www.youtube.com/embed/EhskwMMNMKA?autoplay='+autoplay+'" frameborder="0" allowfullscreen></iframe>'
					}).inject($('top-content'), 'bottom');
						
					videoIframe.getElement('iframe').setStyles({
						width: vidwidth,
						height: vidheight*1.08
					})
					videoIframe.setStyles({
						'border-bottom': '1px solid white',
						'padding-bottom': 20,
						'margin-bottom': 20
					})	
		        }



		      } //end onComplete

		    }).send();

	},

	listAuthors: function() {
		

			var self = this;
			var dataRequest = new Request({

		      type: 'post',	
	      	  url: self.authorURL,

		      onRequest: function(){
		        //show loader animation
		      },

		      onComplete: function(results) {
		        
		        self.authorList = new Element('div', {
					id: 'blog-sidebar',
					html: '<h4>Blog Authors</h4>'+results
				}).inject($("navigation"), 'bottom');

				var authorLinks = self.authorList.getElements('a');
		        authorLinks.each(function(link,index){
		        	if(self.smallScreen == false) {
						link.addEvent('click',function(e){
							//e.stop();
							var linkhref = link.get('href');
							//self.stateful.pushState(linkhref);
							//History.pushState(null,null,linkhref);
						});
					}

				});
				
				self.slideAuthors = new Fx.Morph($('blog-sidebar'), { 
					duration: self.options.transitionDuration, 
					transition: self.options.transitionType
				})
						
		        self.authorList.fade('in');
		        self.slideAuthors.start({ 'top': 0 });

		      } //end onComplete

		    }).send();

	},

	loadContentList: function(){
		
		var self = this;


		
	    self.currentContentPage = 1;
	    self.itemsPerPage = 5;


		var dataRequest = new Request({

		  type: 'post',	
	      url: self.listURL,
	      noCache: true,

	      onRequest: function(){
	        //show loader animation


	      },

	      onFailure: function(returndata){

	      	
	      },

	      onSuccess: function(responseText) {
	        

	        self.contentList = responseText;
	        self.bottomWrap.set('html',responseText+'<div class="clear"></div>');
	        self.bottomContent.setStyle('border-top','1px solid white');
	        self.bottomContent.setStyle('padding','40px 0px 0px 0px');
	        self.bottomContent.fade('in');
	        self.bottomWrap.fade('in');
	        //self.formatContentList();

	        var bottomThumbs = self.bottomWrap.getElements('li');

		    bottomThumbs.each(function(thumb,index){
		    	
		    	if(thumb.getElement('a')) {
			    	var getThumbLink = thumb.getElement('a').get('href');
			    	thumb.setStyle('cursor','pointer');
					thumb.addEvent('click',function(e){
						if(self.smallScreen == false && getThumbLink.indexOf('mailto') == -1) {
							//e.stop();	
							var linkhref = getThumbLink;
							//self.stateful.pushState(linkhref);
							//History.pushState(null,null,linkhref);
						}
					});
				}

			});

			var bottomBlogPosts = self.bottomWrap.getElements('.blog-preview');

			    bottomBlogPosts.each(function(thumb,index){
			    	
			   	if(thumb.getElement('a')) {
			    	var getThumbLink = thumb.getElement('a').get('href');
			    	thumb.addEvent('click',function(e){
			    		if(self.smallScreen == false  && getThumbLink.indexOf('mailto') == -1) {
							//e.stop();	
							var linkhref = getThumbLink;
							//self.stateful.pushState(linkhref);
							//History.pushState(null,null,linkhref);
						}
					});
				}

			});

			var pagePrevious = self.bottomContent.getElement('.page-previous');
			if(pagePrevious) {
				pagePrevious.addEvent('click',function(e){
					self.bottomWrap.fade('out');
					e.stop();	
					self.currentPage = self.currentPage - 1;
					var blogOfset = self.currentPage * 5;
					//console.log('blog set ' + blogOfset + ' : ' + self.currentPage);
					self.listURL = '/index.php/how-we-think/page/P'+blogOfset+'/';
					var myFx = new Fx.Scroll(window).toElement(self.bottomContent);
					self.loadContentList();
				});
			}

			var pageNext = self.bottomContent.getElement('.page-next');

			if(pageNext) {
				pageNext.addEvent('click',function(e){
					self.bottomWrap.fade('out');
					e.stop();	
					var blogOfset = (self.currentPage+1) * 5;
					//console.log('blog set ' + blogOfset + ' : ' + self.currentPage);
					self.currentPage = self.currentPage + 1;

					self.listURL = '/index.php/how-we-think/page/P'+blogOfset+'/';
					var myFx = new Fx.Scroll(window).toElement(self.bottomContent);
					self.loadContentList();
				});
			}

			if($('staff-members')) {
				
				var imageHeight = $('staff-members').getElement('.staff-photo').getSize().x;
				var getStaff = $('staff-members').getElements('li');
				
				getStaff.each(function(staff,index){
					staff.getElement('.staff-details').fade('hide');
					staffCover = new Element('img', {
						src: '/images/staff-cover.png',
						'class': 'staff-cover'
					}).inject(staff.getElement('.staff-details'),"after").fade('hide');
					staffCover.setStyle('height',imageHeight);

					staff.addEvent('mouseover',function(evt){
						evt.stop();
						staff.getElement('.staff-details').fade('in');
						staff.getElement('.staff-cover').fade('in');
					});
					staff.addEvent('mouseout',function(evt){
						evt.stop();
						staff.getElement('.staff-details').fade('out');
						staff.getElement('.staff-cover').fade('out');
					});

				});

			}
			
			self.resizeThumbText('bottom-wrap');
			//setTimeout(self.adjustMobileNav,1000);
	
			
	      } ,

	      onComplete: function() {
	      	
	      }

	    }).send();

	},

	formatContentList: function(x){

		var self = this;

		
		self.bottomWrap.fade('in');
		self.bottomContent.fade('in');
		
	},

	
	loadFeatureContent: function(){
		

		var self = this;

		self.totalBackgroundImages = 0;
		

		var dataRequest = new Request({

		  type: 'post',	
	      url: self.featureURL,
	      noCache: true,

	      onRequest: function(){
	      	//show loader animation
	      },
	      	     
	      onComplete: function(responseText) {
	        
	        self.featureList = responseText;
	        self.slider.set('html',responseText);
	        
	        if(self.smallScreen == true && self.pageType == 'home') {
	        	var logoSlide = new Element('div', {
					id: 'thinkshift',
					'class':'slide',
					html: '<div class="slide-content slide-mobile"><img src="/stylesheets/img/instructions.png" id="instructions"><img src="/images/uploads/backgrounds/bg-thinkshift.gif"><span data-src="/images/uploads/backgrounds/bg-thinkshift.jpg" class="background-source"></span></div>'
				}).inject($("slider"), 'top');

				$("instructions").fade('hide');
				$('instructions').setStyle('display','block');
				self.showHideInstructions();
	        }

	        self.featureList = $('slider').getElements('.slide');
	        self.slideContainer = $('slider');

	        if(self.pageSection == 'who-we-are') {
	        	var autoplay = 0;
	        	/*if(Browser.ie6 || Browser.ie7) {
	        		autoplay = 1;
	        	}*/

				var vidwidth = $('ts-slider').getSize().x;
				var vidheight = (vidwidth * 9) / 16;




					var videoIframe = new Element('div', {
						html: '<iframe width="100%" class="video-embed" height="500" id="who-we-are-video" src="http://www.youtube.com/embed/HWY6LwGgclk?autoplay='+autoplay+'" frameborder="0" allowfullscreen></iframe>'
					}).inject($('slider').getElement('.slide-content'), 'top');
					
					videoIframe.getElement('iframe').setStyles({
						width: vidwidth,
						height: vidheight*1.08
					})	


	        }


	        self.createControls();
	
	        if($('comments')) {
	        	self.displayComments();
	        	self.commentSubmitForm();
	        }

	       //setTimeout(self.setupAltSlider,300);

	      } //end onComplete

	    }).send();

	},

	showHideInstructions: function() {
		var self = this;
		
		if($('instructions').get('opacity') < 1) {
			$("instructions").fade.delay(1500,$("instructions"),'in');
			//setTimeout(self.showHideInstructions,6000);
		} else {
			$("instructions").fade('out');
		}

	},

	createControls: function() {
		

		var self = this;

		if(self.controlWrapper) {
			self.controlWrapper.destroy();
		}

		self.currentSlideIndex = self.options.startIndex;

		self.slideClear = new Element('div', { 
				'class': 'clear'
		}).inject($("slider"),'after');

		//if($("main-column").getElement(".portfolio")){
		if($("main-column").getElement(".portfolio")){
			self.controlWrapper = new Element('div', {
				id: 'slide-controls',
				'class': 'portfolio-controls',
				html: '<ul id="control-list"></ul>'
			}).inject($("main-column"), 'before');	
		} else if(self.pageSection == "search") {
			self.controlWrapper = new Element('div', {
				id: 'slide-controls',
				html: '<ul id="control-list"></ul>'
			}).inject($("ts-slider"), 'top');
		} else {
			self.controlWrapper = new Element('div', {
				id: 'slide-controls',
				html: '<ul id="control-list"></ul>'
			}).inject($("ts-slider").getElement('.clear'), 'after');
		}

		if(self.featureList.length == 1 || self.smallScreen == true) {
			self.controlWrapper.setStyle('display','none');
		}

		

		// Create dots in the control panel for each set of 6 thumbs
		// ---------------------------------------------------------------
		for (index=1;index<=self.featureList.length;index++)
		{
			self.controlButton = new Element('li', { 
				html: '<a href="" title="Slide Name" class="slide-button dot slide-'+index+'">View Slide '+(index+1)+'</a>'
			}).inject($("control-list"));

			if(index == 1){ self.controlButton.getElement('a').addClass('active'); }
						
			// Set up slide button click events
			// ---------------------------------------------------------------
			self.controlButton.addEvent('click',function(evt){
				evt.stop();
			});
			self.controlButton.getElement('a').setStyle('cursor','default');
		}
				

		// Program the next and previous buttons. This functionality was moved from the dot clicks
		// ---------------------------------------------------------------
		self.previousButton = new Element('li', {
			html: '<a href="" title="Slide Name" class="slide-button previous">Previous Slide</a>',
			events: {
				'click': function(e) {
					if(e) { e.stop(); }
					if(self.currentlySliding == 0) {
						if(self.currentSlideIndex > 0 && (self.currentSlideIndex-1) < self.featureList.length) {
								self.currentlySliding = 1;
								self.currentSlideIndex = self.currentSlideIndex - 1;
								self.cycleSlides();
								self.cycleBackgrounds();
								self.updateTags();
						}
					}

				}
			}
		}).inject($("control-list"),"top").fade(0.3);


		self.nextButton = new Element('li', {
				html: '<a href="" title="Slide Name" class="slide-button next">Next Slide</a>',
				events: {
					'click': function(e) {
						if(e) { e.stop(); }
						
						if(self.currentlySliding == 0) {
							if(self.currentSlideIndex > -1 && (self.currentSlideIndex+1) < self.featureList.length) {
									
									self.currentlySliding = 1;
									self.currentSlideIndex = self.currentSlideIndex + 1;

									if($('backgrounds').getElement('.background-image'+self.currentSlideIndex)) {
										var nextImage = $('backgrounds').getElement('.background-image'+self.currentSlideIndex);
										self.showLoader();
										var myImage = Asset.image(nextImage.get('data-src'), {
										    onLoad: function() {
										    	nextImage.set('src',myImage.get('src'));
										    	self.hideLoader();
												self.cycleSlides();
												self.cycleBackgrounds();
												self.updateTags();
										    }
										});
									} else {
										self.cycleSlides();
										self.cycleBackgrounds();
										self.updateTags();
									}

							}
						}
						

					}
				}
		}).inject($("control-list"),"bottom");
					
		self.controlsWidth = 140 + (self.featureList.length * 17);
		$('control-list').setStyle('width',self.controlsWidth);
		$('control-list').setStyle('margin-left',((window.getSize().x / 2) - ($('control-list').getSize().x / 2)));

		// Program the thumbnail view button.
		// ---------------------------------------------------------------
		self.allButton = new Element('li', {
			html: '<a href="" title="All Slides" class="slide-button seeall">See All Slides</a>'
		}).inject($("control-list"),"bottom");

		//if(self.slider.hasClass('work-details') || self.slider.hasClass('our-work') || self.slider.hasClass('careers')) {
			self.allButton.fade('hide');
			self.controlsWidth = 80 + (self.featureList.length * 17);
			$('control-list').setStyle('width',self.controlsWidth);

			if(self.slider.hasClass('work-details') && self.smallScreen == false && self.iPad == false) {

				self.leftArrow = new Element('a', {
					'class': 'arrow-left',
					html: 'Previous Slide',
					events: {
						'click': function(e) {
							if(e) { e.stop(); }
							self.previousButton.fireEvent('click');		
						}
					},
					styles: {
						'margin-top':$('slider').getElement('.slide').getSize().y-70
					}
				}).inject($("slider"),"before").fade(0.3);

				self.rightArrow = new Element('a', {
					'class': 'arrow-right',
					html: 'Next Slide',
					events: {
						'click': function(e) {
							if(e) { e.stop(); }
							self.nextButton.fireEvent('click');		
						}
					},
					styles: {
						'margin-top':$('slider').getElement('.slide').getSize().y-70,
						'left':$('ts-slider').getSize().x-40
					}
				}).inject($("slider"),"before");

			}
		//}


		// Set up button click events
		// ---------------------------------------------------------------
		self.allButton.addEvent('click',function(e){
			if(e) { e.stop(); }	
				if($('thumb-holder') != undefined ) {
					if($('thumb-holder').get('html') != '') {
						self.showThumbnails();
					} else {
						self.createThumbnails();
					}
				} else {
					//show loading animation
					self.createThumbnails();
				}
		});

		//self.createThumbnails();
		self.createSlides();
			
	}, //end: create controls


	createThumbControls: function() {
		

		var self = this;
		var totalThumbBlocks = Math.ceil(self.thumbLists.length); //total sets of 6

		self.currentThumbBlock = 0;

		if($("main-column").getElement(".portfolio")){
			self.controlThumbWrapper = new Element('div', {
				id: 'slide-thumb-controls',
				'class': 'portfolio-controls',
				html: '<ul id="control-thumb-list"></ul>'
			}).inject($("thumb-holder"), 'bottom');	
		} else {
			self.controlThumbWrapper = new Element('div', {
				id: 'slide-thumb-controls',
				'class': 'portfolio-controls',
				html: '<ul id="control-thumb-list"></ul>'
			}).inject($("thumb-holder"), 'bottom');	
		}


		// Create dots in the control panel for each set of 6 thumbs
		// ---------------------------------------------------------------
		for (index=1;index<=totalThumbBlocks;index++)
		{
			self.controlThumbButton = new Element('li', { 
				html: '<a href="" title="Slide Name" class="slide-button dot slide-'+index+'">View Slide '+(index+1)+'</a>'
			}).inject($("control-thumb-list"));

			if(index == 1){ self.controlThumbWrapper.getElement('a').addClass('active'); }
						
			// Set up slide button click events
			// ---------------------------------------------------------------
			self.controlThumbButton.addEvent('click',function(evt){
				evt.stop();
			});
			self.controlThumbButton.getElement('a').setStyle('cursor','default');
		}
				

		// Program the next and previous buttons. This functionality was moved from the dot clicks
		// ---------------------------------------------------------------
		self.previousThumbButton = new Element('li', {
			html: '<a href="" title="Slide Name" class="slide-button previous">Previous Slide</a>',
			events: {
				'click:throttle': function(e) {
					if(e) { e.stop(); }
					
					
						if(self.currentThumbBlock > 0) {
							self.currentThumbBlock = self.currentThumbBlock - 1;
							self.slideThumbPanels(-1); //1 = next, -1 = previous
						}
					

				}
			}
		}).inject($("control-thumb-list"),"top");

		self.nextThumbButton = new Element('li', {
				html: '<a href="" title="Slide Name" class="slide-button next">Next Slide</a>',
				events: {
					'click:throttle': function(e) {
						if(e) { e.stop(); }
						
						
							if(self.currentThumbBlock < (totalThumbBlocks-1)) {
								self.currentThumbBlock = self.currentThumbBlock + 1;
								self.slideThumbPanels(1); //1 = next, -1 = previous
							}
						

					}
				}
		}).inject($("control-thumb-list"),"bottom");
					
		// Program the thumbnail view button.
		// ---------------------------------------------------------------
		self.allThumbButton = new Element('li', {
			html: '<a href="" title="All Slides" class="slide-button seeall">See All Slides</a>'
			}).inject($("control-thumb-list"),"bottom");
		
		self.allThumbButton.setStyle('background-position','top right');

		// Set up button click events
		// ---------------------------------------------------------------
		self.allThumbButton.addEvent('click',function(e){
			if(e) { e.stop(); }	
			self.hideThumbnails();

		});

			
	}, //end: create thumb controls

	createSlides: function(){

		var self = this;
	    self.totalBackgroundImages = 0;
	    	
	    	if(self.pageSection == 'search') {
	    		self.resizeThumbText('ts-slider');
	    	}

			self.featureList.each(function(feature,index){
	        	

				var myWidth = feature.getSize().x
				var myLeft = myWidth*index+(40*index);

				// Setup slide backgrounds
				// ---------------------------------------------------------------
				var featureImage = feature.getElement('.background-source');

				if(featureImage) {

					if(featureImage.hasClass('video-background')) {
						
						var videoID = featureImage.get('id');
						videoID = videoID.replace('videoID-','');

						// dont load the video in the background in these browsers embed it instead
						if (self.smallScreen == true || self.iPad == true){

							if(self.smallScreen == false) {
								feature.bgImage  = new Element('img', {
									"data-src": '/images/uploads/backgrounds/random/bg-7.jpg',
									"src" : '/images/uploads/backgrounds/random/bg-7.jpg',
									"class" : "background-image" + self.totalBackgroundImages
								}).inject(self.backgrounds);
								feature.bgImage.setStyles({
									"position" : "absolute",
									"left" : window.getSize().x * self.totalBackgroundImages
								});


							}

							var contentArea = feature.getElement('.slide-content');
							if(self.iPad == true || self.smallScreen == true) {
								var videoHTML = '<p style="margin:0px; padding:0px;"><iframe allowfullscreen="" frameborder="0" height="300" src="http://www.youtube.com/embed/'+videoID+'" width="100%"></iframe></p>';
							} else {
								//var videoHTML = '<object width="100%" height="350"><param name="movie" value="http://www.youtube.com/v/'+videoID+'" /><param name="wmode" value="transparent" /><embed src="http://www.youtube.com/v/'+videoID+'" type="application/x-shockwave-flash" wmode="transparent" width="100%" height="350" /></object>';
								var videoHTML = '';							
							}
							//var videoHTML = '<p style="margin:0px; padding:0px;"><object type="application/x-shockwave-flash" style="width:100%; height:300px;" wmode=”transparent” data="http://www.youtube.com/embed/'+videoID+'"><param name=”wmode” value=”transparent”></param><param name="movie" value="http://www.youtube.com/embed/'+videoID+'" /></object>';

							contentArea.set('html',videoHTML);

						} else {
							
							posterFrame = new Element('div', {
								"html" : '<img src="/images/poster-frame.jpg">',
								"id" : "poster-frame"
							}).inject(self.backgrounds);

							feature.bgImage  = new Element('div', {
								"html" : "<div id='player'></div>",
								"id" : "video-"+videoID,
								"class" : "videoholder background-image" + self.totalBackgroundImages
							}).inject(self.backgrounds);
							feature.bgImage.setStyles({
								"position" : "absolute",
								"left" : window.getSize().x * self.totalBackgroundImages
							});

							//if(Browser.ie6 || Browser.ie7) {

								$('play-button').addEvent('click',function(e){
									document.location.href='/who-we-are';
								});
								
							//} else {
								//self.setupVideo(videoID,$('player'),$('play-button'),('play-button'));
							//}
						}

					} else {
						
						if(self.iPad != true) {
		
							if(self.smallScreen == false || feature.getElement('.slide-mobile')) {
								imagesrc = featureImage.get('data-src');
							} else {
								imagesrc = '/images/uploads/backgrounds/bg-grey-500.jpg';
							}

							if(self.smallScreen == false) {
								feature.bgImage  = new Element('img', {
									"data-src": imagesrc,
									"src" : '/images/blank.gif',//imagesrc,
									"class" : "background-image" + self.totalBackgroundImages
									}).inject(self.backgrounds);
								feature.bgImage.setStyles({
									"position" : "absolute",
									"left" : window.getSize().x * self.totalBackgroundImages
								});

								//set up image for slide 1
								//console.log('bg = ' + index + ' / ' +  imagesrc);
								if(self.totalBackgroundImages == 0) {
									feature.bgImage.set('src',imagesrc);
								}
							}
						}

					}

					self.totalBackgroundImages = self.totalBackgroundImages + 1;

				} 




				//Update the search results bar if this is the search page
				//-----------------------------------------------------
				if(self.pageSection == 'search') {
					var resultsBar = feature.getElement('.timeline');
					resultsBar.set('html','<div class="clear"></div>');
					
					var totalResults = feature.getElements('.results');
					var blogResults = feature.getElements('.results-blog');
					var careerResults = feature.getElements('.results-careers');
					var pageResults = feature.getElements('.results-pages');
					var workResults = feature.getElements('.results-our-work');
					var whitePaperResults = feature.getElements('.results-white-papers');
					var presentationResults = feature.getElements('.results-presentations');
					
					if(totalResults.length > 0) {
						resultList = new Element('ul', {
							html: ''
						}).inject(resultsBar,"top");

						resultLink = new Element('li', {
							html: 'We found'
						}).inject(resultList,"bottom");

						if(blogResults.length > 0) {
							blogResults.getParent().addClass('results-active');
							if(blogResults.length > 1) { 
								plural = 's'; 
							} else { 
								plural = ''; 
							}
							resultLink = new Element('li', {
								html: blogResults.length + ' blog post'+plural
							}).inject(resultList,"bottom");
						}

						if(careerResults.length > 0) {
							careerResults.getParent().addClass('results-active');
							if(careerResults.length > 1) { 
								plural = 's'; 
							} else { 
								plural = ''; 
							}
							resultLink = new Element('li', {
								html: careerResults.length + ' career posting'+plural
							}).inject(resultList,"bottom");
						}

						if(pageResults.length > 0) {
							pageResults.getParent().addClass('results-active');
							if(pageResults.length > 1) { 
								plural = 's'; 
							} else { 
								plural = ''; 
							}
							resultLink = new Element('li', {
								html: pageResults.length + ' page'+plural
							}).inject(resultList,"bottom");
						}

						if(workResults.length > 0) {
							workResults.getParent().addClass('results-active');
							workResults = feature.getElement('.results-our-work').getElements('li');
							if(workResults.length > 1) { 
								plural = 's'; 
							} else { 
								plural = ''; 
							}
							resultLink = new Element('li', {
								html: workResults.length + ' portfolio piece'+plural
							}).inject(resultList,"bottom");
						}

						if(whitePaperResults.length > 0) {
							whitePaperResults.getParent().addClass('results-active');
							whitePaperResults = feature.getElement('.results-white-papers').getElements('li');
							if(whitePaperResults.length > 1) { 
								plural = 's'; 
							} else { 
								plural = ''; 
							}
							resultLink = new Element('li', {
								html: whitePaperResults.length + ' white paper'+plural
							}).inject(resultList,"bottom");
						}

						if(presentationResults.length > 0) {
							presentationResults.getParent().addClass('results-active');
							presentationResults = feature.getElement('.results-presentations').getElements('li');
							if(presentationResults.length > 1) { 
								plural = 's'; 
							} else { 
								plural = ''; 
							}
							resultLink = new Element('li', {
								html: presentationResults.length + ' presentation'+plural
							}).inject(resultList,"bottom");
						}
					} else {
						resultsBar.set('html','No results found for your search.');
					}
					//resultsBar.set('html',resultsBar.get('html')+'</ul>');

					

				}

				if($('social-media')) {
					self.createSharingLinks();
				}


	        }); //end featurelist each

	    if(self.featureList.length > 0) {
	    	self.setupSlides();
		}


		if($('thanksvideo')) {
			var vidframe = $('thanksvideo').getElement('iframe');
			
			var vidwidth = $('ts-slider').getSize().x;
			var vidheight = (vidwidth * 9) / 16;
			vidframe.setStyles({
				width: vidwidth/1.08,
				height: vidheight
			})
		}
		

	}, //end create slides

	createThumbnails: function(){


		var self = this;
		
		var dataRequest = new Request({

		  type: 'post',	
	      url: self.thumbURL,

	      onRequest: function(){
	      	//show loader animation
	      },
	      	     
	      onComplete: function(responseText) {
	        
	        //self.createControls();

	        self.thumbList = responseText;
	        
	        if($('thumb-holder') == undefined) {
		        self.thumbHolder = new Element('div', {
						id:'thumb-holder'
				}).fade('hide').inject($('body'),'top');
			} else {
				$('thumb-holder').fade('hide');
			}

	        self.thumbHolder.set('html',responseText);
	        

	        // Position the thumbnail lists 
			// ---------------------------------------------------------------
			self.thumbLists = $('thumb-holder').getElements('.thumb-list');
			
			if(self.thumbLists.length > 0) {

				self.resizeThumbText('thumb-holder');

				self.thumbLists.each(function(tlist,index){
					tlist.setStyle('left',$('thumb-holder').getSize().x * index);
				});

				//$('thumb-holder').setStyle('display','none');
				$('thumb-holder').setStyle('top',-1000);

				// add click event to each thumbn
				var thumbNails = self.thumbHolder.getElements('.thumb');
				
				thumbNails.each(function(thumb,index){
					thumb.setStyle('cursor','pointer');
					var thumbLink = thumb.getElement('a').get('href');
					var thumbTarget = thumb.getElement('a').get('target');

					thumb.addEvent('click',function(e){
						if(thumbTarget != '_blank' && self.smallScreen == false) {
							//e.stop();	
							//self.stateful.pushState(thumbLink);
							//History.pushState(null,null,thumbLink);
						} else {
							//e.stop();
							window.open(thumbLink);
						}

					});
				});

				self.thumbList = self.thumbHolder.getElement('.thumb-list');
				self.createThumbControls();
				self.showThumbnails();

			}


	      } //end onComplete

	    }).send();


	},

	commentSubmitForm: function() {
		
		var self = this;
		// Activate the fields in the comment form
		// ----------------------------------------------------------
		if($('comment-name')) {
			$('comment-name').addEvent('focus', function() { if($('comment-name').get('value') == "What's your name") { $('comment-name').set('value',''); } });
	    	$('comment-name').addEvent('blur', function() { if($('comment-name').get('value') == "") { $('comment-name').set('value',"What's your name"); } });
		}
		if($('comment-email')) {
			$('comment-email').addEvent('focus', function() { if($('comment-email').get('value') == "And your email too please") { $('comment-email').set('value',''); } });
	    	$('comment-email').addEvent('blur', function() { if($('comment-email').get('value') == "") { $('comment-email').set('value',"And your email too please"); } });
		}
		if($('comment-value')) {
			$('comment-value').addEvent('focus', function() { if($('comment-value').get('value') == "Leave a comment") { $('comment-value').set('value',''); } });
	    	$('comment-value').addEvent('blur', function() { if($('comment-value').get('value') == "") { $('comment-value').set('value',"Leave a comment"); } });
		}


		$('blog_comment_form').addEvent('submit', function(e){
		    e.stop();
		    $('comment-submit').fireEvent('click');
		});

		$('comment-submit').addEvent('click', function(e){
		    e.stop();
		    var commentError = 0;
		    var errorHtml = '';

		    if($('comment-name')) {
				if($('comment-name').get('value') == "What's your name") { 
					$('comment-name').set('value',''); 
					errorHtml = errorHtml + '<li>The name field is required</li>';
					commentError = 1;
				}
			}
			if($('comment-email')) {
				if($('comment-email').get('value') == "And your email too please" || $('comment-email').get('value').indexOf('@') == -1 || $('comment-email').get('value').indexOf('.') == -1) { 
					$('comment-email').set('value',''); 
					errorHtml = errorHtml + '<li>A valid email address is required</li>';
					commentError = 1;
				}
			}
			if($('comment-value')) {
				if($('comment-value').get('value') == "Leave a comment") { 
					$('comment-value').set('value',''); 
					errorHtml = errorHtml + '<li>The comment field is required</li>';
					commentError = 1;
				}
			}

			if(commentError == 0) {

			    var req = new Request.HTML({
			      url: '/index.php/how-we-think/comments/',
			      data: $('blog_comment_form'),
			      onSuccess: function(tree, response){

			       	var responseString = response[1].get('html');
			       	if(responseString.indexOf('following errors') != -1) {
			       		commentError = 1;
			       	}

			       	if(commentError == 0) {
			       		self.displayComments();

			       		var myFx = new Fx.Scroll(window).toElement($('comments'));
			       		setTimeout(self.highlightComment,600);

					} else {
						commentError = 0;
						self.displayCommentsError(response[2],0);
					}


			        $('blog_comment_form').reset();
			      }
			     }).send();

		 	} else {
		 		commentError = 0;
		 		self.displayCommentsError(errorHtml,1);
		 	}

		 });

	},

	highlightComment: function() {
		$('comments').getElements('.comment').removeClass('comment-active');
		$('comments').getElement('.comment').addClass('comment-active');
	},

	displayCommentsError: function(errorContent,errorType) {

		var self = this;
		if(errorType == 1) {
			var errorMessage = errorContent;
		} else {
			var errorMessage =  errorContent.get('html');
		}


		self.errorMessage = new Element('div', {
			html: '<h5>There was a problem with your comment submission</h5>' + errorMessage,
			'class': 'form-error'
		}).inject($("blog_comment_form"), 'before').fade('hide');

		if($('comment-name')) {
			if($('comment-name').get('value') == "") { $('comment-name').set('value',"What's your name"); }
		}

		if($('comment-email')) {
			if($('comment-email').get('value') == "") { $('comment-email').set('value',"And your email too please"); }
		}

		if($('comment-value')) {
			if($('comment-value').get('value') == "") { $('comment-value').set('value',"Leave a comment"); }
		}
		
		self.errorMessage.fade('in');
		setTimeout(self.destroyCommentsError,3000);
		

	},

	destroyCommentsError: function() {
		
		var self = this;
		
		var hideError = new Fx.Morph($('comment-form').getElement('.form-error'), { 
			duration: 1000, 
			onComplete: function(){ 
				$('comment-form').getElement('.form-error').destroy();
			} 
		}).start({ 'opacity': 0 });


	},

	createSharingLinks: function() {

		/*addthis.button('.googleplus', {
			
			services_compact: "facebook"

		}, {url: "http://example.com/blog/24", title: "The 24th post"});
		*/

	},

	displayComments: function(){

		// Load the comments for this blog post
		// ----------------------------------------------------------
		var self = this;
		$('comments').fade('out');

		var dataRequest = new Request({

		  type: 'post',	
	      url: self.commentsURL,

	      onRequest: function(){
	      	//show loader animation
	      },
	      	     
	      onComplete: function(responseText) {
	        self.featureList = responseText;
	        $('comments').set('html',responseText);
	        $('comments').fade('in');
	      } //end onComplete

	    }).send();

	},

	setupSlides: function(slide){
		var self = this;
		

		var slideSlider = new Fx.Morph($('slider'), { duration: self.options.transitionDuration, transition: self.options.transitionType, onComplete: function(){ /*self.adjustMobileNav();*/ window.fireEvent('resize'); self.currentlySliding = 0; }});
		var slideBack = new Fx.Morph(self.backgrounds, { duration: self.options.transitionDuration, transition: self.options.transitionType });

		
		self.thumbsActive = 0;

		self.options.slides = $('slider').getElements('.slide');

		 // For the what we do page

		//grab the links to make sure they dont reload the page
		// ---------------------------------------------------------------
		var slideLinks = self.slideContainer.getElements('a');
		slideLinks.each(function(link,index){
			
			if(link.hasClass('social') || link.get('target') == '_blank' || self.smallScreen == true) {
				//dont change the link
			} else {
				link.addEvent('click',function(e){
					if(self.smallScreen == false && link.get('target') != '_blank' && link.get('href').indexOf('mailto:') == -1) {
						//e.stop();	
						var linkhref = link.get('href');
						//self.stateful.pushState(linkhref);
						//History.pushState(null,null,linkhref);
					}
				});
			}

		});



		//////////////
		self.options.slides.each(function(theslide,index){
			
			var getcontent = theslide.getElement('.slide-content');
			if(getcontent.hasClass('slide-our-work') || self.smallScreen == true) {
				//do nothing
			} else {

				h2 = getcontent.getElement('h2');
				if(h2) {
					if(h2.get('text').length > 0) {

						
							textlength = h2.get('text').length;
							//console.log(length);

							if ( textlength > 35 ) {
								h2.setStyle('font-size',65);
								h2.setStyle('line-height',60);	
							}else if ( textlength > 30 ) {
								h2.setStyle('font-size',75);
								h2.setStyle('line-height',70);		
							}else if ( textlength > 25 ) {
								h2.setStyle('font-size',75);
								h2.setStyle('line-height',70);	
							}else if ( textlength > 20 ) {
								h2.setStyle('font-size',75);
								h2.setStyle('line-height',70);	
							}

						
					}
				}

			}

		});
		///////////////////////

		

		//Set up slide widths
		// ----------------------------------------------------------------
		self.setSlideWidth = function() {

			var self = this;
			self.sliderWidth = $("main-column").getSize().x;
			
			self.options.slides.each(function(slide,index){
				
				slide.setStyle("width",self.sliderWidth);

			});	

		}
		self.setSlideWidth();


		// Setup overall functions	
		// ---------------------------------------------------------------
		self.slideThumbPanels = function(dir){
			var thumbLists = $('thumb-holder').getElements('.thumb-list');
			var slideButtons = $('control-thumb-list').getElements('li a');

			//self.options.slides.length
			thumbLists.each(function(tlist,index){
				if (dir == 1) {
					slidePos = tlist.getStyle("left").toFloat() - $('thumb-holder').getSize().x;
				} else {
					slidePos = tlist.getStyle("left").toFloat() + $('thumb-holder').getSize().x;
				}
				var slideThumb = new Fx.Morph(tlist, { duration: self.options.transitionDuration, transition: self.options.transitionType }).start({ 'left': slidePos });
			});

			slideButtons.removeClass('active');
			slideButtons[self.currentThumbBlock+1].addClass('active');

		}


		// Cycle the slide content
		// ---------------------------------------------------------------
		self.cycleSlides = function(){
				
				if($('instructions')) {
					
					$('instructions').fade('out');
						
				}

				self.sliderWidth = $("main-column").getSize().x;

				slideSlider.start({
					"left" : ((self.sliderWidth+40) * self.currentSlideIndex) * -1/*,
					"height" : newHeight*/
				});

				

				if(self.videoStarted == 1 || self.videoPlaying == 1) {
					self.videoPlaying = 0;
					window.player.stopVideo();

					if(self.menuPosition == 0) {
						if(!Browser.Platform.ios && !Browser.Platform.android) {
							self.openCloseMenu();
						}
					}
					$('main-column').fade('in');
					$('sidebar').fade('in');

				}

				var slideButtons = $('control-list').getElements('li a');
				slideButtons.removeClass('active');
				slideButtons[self.currentSlideIndex+1].addClass('active');

				if(self.currentSlideIndex > 0) {
					self.previousButton.fade(1);
					if($('ts-slider').getElement('.arrow-left')) {
						$('ts-slider').getElement('.arrow-left').fade(1);
					}
				} else {
					self.previousButton.fade(0.3);
					if($('ts-slider').getElement('.arrow-left')) {
						$('ts-slider').getElement('.arrow-left').fade(.3);
					}
				}

				if(self.currentSlideIndex < (self.options.slides.length-1)) {
					self.nextButton.fade(1);
					if($('ts-slider').getElement('.arrow-right')) {
						$('ts-slider').getElement('.arrow-right').fade(1);
					}
				} else {
					self.nextButton.fade(0.3);
					if($('ts-slider').getElement('.arrow-right')) {
						$('ts-slider').getElement('.arrow-right').fade(0.3);
					}
				}

		}
				
		self.cycleBackgrounds = function(){
			if(self.currentSlideIndex > -1 && self.currentSlideIndex < self.options.slides.length && self.totalBackgroundImages > 1 && self.iPad != true) {
				self.backgroundWidth = document.getSize().x;
				slideBack.start({
					"left" : (self.backgroundWidth * self.currentSlideIndex) * -1
				});
				
				var videoFrame = $('backgrounds').getElement('iframe');
				var slideIframeBack = new Fx.Morph(videoFrame, { duration: self.options.transitionDuration, transition: self.options.transitionType });

				if(videoFrame) {
					slideIframeBack.start({
						"left" : (self.backgroundWidth * self.currentSlideIndex) * -1
					});
				}	
			} 
		}

		self.updateTags = function(){

			if(self.options.slides[self.currentSlideIndex].getElement('.tag-embed')) {
				var currentSlideTags = self.options.slides[self.currentSlideIndex].getElement('.tag-embed').get('html');
				//console.log(self.options.slides[self.currentSlideIndex].getElements('.tag-embed'));

				currentSlideTags = "";
				self.options.slides[self.currentSlideIndex].getElements('.tag-embed').each(function(taglist,index){

					if(currentSlideTags != "") {
						currentSlideTags =  currentSlideTags + "," + taglist.get('html');
					} else {
						currentSlideTags =  taglist.get('html');
					}
				});
					
				

			} else if(self.slider.getElement('.tag-embed')) {
				var currentSlideTags = self.slider.getElement('.tag-embed').get('html');
			} else {
				var currentSlideTags = '';
			}



			if(self.bottomWrap.getElement('.tag-embed')) {
				self.bottomWrap.getElements('.tag-embed').each(function(taglist,index){
					if(taglist.get('html') != '') {
						currentSlideTags = currentSlideTags + ',' + taglist.get('html');
					}
				});
			}

			//console.log(currentSlideTags);

			var currentSlideTags = currentSlideTags.split(',');
			var newTags = uniqueArr(currentSlideTags); //Print the unique value
			newTags.sort(function() {return 0.5 - Math.random()});
			var tagHolder = $('tags');

			//console.log(newTags);

			tagHolder.set('html','');
			var maxTags = newTags.length;
			if(maxTags > 5) {
				maxTags = 5;
			}
			for (var i = 0; i < maxTags; i++) {
			    tagLink = new Element('li', {
					html: '<a href="/search/tag/'+LTrim(RTrim(newTags[i])).replace(/ /g,'-')+'" title="'+LTrim(RTrim(newTags[i]))+'">#'+LTrim(RTrim(newTags[i]))+'</a>'
				}).inject(tagHolder,"bottom");
			}


			var tagLinks = tagHolder.getElements('a');
			tagLinks.each(function(link,index){

				link.addEvent('click',function(e){
					if(self.smallScreen == false) {
						//e.stop();
						var linkhref = link.get('href');
						//self.stateful.pushState(linkhref);
						//History.pushState(null,null,linkhref);
					}
				});

			});


		}
		self.updateTags();

		self.showThumbnails = function(){
			self.currentThumbBlock = 0;
			self.thumbsActive = 1;

			self.thumbHolder.setStyle('top',0);
			self.thumbHolder.fade('in');
			self.thumbList.fade.delay(2000,self.thumbList,'in');
			self.controlThumbWrapper.fade.delay(2000,self.controlThumbWrapper,'in');

			self.controlWrapper.fade('out');

			self.controlThumbWrapper.setStyle('top',self.thumbHolder.getElement('.thumb-list').getSize().y + 20);
			self.controlThumbWrapper.setStyle('position','fixed');
			$('control-thumb-list').setStyle('margin-left',((self.controlThumbWrapper.getSize().x / 2) - ($('control-thumb-list').getSize().x / 2)));

		}

		self.hideThumbnails = function(){

			if(self.thumbHolder) {
				self.thumbsActive = 0;
				self.thumbList.fade('out');
				self.thumbHolder.fade.delay(500,self.thumbHolder,'out');
				/*var hideit = function() {
					self.thumbHolder.setStyle('top', '-1000px');
				}.delay(1000);*/
				self.controlThumbWrapper.fade('out');
				self.controlWrapper.fade('in');
			}
			
		}


		self.options.slides.each(function(slide,index){


			var myWidth = slide.getSize().x;
			var myLeft = myWidth*index+(40*index);


			// Setup slide backgrounds
			// ---------------------------------------------------------------
			slide.setupBackgrounds = function(newWidth){
				
				if(newWidth == null){


				} else {

					//console.log(slide.bgImage);
					if(slide.bgImage) {
						slide.bgImage.setStyles({
							"position" : "absolute",
							"left" : window.getSize().x * index
						});
					}

				}

				
			}

			

			slide.setupBackgrounds();
			

		}); // END slides.each

		


		self.backgrounds.fade('in');
		self.slider.fade('in');



		//Partial Slider
		//-------------------------------------------------
		if(self.options.sliderType == "partial"){


			self.options.slides.each(function(slide,index){

				var myWidth = slide.getSize().x
				var myLeft = myWidth*index+(40*index);	

				// Line up slides 
				// ---------------------------------------------------------------
				slide.setupSlidePosition = function(newLeftPosition){
						mySlideWidth = $('main-column').getSize().x;
						//$('slider').setStyle("left",self.currentSlideIndex * ((mySlideWidth+40) * -1));
						slide.setStyle('width',mySlideWidth);
						
						if(self.options.slides.length > 1) {
							if($('slider') && self.currentSlideIndex != null) {
								$('slider').setStyle("left",self.currentSlideIndex * ((mySlideWidth+40) * -1));
							}
						}
				}
				slide.setupSlidePosition();


				// Re-align slider content on Window Resize
				// ---------------------------------------------------------------			
				window.addEvent('resize',function(evt){
					

					//set page positioning
					if((window.getSize().x*100)/133.33 < window.getSize().y) {
						$('body').removeClass('landscape');
						$('body').addClass('portrait');
					} else {
						$('body').addClass('landscape');
						$('body').removeClass('portrait');
					}

					self.setupAltSlider(); // Resize and position elements on the whatwedo-slider

					if($('loader')) {
						self.loader.setStyles({
							top: (window.getSize().y/2) - 45,
							left: (window.getSize().x/2) - 45
						})
					}
					

					slide.resizedWidth = $('main-column').getSize().x;
					slide.newLeft = slide.resizedWidth*index;

				
					if(self.totalBackgroundImages > 1) {
						self.backgrounds.setStyle("left",(document.getSize().x * self.currentSlideIndex) * -1);
					}

					slide.setupSlidePosition(slide.newLeft);
					slide.setupBackgrounds(1);


					if(self.thumbLists) {
						if($('thumb-holder')) {
							self.thumbLists.each(function(tlist,index){
								tlist.setStyle('left',$('thumb-holder').getSize().x * index);
							});
						}
					}	

					videoHolder = $('backgrounds').getElement('.videoholder');
					if(videoHolder) {
						videoHolder.setStyle('width',window.getSize().x);
					}

					var videoFrame = $('backgrounds').getElement('iframe');
					if(videoFrame) {

						vidWidth = window.getSize().x;
						vidHeight = vidWidth * 0.5625;
						videoFrame.setStyle('width',vidWidth);
						videoFrame.setStyle('height',vidHeight);
						if(vidHeight != window.getSize().y) {
							overflow = vidHeight - window.getSize().y;
							overflow = overflow/2;
							if(overflow > 0) {
								videoFrame.setStyle('top',(overflow*-1));
							} else {
								vidHeight = window.getSize().y;
								vidWidth = vidHeight / 0.5625;
								
								videoFrame.setStyle('height',vidHeight);
								videoFrame.setStyle('width',vidWidth);

								overflow = (vidWidth - window.getSize().x) - $('backgrounds').getStyle('left').toFloat();
								overflow = overflow/2;

								videoFrame.setStyle('left',(overflow*-1));
								
							}
						}
					}

					if($('poster-frame')) {
						$('poster-frame').setStyle('width',window.getSize().x + 'px');
					}
					

					if($('control-list')) {
						if($("main-column").getElement(".portfolio")){
							$('control-list').setStyle('margin-left',0);
							$('control-list').setStyle('left',((window.getSize().x/2) - (self.controlsWidth/2)));

							$('slide-controls').setStyle('top',$('main-column').getSize().y+'px');
						} else {
							$('control-list').setStyle('margin-left',(($('slide-controls').getSize().x / 2) - (self.controlsWidth / 2)));
						}
					}

					if($('thumb-holder')) {
						if($('thumb-holder').get('html') != '') {
							$('control-thumb-list').setStyle('margin-left',((self.controlThumbWrapper.getSize().x / 2) - ($('control-thumb-list').getSize().x / 2)));
						}
					}

					
				
					if($('staff-members')) {
						
						var imageHeight = $('staff-members').getElement('.staff-photo').getSize().x;
						var getStaff = $('staff-members').getElements('.staff-cover');
						
						getStaff.each(function(staff,index){
							staff.setStyle('height',imageHeight);
						});

					}

					if(self.rightArrow) {
						self.rightArrow.setStyle('left',$('ts-slider').getSize().x-40);
					}

					if($('thanksvideo')) {
						var vidframe = $('thanksvideo').getElement('iframe');
						
						var vidwidth = $('ts-slider').getSize().x;
						var vidheight = (vidwidth * 9) / 16;
						vidframe.setStyles({
							width: vidwidth/1.08,
							height: vidheight
						})
					}

					var allvideoframes = $$('.video-embed');
					if(allvideoframes) {
						
						var vidwidth = $('ts-slider').getSize().x;
						var vidheight = (vidwidth * 9) / 16;
						allvideoframes.setStyles({
							width: vidwidth,
							height: vidheight*1.08
						})

					}


				}); 

				
			}); // END slides.each
			

			// Ceate slide controls
			// ---------------------------------------------------------------
			if(self.options.slides.length > 1) {

				// Add same functionality to left and right keyboard click and clear on esc
				// ---------------------------------------------------------------
				window.addEvent('keydown', function( evt ){
					if(evt.key == 'left') {
				   		self.previousButton.fireEvent('click');
				   	} else if(evt.key == 'right') {
				   		self.nextButton.fireEvent('click');
				   	} else if(evt.key == 'esc') {
				   		if($('thumb-holder').getStyle('opacity') > 0) {
				   			self.allButton.fireEvent('click');
				   		}
				   	}
				});

				if(self.smallScreen == true) {
					//self.navigation.setStyle('top',self.options.slides[0].getElement('.slide-content').getSize().y + 100);
				}
		
				// Set the width of the #control-list so it looks better in IE
				//$('control-list').setStyle('width',(105 + (20 * self.totalThumbBlocks)));
				//$('control-list').setStyle('margin-left',((window.getSize().x / 2) - ($('control-list').getSize().x / 2)));


				// Mobile sliding 
				//-------------------------------------------------
				if (Browser.Features.Touch) {

					var element = $('body');
				 	
					element.store('swipe:cancelVertical', true);
					element.store('swipe:distance', 40);
					element.addEvent('swipe', function(event){
						//this.set('text', 'Swipe ' + event.direction);
				 			
						if(event.direction == 'left') {
							if(self.thumbsActive == 1) {
								self.nextThumbButton.fireEvent('click');
							} else {
								self.nextButton.fireEvent('click');
							}
						} else {
							
							if(self.thumbsActive == 1) {
								self.previousThumbButton.fireEvent('click');
							} else {
								self.previousButton.fireEvent('click');
							}
						}
				
					});

				}
					
				window.fireEvent('resize');


			} // END if slide.length > 1
			
		} //END sliderType = "partial"
		
		self.adjustContentHeight = function() {
			

		}
		
		
		

		//Adds new uniqueArr values to temp array
		function uniqueArr(a) {
			temp = new Array();
			for(i=0;i<a.length;i++){
		 		if(!contains(temp, a[i]) && a[i] != ''){
		   			temp.length+=1;
		   			temp[temp.length-1]=a[i];
		  		}
		 	}
		 	return temp;
		}
		
		// Trim extra white space off of stuff
		// Removes leading whitespaces
		function LTrim( value ) {
			var re = /\s*((\S+\s*)*)/;
			return value.replace(re, "$1");
		}

		// Removes ending whitespaces
		function RTrim( value ) {
			var re = /((\s*\S+)*)\s*/;
			return value.replace(re, "$1");
		}

		//Will check for the Uniqueness
		function contains(a, e) {
			for(j=0;j<a.length;j++)if(a[j]==e)return true;
			return false;
		}

		
	
	},


	setupVideo: function(videoID,videoContainer){

		var self = this;
		self.videoLoaded = 0;

		function stateChange(event) {
				self.videoLoaded = 1;
				if(event.data == 1){
					// Insert all events that should happen when the video begins to play.

					if(self.menuPosition == 1) {
						self.openCloseMenu();
					}

					$('main-column').fade('out');
					$('sidebar').fade('out');
					$('slide-controls').fade('out');
					self.videoPlaying = 1;
					self.videoStarted = 1;
				

				} else if(event.data == 2){
					// Insert all events that should happen when the video is paused.
					self.videoPlaying = 0;
					if(self.menuPosition == 0) {
						self.openCloseMenu();
					}
					$('main-column').fade('in');
					$('sidebar').fade('in');
					$('slide-controls').fade('in');
				}
		}

		

		if(self.videoComplete == 0) {

			self.showLoader();
			window.videoId = videoID;
			window.videoHolder = videoContainer;
			//xEF66GRecQg - Polar Bears
			//7BOhDaJH0m4 - Waves

			// Load the iFrame player API
			window.tag = document.createElement('script');
			window.tag.src = "http://www.youtube.com/player_api";
			window.firstScriptTag = document.getElementsByTagName('script')[0];
			firstScriptTag.parentNode.insertBefore(window.tag, window.firstScriptTag);

			// Creates an <iframe> (and YouTube player) after the API code downloads
			window.player;
			window.onYouTubePlayerAPIReady = function() {
				//console.trace(this);
				self.hideLoader();
				window.player = new YT.Player('player', {
					height: '640',
					width: '400',
					videoId: videoId,
					playerVars: { 'autohide': 0, 'showinfo': 0, 'wmode': 'opaque', 'rel': 0, 'controls': 0 },
					events: { 'onStateChange': stateChange }
				});



				var videoFrame = $('backgrounds').getElement('iframe');
				
				if(videoFrame) {

						vidWidth = window.getSize().x;
						vidHeight = vidWidth * 0.5625;
						videoFrame.setStyle('width',vidWidth);
						videoFrame.setStyle('height',vidHeight);
						if(vidHeight != window.getSize().y) {
							overflow = vidHeight - window.getSize().y;
							overflow = overflow/2;
							if(overflow > 0) {
								videoFrame.setStyle('top',(overflow*-1));
							} else {
								vidHeight = window.getSize().y;
								vidWidth = vidHeight / 0.5625;
								
								videoFrame.setStyle('height',vidHeight);
								videoFrame.setStyle('width',vidWidth);

								overflow = vidWidth - window.getSize().x;
								overflow = overflow/2;

								videoFrame.setStyle('left',(overflow*-1));
								
							}
						}
					}


			}


			//the button code was here. moving it to see if it'll work better

			self.videoComplete = 1;

		} else {

			window.player = new YT.Player('player', {
					height: '390',
					width: '640',
					videoId: videoID,
					playerVars: { 'autohide': 0, 'showinfo': 0, 'wmode': 'opaque', 'rel': 0, 'controls': 0 },
					events: { 'onStateChange': stateChange }
				});
			
		}

		$('play-button').addEvent('click',function(e){

			if(Browser.ie6 || Browser.ie7) {
				document.location.href='/who-we-are';
			} else {
				if(self.videoLoaded == 1) {
					self.videoStarted = 1;

					if(self.videoPlaying == 0) {
						window.player.playVideo();
						if($('poster-frame')) {
							$('poster-frame').fade('out');
							//$('poster-frame').fade.delay(1000,$('poster-frame'),'out');
						}
						
						self.videoPlaying = 1;
						$('slide-controls').fade('out');
						//$('slide-controls').fade('out');
					} else {
						window.player.stopVideo();
						self.videoPlaying = 0;
						$('slide-controls').fade('in');
						//$('slide-controls').fade('in');
					}
				}
			}
		});


	},

	//function resizeThumbText(objectId) {
	resizeThumbText: function(objectId){

		var self = this;
		var textContainer = document.getElementById(objectId);
		var textBlocks = textContainer.getElements('.article-block');
			
		textBlocks.each(function(item,index){ 
					
			var width = item.getSize().x;
			var height = item.getSize().y;


			if(width > 15000) {
				width = $('ts-slider').getSize().x * 0.32;
			}

			if ( width < 500 ) {
							var fontPercent = (width / 500);

							var h3 = item.getElements('h3');
							var h4 = item.getElements('h4');


							h3.each(function(heading,index){ 
								
								if(heading.hasClass('resized') == false) {
									var h3Size = heading.getStyle('font-size').toInt();
									//console.log((h3Size * fontPercent)+'em');
									heading.setStyles({ 
										'font-size': (h3Size * fontPercent)+'px'
									});		
									heading.addClass('resized');	
								}
							});

							h4.each(function(heading,index){ 
								if(heading.hasClass('resized') == false) {
									var h4Size = heading.getStyle('font-size').toInt();
									//console.log((h3Size * fontPercent)+'em');
									heading.setStyles({ 
										'font-size': (h4Size * fontPercent)+'px'
									});		
									heading.addClass('resized');	
								}
							});

							
						} else {
							fontPercent = 1;
						}
							
			// center vertically
			var wrap = item.getChildren('.thumb-text-wrap');
			if(wrap[0]) {
				var wrapHeight = wrap.getComputedSize()[0].height;
				var yGutter = (250 - wrapHeight) / 2;
				wrap.setStyle('padding-top', yGutter);
			}	

		});
				
	}

});


function loadFontSize() {

		Typekit.load({

			  /*
			   * This funtion will be called as soon as fonts have started loading.
			   */
			  loading: function(data) {
			    // fonts are loading.
			    //console.log('loading');
			  },

			  /*
			   * This function will be called after the fonts have loaded and rendered.
			   */
			  active: function() {
			  		//console.log('active');

					fontsLoaded = 1;

				
					textBlocks.each(function(item){ 

						
						var width = item.getSize().x;
						var height = item.getSize().y;

						// shrink the font. 
						
						if ( width < 500 ) {
							var fontPercent = (width / 500);			
							var h3 = item.getElements('h3');
							var h4 = item.getElements('h4');


							if (h3[0]) {
								var h3Size = h3.getStyle('font-size')[0].toInt();
								//console.log((h3Size * fontPercent)+'em');
								h3.setStyles({ 
									'font-size': (h3Size * fontPercent)+'px'
								});	
								h3.addClass('resized');		
							}
							if (h4[0]) {
								var h4Size = h4.getStyle('font-size')[0].toInt();	
								
								
								h4.setStyles({
									'font-size': (h4Size * fontPercent)+'px'
								});	
								h4.addClass('resized');	
							}
						} else {
							fontPercent = 1;
						}
						
						// center vertically
						var wrap = item.getChildren('.thumb-text-wrap');
						if(wrap[0]) {
							var wrapHeight = wrap.getComputedSize()[0].height;
							var yGutter = (250 - wrapHeight) / 2;
							wrap.setStyle('padding-top', yGutter);
						}	
						

					});

			  },

			  /*
			   * This function will be called if Typekit does not support the current browser.
			   */
			  inactive: function() {
			    // this browser doesn't support fonts
			  }

		});
}


