/*

*/

var debug = true;
var debugString = "";

var umbraco = false;
var umbracoLocation;
var viaLocation;

$().ready(function()
{
	log("js.js start");

	$("a.arrowLink").css("visibility", "visible");

	$("sub").each(function() {
		$(this).replaceWith('<span class="sub">' + $(this).text() + '</span>');
	});
	$("sup").each(function() {
		$(this).replaceWith('<span class="sup">' + $(this).text() + '</span>');
	});

	$("#content a").each(function() {
		if ($(this).text() == 'X')
		{
			$(this).addClass("dot").text(" ");
		}
	});

	if (!(window.umbracoUrl === undefined))
	{
		umbraco = (document.location.href.indexOf(umbracoUrl) == 0);
	}

//	umbraco = true;

	if (umbraco)
	{
		umbracoLocation = document.location.href;
		if (umbracoLocation.indexOf("?") > 0) umbracoLocation = umbracoLocation.substr(0, umbracoLocation.indexOf("?"));
		if ($("#rightColumn").height() == 0) $("#rightColumn").height(1);
	}
	else
	{
		viaLocation = document.location.href;
		if (viaLocation.indexOf("?") > 0) viaLocation = viaLocation.substr(0, viaLocation.indexOf("?"));
		viaLocation = viaLocation.substr(viaLocation.indexOf("/", 8));
	}

	if (!(window.umbracoUrl === undefined))
	{
		log("a");
		cleanNavigation();

		log("b");
		stitchTopNavigation();

		log("c");
		stitchNavigation();

		log("d");
		if (umbraco) markTopNavigation();

		log("e");
		if (umbraco) drawPath();

		log("f");
		stitchSitemap();
	}

	$("div.splash #leftNavigation a").css("padding", " 0 10px 0 0")
	$("div.splash #leftNavigation a:has(img)").css("padding", "0")

	$("#path a:last").addClass("selected");

	checkToggleUrl()

	$("#leftNavigation a.system").parent().addClass("system");

//	setTopHeight();
	showJSIcons();
	setLinkIcons();
	fixOldViaForms();
	setCaptionWidths();

//	lineNavigation($("#leftNavigation > ul.nav"), 1);
	$("#leftNavigation > ul.nav > li > ul > li > ul > li:has(li) > a.open").parent().next().css("border-top", "none");
	$("#leftNavigation > ul.nav > li > ul > li > ul > li:has(li) > a.selected").parent().next().css("border-top", "none");


	activateCollapsables();

	lineTables();
	setupSitemap("#topContent", 4);
	setupSitemap("#content", 3);

	$("input:hidden").addClass("hidden");
	
	var cookieCheck = false;
	createCookie("pollTestCookie", "1", "1");
	cookieCheck = (readCookie("pollTestCookie") == "1");

	if (cookieCheck)
	{
		pollInit();
	}

	if ($("#diaporama").length > 0)
	{
		jQuery.each($("script"),
			function(i,s){
				if(s.src.match ( "/files/system/jquery-1.2.3.min.js") != null ){
					$(s).after("<script  type='text/javascript' src='/files/system/jquery.cycle.all.js'></script>");
				}
			});
	}

	setupSeminarDates();

	log("js.js end");
//	if (debug && !self.console) alert(debugString);
});

function setupSeminarDates()
{
	$("table.seminarDates").each(function() {
		$(this).find("tr:not(:last,:first)").each(function(url) {
			var newsletterId = $($(this).find("td")[8]).text();
			if (newsletterId == '') newsletterId = $(this).parent().find("tr:last td:first").text();
			var url = $(this).parent().find("tr:last td:last a:first").attr("href") + "?newsletterId=" + newsletterId;
			url += "&date=" + $($(this).find("td")[0]).text() + "&place=" + $($(this).find("td")[5]).text() + "&title=" + $($(this).find("td")[4]).text() + "&price=" + $($(this).find("td")[6]).text() + "&number=" + $($(this).find("td")[2]).text();
			$($(this).find("td")[7]).wrapInner("<a href=\"" + url + "\"></a>");
		});
	});

	$("form.seminarSignup").submit(function() {
		var url = $(this).attr("action");
		if (url.indexOf("&email=") > -1) url = url.substr(0, url.indexOf("&email="));
		url += "&email=" + $(this).find("input#Email").val();
		$(this).attr("action", url) 
	});
}

