//page and control values.
var linkPacketBuilderView = ".packetBuilderView";
var linkPacketBuilderQueuePage = ".packetBuilderQueuePage";
var linkPacketBuilderClearPacket = ".packetBuilderClearPacket";
var divOverlayScreen = "#overlayScreen";
var divOverlayPacketBuilder = "#overlayPacketBuilder";
var inputPacketBuilderCurrentUrl = "#packetBuilderCurrentURL";
var pagePacketView = "/FCWSite/Features/PdfPacketBuilder/PacketView.aspx";
var pagePacketQueue = "/FCWSite/Features/PdfPacketBuilder/PacketQueuePage.aspx";
var pagePacketItemCount = "/FCWSite/Features/PdfPacketBuilder/PacketItemCount.aspx";
var responseError = "<error/>";
var responseErrorLimit = "<error type=\"limit\"/>";
var messageOverItemLimit = "You are over the limit of items in your packet.";
var messageSuccessfulQueueFeedback = '';
var messageGeneralError = '';
var messageNoItemsInPacket ='';

$(document).ready(
	function()
	{
	    messageSuccessfulQueueFeedback = $(".txtPdfPacketBuilderMessageQueuedPage").val();
	    messageGeneralError = $(".txtPdfPacketBuilderMessageGeneralError").val();
	    messageNoItemsInPacket =$(".txtPdfPacketViewerMessageGeneralError").val();	    
	    
		//view packet builder dialog.
		$(linkPacketBuilderView).click(
			function()
			{
				getPacket();
				return false;
			}
		);
	    
		//queue page in packet builder.
		$(linkPacketBuilderQueuePage).click(
			function()
			{
				queuePage();
				return false;
			}
		);
	}
);

//refresh packet view.
function refreshPacketView()
{
	$.ajax(
		{
			url: pagePacketView,
			cache: false,
			success:
				function(responseText)
					{
						if (responseText == responseError)
							showGeneralError();
						else
							$(divOverlayPacketBuilder).html(responseText);
					},
			failure:
				function()
					{
						showGeneralError();
					}
			}
	);
}

//view packet builder.
function viewPacketBuilder()
{
	var ie6OrBelow = ($.browser.msie && parseInt($.browser.version) < 7);

	if (!ie6OrBelow)
	{
		var overlayScreen = $(divOverlayScreen);
		overlayScreen.css("opacity", 0.6);
		overlayScreen.fadeIn("fast");
	}

	var jWindow = $(window);
	var h = jWindow.height();
	var w = jWindow.width();

	var overlayPacketBuilder = $(divOverlayPacketBuilder);
	overlayPacketBuilder.css("top", (h / 2) - (overlayPacketBuilder.height() / 2));
	overlayPacketBuilder.css("left", (w / 2) - (overlayPacketBuilder.width() / 2));

	if (ie6OrBelow)
		overlayPacketBuilder.css("position", "absolute");

	overlayPacketBuilder.show();

	refreshPacketView();
}

//Get packet count
function getPacket()
{   
    	$.ajax(
		{					    
			url: pagePacketItemCount, 			
			cache: false,
			type: "post",
			success:
				function(responseText)
				{				
					if(responseText==0)								
                        alert(messageNoItemsInPacket);					
                    else
                       viewPacketBuilder();
				},
			failure:
			function()
			{
				showGeneralError();
			}
		}
	);
}



//queue page.
function queuePage()
{
	$.ajax(
		{					    
			url: pagePacketQueue, 
			data: ({ page: $(inputPacketBuilderCurrentUrl).val(), title: document.title }),
			cache: false,
			type: "post",
			success:
				function(responseText)
				{
					if (responseText == responseErrorLimit)
						alert(messageOverItemLimit);
					else if (responseText == responseError)
						showGeneralError();
					else									
                        alert(messageSuccessfulQueueFeedback);					
				},
			failure:
			function()
			{
				showGeneralError();
			}
		}
	);
} 

//show general error.
function showGeneralError()
{
	alert(messageGeneralError);
}
