/* ******************************************************************************
  JavaScript Scrolling Gallery controller
	
 	Copyright (c) 2008 David Turner (davidturner.info)
 	Date: 30/07/2008	 
		 
****************************************************************************** */

document.observe('dom:loaded', function(){	

	if($('FeatureLinks')){
		
		if($$('div#FeatureLinksScroll .FeatureLink').size()>2){
			__setupPrevFeatureLink();			
		};
		
		if($$('div#FeatureLinksScroll .FeatureLink').size()>1){ 
			
			
			
			new PeriodicalExecuter(function(){ __loadFeatureLink('next'); }, 6);
			
			var FeatLinks_Nav = new Element('div').writeAttribute('id','FeatureLinksNav');
			
			var FeatLinks_Nav_Next = new Element('a').writeAttribute('href','#').addClassName('next').update('Next');
			FeatLinks_Nav.insert({'bottom':FeatLinks_Nav_Next});
			
			Event.observe(FeatLinks_Nav_Next, 'click', function(event){	
					Event.stop(event);
					__loadFeatureLink('next');
				});
			
			var FeatLinks_Nav_Prev = new Element('a').writeAttribute('href','#').addClassName('prev').update('Prev');
			FeatLinks_Nav.insert({'bottom':FeatLinks_Nav_Prev});
			Event.observe(FeatLinks_Nav_Prev, 'click', function(event){	
					Event.stop(event);
					__loadFeatureLink('previous');
				});
		}
		/*
		var featCount = 1;
		$('FeatureLinks').childElements()[0].childElements().each(function(featLink){
			
			var FeatLinks_Nav_Item = new Element('a').writeAttribute('href','#').update(featLink.childElements()[0].childElements()[0].childElements()[0].innerHTML);
			if(featCount == 1){
				FeatLinks_Nav_Item.addClassName('selected');
			}
			FeatLinks_Nav.insert({'bottom':FeatLinks_Nav_Item});

			Event.observe(FeatLinks_Nav_Item, 'click', function(event){	
				Event.stop(event);
				if(!this.hasClassName('selected')){
					$$('div#FeatureLinksNav a.selected')[0].removeClassName('selected');
					this.addClassName('selected');
					__loadFeatureLink(this.previousSiblings().size()+1)
				}
				
			});
			
			featCount = featCount + 1;
		});
		*/
		$('FeatureLinks').insert({'after':FeatLinks_Nav});
		
	}

});


function __loadFeatureLink(request){
	
	if(!$('FeatureLinksScroll').hasClassName('animate')){
		$('FeatureLinksScroll').addClassName('animate');
		
		var cbFb = __setupNextFeatureLink; 
		if(request=='next'){
			featLinkNo = $$('#FeatureLinksScroll div.FeatureLink.selected')[0].previousSiblings().size()+2;
		}else if(request=="previous"){
			cbFb = __setupPrevFeatureLink;
			featLinkNo = $$('#FeatureLinksScroll div.FeatureLink.selected')[0].previousSiblings().size();
		}else{
			featLinkNo = request;
		}
		
		///console.log(request+' ==> '+featLinkNo);
		
		$$('#FeatureLinksScroll div.FeatureLink.selected')[0].removeClassName('selected');
		$$('#FeatureLinksScroll div.FeatureLink')[featLinkNo-1].addClassName('selected');
		var newPos = $('FeatureLinksScroll').childElements()[featLinkNo-1].positionedOffset()['left'];
		jQuery('#FeatureLinksScroll').animate({'left':'-'+newPos+'px'},500,'swing', cbFb);
	
	/*
		//console.log(featLinkNo);
		var newPos = $('FeatureLinksScroll').childElements()[featLinkNo-1].positionedOffset()['left'];
		var curPos = $('FeatureLinksScroll').getStyle('left');//.positionedOffset()['left'];
		
		if($('FeatureLinksScroll').hasClassName('fade')){
			
			jQuery('#FeatureLinksScroll')
				.fadeOut('slow',function(){
					jQuery('#FeatureLinksScroll')											 	
						.css('left','-'+newPos+'px')
						.fadeIn('slow')
			})
			
		}else{
	
			if(newPos>curPos){
				jQuery('#FeatureLinksScroll').animate({'left':'-'+newPos+'px'},500,'swing', __setupNextFeatureLink);
			}else{
				jQuery('#FeatureLinksScroll').animate({'left':'-'+newPos+'px'},500,'swing',__setupPrevFeatureLink);
			}
			
		}	
		*/
	}else{
		//console.log('Already Animating');
	}
	
}

function __nextFeatureLinks(){
	if(!$('FeatureLinksScroll').hasClassName('animate')){
		var CurrLink = $$('div#FeatureLinksScroll .FeatureLink.selected')[0];
		CurrLink.removeClassName('selected');	
		var intNext = 1;
		
		//console.info(CurrLink.nextSiblings());
		if(CurrLink.nextSiblings().size()>0){
			intNext = CurrLink.previousSiblings().size()+2;
		}
	
		$$('div#FeatureLinksScroll .FeatureLink')[intNext-1].addClassName('selected');
		__loadFeatureLink(intNext);
	}
}

function __setupPrevFeatureLink(){
	//console.log('prev setup');
	$('FeatureLinksScroll').insert({'top':$$('div#FeatureLinksScroll .FeatureLink').last()});
	var selPos = $$('#FeatureLinksScroll .selected')[0].positionedOffset()['left'];
	$('FeatureLinksScroll').setStyle({'left':'-'+selPos+'px'});
	$('FeatureLinksScroll').removeClassName('animate')	;
	
}

function __setupNextFeatureLink(){
	//console.log('next setup');
	$('FeatureLinksScroll').insert({'bottom':$$('div#FeatureLinksScroll .FeatureLink').first()});
	var selPos = $$('#FeatureLinksScroll .selected')[0].positionedOffset()['left'];
	$('FeatureLinksScroll').setStyle({'left':'-'+selPos+'px'});
	$('FeatureLinksScroll').removeClassName('animate');	
	
}