function pollVote(formId)
{
	createCookie("voted" + formId, "1", 10 * 365);
	$("form#f" + formId).submit();
}

function pollInit()
{
	$("div.poll").each(function() {
		var formId = $(this).find("div.radios h1").html();

		var voted = (readCookie("voted" + formId) == "1");
		if (document.location.href.indexOf(formId) > 0) voted = true;

		var id = 1;

		var voteHtml = $(this).find("div.intro").html();
		$(this).find("div.radios p").each(function() {
			voteHtml += '<input id="Radio_' + id + '" name="Radio" class="RadioButton" type="radio" value="' + id + '" /><label for="Radio_' + id + '" class="RadioButton">' + $(this).find("span:first").text() + '</label><br />';
			id++;
		});
		voteHtml += '<input type="hidden" class="hidden" name="formId" value="' + formId + '" />';
		voteHtml += '<input type="button" onclick="pollVote(\'' + formId + '\')" disabled="disabled" class="Button" value="' + $(this).find('a:first').text() + '" />';

		var linkText = $(this).find("div.radios a:last").text();
		if (linkText != '') voteHtml += '<a href="?showPollId=' + formId + '">' + linkText + '</a>';

		if (!voted) $(this).find("div.shown").append(voteHtml);

		var resultsHtml = $(this).find("div.resultsIntro").html();
		var resultsTotal = 0;

		$(this).find("div.radios p").each(function() {
			resultsTotal += 1.0 * $(this).find("span:last").text();
		});

		$(this).find("div.radios p").each(function() {
			var votes = $(this).find("span:last").text() * 1.0;
			var percent = 0;
			if (resultsTotal > 0) percent = Math.round((100.0 * votes) / resultsTotal);
			resultsHtml += '<p><strong>' + $(this).find("span:first").text() + ':</strong><br class="br" /><span class="pollPercent">' + percent + '%</span> <a class="bar" title="' + votes + '" style="width: ' + Math.round(1.4 * percent) + 'px"></a></p>';
		});

		resultsHtml += "<p>" + $(this).find("div.radios h3").text() + resultsTotal + "</p>";
		
		resultsHtml += $(this).find("div.resultsOutro").html();

		if (voted) $(this).find("div.shown").append(resultsHtml);

		$(this).find("div.shown").wrap('<form class="rwform poll" id="f' + formId + '" action="" method="post">' + '</form>');
		$(this).find("div.shown input[type='radio']").click(function() {
			$(this).parent().find("input.Button").removeAttr("disabled");
		});

	});
}


function checkToggleUrl()
{
	var href = document.location.href.toLowerCase();
	var toggleIndex = href.indexOf("toggleurl=");
	var endIndex = href.indexOf("&", toggleIndex);
	if (toggleIndex > -1)
	{
		if (endIndex > -1)
			var url = href.substring(toggleIndex + 10, endIndex)
		else
			var url = href.substr(toggleIndex + 10)
	}
	$("#leftNavigation ul.nav li.collapsed > a").each(function() {
		if ($(this).attr("href").indexOf(url) > -1)
			$(this).parent().toggleClass("collapsableOpen");
	});
}

function activateCollapsables()
{
	$("#leftNavigation ul.nav li.collapsed > a").click(function() {
		$(this).parent().toggleClass("collapsableOpen");
		this.blur();
		return false;
	});
}

function setCaptionWidths()
{
	$("#content .captioned").each(function()
	{
		$(this).width($(this).find("img:first").width());
		if ($(this).width() >= ($(this).parent().width() - 32))
			$(this).removeClass("left").removeClass("right").css("marginLeft", "0px").css("marginRight", "0px").css("clear", "both");
	});
}

function fixOldViaForms()
{
	$("#content form.viaform1 label.CheckBoxLabel").each(function()
	{
		$(this).removeClass("CheckBoxLabel")
		$(this).after($(this).find("input"));
		$(this).next("input").after("<br />");
	});
	$("#content form.viaform1 input.Button:first").before("<label></label>");
}


function cleanNavigation()
{
	if ($("div#extraNavigation > ul > li > a:first").attr("href").indexOf(umbracoUrl) != 0)
	{
		$("#extraNavigation a").each(function()
		{
			$(this).attr("href", umbracoUrl + $(this).attr("href"));
		});
	}
}

