var deviceBB = "blackberry";

//Initialize our user agent string to lower case.
var uagent = navigator.userAgent.toLowerCase();

//**************************
// Detects if the current browser is a BlackBerry of some sort.
function DetectBlackBerry()
{
	if (uagent.search(deviceBB) > -1) {
		return true;
	} else {
		return false;
	}
}

var _s = null;

function _show() {
	var s = _s;
	var list = $(s).parent().find(".listHolder");
	if(list.is(":hidden")) {
		$(s).addClass("open");
		list.slideDown("slow");
	} else {
		list.slideUp("slow");
		$(s).removeClass("open");
	}
	
	return false;
}

function show(s) {
	//if(DetectBlackBerry()){return true;}
	_s = s;
	setTimeout(_show, 1);
	return false;
}



function t(s) {
	var list = $(s).parent().find("#content");
	
	if(list.is(":hidden")) {
		$(s).addClass("open");
		list.slideDown("slow");
	} else {
		list.slideUp("slow");
		$(s).removeClass("open");
	}
}

function sf(e) {
	if(e.value == "Search") {
		e.value = "";
	}
}

function sb(e) {
	if(e.value === "") {
		e.value = "Search";
	}
}

function submit(e) {
	$(e).submit();
}

// Var Dump
function var_dump(data,addwhitespace,safety,level) {
	var rtrn = '';
	var dt,it,spaces = '';
	if(!level) {level = 1;}
	for(var i=0; i<level; i++) {
	spaces += '	';
	}//end for i<level
	if(typeof(data) != 'object') {
	dt = data;
	if(typeof(data) == 'string') {
	if(addwhitespace == 'html') {
	dt = dt.replace(/&/g,'&amp;');
	dt = dt.replace(/>/g,'&gt;');
	dt = dt.replace(/</g,'&lt;');
	}//end if addwhitespace == html
	dt = dt.replace(/\"/g,'\"');
	dt = '"' + dt + '"';
	}//end if typeof == string
	if(typeof(data) == 'function' && addwhitespace) {
	dt = new String(dt).replace(/\n/g,"\n"+spaces);
	if(addwhitespace == 'html') {
	dt = dt.replace(/&/g,'&amp;');
	dt = dt.replace(/>/g,'&gt;');
	dt = dt.replace(/</g,'&lt;');
	}//end if addwhitespace == html
	}//end if typeof == function
	if(typeof(data) == 'undefined') {
	dt = 'undefined';
	}//end if typeof == undefined
	if(addwhitespace == 'html') {
	if(typeof(dt) != 'string') {
	dt = new String(dt);
	}//end typeof != string
	dt = dt.replace(/ /g,"&nbsp;").replace(/\n/g,"<br>");
	}//end if addwhitespace == html
	return dt;
	}//end if typeof != object && != array
	for (var x in data) {
	if(safety && (level > safety)) {
	dt = '*RECURSION*';
	} else {
	try {
	dt = var_dump(data[x],addwhitespace,safety,level+1);
	} catch (e) {continue;}
	}//end if-else level > safety
	it = var_dump(x,addwhitespace,safety,level+1);
	rtrn += it + ':' + dt + ',';
	if(addwhitespace) {
	rtrn += '\n'+spaces;
	}//end if addwhitespace
	}//end for...in
	if(addwhitespace) {
	rtrn = '{\n' + spaces + rtrn.substr(0,rtrn.length-(2+(level*3))) + '\n' + spaces.substr(0,spaces.length-3) + '}';
	} else {
	rtrn = '{' + rtrn.substr(0,rtrn.length-1) + '}';
	}//end if-else addwhitespace
	if(addwhitespace == 'html') {
	rtrn = rtrn.replace(/ /g,"&nbsp;").replace(/\n/g,"<br>");
	}//end if addwhitespace == html
	return rtrn;
	}//end function var_dump

// TODO: Can these global variables be moved or determined inside the functions?
var SelectedItem
var SelectedSubitem;
var SelectedQuantity;

if (typeof(ItemGroupJSON) != 'undefined') {
	var SelectedItem = (ItemGroupJSON + "" !== "" && ItemGroupJSON + "" != "undefined") ? ItemGroupJSON.CurrentItem : null;
}

function disableselect(e) {
	return false; 
}
function enableselect() {
	return true; 
}

function ShowScene7Item(itemName, itemColor)
{
	var url = "http://s7d5.scene7.com/is/image/SteveMadden/" + itemName + "_" + itemColor;
	url = url.replace(" ", "_");
	
	$("#mainImage").src= url;
}


function PopulateSizeSelector(selectedStyle, repopulateStylesDll) {
	var shippingNextDay = '<img class="truck" src="//assets.stevemadden.com/layout/icons/ico-shipping.gif" />' +
	'<span>Shipping Info:</span> <span class="info">Usually Ships Next Business Day</span>';
	$(".shipping-box").html(shippingNextDay);
	$("a.thumb").removeClass("selected");
	$("a.item-id-" + selectedStyle).addClass("selected");
	var sizes = "";
	for (i = 0; i < ItemGroupJSON.Items.length; i++) {
	if (selectedStyle == ItemGroupJSON.Items[i].ID) {
	SelectedItem = ItemGroupJSON.Items[i];
	UpdateEmailFriend();
	$('#description').html(SelectedItem.Description);
	var subItems = ItemGroupJSON.Items[i].SubItems
	$('.item-size-ddl').html("");
	sizes += '<option value="">Size: Please select size</option>';
	for (j = 0; j < subItems.length; j++) {
	sizes += '<option value="' + subItems[j].SKU + '">' + subItems[j].Size + '</option>';
	}
	var quantities = '<option value="">Quantity - First Select a Size</option>';
	$(".item-quantity-ddl").html(quantities);

			$("#otherImages").html("");
			for(var x = 0; x < SelectedItem.Views.length; x++) {
				var img = document.createElement("img");
				img.src = SelectedItem.Views[x].ThumbImagePath;
				$(img).data("big", SelectedItem.Views[x].EnlargeImagePath);
				$(img).click(function() {
					$("#mainImage").attr("src", "http:" + $(this).data("big"));
				});
				
				if (x==0) {
					$("#mainImage").attr("src", "http:" + $(img).data("big"));
				}
				
				$("#otherImages").append(img);
			}

	break;
	}
	}
	if (sizes != "") {
	$('.item-size-ddl').html(sizes);
	var zIndexNumber = 10000;
	$('div').each(function() {
	$(this).css('zIndex', zIndexNumber);
	zIndexNumber -= 10;
	});
	}
	if (repopulateStylesDll != undefined && repopulateStylesDll == true) {
	$('.item-style-ddl').val(selectedStyle);
	}
	EnableSubmitButton("");
}

function GetProductCount(){}
function lpAddVars(a,b,c){}

function PopulateQuantitySelector(selectedSize) {
	if(DetectBlackBerry()) return;

	var clearenceText = '<span class="colorRed">* This item is on CLEARANCE. All Clearance items are Final Sale. No Refunds, Returns or Exchanges.</span>';
	var shippingNextDay = '<img class="truck" src="//assets.stevemadden.com/layout/icons/ico-shipping.gif" />' +
							'<span>Shipping Info:</span> <span class="info">Usually Ships Next Business Day</span>';
	var preorderShippingPre = '<span class="colorGreen">Expected Ship Date: ';
	var preorderShippingPost = '.<br />Please note your card will not be charged until the item has shipped.</span>';

	var renderFlag = false;
	var now = new Date();
	
	var quantityDropdown = document.getElementById("ctl00_ctl00_body_body_ucItemSelection_ddlQuantitySelector");
	
	for (i = 0; i < SelectedItem.SubItems.length; i++) {
		if (SelectedItem.SubItems[i].SKU == selectedSize) {
			SelectedSubitem = SelectedItem.SubItems[i];
			var subitemAvailableDate = new Date(SelectedSubitem.AvailableDateString);
			var month = subitemAvailableDate.getMonth() + 1
			var day = subitemAvailableDate.getDate()
			var year = subitemAvailableDate.getFullYear()
		
			if(!DetectBlackBerry()) {
				if(SelectedSubitem.IsBackordered) {
					$(".shipping-box").html(preorderShippingPre + month + "/" + day + "/" + year + preorderShippingPost);
				}
				if(subitemAvailableDate < now && !ItemGroupJSON.IsClearance && !SelectedSubitem.IsBackordered) {
					$(".shipping-box").html(shippingNextDay);
				}
				if(ItemIsClearence(SelectedItem)) {
					$(".shipping-box").html(clearenceText + '<br /><br />' + shippingNextDay);
				}
			}
			
			quantityDropdown.options.length = 0;
					
			var newOption = document.createElement("option");
			quantityDropdown.add(newOption);
		
			newOption.value = "";
			newOption.text = "Quantity: Please select quantity";
					
			for (j = 1; j < SelectedSubitem.MaxQuantity + 1; j++) {
				var newOption = document.createElement("option");
				quantityDropdown.add(newOption);
		
				newOption.value = j;
				newOption.text = j;
			}
			break;
		}
	}

	EnableSubmitButton("");
}

function ItemIsClearence(item) {
	return (item.Price - Math.floor(item.Price)).toFixed(2) == 0.99;
}

function EnableSubmitButton(selectedQuantity) {
	SelectedQuantity = selectedQuantity !== "" ? selectedQuantity : null;
	if(SelectedQuantity != null) {
		$('.btn-add-to-cart-sel').removeClass('btn-add-to-cart-disabled');
		} else {
		$('.btn-add-to-cart-sel').addClass('btn-add-to-cart-disabled');
	}
}

function AddToCart() {
	var addToCartURL = "redirect=Cart.aspx";
	
	var sizeSelector = document.getElementById("ctl00_ctl00_body_body_ucItemSelection_ddlSizeSelector");
	selectedSize = sizeSelector.value;
	
	for(i = 0; i < SelectedItem.SubItems.length; i++) {
		if(SelectedItem.SubItems[i].SKU == selectedSize) {
			SelectedSubitem = SelectedItem.SubItems[i];
		}
	}
	
	var quantitySelector = document.getElementById("ctl00_ctl00_body_body_ucItemSelection_ddlQuantitySelector");
	SelectedQuantity = quantitySelector.value;
	
	
	if(SelectedSubitem != null && SelectedQuantity != null) {
		addToCartURL = "/AddToCart.aspx?" +
		"itemID=" + SelectedItem.ID +
		"&subitemID=" + SelectedSubitem.ID +
		"&quantity=" + SelectedQuantity +
		"&rid=" + new Date() +
		"&redirect=Cart.aspx" +
		"&np=" + NavigationPath + 
		"&ig=" + ItemGroupJSON.ID;
		window.location.href = addToCartURL;
	} else {
		//alert("Button should not be enabled");
	}
}

function UpdateEmailFriend() {
	$(".email-friend-item-name").html(SelectedItem.Name);
	imageUrl = String.format(
	"http://s7d5.scene7.com/is/image/SteveMadden/{0}_{1}?$thumb-cat$",
	SelectedItem.ParentGroupName,
	SelectedItem.Color.replace(' ', '-'));

	if (SelectedItem.OriginalPrice > SelectedItem.Price) {
	originalPrice = "$" + CurrencyFormatted(SelectedItem.OriginalPrice);
	price = "$" + CurrencyFormatted(SelectedItem.Price);
	$('span.item-original-price').html(originalPrice);
	$('span.item-price').html(price);

	//	$('div.item-original-price').html(originalPrice);
	//	$('div.item-price').html(price);
	} else {
	price = "$" + CurrencyFormatted(SelectedItem.Price);
	$('span.item-original-price').html("");
	$('span.item-price').html("$" + CurrencyFormatted(SelectedItem.Price));

	//	$('div.item-original-price').html("");
	//	$('div.item-price').html("$" + CurrencyFormatted(SelectedItem.Price));
	}


	$(".email-friend-item-image").attr("src", imageUrl);
}

function ShowEmailFriend()
{
	$('.email-friend-content').show();
	$('.email-friend-success').hide();
	$('.email-friend').modal({
	zIndex: 15000,
	closeClass: 'email-friend-close',
	closeHTML: "<div><img src='//assets.stevemadden.com/layout/icons/ico-close-grey.gif' alt='Close' /> Close</div>",
	overlayClose: true,
	persist: true
	});
}

function ShowMagazineDetails() {
	$('.special-bonus-details').modal({
	zIndex: 15000,
	closeClass: 'email-friend-close',
	closeHTML: "<div><img src='//assets.stevemadden.com/layout/icons/ico-close-grey.gif' alt='Close' /> Close</div>",
	overlayClose: true,
	persist: true
	});
}

function ShowVideo() {
	$('.video-wrapper').modal({
	zIndex: 15000,
	closeClass: 'email-friend-close',
	closeHTML: "<div><img src='//assets.stevemadden.com/layout/icons/ico-close-grey.gif' alt='Close' /> Close</div>",
	overlayClose: true,
	persist: true
	});
}

function ShowLargeViews() {
	$('.item-larger-views').modal({
	zIndex: 15000,
	closeClass: 'email-friend-close',
	closeHTML: "<div><img src='//assets.stevemadden.com/layout/icons/ico-close-grey.gif' alt='Close' /> Close</div>",
	overlayClose: true,
	persist: true
	});
}

function LargerViewShowStyle(styleId) {
	for (i = 0; i < ItemGroupJSON.Items.length; i++) {
	if (ItemGroupJSON.Items[i].ID == styleId) {
	var itemViews = ItemGroupJSON.Items[i].Views;
	$('.view-image-enlarge').attr("src", itemViews[0].EnlargeImagePath);
	var viewsHTML = ""
	if (itemViews.length > 0) {
	for (j = 0; j < itemViews.length; j++) {
	viewsHTML +=
	'<div class="view-thumb-image-wrapper" style="z-index: 8550;">' +
	'<a href="javascript:ChangeLargerViewImage(\'' + itemViews[j].EnlargeImagePath + '\')"><img class="view-image-thumb" src="' + itemViews[j].ThumbImagePath + '"></a>' +
	'</div>';
	}
	$('.view-selector').html(viewsHTML);
	}
	}
	}
}

function ChangeLargerViewImage(imagePath) {
	$('.view-image-enlarge').attr("src", imagePath)
}

function CategoryItemFilter(uiColorID, uiSizeID, uiPriceID)
{
	var uiSize = $('#' + uiSizeID);

	var filter = '.ItemContainer1';

	if (uiSize.val() != '0') {
	filter += '.siz' + uiSize.val();
	}

	$('.ItemContainer1').hide();
	$(filter).show();

	if ($(filter).length == 0) {
	$(".ItemFilterNoResults").show();
	}
	else {
	$(".ItemFilterNoResults").hide();
	}
}

function CategoryItemSort(uiColorID, uiSizeID, uiPriceID, uiSortID)
{
	var uiSort = jQuery('#' + uiSortID);
	var orderBy = uiSort.val();

	//$('.ItemContainer1').hide();

	if (orderBy == "1") {
	$('.ItemContainer1').tsort({ attr: "prodname", order: "asc" });
	}
	else if (orderBy == "2") {
	$('.ItemContainer1').tsort({ attr: "prodname", order: "desc" });
	}
	else if (orderBy == "3") {
	$('.ItemContainer1').tsort({ attr: "prodprice", order: "asc" });
	}
	else if (orderBy == "4") {
	$('.ItemContainer1').tsort({ attr: "prodprice", order: "desc" });
	}

	CategoryItemFilter(uiColorID, uiSizeID, uiPriceID);
}
