document.observe('dom:loaded', init);
Event.observe(window, 'load', onPageLoad);
function onPageLoad(){
	imgSwitchArr = $$('img.switch')
	imgSwitchArr.each(function(s){
							s.src = s.title;
							s.title = s.alt;
							});
};
var events;
function init(){
	//active all subnavigations
	init_subnav();

	//active slideshow
	init_slideshow();
}

/*start slideshow*/
var currentSlide = 1;
var slidesArr;
var thisSlideObj;
function init_slideshow(){
	//get all slides
	slidesArr = $$('div.slideshow')
	if(slidesArr.size() > 1){
		setTimeout(findNextSlide,3500);
		setTimeout("setInterval(findNextSlide,7500)",3500);
	}
}
function findNextSlide(){
	slidesArr.each(function(s){
							if (s.visible())
							{
								showNextSlide(s);
								throw $break;
							}
							});
}
function showNextSlide(thisSlide){
	//setup current slide
	thisSlide = $(thisSlide);
	//setup next slide
	thisSlideObj = (slidesArr.last() == thisSlide) ? slidesArr.first() : slidesArr[slidesArr.indexOf(thisSlide)+1];
	//hide current slide
	new Effect.Fade(thisSlide,{duration:2});
	//show next slide
	setTimeout("new Effect.Appear(thisSlideObj,{duration:2}); ",1000);
}
/*end slideshow*/


/*start sub nav*/
var lastSubNavObj = null;
var subNavIFrame = null;
function init_subnav() {
		subNavArr = $$('ul.subnav');
		//loop through list of sub navs
		subNavArr.each(function(s) {
			subNavInstance = new subNav(s);
			//fix width
		});
}

function fixWidth(obj) {
	navParts = obj.immediateDescendants();
	var maxWidth = 0;
	navParts.each(function(s) {
		//alert(s.getWidth() + 'px' + s.firstDescendant().getWidth() + 'px' + s.innerHTML);
		if (s.firstDescendant().getWidth() > maxWidth) maxWidth = s.firstDescendant().getWidth();
	});
	navParts.each(function(s) {
		s.firstDescendant().setStyle({
			width: maxWidth + 'px'
		});
	});
}
function subNav(obj) {
	this.hideStatus = false;
	this.shown = false;
	
	this.doShow = function(){
		if (lastSubNavObj) lastSubNavObj.hide();
		this.hideStatus = false;
		obj.show();
		if (!this.shown) {
			fixWidthInstance = new fixWidth(obj);
			this.shown = true;
		}
		lastSubNavObj = obj;
	}
	this.doShow = this.doShow.bind(this);
	
	this.startHide = function(){
		this.hideStatus = true;
		setTimeout(this.doHide,600);
	}
	this.startHide = this.startHide.bind(this);
	
	this.doHide = function(){
		if (this.hideStatus) obj.hide();
	}
	this.doHide = this.doHide.bind(this);

	this.init = function() {
		ancestors = obj.ancestors();
		ancestors[0].observe('mouseover',this.doShow);
		ancestors[0].observe('mouseout',this.startHide);
	}
	this.init = this.init.bind(this);


	this.init();
}/*end sub nav*/