function addProductToCart(sn)
{
	addToCart(sn);
	$("#purchaseButton").hide();
	$("#purchaseButton").after("<span class='successMessage'>Added to <a href='/quick_checkout.jsp'>cart</a>.</span>");
}

function center(obj)
{
	width = obj.outerWidth();
	viewportWidth = $("html").innerWidth();
	obj.css({"left": (viewportWidth/2)-(width/2)+"px"});
}

$(".tableCloseButton").live("click", function()
{
	$("#previewPane").remove();
	unmaskViewport();
});

$(".addToCart").live("click",function(event)
{
	event.preventDefault();
	addToCart($(this).attr("id"));
	$(this).fadeOut(500,function()
	{
		$(this).after("<p>Added to <a href='/quick_checkout.jsp'>cart</a>.</p>");
	});
});

$(window).keyup(function(event)
{
	var keyCode = event.which;
	if(keyCode == 27 && $("#previewPane").length > 0)
	{
		$("#previewPane").remove();
		unmaskViewport();
	}
});

$(document).ready(function()
{
    if($(".promo").length > 0)
    {
        $(".promo").css({'top': $("#sidebar").outerHeight() + 170});
        $("#mainContent").css({'min-height': $("#sidebar").outerHeight() + 300});
    }
    $("#accessPopDown").slideDown();
	$.ajax({
		url: "/account/loggedin.jsp",
		cache: false,
		success: function(response)
		{
			if(trim(response)=="1")
			{
				var parameters = window.location.search.substring(1).split("&");
				for(i=0;i<parameters.length;i++)
				{	
					if(parameters[i].split("=")[0] == "viewtable")
					{
						$("#previewPane").remove();
						maskViewport();
						$("body").append("<div id='previewPane'><div style='padding: 20px;'><img src='/image/ui/ajax-loader.gif' alt='Please wait...' style='width:220px;' /></div></div>");
						$("#previewPane").css({"top":"100px"});
						center($("#previewPane"));
						var tableIndex = "Loading table structure...";
						$("#previewPane").prepend("<div class='menubar'><img src='/image/ui/16x16_close_white.png' alt='Close' title='Close' class='tableCloseButton' /><span style='position: relative; top: 2px;'>"+tableIndex+"</span></div>");
						pebbleID = parameters[i].split("=")[1];
						var sn = pebbleID.split("~")[0];
						var filename = pebbleID.split("~")[1];
						var price = pebbleID.split("~")[2];
						
						$.ajax(
						{
							type: "POST",
							url: "/table-preview.jsp",
							data: "sn="+sn+"&file="+filename,
							success: function(table)
							{
								$("#previewPane").empty().append(table);
								var tableIndex = $("#previewPane table td:first").text();
								$("#previewPane table tr:first").remove();
								enhanceTable();
								$("#previewPane").prepend("<div class='menubar'><img src='/image/ui/16x16_close_white.png' alt='Close' title='Close' class='tableCloseButton' /><span style='position: relative; top: 2px;'>"+tableIndex+"</span></div>");
								center($("#previewPane"));
							}
						});
					}
				}
			}
		}
	});

	$("a.tablePreviewLink").click(function(event)
	{
		event.preventDefault();
		$("#previewPane").remove();
		maskViewport();
		$("body").append("<div id='previewPane'><div style='padding: 20px;'><img src='/image/ui/ajax-loader.gif' alt='Please wait...' style='width:220px;' /></div></div>");
		$("#previewPane").css({"top":"100px"});
		center($("#previewPane"));
		var tableIndex = "Loading table structure...";
		$("#previewPane").prepend("<div class='menubar'><img src='/image/ui/16x16_close_white.png' alt='Close' title='Close' class='tableCloseButton' /><span style='position: relative; top: 2px;'>"+tableIndex+"</span></div>");
		
		var pebbleID = $(this).attr("id");
		var sn = pebbleID.split("~")[0];
		var filename = pebbleID.split("~")[1];
		var price = pebbleID.split("~")[2];
		
		$.ajax(
		{
			type: "POST",
			url: "/table-preview.jsp",
			data: "sn="+sn+"&file="+filename,
			success: function(table)
			{
				$("#previewPane").empty().append(table);
				var tableIndex = $("#previewPane table td:first").text();
				$("#previewPane table tr:first").remove();
				enhanceTable();
				$("#previewPane").prepend("<div class='menubar'><img src='/image/ui/16x16_close_white.png' alt='Close' title='Close' class='tableCloseButton' /><span style='position: relative; top: 2px;'>"+tableIndex+"</span></div>");
				center($("#previewPane"));
			}
		});
	});
});

