// UI SCRIPTS

(function ($) {
// VERTICALLY ALIGN FUNCTION
$.fn.vAlign = function() {
  return this.each(function(i){
  var ah = $(this).height();
  var ph = $(this).parent().height();
  var mh = (ph - ah) / 2;
  if(mh>0) {
    $(this).css('margin-top', mh);
  } else {
    $(this).css('margin-top', 0);
  }
});
};
})(jQuery);




// Get Parameters from Query String

$.extend({
  getUrlVars: function(){
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
      hash = hashes[i].split('=');
      vars.push(hash[0]);
      vars[hash[0]] = hash[1];
    }
    return vars;
  },
  getUrlVar: function(name){
    return $.getUrlVars()[name];
  }
});


// IMG RESIZE FUNCTION
			(function($) {
				$.fn.resize = function(options) {
			 
					var settings = $.extend({
						scale: 1,
						maxWidth: null,
						maxHeight: null
					}, options);
			 
					return this.each(function() {
						
						if(this.tagName.toLowerCase() != "img") {
							// Only images can be resized
							return $(this);
						} 
			
						var width = this.naturalWidth;
						var height = this.naturalHeight;
						if(!width || !height) {
							// Ooops you are an IE user, let's fix it.
							var img = document.createElement('img');
							img.src = this.src;
							
							width = img.width;
							height = img.height;
						}
						
						if(settings.scale != 1) {
							width = width*settings.scale;
							height = height*settings.scale;
						}
						
						var pWidth = 1;
						if(settings.maxWidth != null) {
							pWidth = width/settings.maxWidth;
						}
						var pHeight = 1;
						if(settings.maxHeight != null) {
							pHeight = height/settings.maxHeight;
						}
						var reduce = 1;
						
						if(pWidth < pHeight) {
							reduce = pHeight;
						} else {
							reduce = pWidth;
						}
						
						if(reduce < 1) {
							reduce = 1;
						}
						
						var newWidth = width/reduce;
						var newHeight = height/reduce;
						
						return $(this)
							.attr("width", newWidth)
							.attr("height", newHeight);
						
					});
				}
			})(jQuery);
			
