 function MyFilter()
{
	// remove non standard HTML tgas <o:p> (from Word)
	b=mainframe.document.body.all;
	for(i=b.length-1;i>=0;i--)
		if(b[i].scopeName!='HTML')
			b[i].removeNode();

	b=mainframe.document.body;
	// remove font faces
//	f=b.getElementsByTagName('FONT');
//	if(f.length+''!='undefined')
//		for(i=f.length-1;i>=0;i--)
//			if((f[i].size=='')||(f[i].size=='2'))f[i].removeNode();
//			else f[i].removeAttribute('face');
//			else f[i].removeAttribute('size');
			
	// remove spans

	f=b.getElementsByTagName('COLGROUP');
	if(f.length+''!='undefined')
		for(i=f.length-1;i>=0;i--)
			f[i].removeNode();

	f=b.getElementsByTagName('TH');
	if(f.length+''!='undefined')
		for(i=f.length-1;i>=0;i--)
			f[i].removeNode();

	f=b.getElementsByTagName('COL');
	if(f.length+''!='undefined')
		for(i=f.length-1;i>=0;i--)
			f[i].removeNode();

	f=b.getElementsByTagName('SPAN');
	if(f.length+''!='undefined')
		for(i=f.length-1;i>=0;i--)
			f[i].removeNode();


	f=b.getElementsByTagName('FONT');
	if(f.length+''!='undefined')
		for(i=f.length-1;i>=0;i--)
			f[i].removeNode();
		
	f=b.getElementsByTagName('H1');
	if(f.length+''!='undefined')
		for(i=f.length-1;i>=0;i--){
        var sPreserve = f[i].innerHTML;
        var oNewNode = mainframe.document.createElement("B");
        f[i].replaceNode(oNewNode); 
        oNewNode.innerHTML = sPreserve;
     }   
	f=b.getElementsByTagName('H2');
	if(f.length+''!='undefined')
		for(i=f.length-1;i>=0;i--){
        var sPreserve = f[i].innerHTML;
        var oNewNode = mainframe.document.createElement("B");
        f[i].replaceNode(oNewNode); 
        oNewNode.innerHTML = sPreserve;
     }   
	f=b.getElementsByTagName('H3');
	if(f.length+''!='undefined')
		for(i=f.length-1;i>=0;i--){
        var sPreserve = f[i].innerHTML;
        var oNewNode = mainframe.document.createElement("B");
        f[i].replaceNode(oNewNode); 
        oNewNode.innerHTML = sPreserve;
     }   
	f=b.getElementsByTagName('H4');
	if(f.length+''!='undefined')
		for(i=f.length-1;i>=0;i--){
        var sPreserve = f[i].innerHTML;
        var oNewNode = mainframe.document.createElement("B");
        f[i].replaceNode(oNewNode); 
        oNewNode.innerHTML = sPreserve;
     }   
	f=b.getElementsByTagName('H5');
	if(f.length+''!='undefined')
		for(i=f.length-1;i>=0;i--){
        var sPreserve = f[i].innerHTML;
        var oNewNode = mainframe.document.createElement("B");
        f[i].replaceNode(oNewNode); 
        oNewNode.innerHTML = sPreserve;
     }   

	f=b.getElementsByTagName('H6');
	if(f.length+''!='undefined')
		for(i=f.length-1;i>=0;i--){
        var sPreserve = f[i].innerHTML;
        var oNewNode = mainframe.document.createElement("B");
        f[i].replaceNode(oNewNode); 
        oNewNode.innerHTML = sPreserve;
     }   
	 
	f=b.getElementsByTagName('DIV');
	if(f.length+''!='undefined')
		for(i=f.length-1;i>=0;i--)
			f[i].removeNode();


	f=b.getElementsByTagName('A');
	if(f.length+''!='undefined')
		for(i=f.length-1;i>=0;i--){
			f[i].removeAttribute('onmouseover');
			f[i].removeAttribute('onmouseout');
		}		


//######################### TABLE PARSING #########################		


	f=b.getElementsByTagName('P');
	if(f.length+''!='undefined')
		for(i=f.length-1;i>=0;i--){
            f[i].clearAttributes();
		}	


        
	f=b.getElementsByTagName('TR');
	if(f.length+''!='undefined')
		for(i=f.length-1;i>=0;i--){
            f[i].clearAttributes();
		}	


	f=b.getElementsByTagName('TD');
	if(f.length+''!='undefined')
		for(i=f.length-1;i>=0;i--){
            if (f[i].className=="myTD") continue;
            var aParams = f[i].style.cssText.split(";");
            oldColor="";
            for (var z=0; z < aParams.length; z++)
               {
               aType = aParams[z].split(": ");
               if (aType[0]==" BACKGROUND-COLOR") 
                  if (aType[1]!="transparent")
                     oldColor = aType[1];
               if (aType[0]==" BACKGROUND") 
                  if (aType[1]!="transparent")
                     oldColor = aType[1];

            }
            
            aa=f[i].colSpan;
            bb=f[i].rowSpan;
            
            f[i].clearAttributes();
            if (oldColor)
               {
               f[i].style.backgroundColor = oldColor;
            }
            
            f[i].colSpan=aa;
            f[i].rowSpan=bb;
            
            f[i].className ="myTD";
		}	
        
        
    f=b.getElementsByTagName('TABLE');        
    if(f.length+''!='undefined')
        for(i=f.length-1;i>=0;i--)
          {
          if (f[i].className != "myTable" && f[i].className != "myTableOuter")
              {
              f[i].clearAttributes();
              f[i].className ="myTable";
              f[i].setAttribute("width","100%");
              f[i].setAttribute("cellSpacing","1");
              f[i].setAttribute("cellPadding","2");

              var oNewTable = mainframe.document.createElement("TABLE");
              var oNewTr    = mainframe.document.createElement("TR");
              var oNewTd    = mainframe.document.createElement("TD");

              code = f[i].outerHTML;
              oNewTr.appendChild(oNewTd);
              oNewTable.appendChild(oNewTr);
              oNewTd.innerHTML= code;
              f[i].replaceNode(oNewTable);

             oNewTable.setAttribute('cellPadding', '0');
             oNewTable.setAttribute('cellSpacing', '0');
             oNewTable.setAttribute('border', '0');
             oNewTable.setAttribute("width", "100%");
             oNewTable.className ="myTableOuter";
             oNewTd.innerHTML= code;
             re_render_document();
          }
        }        
        
	
} 

function re_render_document()
  {
  code = mainframe.document.body.innerHTML;
  mainframe.document.body.innerHTML = code;
  
}

