 var

 mouse_on_color = '',
 mouse_on_background_color = '',  
 mouse_out_color = '',            
 mouse_out_background_color = ''; 

function setToggleFunc() {

 var elm;

 if ( document.getElementsByTagName ) {
  for ( var i=1;elm=(document.getElementsByTagName( "*" )[i]);i++ ) {
   if ( !elm.className ) continue;
   if ( elm.parentNode.firstChild == elm ) {
    elm.className.replace( /\bjs_[open|close]\b/, '' );
    continue;
   }
   if ( !elm.className.match(/js_[open|close]/) ) continue;
   var objTrigger = elm.previousSibling;

   while( !objTrigger || objTrigger.nodeType != 1 ) {
    objTrigger = objTrigger.previousSibling;
   }
   if ( !objTrigger ) continue;

   objTrigger.style.cursor = 'pointer';
   objTrigger.className += ' js_mouse_out';
   objTrigger.title += ( elm.className.match(/js_close/) ) ? ' (クリックすると展開します )' : ' ( クリックすると折りたたみます )';
   
   objTrigger.onclick = function () {
    var objTarget = this.nextSibling;
    while ( objTarget.nodeType != 1 ) {
     objTarget = objTarget.nextSibling;
    }

    objTarget.flag = objTarget.className.match(/js_close/);
    if ( objTarget.flag ) {
     objTarget.className = objTarget.className.replace( /\bjs_close\b/, 'js_open' );
     this.title = this.title.replace( /クリックすると展開します /, 'クリックすると折りたたみます ' );
    } else {
     objTarget.className = objTarget.className.replace( /\bjs_open\b/, 'js_close' );
     this.title = this.title.replace( /クリックすると折りたたみます /, 'クリックすると展開します ' );
    }
   }

   objTrigger.onmouseover = function () {
    this.className = this.className.replace( /\bjs_mouse_out\b/, 'js_mouse_on' );
    //this.style.color = mouse_on_color;
    //this.style.backgroundColor = mouse_on_background_color;
   }

   objTrigger.onmouseout = function () {
    this.className = this.className.replace( /\bjs_mouse_on\b/, 'js_mouse_out' );
    this.style.color = mouse_out_color;
    this.style.backgroundColor = mouse_out_background_color;
   }

  }
 }
}
window.onload = setToggleFunc;

with ( document ) {
if ( getElementsByTagName && styleSheets ) {
 var s = "<style type='text\/css'> .nomal_open { display: block;} .js_open { display: block} .js_close { display: none; } .js_mouse_on { color: " + mouse_on_color + " !important; background-color: " + mouse_on_background_color + " !important; } .js_mouse_out { color: " + mouse_out_color + " !important; background-color: " + mouse_out_background_color + " !important; }<\/style>";
 write(s);
 }
}




