$(document).ready(function() {
	//right boxes
	$("div.main_area_rightnav_boxes_box")
	.hover(function() {
		var objSlide = $(this).find("div.main_area_rightnav_boxes_box_teaser");
		objSlide.animate({
			width: "156px"
		}, 'fast');
		return;
	}, function() {
		var objSlide = $(this).find("div.main_area_rightnav_boxes_box_teaser");
		objSlide.animate({
			width: "0px"
		}, 'fast');
		return;
	});
	
	//tentacle animations
	/*$("#righttentacle_animation").cycle({
		fx: 'fade',
		speed: 3000,
		timeout: 1
	});
	$("#sidemenu_animation_inside").cycle({
		fx: 'fade',
		speed: 3000,
		timeout: 1
	});*/
	fadeCycle("#righttentacle_animation",5000);
	fadeCycle("#sidemenu_animation_inside",5000);
	
	//right tentacle hover
	$("#righttentacle_animation a")
	.hover(function() {
		var objSlide = $("#main_headerimage_sideimage");
		objSlide.animate({
			width: "142px"
		}, 'fast');
		objSlide.css("border-left-width","2px");
		return;
		
	}, function() {
		var objSlide = $("#main_headerimage_sideimage");
		objSlide.animate({
			width: "0px"
		}, 'fast');
		objSlide.css("border-left-width","0px");
		return;
	});
	
	//right tentacle click
	/*$("#righttentacle_animation")
	.click(function() {
		var objSlide = $("#main_headerimage_sideimage");
		if (objSlide.css("width") == "0px") {
			objSlide.animate({
				width: "142px"
			}, 'fast');
			objSlide.css("border-left-width","2px");
		}
		else {
			objSlide.animate({
				width: "0px"
			}, 'fast');
			objSlide.css("border-left-width","0px");
		}
		return;
	});*/
	
	//random list icons
	var styleColor = $("body").attr("class");
	var random;
	$("#header_nav li").each(function(i) {
		random = getRandom(1,6);
		if (!$(this).hasClass("first") && !$(this).hasClass("last")) $(this).css("background-image","url(/img/ic_point_head_" + random + "_" + styleColor + ".png)")
	});
	$("#sidemenu_nav li").each(function(i) {
		random = getRandom(1,1);
		$(this).css("background-image","url(/img/ic_point_submenu_" + random + "_" + styleColor + ".png)")
	});
	
	
	//main_nav animation and selection
	/*if ($("#main_nav li.active").size() > 0) {
		var $el, leftPos, newWidth, $mainNav2, $magicLineTwo;
		$mainNav2 = $("#main_nav ul");
		$mainNav2.after("<div id='main_nav_selected'></div>");
	    $magicLineTwo = $("#main_nav_selected");
	    $magicLineTwo
	        .width($("#main_nav li.active").outerWidth())
	        .css("left", $("#main_nav li.active").position().left)
	        .data("origLeft", $("#main_nav li.active").position().left)
	        .data("origWidth", $magicLineTwo.width());
	    $("#main_nav li").hover(function() {
	        $magicLineTwo.stop().animate({
	            left: $(this).position().left,
	            width: $(this).outerWidth()
	        })
	    }, function() {
	        $magicLineTwo.stop().animate({
	            left: $magicLineTwo.data("origLeft"),
	            width: $magicLineTwo.data("origWidth")
	        });    
	    });
    }*/
    
    //IE class
    if(jQuery.browser.msie) {
		jQuery("body").addClass("IE");
	}
	
	//jQuery carousel
	jQuery("div.carousel_inside").carousel({ direction: "vertical", dispItems: 3 });
	$("div.carousel li a").bind("click",function() {
		$("#content_imagegallery_img").attr("src",$(this).attr("title"));
		$("#content_imagegallery_imgtext").html($(this).find("img").attr("alt"));
		$("#bild_id").attr("value",$(this).attr("id"));
		$("#copyright").attr("href",$(this).attr("rev"));
		$("#owner").html($(this).attr("name"));
		return;
	});
	
	$("div.content_teaserboxhalf, div.content_teaserboxthree").css("margin-right","9px");
	$("div.content_teaserboxfour").css("margin-right","13px");
	
	//content_teaserboxhalf margin
	$("div.content_teaserboxhalf:odd").css("margin-right","0px");
	
	//content_teaserboxthree margin
	var i = 0;
	$("div.content_teaserboxthree").each(function() {
		i++;
		if (i == 3) {
			i = 0;
			$(this).css("margin-right","0px");
		}
	});
	
	//content_teaserboxfour margin
	var i = 0;
	$("div.content_teaserboxfour").each(function() {
		i++;
		if (i == 4) {
			i = 0;
			$(this).css("margin-right","0px");
		}
	});
	
	//termine
	$("table.content_termine tr:even").addClass("even");
	
	//termindetail
	$("#content_termindetail tr:odd").addClass("even");
	
	//game: wortbastelei
	if ($("#wbm_settings_word").html()) wbmInit();
	
	//terminlist kategorie klick
	$("#contentNavDropdown").attr("selectedIndex",0);
	$("#contentNavDropdown").bind("change",function() {
		var value = this.options[this.selectedIndex].value;
		if (value.length > 0) document.location.href = value;
	});
	
	//kontakt
	$("#content_formcontact_addressclick").bind("click",function() {
		//$("#content_formcontact_address").toggle("slow");
		if (document.getElementById("content_formcontact_addressclick").checked) $("#content_formcontact_address").show("slow");
		else $("#content_formcontact_address").hide("slow");
	});
	
	//form contact submit
	$("#content_formcontact_addressclick").attr("checked",false);
	$("#fk_submit").bind("click",function() {
		var fkVorname = $("#fk_vorname").attr("value");
		var fkEmail = $("#fk_email").attr("value");
		var fkChecked = $("#content_formcontact_addressclick").attr("checked");
		var fkAnschrift = $("#content_formcontact_addressclick").attr("value");
		var fkPlz = $("#fk_plz").attr("value");
		var fkOrt = $("#fk_ort").attr("value");
		
		if(fkVorname == "" || fkEmail == "" || (fkChecked && (fkAnschrift == "" || fkPlz == "" || fkOrt == ""))) {
			$("#content_formcontact_error").show("slow");
		}
		else {
			document.getElementById("content_formcontact").submit();
		}
	});
	
	//staff images
	//$("div.content_stafflist_image").turnXCycle(2000,2000);
	$("div.content_stafflist_image").turnXToggle(200);
	
	//Google Maps
	$("#gmap_kimus").gMap({
		markers: [
			{html: "FRida und freD", address: "Friedrichgasse 34, Graz, Austria"}
		],
		address: "Friedrichgasse 34, Graz, Austria",
		zoom: 15
	});
	$("#gmap_extern").gMap({
		markers: [
			{html: "Buchhandlung Moser", address: "Am Eisernen Tor 1, Graz, Austria"},
			{html: "IKEA Workshops", address: "Weblinger Gürtel 31, Graz, Austria"},
			{html: "Ostermarkt", address: "Hauptplatz, Graz, Austria"},
			{html: "Chiala Afrika", address: "Augarten, Graz, Austria"},
			{html: "Autofreier Tag", address: "Karmeliterplatz, Graz, Austria"},
			{html: "Schöcklfest", address: "Schöckl, Austria"}
		],
		address: "Stattegg, Austria",
		zoom: 10
	});
	$("#gmap_int").gMap({
		markers: [
			{html: "Kinderkulturzentrum Belgrad, Serbien", address: "Takovska 8, 11000 Beograd, Republika Srbija"},
			{html: "Kinder- und Jugendmuseum München, Deutschland", address: "Arnulfstraße 3, 80335 München, Deutschland"},
			{html: "Altonaer Museum Hamburg, Deutschland", address: "Museumstraße 23, 22765 Hamburg, Deutschland"},
			{html: "Science Center D'Abadie, Trinidad", address: "43-45 Woodford Street, Port of Spain, Trinidad W.I."},
			{html: "Nieuw Land Erfgoedcentrum Lelystad, Niederlande", address: "Oostvaardersdijk 0113, 8242 PA Lelystad, Nederland"},
			{html: "Deutsches Hygiene-Museum Dresden, Deutschland", address: "Lingnerplatz 1, 01069 Dresden, Deutschland"},
			{html: "Städtische Museen Heilbronn, Deutschland", address: "Deutschhofstraße 6, 74072 Heilbronn, Deutschland"},
			{html: "DASA - Deutsche Arbeitsschutzausstellung Dortmund, Deutschland", address: "Friedrich-Henkel-Weg 1, 44149 Dortmund, Deutschland"},
			{html: "Universum Bremen, Deutschland", address: "Wiener Str. 1a, 28359 Bremen, Deutschland"}
		],
		address: "Vila Do Porto",
		zoom: 2
	});
});

