        function setWaitCursor() {
           if ( AppletCall == "Embedded" ) {
              for(var index=0; index < NumberOfLinks; ++index)
                 document.getElementsByTagName("a")[index].style.cursor='wait';
           }
           else {
              for(var index=0; index < NumberOfLinks; ++index)
                 document.all.tags("a")[index].style.cursor='wait';
           }
           defaultStatus="Calculating Fractal";
        }

        function setAutoCursor() {
           if ( AppletCall == "Embedded" ) {
              for(var index=0; index < NumberOfLinks; ++index)
                 document.getElementsByTagName("a")[index].style.cursor='auto';
        	  }
           else {
              for(var index=0; index < NumberOfLinks; ++index)
                 document.all.tags("a")[index].style.cursor='auto';
           }
           defaultStatus="Wacker Art";
        }

        function createFractal(StartX, StartY, Height, Iterations, Frontier, Layout, Algorithem, AlgorithemParameter) {
           try {
              setWaitCursor();
              window.status="Calculating Fractal"
              if ( AppletCall == "Embedded" )
                 document.embeds.FractalApplet.createFractal(StartX, StartY, Height, Iterations, Frontier, Layout, Algorithem, AlgorithemParameter);
              else if (AppletCall == "Name") {
                 GeneratorName = document.getElementById('FractalApplet');
                 GeneratorName.createFractal(StartX, StartY, Height, Iterations, Frontier, Layout, Algorithem, AlgorithemParameter);
              }
              else
                 document.FractalApplet.createFractal(StartX, StartY, Height, Iterations, Frontier, Layout, Algorithem, AlgorithemParameter);
              window.status=" ";
              setAutoCursor();
           } catch (Error) {
                setAutoCursor();
                alert ('Error in function createFractal: ' + Error);
           }
        }

        function mandelbrotWindow() {
           setWaitCursor();
           if ( AppletCall == "Embedded" )
              document.embeds.FractalApplet.mandelbrotWindow();
           else if (AppletCall == "Name") {
              GeneratorName = document.getElementById('FractalApplet');
              GeneratorName.mandelbrotWindow;
           }
           else
              document.FractalApplet.mandelbrotWindow();
           setAutoCursor();
        }

       function MandelbrotParameter(StartX, StartY, Height, Iterations) {
           setWaitCursor();
           window.status="Calculating Fractal"
           if ( AppletCall == "Embedded" )
              document.embeds.FractalApplet.mandelbrotParameter(StartX, StartY, Height, Iterations);
           else if (AppletCall == "Name") {
              GeneratorName = document.getElementById('FractalApplet');
              GeneratorName.mandelbrotParameter(StartX, StartY, Height, Iterations);
           }
           else
              document.FractalApplet.mandelbrotParameter(StartX, StartY, Height, Iterations);
           window.status=" ";
           setAutoCursor();
        }

        function MandelbrotJuliaParameter(real, imag, Iterations){
           setWaitCursor();
           window.status="Calculating Fractal"
           if ( AppletCall == "Embedded" )
              document.embeds.FractalApplet.mandelbrotJuliaParameter(real, imag, Iterations);
           else if (AppletCall == "Name") {
              GeneratorName = document.getElementById('FractalApplet');
              GeneratorName.mandelbrotJuliaParameter(real, imag, Iterations);
           }
           else
              document.FractalApplet.mandelbrotJuliaParameter(real, imag, Iterations);
           window.status=" ";
           setAutoCursor();
        }

        function powerFractal ( power ){
           setWaitCursor();
           if ( AppletCall == "Embedded" )
              document.embeds.FractalApplet.powerFractal( power );
           else if (AppletCall == "Name") {
              GeneratorName = document.getElementById('FractalApplet');
              GeneratorName.powerFractal(power);
           }
           else
              document.FractalApplet.powerFractal( power );
           setAutoCursor();
        }

        function floatPowerFractal ( power ){
           setWaitCursor();
           if ( AppletCall == "Embedded" )
              document.embeds.FractalApplet.createFractal( -2.45, 1.7, 3.4, 64, 16.0, 'Wave Layout', 'FloatPower', power );
           else if (AppletCall == "Name") {
              GeneratorName = document.getElementById('FractalApplet');
              GeneratorName.powerFractal(power);
           }
           else
              document.FractalApplet.createFractal( -2.45, 1.7, 3.2, 64, 16.0, 'Wave Layout', 'FloatPower', power );
           setAutoCursor();
        }

        function powerJuliaFractal ( power, real, imag, Iterations ){
           setWaitCursor();
           if ( AppletCall == "Embedded" )
              document.embeds.FractalApplet.powerJuliaFractal ( power, real, imag, Iterations );
           else if (AppletCall == "Name") {
              GeneratorName = document.getElementById('FractalApplet');
              GeneratorName.powerJuliaFractal ( power, real, imag, Iterations );
           }
           else
              document.FractalApplet.powerJuliaFractal( power, real, imag, Iterations );
           setAutoCursor();
        }

        function duoSumFractal ( first, second ){
           setWaitCursor();
           if ( AppletCall == "Embedded" )
              document.embeds.FractalApplet.duoSumFractal ( first, second );
           else if (AppletCall == "Name") {
              GeneratorName = document.getElementById('FractalApplet');
              GeneratorName.duoSumFractal( first, second );
           }
           else
              document.FractalApplet.duoSumFractal( first, second );
           setAutoCursor();
        }

        function duoSumJuliaFractal ( first, second, real, imag, Iterations ){
           setWaitCursor();
           if ( AppletCall == "Embedded" )
              document.embeds.FractalApplet.duoSumJuliaFractal ( first, second, real, imag, Iterations );
           else if (AppletCall == "Name") {
              GeneratorName = document.getElementById('FractalApplet');
              GeneratorName.duoSumJuliaFractal ( first, second, real, imag, Iterations );
           }
           else
              document.FractalApplet.duoSumJuliaFractal( first, second, real, imag, Iterations );
           setAutoCursor();
        }

        function duoSumJuliaFractalParameter ( first, second, real, imag, StartX, StartY, Height, Iterations ){
           setWaitCursor();
           if ( AppletCall == "Embedded" )
              document.embeds.FractalApplet.duoSumJuliaFractalParameter ( first, second, real, imag, StartX, StartY, Height, Iterations );
           else if (AppletCall == "Name") {
              GeneratorName = document.getElementById('FractalApplet');
              GeneratorName.duoSumJuliaFractalParameter ( first, second, real, imag, StartX, StartY, Height, Iterations );
           }
           else
              document.FractalApplet.duoSumJuliaFractalParameter( first, second, real, imag, StartX, StartY, Height, Iterations );
           setAutoCursor();
        }

        function duoDifferenceFractal ( first, second ){
           setWaitCursor();
           if ( AppletCall == "Embedded" )
              document.embeds.FractalApplet.duoDifferenceFractal ( first, second );
           else if (AppletCall == "Name") {
              GeneratorName = document.getElementById('FractalApplet');
              GeneratorName.duoDifferenceFractal( first, second );
           }
           else
              document.FractalApplet.duoDifferenceFractal( first, second );
           setAutoCursor();
        }

        function duoDifferenceJuliaFractal ( first, second, real, imag, Iterations ){
           setWaitCursor();
           if ( AppletCall == "Embedded" )
              document.embeds.FractalApplet.duoDifferenceJuliaFractal ( first, second, real, imag, Iterations );
           else if (AppletCall == "Name") {
              GeneratorName = document.getElementById('FractalApplet');
              GeneratorName.duoDifferenceJuliaFractal ( first, second, real, imag, Iterations );
           }
           else
              document.FractalApplet.duoDifferenceJuliaFractal( first, second, real, imag, Iterations );
           setAutoCursor();
        }

        function TribleSumFractal ( first, second, third ){
           setWaitCursor();
           if ( AppletCall == "Embedded" )
              document.embeds.FractalApplet.TribleSumFractal( first, second, third );
           else if (AppletCall == "Name") {
              GeneratorName = document.getElementById('FractalApplet');
              GeneratorName.TribleSumFractal( first, second, third );
           }
           else
              document.FractalApplet.TribleSumFractal( first, second, third );
           setAutoCursor();
        }

        function TribleDifferenceFractal ( first, second, third ){
           setWaitCursor();
           if ( AppletCall == "Embedded" )
              document.embeds.FractalApplet.TribleDifferenceFractal( first, second, third );
           else if (AppletCall == "Name") {
              GeneratorName = document.getElementById('FractalApplet');
              GeneratorName.TribleDifferenceFractal( first, second, third );
           }
           else
              document.FractalApplet.TribleDifferenceFractal ( first, second, third );
           setAutoCursor();
        }

        function powerFractalWindow(){
           try {
              if (isNaN (document.PowerForm.Power.value) )
                 document.PowerForm.Power.value = 5;
              else
                 powerFractal ( document.PowerForm.Power.value );
          }
          catch (Error){
              setAutoCursor();
              alert ("Can not execute the command");
          }
        }

        function floatPowerFractalWindow(){
           try {
              if (isNaN (document.FloatPowerForm.FloatPower.value) )
                 document.FloatPowerForm.FloatPower.value = 1.2;
              else
                 floatPowerFractal ( document.FloatPowerForm.FloatPower.value );
          }
          catch (Error){
              setAutoCursor();
              alert ("Can not execute the command");
          }
        }

        function duoSumFractalWindow(){
           try {
              if ( isNaN (document.PowerSumForm.firstSum.value) )
                 document.PowerSumForm.firstSum.value = 5;
              else if (isNaN (document.PowerSumForm.secondSum.value) )
                 document.PowerSumForm.secondSum.value = 2;
              else
                duoSumFractal (document.PowerSumForm.firstSum.value, document.PowerSumForm.secondSum.value);
           }
           catch (Error) {
              setAutoCursor();
              alert ("Can not execute the command");
           }
        }

        function duoDifferenceFractalWindow(){
           try {
           if ( isNaN(document.PowerDifferenceForm.firstDifference.value) )
              document.PowerDifferenceForm.firstDifference.value = 5;
           else if ( isNaN (document.PowerDifferenceForm.secondDifference.value) )
              document.PowerDifferenceForm.secondDifference.value = 2;
           else
              duoDifferenceFractal (document.PowerDifferenceForm.firstDifference.value, document.PowerDifferenceForm.secondDifference.value);
           }
           catch (Error){
              setAutoCursor();
              alert ("Can not execute the command");
           }
        }

        function tripleSumFractalWindow(){
          try {
          if (isNaN (document.TripleSumForm.firstTripleSum.value) )
              document.TripleSumForm.firstTripleSum.value = 6;
          else if ( isNaN (document.TripleSumForm.secondTripleSum.value) )
              document.TripleSumForm.secondTripleSum.value = 5;
          else if ( isNaN (document.TripleSumForm.thirdTripleSum.value) )
              document.TripleSumForm.thirdTripleSum.value = 4;
          else
             TribleSumFractal( document.TripleSumForm.firstTripleSum.value,
                               document.TripleSumForm.secondTripleSum.value,
                               document.TripleSumForm.thirdTripleSum.value );
          } catch (Error){
              setAutoCursor();
              alert ("Can not execute the command");
          }
        }

        function tripleDifferenceFractalWindow(){
          try {
          if ( isNaN (document.TripleDifferenceForm.firstTripleDifference.value) )
             document.TripleDifferenceForm.firstTripleDifference.value  = 6;
          else if ( isNaN (document.TripleDifferenceForm.secondTripleDifference.value) )
             document.TripleDifferenceForm.secondTripleDifference.value = 5;
          else if ( isNaN (document.TripleDifferenceForm.thirdTripleDifference.value) )
             document.TripleDifferenceForm.thirdTripleDifference.value = 4;
          else
             TribleDifferenceFractal( document.TripleDifferenceForm.firstTripleDifference.value,
                               document.TripleDifferenceForm.secondTripleDifference.value,
                               document.TripleDifferenceForm.thirdTripleDifference.value );
          } catch (Error) {
              setAutoCursor();
              alert ("Can not execute the command");
          }
        }

        function sinFractal( first, second ){
             ParameterValue = first + ' ' + second;
             createFractal( -5.75, 4.0, 8.0, 64, 8084.0, 'Wave Layout', 'sin(z)*z', ParameterValue );
        }

        function sinFractalWindow(){
           try {
           if ( isNaN(document.SinForm.SinN.value) )
              document.SinForm.SinN.value = 4;
           else if ( isNaN (document.SinForm.SinM.value) )
              document.SinForm.SinM.value = -3;
           else
              sinFractal (document.SinForm.SinN.value, document.SinForm.SinM.value);
           }
           catch (Error){
              setAutoCursor();
              alert ("Can not execute the command");
           }
        }

        function sinhFractal( first, second ) {
           try {
             ParameterValue = first + ' ' + second;
             createFractal( -5.75, 4.0, 8.0, 64, 8084.0, 'Wave Layout', 'sinh(z)*z', ParameterValue );
           } catch (Error) {
              setAutoCursor();
              alert ("Can not execute the command sinhFractal");
           }
        }

        function sinhFractalWindow(){
           try {
              if ( isNaN(document.SinhForm.SinhN.value) )
                 document.SinhForm.SinhN.value = 1;
              else if ( isNaN (document.SinhForm.SinhM.value) )
                 document.SinhForm.SinhM.value = 3;
              else
                 sinhFractal (document.SinhForm.SinhN.value, document.SinhForm.SinhM.value);
           } catch (Error) {
              setAutoCursor();
              alert ("Error in function sinhFractalWindow");
           }
        }

        function cosFractal( first, second ) {
           try {
             ParameterValue = first + ' ' + second;
             createFractal( -5.75, 4.0, 8.0, 64, 8084.0, 'Wave Layout', 'cos(z)*z', ParameterValue );
           }
           catch (Error) {
              setAutoCursor();
              alert ("Error in function cosFractal");
           }
        }

        function cosFractalWindow(){
           try {
           if ( isNaN(document.CosForm.CosN.value) )
              document.CosForm.CosN.value = 4;
           else if ( isNaN (document.SinForm.SinM.value) )
              document.CosForm.CosM.value = -3;
           else
              cosFractal (document.CosForm.CosN.value, document.CosForm.CosM.value);
           }
           catch (Error){
              setAutoCursor();
              alert ("Error in function cosFractalWindow");
           }
        }

        function coshFractal( first, second ) {
           try {
             ParameterValue = first + ' ' + second;
             createFractal( -5.75, 4.0, 8.0, 64, 8084.0, 'Wave Layout', 'cosh(z)*z', ParameterValue );
           } catch (Error) {
              setAutoCursor();
              alert ("Error in function coshFractal");
           }
        }

        function coshFractalWindow(){
           try {
              if ( isNaN(document.CoshForm.CoshN.value) )
                 document.CoshForm.CoshN.value = 1;
              else if ( isNaN (document.CoshForm.CoshM.value) )
                 document.CoshForm.CoshM.value = 3;
              else
                 coshFractal (document.CoshForm.CoshN.value, document.CoshForm.CoshM.value);
           } catch (Error) {
              setAutoCursor();
              alert ("Error in function sinhFractalWindow");
           }
        }

        function tanhFractal( first, second ) {
           try {
             ParameterValue = first + ' ' + second;
             createFractal( -5.75, 4.0, 8.0, 64, 8084.0, 'Wave Layout', 'tanh(z)*z', ParameterValue );
           } catch (Error) {
              setAutoCursor();
              alert ("Error in function tanhFractal");
           }
        }

        function tanhFractalWindow(){
           try {
              if ( isNaN(document.TanhForm.TanhN.value) )
                 document.TanhForm.TanhN.value = 1;
              else if ( isNaN (document.TanhForm.TanhM.value) )
                 document.TanhForm.TanhM.value = 3;
              else
                 tanhFractal (document.TanhForm.TanhN.value, document.TanhForm.TanhM.value);
           } catch (Error) {
              setAutoCursor();
              alert ("Error in function tanhFractalWindow");
           }
        }

        function cothFractal( first, second ) {
           try {
             ParameterValue = first + ' ' + second;
             createFractal( -5.75, 4.0, 8.0, 64, 8084.0, 'Wave Layout', 'coth(z)*z', ParameterValue );
           } catch (Error) {
              setAutoCursor();
              alert ("Error in function cothFractal");
           }
        }

        function cothFractalWindow(){
           try {
              if ( isNaN(document.CothForm.CothN.value) )
                 document.CothForm.CothN.value = 1;
              else if ( isNaN (document.CothForm.CothM.value) )
                 document.TanhForm.TanhM.value = 3;
              else
                 cothFractal (document.CothForm.CothN.value, document.CothForm.CothM.value);
           } catch (Error) {
              setAutoCursor();
              alert ("Error in function cothFractalWindow");
           }
        }

        function expFractal( first, second ){
             ParameterValue = first + ' ' + second;
             createFractal( -5.75, 4.0, 8.0, 64, 8084.0, 'Wave Layout', 'exp(z)*z', ParameterValue );
        }

        function expFractalWindow(){
           try {
           if ( isNaN(document.ExpForm.ExpN.value) )
              document.ExpForm.ExpN.value = 1;
           else if ( isNaN (document.ExpForm.ExpM.value) )
              document.ExpForm.ExpM.value = -3;
           else
              expFractal (document.ExpForm.ExpN.value, document.ExpForm.ExpM.value);
           }
           catch (Error){
              setAutoCursor();
              alert ("Can not execute the command");
           }
        }

        var BrowserName   = navigator.appName;
        var AppletCall    = "Embedded";
        var NumberOfLinks = document.links.length;
        var GeneratorName = document.getElementById('FractalApplet');

        switch ( BrowserName )
        {
           case "Microsoft Internet Explorer" :
              AppletCall = "Direct";
           break;

           case "Opera" :
              AppletCall = "Name";
           break;
        }
