var roundError = 0;

function calcPadding(singlePadding) {
	if(roundError) {
		extraPadding = 1;
		roundError--;
	}
	else {
		extraPadding = 0;
	}
	
	thisPadding = singlePadding + extraPadding;	
	return(thisPadding);
}

function balanceCols() {
	var aWidths = 0;
	var numCols = 0;
	
	$('#mainnavi>ul>li>a').each(function() {
		aWidths += $(this).width();		
		numCols++;		
	})
  	  			
	totalPadding = $('#mainnavi>ul').width() - aWidths;	
	singlePadding = totalPadding / (numCols * 2);
	singlePadding = Math.floor(singlePadding);
	roundError = totalPadding - (singlePadding * numCols * 2);
		
	$('#mainnavi>ul>li>a').each(function() {				//padding-right						
		$(this).css("padding-right", calcPadding(singlePadding)+"px");
		activateNav1($(this));		
		$(this).css("visibility","visible");
	});	

	$('#mainnavi>ul>li>a').each(function(index) {				//padding-left				
		thisPadding = calcPadding(singlePadding);
		$(this).css("padding-left", thisPadding+"px");		
		setSubnaviWidth($(this).parent(),thisPadding);
	});
	
	fixCols();
}

function fixCols() {
	theElement = $('#mainnavi>ul>li:last>a');
	cssHeight = $('#mainnavi').height();
	$('#mainnavi').css("height","auto");
	while($('#mainnavi').height() > 70) {
		$(theElement).css("padding-right", ($(theElement).css("padding-right").replace("px", "")-1)+"px");
	}
	$('#mainnavi').css("height", cssHeight+"px");
}

function setSubnaviWidth(theElement,thisPadding) {
	// min.breite passend zur parent navi1 (nowrap)
	parentWidth = $(theElement).width();
	rightPadding = $(theElement).children("a").css("padding-right");

	paddingData = { 
		'padding-left' : thisPadding+'px',
		'padding-right' : rightPadding
	}
	
	$(theElement).children(".navi2").css('min-width', parentWidth+'px');	
	$(theElement).children(".navi2").children('li').children('a').css(paddingData);
}

function setRightSubnav(el) {
	if(!$("#extranavi2").length && $(el).next().length) {
		$("#rightbox>div").prepend('<h2 class="colheadline">INHALTE</h2><ul id="extranavi2">'+$(el).next().html()+'</ul>');
	}
}

function activateNav1(el) {
	if($(el).attr("href") == window.location.pathname) {				
		doActivateNav1(el);
	}
}

function doActivateNav1(el) {
	$(el).parent().addClass("navi1act");
	$(el).parent().next().children('a').addClass("actborderbg");	// border beim naechsten li verschieben
	
	if($(el).next().hasClass("first")) {
		$(el).parent().addClass("actfirstnohover");
	}
	else if($(el).next().hasClass("last")) {
		$(el).parent().addClass("actlastnohover");
	}
	
	setRightSubnav(el);	
}

function is_touch_device() { 
	if(navigator.appVersion.indexOf('IEMobile') > -1) {
		return true;
	}
	else {
		try {  
			document.createEvent("TouchEvent");  
			return true;  
		} catch (e) {  
			return false;  
		}  
	}
}


function balanceBoxes() {
	leftboxHeight = $("#leftbox>div").height();
	rightboxHeight = $("#rightbox>div").height();

	heightCorr = 22;	
	
	if(leftboxHeight > rightboxHeight) {
		//$("#rightbox>div").css("height",(leftboxHeight+heightCorr)+"px");
		$("#rightbox>div").animate({
			height: (leftboxHeight+heightCorr)+"px"
		}, 100, 'linear');
	}
	else if(rightboxHeight > leftboxHeight) {
		//$("#leftbox>div").css("height",(rightboxHeight-heightCorr)+"px");
		$("#leftbox>div").animate({
			height: (rightboxHeight-heightCorr)+"px"
		}, 100, 'linear');
	}
}