$(document).ready(function() {
	
	// HOME SLIDE TIMER
	
	$(document).everyTime(6000, function() {
	
		var myMargin = $("#slide-carosel").css("marginLeft");
		var myMarginNum = parseInt(myMargin.split("p")[0]);
		var myNewMargin = myMarginNum - 936;
		
		$("#slide-carosel").animate({marginLeft:myNewMargin.toString() + "px"}, 850, function() {
		
			var myFirstSlide = $("div.hslide:first-child");
			myFirstSlide.remove();
			$("#slide-carosel").append(myFirstSlide);
			$("#slide-carosel").css("marginLeft", "-936px");
		
		});
		
	});
		
	
				// Disable parent links in nav
				$(".page-item-23").children("a").attr("href", "#");
				$(".page-item-25").children("a").attr("href", "#");
				$(".page-item-27").children("a").attr("href", "#");
				$(".page-item-29").children("a").attr("href", "#");
				$(".page-item-33").children("a").attr("href", "#");
				$(".page-item-35").children("a").attr("href", "#");
				$(".page-item-37").children("a").attr("href", "#");
				$(".page-item-39").children("a").attr("href", "#");
				
				// Add extra menu items to main nav
				$(".page-item-extra").each(function(i) {
					var myInfo = $(this).text().split("|");
					var myTitle = myInfo[0];
					var myURL = "http://www.mainbeach.com/" + myInfo[1];
					var parentID = ".page-item-" + $(this).attr("title");
					
					if ( $(parentID + " ul.children").size() > 0 ) {
						$(parentID + " ul.children").append("<li><a href='" + myURL + "'>"+myTitle+"</a></li>");
					}
					else {
						$(parentID).append("<ul class='children'></ul>");
						$(parentID + " ul.children").append("<li><a href='" + myURL + "'>"+myTitle+"</a></li>");
					}
				});
				
				// Add extra menu items to side navs
				$(".page-item-extra").each(function(i) {
					var myInfo = $(this).text().split("|");
					var myTitle = myInfo[0];
					var myURL = "http://66.147.244.239/~mainbeac/" + myInfo[1];
					var parentID = ".side-id-" + $(this).attr("title");
					
					$(parentID).append("<li><a href='" + myURL + "'>"+myTitle+"</a></li>");
					
				});
				
				
				 
				 
				 
	// Add clear <li> to end of image list 
	$(".foxypress_item_image_thumbs_detail").append("<li class='clear' style='height: 1px;'></li>");		
	
	
	// FOXYPRESS CREATE SUBCAT MENU
	
	var mySubCats = new Array();
	
	// Scan HTML for subcat references and build array
	$(".foxypress_item_attributes div").each( function(i) {
		
		var myAttString = $(this).text();
		var lookingFor=/subcat/i; 
		if (myAttString.match(lookingFor)) {
		
			var alreadyCounted = false;
			var mySubCat = myAttString.substring(myAttString.indexOf(" "));
			
			if (mySubCats.length != 0) {
				for ( var i=0, len=mySubCats.length; i<len; ++i ) {
					  if (mySubCats[i] == mySubCat)
						alreadyCounted = true;
				}
			}
			
			if (!alreadyCounted) {
				var temp = mySubCats.push(mySubCat);
			}
		}
	});
	
	// Create new UL in current Category using array as LI's
	if (mySubCats.length != 0) {
		var currentCat = $("#store-nav .current_page_item a").text();
		$("#store-nav .current_page_item").append("<ul class='subcat-menu'></ul>");
		
		for ( var i=0, len=mySubCats.length; i<len; ++i ) {
			$("#store-nav .current_page_item ul.subcat-menu").append("<li><a href='#'>" + mySubCats[i] + "</a></li>");
		}
	}
	
	// If subcat selected, remove all other subcat items
	$(".subcat-menu li a").click( function() {
		
		$(".subcat-menu li").removeClass("current-subcat");
		$(this).parent("li").addClass("current-subcat");
		
		$(".foxypress_item_row_clear").remove();
		var clickedSubcat = $(this).text();
		
			$(".foxy_item_wrapper").each( function(i) {
				$(this).css("display", "none");
				var myAttString = $(this).find(".foxypress_item_attributes div").text();
				var lookingFor=/subcat/i; 
				
				if (myAttString.match(lookingFor)) {
					var mySubCat = myAttString.substring(myAttString.indexOf(" "));
					if (mySubCat == clickedSubcat ) { $(this).css("display", "block"); }
				}
				
			});
		
		// Update Breadcrumb with current subcat
		$("#breadcrumb").text($("#store-nav .current_page_item a").attr("title") + " :: " + clickedSubcat);
		
		// Add breadcrumb link
//		var myCurrentCat = $("#store-nav .current_page_item a").attr("title")
//		$('#breadcrumb').each(function(){
//			 var me = $(this);
//			 me.html(me.html().replace(/^(\w+)/, '<a href="../../store/' + myCurrentCat + '">$1</a>'));
//		});

		
	});
	
	
	// Check query string for filters, and filter categories accordingly
	
	var byName = $.getUrlVar('catfilter');
	if (byName) {
		
	}
	
	
	
	// Udate Detail Breadcrumb and Detail Store Nav
	if ( $("#breadcrumb").text() == "Product Detail" ) {
		
		var myCategory = $('input[name="category"]').attr("value");
		var mySubCategory = $('input[name="subcat"]').attr("value");
		var myprodName = $('input[name="name"]').attr("value");
		
		$("#breadcrumb").text(myCategory + " :: " + mySubCategory + " :: " + myprodName);
	
		$("#store-nav li").each( function(i) {
			if ($(this).children("a").text() == myCategory) {
				$(this).addClass("current_page_item");
			}
		});
		
		// Add breadcrumb links
		//var myCurrentCat = $("#store-nav .current_page_item a").attr("title")
//		$('#breadcrumb').each(function(){
//			 var myNext = $(this).html();
//			 var myNextString = myNext.split(" ");
//			 var myNewHTML = "";
//			 
//			 for (i=0; i <= (myNextString.length - 1); i++) {
//			 	if (i != 2) myNewHTML += myNextString[i] + " ";
//			 	else {
//					myNewHTML += "<a href='../store/" + myCurrentCat + "?catfilter=" + myNextString[i] + "'>" + myNextString[i] + "</a>" + " ";
//				}
//			 }
//			 
//			 $(this).html(myNewHTML);
//			 
//			 var me = $(this);
//			 me.html(me.html().replace(/^(\w+)/, '<a href="../store/' + myCurrentCat + '">$1</a>'));
//			 
//		});
	}
	
	
	// store header 
	if ( $("#store-nav").size() > 0 || $("#store-placeholder img").size() > 0 ) {
		$("body").addClass("store-page");
	}
	// store main nav link
	//var myStoreLink = $(".page-item-41 a[title='MB Store']").attr("href");
	//myStoreLink += "surf";
	//$(".page-item-41 a[title='MB Store']").attr("href", myStoreLink);
	//
	//
	// UTILITY NAV RE-ORDER
	$("#utility-nav li").each( function() {
		$("#utility-nav").prepend(this);
	});
	
});

$(window).load(function() {

// Image Resizing
				 
				 $(".foxypress_item_image img").resize({
					maxWidth: 200,
					maxHeight: 200
				 });
				 $(".foxypress_item_image img").css("display", "block");
				 
				 $(".foxypress_item_image_detail img").resize({
					maxWidth: 300,
					maxHeight: 300
				 });
				 $(".foxypress_item_image_detail img").css("display", "block");
				 
				 $(".foxypress_item_image_thumbs_detail img").resize({
					maxWidth: 75,
					maxHeight: 75
				 });
				 $(".foxypress_item_image_thumbs_detail img").css("display", "block");
				 
				 $(".foxypress_item_image img").vAlign();	

});
