function convertToXmlFromEncoded(text) 
{
	var xml = text;
	xml = text.replace('&lt;', '<');
	xml = text.replace('&gt;', '>');
	xml = text.replace('&quot;', '"');
	return xml;
}

function copyToClipboardDefault(stringToCopy) {
	$(document.body).append('<textarea id="ClipboardTextArea" style="position:absolute; top:-10000px;">' + stringToCopy + '</textarea>');
	setTimeout(function() {
		$('#ClipboardTextArea').select();
		document.execCommand('Copy');
		$('#ClipboardTextArea').remove();
	}, 100);
}

function copyToClipboard(text) {
	var browser = navigator.appName;
	var browserVersion = navigator.appVersion.split('.')[0];
	var userAgent = navigator.userAgent;
	if (browser == 'Microsoft Internet Explorer') {
		if (document.all && browserVersion < 5) {
			var field = document.getElementById("CopyToClipboardField");
			field.value = text;
			var x = field.createTextRange();
			x.execCommand("Copy");
			field.value = '';
			var minimizeOnCopyOptionControl = $('#MinimizeOnCopyOptionControl');
			if (minimizeOnCopyOptionControl.length > 0) {
				var minimizeOnCopy = minimizeOnCopyOptionControl.attr('value');
				if (minimizeOnCopy == 'true') {
					window.blur();
				}
			}
		} else {
			copyToClipboardDefault(text);
		}
	}
	else if (userAgent.toLowerCase().indexOf('firefox') >= 0) {
		copyToClipBoardFireFox(text);
	}
	else {
		copyToClipboardDefault(text);
	}
}

function copyToClipboardNoMinimize(text) 
{
	copyToClipboard(text);
}

function copyToClipBoardFireFox(stringToCopy) {
	if ("createEvent" in document)
	{
		var element = document.createElement("MyExtensionDataElement");
		element.setAttribute("TextToCopy", stringToCopy);
		document.documentElement.appendChild(element);
		
		var ev = document.createEvent("Events");
		ev.initEvent("SecretServerClipboardEvent", true, false);
		element.dispatchEvent(ev);
		setTimeout(function() { verifyCaught(element); }, 300); 
	}
}

function verifyCaught(element) {
	var wasCaught = element.getAttribute("handledCopy");
	if (!wasCaught)
	{
		showInstallMessage();
	}
}

var installMessageShown = false;
function showInstallMessage() {
	if (installMessageShown)
		return;
	installMessageShown = true;
	if (confirm("Thycotic.com requires a custom Firefox extension to enable copy and paste. Would you like to install the extension now?\n\n(Note: All Firefox extensions require a *restart* after install for them to work.)"))
	{
		location.href = "http://updates.thycotic.net/secretserver/SecretServerFirefoxUtils.xpi.aspx";
	} else {
		installMessageShown = false;
	}
}

