function slide_to( arg, main_id, transition ){
	var transition		= ( transition == undefined || transition == 'slide' ) ? 'slide': 'fade';
	var slide_to 		= ( arg != undefined ) ? arg : 1;
	var current_slide 	= document.getElementById(main_id+'_current_slide');
	var total_slides 	= document.getElementById(main_id+'_total_slides').value;
	var move_by			= 0;
	if( slide_to != current_slide ){
		if( slide_to == 'previous' && current_slide.value != 0 ){
			slide_to = ( current_slide.value == 1 ) ? total_slides : (current_slide.value*1)-1;
			move_by  = ( current_slide.value == 1 ) ? -((total_slides * 900) - 900): 900;
		}
		else if( slide_to == 'next' && current_slide.value != 0 ){
			slide_to = ( current_slide.value == total_slides ) ? 1 : (current_slide.value*1)+1;
			move_by  = ( current_slide.value == total_slides ) ? (total_slides * 900) - 900: -900;
		}
		else
			move_by	 = ( current_slide.value - slide_to ) * 900;
		
		var menu = document.getElementById(main_id+'-menu');
		var menu_items = Array();
		// update all menu items and divs
		var slide_counter = 0;
		for( var i = 0; i < menu.childNodes.length; i++ ){
			var node = menu.childNodes[i];
			if( node.nodeName == 'LI' ){
				node.id = ( slide_counter == slide_to ) ? 'current': '';
				if( (slide_counter+1) <= total_slides && $('slide_'+(slide_counter+1)) != undefined )
					$('slide_'+(slide_counter+1)).style.display = 'none';
				slide_counter++;
			}
		}
		current_slide.value = slide_to;
		if( transition == 'slide' ){
			new Effect.MoveBy(main_id+'-container', 0, move_by , {duration: 0,  transition: Effect.Transitions.sinoidal, queue: 'end'});
		}
		else{
			$('slide_'+slide_to).style.display = 'block';		
		}
	}
}

function fade_to( arg, main_id ){
	slide_to(arg, main_id, 'fade');
}

function homepage_slide(){
	fade_to('next', 'left');
}