jQuery(function($) {
	/*
	 * Overview
	 */
	$("<p>").appendTo($("#KTOverview > ul > li > div"));

	$("#KTOverview > ul > li").hover(function() {
		$(this).addClass("over");
	}, function() {
		$(this).removeClass("over");
	});

	$("#KTOverview li li").hover(function() {
		var $this = $(this);
		$this.addClass("over");
		$this.parent().siblings("p").text($this.text());
	}, function() {
		var $this = $(this);
		$this.removeClass("over");
		$this.parent().siblings("p").text("");
	});

	$("#KTOverview li li").click(function() {
		$("#KTOverview, .KTOverview").hide();
		$("#KTDetail, #KTDetails, .KTDetail").show();
		$("#main p.back a").css("visibility", "visible");
		$(".KTPreviews ." + $.trim(this.className.replace("over", ""))).click();
	});

	/*
	 * DirectLinks
	 */
	
	/* KombiWerkzeuge */
	$("#DirectLinksWerkzeuge li").click(function() {
		$("#DirectLinks").hide();
		$("#KTOverview, .KTOverview").hide();
		$("#KTDetail, #KTDetails, .KTDetail").show();
		$("#main p.back a").css("visibility", "visible");
		$(".KTPreviews ." + $.trim(this.className.replace("over", ""))).click();
	});

	/* KombiMotoren */
	$("#DirectLinksMotoren li").click(function() {
		$("#DirectLinks").hide();
		$("#KTOverview, .KTOverview").hide();
		$("#KTDetail, #KTDetails, .KTDetail").show();
		$("#main p.back a").css("visibility", "visible");
		
		$(".KTInfo .close").click();
		var className = 'fs-km';
		$(".KTPreviews ." + $.trim(className.replace("over", ""))).click();

		if(this.className == 'fs-55')  currEngine = 1;
		/*if(this.className == 'fs-85')  currEngine = 2;*/
		if(this.className == 'fs-90')  currEngine = 2;
		if(this.className == 'fs-100') currEngine = 3;
		if(this.className == 'fs-130') currEngine = 4;

		var engine = $.trim(this.className.replace(/over/, ""));
		$(".KTInfo div[class!='close']").hide();
		$(".KTInfoWrapper").show();
		
		var $engine = $(".KTInfo ." + engine);
		$engine.show();
		$(".KTInfo .image img").remove();
		$(".KTInfo .image").remove();

		currEngine = currEngine - 1;
		$("h2", $engine).after("<div class=\"image\"><img src=\"/img/trans.gif\" alt=\"Illustration of " + _engines[currEngine].title + "\" title=\"Illustration of " + _engines[currEngine].title + "\" /></div>");
		$(".KTInfo ." + engine + " .image").show();
		$(".KTInfo ." + engine + " .image img").attr("src", "./img/" + _engines[currEngine].layerImg + ".jpg").show();

		/* Standard Initialisierung currEngine = 2 ausblenden */
		$("#KTDetail").removeClass(_engines[2].klass);
			
		/* Aktuelle currEngine einblenden */	
		$("#KTDetail").addClass(_engines[currEngine].klass);
	});

	
	/*
	 * Engines
	 */
	var _engines = [
		{
			"klass": "fs-55",
			"title": "KM 55 RC-E",
			"layerImg": "detail-motor-km55rce"
		},
		/*{
			"klass": "fs-85",
			"title": "KM 85 R",
			"layerImg": "detail-motor-km85r"
		},*/
		{
			"klass": "fs-90",
			"title": "KM 90 R",
			"layerImg": "detail-motor-km90r"
		},
		{
			"klass": "fs-100",
			"title": "KM 100 R",
			"layerImg": "detail-motor-km100r"
		},
		{
			"klass": "fs-130",
			"title": "KM 130 R",
			"layerImg": "detail-motor-km130r"
		}
	];

	/*
	 * tools
	 */
	var _tools = [
		{
			"klass": "fs-km",
			"title": "FS-KM AutoCut",
			"layerImg": "detail-werkz-fs-km"
		},
		{
			"klass": "fs-km-gsb",
			"title": "FS-KM GSB",
			"layerImg": "detail-werkz-fs-km-gsb"
		},
		{
			"klass": "fsb-km",
			"title": "FSB-KM AutoCut",
			"layerImg": "detail-werkz-fsb-km"
		},
		{
			"klass": "fcb-km",
			"title": "FCB-KM",
			"layerImg": "detail-werkz-fcb-km"
		},
		{
			"klass": "fh-km",
			"title": "FH-KM 135&deg;",
			"layerImg": "detail-werkz-fh-km"
		},
		{
			"klass": "hl-km-0",
			"title": "HL-KM 0&deg;",
			"layerImg": "detail-werkz-hl-km0",
			"rev": true
		},
		{
			"klass": "hl-km-135",
			"title": "HL-KM 135&deg;",
			"layerImg": "detail-werkz-hl-km135",
			"rev": true
		},
		{
			"klass": "ht-km",
			"title": "HT-KM",
			"layerImg": "detail-werkz-ht-km",
			"rev": true
		},
		{
			"klass": "bg-km",
			"title": "BG-KM",
			"layerImg": "detail-werkz-bg-km"
		},
		{
			"klass": "kw-km",
			"title": "KW-KM",
			"layerImg": "detail-werkz-kw-km"
		},
		{
			"klass": "kb-km",
			"title": "KB-KM",
			"layerImg": "detail-werkz-kb-km"
		},
		{
			"klass": "bf-km",
			"title": "BF-KM",
			"layerImg": "detail-werkz-bf-km"
		}
	];

	var currEngine = 2,
		currTool = 0;

	var $engines = $("<ul>").appendTo($(".KTEngines div"));

	for (var i = 0, ii = _engines.length; i < ii; i++) {
		var _engine = _engines[i];
		$("<li>").attr("class", _engine.klass).html(_engine.title).appendTo($engines);
	}

	var $tools = $("<ul>").appendTo($(".KTTools div"));
	var $previews = $("<ul>").appendTo($(".KTPreviews"));

	for (var i = 0, ii = _tools.length; i < ii; i++) {
		var _tool = _tools[i];
		$("<li>").attr("class", _tool.klass).html(_tool.title).appendTo($tools);
		$("<li>").attr("class", _tool.klass).appendTo($previews).append("<span/>");
	}

	$("<div>").attr("class", "back").html("&lt;").insertBefore($(".KTEngines ul, .KTTools ul"));
	$("<div>").attr("class", "forth").html("&gt;").insertAfter($(".KTEngines ul, .KTTools ul"));

	$(".KTEngines li, .KTTools li, .KTPreviews li").hover(function() {
		$(this).addClass("over");

		var strTitle;
		if (this.className == 'fs-km over')		strTitle = 'FS-KM AutoCut';
		if (this.className == 'fs-km-gsb over') strTitle = 'FS-KM GSB 230-2';
		if (this.className == 'fsb-km over')	strTitle = 'FSB-KM AutoCut';
		if (this.className == 'fcb-km over')	strTitle = 'FCB-KM';
		if (this.className == 'fh-km over')		strTitle = 'FH-KM 135°, einstellbar';
		if (this.className == 'hl-km-0 over')	strTitle = 'HL-KM 0°';
		if (this.className == 'hl-km-135 over') strTitle = 'HL-KM 135°, einstellbar';
		if (this.className == 'ht-km over')		strTitle = 'HT-KM';
		if (this.className == 'bg-km over')		strTitle = 'BG-KM';
		if (this.className == 'kw-km over')		strTitle = 'KW-KM';
		if (this.className == 'kb-km over')		strTitle = 'KB-KM';
		if (this.className == 'bf-km over')		strTitle = 'BF-KM';
		$(this).attr("title", strTitle);
	}, function() {
		$(this).removeClass("over");
	});


	var KTEnginesIsLocked = false;
	var KTToolsIsLocked = false;

	$(".KTEngines li").mouseover(function() {
		var engine = $.trim(this.className.replace(/over/, ""));
		$(".KTInfo div[class!='close']").hide();
		$(".KTInfoWrapper").show();
		var $engine = $(".KTInfo ." + engine);
		$engine.show();
		$(".KTInfo .image img").remove();
		$(".KTInfo .image").remove();
		$("h2", $engine).after("<div class=\"image\"><img src=\"/img/trans.gif\" alt=\"Illustration of " + _engines[currEngine].title + "\" title=\"Illustration of " + _engines[currEngine].title + "\" /></div>");
		$(".KTInfo ." + engine + " .image").show();
		$(".KTInfo ." + engine + " .image img").attr("src", "./img/" + _engines[currEngine].layerImg + ".jpg").show();
	});

	$(".KTEngines li").mouseout(function() {
		if(KTEnginesIsLocked == false){
			$(".KTInfo .close").click(); 
		}	
	});

	$(".KTEngines li").click(function() {
		KTEnginesIsLocked = true;
		var engine = $.trim(this.className.replace(/over/, ""));
		$(".KTInfo div[class!='close']").hide();
		$(".KTInfoWrapper").show();
		var $engine = $(".KTInfo ." + engine);
		$engine.show();
		$(".KTInfo .image img").remove();
		$(".KTInfo .image").remove();
		$("h2", $engine).after("<div class=\"image\"><img src=\"/img/trans.gif\" alt=\"Illustration of " + _engines[currEngine].title + "\" title=\"Illustration of " + _engines[currEngine].title + "\" /></div>");
		$(".KTInfo ." + engine + " .image").show();
		$(".KTInfo ." + engine + " .image img").attr("src", "./img/" + _engines[currEngine].layerImg + ".jpg").show();
	});


	$(".KTTools li").mouseover(function() {
		var tool = $.trim(this.className.replace(/over/, ""));
		$(".KTInfo div[class!='close']").hide();
		$(".KTInfoWrapper").show();
		$(".KTInfo .image img").remove();
		$(".KTInfo .image").remove();
		var $tool = $(".KTInfo ." + tool);
		$tool.show();
		$("h2", $tool).after("<div class=\"image\"><img src=\"/img/trans.gif\" alt=\"Illustration of " + _engines[currEngine].title + "\" title=\"Illustration of " + _engines[currEngine].title + "\" /></div>");
		$(".KTInfo ." + tool + " .image").show();
		$(".KTInfo ." + tool + " .image img").attr("src", "./img/" + _tools[currTool].layerImg + ".jpg").show();
	});

	$(".KTTools li").mouseout(function() {
		if(KTToolsIsLocked == false){
			$(".KTInfo .close").click(); 
		}	
	});

	$(".KTTools li").click(function() {
		KTToolsIsLocked = true;
		var tool = $.trim(this.className.replace(/over/, ""));
		$(".KTInfo div[class!='close']").hide();
		$(".KTInfoWrapper").show();
		$(".KTInfo .image img").remove();
		$(".KTInfo .image").remove();
		var $tool = $(".KTInfo ." + tool);
		$tool.show();
		$("h2", $tool).after("<div class=\"image\"><img src=\"/img/trans.gif\" alt=\"Illustration of " + _engines[currEngine].title + "\" title=\"Illustration of " + _engines[currEngine].title + "\" /></div>");
		$(".KTInfo ." + tool + " .image").show();
		$(".KTInfo ." + tool + " .image img").attr("src", "./img/" + _tools[currTool].layerImg + ".jpg").show();
	});

	$(".KTPreviews li").click(function() {
		if (currTool !== null) {
			$("#KTDetail").removeClass(_tools[currTool].klass);
			$(".KTEngine[class*='rev']").removeClass("rev");
		}
		currTool = $(".KTPreviews li").index(this);
		$("#KTDetail").addClass(_tools[currTool].klass);

		if (_tools[currTool].rev) {
			$(".KTEngine").addClass("rev");
		}

		if (currEngine === null) {
			currEngine = 0;
		}
		$("#KTDetail").addClass(_engines[currEngine].klass);
		$("#KTDetails > div").hide();
		$("#KTDetails > div[id='" + _tools[currTool].klass + "']").show();
		$(".KTInfo .close").click();
	
		$("#DirectLinks").hide();		
	});

	$(".KTTools .back").click(function() {
		var idx = (currTool > 0) ? currTool - 1 : _tools.length - 1;
		$($(".KTPreviews li").get(idx)).click();
	});

	$(".KTTools .forth").click(function() {
		var idx = (currTool < _tools.length - 1) ? currTool + 1 : 0;
		$($(".KTPreviews li").get(idx)).click();
	});

	$(".KTEngines .back").click(function() {
		if (currEngine !== null) {
			$("#KTDetail").removeClass(_engines[currEngine].klass);
			currEngine = (currEngine > 0) ? currEngine - 1 : _engines.length - 1;
		} else {
			currEngine = 0;
		}
		$("#KTDetail").addClass(_engines[currEngine].klass);
		$(".KTInfo .close").click();
	});

	$(".KTEngines .forth").click(function() {
		if (currEngine !== null) {
			$("#KTDetail").removeClass(_engines[currEngine].klass);
			currEngine = (currEngine < _engines.length - 1) ? currEngine + 1 : 0;
		} else {
			currEngine = 0;
		}
		$("#KTDetail").addClass(_engines[currEngine].klass);
		$(".KTInfo .close").click();
	});


	$(".KTInfo .close").click(function() {
		KTEnginesIsLocked = false;
		KTToolsIsLocked = false;

		$(".KTInfoWrapper").hide();
		$(".KTInfo div[class!='close']").hide();
		$(".KTInfo .image img").remove();
		$(".KTInfo .image").remove();
	});

	$("#KTDetails .image a").click(function() {
		var zoomWin = window.open(this.href, "zoomWin", "left=10, top=10, width=500, height=400, menubar=0, location=0, toolbar=0, scrollbars=1, status=1, resizable=1");
		return false;
	});
});
