

window.addEvent('domready', function() {

	initNav();

});









///////////////////////////////////////////

// TOP NAVIGATION & DROPDOWNS /////////////

///////////////////////////////////////////

var theLinks = $$("#nav a");

var dropOver = false;



function initNav() {

	var theLinks = $$("#nav a");

	theLinks.each(function(theLink) {

		var dropBox = (theLink.getProperty('rel')) ? $(theLink.getProperty('rel')): null;

		theLink.addEvent('mouseover', function() { 

			if(dropBox != null) { toggleDrop(theLink,dropBox,'over'); }

			toggleNavLink(theLink,'over');

		});

		theLink.addEvent('mouseout', function() { 

			if(dropBox != null && dropOver == false) { toggleDrop(theLink,dropBox,'out');  }

			toggleNavLink(theLink,'out');

		});

		if(dropBox != null) {

			dropBox.addEvent('mouseover', function() { 

				dropOver = true;

				toggleDrop(theLink,dropBox,'over');

			});

			dropBox.addEvent('mouseout', function() { 

				dropOver = false;

				toggleDrop(theLink,dropBox,'out');	

			});

		}

	});

}

function toggleNavLink(link,state) {

	(state == "over") ? link.addClass('selected'): link.removeClass('selected');

}

function toggleDrop(link,dropBox,state) {

	var dropLeft = link.getLeft();

	(state == "over") ? dropBox.setStyles({'display':'block','left':dropLeft,'z-index':'10000'}): dropBox.setStyle('display','none');

	(state == "over") ? link.addClass('selected'): link.removeClass('selected');

	if(state == "over") {

		//MAKE UP FOR DROPDOWN THAT'S OUT OF CONTAINER

		var maxLeft = ((window.getWidth()-980)/2)+980;

		var posLeft = link.getLeft()+dropBox.getWidth();

		var isOutOfBox = (posLeft > maxLeft) ? true: false;

		if(isOutOfBox == true) {

			dropBox.setStyles({'left':(link.getLeft()+link.getWidth())-(dropBox.getWidth()-10)}); 

		}

	}

}

///////////////////////////////////////////////////////////////////////////
///Feature bugs
///////////////////////////////////////////////////////////////////////////
var slideMenu = function() {
	var sp,st,t,m,sa,l,w,sw,ot;
	return {
		build:function(sm,sw,mt,s,sl,h) {
			sp=s; st=sw; t=mt;
			m=document.getElementById(sm);
			sa=m.getElementsByTagName('li');
			l=sa.length; w=m.offsetWidth; sw=w/l;
			ot=Math.floor((w-st)/(l-1)); var i=0;
			for(i;i<l;i++){s=sa[i]; s.style.width=sw+'px'; this.timer(s)}
			if(sl!=null){m.timer=setInterval(function(){slideMenu.slide(sa[sl-1])},t)}
		},
		timer:function(s) { 
			s.onmouseover = function() { 
				clearInterval(m.timer);
				m.timer = setInterval(function() { 
					slideMenu.slide(s)
				},
			t)}
		},
		slide:function(s) {
			var cw=parseInt(s.style.width,'10');
			if(cw<st) {
				var owt=0; var i=0;
				for(i;i<l;i++) {
					if(sa[i]!=s) {
						var o,ow;
						var oi = 0;
						o = sa[i]; 
						ow=parseInt(o.style.width,'10');
						if(ow>ot) { 
							oi = Math.floor((ow-ot)/sp);
							oi=(oi>0)?oi:1;
							o.style.width=(ow-oi)+'px'
						}
						owt=owt+(ow-oi)
					}
				}
				s.style.width=(w-owt)+'px';
			} 
			else { 
				clearInterval(m.timer)
			}
		}
	};
}();



