function zIndexWorkaround() {
    if($.browser.msie) {
        /* For each div with class menu (i.e., the thing we want to be on top) */
        $("div.subnavWrapper").parents().each(function() {
            var p = $(this);
            var pos = p.css("position");

            // If it's positioned,
            if( pos == "relative" || pos == "absolute" || pos == "fixed" ) {
                /* Add the "on-top" class name when the  mouse is hovering over it, and remove it when the mouse leaves. */
                p.hover(function() {
                        $(this).addClass("on-top");
                    },
                    function() {
                        $(this).removeClass("on-top");
                    });
            }
        });
    }
}

function slidingSideBar() {
	if ( $("#sidebarSliderTrack").length > 0 ) {
		//var top = $('#sidebar').offset().top - parseFloat($('#comment').css('marginTop').replace(/auto/, 0));
		var top = 265;
		$(window).scroll(function (event) {
			var y = $(this).scrollTop();
			
			if (y >= top) {
				$('#sidebarSliderTrack').removeClass("sidebar_fixed").addClass('sidebar_sliding');
			} else {
				$('#sidebarSliderTrack').removeClass('sidebar_sliding').addClass("sidebar_fixed");
			}
		});
	}
}

// custom function for equalizing heights of elements (element must be a class (.) or id (#))
function equalizeHeight(element) {
	// equalize height of "element"
	var n = $(element).length;
	var currentTallest = 0;
	for (var i = 0; i < n; i++) {
		if ($(element + ":eq(" + i + ")").height() > currentTallest) { currentTallest = $(element + ":eq(" + i + ")").height(); }
	}
	$(element).each( function(i){
		$(this).css({'height': currentTallest })
	});
}

// custom function for equalizing heights of elements (element must be a class (.) or id (#)) in a row
function equalizeHeightPerRow(element, elements_in_row) {
	// equalize height of "element"
	var aantal = $(element).length;
	for (var i = 0; i < aantal; i++) {
		currentRowTallest = 0;
		var j = i + elements_in_row;
		if ( aantal >= j) {
			for (var k = i; k <= j; k++) {
				if ($(element + ":eq(" + k + ")").height() > currentRowTallest) { currentRowTallest = $(element + ":eq(" + k + ")").height(); }
			}
			for (var k = i; k < j; k++) {
				$(element + ":eq(" + k + ")").css({'height': currentRowTallest });
			} 
		}
		//overschot van de rijen (als een rij niet volledig gevuld is)
		else { 
			var verschil = j - aantal;
			for (var k = i; k < aantal; k++) {
				if ($(element + ":eq(" + k + ")").height() > currentRowTallest) { currentRowTallest = $(element + ":eq(" + k + ")").height(); }
			}
			for (var k = i; k < aantal; k++) {
				$(element + ":eq(" + k + ")").css({'height': currentRowTallest });
			}
		}
		i = (i + elements_in_row) - 1;
	}
}

// custom function for equalizing heights of elements (element must be a class (.) or id (#)) in a row
function equalizeHeightPerRowInsideElement(parent, element, elements_in_row) {
	// equalize height of "element"
	for (var l = 0; l < $(parent).length; l++) {
		var aantal = $(parent + ":eq(" + l + ") " + element).length;
		//console.log(aantal);
		for (var i = 0; i < aantal; i++) {
			currentRowTallest = 0;
			var j = i + elements_in_row;
			if ( aantal >= j) {
				for (var k = i; k <= j; k++) {
					if ($(parent + ":eq(" + l + ") " + element + ":eq(" + k + ")").height() > currentRowTallest) { currentRowTallest = $(parent + ":eq(" + l + ") " + element + ":eq(" + k + ")").height(); }
				}
				for (var k = i; k < j; k++) {
					$(parent + ":eq(" + l + ") " + element + ":eq(" + k + ")").css({'height': currentRowTallest });
				}
			}
			//overschot van de rijen (als een rij niet volledig gevuld is)
			else { 
				var verschil = j - aantal;
				for (var k = i; k < aantal; k++) {
					if ($(parent + ":eq(" + l + ") " + element + ":eq(" + k + ")").height() > currentRowTallest) { currentRowTallest = $(parent + ":eq(" + l + ") " + element + ":eq(" + k + ")").height(); }
				}
				for (var k = i; k < aantal; k++) {
					$(parent + ":eq(" + l + ") " + element + ":eq(" + k + ")").css({'height': currentRowTallest });
				}
			}
			i = (i + elements_in_row) - 1;
		}
	}
}



$(function() {
	if(navigator.userAgent.match(/MSIE 6/i)) {
		$(document).pngFix();
	}

	zIndexWorkaround();

	
	// zebrastripe tables
	if ( $("table.zebrastripe").length > 0 ) {
		$("table.zebrastripe tr").mouseover(function() {$(this).addClass("over");}).mouseout(function() {$(this).removeClass("over");});
		$("table.zebrastripe").each(function(){
			$(this).find("tbody tr:odd").addClass("alt");
		});
	}
	
	// fancybox image popup
	if ( $(".imagePopup").length > 0 ) {
		$(".imagePopup").fancybox({
			'callbackOnClose': slidingSideBar
		});	
	}
	
	//init sliding sidebar effect
	slidingSideBar();
	
	// nav slidedowns
	var currentNavElement = $("#nav li a").not(".subnavWrapper li a, #nav li a.order, #nav li a.dealers");
	currentNavElement.append(" <span class=\"nav-slide-down\">&nbsp;</span>");
	currentNavElement.each(function() {
		$('span.nav-slide-down', this).mouseover(function() {
			$(this).parent().siblings('div.subnavWrapper:hidden').slideDown('fast');
		})
		
		$(this).parent().hover(function() {
		},
		function() {
			$('div.subnavWrapper:visible', this).slideUp('fast');
		})
	});
	$(".subnavWrapper ").hover(function() {
		$(this).closest("li").find("a.primaryNav").addClass("hover");
	},
	function() {
		$(this).closest("li").find("a.primaryNav").removeClass("hover");
	})

});