if(document.all){
	if (!Array.indexOf) {
		Array.prototype.indexOf = function (obj, start) {
			for (var i = (start || 0); i < this.length; i++) {
				if (this[i] == obj) {
					return i;
				}
			}
			return -1;
		}
	}
}

function capitaliseFirstLetter(string) {
    return string.charAt(0).toUpperCase() + string.slice(1);
}

$(document).ready(function() {
	
	// Initiates Cycle Plugin
	
	$('#multistory_slides') 
		.before('<nav id="cycle_pager">') 
		.cycle({ 
		    fx:     'fade', 
		    speed:  200, 
		    timeout: 15000, 
		    pager:  '#cycle_pager' 
		});
		
	$('#multistory_slides').mouseenter(function() { // Pauses slide on mouse enter
		$(this).cycle('pause');
	});
	
	$('#multistory_slides').mouseleave(function() { // Resumes slide on mouse leave
		$(this).cycle('resume');
	});
	
	// Initializes Countdown
	
	function startCountdown() {
	    	if(ReadyList && (ReadyList instanceof Array)) {
	    		for(var i=0; i < ReadyList.length; i++) {
	    			ReadyList[i]();	
	    		}
	    	}
	}
	
	setTimeout(startCountdown, 3000);
	
	var postsPerPage = 4;
	
	// Load Blogs
	$.getJSON('/feeds/blogs.php', function(data) {
			for(var i = 0; i < data.length; i++) {
	            $("#blogs .holder").append('<div class="item"><img src="' + data[i].icon + '" align="left" /><h4><a href="' + data[i].link + '" target="_blank">' + data[i].title + '</a></h4><h6>' + data[i].formattedDate + '</h6><div class="clear"></div></div>');
			}
	    	var $blog_holder;
	    	var $blog_prev;
	    	var $blog_next;
	
	    	var blog_pager = {
	    		init:function(){
	    			$blog_holder = $('#blogs .holder');
	    			$blog_prev = $('#blogs .prev');
	    			$blog_next = $('#blogs .more');
	    			$blog_holder.bind( 'finished.evtpaginate', blog_pager.onPage );
	    			$blog_holder.evtpaginate({perPage:postsPerPage});
	    			$('#blogs').fadeTo(0, 1);
	    			blog_pager.addPageClick();
	    		},
	    		addPageClick:function(){
	    			$('#blogs .more').click(function(e){
	    				$blog_holder.trigger('next.evtpaginate');
	    				e.preventDefault();
	    			});
	    			$('#blogs .prev').click(function(e){
	    				$blog_holder.trigger('prev.evtpaginate');
	    				e.preventDefault();
	    			});
	    		},
	    		onPage: function(e, num, isFirst, isLast){
	    			if(isFirst){
	    				$blog_prev.addClass('inactive');
	    				if(!isLast){
	    					$blog_next.removeClass('inactive');
	    				}
	    			} else if(isLast){
	    				$blog_next.addClass('inactive');
	    				$blog_prev.removeClass('inactive');
	    			} else {
	    				$blog_prev.removeClass('inactive');
	    				$blog_next.removeClass('inactive');
	    			}
	    		}
	    	}
	    	blog_pager.init();
	    });
    
    // Load News
	$.getJSON('/feeds/news.php', function(data) {
	        for(var i = 0; i < data.length; i++) {
	            $("#news .holder").append('<div class="item"><img src="' + data[i].icon + '" align="left" /><h4><a href="' + data[i].link + '" target="_blank">' + data[i].title + '</a></h4><h6>' + data[i].formattedDate + '</h6><div class="clear"></div></div>');
	        }
	    	var $news_holder;
	    	var $news_prev;
	    	var $news_next;
	
	    	var news_pager = {
	    		init:function(){
	    			$news_holder = $('#news .holder');
	    			$news_prev = $('#news .prev');
	    			$news_next = $('#news .more');
	    			$news_holder.bind( 'finished.evtpaginate', news_pager.onPage );
	    			$news_holder.evtpaginate({perPage:postsPerPage});
	    			$('#news').fadeTo(0, 1);
	    			news_pager.addPageClick();
	    		},
	    		addPageClick:function(){
	    			$('#news .more').click(function(e){
	    				$news_holder.trigger('next.evtpaginate');
	    				e.preventDefault();
	    			});
	    			$('#news .prev').click(function(e){
	    				$news_holder.trigger('prev.evtpaginate');
	    				e.preventDefault();
	    			});
	    		},
	    		onPage: function(e, num, isFirst, isLast){
	    			if(isFirst){
	    				$news_prev.addClass('inactive');
	    				if(!isLast){
	    					$news_next.removeClass('inactive');
	    				}
	    			} else if(isLast){
	    				$news_next.addClass('inactive');
	    				$news_prev.removeClass('inactive');
	    			} else {
	    				$news_prev.removeClass('inactive');
	    				$news_next.removeClass('inactive');
	    			}
	    		}
	    	}
	    	news_pager.init();
	    });
	
	// Feed Tabs & Ajaxin'
	
	var currentTab = 'youtube'; // Stores which tab is active by default
	var nextTab = 'youtube';
	var loadingUrls = new Array();
	
	$('#official_feeds_content').empty();
	
	loadTab(currentTab, false);

	function loadTab(clickedTab, hidden){

		if(loadingUrls.indexOf(clickedTab) == -1){
			loadingUrls.push(clickedTab);

			if(clickedTab == 'flickr'){
				path = clickedTab + '.php?init=1';
			} else {
				path = clickedTab + '.php';
			}

			if(null == hidden){
				hidden = true;
			}
			
			$.ajax({
				url: path,
				timeout: 15000,
				success: function(data) {
					var data_id = $(data).filter('div').attr('id');
				
					loadingUrls.splice(loadingUrls.indexOf(data_id), 1);
					
					// make sure this content hasn't already been loaded
					if($('#' + data_id).length == 0){
						$('#official_feeds_content').append(data);
					} else {
						$('#' + data_id).replaceWith($(data));
					}
				
					$('#' + data_id).addClass('hidden');
					
					// if loaded data id != nextTab, do not change 
					// to clicked tab because the user clicked a different 
					// tab before the section had loaded
					if(data_id == nextTab){
						changeTab(nextTab);
					}
				},
				error: function(o, t, e){

					loadingUrls.splice(loadingUrls.indexOf(clickedTab), 1);

					if($('#' + clickedTab).length == 0){
						$('#official_feeds_content').append('<div style="padding:12px" id="' + clickedTab + '" class="error"><h2>There was an error loading ' + capitaliseFirstLetter(clickedTab) + '</h2><a href="#" class="' + clickedTab + '">Click here to try again</a></div>');
					} else {
						$('#' + clickedTab).replaceWith('<div style="padding:12px" id="' + clickedTab + '" class="error"><h2>There was an error loading ' + capitaliseFirstLetter(clickedTab) + '</h2><a href="#" class="' + clickedTab + '">Click here to try again</a></div>');
					}
					
					$('#' + clickedTab + '.error a').click(function(e){
						reload(clickedTab);
						e.preventDefault();
					});
					
					$('#' + clickedTab).addClass('hidden');
					
					if(clickedTab == nextTab){
						changeTab(nextTab);
					}
				}
			});
		}
	}
	
	function changeTab(clickedTab){
		currentTab = clickedTab;
		$('#official_feeds_content').slideUp(200, function() {
			$('#official_feeds_content .loader').remove();
			$('#official_feeds_content div').addClass('hidden');
			$('#' + clickedTab + ', #' + clickedTab + ' div').removeClass('hidden');
			$('#official_feeds_content').slideDown(200);
		});
	}
	
	function reload(clickedTab){
		$('#official_feeds_content .loader').remove();
		nextTab = clickedTab;

		$('#' + currentTab).append('<div class="loader"></div>');
		$('#' + currentTab + ' .loader').css('opacity', 0).fadeTo(200, .75, function(){
			loadTab(clickedTab, false);
		});

	}
	
	$('#official_feeds_tabs a').click(function(e) {
		if(youtube_pager.getPlayer()){
			if(youtube_pager.getPlayer().pauseVideo){
				youtube_pager.getPlayer().pauseVideo();
			}
		}
		if (!$(this).hasClass('active')) { // Do nothing if active tab

			$('#official_feeds_content .loader').remove();
			
			nextTab = $(this).attr('class');
			
			$('#official_feeds_tabs_active') // Moves the active tab background
				.removeClass()
				.addClass(nextTab);
			
			$('#official_feeds_tabs a').removeClass('active'); // Removes active class from all anchors
			
			$(this).addClass('active'); // Adds active class to clicked anchor
			
			
			
			if($('#' + nextTab).length > 0 && !$('#' + nextTab).hasClass('error')){
				changeTab(nextTab);
			} else {
				$('#' + currentTab).append('<div class="loader"></div>');
				$('#' + currentTab + ' .loader').css('opacity', 0).fadeTo(200, .75, function(){
					loadTab(nextTab, false);
				});
			};
		};
		e.preventDefault();
	});
	
	
	$('#ie_official_feeds_tabs a').click(function(e) {
		if(youtube_pager.getPlayer()){
			if(youtube_pager.getPlayer().pauseVideo){
				youtube_pager.getPlayer().pauseVideo();
			}
		}
		if (!$(this).hasClass('active')) { // Do nothing if active tab

			$('#official_feeds_content .loader').remove();
			
			nextTab = $(this).attr('class');
			
			$('#ie_official_feeds_tabs a').removeClass('active'); // Removes active class from all anchors
			
			$(this).addClass('active'); // Adds active class to clicked anchor
			
			if($('#' + nextTab).length > 0 && !$('#' + nextTab).hasClass('error')){
				changeTab(nextTab);
			} else {
				$('#' + currentTab).append('<div class="loader"></div>');
				$('#' + currentTab + ' .loader').css('opacity', 0).fadeTo(200, .75, function(){
					loadTab(nextTab, false);
				});
			};
		};
		e.preventDefault();
	});
	
	
	
	// Shows Twitter & Facebook Grid View
	$('#twitter .filter .grid_view_button').live('click', function (e) {
		$(this).toggleClass('active');
		$('#twitter .grid_view').slideToggle(100);
		e.preventDefault();
	});
	
	$('#facebook .filter .grid_view_button').live('click', function (e) {
		$(this).toggleClass('active');
		$('#facebook .grid_view').slideToggle(100);
		e.preventDefault();
	});
	
	
					
});