function markTopNavigation()
{
	if ($("#leftNavigation ul.nav > li.open").length != 0)
	{
		if (umbraco)
			$("#topNavigation ul.nav a[@href='" + umbracoUrl + $("#leftNavigation ul.nav > li.open > a").attr("href") + "']").addClass("open").parent().addClass("open").parent().parent().addClass("open").find("> a").addClass("open");
		else
			$("#topNavigation ul.nav a[@href='" + $("#leftNavigation ul.nav > li.open > a").attr("href") + "']").addClass("open").parent().addClass("open").parent().parent().addClass("open").find("> a").addClass("open");
	}
	else if ($("#leftNavigation ul.nav > li.selected").length != 0)
	{
		$("#topNavigation ul.nav a[@href='" + $("#leftNavigation ul.nav > li.selected > a").attr("href") + "']").addClass("selected").parent().addClass("selected").parent().parent().addClass("open").find("> a").addClass("open");
	}
}

function drawPath()
{
	if (umbraco)
	{
		$("#path ul.nav").remove();

		var selectedNode = $("#leftNavigation ul.nav a.selected");
		var path = "<ul><li class=\"selected\"><a class=\"selected\" href=\"" + $(selectedNode).attr("href") + "\">" + $(selectedNode).html() + "</a></li><ul>";
		var leftNavigationParentNode = $(selectedNode).parent().parent();

		while ($(leftNavigationParentNode).length != 0 && !$(leftNavigationParentNode).hasClass("nav"))
		{
			leftNavigationParentNode = $(leftNavigationParentNode).parent().parent();
			var link = $(leftNavigationParentNode).find("> li > a.open");
			path = "<ul><li class=\"open\"><a class=\"open\" href=\"" + $(link).attr("href") + "\">" + $(link).html() + "</a>" + path + "</li></ul>";
		}
		var link = $("#topNavigation > ul.nav > li > a.open");
		if ($(link).length > 0)
		{
			path = "<ul><li class=\"open\"><a class=\"open\" href=\"" + $(link).attr("href") + "\">" + $(link).html() + "</a>" + path + "</li></ul>";
		}

		$("#path").prepend(path);
	}
}

function stitchTopNavigation()
{
	for (var i = 0; i < navigationStitching.length - 1; i += 2)
	{
		if (umbraco)
			var url = viaUrl + navigationStitching[i];
		else
			var url = navigationStitching[i];
		var node = $("#topNavigation > ul > li > a[@href='" + url + "']");
		if ($(node).length > 0)
		{
			$(node).parent().prepend($("#extraNavigation a[@href='" + umbracoUrl + navigationStitching[i+1] + "']").parent().children("ul").clone());
		}
	}
	$("#topNavigation > ul > li > ul > li > ul").remove();
	$("#topNavigation > ul > li").each(function() {
		if ($(this).find("ul").length > 1)
		{
			$(this).find("ul:last").append($(this).find("ul:first > li"));
			$(this).find("ul:first").remove();
		}
	})
	
}

