*****************************************************************
*                                                               *
*                           CooCoo(F1.22)                        *
*                            Java Applet                        *
*                         Written by Mark Qian                  *
*                                                               *
*****************************************************************

   


CooCoo is a cool web-communication machine.
It allows its users to chat, call-to-chat, display ad, 
news, and more... The AdWare version of CooCoo is FREE!
Shareware version is also availabel.

This may not be the latest version.  Please get the latest
version at CooCoo's home

  http://www.coolshare.com/html/app_coo.htm

Detail instructions for installation are available there.


CooCoo is DFFERENT because:


  A. Call-to-Chat - Call the person to chat

         CooCoo comes with a Call Center where you can "call"
         people who are not currently in CooCoo's chatroom.
         After placing a "chat call", you can switch to other
         applications (you can also icon your CooCoo. Move
         the browser to other pages? No problem! CooCoo will
         live until you shut down the browser.) and CooCoo will
         prompt you when the person you called logs in to CooCoo. 
        


  B. Easy Chat -  for most personal pages

          CooCoo's chat system does not requires a program
          running in background(daemon) in the server(Most ISPs
          do not allow their users run such a background
          program).  This means CooCoo can be installed
          on any personal home page where CGI and Perl 
          are supported.


  C. No firewall problem

         CooCoo's users will not be blocked by
         firewalls since the communication is
         done with https.          


  D. Easy advertising banner with sound

         CooCoo displays an advertisement banner in a HTML
         style. Ad images are fetched from the server periodically
         in a random or specified order. It is "easy" because
         it is not neccessary for the resource (image and sound files) 
         to reside in your site. Only thing you need to provide
         is their URLs.  This is great for most of personal sites
         since it make CooCoo's ad is affordable to these sites with
         limited bandwidth(MB/Day): the images and sound can be 
         fetched from other's site instead of yous!

         Another great feature of HTML style is that gif anmation
         is supported in the ad banner.

         In additional, a sound file (any sound format support by
         your browser) can be easily attached to an ad image.

E. Smart news

         CooCoo starts displaying news line by line automatically 
         if there is no chat activity for a specified period.
         The news will be stoped as soon as people start chating.
         This feature can be turn off from CooCoo but users.

         Maintenace of these text files is easy: just place all the
         news text files in a specified directory and
         CooCoo will pick up one at a time randomly.


<br> 
<br>
<hr>
<br>
<h2>Parameters:</h2>

  
         cgibase  - The URL where coocoo.cgi resides

         adperiod  - determent the frequency of updating ad banner

         callerperiod  - determent the frequency of checking calls

         userperiod  - determent the frequency of updating user list
 
         refreshperiod  - determent the frequency of updating chat log

         newsperiod  - determent the frequency of posting news

         newswait    - determent how long the period from 
                       no chating activity to launching news.

         imageInfo  - name of the file where ad info is stored

     
         datadir  - Name of sub directory where data files reside.
                    Since some ISPs don't allow the CGI directory
                    to be set to writable. So it is recommended that
                    you better create a sub directory right under
                    your CGI directory where coocoo.cgi resides.
                    (If you set datadir to "" or ignore it, the data
                     files will be written in your CGI directory).

         imagedir     - a sub directory(includ the related path if
                        it does not reside directly under cgibase)
                        under cgibase to contain ad images and the 
                        file specifed by m_imageInfo

         newsdir     - a sub directory(includ the related path if
                        it does not reside directly under cgibase)
                        under cgibase to contain text files which
                        contains news text.


         button1 - Specify the first "customized chat button"

         button2 - Specify the 2nd "customized chat button"

           ...

         buttonn - Specify the Nnd "customized chat button"

                   More details about "customized chat button":

                       CooCoo allow its own customize five buttons
                       in "Click here" section under the chat window.

                       There are three fields in value of button1 through
                       buttonN separated by delimitor "^#^":

                       1). button label  2). text to be post to chat log
                       3). sound when post

                   Example:  

     &lt;param name=button1 value="Hello^#^Hello, folks!^#^sound/SOUND22.AU"&gt;

     The "customized chat button" above has "Hello" as its button label,
     "Hello, folks!" as posted test, and "sound/SOUND22.AU" as posted sound.




