// Here we attach functions to resize text to the anchors on story detail pages.
$(document).ready(function(){
	$("a#txtResizeMinus").click(function () { 
		txtResizeSmaller();
	});
	$("a#txtResizePlus").click(function () { 
		txtResizeLarger();
	});

	$("#featured_assets").hover(
		function () {
			highlightMorePhotos( 1 );
      		}, 
        	function () {
			highlightMorePhotos( 0 );
      		}
    	);
	 $("#more_photos").hover( 
                function () {
                        highlightMorePhotos( 1 );
                }, 
                function () {
                        highlightMorePhotos( 0 );
                }
        );
});

// This function simply fades the backgound color of the More Photos div
//   in and out depending on the action passed, 1 == fade color in, 0 == out
function highlightMorePhotos( act ){
	if( act == 1 ){
		$("#morePhotos").css("background-color","#FFFFCC");
		$("#morePhotos").css("border","1px dashed #E0E0E0");
	}		
	if( act == 0 ){
		$("#morePhotos").css("background-color","white");
		$("#morePhotos").css("border","none");
	}
}

function txtResizeSmaller() {
	var currentTxtSize = $("#story_text_top > p").css("font-size");
	var newTxtSize = currentTxtSize.split("px");

	var currentTxtLineHeight = $("#story_text_top > p").css("line-height");
	var newTxtLineHeight = currentTxtLineHeight.split("px");

	if( parseInt( newTxtSize[0] ) <= 8 ){
		$("#txtResizeTool img#txtResizeMinus").css( "display", "none" );
		$("img#txtResizeMinusFade").css( "display", "inline" );
	} else {
		currentTxtSize = parseInt( newTxtSize[0] ) - 2;
		currentTxtLineHeight = parseFloat( newTxtLineHeight[0] ) - 2;
		if( parseInt( currentTxtSize ) <= 8 ){
			$("#txtResizeTool img#txtResizeMinus").css( "display", "none" );
			$("img#txtResizeMinusFade").css( "display", "inline" );
		}

		currentTxtSize = currentTxtSize + "px";
		currentTxtLineHeight = currentTxtLineHeight + "px";
	}
	
	$("#txtResizeTool img#txtResizePlus").css("display", "inline");
	$("img#txtResizePlusFade").css("display", "none");

	$("#story_text_top > p").css("font-size", currentTxtSize);
	$("#story_text_top > p").css("line-height", currentTxtLineHeight);
	$("#story_text_remaining > p").css("font-size", currentTxtSize);
	$("#story_text_remaining > p").css("line-height", currentTxtLineHeight);
}

function txtResizeLarger() {
	var currentTxtSize = $("#story_text_top > p").css("font-size");
	var newTxtSize = currentTxtSize.split("px");

	var currentTxtLineHeight = $("#story_text_top > p").css("line-height");
	var newTxtLineHeight = currentTxtLineHeight.split("px");

	if( parseInt( newTxtSize[0] ) >= 24 ){
		$("#txtResizeTool img#txtResizePlus").css( "display", "none" );
		$("img#txtResizePlusFade").css( "display", "inline" );
	} else {
		currentTxtSize = parseInt( newTxtSize[0] ) + 2;
		currentTxtLineHeight = parseFloat( newTxtLineHeight[0] ) + 2;
		if( parseInt( currentTxtSize ) >= 24 ){
			$("#txtResizeTool img#txtResizePlus").css( "display", "none" );
			$("img#txtResizePlusFade").css( "display", "inline" );
		}

		currentTxtSize = currentTxtSize + "px";
		currentTxtLineHeight = currentTxtLineHeight + "px";
	}
	
	$("#txtResizeTool img#txtResizeMinus").css("display", "inline");
	$("img#txtResizeMinusFade").css("display", "none");

	$("#story_text_top > p").css("font-size", currentTxtSize);
	$("#story_text_top > p").css("line-height", currentTxtLineHeight);
	$("#story_text_remaining > p").css("font-size", currentTxtSize);
	$("#story_text_remaining > p").css("line-height", currentTxtLineHeight);
}




// This function sets up the way images cycle on the story detail pages.
function setupCycleSlideShow() {
	$("a#morePhotos").toggle(function(){
        	$("a#morePhotos").html("CLICK TO HIDE PHOTOS");
        	$("ul#cycleNav").slideDown();
      	},function(){
        	$("a#morePhotos").html("CLICK FOR MORE PHOTOS");
        	$("ul#cycleNav").slideUp();
      	});

      $('#cycleSlideShow').hover(
          function() { $('#cycleControls').fadeIn(); },
          function() { $('#cycleControls').fadeOut(); }
      );

      $('#cycleSlides').cycle({ 
        fx:      'fade', 
        speed:    500, 
        timeout:  10000,
        before:   switchCycleImageCaption,
        next:     "#cycleNext",
        prev:     "#cyclePrev",
        pager:    "#cycleNav",
        pagerAnchorBuilder: function( idx, slide ){
          return '#cycleNav li:eq(' + (idx) + ') a';
        }
      });
}

// This function is called everytime an image switches via cycle, and 
//   swaps out the images caption.
function switchCycleImageCaption() { 
	$('#cycleImageCaption').html( this.title ); 
} 

// This function converts all our anchors with the .media class to be embedded instead of 
//   just links.  Currently this is not really needed, but I abstracted it thinking that 
//   down the road affiliates may want to customize this functionality.
function setupInlineMedia() {
	$('.media').media();
}
