// TPM Edit- this is the combined demo functions script

var demoDebugText = "";

function appendDemoDebug(text)
{
	if (demoDebugText.length > 0)
	{
		demoDebugText = demoDebugText + "\n";
	}
	demoDebugText = demoDebugText + text;
}

function showDemoDebugText()
{
	alert(demoDebugText);
}

function demoGetWrappedText(text, wrapAt)
{
	var count = 0;
	var ch = "";
	var result = "";
	for (pos = 0; pos < text.length; pos++)
	{
		ch = text.charAt(pos);
		
		if (ch == "\n")
			count = 0;
		
		if (count >= wrapAt && ch == " ")
		{
			ch = "\n";
			count = 0;
		}
		
		if (ch == "\n")
			ch = "\t\n";		

		result = result + ch;
		++count;
	}
	
	return result
}

function demoAlert(text) {
	var cannedText = " disabled for the online demo.  You can access all administrative"
		+ " features in our free 30-day eval.";
	
	alert(demoGetWrappedText(text + cannedText, 50));
	//var answer = confirm (demoGetWrappedText(text + cannedText, 50));
	//if (answer)
	//	window.open("http://google.com", "DemoOrionDownload");
}

// Abstract function to hijack demo controls
function demoOverrideAlert(selector, message)
{
	var modElement = $(selector);
	
	if (modElement.length > 0)
	{
		appendDemoDebug("override-found:  " + selector);
		try {
			modElement.attr("href", "");
		} catch (err) {
			//nothing
		}

		try {
			modElement.attr("onclick", "");
		} catch (err) {
			//nothing
		}		
		modElement.click(function () { 
			  demoAlert(message); 
			  return false;
		});
	}
	else
	{
		appendDemoDebug("override-absent:  " + selector);
	}
}

// Abstract function to remove demo controls
function demoRemoveElement(selector)
{
	var modElement = $(selector);
	
	if (modElement.length > 0)
	{
		appendDemoDebug("remove-found:  " + selector);
		modElement.remove();
	}
	else
	{
		appendDemoDebug("remove-absent:  " + selector);
	}
}

appendDemoDebug("asp->demoUserName:  " + demoUserName);
appendDemoDebug("asp->demoModuleName:  " + demoModuleName);
appendDemoDebug("");

// test not found link
demoOverrideAlert("doesnotexist", "");

// Atlas Download link 
demoOverrideAlert("a[@href=/NetworkAtlas/NetworkAtlas.exe]",
	"The Network Atlas client download has been");

// Netflow settings
demoOverrideAlert("a[@href^=/Orion/TrafficAnalysis/Admin/NetFlowSettings.aspx]",
	"NetFlow setting changes are");
// NetFlow Endpoint edit/lookup
demoOverrideAlert("a[@href^=/Orion/TrafficAnalysis/Editors/HostnameEdit.aspx]",
	"NetFlow endpoint renaming is");
demoOverrideAlert("input[@src=images/Button.LookupSec.png]",
	"Endpoint DNS lookup is");

//NCM policy report update
demoOverrideAlert("input[@src=/Orion/NCM/Resources/images/Button.UpdateNow.gif]", 
	"Running the NCM policy update is");
	
demoOverrideAlert("input[@src=/Orion/NCM/Resources/images/Button.SaveScript.gif]", 
	"Script saving is");	
	
// NCM integration update button
//demoOverrideAlert("#ctl00_ctl00_ContentPlaceHolder1_MainContentPlaceHolder_UpdateNow",
//"NCM inventory updates are");

if (demoUserName != "admin")
{
	// NCM Credential button    
	demoOverrideAlert("a[@href^=Resources/NCM/Credential.aspx]",
		"NCM setting changes are");
	demoOverrideAlert("a[@href^=NCM/Resources/NCM/Credential.aspx]",
		"NCM setting changes are");
}