// Stens Permissions

var STENS = {
	permissions: 
	{
		listPrice: function( hidePrices )
		{
			if(hidePrices != "YES") // if Show Prices
			{
				$(".list-price").removeClass("ui-helper-hidden");
				$(".your-price, .your-price-container").removeClass("ui-helper-hidden");
			} else {
				$(".your-price, .your-price-container").remove();
				$(".list-price").removeClass("ui-helper-hidden");
			}
		},
		userControl: function( userType ) {
				if( userType === "ANONYMOUS" ) {
					$(".user").addClass("ui-helper-hidden");
					$(".anonymouse").removeClass("ui-helper-hidden");
				} else {
					$(".user").removeClass("ui-helper-hidden");
					$(".anonymouse").addClass("ui-helper-hidden");
				}
		},
		specialOrder: function( fastOrder) {
			var $container = $("#orderRestrictions"),
	   			orderMode = $container.find("#orderMode").attr("data-orderMode"),
				currentCn = $("#tbCN").val(),
				isFastOrder = fastOrder,
		    	allowedContent = $container.find(".allowed-content-number").map(function (i, el) {
					return $(el).attr("data-allowedContent");
	  			}),
	  			jqXHRCancel = {};
	  			$dialog = $("#my-order-dialog");
	  		// Setup special order dialog
	  		$dialog.dialog({
	  			autoOpen: false,
				modal: true,
				title: "Special Order Mode",
				close: function() {
				

					if ( $(this).attr("data-fastOrder") === "YES" ) {
							// Close the dialog
							//$(this).dialog("close");
							return;
						} else {
							// Close the dialog this is not a fast order 
							window.location.href= "Portal.aspx?CN=1B4DF2E8389D";
							//$(this).dialog("close");
						}
				},
				buttons: {
					Continue: function() {
						$(this).dialog("close");
					},
					"Cancel Order": function() {
							// Cancel order logic
							var jqXHR = {};
							if ( $(this).attr("data-fastOrder") === "YES" ) {
								 jqXHR = cancelOrder();
									// Close the Special Order Dialog
								$(this).dialog("close");
								jqXHR.success(function() {
									// Set order mode to empty
									$container.find("#orderMode").attr("data-orderMode", "");
									// Run Fast order form on success of canceling the exitisng order
									checkQuantities();
									// After running fast order add to cart reset status to no
									$dialog.attr("data-fastOrder", "NO");
								});
								// This is a fast order don't let the user add anything to cart
							}  else {
								// Just cancel order
								jqXHR = cancelOrder();
								
								jqXHR.success(function() {
									$dialog.dialog("close");
								});
						}
					}
				}
	  		});	
			// Private function for displaying dialog
			function showDialog() {
				$dialog.dialog("open");
			}
			function cancelOrder() {
				var promoId = $("#promoId").val(),
				    worksheet = $("#worksheetId").val();
					if( promoId !== "" && worksheet !== "" ) {
						jqXHRCancel = $.get("Ajax.aspx?CN=37B3533D45A8&ACTION1=C&PROMOID=" + promoId +"&WORKSHEET=" + worksheet);
							return jqXHRCancel;
					}
			}
			// Fast order form submitted
			if( isFastOrder && orderMode === "SpecialOrder") {
				// Set data attribute on dialog to indicate fast order form usage
				$dialog.attr("data-fastOrder", "YES");
				$dialog.dialog("open");
			}
			if( orderMode === "SpecialOrder" ) {
				if ( $.inArray( currentCn, allowedContent) === -1 )  {
					showDialog();
				}
			}
		}
	}	
}
