var viewAllTxt = "View all";
var hideAllTxt = "Hide all";


/* Content foldouts */
function toggleContentFoldout(aTag) {
	// swap visibility of divs
	var contentDivs = aTag.parentNode.parentNode.getElementsByTagName("div");
	for (var i=0; i<contentDivs.length; i++) {
		if (contentDivs[i] && (contentDivs[i].style.display == "" || contentDivs[i].style.display == "none")) {
			contentDivs[i].style.display = "block";
		} else {
			contentDivs[i].style.display = "none";
		}
	}
	//swap icon
	var image = aTag.parentNode.getElementsByTagName("IMG")[0];
	image.src = switchPlusMinus(image.src);
	checkVisibilityItems();
}

//checks the visibility of all foldout items, then sets the hide/show all button
//accordingly
function checkVisibilityItems() {
	
	var count = 0;
	var countVisible = 0;
	var container = document.getElementById("content_foldouts_container").getElementsByTagName("DIV");

	for (var i=0; i<container.length; i++) {
		if(container[i].className == "content_foldout_item" && (container[i].style.display != "none")) {
			count++;
			var contentDiv = container[i].getElementsByTagName("DIV")[0];
			if (contentDiv && contentDiv.style.display == "block") {
				countVisible++;
			}
		}
	}

	var label = document.getElementById("foldouts_viewall");
	var image = document.getElementById("showhide_all_icon");
	
	//all items are visible, set to: Hide all
	if (count == countVisible) {
		label.getElementsByTagName("SPAN")[0].innerHTML = hideAllTrans;
		image.src = setPlusMinus(image.src, "minus"); //set icon
	}
	//all items are invisible, set to: View all
	if (count > 0 && countVisible == 0) {
		label.getElementsByTagName("SPAN")[0].innerHTML = viewAllTrans;
		image.src = setPlusMinus(image.src, "plus"); //set icon
	}
}

//toggle show/hide all foldout items
function showHideAllContentFoldout(viewAllTrans, hideAllTrans) {
	
	viewAllTxt = viewAllTrans;
	hideAllTxt = hideAllTrans;
	
	if (inCMS) return;
	
	var divs = document.getElementById("content_foldouts_container").getElementsByTagName("DIV");
	var label = document.getElementById("foldouts_viewall");
	var labeltext = label.getElementsByTagName("SPAN")[0].innerHTML;
	
	if (labeltext == viewAllTrans) {
		var action = "viewall";
		label.getElementsByTagName("SPAN")[0].innerHTML = hideAllTrans;
		//icon swap
		var image = document.getElementById("showhide_all_icon");
		image.src = switchPlusMinus(image.src);
	} else {
		var action = "hideall";
		label.getElementsByTagName("SPAN")[0].innerHTML = viewAllTrans;
		//icon swap
		var image = document.getElementById("showhide_all_icon");
		image.src = switchPlusMinus(image.src);
	}
	
	
	for (var i=0; i<divs.length; i++) {
		if (divs[i].className == "content_foldout_item" && (divs[i].style.display != "none")) {
			var aTag = divs[i].getElementsByTagName("A")[0];
			var display = aTag.parentNode.parentNode.getElementsByTagName("div")[0].style.display;
			if ((display == "none" || !display) && action == "viewall") {
				//fold in
				toggleContentFoldout(aTag);
			}
			if (display == "block" && action == "hideall") {
				//fold out
				toggleContentFoldout(aTag);
			}
		}
	}
}

//hover for foldout title
function foldout_title_hover(h2) {
	if(navigator.appVersion.indexOf("MSIE") != -1) {
		h2.style.cursor = 'hand';
	} else {
		h2.style.cursor = 'pointer';
	}
}

function viewAllHover(div) {
	if(navigator.appVersion.indexOf("MSIE") != -1) {
		div.style.cursor = 'hand';
	} else {
		div.style.cursor = 'pointer';
	}
}

function foldout_title_click(h2) {

	if (inCMS) return;
	
		var obj = h2;
		var boolToggle = true;
		// see if we're in an editable field. if so, disable toggeling
		while (obj.parentNode && obj.parentNode.id != "content_foldouts_container") {
			if (obj.parentNode.id == "ndedit") boolToggle = false;
			obj = obj.parentNode; // go 1 level up
		}
		if (boolToggle) {
			var aTag = h2.getElementsByTagName("A")[0];
			if (aTag) toggleContentFoldout(aTag);
		}
}


//collapse all foldouts at page loading time
function collapseAllContentFoldout() {
	var divs = document.getElementById("content_foldouts_container").getElementsByTagName("DIV");
	for (var i = 0; i < divs.length; i++) {
		if (divs[i].className == "content_foldout_item") {
			var targetDivs = divs[i].getElementsByTagName("DIV");
			for (var j=0; j<targetDivs.length; j++) targetDivs[j].style.display = "none";
		}
	}		
}

// only show foldAll button if there is anything to fold
function showFoldAllButton() {
	var foldoutsContainer = document.getElementById("content_foldouts_container");
	var foldoutDivs = foldoutsContainer.getElementsByTagName("div");
	var boolShow = false;
	for (var i=0; i<foldoutDivs.length; i++) {
		if (foldoutDivs[i].className == "content_foldout_item" && foldoutDivs[i].style.display != "none") {
		 	boolShow = true;
		}
	}

	var showAllBtn = document.getElementById("foldouts_viewall");
	var showAllRuler = document.getElementById("foldouts_ruler");
	
	var display = (boolShow) ? "" : "none"; 
	showAllBtn.style.display = display;
	showAllRuler.style.display = display;
}

//show all foldouts for the print function
function showAllContentFoldout() {
	var divs = document.getElementById("content_foldouts_container").getElementsByTagName("DIV");
	for (var i = 0; i < divs.length; i++) {
		if (divs[i].className == "content_foldout_item") {
			var targetDivs = divs[i].getElementsByTagName("DIV");
			for (var j=0; j<targetDivs.length; j++) targetDivs[j].style.display = "";
		}
	}		
}
