﻿/*
triomis script to remove unused content blocks.
Usage:
- mark content divs with IDs in the form of [<divisionName>Content]
- mark markup divs with IDs in the form [<divisionName>Markup]
- search for <body> element in masterpage 
- add following attribute to the <body> element:
	onload="RemoveEmptyMarkupBlocks(new Array(<divisionName1>,<divisionName2>))"

*/

function RemoveEmptyMarkupBlocks(arrayOfContentIDs) {
    for (var i = 0; i < arrayOfContentIDs.length; i++) {
        var contentElementName = arrayOfContentIDs[i] + 'Content';
        var markupElementName = arrayOfContentIDs[i] + 'Markup';
        var titleElementName = arrayOfContentIDs[i] + 'Title';
        var footerElementName = arrayOfContentIDs[i] + 'Footer';
        
        var baseElement = document.getElementById(arrayOfContentIDs[i]);
        if (baseElement != null && CheckIfEmpty(baseElement)) 
        {
            baseElement.parentNode.removeChild(baseElement);
        }
        else
        {
	        var contentElement = document.getElementById(contentElementName);
	        if (contentElement != null && CheckIfEmpty(contentElement) ) 
	        {
	            var markupElement = document.getElementById(markupElementName);
	            if (markupElement != null) 
	            {
	                document.getElementById(markupElementName).parentNode.removeChild(markupElement);
	            }
	        }
	        else 
	        {
	            var titleElement = document.getElementById(titleElementName);
		        if (titleElement != null && CheckIfEmpty(titleElement))
		        {
		            if (titleElement != null)
		            {
		                document.getElementById(titleElementName).parentNode.removeChild(titleElement);
		            }
		        }
	            var footerElement = document.getElementById(footerElementName);
		        if (footerElement != null && CheckIfEmpty(footerElement))
		        {
		            if (footerElement != null)
		            {
		                document.getElementById(footerElementName).parentNode.removeChild(footerElement);
		            }
		        }
	        }
	    }
    }
}

/* 
Checks several kinds of 'empty' areas.
The controls use different markups to display 'nothing'.
*/
function CheckIfEmpty(elementToCheck)
{
	if(elementToCheck.innerHTML == null)
	{
		return true;
	}

	if(triomisGetInnerText(elementToCheck) == "" || triomisGetInnerText(elementToCheck) == " ")
	{
		/* Sometimes the elements contain only pictures not text */
		if(elementToCheck.getElementsByTagName('img').length == 0 )
		{
			return true;
		}
		else
		{
			return false;
		}
	} 

	if(triomisGetInnerText(elementToCheck) == "SidebarContent")
	{
		return true;
	}

	return false;
}

function triomisGetInnerText(element)
{
	if(document.all)
	{
	   return element.innerText;
	} 
	else
	{
	    return element.textContent.trim();
	}
}


/*
triomis script to remove login link if protocol is not https.
*/

function RemoveLoginLink(protocolString) {
	if (protocolString.toLowerCase() != "https:")
	{
		loginElement = document.getElementById("welcomeLink");
		loginElement.style.display = "none";
	}
}