function getRandom(min,max) {
	if(min > max) return -1;
	if(min == max) return min;
	return min + parseInt(Math.random() * (max-min + 1));
}

function fadeCycle(jSelector,speed) {
	$(jSelector).fadeOut(speed, function() {
		$(jSelector).fadeIn(speed);
		fadeCycle(jSelector,speed);
	});
}

//turnXToggle Plugin
(function($) {
	$.fn.turnXToggle = function(speed) {
		this.each(function() {
			if ($(this).find("img").length != 2) return;
			var jImage = $(this).find("img:first");
			var url1 = jImage.attr("src");
			var url2 = $(this).find("img:nth-child(2)").attr("src");
			var defaultWidth = jImage.attr("width");
			$(this).find("img:nth-child(2)").css("display","none");
			$(this).hover(function() {
				turnXToggleAnimate(jImage,speed,url2,defaultWidth);
			},function() {
				turnXToggleAnimate(jImage,speed,url1,defaultWidth);
			});
		});
	}
})(jQuery);

function turnXToggleAnimate(jImage,speed,url,defaultWidth) {
	var halfWidth = Math.round(defaultWidth / 2);
	var halfSpeed = Math.round(speed / 2);
	jImage.animate({width: "0px", left: halfWidth + "px"},halfSpeed,"swing",function() {
		jImage.attr("src",url);
		jImage.animate({width: defaultWidth + "px", left: "0px"},halfSpeed,"swing");
	});
}

(function($) {
	$.fn.turnXCycle = function(timeShown,speed) {
		this.each(function() {
			var jImage = $(this).find("img:first");
			var url1 = jImage.attr("src");
			var url2 = $(this).find("img:last").attr("src");
			$(this).find("img:not(img:first)").css("display","none");
			window.setTimeout(function() {turnXCycleAnimate(jImage,speed,url1,url2,timeShown)},timeShown);
		});
	}
})(jQuery);

function turnXCycleAnimate(jImage,speed,url1,url2,timeShown) {
	var defaultWidth = jImage.attr("width");
	var halfWidth = Math.round(defaultWidth / 2);
	var halfSpeed = Math.round(speed / 2);
	jImage.animate({width: "0px", left: halfWidth + "px"},halfSpeed,"swing",function() {
		jImage.attr("src",jImage.attr("src") == url1 ? url2 : url1);
		jImage.animate({width: defaultWidth + "px", left: "0px"},halfSpeed,"swing",function() {
			window.setTimeout(function() {turnXCycleAnimate(jImage,speed,url1,url2,timeShown)},timeShown);
		});
	});
}
