function printableVersion(sId)
{
	var i;
	var sWindowFeatures = 'scrollbars=1,width=600,height=400,menubar=1';
	
	var sContent = document.getElementById(sId).innerHTML;
	var sHead = document.getElementsByTagName("HEAD")[0].innerHTML;
	sHead += '<style type="text/css">body { padding: 1em; background: none; }</style>'
	// the copy params version
	//sHead += '<scr' + 'ipt type="text/javascript">function fixFlashObjectsForPrintVersion(){var oPopupDocument = self.document;var oOrgDocument = opener.document;var i, j, flashId, orgObject, newObject, param;var aObjects = oPopupDocument.getElementsByTagName("OBJECT");i = aObjects.length;if (i > 0){while (i--){if (aObjects[i].getAttribute("classid") == "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000") {flashId = aObjects[i].id;orgObject = oOrgDocument.getElementById("' + sId + '").getElementsByTagName("OBJECT")[i];newObject = aObjects[i].cloneNode(false);aParams = orgObject.getElementsByTagName("PARAM");j = aParams.length;while (j--){param = oPopupDocument.createElement("PARAM");param.name = aParams[j].name;param.value = aParams[j].value;newObject.appendChild(param);}aObjects[i].parentNode.replaceChild(newObject, aObjects[i]);}}}}</scr' + 'ipt>';
	// the alternate image version
	sHead += '<scr' + 'ipt type="text/javascript">function fixFlashObjectsForPrintVersion(){  var d = self.document;  var aObjects = d.getElementsByTagName("OBJECT");  var i, j, params, altImage, newObject;  i = aObjects.length;  if (i > 0)  {    while (i--)    {      altImage = null;      if (aObjects[i].getAttribute("classid") == "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000")      {        params = opener.document.getElementById("i-2column-a").getElementsByTagName("OBJECT")[i].getElementsByTagName("PARAM");        j = params.length;        while (j--)        {          if (params[j].name == "altImage")          {            altImage = params[j].value;            break;          }        }        if (altImage != null)        {          newObject = d.createElement("IMG");          newObject.style.border = "none";          newObject.setAttribute("alt", "");          newObject.src = altImage;				}					else				{					newObject = d.createElement("DIV");				}        /*aObjects[i].parentNode.replaceChild(newObject, aObjects[i]);*/        aObjects[i].parentNode.insertBefore(newObject, aObjects[i]);        aObjects[i].parentNode.removeChild(aObjects[i]);      }    }  }}</scr' + 'ipt>';

	var sHtml = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'
				+ '<html xmlns="http://www.w3.org/1999/xhtml">'
				+'<head>' + sHead + '</head>'
				+ '<body onload="fixFlashObjectsForPrintVersion();">' + sContent + '</body></html>';
	
	var oPrintWindow = window.open('', 'printwindow', sWindowFeatures);
	var oPrintDoc = oPrintWindow.document;
	oPrintDoc.open();
	oPrintDoc.write(sHtml);
	oPrintDoc.close();
	
	var aLinks = oPrintDoc.getElementsByTagName("A");
	i = aLinks.length;
	while (i--)
	{
		aLinks[i].onclick = function() { return false }
	}
	
	var aInputs;
}

window.onload = function()
{
	var hrefs = document.getElementsByTagName("A");
	var i = hrefs.length;
	while (i--)
	{
		if (hrefs[i].getAttribute('literalhref') && hrefs[i].getAttribute('literalhref').length > 0)
		{
			hrefs[i].href = hrefs[i].getAttribute('literalhref');
		}
	}
}

function findInput(objectName)
{
	var form = document.forms[0];
	var objects = form.getElementsByTagName("input");
	for (var i=0; i<objects.length; i++)
	{
		if (objects[i].id.indexOf(objectName) > 0)
		{
			return objects[i];
		}
	}
	return findTextArea(objectName);
}

function findTextArea(objectName)
{
	var form = document.forms[0];
	var objects = form.getElementsByTagName("textarea");
	for (var i=0; i<objects.length; i++)
	{
		if (objects[i].id.indexOf(objectName) > 0)
		{
			return objects[i];
		}
	}
	alert("Programmatic error: Input or Textarea with name '" + objectName + "' not found!");
}

function clearInput(objectName)
{
	var oInput = findInput(objectName);
	oInput.value = "";
}

