
(function(){
  /****************************************************
   * Ý’è€–Ú
   ***************************************************/
  ///
  /// šFŽw’èš
  ///        «
  var color = '#ffffff';

  
  ///
  /// š”–‚³y1`100zš
  //           «/
  var opacity = 50;

  //
  // trueŽžeffect
  //
  var effect = false;



/**********************************************
  * ƒƒWƒbƒN
  **********************************************/
  window.onload = function(){
    var div                   = document.createElement('div');
    div.style.display         = 'none';
    div.style.float           = 'left';
    div.style.backgroundColor = color;
    div.style.position        = 'absolute';
    div.style.filter          = 'alpha(opacity=' + opacity + ')';
    div.style.MozOpacity      = opacity / 100;
    div.style.opacity         = opacity / 100;


    document.body.appendChild( div );

    var div2                   = document.createElement('div');
    div2.style.display         = 'none';
    div2.style.float           = 'left';
    div2.style.backgroundColor = color;
    div2.style.position        = 'absolute';
    div2.style.filter          = 'alpha(opacity=' + opacity + ')';
    div2.style.MozOpacity      = opacity / 100;
    div2.style.opacity         = opacity / 100;

    document.body.appendChild( div2 );


    var imgs = document.getElementsByTagName( 'img' );
    for( var i = 0, l = imgs.length; i < l; i++ ){
      if( imgs[i].className == 'thumbnail' ){
        observe( imgs[i], 'click', 
          function( e ){ 
            $('previewer').src = e.target.src.replace('small', 'big'); 
            setFade( e, div ); 
            } );
      }
      if( imgs[i].className == 'thumbnail2' ){
        observe( imgs[i], 'mouseover', 
					function( e ){ 
						if( e.target.parentNode.tagName.match( /^a$/i ) && e.target.parentNode.href ){
							div2.style.cursor = 'pointer';
							if( e.target.parentNode.target == '_blank' ){
								div2.onclick = function(){ window.open( e.target.parentNode.href ); };
							} else {
								div2.onclick = function(){ location.href = e.target.parentNode.href; };
							}
						}
						setFade( e, div2 ); 
				} );
        observe( div2, 'mouseout', function( e ){ div2.style.display = 'none'; } );
      }
    }
    var counter = 0,id = 0;
    function setFade( e, disabler ){
      var lt  = getLT( e.target );
			if( disabler.style.display ) disabler.style.display  = '';
			disabler.style.top      = lt[1] + 'px';
      disabler.style.left     = lt[0] + 'px';
      disabler.style.width    = e.target.clientWidth + 'px';
      disabler.style.height   = e.target.clientHeight + 'px';

      if( effect ){
        disabler.style.filter         = 'alpha(opacity=' + 100 + ')';
        disabler.style.MozOpacity     = 1;
        disabler.style.opacity        = 1;
        if( id ) window.clearTimeout( id );
        counter = 100;
        id = window.setTimeout( setOpacity, 100 );
      }

      function setOpacity(){
        counter -=1 ;
        disabler.style.filter         = 'alpha(opacity=' + counter + ')';
        disabler.style.MozOpacity     = counter / 100;
        disabler.style.opacity        = counter / 100;
        if( counter > opacity ) id = window.setTimeout( setOpacity, 20 );
        else                    window.clearTimeout( id );
      }
    }
    ///
    ///
    ///
    function $( id ){ return document.getElementById( id ); }
    function observe(target, type, listener) {
      if   (target.addEventListener) target.addEventListener(type, listener, false);
      else target.attachEvent('on' + type, function() { var e = window.event; e.target = target; listener.call(target, e); });
    }
    function getLT(element) {
      var valueT = 0, valueL = 0;
      do {
        valueT += element.offsetTop  || 0;
        valueL += element.offsetLeft || 0;
        element = element.offsetParent;
      } while (element);
      return [valueL, valueT];
    }
  }
})();