function stitchNavigation()
{
	if (umbraco)
	{
/*
		for (var i = 0; i < navigationStitching.length - 1; i += 2)
		{
			$("#viaExtraNavigation a[@href='" + navigationStitching[i] + "']").parent().append($("#extraNavigation a[@href='" + umbracoUrl + navigationStitching[i+1] + "']").parent().children("ul"));
		}

		$("#viaExtraNavigation *").removeClass("open").removeClass("selected");

		$("#leftNavigation ul.nav").remove();
		$("<ul class=\"nav\"></ul>").prependTo("#leftNavigation");

		log("c3");
		var leftNavigationParentNode = $("#viaExtraNavigation  a[@href='" + umbracoLocation + "']").parent().parent();

		while ($(leftNavigationParentNode).length != 0 && !$(leftNavigationParentNode).parent().parent().hasClass("nav"))
		{
			leftNavigationParentNode = $(leftNavigationParentNode).parent().parent();
		}

		$(leftNavigationParentNode).children().each(function() {
			$(this).appendTo($("#leftNavigation ul.nav"));
		});

		cleanNavigationLevel($("#leftNavigation > ul.nav"), umbracoLocation);
		
		$("#leftNavigation ul.nav a").each(function() {
			if ($(this).attr("href").indexOf(umbracoUrl) < 0)
				$(this).attr("href", viaUrl + $(this).attr("href"));
		});
*/
	}
	else
	{
		for (var i = 0; i < navigationStitching.length - 1; i += 2)
		{
			var node = $("#leftNavigation a.selected[@href='" + navigationStitching[i] + "']");
			if ($(node).parent().find("> ul").length == 0)
			{
				$(node).parent().append("<ul></ul>");
			}
			if ((window.prependLeftnavigationNodes === undefined) || (window.prependLeftnavigationNodes == 0))
				$(node).parent().find("> ul").append($("#extraNavigation a[@href='" + umbracoUrl + navigationStitching[i+1] + "']").parent().children("ul").children("li"));
			else
				$(node).parent().find("> ul").prepend($("#extraNavigation a[@href='" + umbracoUrl + navigationStitching[i+1] + "']").parent().children("ul").children("li"));
			if ($("#topNavigation > ul.nav > li > a.selected[@href='" + navigationStitching[i] + "']").length != 0)
			{
				$("#leftNavigation ul.nav").remove();
				$("#leftNavigation").prepend(("<ul class=\"nav\"></ul>"));
				if ($("#topNavigation a.selected").parent().find("li.collapsed").length > 0)
				{
					var selectedUrl = $("#topNavigation a.selected").attr("href");
					$("#extraNavigation a[@href='" + umbracoUrl + selectedUrl + "']").parent().find("> ul > li").each(function() {
						$("#leftNavigation ul.nav").append($(this).clone());
					});
				}
				else
				{
					$("#topNavigation a.selected").parent().find("li").each(function() {
						$("#leftNavigation ul.nav").append($(this).clone());
					});
				}
			}
			if ($("#topNavigation > ul.nav > li > a.open[@href='" + navigationStitching[i] + "']").length != 0)
			{
				$("#leftNavigation > ul.nav").append($("#extraNavigation a[@href='" + umbracoUrl + navigationStitching[i+1] + "']").parent().find("> ul > li > a"));
				$("#leftNavigation > ul.nav > a").wrap("<li></li>");
			}

		}
		cleanLeftNavigation($("#leftNavigation > ul.nav"), viaLocation);
	}
}
function cleanLeftNavigation(ul, selectedHref)
{
	$(ul).find("a[@href='" + selectedHref + "']").parent().find("ul > li:not(.collapsed) > ul").remove();
}

function cleanNavigationLevel(ul, selectedHref)
{
	$(ul).find("> li:not(.collapsed)").each(function() {
		if ($(this).find("a[@href='" + selectedHref + "']").length == 0)
		{
			$(this).find("ul").remove();
		}
		else
		{
			if ($(this).find("> a").attr("href") == selectedHref)
			{
				$(this).addClass("selected");
				$(this).find("> a").addClass("selected");
			}
			else
			{
				$(this).addClass("open");
				$(this).find("> a").addClass("open");
				$(this).find("> ul").each(function() {
					cleanNavigationLevel(this, selectedHref);
				});
			}
		}
	});
}

function stitchSitemap()
{
	if ($("#topContent ul.nav").length > 0)
	{
		for (var i = 0; i < navigationStitching.length - 1; i += 2)
		{
			$("#topContent ul.nav a[@href='" + navigationStitching[i] + "']").parent().append($("#extraNavigation a[@href='" + umbracoUrl + navigationStitching[i+1] + "']").parent().children("ul").clone());
		}
	}
	if ($("#content ul.nav").length > 0)
	{
		for (var i = 0; i < navigationStitching.length - 1; i += 2)
		{
			$("#content ul.nav a[@href='" + navigationStitching[i] + "']").parent().append($("#extraNavigation a[@href='" + umbracoUrl + navigationStitching[i+1] + "']").parent().children("ul").clone());
		}
	}
}


function printurl(section)
{
	var u = document.location.href;
	if(u.indexOf('#') > 0)
	{
	u = u.split('#');
	u = u[0];
	}
	u += (u.indexOf('?') >0)? '&':'?';
	u +='print=1';
	if(typeof(section)!="undefined") u +='&section='+ section;
	return u;
}

function printing(section)
{
	var u = printurl(section);
	w = window.open(u,'print','width=650,height=680,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no');
	w.focus();
}

