var areChecked = false;
var hasReqestedVersion = false;

$(document).ready(function() {
	hasReqestedVersion = DetectFlashVer(8, 0, 0);
	$('#fisheye').Fisheye( {
		maxWidth: 160,
		items: 'a',
		itemsText: 'span',
		container: '.fisheyeContainter',
		itemWidth: 60,
		proximity: 50,
		halign : 'center'
	})
	showFisheye();
	calculateHeight();
	setItemblockHeight();
	setRight();
	disableInputs();
	setPlayButton();
	var checkboxes = $(".checker");
	for (var i = 0; i < checkboxes.length; i++) {
		$(checkboxes[i]).bind ("click", {element: checkboxes[i]}, checkCheckers);
	}
});
$(window).resize(function() {
	calculateHeight();	
});
$(document).click(function(e) {
	var elem = $(e.target);
	if (elem.attr("class") != "noHide") {
		// hide the submenu's
		$(".menulevel1").css("display","none");
		$(".opened").attr("class","");
	}
});

function showFisheye() {
	$(".fisheyeItem img").css("display","inline");
}

function calculateHeight() {
	desiredHeight = 0;
	var offset = 80;
	addHeight("#header");
	addHeight(returnHighest(".left", ".mid", ".right"));
	addHeight(".icons");
	var windowHeight = document.documentElement.clientHeight;
	if (windowHeight == 0) windowHeight = document.body.clientHeight
	if (desiredHeight > windowHeight)
		$("#site").height(desiredHeight + offset);
	else
		$("#site").height(windowHeight);
}
function addHeight(elem) {
	desiredHeight += $(elem).height();	
}
function returnHighest(elem1, elem2, elem3) {
	if ($(elem1).height() > $(elem2).height()) {
		if ($(elem1).height() > $(elem3).height()) {
			return elem1;									   
		} else {
			return elem3;
		}
	} else {
		if ($(elem2).height() > $(elem3).height()) {
			return elem2;									   
		} else {
			return elem3;
		}
	}
}
function setRight() {
	if ($(".right").height() <= ($(".mid").height() + 30)) {
		$(".right").height($(".mid").height()+30);
	}
}
function setRightFromLeft() {
    if ($(".right").height() <= $(".left").height()+30)
    {
	    $(".right").height($(".left").height()+30);
	}
}
function setSelect(name) {
	if (name != undefined) {
		$('#'+name).removeAttr("disabled");
		(name == 'chem') ? disableInput('lube')	: disableInput('chem');	
	} else {
		disableInputs();
	}
}
function disableInputs() {
	disableInput('chem');
	disableInput('lube');
}
function disableInput(name) {
	if ($("#productsearch")) {
		$('#'+name).attr("disabled","true");
	}
}
function toggleAll() {
	if (areChecked) {
		$('.checker').attr('checked',false);
		areChecked = false;
	} else {
		$('.checker').attr('checked',true);
		areChecked = true;
	}
}

function checkCheckers(event) {
	// if all checked -> check allChecker, of none checks, reset boolean, if not all checked, decheck allChecker	
	var thisChecked = $(event.data.element).attr("checked");
	if (thisChecked == undefined) {
		// we've unchecked at least one box, decheck the "all checked box" and reset the boolean
		$("#allChecker").attr("checked",false);
		areChecked = false;
	}
	if (thisChecked) {
		var checker = true;
		// if all boxes are checked now, update the allChecker and set the boolean
		for (var i = 0; i < $('.checker').length; i++) {
			var checkbox = $('.checker')[i];
			if ($(checkbox).attr('checked') == undefined) {
				checker = false;
				break;	
			}
		}
		if (checker) {
			// ok all checkboxes are checked
			$("#allChecker").attr("checked",true);
			areChecked = true;
		}
	}
}

function swapTo(target) {
	// disable the old open div
	$(".tabtext").css("display","none");
	// disable the active tab effect
	$(".tab").removeClass("active");
	// enable the target div
	$("#"+target).css("display","block");
	// add the active tab effect
	$("."+target).addClass("active");
}

function setItemblockHeight() {
	var heights = [];
	$(".itemblock").each(function(i) {
		var block = $(".itemblock")[i];
		heights.push($(block).height());
	});
	var highestNumber = heights.sort(sortNumber).pop();
	$(".itemblock").each(function(i) {
		var block = $(".itemblock")[i];
		$(block).height(highestNumber);
	});
}

function sortNumber(a,b) {
	return a - b
}

function OnSearchEnter(linkbutton, e)
{
    if (document.all)
    {
        e = event;
	}
	
    if (e.keyCode == 13)
    {
        document.getElementById(linkbutton).click();
        e.returnValue=false; 
        e.cancel = true; 
    }
}
function toggleSubmenu(obj,menu) {
	var status = $("#menu_"+menu).css("display");
	if (status == "none") {
		$(obj).attr("class","toggled");
		$("#menu_"+menu).css("display","block");
	} else {
		$(obj).attr("class","toggle");
		$("#menu_"+menu).css("display","none");
	}
	setRightFromLeft();
	return false;
}
function showSubmenu(obj,menu, level) {
	// hide all
	$(".menulevel"+(level+1)).css("display","none");
	$(".subopened").attr("class","");
	$(".menulevel"+level).css("display","none");
	// now show the items!
	if ($("#menu"+level+"_"+menu).length != 0) {
		$("#menu"+level+"_"+menu).css("display","block");
		$(obj).attr("class","subopened");
	}
	if (level == 2) {
		$(obj).parent().prev().attr("class","subopened");
		// $(obj).parent().prev().css("background-color","#e0e0e0");
	}
}

function printpage() {
	window.print();	
}

function setPlayButton() {
	var buttons = $(".playbutton");
	if (buttons) {
		buttons.each(function(i) {
            var button = buttons[i];
			var img = $(button).next();
			var bufferedImage = new Image();
			bufferedImage.onload = function() {
				var width = bufferedImage.width;
				var height = bufferedImage.height;
				$(button).css("margin-top",(height/2)-30);
				$(button).css("margin-left",(width/2)-30);
			};
			bufferedImage.src = $(img).attr("src");
		});
	}
}
