$(function(){
	jQuery.fn.extend ({ 
		AjaxCall: function (options) { 
			var defaults = {
				url: "",
				type: "GET",
				cache: false,
				dataType: "html",
				refresh: "",
				replacement: "",
				loading: true,
				data: "",
				complete: ""
			};
			var options = $.extend(defaults, options);
			var obj = $(this);
			var formData = options.data;

			if(options.type == "POST")
				formData = obj.find("input[name],select[name],textarea[name]").serialize();

			if(options.loading == true)
				LoadingDisplay(obj);
			$.ajax({
				url: options.url,
				type: options.type,
				dataType: options.dataType,
				cache: options.cache,
				data: formData,
				success: function(data){
					if(options.loading == true)
						LoadingDisplay(obj);
					if(typeof data != "object")
					{
						if(data.substring(0,11).toLowerCase() == "javascript:")
							eval(data.substring(11, data.length));
						else if(options.replacement != "")
							$(options.replacement).replaceWith(data);
						else if(obj.length > 0)
						{
							if(options.refresh != "")
							{
								data = data.substring(data.indexOf(options.refresh) + options.refresh.length, data.length);
								data = data.substring(0, data.indexOf(options.refresh));
							}
							obj.html(data);
							//InitPortalPage(obj);
						}
					}
					if (typeof options.complete == "function")
						options.complete(data);
				}
			});
		}
	});
	if($("#gateway").val() == "1")
	{
		$("[data-method=gateway]").each(function(){
			var obj = $(this);
			obj.addClass("gateway-panel");
			var ID = obj.attr("data-content");
			$(this).prepend('<div id="ed-'+ ID +'" class="button-gateway"><span id="em-'+ ID +'"><div id="dv-'+ ID +'"></div></span></div>');
			$("#ed-"+ ID).hover(function(){
				if($("#dv-"+ ID).html() == "")
				{
					$("#dv-"+ ID).AjaxCall({
						url: "Ajax.aspx?CN=83489F5085B9&CONTENTID="+ ID
					});
				}
			});
		});
	}
	$.fn.AddToCart = function(options) {
		var currentButton = $(this);
		$.fn.AddToCart.defaults =
		{
			contentid: '',
			number: '',
			name: '',
			image: '',
			quantity: 1,
			dimension: '',
			qstring: ''
		};
	        var properties = $.extend({}, $.fn.AddToCart.defaults, options);
	        $(this).unbind().click(function() {
			var button = $(this);
        		var currentQuantity = properties.quantity;
			if (typeof (properties.quantity) === "string")
				currentQuantity = $(properties.quantity).val();		//accounts for the user specifying an element instead of a quantity.

			currentQuantity = parseInt(currentQuantity, 10);		//assuring that the quantity is an integer greater than 1.
			if (isNaN(currentQuantity) || currentQuantity < 1)
			{
				alert('Please enter a whole number that is greater than zero.');
				return false;
			}

			var initialText = $(this).text();
			button.addClass("adding").text("Adding...");

			$("#adding-to-cart").find("img").attr("src", properties.image);
			$("#adding-to-cart").find(".number").html(properties.number);
			$("#adding-to-cart").find(".name").html(properties.name);

			$("#adding-to-cart").dialog({
				dialogClass: 'hide-titlebar',
				closeOnEscape: false,
				width: 500,
				resizable: false,
				show: 'fade',
				hide: 'fade',
				modal: true,
				beforeClose: function(event, ui){
					button.removeClass("adding").text(initialText);
				}
			});
			var url = "Ajax.aspx?CN=98A129E595F9" +
				"&ITEMID="+ properties.contentid +
				"&HLTYPE=ADD"+
				"&quantity="+ currentQuantity +
				"&DIMENSIONID="+ properties.dimension +
				"&"+ properties.qstring +
				UrlNoCache();
			$().AjaxCall({ url: url });
		});
	}
	//InitPortalPage();
});
function InitAddToCart()
{

	$("[data-method='AddToCart']").each(function(){
		if($(this).attr("data-akin") == "1")
		{
			$(this).unbind().click(function(){
				var qty = parseInt($( $(this).attr("data-quantity") ).val(), 10);
				if(qty < 1)
					qty = 1;
				$("#dialog-window").AjaxCall({
					url: "Ajax.aspx?CN="+ $(this).attr("data-contentid") + "&BO=A59285F83D1C&QTY="+ qty
				});
			});
		}
		else
		{
			$(this).AddToCart({
				contentid: $(this).attr("data-contentid"),
				number: $(this).attr("data-number"),
				name: $(this).attr("data-name"),
				image: $(this).attr("data-image"),
				dimension: $(this).attr("data-dimension"),
				quantity: $(this).attr("data-quantity"),
				qstring: $(this).attr("data-qstring")
			});
		}
	});
}
function AddToCartReturn(ItemCount, Subtotal)
{
	$("#cart-details").empty();
	$("#shopping-cart-item-count").html(ItemCount);
	//$("#shopping-cart-subtotal").html(Subtotal);
	$("#adding-to-cart").dialog("close");
}

/***************************************************
*	Enter Plugin
*	Author: Jeff Clement
*	Syntax: $( selector ).enter();
*	Dependencies:
*		jQuery (1.4.2 minimum)
*
*****************************************************/
(function($){
	$.fn.enter = function(callback) {  
		var $this = $(this);
		$this.keydown(function(event) {
			var code = (event.keyCode ? event.keyCode : event.which);
			if(code == 13) {
				if(typeof callback == 'function'){
					callback.call(this);
				}
				event.preventDefault();
	      		return false;
			}
		});
	};
})( jQuery );

