/////////////////////////////////////////////////////
///   Render page
/////////////////////////////////////////////////////
$(document).ready(
	function(){
		render();
	}
);

var render = function(){
	setInterval(fit_design_to_window,100);
	setTimeout(render_menu,1);
	setTimeout(render_box,1);
	setTimeout(marquee,1);
}
/////////////////////////////////////////////////////
///   /Render page
/////////////////////////////////////////////////////


/////////////////////////////////////////////////////
///   Menu toggle function
/////////////////////////////////////////////////////
var render_menu = function(){
	$("#menu .show").show();
	$("#menu a.head:last").addClass("last");
	if($("#menu a.last").next().hasClass("menu_sub")){
		$("#menu a.last").next().addClass("last");
	}
	$("#menu a").attr("onfocus","blur();");
	toggle_menu(".head","sub");
	toggle_menu(".sub","subsub");
	toggle_menu(".subsub","subsubsub");
}

var toggle_menu = function(lnk,box){
	$("#menu a" + lnk).click(function(){
		if($(this).hasClass("toggled") || $(this).next().hasClass("show")){
			$(this).next().toggle(400);
		}else{
//			$(".menu_subsub").hide(400);
			$(".menu_" + box).hide(400);
			$(".menu_" + box).removeClass("show");
			$(lnk).removeClass("toggled");
		}
		if($(this).next().hasClass("menu_" + box) && !$(this).hasClass("toggled") && !$(this).next().hasClass("show")){
			$(this).addClass("toggled");
			$(this).next().toggle(400);
		}
	});
}
/////////////////////////////////////////////////////
///   /Menu toggle function
/////////////////////////////////////////////////////


/////////////////////////////////////////////////////
///   Fit design to window - scroll bug-fix
/////////////////////////////////////////////////////
var fit_design_to_window = function(){
	if($(window).width() < 1000){
		$("body").removeClass("fitdesign");
	}else{
		$("body").addClass("fitdesign");
	}
}
/////////////////////////////////////////////////////
///   /Fit design to window - scroll bug-fix
/////////////////////////////////////////////////////

		
/////////////////////////////////////////////////////
///   Render design
/////////////////////////////////////////////////////
var render_box = function(){
	setTimeout(render_read_more,1);
	setTimeout("render_defined_box('.headline','header')",1);
	setTimeout("render_defined_box('.std','underpic')",1);
	setTimeout("render_defined_box('.green','overpic')",1);
	setTimeout("render_defined_box('.teaser','underpic')",1);
	setTimeout(render_contact,1);
}

var render_read_more = function(){
	$.each($("a.read_more"),function(_,elem){
		var link_href = elem.href;
		var link_text = elem.innerHTML;
		var new_link = $("<a>").attr("href",link_href).html(link_text);
		if(typeof elem.target != "undefined")
		  new_link.attr("target",elem.target);
		var link_div = $("<div>").addClass("read_more").append(new_link);
		$(elem).replaceWith(link_div);
	});
}

var render_contact = function(){
	$.each($("div.contact"),function(_,elem){
		var img = $(elem).children("img");
		var src = img.attr("src");
		if(src != undefined){
			img.addClass("noshow");
			$(elem).css("background-image","url(" + src + ")");
		}
		var html = $(elem).children(".data").html();
		$(elem).children(".data").html("<table cellspacing=\"0\"><tr><td valign=\"top\">" + html + "</td></tr></table>");
	});
}

var render_body_box = function(box){
	var table_start = "<table class=\"table_semifixed_height\" cellspacing=\"0\"><tr><td valign=\"top\">";
	var table_end = "</td></tr></table>";
	$(box).children(".box_semifixed_height").replaceWith(table_start + $(box).children(".box_semifixed_height").html() + table_end);
	return box;
}

var render_defined_box = function(box,header_place){
	$.each($("div.box" + box),function(_,elem){
		// Header
		var header = $(elem).children(".header");
		var headerhtml = header.html();
		var headerdiv = $("<div />").addClass("header_title").html(headerhtml);
		header
			.empty()
			.append($("<div />").addClass("header_left"))
			.append($("<div />").addClass("header_right"));
		// Body
		var body = render_body_box($(elem).children(".body"));
		var bodydiv = $("<div />").addClass("content").html(body.html());

		if(header_place == "underpic"){
			if($(bodydiv).children(".pic").html()){
				$(bodydiv).children(".pic").after($("<h3>").append(headerhtml));
			}else{
				$(bodydiv).prepend($("<h3>").append(headerhtml));
			}
		}else if(header_place == "overpic"){
			$(bodydiv).prepend($("<h3>").append(headerhtml));
		}else{
			header.append(headerdiv);
		}
		body
			.empty()
			.addClass("body_load")
			.append(
				$("<div />")
					.addClass("border")
					.html(bodydiv)
				);
		// Footer
		var footerdiv = $("<div />").addClass("footer");
		$(elem).append(footerdiv);
		var footer = $(elem).children(".footer");
		footer
			.append($("<div />").addClass("footer_left"))
			.append($("<div />").addClass("footer_right"));
	});
}
/////////////////////////////////////////////////////
///   /Design containers
/////////////////////////////////////////////////////


/////////////////////////////////////////////////////
///   Frontpage news-ticker
/////////////////////////////////////////////////////
var marquee = function(){
	var headline_count;
	var headline_timeout;
	var old_headline = 0;
	var current_headline = 0;
	var rotate_speed_ms = 6500; // milliseconds between rotating items
	var animating = false;

	var headline_rotate = function(){
		if(animating){
			return;
		}
		headline_timeout = null;
		current_headline = (old_headline + 1) % headline_count; 
		$("div.marquee_item:eq(" + old_headline + ")").animate({top: -169},"slow", function() {
			$(this).css('top','169px');
		});
		animating = true;
		$("div.marquee_item:eq(" + current_headline + ")")
			.show()
			.animate(
				{top: 0},
				{ 
					duration: "slow",
					complete: function() { 
						animating = false;
						if(headline_timeout == null){
							headline_timeout = setTimeout(headline_rotate,rotate_speed_ms);
						}}});	
		old_headline = current_headline;
	}

	headline_count = $("div.marquee_item").size();
	$("div.marquee_item:eq("+current_headline+")").css('top','0px');
 
	headline_timeout = setTimeout(headline_rotate,rotate_speed_ms);
	$('#marquee').hover(
		function(){
			clearTimeout(headline_timeout);
			headline_timeout = null;
		},
		function(){
			if(headline_timeout != null){
				clearTimeout(headline_timeout);
			}
			headline_timeout = setTimeout(headline_rotate,300);
		}
	);
}
/////////////////////////////////////////////////////
///   /Frontpage news-ticker
/////////////////////////////////////////////////////

