/**
 * JobSpeed Website
 * Filter menu javascript
 *
 * @author $Author: nick $
 * @copyright 2007 JobSpeed
 * @filesource
 * @link http://www.jobspeed.com.au
 * @package JobSpeed
 * @subpackage JavaScript
 */
 
  var _fm_menus = new Array(8);

  function _fm_menu_item(id) {
    this.div             = $("fadesubmenu"+ id);
    this.span            = $("menuSpan"+ id);
    this.link            = $("link"+ id);
    this.img_link        = $("img_link"+ id);
    this.state           = null;
    this.timer           = null;
    this.fade_timer      = null;
    this.current_opacity = 100;
    this.FADE_SPEED      = 0;
    this.STEP_SPEED      = 3;
    this.MAX_OPACITY     = 100;
  }

  function filtermenu_mouse_over(id, selected) {
    if(!_fm_menus[id]) {
      _fm_menus[id] = new _fm_menu_item(id);
    }
    if (_fm_menus[id].state != "IN") {
    filtermenu_process_mouse_over(id, selected);
    for (var i = 1; i < 8; i++) {
      if (i != id) {
        filtermenu_mouse_out(i, false); 
        filtermenu_process_fade_out(i, false);
      }
      clearTimeout(_fm_menus[id].timer);
     }
    } else {
      //clearTimeout(_fm_menus[id].timer);
    }
  }
    
  function filtermenu_mouse_out(id, selected) {
    filtermenu_process_mouse_out(id, selected);
    //_fm_menus[id].timer = setTimeout("filtermenu_process_mouse_out("+ id +", "+ selected +")", 100);
  }

  function filtermenu_process_mouse_over(id, selected) {
    _fm_menus[id].state = "IN";
    // visual stuff
    // to replace all css a:hover stuff to be backwards compatible
    switch(id) {
      case 1:  roll("menuLeft", "images/bl_hh.jpg"); break;
      case 7:  roll("menuRight","images/br_hh.jpg"); break;
    }
        
    // fancy
    _fm_menus[id].link.style.color            = "#7d7d7d";
    _fm_menus[id].link.style.backgroundImage  = "url('images/b_hh_strip.jpg')";
    _fm_menus[id].link.style.backgroundRepeat = "repeat-x";
    if(selected == true) {
      _fm_menus[id].img_link.src = "images/img-cross_hh.jpg";
    } else {
      _fm_menus[id].img_link.src = "images/arrow_hh.gif";

      // display the block
      _fm_menus[id].span.style.display = "block";
      // lets try to start up some fading
      clearTimeout(_fm_menus[id].fade_timer);
      filtermenu_process_fade_in(id);
    }
  }
    
  function filtermenu_process_mouse_out(id, selected) {
  for (var i = 1; i < 8; i++) {
  if (i != id) {
    if(_fm_menus[id]) {
      _fm_menus[id].state = "OUT";
      // visual stuff
      switch(id) {
        case 1:  roll("menuLeft", "images/bl.jpg"); break;
        case 7:  roll("menuRight","images/br.jpg"); break;
      }
        
      // fancy
      _fm_menus[id].link.style.color            = "#ffffff";
      _fm_menus[id].link.style.backgroundImage  = "url('images/b_strip.jpg')";
      _fm_menus[id].link.style.backgroundRepeat = "repeat-x";
          
      if(selected == true) {
        _fm_menus[id].img_link.src = "images/img-cross.jpg";
      } else {
        _fm_menus[id].img_link.src = "images/arrow.gif";
        // lets try to start up some fading
        clearTimeout(_fm_menus[id].fade_timer);
        filtermenu_process_fade_out(id);
      }
    }
  }
  }
  }
  
  function filtermenu_process_fade_in(id) {
    if(_fm_menus[id].current_opacity >= _fm_menus[id].MAX_OPACITY) {
      _fm_menus[id].current_opacity = _fm_menus[id].MAX_OPACITY;
      return true;
    } else if(_fm_menus[id].current_opacity >= 0) {
      _fm_menus[id].current_opacity += _fm_menus[id].STEP_SPEED;
       _fm_menus[id].fade_timer = filtermenu_process_fade_in(id);
      //_fm_menus[id].fade_timer = setTimeout("filtermenu_process_fade_in("+ id +")", _fm_menus[id].FADE_SPEED);
      filtermenu_change_opacity(id);
    }
  }

  function filtermenu_process_fade_out(id) {
  if(_fm_menus[id]) {
    if(_fm_menus[id].current_opacity <= 0) {
      _fm_menus[id].current_opacity = 0;
      
      // if (_fm_menus[id].span) {  _fm_menus[id].span.style.display = "none"; }
      
      return true;
    } else if(_fm_menus[id].current_opacity <= _fm_menus[id].MAX_OPACITY) {
      _fm_menus[id].current_opacity -= _fm_menus[id].STEP_SPEED;
      _fm_menus[id].fade_timer = filtermenu_process_fade_out(id);
      //_fm_menus[id].fade_timer = setTimeout("filtermenu_process_fade_out("+ id +")", _fm_menus[id].FADE_SPEED);
      filtermenu_change_opacity(id);
    }
  }
  }

  function filtermenu_change_opacity(id) {
    var element = _fm_menus[id].div;
    if(element.style.opacity != undefined) {
      element.style.opacity = (_fm_menus[id].current_opacity / 100);
    } else if(element.style.filter != undefined) {
      element.style.filter  = "alpha(opacity="+ _fm_menus[id].current_opacity +")";
    }
  }