<h3>Detail Instructions for installation</h3>:
                                             
   1).  
       Download coocoo.zip

   2). Unzip coocoo.zip in a temperary directory, say c:\tmp_coo, 
       in your local machine.
  

   3). Run setup.bat to rename class files. Because PKUNZIP will extract the
      class file, coocoo.class, to coocoo.cla, 
	  you have to RENAME  the class file to coocoo.class if you prefer to
	  rename them menually.  Similarly, rename *.cla to *.class

      At this time, you should have following files in c:\tmp_coo
       
          common.class
          coocoo.class
          cooabout.class
          coocall.class
          cooccoo.class
          coomsg.class
          coonew.class
          coopass.class
          coowatch.class

          sound22.au
          sound25.au
          laugh.au

          readme.txt
          app_coo.htm
          coocoo.cgi
           

   4). Upload all the class, au files and app_coo.htm above to the 
       html diretory in you server, say my-html.

       Note: all the class and au files have to be uploaded with binary mode
                 while htm file should be uploaded with ASCII mode.

       so far, you have following directory and files:

          my-html
          my-html/common.class
          my-html/coocoo.class
          my-html/cooabout.class
          my-html/coocall.class
          my-html/cooccoo.class
          my-html/coomsg.class
          my-html/coonew.class
          my-html/coopass.class
          my-html/coowatch.class
          my-html/sound22.au
          my-html/sound25.au
          my-html/laugh.au
          my-html/app_coo.htm


   5). Make sure CGI and Perl are enabled at the directory where
       parameter "cgibase" points to, say my-cgi.  
       And make sure my-cgi is readable and executable (750)
       Upload coocoo.cgi to my-cgi and set its access attribute
       to readable and executable(750).

       so far, you have following directory and files:

          my-html
          my-html/common.class
          my-html/coocoo.class
          my-html/cooabout.class
          my-html/coocall.class
          my-html/cooccoo.class
          my-html/coomsg.class
          my-html/coonew.class
          my-html/coopass.class
          my-html/coowatch.class
          my-html/sound22.au
          my-html/sound25.au
          my-html/laugh.au
          my-html/app_coo.htm

          my-cgi
          my-cgi/coocoo.cgi


   6). Creat a sub directory right under my-cgi with value of 
       datadir above as its name such as "data". 
       Set the access attributes of "data" 
       to readable, writable, and executable (770).

       VERY IMPORTANT: You have to set this directory to 
                       readable, writable, and executable (770).


       so far, you have following directory and files:

          my-html
          my-html/common.class
          my-html/coocoo.class
          my-html/cooabout.class
          my-html/coocall.class
          my-html/cooccoo.class
          my-html/coomsg.class
          my-html/coonew.class
          my-html/coopass.class
          my-html/coowatch.class
          my-html/sound22.au
          my-html/sound25.au
          my-html/laugh.au
          my-html/app_coo.htm

          my-cgi
          my-cgi/coocoo.cgi
          my-cgi/data

   7). Creat a sub directory right under "data" with value of 
       imagedir above as its name such as "images"
       and set it to readable and executable(750). 

       
       so far, you have following directory and files:

          my-html
          my-html/common.class
          my-html/coocoo.class
          my-html/cooabout.class
          my-html/coocall.class
          my-html/cooccoo.class
          my-html/coomsg.class
          my-html/coonew.class
          my-html/coopass.class
          my-html/coowatch.class
          my-html/sound22.au
          my-html/sound25.au
          my-html/laugh.au
          my-html/app_coo.htm

          my-cgi
          my-cgi/coocoo.cgi
          my-cgi/data
          my-cgi/data/images
       


   9). Create a file with value of imageinfo above as its 
        name such as "image_info". Each line of this file has
        three fields divided by delimitor "^#^":

        1). URL of the image  
        2). URL of the link to be opened when clicking at the image
        3). URL of the sound  

       Example of a single line in the file:  

       http://www.coolshare.comhtml/image/image1.gif^#^http://www.coolshare.com^#^http://www.coolshare.com/sound/au1.au

       will display image with url http://www.coolshare.comhtml/image/image1.gif
       sound with url http://www.coolshare.com/sound/au1.au
       and open http://www.coolshare.com/ when the image is clicked

       You also need to set this file to readable(740).

       so far, you have following directory and files:

          my-html
          my-html/common.class
          my-html/coocoo.class
          my-html/cooabout.class
          my-html/coocall.class
          my-html/cooccoo.class
          my-html/coomsg.class
          my-html/coonew.class
          my-html/coopass.class
          my-html/coowatch.class
          my-html/sound22.au
          my-html/sound25.au
          my-html/laugh.au
          my-html/app_coo.htm

          my-cgi
          my-cgi/coocoo.cgi
          my-cgi/data
          my-cgi/data/images
          my-cgi/data/images/image_info

   10). Creat a sub directory right under "data" with value of 
       newsdir above as its name such as "news"
       and set it to readable and executable(750). 

       Copy all the files (such as new1, new2, ... newX)
       contains news text into this directory, "news", and
       set them readable(740).

       
       so far, you have following directory and files:

          my-html
          my-html/common.class
          my-html/coocoo.class
          my-html/cooabout.class
          my-html/coocall.class
          my-html/cooccoo.class
          my-html/coomsg.class
          my-html/coonew.class
          my-html/coopass.class
          my-html/coowatch.class
          my-html/sound22.au
          my-html/sound25.au
          my-html/laugh.au
          my-html/app_coo.htm

          my-cgi
          my-cgi/coocoo.cgi
          my-cgi/data
          my-cgi/data/images
          my-cgi/data/news
          my-cgi/data/news/new1
          my-cgi/data/news/new2
          ...
          my-cgi/data/news/newX

       

   11). Modify app_coo.htm:

        In the <SCRIPT> section at top of app_coo.htm, there is a Javascript
        function

        function OpenCooCoo() {
           Coo=window.open("http://www.coolshare.com/html/coo.htm","CooCoo", "width=560,height=425");
        }

        Set the first parameter to the complete URL of coo.htm.
        In our sample, it is http://.../my-html/coo.htm.


   12). Modify coo1.htm:

         set the parameter, cgibase, to http://.../my-cgi

       Note: the value of cgibase has to be a complete URL.


   13). Test CooCoo:

       Browse app_coo.htm to test it.
   
       Contact Mark Qian(ok@coolshare.com) if you get any problem.
    
       If you are not confortable with those buttons 
       and news in CooCoo with Mark's info
       you may want to get a registered shareware version.



       
