function DFML_cleanWord(aeObject) {
	var newData = aeObject.DOM.body.innerHTML;
	/* ------------------------ */
	/* 1.  When pasting (MSWord XP) a no-breakable-space is inserted at the beginning , remove it */
	/* 2.  Incorrect RegExp with physical space between tags modified by adding s     */
	/* 3.  Remove SPAN tags with style set to a color, where no content exists between the tags  */
	/* 4.  Remove P tags with style setting, where no content exists between the tags     */
	/* 5.  Remove any style settings to OL tags, but still allows TYPE attribute of tag    */
	/* 6.  Remove any style settings to UL tags, but still allows TYPE attribute of tag    */
	/* 7.  Remove any style settings to LI tags              */
	/* 8.  Remove any <A name=OLE_LINK ></A> type tags and contents - when pasting from MS Word  */
	/* -------------------------------------------------------------------------------------------- */
	newData = newData.replace(/^&nbsp; /g, ""); // reference above 1
	newData = newData.replace(/<o:p>&nbsp;<\/o:p>/g, ""); // Remove all instances of <o:p>
	newData = newData.replace(/<o:p><\/o:p>/g, "");
	newData = newData.replace(/<st1:[^>]*>/g, ""); // remove all SmartTags (from Word XP!)
	aeObject.DOM.body.innerHTML = newData;
	newData = aeObject.DOM.body.innerHTML;
	newData = newData.replace(/<?xml:.*\/?>/g, ""); // remove all XML(from Word XP!) // Changed [^>]* to .* - Added options / at the end of the tag
	aeObject.DOM.body.innerHTML = newData;
	newData = aeObject.DOM.body.innerHTML;
	newData = newData.replace(/\r/g, "<BR>");
	newData = newData.replace(/\n/g, "<BR>");
	newData = newData.replace(/class=MsoNormal/g, "");
	newData = newData.replace(/class=class=MsoHeader/g, "");
	newData = newData.replace(/class=MsoBodyText/g, "");
	newData = newData.replace(/style="mso-cellspacing.*"/g, "cellspacing=0");
	newData = newData.replace(/mso-[^";]*/g, "");
	aeObject.DOM.body.innerHTML = newData;
	newData = aeObject.DOM.body.innerHTML;
	// grouped and moved span check replace before p-tag check replace because spans are inside of p-tags 
	newData = newData.replace(/<SPAN><\/SPAN>/g, "");
	newData = newData.replace(/<SPAN>(&nbsp;)?s*<\/SPAN>/g, " "); // reference above 2
	newData = newData.replace(/<SPANsstyle="COLOR:s[a-z]*"><\/SPAN>/g, ""); // reference above 3
	newData = newData.replace(/<P><\/P>/g, "");
	newData = newData.replace(/<P>s<\/P>/g, ""); // reference above 2
	newData = newData.replace(/<Psstyle="w*"><\/P>/g, ""); // reference above 4
	newData = newData.replace(/<OLsstyle=".*s.*"s/g, "<OL ");// reference above 5
	newData = newData.replace(/<ULsstyle=".*s.*"s/g, "<UL ");// reference above 6
	newData = newData.replace(/<LIsstyle=".*"/g, "<LI");// reference above 7
	newData = newData.replace(/<A name=OLE_LINKd?>/g, ""); // reference above 8
	// Run clean up of <P></P> variations after cleanup of TABLES - MSWord inserts them around TABLES
	newData = newData.replace(/<P><\/P>/g, "");
	newData = newData.replace(/<P>s<\/P>/g, ""); // reference above 2
	newData = newData.replace(/<Psstyle="w*"><\/P>/g, ""); // reference above 4
	aeObject.DOM.body.innerHTML = newData;
	removeExtraniousSpans(aeObject, aeObject.DOM.body, null);
}