(function() {
try {
if(!ubk.exists) { throw "ogncObjUndefined"}

//Commonly used functions/helpers
ubk.products = 
{
	interval: null,
	results_visible: false,
	
	showLargeProduct: function(argEle){
		var target = $('div.product_detail_view');
		target.html('<map name="closeDetail"><area shape="rect" coords="42,28,55,42" href="javascript:ubk.products.hideLargeProduct();"></map><img usemap="#closeDetail" src="/img/promos/'+argEle+'_lg.png" border="0" />');
		target.fadeIn('fast');
	},
	
	hideLargeProduct: function(){
		var target = $('div.product_detail_view');
		target.fadeOut('fast');
		target.html('');
	},
	
	addFlava: function () {
		var flavors = $(".flavors").children()
		var axel = Math.floor(Math.random() * flavors.length)
		
		$(".flava_text").html(flavors.eq(axel).html());
	},
	initStores: function () {
		var sSKU = ognc.getCookie("sSKU")
		if(sSKU) {
			$("[name=sSKU]").val(sSKU)
		}
		
		$("#bottom_row").css({height: 0});
		$("#store_locator_form")
		.validate({
			//debug: true,
			rules: {
				sSKU: "required",
				sZip: {
					required: true,
					minlength: 5,
					maxlength: 5,
					digits: true
				},
				nRadius: "required"
			},
			submitHandler: function (form) {
				
				ubk.products.showLoader()
				//$("#bottom_row").empty();
				ognc.setCookie("sSKU", $("[name=sSKU]").val(), 30);
				
				$.ajax({
					"url": $(form).attr("action"),
					"data": $(form).serialize(),
					//"dataType": "html", 
					"success": function (data) {
						if(data != "") {
							$("#bottom_row").html(data)
							ubk.products.hideLoader();
						} else {
							$("#bottom_row").html($("#error_row").html)
							ubk.products.showError();
						}
					},
					"error": function (e) {
						$("#bottom_row").html($("#error_row").html)
						ubk.products.showError();
					}
					
				});
			}
		});
	},
	
	showLoader: function () {
		$("#error_row").slideUp("slow");
		//console.log("showLoader - #bottom_row")
		ubk.products.results_visible = false;
		$("#bottom_row").stop(true).animate({height: 0}, "slow", "easeOutCirc" , function () {
			//console.log("showLoader - .fake_loader")
			if(!ubk.products.results_visible) {
				$(".fake_loader").slideDown("slow");
			}
		});
		clearInterval(ubk.products.interval);
		ubk.products.interval = setInterval(ubk.products.addFlava, 3500)
	},
	
	hideLoader: function () {
		//console.log("hideLoader - .fake_loader")
		$(".fake_loader").stop(true).slideUp("slow",function () {
			//console.log("hideLoader - #bottom_row")
			$("#bottom_row").animate({height: "430px"}, "slow", "easeInCirc");
			ubk.products.results_visible = true;
		});
		
		clearInterval(ubk.products.interval);
	},
	
	showError: function () {
		$(".fake_loader").stop(true).slideUp("slow",function () {
			$("#error_row").slideDown("slow");
		});
		
		clearInterval(ubk.products.interval);
	},
	
	productTabs: function () {
	   jQuery('#designer_nav ul.link_list li a').click(function(evt) {
	        ubk.products.productTabsClick(evt);
	    });
	    
		if ( (jQuery('#designer_nav').length > 0) && (jQuery('#designer_nav ul.link_list li a.selected').length == 0) ) {
			// select first tab
			jQuery('#designer_nav ul.link_list li a').first().click();
		}
	},
	
	productTabsClick: function(evt) {
	    evt.preventDefault();
	    var target = jQuery(evt.target);
	    jQuery('#designer_nav ul.link_list li a').removeClass('selected');
	    target.addClass('selected');
	    
	    // get index of current tab, match to product group
		var productDivs = jQuery('#slot_2 div.products_group');
		jQuery('#designer_nav ul.link_list li a').each(function(i) {
			var currentTab = jQuery(this);
			if (currentTab.hasClass('selected')) {
				productDivs.eq(i).show(0);
			} else {
				productDivs.eq(i).hide(0);
			}
		});
	}

}

} catch(e) { console.log("error: " + e);}
})();

$(document).ready(function () {
//Set Title Colors for addThis
addthis_config.ui_header_background = "#8fd400";
addthis_config.ui_header_color = "#000000";

// initialize product tabs
ubk.products.productTabs();
});
