// Special Features Box (sfb)

var sfb=new Object;

sfb.currentIndex=0;
sfb.nextIndex=0;
sfb.timerId=0;
sfb.secsPerFeature=7;
sfb.speed=1000 * sfb.secsPerFeature;
sfb.imgPath='/images/sfb/';
sfb.fadeTimeMs=900;
sfb.useFade=true;


sfb.initialise=function(){
	var browserStr=navigator.appVersion;
	var ie6id='MSIE 6';
	var ie6posn=browserStr.indexOf(ie6id);
	if(ie6posn != -1){sfb.useFade=false;}
	sfb.setText(sfb.currentIndex);
	sfb.startCycle();
	}

sfb.startCycle=function(){
	sfb.id=setInterval('sfb.doCycle()',sfb.speed);
	}
	
sfb.stopCycle=function(){	
	clearInterval(sfb.id);
	}

sfb.doCycle=function(){
	var newIx=(sfb.currentIndex/1) + 1;
	
	
	// make sure index is in range
	if(newIx > 4){newIx=0;}
	if(newIx < 0){newIx=0;}
	
	// alert(newIx);
	sfb.setIndex(newIx);
	}
	


sfb.thumbOver=function(thumbRef){
	var thumb=sfb.getThumbDetailsFromRef(thumbRef);
	var newSrc='';
		
	switch(thumb.state){
		case 'thumb': 
			// mouse over active thumb
			
			break;
		case 'thumboff': 
			// mouse over inactive thumb - 
			newSrc=sfb.imgPath + thumb.fileName.replace('thumboff_','thumb_');
			thumbRef.src=newSrc;
			break;
		default: 
			
			break;
		}
	}

sfb.thumbOut=function(thumbRef){
	var thumb=sfb.getThumbDetailsFromRef(thumbRef);
	
	switch(thumb.state){
		case 'thumb': 
			// mouse out active thumb - don't change if index matches
			if(sfb.currentIndex != thumb.sfbIndex){
				newSrc=sfb.imgPath + thumb.fileName.replace('thumb_','thumboff_');
				thumbRef.src=newSrc;
				}
			break;
		case 'thumboff': 
			// mouse out inactive thumb - 
			
			
			break;
		default: 
			
			break;
		}
		
	}

sfb.thumbClick=function(thumbRef){
	var thumb=sfb.getThumbDetailsFromRef(thumbRef);
	
	sfb.stopCycle();
	
	if(sfb.currentIndex == thumb.sfbIndex){
		// click on active thumb - do nothing
		
		}
	else{
		// click on inactive thumb - change index
		sfb.setIndex(thumb.sfbIndex);
		}
	}
	

sfb.setIndex=function(newIx){
	var leftIndicatorRef=document.getElementById('sfb_leftIndicator');
	var rightIndicatorRef=document.getElementById('sfb_rightIndicator');
	var bboxRef=document.getElementById('sfb_bbox');
	var i=0;
	var headingTxt='';
	var contentTxt='';
	
	// make sure index is in range
	if(newIx > 4){newIx=4;}
	if(newIx < 0){newIx=0;}
	
	// change the text
	sfb.setText(newIx);
	
	// change the left and right indicator images
	leftIndicatorRef.src=sfb.imgPath + 'leftIndicator' + newIx + '.gif';
	rightIndicatorRef.src=sfb.imgPath + 'rightIndicator' + newIx + '.gif';
	
	// set the thumnail status
	for(i=0;i<5;i++){
		if(i==newIx){
			sfb.setThumbSrcByIndexAndStatus(i,'thumb');
			}
		else{
			sfb.setThumbSrcByIndexAndStatus(i,'thumboff');
			}
			
		}
		
	
	// set background image on 'bboxRef'
	sfb.setBgImg(newIx);
	
	// update currentIndex
	sfb.currentIndex=newIx;
	}
	
sfb.setThumbSrcByIndexAndStatus=function(sfbIndex,status){
	var thumbId='sfb_thumb_' + sfbIndex;
	var thumbRef=document.getElementById(thumbId);
	var thumb=sfb.getThumbDetailsFromRef(thumbRef);
	var newSrc='';
	
	switch(status){
		case 'thumb': newSrc=sfb.imgPath + thumb.fileName.replace('thumboff_','thumb_'); break;
		case 'thumboff': newSrc=sfb.imgPath + thumb.fileName.replace('thumb_','thumboff_'); break;
		default: newSrc=sfb.imgPath + thumb.fileName.replace('thumb_','thumboff_'); break;
		}
	
	thumbRef.src=newSrc;
	}
	
sfb.setText=function(sfbIndex){
	var i=0;
	var textboxId='';
	var textboxClass='';
	var textBoxRef;
	var linkArray=new Array();
	var linkHref='';
	var linkAlt='';	
	var imgLinkRef=document.getElementById('sfb_image_link');
	var imgRef=document.getElementById('sfb_image');
	
	
	
	for(i=0;i<5;i++){
		
		textboxId='sfb_textbox_' + i;
		textBoxRef=document.getElementById(textboxId);
		
		if(i==sfbIndex){
			textboxClass='textVis';
			linkArray=textBoxRef.getElementsByTagName('a');
			if(linkArray.length > 0){
				linkHref=linkArray[0].href;
				imgLinkRef.href=linkHref;
				}
			}
		else{
			textboxClass='textHid';
			}
		
		textBoxRef.className=textboxClass;
		
		}
		
	
	}

sfb.setBgImg=function(sfbIndex){
	if(sfb.useFade){
		fadeOut.start();
		sfb.nextIndex=sfbIndex;
		setTimeout('sfb.showImage()',sfb.fadeTimeMs);		
		}
	else{
		sfb.nextIndex=sfbIndex;
		sfb.showImage();
		}
	}
	
sfb.showImage=function(){
	var thumbId='sfb_thumb_' + sfb.nextIndex;
	var thumbRef=document.getElementById(thumbId);
	var thumb=sfb.getThumbDetailsFromRef(thumbRef);
	var imgRef=document.getElementById('sfb_image');
	var bgFileName=thumb.fileName.replace('thumb_','');
	var bgImgFile='/images/sfb/' + bgFileName.replace('thumboff_','');
	imgRef.src=bgImgFile;
	imgRef.title=thumb.title;
	imgRef.alt=thumb.alt;
	if(sfb.useFade){fadeOut.start();}
	}


sfb.getThumbDetailsFromRef=function(thumbRef){
	var thumb=new Object;
	thumb.sfbIndex=sfb.getIndexFromId(thumbRef.id);
	thumb.fileName=sfb.getFileFromSrc(thumbRef.src);
	thumb.state=sfb.getThumbStateFromName(thumb.fileName);
	thumb.title=thumbRef.title;
	thumb.alt=thumbRef.alt;
	return thumb;
	}

sfb.getIndexFromId=function(elemId){
	var idArray=elemId.split('_');
	return idArray[idArray.length-1];
	}
	
sfb.getFileFromSrc=function(srcStr){
	var srcArray=srcStr.split('/');
	return srcArray[srcArray.length-1];
	}
	
sfb.getThumbStateFromName=function(fileName){
	var filePartArray=fileName.split('_');
	return filePartArray[0];
	}