function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1))
	{
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g,""); }

function enhanceTable()
{
	var blankRowsSoFar = 0;
	
	// remove trailing empty cells
	$("#previewPane table tr").each(function()
	{
		numTds = $(this).find("td").length;
		for(i=numTds-1;i>=0;i--)
		{
			if($(this).find("td:eq("+i+")").text().trim().length == 0)
				$(this).find("td:eq("+i+")").remove();
			else
				break;
		}
	});
	
	$("#previewPane table").attr("cellspacing","0");
	$("#previewPane table").attr("cellpadding","0");
	$("#previewPane table").find("td:first-child").css({"fontWeight":"bold", "fontFamily":"Verdana, Arial, sans-serif", "textAlign":"left","color":"black"});
	
	rowCount = $("#previewPane table tr").length;
	numCols = 0;
	for(i=0;i<rowCount;i++)
	{
		colCount = $("#previewPane table tr:eq("+i+") td").length;
		if(colCount > numCols)
			numCols = colCount
	}
	headerPassed = false;
	headerIndex = 0;
	for(i=0;i<rowCount;i++)
	{
		colCount = $("#previewPane table tr:eq("+i+") td").length;
		if(colCount < numCols)
			if(headerPassed)
			{
				if(colCount == 0)
				{
					$("#previewPane table tr:eq("+i+")").append("<td colspan='"+numCols+"' style='font-size: 2px; padding: 0; background-color: #666;'>&nbsp;</td>");
					blankRowsSoFar++;
				}
				else
					for(j=0;j<numCols-colCount;j++)
					{
						$("#previewPane table tr:eq("+i+")").append("<td>&nbsp;</td>");
					}
			}
			else
				$("#previewPane table tr:eq("+i+") td:last").attr("colspan",numCols-colCount+1);
		if(!headerPassed)
		{
			$("#previewPane table tr:eq("+i+") td").css({"fontWeight":"bold", "fontFamily":"Verdana, Arial, sans-serif", "textAlign":"left", "fontSize":"12px","color":"#283f6e"});
			if(colCount == numCols)
			{
				$("#previewPane table tr:eq("+i+")").css({"backgroundColor":"#666"});
				$("#previewPane table tr:eq("+i+") td").css({"fontSize":"10px","color":"white", "textAlign":"center","backgroundColor":"#666"});
				headerPassed = true;
			}
		}
		else
		{
			if((i+blankRowsSoFar)%2==0)
			{
				$("#previewPane table tr:eq("+i+")").css({"backgroundColor": "#f1f1f1"});
			}
			$("#previewPane table tr:eq("+i+") td").css({"borderRight": "1px solid #d5d5d5"});
			$("#previewPane table tr:eq("+i+") td:first-child").css({"borderLeft": "1px solid #d5d5d5"});
			if(i==rowCount-1)
			{
				$("#previewPane table tr:eq("+i+") td").css({"borderBottom": "1px solid #d5d5d5", "fontWeight": "normal"});
			}
			var filter = /^\s*\d+\s*$/;
			for(j=0;j<colCount;j++)
			{
				$("#previewPane table tr:eq("+i+") td:eq("+j+")").each(function()
				{
					if(!isNaN(parseFloat($(this).text())))
					{
						$(this).text(addCommas($(this).text()));
					}
				});
			}
		}
	}
}

