
/**
 *  controls collapse / expand of nav sub lists
 */ 
function navController()
{
  this.navContainer = $(arguments[0]);
  
  this.toggle = function(navId) {
    var ulNode = $('sub_' + navId);
    var effectType = arguments[1] ? arguments[1] : 'appear';
    Effect.toggle(ulNode,effectType,{duration:0.3});
  }
  
  this.hideInactive = function() {
    var tagList = this.navContainer.getElementsByTagName('a');
    var tagNodes = $A(tagList);
    var x = 0;
    tagNodes.each(function(tagNode) {
      // remove whitespace - do this because IE6 does not like Element.cleanWhitespace()
      var siblings = tagNode.parentNode.childNodes;
      for (var i = 0; i < siblings.length; i++) {
        if (siblings[i].nodeName == '#text') {
          siblings[i].parentNode.removeChild(siblings[i]);
        }
      }

      if(tagNode.nextSibling != null) {
        tagNode.nextSibling.id = 'sub_' + tagNode.id;

        if (Element.hasClassName(tagNode,'active')) {
          Element.show(tagNode.nextSibling);
        }
        else {
          Element.hide(tagNode.nextSibling);
        }
      }
    });
    
    return;
  }
  
  
}



/**
 *  for viewing large image by mousing over icon. appears near icon
 */ 
function previewController()
{
  this.url = siteUrl
  this.magImg = $(arguments[1]);
  this.loadedImg = $(arguments[2]);
  this.previewImg = $(arguments[3]);
  Element.hide(this.previewImg);

  this.cacheImage;
  
  this.loadImage = function() {
    var start_y;
    var start_x;
    
    var aspect = (Element.getDimensions(this.loadedImg).width / Element.getDimensions(this.loadedImg).height);
    
    if (aspect >= 1) {
      start_y = Position.cumulativeOffset(this.magImg)[1] + Element.getDimensions(this.magImg).height + 10;
      start_x = 20;
    }
    else {
      start_y = 20;
      start_x = Position.cumulativeOffset(this.magImg)[0] + Element.getDimensions(this.magImg).width + 10;
    }

    this.previewImg.style.position = 'absolute';
    this.previewImg.style.left = start_x + 'px';
    this.previewImg.style.top = start_y + 'px';
    this.previewImg.style.zIndex = 100;
    this.previewImg.style.border = '6px solid #EEE';
    Element.show(this.previewImg);
  }
  
  this.unloadImage = function() {
    Element.hide(this.previewImg);
  
  }
  
//   this.build
}

