var z_index=4001;
var my_slider=null;
var move_timer=null;
var current=0;

Event.observe(window, 'load', start);
var browser_width=get_browser_width()+50;

Event.observe(window, 'resize', function(){ browser_width=get_browser_width()+50; start(); });

function start(){
	start_menu();
	//start_search();
	if($('window_left')){
		my_slider=new start_slider();
	}
}

/* search */
function start_search(){
	$('search_box').onfocus=function(){
		if($('search_box').value=="search") $('search_box').value="";
	}
	$('search_box').onblur=function(){
		int_x=$('search_box').value.split(' ').join('');
		if(int_x=="") $('search_box').value="search";
	}
}

/*slider stuff */
function start_slider(){
	
	left_working=false;
	right_working=true;
	
	var margin_size=((browser_width)/2)+475;
	
	var win=$('window');
	
	/* the buttons */
	var win_a=$$('#window ol li a');
	var win_b=$$('#window ol li b');
	
	/* the list */
	var win_ul=$$('#window ul');
	var win_ul=win_ul[0];
	
	var win_li=$$('#window ul li');
	var li_length=win_li.length;
	
	for(x=0; x<win_li.length; x++){
		new li_setup(win_li[x], x);
	}
	$('window_left').onclick=function(){
		if(left_working){
			current--;
			move(current, true);
		}
		
		return false;
	}
	$('window_right').onclick=function(){
		if(right_working){
			current++;
			move(current, true);
		}
		
		return false;
	}
	
	function li_setup(a, num){
		a.show();
		l_margin=num*margin_size;
		a.style.marginLeft=l_margin+"px";
	}
	
	function move(num, status){
		clearTimeout(move_timer);
		my_duration=status ? 0.5 : 0.1;
		distance=-(num*margin_size)-475;
		
		if(current<=0){ left_working=false; new Effect.Fade('window_left', { to: 0.5 }); }else{ left_working=true; new Effect.Appear('window_left'); }
		if(current>=(li_length-1)){ right_working=false; new Effect.Fade('window_right', { to: 0.5 }); }else{ right_working=true; new Effect.Appear('window_right'); }
		
		new Effect.Morph(win_ul, { style: 'margin-left:'+distance+'px;', duration: my_duration, transition: Effect.Transitions.easeInOutCubic });
		set_move_timer();
	}
	
	function set_move_timer(){
		move_timer=setTimeout( function(){ 
			current++;
			if(current>=li_length) current=0; 
			move(current, true); 
		}, 10000);
	}
	move(current, false);
}

/* nav effects */
function start_menu(){
	
	var nav=$('navigation');
	
	var nav_a=$$('#navigation>li>a');
	var nav_b=$$('#navigation>li>b');
	var nav_i=$$('#navigation>li>i');
	var drop=$$('#navigation>li .dropdown') ? $$('#navigation>li .dropdown') : null;
	
	for(x=0; x<nav_a.length; x++){
		new start_button(nav_a[x], nav_b[x], nav_i[x], drop[x]);
	}
}

function start_button(a, b, i, d){
	
	running=false;
	var roll_timer=null;
	
	a.onmouseover=my_appear;
	if(d!=null) d.onmouseover=my_appear;
	
	a.onmouseout=my_fade;
	if(d!=null) d.onmouseout=my_fade;
	
	function my_appear(){
		z_index++;
		d.style.zIndex=z_index;
		if(roll_timer) clearTimeout(roll_timer);
		new Effect.Appear(b, { duration: 0.3 } );
		new Effect.Appear(d, { duration: 0.3 } );
	}
	
	function my_fade(){
		roll_timer=setTimeout(fade, 100);
	}
	function fade(){
		if(roll_timer){
			running=false;
			new Effect.Fade(b, { duration: 0.5 } );
			new Effect.Fade(d, { duration: 0.25 } );
		}
	}
}

function get_browser_width(){
	if (window.innerWidth){
		return window.innerWidth;
	}
	else if (document.documentElement && document.documentElement.clientWidth != 0){
		return document.documentElement.clientWidth; 
	}
	else if (document.body){
		return document.body.clientWidth;
	}
	return 0;
}
