$(function(){
	// Homepage: Banner slider
	jQuery('#bannerSlider').after('<div id="nav">').cycle({ 
	    fx:     'scrollHorz',
	    speed:  'slow',
	    timeout: 8000,
	    pager:  '#nav',
			pauseOnPagerHover: true
	});
	
	jQuery('.slide:first').show();
	
	// Homepage: Banner slider - pause on hover
	jQuery('#bannerSlider').mouseenter(function(){
		jQuery(this).cycle('pause');
	}).mouseleave(function(){
		jQuery(this).cycle('resume');
	});

	// Search: Date picker (Plugin: jquery.datePicker.js)
	jQuery('.pickDate').datePicker({clickInput:true,createButton:false,startDate:'01/01/1996'});

	// Global: FocusMagic (Plugin: jquery.focusmagic.js)
	jQuery('form.focusMagic').focusMagic();
	
	// ======================================================================================================
	// PARSING FEEDS FROM TWITTER, FLICKR, YOUTUBE, FACEBOOK
	// Created by Aaron Vanderzwan on 2010-01-08.
	// ======================================================================================================

	
	
	// Homepage & News: Parse Twitter feed and write it
	if(jQuery('#tweets2').length > 0){
		var url = "http://pipes.yahoo.com/pipes/pipe.run?_id=a7d9ada46831350070ba563852a6a1a5&_render=json&_callback=?";
	  $.getJSON(url,
			function(data){
				$('#tweets2 .loader').remove();
				if(data.value.items.length > 0){}else{
					jQuery('.#tweets2 ul').append('<li>Twitter seems to be hiccuping. Try reloading the page for more tweets.</li>')
				}
				
		    $.each(data.value.items, function(i,item){
				// $("img#profile").attr("src", item.user["profile_image_url"]);
				$("#tweets2 ul").append("<li>"
					+ "<img src='"+ item.user.profile_image_url +"' class='profile' alt='' />"
					+ "<div class='content'><a href='http://www.twitter.com/"+ item.user.screen_name +"' target='_blank'>"
					+ item.text
					+ "</a> <br />" 
					+ " <span class='created_at'>"  
					+ relative_time(item.created_at)  
					// + " via "  
					// + item.source
					+ "</span></div></li>");
					
				// If on the homepage only show 1
				if(jQuery('body#home').length > 0){
					if(i >= 0){
						return false;
					}
				}
			}); 
		});
	}
	
	
	// News: Parse Facebook feed and write it
	if(jQuery('#facebook').length > 0){
		var url = "http://pipes.yahoo.com/pipes/pipe.run?_id=edeaeb167abf3f054fe21cae9a398dd5&_render=json&_callback=?";
	  $.getJSON(url,
			function(data){
				$('#facebook .loader').remove();
		    $.each(data.value.items, function(i,item){
				// $("img#profile").attr("src", item.user["profile_image_url"]);
				$("#facebook ul").append("<li>"
					+ "<div><strong>"+ item.author.name +"</strong><br />"
					+ item.title
					+ "<br /><a href='http://www.facebook.com"+ item.link +"' target='_blank'>View</a>"
					+ " <span class='created_at'>"  
					// + relative_time(item.pubDate)  
					// + " via "  
					// + item.source
					+ "</span></div></li>");
			}); 
		});
	}
	
	
	// News: Flickr Feed rendered and sent
	if(jQuery('#flickrImages').length > 0){
		// var url = 'http://api.flickr.com/services/feeds/photos_public.gne?id=45617820@N02&lang=en-us&format=json&jsoncallback=?';
		var url = 'http://pipes.yahoo.com/pipes/pipe.run?_id=1a8cd9036164da4786fd1617a769c40a&_render=json&_callback=?';
		$.getJSON(url,
		 function(data){	
			$('#flickrImages .loader').remove();
	    $.each(data.value.items, function(i,item){
	      $("<img/>").attr("src", item['media:thumbnail'].url ).appendTo("#flickrImages").wrap('<a href="'+item.link+'" target="_blank"></a>');
	      if ( i == 3 ) return false;
	    });
	  });
	}
	
	
	// News: Flickr Feed rendered and sent
	if(jQuery('#youtube').length > 0){
		var url = 'http://gdata.youtube.com/feeds/base/users/SesameStreet/uploads?alt=json&v=2&orderby=published&client=ytapi-youtube-profile&callback=?';
		$.getJSON(url,
		 function(data){
			$('#youtube .loader').remove();
	    $.each(data.feed.entry, function(i,item){
				var code = item.link[0].href.split('v=')[1].split('&')[0];
				$('#youtube').append(
						'<object width="296" height="246">'
							+'<param name="movie" value="http://www.youtube.com/v/'+ code +'&hl=en_US&fs=1&">'
							+'</param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>'
							+'<embed src="http://www.youtube.com/v/'+ code +'&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="296" height="246"></embed>'
						+'</object>');
	      if ( i == 0 ) return false;
			});
	  });
	}
	
	
	
	
	// var code = "";
	//  	var youtubeLink = '<cfoutput>#featurednews.N_Video#</cfoutput>';
	// try{
	// 	code = youtubeLink.split('v=')[1].split('&')[0];
	// }catch(err){}
	// if(code.length > 0){
	// 	
	// 	// <object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/xv8VpwDJgIQ&hl=en_US&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/xv8VpwDJgIQ&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object>
	// 	
	// 	
	// 	// Show youtube vid
	// 	jQuery('.youtube').html(
	// 		'<object width="296" height="246">'
	// 			+'<param name="movie" value="http://www.youtube.com/v/'+ code +'&hl=en_US&fs=1&">'
	// 			+'</param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>'
	// 			+'<embed src="http://www.youtube.com/v/'+ code +'&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="296" height="246"></embed>'
	// 		+'</object>');
	// }else{
	// 	jQuery('.youtube').remove();
	// }
	
	
	
	// Homepage: Calendar functionality
	jQuery('.details > div.today').show();
	jQuery('.calendar td a').not('.calendar td.calHeader a').click(function(){
		jQuery('.calendar td a').removeClass('active');
		jQuery(this).addClass('active');
		
		jQuery('.details > div').hide();
		// Trim white space from date (inside <a>) and remove <strong> tags if needed
		var date = jQuery.trim(jQuery(this).html()).replace('<strong>','').replace('</strong>','').replace('<STRONG>','').replace('</STRONG>','');
		if(date.length == 0){date = "nothing";}
		jQuery('.date_'+date).show();
		return false;
	});
	
	
	
	// Signup Thank You!
	jQuery('.signupForm #mc-embedded-subscribe').click(function(){
		jQuery('.signupForm p').html('Thank You!');
	});
});
								


	// ========================================================================================
	// ========================================================================================
	// TWITTER FEED FUNCTIONS
	function relative_time(time_value) {
		var values = time_value.split(" ");
		time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
		var parsed_date = Date.parse(time_value);
		var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
		var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
		delta = delta + (relative_to.getTimezoneOffset() * 60);

		var r = '';
		if (delta < 60) {
			r = 'a minute ago';
		} else if(delta < 120) {
			r = 'a couple of minutes ago';
		} else if(delta < (45*60)) {
			r = (parseInt(delta / 60)).toString() + ' minutes ago';
		} else if(delta < (90*60)) {
			r = 'an hour ago';
		} else if(delta < (24*60*60)) {
			r = '' + (parseInt(delta / 3600)).toString() + ' hours ago';
		} else if(delta < (48*60*60)) {
			r = '1 day ago';
		} else {
			r = (parseInt(delta / 86400)).toString() + ' days ago';
		}

		return r;
	}
	String.prototype.linkify = function() {
		return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/, function(m) {
			return m.link(m);
		});	
	};