YAHOO.namespace("CSP");

YAHOO.util.Event.onDOMReady(
  function() 
  {
    if(YAHOO.util.Dom.getElementsByClassName('yui-navset', 'li'))
    {
			var elems = YAHOO.util.Dom.getElementsByClassName('yui-navset', 'li')
			for (var i=0; i < elems.length; i++) {
				var tabView = new YAHOO.widget.TabView(elems[i]);
        tabView.addListener('activeTabChange', function(e)
        {curvyCorners.redraw()},tabView,true);
			} 
          
    }
    curvyCorners.init(); 
  }
);

YAHOO.CSP.FileDownload =
{
  init: function()
  {
    var form = YAHOO.util.Dom.get('filedownloadform');
    YAHOO.util.Event.addListener(form,'submit',this.doDownload);
    
  }
  ,
  doDownload: function(e)
  {
    YAHOO.util.Event.preventDefault(e);
    
    window.open(this.download.value);
    return false;
    
  }
};

YAHOO.util.Event.onDOMReady(
  function() 
  {
    
    if(YAHOO.util.Dom.get('filedownloadform'))
    {
  
      YAHOO.CSP.FileDownload.init();
    }
  }
);


(function() {
  
  var YUD = YAHOO.util.Dom, 
      YUE = YAHOO.util.Event;
      
 
    
  // Create our version of the carousel
  YAHOO.CSP.Carousel = function(el, oAttr) {
      
    oAttr = oAttr || {};
    el = YUD.get(el); 
          
    if (el.id) {oAttr.id = el.id; }
        
    YAHOO.CSP.Carousel.superclass.constructor.call(this, el, oAttr); 
       
  };

  //Make our version extend the YUI Carousel & start adding functionality
  YAHOO.extend(YAHOO.CSP.Carousel, YAHOO.util.Element, {
    container: null,
    carousel: null,
    init: function(el, oAttr)
    {

      var carousel_container = YUD.getElementsByClassName('carousel-container', 'div', this.container)[0];
      // Setup the carousel and create pointers to the navigation
      this.carousel = new YAHOO.widget.Carousel(carousel_container, oAttr);
      this.nav = YUD.getElementsByClassName('carousel-nav', 'ol', this.container)[0];
      this.nav_items = YUD.getChildren(this.nav);
    
      //Remove listeners from carousel so that interactions do not cause the autoPlay to stop unless we want it to
      //YUE.removeListener(carousel_container);
      
      //Do our own setup on the carousel
      this.add_active_handlers();
      this.add_nav_handlers();
      
      //Draw the carousel and start it playing
      this.carousel.render();
      this.carousel.startAutoPlay();

    },
    add_active_handlers: function()
    {
      var that = this;
      
      this.carousel.addListener('beforeFirstVisibleChange', 
        function(e)
        {
          var tar_num = e.newValue;
          var add_target = YUD.get(this.nav_items[tar_num]);
          var rem_target = YUD.getElementsByClassName('active', 'li', this.nav_items[tar_num].parentNode);
          
          for(var i = 0; i < rem_target.length; i++){
            YUD.removeClass(rem_target[i], 'active');
          }
        
          YUD.addClass(add_target, 'active');
        },{nav_items: that.nav_items, carousel: that.carousel},true
      );
    },
    add_nav_handlers: function()
    {
      var that = this;  
      var i;
      for(i = 0; i < that.nav_items.length; i++)
      {
        var item = that.nav_items[i];
        YUE.addListener(item, 'click',
          function(i) {
            return function(e){
              YUE.preventDefault(e);
              this.scrollTo(i);
            };
          }(i), 
          that.carousel, true
        );
      }
    }    
  }); // end Extending Carousel
})(); // end and call function

// Call our carousel
YAHOO.util.Event.onDOMReady( 
  function() 
  {
    if(YAHOO.util.Dom.get("home-page-carousel"))
    {
      
      var params = {
        autoPlayInterval: 8000, 
        isCircular: true, 
        animation: {
          speed: 1.0
        }, 
        numVisible: 1,
        revealAmount: 0
      };
      var carousel = new YAHOO.CSP.Carousel('home-page-carousel', params);
    }
  }, 
  YAHOO.CSP.Carousel,
  true
);

//YAHOO.util.Event.onDOMReady(function() {
//	var paginators = [];
//
//	var pagingElems = YAHOO.util.Dom.getElementsByClassName('pagination-block', 'div');
//	for (var i=0; i < pagingElems.length; i++)
//	{
//		var pagingControls = YAHOO.util.Dom.getElementsByClassName('paging-controls', 'div', pagingElems[i]);
//		var paginator = new YAHOO.widget.Paginator({
//		    rowsPerPage : 1,
//		    totalRecords : pagingElems[i].getElementsByTagName('li').length,
//		    containers : pagingControls,
//				template : "{PageLinks}"
//		});
//		
//		paginator.rootElements = pagingElems[i];
//		paginators.push(paginator);
//		
//		var handlePagination = function(state) {
//		    // Show the appropriate content for the requested page
//				var uls = state.paginator.rootElements.getElementsByTagName('ul');
//		    uls[0].className = 'page' + state.page;
//
//		    // Update the Paginator's state, confirming change
//		    state.paginator.setState(state);
//		};
//		
//		paginator.subscribe('changeRequest', handlePagination);
//		paginator.render();
//	}
//  
//});