// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
window.addEvent('domready', function() {

	var path   = '/images/slide_show/'
	var images = new Array('1.jpg', '2.jpg', '3.jpg');
	var l      = images.length;
	var rnd    = Math.floor(l * Math.random());
	var image  = path + images[rnd];
  
	if($('banner')) $('banner').src = image;
	
	$$('a[rel="zoomer"]').each(function (a) {
		new Zoomer(a);
	});

  var list     = $$('.collapse');
  var headings = $$('.toggler');
  
  var collapsibles = new Array();
  
  headings.each(function(heading, i) {
    //for each element create a slide effect
    var collapsible = new Fx.Slide(list[i], {
      duration: 600,
      transition: Fx.Transitions.Expo.easeOut
    });

    //and store it in the array
    collapsibles[i] = collapsible;

    //add event listener
    heading.onclick = function() {
      for(var j = 0; j < collapsibles.length; ++j)
      {
        if(j != i) collapsibles[j].slideOut();
      }
      collapsible.toggle();
      return false;
    }

    //collapse all of the list items
    collapsible.hide();
  });
	
	if($('SlideItMoo_outer')) {
		new SlideItMoo({
			overallContainer: 'SlideItMoo_outer',
			elementScrolled: 'SlideItMoo_inner',
			thumbsContainer: 'SlideItMoo_items',		
			itemsVisible: 1,
			elemsSlide: 1,
			duration: 600,
			itemsSelector: '.SlideItMoo_element',
			itemWidth: 746,
			showControls: 1,
			transition: Fx.Transitions.Expo.easeInOut,
			autoSlide: 5000
		});
	}
	
	if($('search_input'))
  {
  	var text = $('search_input').value;
    $('search_input').addEvent('focus', function() {
      this.value = '';
    });
  }
  
});



var MAX_DUMP_DEPTH = 10;
function dumpObj(obj, name, indent, depth) {
  if (depth > MAX_DUMP_DEPTH) {
    return indent + name + ": <Maximum Depth Reached>\n";
  }
  if (typeof obj == "object") {
    var child = null;
    var output = indent + name + "\n";
    indent += "\t";
    for (var item in obj)
    {
      try {
        child = obj[item];
      } catch (e) {
        child = "<Unable to Evaluate>";
      }
      if (typeof child == "object") {
        output += dumpObj(child, item, indent, depth + 1);
    } else {
      output += indent + item + ": " + child + "\n";
    }
  }
    return output;
  } else {
    return obj;
  }
}