	function initializeItemInteractIcons() {
		$("body").append($("<div id='tell_a_friend_panel'></div>"));
		$("body").append($("<div id='tell_a_friend_panel_preloader' align='center'><img src='images/ajax_loader.gif' align='absmiddle' /> Loading...</div>"));
		$("body").append($("<div id='login_panel_validator'></div>"));
		$("body").append($("<div id='success_panel'></div>"));
		$("body").append($("<div id='login_prompt_panel'></div>"));
		
		$(".like_item_panel").dblclick(function() {
			var current_item_id = $(this).attr("id").substr(16);
		
			$.post("includes/get_like_item_info.php", { item_id: current_item_id },
			function(data){
				if (data != "NO ONE LIKES THIS ITEM") {
					$("#like_item_panel_" + current_item_id).empty();
					$("#like_item_panel_" + current_item_id).append(data);
					$("#like_item_panel_" + current_item_id).fadeIn('fast');	
				}
			});																
		});
		
		$(".like_item_panel").trigger('dblclick');
		
		$(".tell_a_friend_icon").click(function(){
			if ($("#tell_a_friend_panel").css("display") == "none") {
				var offset = $(this).offset();
				$("#tell_a_friend_panel").empty();
				
				$("#tell_a_friend_panel").css("top", offset.top + 15);
				$("#tell_a_friend_panel").css("left", offset.left - 15);
				$("#tell_a_friend_panel").show();
				adjustScroll("#tell_a_friend_panel");
				
				$("#tell_a_friend_panel_preloader").css("top", offset.top + 105);
				$("#tell_a_friend_panel_preloader").css("left", offset.left + 140);
				$("#tell_a_friend_panel_preloader").show();				
				
				var current_item_id = $(this).attr("id").substr(19);
				
				$.ajax({
					url: "includes/tell_a_friend_form.php", 
					cache: false,
					success: function(message){
						$("#tell_a_friend_panel").append(message);
						$("#tell_a_friend_panel_preloader").hide();
					},
					complete: function (){
						initializeTellAFriendFormProcessor(current_item_id);
					},
					error:function (){
						$("#tell_a_friend_panel").append('Unable to Load Content.');
						$("#tell_a_friend_panel_preloader").hide();
					}
				});
			} else {
				hideTellAFriendPanel();
			}
			
			return false;
		});
		
		$(".like_item_icon").click(function(){
			if ($("#open_login_panel").length > 0) {
				if ($("#login_prompt_panel").css("display") == "none") {
					var offset = $(this).offset();
					displayLoginPromptPanel(offset, "like_this_item");
				} else {
					hideLoginPromptPanel();
				}
			} else {
				var current_item_id = $(this).attr("id").substr(15);
				$("#like_item_panel_" + current_item_id).fadeOut('fast');
				$("#like_item_panel_" + current_item_id).empty();
				adjustScroll("#like_item_panel_" + current_item_id);
				
				$.post("includes/like_item.php", { item_id: current_item_id },
				function(data){
					$("#like_item_panel_" + current_item_id).append(data);
					$("#like_item_panel_" + current_item_id).fadeIn('fast');
   				});
			}
			return false;
		});
		
		$(".follow_store_icon").click(function(){
			if ($("#open_login_panel").length > 0) {
				if ($("#login_prompt_panel").css("display") == "none") {
					var offset = $(this).offset();
					displayLoginPromptPanel(offset, "follow_this_store");
				} else {
					hideLoginPromptPanel();
				}
			} else {
				var current_store_id = $(this).attr("id").substr(18);
				var offset = $(this).offset();
				
				$("#login_prompt_panel").css("top", offset.top + 15);
				$("#login_prompt_panel").css("left", offset.left + 5);
				$("#login_prompt_panel").show();
				adjustScroll("#login_prompt_panel");
				
				$("#tell_a_friend_panel_preloader").css("top", offset.top + 58);
				$("#tell_a_friend_panel_preloader").css("left", offset.left + 89);
				$("#tell_a_friend_panel_preloader").show();
				
				$.post("includes/follow_store.php", { store_id: current_store_id },
				function(data){
					$.ajax({
						url: "includes/follow_store_success.php?s=" + current_store_id + "&status=" + data, 
						cache: false,
						success: function(message){
							$("#login_prompt_panel").empty();
							$("#login_prompt_panel").append(message);
							$("#tell_a_friend_panel_preloader").hide();
						},
						complete: function (){
							initializeFollowStoreSuccessProcessor();
						},
						error:function (){
							$("#login_prompt_panel").append('Unable to Load Content.');
							$("#tell_a_friend_panel_preloader").hide();
						}
					});
   				});
			}
			return false;
		});
	}
	
	function initializeTellAFriendFormProcessor (current_item_id) {
		$("#tell_a_friend_form").submit(function() {
			$("#tell_a_friend_panel .tell_a_friend_form_container").hide();
			$("#tell_a_friend_panel_preloader").show();
			$("#login_panel_validator").empty();
			$("#login_panel_validator").hide();
			
			$.post("includes/tell_a_friend.php", { sender_name: $("#tell_a_friend_form [name=sender_name]").val(), 
												   sender_email: $("#tell_a_friend_form [name = sender_email]").val(),
												   recipient_email: $("#tell_a_friend_form [name = recipient_email]").val(),
												   short_msg: $("#tell_a_friend_form [name = short_msg]").val(),
												   item_id: current_item_id},
				function(data){
					if (data == "NO SENDER NAME") {
						$("#tell_a_friend_panel .tell_a_friend_form_container").show();
						$("#tell_a_friend_panel_preloader").hide();
						
						var offset = $("#tell_a_friend_form [name=sender_name]").offset();
						var offsettop = offset.top - 30;
						var offsetleft = offset.left + 10;
						
						$("#login_panel_validator").css("top", offsettop);
						$("#login_panel_validator").css("left", offsetleft);
						$("#login_panel_validator").append("Please enter your name");
						$("#login_panel_validator").show();
						
						$("#tell_a_friend_form [name=sender_name]").focus();
					}
					
					if (data == "NO SENDER EMAIL") {
						$("#tell_a_friend_panel .tell_a_friend_form_container").show();
						$("#tell_a_friend_panel_preloader").hide();
						
						var offset = $("#tell_a_friend_form [name=sender_email]").offset();
						var offsettop = offset.top - 30;
						var offsetleft = offset.left + 10;
						
						$("#login_panel_validator").css("top", offsettop);
						$("#login_panel_validator").css("left", offsetleft);
						$("#login_panel_validator").append("Please enter your email address");
						$("#login_panel_validator").show();
						
						$("#tell_a_friend_form [name=sender_email]").focus();
					}
					
					if (data == "INVALID SENDER EMAIL") {
						$("#tell_a_friend_panel .tell_a_friend_form_container").show();
						$("#tell_a_friend_panel_preloader").hide();
						
						var offset = $("#tell_a_friend_form [name=sender_email]").offset();
						var offsettop = offset.top - 30;
						var offsetleft = offset.left + 10;
						
						$("#login_panel_validator").css("top", offsettop);
						$("#login_panel_validator").css("left", offsetleft);
						$("#login_panel_validator").append("Invalid email address format");
						$("#login_panel_validator").show();
						
						$("#tell_a_friend_form [name=sender_email]").focus();
					}
					
					if (data == "NO RECIPIENT EMAIL") {
						$("#tell_a_friend_panel .tell_a_friend_form_container").show();
						$("#tell_a_friend_panel_preloader").hide();
						
						var offset = $("#tell_a_friend_form [name=recipient_email]").offset();
						var offsettop = offset.top - 30;
						var offsetleft = offset.left + 10;
						
						$("#login_panel_validator").css("top", offsettop);
						$("#login_panel_validator").css("left", offsetleft);
						$("#login_panel_validator").append("Please enter friend's email");
						$("#login_panel_validator").show();
						
						$("#tell_a_friend_form [name=recipient_email]").focus();
					}
					
					if (data == "INVALID RECIPIENT EMAIL") {
						$("#tell_a_friend_panel .tell_a_friend_form_container").show();
						$("#tell_a_friend_panel_preloader").hide();
						
						var offset = $("#tell_a_friend_form [name=recipient_email]").offset();
						var offsettop = offset.top - 30;
						var offsetleft = offset.left + 10;
						
						$("#login_panel_validator").css("top", offsettop);
						$("#login_panel_validator").css("left", offsetleft);
						$("#login_panel_validator").append("Invalid email address format");
						$("#login_panel_validator").show();
						
						$("#tell_a_friend_form [name=recipient_email]").focus();
					}
					
					if (data == "SEND SUCCESSFUL") {
						$("#tell_a_friend_panel_preloader").hide();
						
						var offset = $("#tell_a_friend_panel").offset();
						
						$("#success_panel").empty();
						$("#success_panel").css("top", offset.top + 100);
						$("#success_panel").css("left", offset.left + 40);
						$("#success_panel").append("An email has been sent to your friend with the item details.");
						$("#success_panel").show();
												
						setTimeout("$('#success_panel').fadeOut(190);", 2500);
						setTimeout("hideTellAFriendPanel();", 2500);	
					}
   			});
			
			return false;
		});
		
		$("#cancel_tell_a_friend").click(function(){
			hideTellAFriendPanel();
			return false;
		});
	}
	
	function hideTellAFriendPanel() {
		$("#tell_a_friend_panel").hide();
		$("#login_panel_validator").hide();
	}
	
	function displayLoginPromptPanel(offset, type) {
		if (type == "like_this_item") {
			$("#login_prompt_panel").css("top", offset.top + 15);
			$("#login_prompt_panel").css("left", offset.left - 25);
			$("#login_prompt_panel").show();
			adjustScroll("#login_prompt_panel");
			
			$("#tell_a_friend_panel_preloader").css("top", offset.top + 58);
			$("#tell_a_friend_panel_preloader").css("left", offset.left + 55);
			$("#tell_a_friend_panel_preloader").show();
		}
		
		if (type == "follow_this_store") {
			$("#login_prompt_panel").css("top", offset.top + 15);
			$("#login_prompt_panel").css("left", offset.left + 5);
			$("#login_prompt_panel").show();
			adjustScroll("#login_prompt_panel");
			
			$("#tell_a_friend_panel_preloader").css("top", offset.top + 58);
			$("#tell_a_friend_panel_preloader").css("left", offset.left + 95);
			$("#tell_a_friend_panel_preloader").show();	
		}	
		
		$.ajax({
			url: "includes/login_prompt_panel.php", 
			cache: false,
			success: function(message){
				$("#login_prompt_panel").empty();
				$("#login_prompt_panel").append(message);
				$("#tell_a_friend_panel_preloader").hide();
			},
			complete: function (){
				initializeLoginPromptPanelProcessor();
			},
			error:function (){
				$("#login_prompt_panel").append('Unable to Load Content.');
				$("#tell_a_friend_panel_preloader").hide();
			}
		});
	}
	
	function initializeLoginPromptPanelProcessor() {
		$("#login_prompt_cancel").click(function(){
			hideLoginPromptPanel();
			return false;
		});
		
		$("#login_prompt_sign_in").click(function(){
			hideLoginPromptPanel();
			$(document).scrollTop(0);
			$('#open_login_panel').trigger('click');
			return false;
		});
	}
	
	function hideLoginPromptPanel() {
		$('#login_prompt_panel').fadeOut('fast');
		$("#tell_a_friend_panel_preloader").hide();
	}
	
	function initializeFollowStoreSuccessProcessor() {
		$("#visit_followed_store").click(function(){
			$("#login_prompt_panel").fadeOut('fast');
			return true;
		});
		
		$("#continue_after_follow_store").click(function(){
			$("#login_prompt_panel").fadeOut('fast');
			return false;
		});
	}
	
	function adjustScroll(element) {
		var offset = $(element).offset();
		var bottom_tip = offset.top + $(element).outerHeight(true);
		var viewable_area = $(window).scrollTop() + $(window).height();
		
		if (bottom_tip > viewable_area) {
			var scroll_to = $(window).scrollTop() + (bottom_tip - viewable_area);
			$(document).scrollTop(scroll_to);
		}
	}