function setLinkIcons()
{
	$('#content a').each(
		function() {
			setIconIfAllowed(this);
		}
	);
	$('#rightColumn a').each(
		function() {
			setIconIfAllowed(this);
		}
	);
	$('#leftNavigation .box a').each(
		function() {
			setIconIfAllowed(this);
		}
	);
}

function setIconIfAllowed(e)
{
	var icons = ",.pdf,.doc,.dwg,.txt,.xls,.wmv,.exe,.ppt,";
	if (icons.indexOf(',' + e.href.substr(e.href.length - 4).toLowerCase() + ',') > -1)
	{
		if ($(e).children("img").length > 0)
		{
		}
		else if ($(e).parent().is("p") && ($(e).parent().html().substr(0,2).toLowerCase() == "<a"))
		{
			$(e).addClass(e.href.substr(e.href.length - 3).toLowerCase());
		}
		else if ($(e).parent().is("p") && !($(e).parent().html().substr(0,2).toLowerCase() == "<a"))
		{
		}
		else
		{
			$(e).addClass(e.href.substr(e.href.length - 3).toLowerCase());
		}
	}
}

function TellAFriend()
{
	var path = document.location.href;
	if (path.indexOf('?lastPagePath=') > 0) path = path.substring(0, path.indexOf('?lastPagePath='));
	var title = document.title;
	document.location.href='/Tell+a+friend?lastPagePath=' + escape(path) + '&lastPageTitle=' + escape(title);
}

function showJSIcons()
{
	$(".jsshow").removeClass("jsshow");
}

function setTopHeight()
{
	var imgHeight = $("#top img:first").height();
	$("#top").css("height", imgHeight);
	$("#topNavigation").css("top", imgHeight + 10);
	$("#pathNavigation").css("top", imgHeight + 54);
	$("#siteContainer").css("padding-top", imgHeight + 85);
	$("#siteContainerFront").css("padding-top", imgHeight + 53);
}

var tableRowOdd = false;
function lineTables()
{
	$("table.linedTable").each(function() {
		tableRowOdd = false;
		$(this).find("tr").each(function() {
			if ($(this).find("td").length == 0) tableRowOdd = false;
			if (tableRowOdd) $(this).addClass("e");
			tableRowOdd = (!tableRowOdd);
		});
	});
	$("table.linedTable tr").mouseover(function() {
		$(this).addClass("o");
	});
	$("table.linedTable tr").mouseout(function() {
		$(this).removeClass("o");
	});
}

function lineNavigation(ul, level)
{
	var subUL = $(ul).find("> li > ul");
	if (subUL.length > 0)
	{
		var subSubUL = $(subUL).find("> li > ul");
		if (subSubUL.length > 0)
			lineNavigation(subUL, level + 1);
		else
			if (level > 1) subUL.parent().addClass("lined");
	}
	$(ul).find("li.collapsed").removeClass("lined");
}

function setupSitemap(container, columns)
{
	var avg = $(container + " > ul.nav li").length / (1.0 * columns);
	if (avg > 0)
	{
		$(container + " > ul.nav").before('<div id="sitemap"></div>');
		$("#sitemap").before('<ul class="navjs"></ul>');
		var ul = $(container + " > ul.navjs");
		var cnt = 0;
		var ulCnt = 1;
		while ($(container + " > ul.nav > li").length > 0)
		{
			ul.append($(container + " > ul.nav > li:first-child"));
			cnt = $(container + " > ul.navjs li").length;
			if (cnt > (avg * sitemapDistributionFactor) && ulCnt < columns)
			{
				ulCnt++;
				$("#sitemap").append(ul);
				if (ulCnt > (columns - 1))
					$("#sitemap").before('<ul class="navjs navjslast"></ul>');
				else
					$("#sitemap").before('<ul class="navjs"></ul>');
				ul = $(container + " > ul.navjs");
			}
		}
		$("#sitemap").append(ul);
		$(container + " > ul.nav").remove();
		$(container + " ul.navjs").addClass("nav");
	}
}

function addNavigation()
{
	var extra = $("#extraNavigation > ul > li");
	$("#topNavigation ul.nav").prepend(extra.clone());
	$("#topContent ul.nav").prepend(extra);

	$("#topNavigation > ul.nav > li > ul > li > ul").remove();
}

function log(s)
{
	var now = new Date();
	s = (now.getTime() + '').substr(9) + ": " + s;
	if (debug && self.console) console.log(s);
	debugString += s + '\n';
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

