﻿

function mousein(i,txt)
{	
	$("body").find(".breadcrumbNode" ).eq(i).text(txt);
}

function mouseout(i)
{
	$("body").find(".breadcrumbNode" ).eq(i).text("...");
}

function mousein2(txt)
{	

	$("body").find(".breadcrumbCurrentNode" ).text(txt);
}

function mouseout2()
{
	$("body").find(".breadcrumbCurrentNode" ).text("...");
}


jQuery(document).ready(function(){

	changeBreadcrumb();
	  
 });
  
  
function changeBreadcrumb(){  
	var count = 0;
	var breadcrumbNodeLength = 0;
   	var totallength = 0;
   	var countNodes = 0;

	/* skjuler den første node i breadcrumben */
	jQuery("A.breadcrumbRootNode").hide();	
	/* sætter den første node til at pege på roden af sitet */
	jQuery(".breadcrumbNode:first").attr("href","/da");	
	/* sætter 1. led til at være et image */
	jQuery(".breadcrumbNode:first").html("&nbsp;<img src='/SiteAssets/breadcrumb_home_house_without_arrow.png' alt=''/>&nbsp;");
	/* sætter sidste seperator til at være  en anden klasse */
	jQuery(".breadcrumbSeperator:last").addClass("breadcrumbSeperator_last");

	/*	Skjuler de første 2 led da de ikke skal vises */
	jQuery("#Breadcrumb1 span:first-child").find("span").each(function(){
		if(count<2)
		{
			jQuery(this).hide();

		}
		count++;
	});
	
	/* Tæller antal karakterer i brødkrummen */
	$('.breadcrumbNode').each(function(index) {	    	
    	if(index > 0)
   		{
   			breadcrumbNodeLength += $(this).text().length;
   			totallength = 	breadcrumbNodeLength + $('.breadcrumbCurrentNode').text().length;
   			countNodes ++;
   		}

	});

	/* hvis der  mere end 60 karakterer skal brødkrummen kortes af */
 	if(totallength > 60)
   		{
   			cutBreadcrumb_ny(breadcrumbNodeLength, totallength, $('.breadcrumbCurrentNode').text().length,countNodes) ;
   		}
 	 	
	/* vis først brødkrummen efter den er bearbejdet */
	jQuery("#Breadcrumb1").css("visibility","visible");

}

function cutBreadcrumb(breadcrumbNodeLength, totallength, currentNodeLength, countNodes)
{
	/* 	Der er max 57 karakterer til breadcrumbnodes og minimum 3 karakterer til curent node.
		Hvis breadcrumb er under 57 karakter men current node er for lang:				
    */
	if( breadcrumbNodeLength  < 57 && (breadcrumbNodeLength + currentNodeLength  > 57))
	{
		var dif2 = 55 - breadcrumbNodeLength;
		var currentNodeText = $('.breadcrumbCurrentNode').text().substring(0,dif2-3)+"...";
		$('.breadcrumbCurrentNode').text(currentNodeText);
	}
	/* 	
		Hvis både breadcrumb og  currentnode er for lange, skal begge kortes ned:				
    */
	else
	{
		/*currentNode sættes til 3 prikker */
		$('.breadcrumbCurrentNode').text("...");
		var maxlength = 57;
		
		/* løber breadcrumbNodes igennem bagfra. Hvis de overstiger det antal karakter der er muligt bliver de til prikker */
		for(i=countNodes; i > 0; i--)
		{
				if(breadcrumbNodeLength > maxlength)
				{
					var nodeLength = $("body").find(".breadcrumbNode" ).eq(i).text().length;	
					var nodeText = $("body").find(".breadcrumbNode" ).eq(i).text();				
					$("body").find(".breadcrumbNode" ).eq(i).text("...");
					breadcrumbNodeLength = breadcrumbNodeLength - nodeLength+3;
													
				}

		}	
		
	}
	
}

function cutBreadcrumb_ny(breadcrumbNodeLength, totallength, currentNodeLength, countNodes)
{
	var fullCurrentNodeText = $('.breadcrumbCurrentNode').text();
	
	/* 	Der er max 57 karakterer til breadcrumbnodes og minimum 3 karakterer til curent node.
		Hvis breadcrumb er under 57 karakter men current node er for lang:				
    */
	if( breadcrumbNodeLength  < 57 && (breadcrumbNodeLength + currentNodeLength  > 57))
	{

		var dif2 = 55 - breadcrumbNodeLength;
		var currentNodeText = $('.breadcrumbCurrentNode').text().substring(0,dif2-3)+"...";
		$('.breadcrumbCurrentNode').text(currentNodeText);
		/*$("body").find(".breadcrumbCurrentNode" ).wrap("<a onmouseover=mousein2('" + fullCurrentNodeText + "') onmouseout=mouseout2()></a>");*/
		$("body").find(".breadcrumbCurrentNode" ).wrap("<a title='"+ fullCurrentNodeText + "'></a>");
	}
	/* 	
		Hvis både breadcrumb og  currentnode er for lange, skal begge kortes ned:				
    */
	else
	{

		/*currentNode sættes til 3 prikker */

		$('.breadcrumbCurrentNode').text("...");
		/*$("body").find(".breadcrumbCurrentNode" ).wrap("<a onmouseover=mousein2('" + fullCurrentNodeText + "') onmouseout=mouseout2()></a>");*/
		$("body").find(".breadcrumbCurrentNode" ).wrap("<a title='"+ fullCurrentNodeText + "'></a>");
		var maxlength = 57;
		
		/* løber breadcrumbNodes igennem bagfra. Hvis de overstiger det antal karakter der er muligt bliver de til prikker */
		for(i=countNodes; i > 0; i--)
		{
				if(breadcrumbNodeLength > maxlength)
				{
					var nodeLength = $("body").find(".breadcrumbNode" ).eq(i).text().length;	
					var nodeText = $("body").find(".breadcrumbNode" ).eq(i).text();				
					$("body").find(".breadcrumbNode" ).eq(i).text("...");
					/*$("body").find(".breadcrumbNode" ).eq(i).wrap("<a onmouseover=mousein("+i+",'"+nodeText+"') onmouseout=mouseout("+i+")></a>");*/
					$("body").find(".breadcrumbNode" ).eq(i).wrap("<a title='"+ nodeText + "'></a>");
					breadcrumbNodeLength = breadcrumbNodeLength - nodeLength+3;
													
				}

		}	
		
	}
	
}






