﻿/* jQuery powered site animation frills */

var isIE6;

/* Add some additional non essential functionality via jQuery */
$(document).ready(function(){

	isIE6 = ($.browser.msie && $.browser.version < 7);
	
	/* Setup any rounded link buttons */
	$(".linkButton").each(function(){
	
		$(this).find(".subtext").css({opacity:0});
		
		var contentPanel = $(this).find(".linkButton-content");
		var subText = $(this).find(".subtext");

		// Mouseover...
		$(this).hover(function(){

			
			// Show hidden line of text...
			$(subText).animate({opacity: 1}, 100, "", function(){});
			
			// Show full panel
			$(contentPanel).animate({bottom: 0}, 200, "", function(){});
			
		}, function(){
			// Mouseout
			
			// Show hidden line of text...
			$(subText).animate({opacity: 0}, 200, "", function(){});
			
			// Show full panel
			$(contentPanel).animate({bottom: -28}, 200, "", function(){});
			
		});
		
	});
	
	/* Add links to DIV.panels if they have .panelHover class -- makes whole panel clickable */
	$("DIV.panelHover:has(DIV.panel-link A):not([onclick])").each(function(i){

		$(this).click(function(event){
			
			var loc = $(this).find("DIV.panel-link A").attr("href");
			
			if(loc.indexOf("http://") != -1 || loc.indexOf("https://") != -1){
				window.open(loc);
			} else {
				location = loc;
			}
			
			
		});
	});
	
});
/* */

var dateStrArray = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");

// Handle loading & display of XML feeds
function feedMe(feedURL, feedItem, feedTarget) {

	$.getFeed({
		url: "/content/proxy.asp?feedURL=" + feedURL,
		success: function(feed){
		
			var feedPanel = $("div#" + feedTarget);

			var feedItem = feed.items[0];
						
			var feedDateSplit = feedItem.updated.split("T")[0].split("-");
			
			var feedDateStr = feedDateSplit[2] + " " + dateStrArray[feedDateSplit[1]-1].toUpperCase() + " " + feedDateSplit[0];
			
			
			var feedOutput = "";
			feedOutput += "<p class=\"date\">" + feedDateStr + "</p>";
			feedOutput += "<h3>" + feedItem.title + "</h3>";
			feedOutput += "<p>" + feedItem.summary + "</p>";
			feedOutput += "<p><a href=\"" + feedItem.link + "\" class=\"cufon-arrow-link\">More</a></p>";
			
			$(feedPanel).find("div.panel-body").append(feedOutput);
			
			
			var feedTagsOutput = "";
			
			var authorLink = feedItem.authorLink != "" ? "<a href=\"" + feedItem.authorLink + "\" target=\"_blank\">" + feedItem.author + "</a>" : feedItem.author;
			
			feedTagsOutput += "<li class=\"author\">" + authorLink +  "</li>";
			
			for(var i = 0; i < feedItem.categories.length; i++){
				feedTagsOutput += "<li>" + $(feedItem.categories[i]).attr("term");
				feedTagsOutput += i < (feedItem.categories.length - 1) ?  ",</li>" : "</li>";
			}
			
			$(feedPanel).find("div.panel-tags ul").append(feedTagsOutput);
			
			if(isIE6){
				setTimeout("delayArrowRefresh()",1000); // Fix IE6 bug
			} else {
				Cufon.replace('a.cufon-arrow-link', {fontFamily: 'SohoStd-Medium', hover:true});			
			}
		}
	});
}

function delayArrowRefresh(){
	Cufon.refresh('a.cufon-arrow-link', {fontFamily: 'SohoStd-Medium', hover:true});
}

// Handle loading & display of Twitter feed
function tweetMe(twitURL, twitTarget) {
	$.getFeed({url: "/content/proxy.asp?feedURL=" + twitURL, success: function(feed){
	
			var twitPanel = $("div#" + twitTarget);
			
			var twitOutput = "<ul>";
			
			for(var i = 0; i < 2; i++){
			
				var feedItem = feed.items[i];
						
				twitOutput += i == 0 ? "<li style=\"padding-top:0\">" : "<li style=\"border-bottom:0;padding-bottom:0\">";
				
				// Date & Time
				var twitDateSplit = feedItem.updated.split(" ");
				var twitTimeSplit = twitDateSplit[4].split(":");
				twitOutput += "<p style=\"text-transform:uppercase\">" + twitDateSplit[1] + " " + twitDateSplit[2] + " " + twitDateSplit[3] + " " + twitTimeSplit[0] + ":" + twitTimeSplit[1] + "</p>";
				
				twitOutput += "<p>" + feedItem.title + "</p>";
				
				twitOutput += "</li>";

			}
			
			twitOutput += "</ul>";
			
			//console.log(twitOutput);
			
			$(twitPanel).find("div.panel-body").append(twitOutput);
						
		}
	});
}

// Setup defaults for LightBox (Balupton Edition)
$(function(){
	$.Lightbox.construct({
		files: {
			images: {
				prev: 'content/template_images/lightbox/prev.gif ',
				next: 'content/template_images/lightbox/next.gif',
				blank: 'content/template_images/lightbox/blank.gif',
				loading: 'content/template_images/lightbox/loading.gif'
			}
		},
		text: {
			about: {
				text: "",
				title: "",
				link: ""
			}
		}
	});
});

// Flickr Gallery loader
function getGallery(feedURL) {

	if(feedURL != ""){
	
		// Extract Set ID from Feed URL
		var setID = "";
		setID = feedURL.split("set=")[1];
		setID = setID.indexOf("&") != -1 ? setID.split("&")[0] : setID;
		
		if(!isIE6){
	
		// gallery_images is added via "Nav_Footer" shared template code
		var galleryDiv = $("DIV#gallery_images");
		$(galleryDiv).empty();
		
		//http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key=22bfb81ab5d4583be68decdb077f27cb&photoset_id=72157621836198865&user_id=28809498@N06&extras=url_o&format=json
		
		var flickrAPIUrl = "http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key=22bfb81ab5d4583be68decdb077f27cb&photoset_id=" + setID + "&user_id=28809498@N06&extras=url_o,url_m,url_s&format=json";

		$.getJSON(flickrAPIUrl + "&jsoncallback=?", function(data){
		var imgList = "";
		  $.each(data.photoset.photo, function(i,photo){
			var imgHref = photo.url_o != undefined ? photo.url_o : photo.url_m;
			imgList += "<a href=\"" + imgHref + "\" title=\"" + photo.title + "\" class=\"b1Gallery\" rel=\"gallery_" +setID+ "\">" + photo.title + "</a>";
		   // $("<a/>").attr("href", photo.url_o).attr("title",photo.title).appendTo(galleryDiv);
		  });
		
		$(galleryDiv).html(imgList);
		$('A',galleryDiv).lightbox({start:true,events:false});
		//$("a.b1Gallery").fancybox();
		//$.fn.fancybox.open();
		
		});
			
		} else {
			var flickrHostedGallery = "http://www.flickr.com/photos/baseonegroup/sets/" + setID;
			window.open(flickrHostedGallery, "baseOneFlickr");
		}
	
	}

}
