Данный код корректно раотает в IE и в редакторе; - если кликнуть по изображению плавно появляется новое изображение.
В мозиле даже неплавно новое изображение не появляется.Подскажите пожалуйста почему? 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>BlendTrans(visibyliti)</title>
    <script>
        var fr = 0 ;
       
        function myTestTrans1()
        {
            p1.filters.blendTrans.Apply() 
                p1.filters.blendTrans.Play()   
            
            if (fr == 0)
                {fr = 1; document.getElementById("p1").src ="fialki1.jpg";}   
              
             else   
                {fr = 0; document.getElementById("p1").src ="fialki2.jpg"}
        }
   
    </script>
</head>

<body>
    <img src ="fialki2.jpg" id ="p1" style = "filter: blendTrans (duration = 3)" onClick ="myTestTrans1()">

</body>
</html>

filter это нестандартное правило добавленное MS и работает только в IE.
Изображение не появляется из-за ошибки в JS (у p1 нет свойства filters).

Вообще ваш код это «ужас-ужас-ужас»…

Для всяческих красивостей и анимации написано немало кросс-браузерных библиотек. Например jQuery, prototypes.js + sript.aculo.us, и т.п.

Этот код из учебника Марины Дмитриевой "Быстрый старт JS"(женщины в программировании одним словом)-   не я  его писал!.:angel:
1.Как задать свойство filter у p1?
2.Спасибо! Буду знать про  кроссбраузерные способы.

Если это дословный код из учебника, срочно выкиньте этот учебник!

Это свойство есть только в IE, т.к. только в нём есть filter. Никакого смысла в других браузерах от него нет.