$(function() {
  initFullGridDisplay();
  initHomeGridHoverEffect();
});

function initFullGridDisplay() {
  $("#homepage-full-media-display .key-entry-link").each(function() {
    var effected_item = this;
    
  	effected_item.$infoBar = $(effected_item).find(".text-block");
	  
  	if(effected_item.$infoBar.length > 0) {
  	  effected_item.infoBarHeight = effected_item.$infoBar.outerHeight();
  	  effected_item.$infoBar.css("top", (-1 * effected_item.infoBarHeight)+"px");
  	  
  	  $(effected_item).hover(
        function() {
  				if(!$(effected_item).hasClass("hovered")) {
  					$(effected_item).addClass("hovered");
  					Cufon.refresh();
  					$(effected_item).animate( { backgroundColor: 'black' }, 200);
  					$(effected_item).find("img.key-image").animate({opacity: 0.5}, 200);
  					effected_item.$infoBar.animate({ top: 0 }, 200);
  					effected_item.$infoBar.animate( { backgroundColor: 'black' }, 200);
  				}
        },
        function() {
          effected_item.$infoBar.animate({ top: (-1 * effected_item.infoBarHeight) }, 200);
          effected_item.$infoBar.animate( { backgroundColor: 'white' }, 200);
  				$(effected_item).find("img.key-image").animate({opacity: 1}, 200);
  				$(effected_item).removeClass("hovered");
  				Cufon.refresh();
  				$(effected_item).animate( { backgroundColor: 'white' }, 200);
        }
      );

  		// for keyboard actions
  		$(effected_item).focus(function() {
  			if(!$(effected_item).hasClass("hovered")) {
  				$(effected_item).addClass("hovered");
  				Cufon.refresh();
  				effected_item.$infoBar.animate({ top: 0 }, 200);
  				effected_item.$infoBar.animate( { backgroundColor: 'black' }, 200);
  				$(effected_item).animate( { backgroundColor: 'black' }, 200);
  				$(effected_item).find("img.key-image").animate({opacity: 0.5}, 200);
  			}
  		});

  		$(effected_item).blur(function() {
  		  effected_item.$infoBar.animate({ top: (-1 * effected_item.infoBarHeight) }, 200);
  		  effected_item.$infoBar.animate( { backgroundColor: 'white' }, 200);
  			$(effected_item).find("img.key-image").animate({opacity: 1}, 200);
  			$(effected_item).removeClass("hovered");
  			Cufon.refresh();
  			$(effected_item).animate( { backgroundColor: 'white' }, 200);
  		});
    }
  });
}

function initHomeGridHoverEffect() {
  $("#homepage-grid-hold li.grid-entry .key-entry-link").each(function() {
    var effected_item = this;
		
    $(effected_item).hover(
      function() {
				if(!$(effected_item).hasClass("hovered")) {
					$(effected_item).addClass("hovered");
					Cufon.refresh();
					$(effected_item).animate( { backgroundColor: 'black' }, 200);
					$(effected_item).find("img.key-image").animate({opacity: 0.5}, 200);
				}
      },
      function() {
				$(effected_item).find("img.key-image").animate({opacity: 1}, 200);
				$(effected_item).removeClass("hovered");
				Cufon.refresh();
				$(effected_item).animate( { backgroundColor: 'white' }, 200);
      }
    );
		
		// for keyboard actions
		$(effected_item).focus(function() {
			if(!$(effected_item).hasClass("hovered")) {
				$(effected_item).addClass("hovered");
				Cufon.refresh();
				$(effected_item).animate( { backgroundColor: 'black' }, 200);
				$(effected_item).find("img.key-image").animate({opacity: 0.5}, 200);
			}
		});
		
		$(effected_item).blur(function() {
			$(effected_item).find("img.key-image").animate({opacity: 1}, 200);
			$(effected_item).removeClass("hovered");
			Cufon.refresh();
			$(effected_item).animate( { backgroundColor: 'white' }, 200);
		});
  });
  
  $("#homepage-grid-hold li.double-grid-entry .key-entry-link").each(function() {
    var effected_item = this;
    
  	effected_item.$infoBar = $(effected_item).find(".text-block");
	  
  	if(effected_item.$infoBar.length > 0) {
  	  effected_item.infoBarHeight = effected_item.$infoBar.outerHeight();
  	  //effected_item.$infoBar.css("bottom", (-1 * effected_item.infoBarHeight)+"px");
  	  
  	  $(effected_item).hover(
        function() {
  				if(!$(effected_item).hasClass("hovered")) {
  					$(effected_item).addClass("hovered");
  					Cufon.refresh();
  					$(effected_item).animate( { backgroundColor: 'black' }, 200);
  					$(effected_item).find("img.key-image").animate({opacity: 0.5}, 200);
  					//effected_item.$infoBar.animate({ bottom: 0 }, 200);
  					effected_item.$infoBar.animate( { backgroundColor: 'black' }, 200);
  				}
        },
        function() {
          //effected_item.$infoBar.animate({ bottom: (-1 * effected_item.infoBarHeight) }, 200);
          effected_item.$infoBar.animate( { backgroundColor: 'white' }, 200);
  				$(effected_item).find("img.key-image").animate({opacity: 1}, 200);
  				$(effected_item).removeClass("hovered");
  				Cufon.refresh();
  				$(effected_item).animate( { backgroundColor: 'white' }, 200);
        }
      );

  		// for keyboard actions
  		$(effected_item).focus(function() {
  			if(!$(effected_item).hasClass("hovered")) {
  				$(effected_item).addClass("hovered");
  				Cufon.refresh();
  				//effected_item.$infoBar.animate({ bottom: 0 }, 200);
  				effected_item.$infoBar.animate( { backgroundColor: 'black' }, 200);
  				$(effected_item).animate( { backgroundColor: 'black' }, 200);
  				$(effected_item).find("img.key-image").animate({opacity: 0.5}, 200);
  			}
  		});

  		$(effected_item).blur(function() {
  		  //effected_item.$infoBar.animate({ bottom: (-1 * effected_item.infoBarHeight) }, 200);
  		  effected_item.$infoBar.animate( { backgroundColor: 'white' }, 200);
  			$(effected_item).find("img.key-image").animate({opacity: 1}, 200);
  			$(effected_item).removeClass("hovered");
  			Cufon.refresh();
  			$(effected_item).animate( { backgroundColor: 'white' }, 200);
  		});
    }
  });
}
