      subroutine prthtm()
      implicit double precision (a-h,o-z), integer (i-n)
      common /rdwr/   iun1,iun2,iun3,iun4,iun5
      common /athlp/ iatoms, mxnat
      parameter (maxfat=1000)
      parameter (maxfrq=maxfat*3)
      real freq,frmul,a
      common /freq/ freq(maxfrq),a(3,maxfat),fcoo(3,maxfat),
     &              frint(maxfrq),ramint(maxfrq),nfreq,ihasi
      logical opfil
      character*4 ani
      character*11 movfil
      character*28 st1
      character*44 st2
      character*31 st3
      character*16 st4
      character*49 st5
      character*37 st6
      character*24 st7
      character*2 st8
      character*1 qs,qd
      character*26 jav0  
      character*22 jav1  
      character*17 jav2  
      character*48 jav3  
      character*31 jav4  
      character*34 jav5  
      character*42 jav6  
      character*40 jav7  
      character*9  jav8  
      character*6  jav9  
      character*26 jav10  
      character*1  jav11  
      character*1  jav12  
      character*59 jav13  
      character*1  jav14  
      character*17 jav15  
      character*46 jav16  
      character*70 jav17  
      character*65 jav17b 
      character*1  jav18  
      character*1  jav19  
      character*29 jav20  
      character*24 jav21  
      character*24 jav22  
      character*53 jav23  
      character*36 jav24  
      character*54 jav26  
      character*18 jav27  
      character*19 jav28  
      character*11 jav29  
      character*52 jav30  
      character*51 jav31  
      character*51 jav32  
      character*50 jav33  
      character*4  jav34  
      character*11 jav35  
      character*1  jav36  
      character*26 jav37  
      character*26 jav38  
      character*25 jav39  
      character*1  jav40  
      character*26 jav41  
      character*27 jav42  
      character*26 jav43  
      character*53 jav44  
      character*26 jav45  
      character*12 jav46  
      character*43 jav47  
      character*28 jav48  
      character*28 jav49  
      character*45 jav50  
      character*37 jav51  
      character*7  jav52  
      character*39 jav53  
      character*18 jav54  
      character*37 jav55  
      character*16 jav56  
      character*7  jav57  
      character*4  jav58  
      character*19 jav59  
      character*28 jav60  
      character*18 jav61  
      character*4  jav62  
      character*1  jav63  
      character*1  jav64  
      character*22 jav65  
      character*30 jav66  
      character*43 jav67  
      character*45 jav68  
      character*41 jav69  
      character*25 jav69b 
      character*28 jav70  
      character*30 jav71  
      character*27 jav72  
      character*37 jav73  
      character*22 jav74  
      character*7  jav75  
      character*1  jav76  
      character*1  jav77  
      character*20 jav78  
      character*26 jav79  
      character*26 jav80  
      character*42 jav81  
      character*21 jav82  
      character*25 jav83  
      character*31 jav84  
      character*31 jav85  
      character*27 jav86  
      character*14 jav87  
      character*1  jav88  
      character*1  jav89  
      
      qs = char(39)
      qd = char(34)

      jav0 = "var canvas = new Object();"
      jav1 = "var img = new Image();"
      jav2 = "function draw() {"
      jav3 = "     canvas = document.getElementById("//
     &       qd//"canvas"//qd//");"
      jav4 = "     img.onload = function () {"
      jav5 = "        if (canvas.getContext) {"
      jav6 = "        var ctx = canvas.getContext("//qd//"2d"//qd//");"
      jav7 = "        ctx.drawImage(img,0,0,1000,500);"
      jav8 = "        }"
      jav9 = "     }"
      jav10 = "     img.src = "//qd//"spec.jpg"//qd//";"
      jav11 = "}"
      jav12 = " "
      jav15 = "function init() {"
      jav16 = "   canvas = document.getElementById("//qd
     &        //"canvas"//qd//");"
      jav17 = "   if (canvas.attachEvent) canvas.attachEvent("//qd//
     &        "onclick"//qd//", getPosition);"
      jav17b = "   else canvas.addEventListener("//qd//"mousedown"//
     &         qd//", getPosition, false);"
      jav18 = "}"
      jav19 = " "
      jav20 = "function getPosition(event) {"
      jav21 = "   var x = new Number();"
      jav22 = "   var y = new Number();"
      jav23 = "   var canvas = document.getElementById("//qd
     &        //"canvas"//qd//");"
      jav24 = "   var parent = canvas.offsetParent;"
      jav26 = "   if (event.x != undefined && event.y != undefined) {"
      jav27 = "      x = event.x;"
      jav28 = "      y = event.y;"
      jav29 = "   } else {"
      jav30 = "      x = event.clientX + document.body.scrollLeft +"
      jav31 = "               document.documentElement.scrollLeft;"
      jav32 = "      y = event.clientY + document.body.scrollTop +"
      jav33 = "               document.documentElement.scrollTop;"
      jav34 = "   }"
      jav35 = "   x -= 10;"
      jav36 = " "
      jav37 = "   x -= parent.offsetLeft;"
      jav38 = "   x -= canvas.offsetLeft;"
      jav39 = "   y -= canvas.offsetTop;"
      jav40 = " "
      jav41 = "   var fnd = new Number();"
      jav42 = "   var xfnd = new Number();"
      jav43 = "   var temp = new Array();"
      jav44 = "   var lists = document.getElementsByTagName("//qd
     &        //"area"//qd//");"
      jav45 = "   var crd = new String();"
      jav46 = "   fnd = -1;"
      jav47 = "   for (var i = 0; i < lists.length; i++) {"
      jav48 = "      crd = lists[i].coords;"
      jav49 = "      temp = crd.split("//qd//","//qd//");"
      jav50 = "      for (var j = 0; j < temp.length; j++) {"
      jav51 = "         temp[j] = parseInt(temp[j]);"
      jav52 = "      }"
      jav53 = "      if (x > temp[0] && x < temp[2]) {"
      jav54 = "          fnd = i;"
      jav55 = "          xfnd = (temp[0]+temp[2])/2;"
      jav56 = "          break;"
      jav57 = "      }"
      jav58 = "   }"
      jav59 = "   if (fnd != -1) {"
      jav60 = "      eval(lists[fnd].href);"
      jav61 = "      dline(xfnd);"
      jav62 = "   }"
      jav63 = "}"
      jav64 = " "
      jav65 = "function dline(xfnd) {"
      jav66 = "      if (canvas.getContext) {"
      jav67 = "         var ctx = canvas.getContext("//qd
     &                            //"2d"//qd//");"
      jav68 = "         ctx.canvas.width = ctx.canvas.width;"
      jav69 = "         ctx.drawImage(img,0,0,1000,500);"
      jav69b = "         ctx.beginPath();"
      jav70 = "         ctx.moveTo(xfnd,0);"
      jav71 = "         ctx.lineTo(xfnd,500);"
      jav72 = "         ctx.lineWidth = 2;"
      jav73 = "         ctx.strokeStyle = "//qd//"#ff0000"//qd//";"
      jav74 = "         ctx.stroke();"
      jav75 = "      }"
      jav76 = "}"
      jav77 = " "
      jav78 = "function dolin(id) {"
      jav79 = "   var crd = new String();"
      jav80 = "   var temp = new Array();"
      jav81 = "   var area = document.getElementById(id);"
      jav82 = "   crd = area.coords;"
      jav83 = "   temp = crd.split("//qd//","//qd//");"
      jav84 = "   var linl = parseInt(temp[0]);"
      jav85 = "   var linu = parseInt(temp[2]);"
      jav86 = "   var lin = (linl+linu)/2;"
      jav87 = "   dline(lin);"
      jav88 = "}"
      jav89 = " "

      st1 = "document.jmola.script("//qs//"load "
      st2 = ";wireframe 30;spacefill 100;select hydrogen;"
      st3 = "spacefill 70;zoom 100;select *;"
      st4 = "set specular on;"
      st5 = "anim mode loop 0 0;animation on;animation fps 50;"
      st6 = "set echo bottom left;echo "//qd//"frequency "
      st7 = ";set frank off;"//qs//");dolin("
      st8 = ");"


      if (opfil(48,"index.html",10,1,0,0)) then
         write(48,'(a)') "<HTML>"
         write(48,'(a)') "<HEAD>"
         write(48,'(a)') "<!--[if IE]><script type="//qd//
     &                    "text/javascript"//qd//" src="//qd//
     &                    "/excanvas.js"//qd//"></script><![endif]-->"
         write(48,'(a)') "<BODY onload="//qd//"init();draw();"//qd//">"
         write(48,'(a)') "<TITLE>IR frequency</TITLE>"
         write(48,'(a)') "<script language="//qd//"javascript"//qd//">"

         write(48,'(a)')  jav0  
         write(48,'(a)')  jav1  
         write(48,'(a)')  jav2  
         write(48,'(a)')  jav3  
         write(48,'(a)')  jav4  
         write(48,'(a)')  jav5  
         write(48,'(a)')  jav6  
         write(48,'(a)')  jav7  
         write(48,'(a)')  jav8  
         write(48,'(a)')  jav9  
         write(48,'(a)')  jav10  
         write(48,'(a)')  jav11  
         write(48,'(a)')  jav12  
         write(48,'(a)')  jav15  
         write(48,'(a)')  jav16  
         write(48,'(a)')  jav17  
         write(48,'(a)')  jav17b 
         write(48,'(a)')  jav18  
         write(48,'(a)')  jav19  
         write(48,'(a)')  jav20  
         write(48,'(a)')  jav21  
         write(48,'(a)')  jav22  
         write(48,'(a)')  jav23  
         write(48,'(a)')  jav24  
         write(48,'(a)')  jav26  
         write(48,'(a)')  jav27  
         write(48,'(a)')  jav28  
         write(48,'(a)')  jav29  
         write(48,'(a)')  jav30  
         write(48,'(a)')  jav31  
         write(48,'(a)')  jav32  
         write(48,'(a)')  jav33  
         write(48,'(a)')  jav34  
         write(48,'(a)')  jav35  
         write(48,'(a)')  jav36  
         write(48,'(a)')  jav37  
         write(48,'(a)')  jav38  
         write(48,'(a)')  jav39  
         write(48,'(a)')  jav40  
         write(48,'(a)')  jav41  
         write(48,'(a)')  jav42  
         write(48,'(a)')  jav43  
         write(48,'(a)')  jav44  
         write(48,'(a)')  jav45  
         write(48,'(a)')  jav46  
         write(48,'(a)')  jav47  
         write(48,'(a)')  jav48  
         write(48,'(a)')  jav49  
         write(48,'(a)')  jav50  
         write(48,'(a)')  jav51  
         write(48,'(a)')  jav52  
         write(48,'(a)')  jav53  
         write(48,'(a)')  jav54  
         write(48,'(a)')  jav55  
         write(48,'(a)')  jav56  
         write(48,'(a)')  jav57  
         write(48,'(a)')  jav58  
         write(48,'(a)')  jav59  
         write(48,'(a)')  jav60  
         write(48,'(a)')  jav61  
         write(48,'(a)')  jav62  
         write(48,'(a)')  jav63  
         write(48,'(a)')  jav64  
         write(48,'(a)')  jav65  
         write(48,'(a)')  jav66  
         write(48,'(a)')  jav67  
         write(48,'(a)')  jav68  
         write(48,'(a)')  jav69  
         write(48,'(a)')  jav69b 
         write(48,'(a)')  jav70  
         write(48,'(a)')  jav71  
         write(48,'(a)')  jav72  
         write(48,'(a)')  jav73  
         write(48,'(a)')  jav74  
         write(48,'(a)')  jav75  
         write(48,'(a)')  jav76  
         write(48,'(a)')  jav77  
         write(48,'(a)')  jav78  
         write(48,'(a)')  jav79  
         write(48,'(a)')  jav80  
         write(48,'(a)')  jav81  
         write(48,'(a)')  jav82  
         write(48,'(a)')  jav83  
         write(48,'(a)')  jav84  
         write(48,'(a)')  jav85  
         write(48,'(a)')  jav86  
         write(48,'(a)')  jav87  
         write(48,'(a)')  jav88  
         write(48,'(a)')  jav89  

         nfrq = nfrqs()
         do i=1,nfrq
            call zerstr(i,ani,4,0)
            call frqstr(i,movfil,mlen)
            write(48,'(a,a,a)') "function animate",ani,"() {"
            write(48,'(a,a,a,a,a,a,a,f8.1,a,i4,a)') 
     &          st1,movfil(1:mlen),st2,st3,st4,st5,st6,freq(i),
     &          qd//st7,i,st8
            write(48,'(a)') "}"
         end do
         write(48,'(a)') "</script>"
         write(48,'(a)') "</HEAD>"
         write(48,'(a)') "<TABLE border=5 cellspacing=5>"
         write(48,'(a)') "<TR>"
         write(48,'(a)') "<TD>"
         write(48,'(a,a,a)') 
     &    "<applet name="//qd//"jmola"//qd//" code="//qd//"JmolApplet"
     &    //qd," archive="//qd//"/jmolnew/JmolApplet0.jar"//qd//
     &    " width="//qd//"350"//qd//" height="//qd//"500"//qd,
     &    " mayScript="//qd//"true"//qd//">"
         write(48,'(a)') "<param name="//qd//"style"//qd//
     &    " value="//qd//"shaded"//qd//">"
         write(48,'(a)') "<param name="//qd//"progressbar"//qd//
     &    " value="//qd//"true"//qd//">"
         write(48,'(a)') "<param name="//qd//"frank"//qd//
     &    " value="//qd//"no"//qd//">"
         write(48,'(a)') "<param name="//qd//"bgcolor"//qd//
     &    " value="//qd//"orange"//qd//">"
         write(48,'(a)') "<param name="//qd//"script"//qd//
     &    " value="//qd//"load mol.xyz;"//qd//">"
         write(48,'(a)') "</applet>"
         write(48,'(a)') "<TD width=1000>"
         write(48,'(a)') "<canvas id="//qd//"canvas"//qd//
     &    " width=1000 height=500 mouseEnabled="//qd//"true"//qd//
     &    "></canvas>"
         write(48,'(a)') "<!--[if !IE]> <img src="//qd//
     &    " width=1000 height=500 usemap="//qd//"#sel"//qd,
     &    " name="//qd//"irspec"//qd//"> <![endif]-->"

         write(48,'(a)') "<map name="//qd//"sel"//qd//">"
         do i=1,nfrq
            if (frint(i).ne.0.0d0) then
               call zerstr(i,ani,4,0)
               call gtfcor(i,ix1,iy1,ix2,iy2)
               write(48,'(a,i4,a,i4,a,i4,a,i4,a,i5,a,a4,a)') 
     &         "<area shape="//qd//"rect"//qd//" coords="//qd,
     &         ix1,",",iy1,",",ix2,",",iy2,qd//
     &         " id=",i," href="//qd
     &         //"javascript:animate",ani,"()"//qd//">"
            endif
         end do
         write(48,'(a)') "</map>"
         write(48,'(a)') "</TABLE>"

         write(48,'(a)') "<TABLE border=5>"
         write(48,'(a)') "<TR>"
         write(48,'(a)') "<TD> "
         write(48,'(a)') "<TD>Frequency"
         write(48,'(a)') "<TD>Intensity"
         do i=1,nfrq
            if (frint(i).ge.0.0d0) then
            call zerstr(i,ani,4,0)
            write(48,'(a)') "<TR>"
            write(48,'(a)') 
     &      "<td nowrap> <input type=radio name=frq value="//ani//
     &      " onclick="//qd//"javascript:animate"//ani//"()"//qd//">"
            write(48,'(a,f8.1,a)') "<td> ",freq(i),"</td>"
            write(48,'(a,f8.3,a)') "<td> ",frint(i),"</td>"
            end if
         end do
         write(48,'(a)') "</TABLE>"

      endif

      return
      end

