function wordexport()
{
	/**
	 * Get the span holding the content we want to export.
	 */
	var elContent = document.getElementById("content");

	/**
	 * Extract the HTML.
	 */
	var strContent = elContent.innerHTML;
	var strTempContent = "";
	
	/**
	 * Process the HTML. We want to strip these tags:
	 * <input ... >
	 * <form ... >
	 * </form>
	 * <img ... >
	 * <textarea ... >
	 * </textarea >
	 * <a ...>
	 * </a>
	 */
	 strTempContent = stripTags(strContent, ["input", "form", "textarea", "a"]);
	 strContent = strTempContent;
	 
	 strTempContent = stripTagsAndChildren(strContent, ["select", "ul", "h3", "span"]);
	 strContent = strTempContent;
	 
	 strTempContent = updateImageLinks(strContent, "src=\"images/");
	 strContent = strTempContent;	 
	 
	/**
	 * Assign the HTML to a hidden input field in the form so that
	 * it can be posted off to the script that generates a word doc.
	 */
	var elContent = document.getElementById("contentHTML");
	elContent.value = strContent;
}

function updateImageLinks(strLocalContent, strRegex) {
    var baseUrl = location.href;
    var queryStrIndex = baseUrl.indexOf("?");
    var baseIndex = baseUrl.lastIndexOf("/", queryStrIndex);
    var strAbsoluteLink = "src=\""+baseUrl.slice(0,baseIndex+1)+"images/";
    //alert(strAbsoluteLink);

    var currentIndex = 0;
	while (strLocalContent.indexOf(strRegex, currentIndex) != -1)
	{
		var intStart = strLocalContent.indexOf(strRegex, currentIndex);
		var intEnd = intStart + strRegex.length;
		//alert(intStart +", "+intEnd);

		strLocalContent = strLocalContent.slice(0, intStart) + strAbsoluteLink 
		                        + strLocalContent.slice(intEnd);
		currentIndex = intStart + strAbsoluteLink.length+1;
	}    

    return (strLocalContent);
}

function stripTags(strLocalContent, strTagNames)
{
	for (i=0;i<strTagNames.length;i++) {
		// loop over tag array
	    for (j=0;j<=1;j++) {
	    	// loop for upper / lower case
	        var strTagName = j>0 ? strTagNames[i].toUpperCase() : strTagNames[i];
	        for (k=0;k<=1;k++) {
	        	// loop for start and end tags
	            var strTagName = k>0 ? "</"+strTagName : "<"+strTagName; 
				while (strLocalContent.indexOf(strTagName) != -1)
				{
					var intStart = strLocalContent.indexOf(strTagName);
					var intEnd = strLocalContent.indexOf(">", intStart);
					strLocalContent = strLocalContent.slice(0, intStart) + strLocalContent.slice(intEnd+1);
				}
			}
		}
	}
	return (strLocalContent);
}

function stripTagsAndChildren(strLocalContent, strTagNames)
{
	for (i=0;i<strTagNames.length;i++) {
		// loop over tag array
	    for (j=0;j<=1;j++) {
	    	// loop 
	        var strTagName = j>0 ? strTagNames[i].toUpperCase() : strTagNames[i];
	        var strStartTag = "<"+strTagName; 
	        var strEndTag = "</"+strTagName;
			while (strLocalContent.indexOf(strStartTag) != -1)
			{
				var intStart = strLocalContent.indexOf(strStartTag);
				var intMiddle = strLocalContent.indexOf(strEndTag);
				var intEnd = strLocalContent.indexOf(">", intMiddle);
				strLocalContent = strLocalContent.slice(0, intStart) + strLocalContent.slice(intEnd+1);
			}
		}
	}
	return (strLocalContent);	
}

