/* ---------------- */
/*  Main Functions  */
/* ---------------- */

// Initialize the page
function init()
{
	// Fetch page content
	var pageContent = document.getElementsByTagName("html").item(0);
	// Traverse page content recursively, removing javascript
 	removeJavascript(pageContent);
}

// Recursively remove any javascript references
function removeJavascript(element)
{
	// Return if element is null
	if (element == null)
    	return;
	// Return if element is a text block
	if (element.nodeName == "#text")
    	return;
	// If element is a code block
	if(element.nodeName == 'script')
	{
		// Strip external links
    	element.setAttribute('src', '');
		// Strip javascript code
   		element.innerHTML = '';
		// Return
    	return;
	}
	// If element is not a comment block
	if((element.nodeName != "#comment"))
	{
		// Strip onClick behaviour
		element.setAttribute('onClick', '');
		// Strip onFocus behaviour
		element.setAttribute('onFocus', '');
		// Strip onKeyPress behaviour
		element.setAttribute('onKeyPress', '');
		// Strip onKeyUp behaviour
		element.setAttribute('onKeyUp', '');
		// Strip onMouseOver behaviour
		element.setAttribute('onMouseOver', '');
		// Strip onMouseOut behaviour
		element.setAttribute('onMouseOut', '');
	}
	
	var i;
	// Remove javascript from all child nodes (IE Fix)
	for(i = 0; element.childNodes[i]; i++)
		removeJavascript(element.childNodes[i]);
}