$(document).ready(function(){
/*	WebFont.load({
		monotype: {
			projectId: '995c80d4-1df5-4130-b825-2794f6f1563d'
		},
		active: function(){ balanceCols() }
	});*/
	
	balanceCols();
	
	if(navigator.appVersion.indexOf('Android 4.') > -1) {
		$('body').css({
			"background-position": "center 130px",
			"background-repeat": "no-repeat",
			"background-image": "url('"+bgImg+"')"
		});
	}
	else {
		$.backstretch(bgImg);
	}

	$('li.navi1act').next().children('a').css('background-position','-1px top');
	
	$('.navi2 a').each(function() {
		if($(this).attr("href") == window.location.pathname) {		
			$(this).addClass("navi2act");
			doActivateNav1($(this).parent().parent().prev());
		}
	});
	
	$('#headernavi a').each(function() {
		if($(this).attr("href") == window.location.pathname) {		
			$(this).addClass("headernaviact");
			if($(this).parent().parent().prev("#headernavi>li>a").length) {
				$(this).parent().parent().prev("a").addClass("headernaviact");
				setRightSubnav($(this).parent().parent().prev("a"));				
			}					
		}
	});	
	
	$('#mainnavi>ul>li').filter(":first").children("ul").addClass("first");
	$('#mainnavi>ul>li').filter(":last").children("ul").addClass("last");
	$('#mainnavi>ul>li:not(:has(ul))').filter(":first").addClass("firsthover");
	$('#mainnavi>ul>li:not(:has(ul))').filter(":first").addClass("lasthover");		
	$('#mainnavi>ul>li').filter(":last").addClass("last");		// zusaetzliche klasse fuer background align right
	
	$('#headernavi ul:last').addClass("last");

	if(is_touch_device()) {			// touch devices
		$('#mainnavi>ul>li, #headernavi>li').each(function() {
			if($(this).has("ul").length) {		// nur jene mit subnavi
				$(this).children("a").attr("href","JavaScript:void(0);");	// link 1. ebene wegnehmen
			}
		});	
		
		$('#mainnavi>ul>li').click(function() {
			$(this).children("ul").toggle();
		});
		
		$('#headernavi>li').click(function() {
			$(this).children("ul").toggle();
		});
		
		$('#headerbox, #mainnavi').css('position','absolute');
		
		if(navigator.userAgent.toLowerCase().indexOf('android') != -1) {
			$('#footer').css('display','none');
		}
	}
	else {
		$('#mainnavi>ul>li').hover(
			function() {
				$(this).children("ul").css("display","block");
				$(this).children("ul").css("z-index","999");
				$(this).filter(".last").css("background-position","right top");
				$(this).next().children('a').addClass("actborderbg");
				if($(this).children("ul").hasClass("first")) {
					$(this).removeClass("actfirstnohover");
				}
				else if($(this).children("ul").hasClass("last")) {
					$(this).filter(".navi1act").removeClass("actlastnohover");			
				}
				
			},
			function() {
				$(this).children("ul").css("display","none");
				$(this).not(".navi1act").next().children('a').removeClass("actborderbg");
				if($(this).children("ul").hasClass("first")) {
					//$(this).css('background-image','url("/images/navibg-act-firstlast.png")');			
					$(this).filter(".navi1act").addClass("actfirstnohover");
				}
				else if($(this).children("ul").hasClass("last")) {
					$(this).filter(".navi1act").addClass("actlastnohover");
				}
			}
		);
		
		$('#headernavi>li').hover(
			function() {
				$(this).children("ul").css("display","block");
				$(this).children("a").css("color","#333");
			},
			function() {
				$(this).children("ul").css("display","none");
				$(this).children("a").css("color","#5b5b5b");
			}
		);
	}

	//balanceCols();
	
	$("#footer").css("z-index","900");
	
	$("#jobslist>li").has("ul li").css("display","block");		
		
	// gallery:
	
	$("div.thumbcontainer:nth-child(4n)").css("margin","0 0 24px 1px");
	
	$("a.thumbimg").attr("rel","fancygallery");		
	
	$("a.fancygallery").fancybox({				// inline bilder fancybox
		'overlayOpacity' : '0.8',
		'overlayColor' : '#000',			
		'hideOnContentClick': false	
	});	
	
	$("img.fancygallery").each(function() {
		$(this).parent().attr("title",$(this).attr("title"));
	});
});

$(window).load(function(){
	balanceBoxes();
});
