
function ProPhoto(bID){ 
	this.bID=parseInt(bID);
	this.init=function(){
		this.mainWrap=$('#proPhotoWrap'+this.bID);  
		if( !this.mainWrap.html() ) return false;
		this.servicesURL=$('#servicesURL').val(); 
		this.mainImg=this.mainWrap.find('.mainImage');
		this.mainImageTarget=this.mainWrap.find('.mainImageTarget');
		var pc=$('div#ccm-page-controls')
		this.scrollOffset=(pc && pc.html())?parseInt(pc.css('height').replace('px',''))+24:24; 
		this.currentFID=$('#proPhotoCurrentFID'+this.bID).val();
		if(this.mainImageTarget && this.mainImageTarget.html()) this.mainImgExists=1;
		var bID=this.bID;
		this.mainWrap.find('.pagination a').each(function(){ this.href=this.href+"#proPhoto"+bID;  })
		
		var ArrowR=this.mainImg.find('.arrowRight');
		if(ArrowR && ArrowR.get(0)){
			ArrowR.get(0).proPhotoInstance=this; 
			ArrowR.click(function(){ try{ this.proPhotoInstance.next(); }catch(e){ alert('error: '+e.message)  } return false; });
			var ArrowL=this.mainImg.find('.arrowLeft');
			ArrowL.get(0).proPhotoInstance=this; 
			ArrowL.click(function(){ try{ this.proPhotoInstance.previous(); }catch(e){ alert('error: '+e.message) }  return false;  });
		}
		
		
		this.fIDs=[];
		var fIDsTemp=this.fIDs;
		var bID=this.bID;
		this.mainWrap.find('.proPhotoImgWrap').each(function(){ 
			var fID=this.id.replace('proPhotoImgWrap'+bID+'_',''); 
			fIDsTemp.push({ fID:fID })											 			
		})
		
		this.filmStrip=this.mainWrap.find('.proPhotoFilmStrip'); 
		this.filmStripW = this.filmStrip.width(); 
		this.filmStripInner=this.mainWrap.find('.proPhotoFilmStripInner');
		
		this.sliderDiv = this.mainWrap.find('.proPhotoFilmStrip-slider'); 
		if( !this.filmStrip.html() ) return false;  
		
		this.sliderDiv.get(0).proPhotoInstance=this; 
		
		this.sliderObj = this.sliderDiv.slider( { 
			step: 1, 
			animate: true,
			slide: function(e, ui) {  
				var maxScroll = this.proPhotoInstance.filmStripInner.width() - this.proPhotoInstance.filmStripW - 8; 
				this.proPhotoInstance.filmStripInner.css( 'left' , ui.value * maxScroll / -100 );  
			}
		} );
		this.filmStrip.css('overflow-x','hidden');  
		this.filmStrip.css('overflow','hidden'); 
		this.sliderDiv.css('display',this.filmStrip.css('display'));
		
		if( this.filmStripInner ){
			setTimeout('proPhoto'+this.bID+'.centerStripDelayed=1',2000)
			var proPhoto=this;
			this.filmStripInner.find('img').each(function(i,el){ 
				el.proPhoto=proPhoto;										  
				el.onload=function(){ 
					if(this.proPhoto.photosLoaderTmr) clearTimeout(this.proPhoto.photosLoadedTmr);
					this.proPhoto.centerShortImageStrip();
					this.proPhoto.photosLoadedTmr=setTimeout('proPhoto'+this.proPhoto.bID+'.centerShortImageStrip()',1000);
				}
			}) 
		}
	}  
	
	//center filmstrip & hide scroller if smaller than area width, run after all images loaded
	this.centerShortImageStrip=function(){
		if(this.photosLoaderTmr) clearTimeout(this.photosLoadedTmr);
		
		if(!this.centerStripDelayed)  this.photosLoadedTmr=setTimeout('proPhoto'+this.bID+'.centerShortImageStrip()',1000);
		else this.photosLoadedTmr=setTimeout('proPhoto'+this.bID+'.centerShortImageStrip()',5000);
		
		if( this.filmStripW > this.filmStripInner.width() ){ 
			this.sliderDiv.css('display','none');
			var leftPos=Math.round((this.filmStripW-this.filmStripInner.width())/2);
			this.filmStripInner.animate( { left:leftPos }, 400 ); 
			this.sliderHidden=1;
		}else if(this.sliderHidden){
			this.sliderDiv.css('display','block');
			this.filmStripInner.animate( { left:0 },400 );
			this.sliderHidden=0;
		}
	}
	
	this.next=function(){
		var pos=0;
		for(var i=0;i<this.fIDs.length;i++){
			if( this.fIDs[i].fID==this.currentFID ){
				pos=i;
				break;	
			}
		}
		if((pos+1)>=this.fIDs.length) this.loadLargeImg(this.fIDs[0].fID);
		else this.loadLargeImg(this.fIDs[pos+1].fID);
		return false;
	}
	
	this.previous=function(){  
		var pos=0; 
		for(var i=0;i<this.fIDs.length;i++){
			if( this.fIDs[i].fID==this.currentFID ){
				pos=i;
				break;	
			}
		}
		if((pos-1)<0) this.loadLargeImg(this.fIDs[this.fIDs.length-1].fID);
		else this.loadLargeImg(this.fIDs[pos-1].fID);
		return false;
	}
	
	this.showLarge=function(fID,a){ 
		if(!this.mainImgExists) return true;
		if(a) a.blur(); 
		this.loadLargeImg(fID);
		return false;
	}
	
	this.tagsCID=0;
	this.viewImgEventName="View Filmstrip Image:";
	this.loadLargeImg=function(fID){  
		this.currentFID=fID; 
		this.mainWrap.find('.proPhotoImgWrap').removeClass('selected');
		var currentImg=this.mainWrap.find('#proPhotoImgWrap'+this.bID+'_'+fID)
		currentImg.addClass('selected') 
		this.scrollFilmStrip(fID);
		if(this.loadPhotoAjax) this.loadPhotoAjax.abort();
		this.pendingURL=currentImg.find('a').attr('href');
		if( !parseInt(this.bID) && this.proPhotoInstance) var ProPhotoInstance=this.proPhotoInstance;
		else var ProPhotoInstance = this; 
		this.loadPhotoAjax=$.ajax({ 
			url: this.servicesURL+'?mode=largeImg&fID='+fID+'&bID='+this.bID+'&tagsCID='+this.tagsCID,
			success: function(response){ 
				eval('var jObj='+response); 
				if(jObj.error){ 
				}else{   
					ProPhotoInstance.mainImageTarget.animate({height:jObj.imgH+12, opacity:.0},500, "linear", 
						function(){ 
							ProPhotoInstance.mainImageTarget.get(0).innerHTML=jObj.html;
							ProPhotoInstance.mainImg.find('.imgTitle').html(jObj.title)
							//ProPhotoInstance.mainImg.find('.tagLinks').html(jObj.tagLinks)
							ProPhotoInstance.mainImg.find('.proPhoto_imgDetails').html(jObj.details_html)
							//ProPhotoInstance.mainImg.find('.imgOpts a').get(0).href='/photo/?fID='+fID; 
							if(ProPhotoInstance.pendingURL){
								var detailsA=ProPhotoInstance.mainImg.find('.imgOpts a')
								if(detailsA && detailsA.get(0)) detailsA.get(0).href=ProPhotoInstance.pendingURL;
							}
							ProPhotoInstance.mainImageTarget.animate({opacity:1},500);
							ProPhotoInstance.mainImg.find('.mainImgDataWrap').animate({width:jObj.imgW+12},500);
							//track event on tony_stats traffic monitoring package
							if( typeof(ccmStatsTracker)!='undefined' && typeof(ccmStatsTracker.trackEvent)=='function')
								ccmStatsTracker.trackEvent(ProPhotoInstance.viewImgEventName+' '+jObj.title);
						});
					
				}
			}
		});
		return false;
	}
	
	this.scrollFilmStrip=function(fID){ 
		if(!this.filmStrip.html() || this.sliderHidden) return false; 
		var imgWrap=this.filmStrip.find('#proPhotoImgWrap'+this.bID+'_'+fID);  
		var filmStripInnerW = this.filmStripInner.width();  
		var leftPos = imgWrap.position().left*-1 + (this.filmStripW/2) - (imgWrap.width()/2); 
		if(leftPos>0) leftPos=0;
		if( leftPos < (filmStripInnerW-this.filmStripW)*-1 ) leftPos=(filmStripInnerW-this.filmStripW)*-1;
		this.filmStripInner.animate( { left:leftPos }, 800 );   
		this.sliderObj.slider( 'value', leftPos / (filmStripInnerW-this.filmStripW-8) * -100 )
	}
	
}

//$(function(){ proPhoto.init(); })