//
// WebPortal.Controls HiddenControls Script Library
//

var WebPortalHiddenControlVersion = '100';
var codeTable = null;

function WebPortalHiddenControl_OnLoad(table)
{
	codeTable = table;
}

function decodeText(text, key)
{
	if (codeTable == null || text == null || key == null)
		return 'ERROR';
		
	var decrypted = '';
	var crypted = text;
	
	for (var i = 0; i < crypted.length; i++)
	{
		var c = crypted.substring(i,i+1);
		var code = codeTable.indexOf(c);
		if (code >= 0)
		{
			var key_index = i % key.length;
			var k = codeTable.indexOf(key.substring(key_index, key_index+1));
			code = (code ^ k) % codeTable.length;
			decrypted += codeTable.substring(code, code+1);
		}
		else
			decrypted += c;
	}
	
	return (decrypted);
}

function restoreHiddenControl(id, key, text, link)
{
	var control = document.getElementById(id);

	if (text != '')	
		control.innerHTML = decodeText(text, key);
		
	if (link != '')
		control.href = decodeText(link, key);		
}