




   //  ************  filtersXM.js  ********************************




   if (document.all && screen.bufferDepth < 24) {

       screen.bufferDepth = 24;

   }


   var n0 = -1, n1= -1, n2 = -1, n3 = -1, n4 = -1

   var nc0 = -1, nc1 = -1, nc2 = -1

   var nd0 = -1, nd1 = -1, nd2 = -1 

   var ne0 = -1, ne1 = -1, ne2 = -1

   var ng = -1, nkl = -1, nmn = -1, nmk = 1, nml = 1, ns = -1

   var s0 = "", s1 = "", s2 = "", s3 = "", s4 = ""

   var sc = "", sc0 = "", scolor = "", sr = ""

   nc0 =120
   nc1 = 0
   nc2 = 255

   sc = "\#8000ff"


   //  --------------------------------------------------------------------
   //  ********************  settings  ************************************


       ng = 77        //   gradient division - beware  100 * 100 = 10,000


       ns = 0.89      //   slope  0.50 steep  -  2 calm 











   // ********************************************************************
   // --------------------------------------------------------------------




   s0 = document.bgColor;

   if (!/\#[0-9a-f]/i.test(s0)) { s0 = ("" + sc); }


   if (/^\#/.test(s0)) {

       s0 = s0.slice(1);

   }



   s0 = s0.toLowerCase();

   s1 = s0.toString();

   re = /^([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/

   if (s1.match(re)) {

       n0 = parseInt(RegExp.$1, 16);
       nd0 = (nc0 - n0) / ng

       n1 = parseInt(RegExp.$2, 16);
       nd1 = (nc1 - n1) / ng

       n2 = parseInt(RegExp.$3, 16);
       nd2 = (nc2 - n2) / ng

   }



   s3 = '\<table cellpadding=0 cellspacing=0 border=0' +
        ' style\=\"' +
        ' position \: absolute' +
        '\; top \: 0px\; left \: 0px' + 
        '\; height \: 100\%\; width \: 100\%' +
        '\; font-size \: 8px' +
        '\"\>\<tbody\>'



   var k = 1, l = 1, m = 1, n = 1

   for (var i=0; i<ng; i++) {

        s3 += '\<tr\>'

        for (var j=0; j<ng; j++) {

             // *********** color calcs ***************************


             nkl = (k * ns) + (l / ns)


             ne0 = Math.round((nd0 * nkl) + n0);
             ne1 = Math.round((nd1 * nkl) + n1);
             ne2 = Math.round((nd2 * nkl) + n2);


             if (ne0 < 0) { ne0 = 0; }
             if (ne1 < 0) { ne1 = 0; }
             if (ne2 < 0) { ne2 = 0; }


             if (ne0 > 255) { ne0 = 255; }
             if (ne1 > 255) { ne1 = 255; }
             if (ne2 > 255) { ne2 = 255; }


             sc0 = (ne0 < 16 ? "0" : "") + ne0.toString(16);
             sc0 += (ne1 < 16 ? "0" : "") + ne1.toString(16);
             sc0 += (ne2 < 16 ? "0" : "") + ne2.toString(16);

             scolor = sc0.toString();

             // ***************************************************

             s3 += '\<td style\=\"background-color \: \#' + scolor +
                   '\"\>\&nbsp\;\<\/td\>'

             l += nml
             n++


             nmn = (m * ns) + (n / ns)

             if (nmn > ng && nml > 0) { nml = -1; }

        }

        s3 += '\<\/tr\>'

        k += nmk
        m++

        if (m > ng/2 && nmk > 0) { nmk = -1; } 

        if (nml < 0) { nml = 1; }


        l = 1
        n = 1


   }


   s3 += '\<\/tbody\>\<\/table\>'



   s4 = s3.toString();

   document.write(s4);

















   
