zindex = 10;
Event.observe(window, 'load', function() {
	homepageSliderSetup();	
	calloutsLgSetup();
	$$('div.callouts-lg h3').each(function(el, s){		
		el.observe('mouseover', function(event) {
			var element = Event.element(event);
			element.addClassName('hover');
		});
		el.observe('mouseout', function(event) {
			var element = Event.element(event);
			element.removeClassName('hover');
		});
		el.observe('click', function(event) {
			calloutsLgToggle(this, s);
		});		
	});

});

var currentPanel = 0;
var panelSelected = 0;
var panelSliding = false;
var panelAutoSlider;
var panelSelectedFromBtnClick = false;

function homepageSliderSetup() {
	if (($$('body.homepage'))!=""){
		homepageImageSlider();
		homepageImageAutoSlide();
	}
}

function homepageImageAutoSlide() {
	panelAutoSlider = setInterval("homePageDoAutoSlide()", 6000)
}

function homePageDoAutoSlide() {
	var numPanels =  $$('div.image-slider-selector ul li').length - 1;
	if (panelSliding != true) {											
		if (currentPanel == numPanels ) {
			homepageImageSliderReset();
		} else {
			whatNumber = currentPanel + 1;
			homepageImageDoSlide(whatNumber);
			panelSelectedFromBtnClick = false;
		}	
	}
}

function homepageImageSlider() {	
	$$('div.image-slider-text').invoke('setStyle', { opacity: 0.0 });
	$$('div.image-slider-text')[0].setStyle({ opacity: 1.0 });	
	$$('div.image-slider-text')[0].setStyle({ zIndex: 8 });		
		// currentText.setStyle({ zIndex: zindex });		
	
	$$('div.image-slider-selector ul li a').each(function(el){
		el.observe('click', function(event) {
			var element = Event.element(event);
			var whatNumber = element.innerHTML;
			whatNumber = whatNumber - 1;
			
			if (panelSliding != true) {
				homepageImageDoSlide(whatNumber);
				clearInterval(panelAutoSlider);
				panelSelectedFromBtnClick = true;
			}
			
		});													  
	});			

}

function rand (n) {
  return ( Math.floor ( Math.random ( ) * n + 1 ) );
}

function showRandomImage(whatNumber) {
	$$('#image-slider-strip a')[whatNumber].childElements().each(function(el, i) {		
		el.addClassName('hide');
	})
	$$('#image-slider-strip a')[whatNumber].childElements()[rand(4)-1].removeClassName('hide');	
}

function homepageImageDoSlide(whatNumber) {
	zindex++;
	panelSliding = true;
	panelSelected = whatNumber;	
	var distance = 0 - (450 * whatNumber);
	showRandomImage(whatNumber);	
	
	var imageStrip = $('image-slider-strip');
	new Effect.Move(imageStrip, {
		x: distance, 
		y: 0, 
		mode: 'absolute', 
		transition: Effect.Transitions.sinoidal,
		duration: 1,
      	afterFinish: homepageImageSlideDone
	});	
	
	var currentText = $$('div.image-slider-text')[currentPanel];	
	new Effect.Opacity(currentText, { duration: 0.4, transition: Effect.Transitions.sinoidal, from: 1.0, to: 0 });
}

function homepageImageSlideDone() {
	var whatNumber = panelSelected;
	var nextPanel = $$('div.image-slider-text')[whatNumber];
	nextPanel.setStyle({ zIndex: zindex });		
	
	new Effect.Opacity(nextPanel, { duration: 0.4, transition: Effect.Transitions.sinoidal, from: 0, to: 1.0 });
				
	$$('div.image-slider-selector ul li')[currentPanel].removeClassName("current");
	$$('div.image-slider-selector ul li')[whatNumber].addClassName("current");
	
	currentPanel = whatNumber;
	
	panelSliding = false;
	
	if (panelSelectedFromBtnClick) {
		homepageImageAutoSlide();
		panelSelectedFromBtnClick = false;
	}
}
function homepageImageSliderReset() {
	homepageImageDoSlide(0);
	
	var numPanels =  $$('div.image-slider-selector ul li').length;
	var current = numPanels;
	
	new PeriodicalExecuter(function(pe) {
		if (current != 0) { 
			which = current - 1;		
			//$$('div.image-slider-selector ul li')[current].removeClassName("current");
			$$('div.image-slider-selector ul li').invoke('removeClassName', 'current');
			$$('div.image-slider-selector ul li')[which].addClassName("current");		
			current = current - 1;
		} else {
			pe.stop();
		}	  
	}, 0.2);
}

var calloutsLgSliding = false;
var calloutsLgWhichOpen = 2;

function calloutsLgSetup() {
	$$('div.callouts-lg div.callout').invoke('setStyle',{ height:'0px' });
	$$('div.callouts-lg div.callout')[calloutsLgWhichOpen].setStyle({ height:'174px' });
	$$('div.callouts-lg h3')[calloutsLgWhichOpen].addClassName('active');
	$$('div.callouts-lg h3')[0].addClassName('first');
}

function calloutsLgToggle(el,x) {	
	var isIE = Prototype.Browser.IE;
	if (isIE) {
		for (i = 1; i <= ($$('div.callouts-lg h3').length-1); i++) {
			if (calloutsLgSliding == false && i!=calloutsLgWhichOpen && calloutsLgWhichOpen != x) {				
				
				if ( i > calloutsLgWhichOpen && i > x ) {
					var topHeightToBe = (30 * i) + 174; 
					$$('div.callouts-lg h3')[i].setStyle({ position:'absolute' });
					$$('div.callouts-lg h3')[i].setStyle({ top:topHeightToBe });
					//var topIs = $$('div.callouts-lg h3')[i].getStyle('top');
					//alert("a:x > whichOpen, "+i+", "+topHeightToBe+", "+topIs);
				}
			}			
		}
	}
	if (calloutsLgSliding == false && calloutsLgWhichOpen != x) {
		calloutsLgSliding = true;
		var nextDiv = el.next();
		var whichOpen = $$('div.callouts-lg div.callout')[calloutsLgWhichOpen];
		
		el.toggleClassName('active');
		whichOpen.previous().toggleClassName('active');

		new Effect.Parallel(
			[
			 	new Effect.Morph(nextDiv, { transition: Effect.Transitions.linear, style:{
												height:'174px'
											  }}), 
			  	new Effect.Morph(whichOpen, { transition: Effect.Transitions.linear, afterFinish: calloutsLgNotSliding, style:{
												height:'0px'
											  }})
			],			
			{	
				duration: 0.3
			}
		);
		
		calloutsLgWhichOpen = x;
	}
}

function calloutsLgNotSliding() {
	calloutsLgSliding = false
	
	var isIE = Prototype.Browser.IE;
	
	if (isIE) {
		$$('div.callouts-lg h3').invoke('setStyle',{ position:'static' });
		$$('div.callouts-lg h3').invoke('setStyle',{ top:'auto' });
	}
}