function getParam( name ) {
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}


function gReplace(text,find,replace) {
	if (find != replace) {
		while(text.indexOf(find) != -1) {
			text = text.replace(find,replace);
		}
	}
	return text;
}

var lastAppName = "[app]";

function activateAppDivs(divs,appName,withSubdivs) {
	for (var i = 0;i < divs.length;i++) {
		var div = divs[i];

		if (div.className == "helpMessageOpen" || div.className == "helpMessageClosed") {
			div.innerHTML = gReplace(div.innerHTML,lastAppName,appName);
			
			closeMessage( div );
		}
		else if (div.id != undefined && div.id.indexOf("apps:") == 0 && (withSubdivs || div.parentNode.className != "helpMessageClosed")) {
			validApps = div.id.substring(5);

			var valid = validApps == "*" || validApps == "";
			if (!valid) {
				apps = validApps.split(",");
				for (var j = 0;j < apps.length && !valid;j++) {
					if (appName == apps[j] || appName == "\"" + apps[j] + "\"")
						valid = true;
				}
			}
			
			if (valid) {
				if (div.className == "generalHidden")
					div.className = "general";
				if (div.className == "helpSectionHidden")
					div.className = "helpSection";
			}
			else {
				if (div.className == "general")
					div.className = "generalHidden";
				if (div.className == "helpSection")
					div.className = "helpSectionHidden";
			}
		}
	}
}

function showApp(appName) {
	appName= gReplace(appName,"+"," ");
	appName= gReplace(appName,"%20"," ");
	if (appName.indexOf("\"") == -1)
		appName = "\"" + appName + "\"";

	var td = document.getElementsByTagName("td");
	for (var i = 0;i < td.length;i++) {
		if (td[i].className == "appIconSelected" || td[i].className == "appIcon") {

			if (td[i].id == appName || "\"" + td[i].id + "\"" == appName) {
				td[i].className = "appIconSelected";
			}
			else td[i].className = "appIcon";
			
		}
	}

	activateAppDivs( document.getElementsByTagName("div"), appName, false );
	
	lastAppName = appName;
}

function loadedHelp() {
	var lang = getParam("lang");
	if (lang != '' && lang.indexOf('en') == -1) {
		var newURL = getPageTXURL(lang);
		newURL = gReplace(newURL,"&amp;","&");
		window.location = newURL;
		return;
	}

	var a = document.getElementsByTagName("a");
	for (var i = 0;i < a.length;i++) {
		if (a[i].className == "helpHeading" && a[i].name != "") {
			a[i].innerHTML = a[i].innerHTML + " +";
			closeMessage( document.getElementById( a[i].name + "Message" ) );
		}
	}

        if (getParam("version") == "" && (appChooser = document.getElementById("appChooser")) != null)
		appChooser.className = "general";

	var appName = getParam("app");
	if (appName == "")
		appName = "PrintCentral";
	else if (appName == "psw")
		appName = "Print n Share";
	else if (appName == "p") 
		appName = "Print";
	else if (appName == "pn")
		appName = "NotePrinter";
	else if (appName == "dop")
		appName = "DocPrinter";
	else if (appName == "emp")
		appName = "AltaMail";
	else if (appName == "cp")
		appName = "ClipPrinter";
	else if (appName.indexOf("pcl") == 0)
		appName = "PrintCentral";
	showApp( appName );

	var u = document.URL;
	var pos = u.indexOf("#");

	if (pos != -1) {
		var headingName = u.substring( pos + 1 );
		for (var i = 0;i < a.length;i++) {
			if (a[i].name == headingName) {
				openHeading(a[i]);
				break;
			}
		}
	}
}

function openMessageLinkName(aTag) {
	var u = aTag.href;
	var pos = u.indexOf("#");
	if (pos != -1) {
		messageName = u.substring( pos + 1 ) + "Message";
		openMessage( document.getElementById(messageName) );
	}
}

function openMessage(message) {
	var d = document.getElementsByTagName("div");
	for (var i = 0;i < d.length;i++) {
		if (d[i].className == "helpMessageOpen")
			closeMessage( d[i] );
	}

	message.className = "helpMessageOpen";
	activateAppDivs( message.getElementsByTagName("div"), lastAppName, true );
	
	headingName = message.id.substring(0,message.id.length - 7);
	var a = document.getElementsByTagName("a");
	for (var i = 0;i < a.length;i++) {
		if (a[i].className == "helpHeading"
				&& a[i].name == headingName
				&& a[i].innerHTML.indexOf( " +" ) != -1) {
			a[i].innerHTML = a[i].innerHTML.substring(0,a[i].innerHTML.length - 2) + " -";
			break;
		}
	}
}

function closeMessage(message) {
	message.className = "helpMessageClosed";

	var d = message.getElementsByTagName("div");
	for (var i = 0;i < d.length;i++) {
		if (d[i].className = "general")
			d[i].className = "generalHidden";
	}

	headingName = message.id.substring(0,message.id.length - 7);
	var a = document.getElementsByTagName("a");
	for (var i = 0;i < a.length;i++) {
		if (a[i].className == "helpHeading"
				&& a[i].name == headingName
				&& a[i].innerHTML.indexOf( " -" ) != -1) {
			a[i].innerHTML = a[i].innerHTML.substring(0,a[i].innerHTML.length - 2) + " +";
			break;
		}
	}
}

function openHeading(heading) {
	var idVal = heading.name;
	var messageId = idVal + "Message";
	var message = document.getElementById(messageId);
	
	if (message.className == "helpMessageClosed")
		openMessage( message );
	else closeMessage( message );

	
//	heading.style.zIndex = 1;
}



