(function(){YAHOO.namespace("phanfare.tocv2");var tocv2=YAHOO.phanfare.tocv2;var Dom=YAHOO.util.Dom;var Event=YAHOO.util.Event;var LastAutoLength=1;tocv2.AlbumYearHolder=function(albumYear,customTimelessString){this.albumYear=albumYear;this.content=document.createElement("div");this.content.className="clearfix";this.content.style.position="relative";this.isLoaded=false;this.isLoading=false;this.AlbumsPerPull=50;this.albumCoverMargin=12;this.serviceAlbums=new Array();var yearStripe=document.createElement("div");Dom.addClass(yearStripe,"phanfare_year_stripe");Dom.addClass(albumHolder,"clearfix");if(albumYear.year!=9999)
{yearStripe.innerHTML=Common_String_Format("{0} Albums",albumYear.year);}else if(customTimelessString)
{yearStripe.innerHTML=customTimelessString;}else{yearStripe.innerHTML="Timeless Albums";}
this.content.appendChild(yearStripe);var albumHolder=document.createElement("div");Dom.addClass(albumHolder,"phanfare_year_area");Dom.addClass(albumHolder,"clearfix");this.albumCovers=new Array();for(var i=0;i<albumYear.album_ids.length;i++)
{var albumCover=new tocv2.AlbumCover(albumYear.album_ids[i]);this.albumCovers.push(albumCover);albumHolder.appendChild(albumCover.content);}
var clean=document.createElement("div");clean.className="clean";albumHolder.appendChild(clean);this.content.appendChild(albumHolder);};tocv2.AlbumYearHolder.prototype={loadAlbums:function(service)
{if(this.isLoaded==true||this.isLoading==true)
{return;}
this.isLoading=true;var albumsToGet=null;if(this.albumYear.album_ids.length>this.AlbumsPerPull)
{albumsToGet=this.albumYear.album_ids.slice(this.albumYear.album_ids.length-this.AlbumsPerPull);}else{albumsToGet=this.albumYear.album_ids}
this.loadedCount=albumsToGet.length;var callbacks={scope:this,success:this.albumYearLoaded,failure:this.albumYearFailed,state:service};if(TOC_PageType=='SocialNetworking')
{service.GetAlbums(TOC_Session,TOC_TargetUid,albumsToGet,-1,false,false,callbacks);}else{service.GetSiteAlbums(TOC_Session,TOC_TargetUid,TOC_SiteId,albumsToGet,callbacks);}},albumYearLoaded:function(state,result)
{var serviceAlbums=YAHOO.lang.JSON.parse(result.albums_json);var startLength=this.serviceAlbums.length;for(var i=0;i<serviceAlbums.length;i++)
{this.serviceAlbums.push(serviceAlbums[i]);}
if(this.serviceAlbums.length!=0)
{this.populateAlbums(startLength,this.serviceAlbums.length);}else{this.isLoaded=true;this.isLoading=false;}
if(this.loadedCount<this.albumYear.album_ids.length)
{var me=this;setTimeout(function(){me.loadMoreAlbums(state)},3000);}},loadMoreAlbums:function(service)
{var countToPull=Math.min(this.albumYear.album_ids.length-this.loadedCount,this.AlbumsPerPull);var albumsToGet=this.albumYear.album_ids.slice(this.albumYear.album_ids.length-this.loadedCount-countToPull,this.albumYear.album_ids.length-this.loadedCount);this.loadedCount+=countToPull;var callbacks={scope:this,success:this.albumYearLoaded,failure:this.albumYearFailed,state:service};if(TOC_PageType=='SocialNetworking')
{service.GetAlbums(TOC_Session,TOC_TargetUid,albumsToGet,-1,false,callbacks);}else{service.GetSiteAlbums(TOC_Session,TOC_TargetUid,TOC_SiteId,albumsToGet,callbacks);}},populateAlbums:function(startIndex,endIndex)
{for(var i=startIndex;i<startIndex+3&&i<this.serviceAlbums.length&&i<endIndex;i++)
{if(this.isLoaded==false)
{this.albumCovers[i].populate(this.serviceAlbums[i]);}}
startIndex=i;if(i<endIndex)
{var me=this;setTimeout(function(){me.populateAlbums(startIndex,endIndex)},100);}else if(endIndex>=this.albumYear.album_ids.length){this.isLoaded=true;this.isLoading=false;}},albumYearFailed:function(state,result)
{if(result.return_code==3)
{window.location=Common_String_Format("http://www.phanfare.com/login.aspx?c={0}",escape(window.location));}
this.isLoading=false;this.isLoaded=true;},setAlbumCoverMargin:function(newMargin){this.albumCoverMargin=newMargin;for(var n=0;n<this.albumCovers.length;n++){this.albumCovers[n].setMargin(this.albumCoverMargin);}}};tocv2.AlbumCover=function(albumId){this.isLoaded=false;this.albumId=albumId;this.content=document.createElement("div");Dom.addClass(this.content,"album-thumbnail-content");var thumbnailBorder=document.createElement("div");Dom.addClass(thumbnailBorder,"album-thumbnail-content-border");this.thumbnailContent=document.createElement("div");Dom.addClass(this.thumbnailContent,"album-thumbnail-content-inner");Dom.addClass(this.thumbnailContent,"album-thumbnail-content-dummy");thumbnailBorder.appendChild(this.thumbnailContent);this.content.appendChild(thumbnailBorder);if(TOC_HasBackground==0){var thumbnailMask=document.createElement("div");thumbnailMask.style.border="0";Dom.addClass(thumbnailMask,"album-thumbnail-mask");this.content.appendChild(thumbnailMask);}
this.albumName=document.createElement("div");Dom.addClass(this.albumName,"album-thumbnail-info-name");this.albumName.innerHTML="Loading...";this.content.appendChild(this.albumName);this.albumDate=document.createElement("div");Dom.addClass(this.albumDate,"album-thumbnail-info-date");this.content.appendChild(this.albumDate);var me=this;this.thumbnailContent.onclick=function(){me.navToAlbum();};if(TOC_HasBackground==0){thumbnailMask.onclick=function(){me.navToAlbum();};}};tocv2.AlbumCover.prototype={populate:function(album)
{this.album=album;this.isLoaded=true;this.albumName.innerHTML=Common_String_Format("<a href='/{0}{1}'>{2}</a>",TOC_WebRoot,this.album.album_id,this.autoEllipseText(this.albumName,this.album.name,158));this.thumbnailContent.title=this.album.name;this.albumName.title=this.album.name;if(this.album.album_type==1){this.albumDate.innerHTML="";}else{this.album.startDate=convertDate(this.album.start_date,true);this.album.endDate=convertDate(this.album.end_date,true);var startDate=this.album.startDate.format("mmmm d, yyyy");var endDate=this.album.endDate.format("mmmm d, yyyy");if(startDate==endDate){this.albumDate.innerHTML=startDate;}else{var startDate=this.album.startDate.format("mmm d");var endDate=this.album.endDate.format("mmm d, yyyy");this.albumDate.innerHTML=startDate+" - "+endDate;}}
if(this.album.LeadThumbnail!=null)
{Dom.removeClass(this.thumbnailContent,"album-thumbnail-content-dummy");this.thumbnailContent.style.backgroundImage="url("+this.album.LeadThumbnail.url+"/0_0_158_158/nil)";this.thumbnailContent.style.height="158px";this.thumbnailContent.style.width="158px";}else{this.thumbnailContent.style.backgroundImage="url("+"http://www.local.phanfare.com/wcimages/DummyThumbnailLarge.jpg"+")";}},autoEllipseText:function(element,text,width)
{element.innerHTML='<span id="ellipsisSpan" style="white-space:nowrap;">'+text+'</span>';inSpan=document.getElementById('ellipsisSpan');if(inSpan.offsetWidth>width)
{var i=LastAutoLength;inSpan.innerHTML=text.substr(0,i)+'...';if(inSpan.offsetWidth>width)
{i--;while(inSpan.offsetWidth>(width)&&i>0)
{inSpan.innerHTML=text.substr(0,i)+'...';i--;}}
else if(inSpan.offsetWidth<width)
{i++;while(inSpan.offsetWidth<(width)&&i<text.length)
{inSpan.innerHTML=text.substr(0,i)+'...';i++;}}
LastAutoLength=i;returnText=inSpan.innerHTML;element.innerHTML='';return returnText;}
return text;},navToAlbum:function()
{if(this.isLoaded=false)
{return;}
window.location=Common_String_Format("/{0}{1}",TOC_WebRoot,this.album.album_id);},setMargin:function(newMargin){this.content.style.margin=newMargin+"px";}};})();
(function(){YAHOO.namespace("phanfare.tocv2");var tocv2=YAHOO.phanfare.tocv2;var Dom=YAHOO.util.Dom;var Event=YAHOO.util.Event;tocv2.HeaderYears=function(yearArea,toc,parentHolder){this.yearArea=yearArea;this.toc=toc;this.parentHolder=parentHolder;this.nSlots=5;this.currentIndex=-1;var startIndex=0;for(var i=0;i<this.toc.length;i++)
{if(this.toc[i].year==TOC_StartYear)
{startIndex=i;break;}}
this.moveToIndex(startIndex,true);};tocv2.HeaderYears.prototype={clear:function()
{Common_RemoveChildren(this.parentHolder);},currentYear:function()
{if(this.currentIndex!=-1)
{return this.toc[this.currentIndex].year;}
return-1;},moveBack:function()
{var newIndex=Math.max((Math.floor(this.currentIndex/this.nSlots)*this.nSlots)-this.nSlots,0);this.moveToIndex(newIndex,true);},moveForward:function()
{var newIndex=Math.min((Math.floor(this.currentIndex/this.nSlots)*this.nSlots)+this.nSlots,(Math.floor(this.toc.length/this.nSlots)*this.nSlots));this.moveToIndex(newIndex,true);},moveToIndex:function(index,fromSelf)
{if(this.currentIndex==index)
{return;}
this.currentIndex=index;var firstYearIndex=Math.floor(this.currentIndex/this.nSlots)*this.nSlots;this.firstYear=this.toc[firstYearIndex];this.draw();if(fromSelf==true)
{this.yearArea.moveToYear(this.currentIndex);}},draw:function()
{this.clear();if(this.toc.length==0)
{return;}
var me=this;var isFirstYear=this.firstYear==this.toc[0];var imgSrc;if(!isFirstYear)
{var li=document.createElement("li");var anchor=document.createElement("a");anchor.style.cursor="pointer";anchor.onclick=function(){me.moveBack();};anchor.className="yearheader-left-arrow";var img=document.createElement("img");img.style.height="25px";img.style.width="10px";img.src="/psimages/clearpixel.gif";anchor.appendChild(img);li.appendChild(anchor);this.parentHolder.appendChild(li);}
var index=0;for(var i=0;i<this.toc.length;i++)
{if(this.toc[i].year==this.firstYear.year)
{index=i;break;}}
var year=this.firstYear;var previousYear=-1;var years=0;do
{var li=document.createElement("li");var anchor=document.createElement("a");anchor.style.cursor="pointer";anchor.offset=0;anchor.year=index;anchor.onclick=function(ev){var t=getTarget(ev);me.moveToIndex(t.parentNode.year,true);};anchor.count=15;if(isRenderedStyle(TOC_StyleId))
{var whiteBlack=year!=this.toc[this.currentIndex]?"White":"Black";var alt;imgSrc;if(year.year!=9999)
imgSrc=Common_String_Format("/psimages/shared/Year{0}{1}.{2}.{3}.gif",whiteBlack,"",TOC_StyleId,year.year);else
imgSrc=(year.year!=this.toc[this.currentIndex].year)?TOC_TAYWhiteUrl:TOC_TAYBlackUrl;if(year.year<9999)
{alt=year.year;}
else
{alt='"'+TOC_TimelessHeader+'"';}
var img=document.createElement("img");img.src=imgSrc;img.alt=img.title=alt;anchor.appendChild(img);li.appendChild(anchor);}else{if(year.year!=9999){anchor.innerHTML="<span class='"+((year.year!=this.toc[this.currentIndex].year)?"yearheader":"yearheaderselected")+"'>"+year.year+"</span>";}else{anchor.innerHTML="<span class='"+((year.year!=this.toc[this.currentIndex].year)?"yearheader":"yearheaderselected")+"'>"+TOC_TimelessHeader+"</span>";}
li.appendChild(anchor);}
this.parentHolder.appendChild(li);if(Common_isIE&&year==9999)
{img.removeAttribute("width");img.removeAttribute("height");}
previousYear=year;index++;year=this.toc[index];if(year==null)
break;years++;}
while(years<this.nSlots);var moreYearsToShow=previousYear!=this.toc[this.toc.length-1];if(moreYearsToShow)
{var li=document.createElement("li");var anchor=document.createElement("a");anchor.onclick=function(){me.moveForward();};anchor.style.cursor="pointer";anchor.className="yearheader-right-arrow";var img=document.createElement("img");img.style.height="25px";img.style.width="10px";img.src="/psimages/clearpixel.gif";anchor.appendChild(img);li.appendChild(anchor);this.parentHolder.appendChild(li);}
if(this.parentHolder.lastChild!=null)
this.parentHolder.lastChild.className="lastItem";}};})();
(function(){YAHOO.namespace("phanfare.tocv2");var tocv2=YAHOO.phanfare.tocv2;var Dom=YAHOO.util.Dom;var Region=YAHOO.util.Region;var Event=YAHOO.util.Event;tocv2.LargeImageManager=function(main,service,container,headerYears,width,height){this.main=main;this.service=service;this.height=height;this.headerYears=headerYears;this.container=container;this.imageContainers=new Array();this.imageInfos=new Array();this.imageInfoPosition=0;this.imageContainersLeaving=new Array();this.fadeCount=0;this.imageCount=0;var toc=this.headerYears.toc;for(var i=0;i<toc.length;i++)
{this.imageInfos[toc[i].year]=new Array();}
this.requestOutstanding=false;var me=this;me.showNewImages(false);setInterval(function(){me.showNewImages(true);},3000);};tocv2.LargeImageManager.prototype={showNewImages:function(fade)
{if(this.requestOutstanding==true)
{return;}
var currentYear=this.headerYears.currentYear();if(currentYear==-1)
{return;}
var yearImageInfos=this.imageInfos[currentYear];if(yearImageInfos.length==0)
{var callBackState=new Object;callBackState.currentYear=currentYear;callBackState.fade=fade;var callbacks={scope:this,success:this.imagesLoaded,failure:this.imagesLoaded,state:callBackState};var url=Common_String_Format("{0}&year={1}&manager={2}",TOC_FeaturedImageJavaScriptUrl,currentYear,"none")
this.service.GetTocRandomImages(url,callbacks);this.requestOutstanding=true;}else{this.fadeImages(currentYear,fade);}},imagesLoaded:function(state,result)
{this.requestOutstanding=false;if(state==null||result==null)
{return;}
this.imageInfos[state.currentYear]=result.year;this.fadeImages(state.currentYear,state.fade);},fadeImages:function(currentYear,fade)
{if(this.container.style.display=="none")
{return;}
if(this.fadeCount!=0&&fade==true)
{return;}
if(this.height==0||this.width==0)
{return;}
var containerRegion=Region.getRegion(this.container);if(fade==true&&this.imageContainers.length!=0)
{if(this.imageInfos[currentYear].length<=this.imageCount)
{return;}
var toRemove=this.imageContainers[0];this.imageContainersLeaving.push(toRemove);this.fadeOutImage(toRemove.content,3.5,this.removeImageFromPage,toRemove);this.imageContainers.remove(toRemove);this.drawNewImages(currentYear,containerRegion,toRemove.position,false);}
if(this.imageContainers.length<this.imageCount)
{this.drawNewImages(currentYear,containerRegion,null,true);}},sizeChanged:function(width,height)
{if(this.container.style.display=="none")
{return;}
this.width=width;this.height=height;while(this.imageContainersLeaving.length>this.imageCount)
{var removeContainer=this.imageContainersLeaving.pop();try{this.container.removeChild(imageContainersLeaving.content);}catch(e){}}
var prevCount=this.imageCount;this.imageSize=Math.min(this.width,this.height);this.imageCount=Math.max(1,Math.floor(this.height/(this.imageSize+10)));var possibleCount=this.height/((this.imageSize+10)*1.0);if(Dom.getViewportHeight()>(this.main.hasDescr==true?900:800))
{this.imageCount++;this.imageSize=(this.height/this.imageCount)-10;}
var sizeChanged=prevCount&&this.imageCount>prevCount;while(this.imageContainers.length>this.imageCount)
{var removeContainer=this.imageContainers.pop();this.container.removeChild(removeContainer.content);}
var containerRegion=Region.getRegion(this.container);for(var i=0;i<this.imageContainers.length;i++)
{var result=this.getLocationAndSize(containerRegion,this.imageContainers[i],i);this.imageContainers[i].imgContent.style.width=result.width+"px";this.imageContainers[i].imgContent.style.height=result.height+"px";Dom.setXY(this.imageContainers[i].content,[result.xLoc,result.yLoc]);this.imageContainers[i].position=i;}
if(sizeChanged==true)
{this.showNewImages(false);}},drawNewImages:function(currentYear,containerRegion,position,fill)
{while(this.imageContainers.length<this.imageCount)
{if(!currentYear)
{currentYear=this.headerYears.currentYear();}
if(!currentYear)
{break;}
if(this.imageInfos[currentYear].length==0)
{break;}
this.imageInfoPosition=(this.imageInfoPosition+1)%this.imageInfos[currentYear].length;var imageContainer=new Object;var outerDiv=document.createElement("div");outerDiv.style.position="absolute";outerDiv.style.opacity=0;outerDiv.style.filter='alpha(opacity=0)';outerDiv.style.overflow="visible";var innerDiv=document.createElement("div");innerDiv.style.position="relative";innerDiv.style.overflow="visible";innerDiv.className="standardImageOutterDiv";innerDiv.style.margin="0px";innerDiv.style.overflow="visible";outerDiv.appendChild(innerDiv);imageContainer.imgContent=document.createElement("img");imageContainer.imgContent.border="0";var anchor=document.createElement("a");anchor.appendChild(imageContainer.imgContent);anchor.href=Common_String_Format("/{0}{1}_{2}#imageID={3}",TOC_WebRoot,this.imageInfos[currentYear][this.imageInfoPosition].album_id,this.imageInfos[currentYear][this.imageInfoPosition].section_id,this.imageInfos[currentYear][this.imageInfoPosition].image_id);innerDiv.appendChild(anchor);if(YAHOO.env.ua.ie<=0)
{var rightShadow=document.createElement("div");rightShadow.className="standardImageMR";rightShadow.style.position="absolute";rightShadow.style.right="0px";rightShadow.style.top="10px";outerDiv.appendChild(rightShadow);imageContainer.rightShadow=rightShadow;var bottomShadow=document.createElement("div");bottomShadow.className="standardImageLC";bottomShadow.style.position="absolute";bottomShadow.style.right="12px";bottomShadow.style.bottom="0px";bottomShadow.style.height="12px";outerDiv.appendChild(bottomShadow);imageContainer.bottomShadow=bottomShadow;var cornerShadow=document.createElement("div");cornerShadow.className="standardImageLR";cornerShadow.style.position="absolute";cornerShadow.style.right="0px";cornerShadow.style.bottom="0px";outerDiv.appendChild(cornerShadow);imageContainer.cornerShadow=cornerShadow;}
imageContainer.content=outerDiv;imageContainer.imageWidth=this.imageInfos[currentYear][this.imageInfoPosition].width;imageContainer.imageHeight=this.imageInfos[currentYear][this.imageInfoPosition].height;imageContainer.position=position==null?this.imageContainers.length:position;var result=this.getLocationAndSize(containerRegion,imageContainer,imageContainer.position);imageContainer.imgContent.style.width=result.width+"px";imageContainer.imgContent.style.height=result.height+"px";imageContainer.imgContent.src=Common_String_Format("{0}/0_0_{1}_{2}/nil",this.imageInfos[currentYear][this.imageInfoPosition].priv_url,result.width,result.height);this.container.appendChild(imageContainer.content);Dom.setXY(imageContainer.content,[result.xLoc,result.yLoc]);this.fadeInImage(imageContainer.content,3.5);this.imageContainers.push(imageContainer);if(fill==false)
{break;}}},getLocationAndSize:function(containerRegion,imageContainer,position)
{var topXPreCenter=containerRegion.left;var topYPreCenter=containerRegion.top+((this.imageSize+10)*position);var topXCenter=imageContainer.imageWidth>imageContainer.imageHeight?15:((this.width/2)-(this.imageSize/2))+topXPreCenter;var topYCenter=topYPreCenter;var newImageWidth;var newImageXOffset;var newImageHeight;var newImageYOffset;if(imageContainer.imageWidth>imageContainer.imageHeight)
{newImageXOffset=0;newImageWidth=this.width-10;newImageHeight=(imageContainer.imageHeight/imageContainer.imageWidth)*newImageWidth;if(newImageHeight>this.imageSize)
{newImageHeight=this.imageSize-10;newImageWidth=(imageContainer.imageWidth/imageContainer.imageHeight)*newImageHeight;newImageYOffset=0;newImageXOffset=(((this.width-10)/2)-(newImageWidth/2));}else{newImageYOffset=0;}}else{newImageYOffset=0;newImageHeight=this.imageSize-10;newImageWidth=(imageContainer.imageWidth/imageContainer.imageHeight)*newImageHeight;newImageXOffset=((newImageHeight/2)-(newImageWidth/2));}
var o=new Object;o.xLoc=topXCenter+newImageXOffset;o.yLoc=topYCenter+newImageYOffset;o.width=parseInt(newImageWidth);o.height=parseInt(newImageHeight);if(YAHOO.env.ua.ie<=0)
{imageContainer.rightShadow.style.height=(o.height)+"px";imageContainer.bottomShadow.style.width=(o.width)+"px";}
imageContainer.content.firstChild.style.height=(o.height)+"px";imageContainer.content.firstChild.style.width=(o.width)+"px";if(YAHOO.env.ua.ie<=0)
{imageContainer.content.style.height=(o.height+22)+"px";imageContainer.content.style.width=(o.width+22)+"px";}else{imageContainer.content.style.height=(o.height+10)+"px";imageContainer.content.style.width=(o.width+10)+"px";o.xLoc++;}
return o;},fadeOutImage:function(div_element_param,seconds_param,callback_param,callback_obj_param)
{var anim=new YAHOO.util.Anim(div_element_param,{opacity:{from:0.99,to:0.01}},seconds_param,YAHOO.util.Easing.easeBoth);if(callback_param){var o=new Object;o.content=callback_obj_param;o.scope=this;anim.onComplete.subscribe(callback_param,o,o);}
this.fadeCount++;anim.animate();},fadeInImage:function(div_element_param,seconds_param,callback_param,callback_obj_param)
{var anim=new YAHOO.util.Anim(div_element_param,{opacity:{from:0.01,to:.99}},seconds_param,YAHOO.util.Easing.easeBoth);if(callback_param){anim.onComplete.subscribe(callback_param,div_element_param,callback_obj_param);}
anim.animate();},removeImageFromPage:function(e,other,oldImage,scope)
{oldImage.scope.container.removeChild(oldImage.content.content);oldImage.scope.imageContainersLeaving.remove(oldImage.content);oldImage.scope.fadeCount--;}};Array.prototype.remove=function(obj){var from=-1;for(var i=0;i<this.length;i++)
{if(this[i]==obj)
{from=i;break;}}
if(from==-1)
{return;}
var rest=this.slice((from)+1||this.length);this.length=from<0?this.length+from:from;return this.push.apply(this,rest);};})();
(function(){YAHOO.namespace("phanfare");var Dom=YAHOO.util.Dom;var Region=YAHOO.util.Region;var Event=YAHOO.util.Event;var AlbumYearHolder=YAHOO.phanfare.tocv2.AlbumYearHolder;var HeaderYears=YAHOO.phanfare.tocv2.HeaderYears;var LargeImageManager=YAHOO.phanfare.tocv2.LargeImageManager;YAHOO.phanfare.TocV2={init:function(){this.albumCoverMagin=8;this.yearHolders=new Array();document.body.style.overflow="hidden";document.documentElement.style.overflow="hidden";this.service=new YAHOO.phanfare.service.Service();this.layout=new YAHOO.widget.Layout('doc3',{height:Dom.getViewportHeight()-Dom.get('doc3').offsetTop,units:[{position:'left',body:'phanfare_site_info',width:387},{position:'center',body:'phanfare_album_holder',scroll:true}]});this.layout.on('beforeResize',function(){var footer=Dom.get('phanfare_bottom');var footerHeight=footer.scrollHeight;Dom.setStyle('doc3','height',(Dom.getViewportHeight()-Dom.get('doc3').offsetTop)-footerHeight+'px');});this.layout.render();var me=this;this.layout.on('resize',function(){me.onResize();});Event.on(window,'resize',this.layout.resize,this.layout,true);this.setupDescription();this.resizeLeftColumn();this.loading=new YAHOO.widget.Panel("wait",{width:"240px",fixedcenter:true,underlay:"none",close:false,draggable:false,modal:true,visible:false});this.loading.setHeader("Loading...");this.loading.setBody("<img src=\"http://www.phanfare.com/wcimages/iphone_loading.gif\"/>");this.loading.render(document.body);var cDiv=document.createElement("div");cDiv.className="c";cDiv.innerHTML="Loading...";this.headerSpan=cDiv;this.loading.header.innerHTML="";this.loading.header.appendChild(cDiv);this.loading.show();this.loadYearInformation();},onResize:function(){var me=this;setTimeout(function(){var boxOffset=Dom.get('doc3').offsetTop;var leftHeight=me.layout._units.left.body.parentNode.parentNode.clientHeight;var imgTop=Dom.getY('phanfare_large_image_outter');var newHeight=leftHeight-imgTop-10;Dom.get('phanfare_large_image_outter').style.height=(newHeight+boxOffset)+"px";if(me.largeImageManager!=null){me.largeImageManager.sizeChanged(372,newHeight+boxOffset);}
var centerWidth=me.layout._units.center.body.clientWidth-41;var albumCount=Math.floor(centerWidth/(164+16));var maxAlbumCount=0;for(var n=0;n<me.yearHolders.length;n++){if(me.yearHolders[n].albumYear.album_ids.length>maxAlbumCount){maxAlbumCount=me.yearHolders[n].albumYear.album_ids.length;}}
if(maxAlbumCount>2&&maxAlbumCount<albumCount){albumCount=maxAlbumCount;}
var totalMargin=centerWidth-(albumCount*(164+16));var margin=Math.floor(totalMargin/albumCount/2);me.albumCoverMagin=8+margin;me.albumCoverMagin=Math.min(me.albumCoverMagin,55);for(var n=0;n<me.yearHolders.length;n++){me.yearHolders[n].setAlbumCoverMargin(me.albumCoverMagin);}},1);},showLoading:function()
{this.loading.show();},hideLoading:function()
{this.loading.hide();},setupDescription:function()
{var descrArea=Dom.get('phanfare_site_description');var descrText=Dom.get('phanfare_site_description_text');var descrMore=Dom.get('phanfare_site_description_more_button');descrText.innerHTML=TOC_Description;if(descrText.innerHTML.length!=0)
{descrArea.style.height="135px";this.hasDescr=true;}else{this.hasDescr=false;descrArea.parentNode.style.border="0px";}
if(descrText.offsetHeight>descrArea.offsetHeight)
{descrText.innerHTML+="...";while(descrText.offsetHeight>descrArea.offsetHeight)
{var toRemove=0;var before=descrText.innerHTML.length;do
{toRemove+=10;descrText.innerHTML=descrText.innerHTML.substring(0,descrText.innerHTML.length-toRemove)+"...";}while(descrText.innerHTML.length>=before-toRemove+3)}
var me=this;descrMore.onclick=function(){me.showFullDescr();};}else{descrMore.style.display="none";descrArea.style.height=null;}},showFullDescr:function()
{Dom.get('phanfare_large_image_outter').style.display="none";var descrArea=Dom.get('phanfare_site_description');var descrText=Dom.get('phanfare_site_description_text');var descrMore=Dom.get('phanfare_site_description_more_button');descrText.innerHTML=TOC_Description;descrArea.style.overflowY="scroll";descrArea.style.overflowX="hidden";var me=this;descrMore.innerHTML="hide full description";descrMore.onclick=function(){me.hideFullDescr();};var leftHeight=this.layout._units.left.body.parentNode.parentNode.clientHeight-50;var anim=new YAHOO.util.Anim(descrArea,{height:{from:135,to:leftHeight}},2,YAHOO.util.Easing.easeBoth);anim.animate();},hideFullDescr:function()
{var descrArea=Dom.get('phanfare_site_description');var descrText=Dom.get('phanfare_site_description_text');var descrMore=Dom.get('phanfare_site_description_more_button');var me=this;descrMore.innerHTML="view full description";descrMore.onclick=function(){me.showFullDescr();};var anim=new YAHOO.util.Anim(descrArea,{height:{from:parseInt(descrArea.style.height),to:135}},2,YAHOO.util.Easing.easeBoth);anim.onComplete.subscribe(this.hideFullDescrDone,this,this);anim.animate();},hideFullDescrDone:function(e,other,oldImage,scope)
{var descrArea=Dom.get('phanfare_site_description');var descrText=Dom.get('phanfare_site_description_text');descrArea.scrollTop=0;descrText.scrollTop=0;descrArea.style.overflowY="hidden";descrArea.style.overflowX="hidden";Dom.get('phanfare_large_image_outter').style.display="block";this.setupDescription();this.resizeLeftColumn();},loadYearInformation:function()
{var callbacks={scope:this,success:this.yearsLoaded,failure:this.yearsFailed,state:null};this.service.GetLightAlbumListFast(TOC_Session,TOC_TargetUid,TOC_SiteId,callbacks);},resizeLeftColumn:function()
{var boxOffset=Dom.get('doc3').offsetTop;var leftHeight=this.layout._units.left.body.parentNode.parentNode.clientHeight;var imgTop=Dom.getY('phanfare_large_image_outter');var newHeight=leftHeight-imgTop-10;Dom.get('phanfare_large_image_outter').style.height=(newHeight+boxOffset)+"px";if(this.largeImageManager!=null)
{this.largeImageManager.sizeChanged(372,newHeight+boxOffset);}},yearsLoaded:function(state,result)
{var mainYearHolder=Dom.get('phanfare_album_holder');mainYearHolder.innerHTML="";if(result.years.length==0)
{Dom.get('phanfare_large_image_outter').innerHTML=Common_String_Format("{0} has not shared any albums. For more information, please visit our <a style=\"text-decoration:underline;\" href=\"http://help.phanfare.com/index.php/Sharing_albums\">support section</a>.<br/>",TOC_FirstName);this.hideLoading();return;}
this.yearHolders=new Array();for(var i=0;i<result.years.length;i++)
{var yearHolder=new AlbumYearHolder(result.years[i],result.timelessHeader);mainYearHolder.appendChild(yearHolder.content);this.yearHolders.push(yearHolder);}
this.onResize();this.headerYears=new HeaderYears(this,result.years,Dom.get('standardTocYears'));this.largeImageManager=new LargeImageManager(this,this.service,Dom.get('phanfare_large_image_outter'),this.headerYears);this.layout.largeImageManager=this.largeImageManager;this.resizeLeftColumn();this.checkForVisibleYears();var me=this;this.watchInterval=setInterval(function(){me.checkForVisibleYears(me);},350);this.hideLoading();},yearsFailed:function(state,result)
{if(result.return_code==3)
{window.location=Common_String_Format("http://www.phanfare.com/login.aspx?c={0}",escape(window.location));}},checkForVisibleYears:function()
{var height=Dom.getViewportHeight();var headerYear=null;var mainScrollPos=Region.getRegion(this.layout._units.center.body.firstChild);for(var i=0;i<this.yearHolders.length;i++)
{var yReg=null;if(mainScrollPos.bottom>height&&headerYear==null)
{yReg=Region.getRegion(this.yearHolders[i].content);if(yReg==null)
{continue;}
if(yReg.top>150&&yReg.top<height)
{headerYear=i;}}
if(this.yearHolders[i].isLoaded==true||this.yearHolders[i].isLoading==true)
{continue;}
if(yReg==null)
{yReg=Region.getRegion(this.yearHolders[i].content);}
if((yReg.top<=height&&yReg.top>=150)||(yReg.bottom<=height&&yReg.bottom>=150)||(yReg.top<=150&&yReg.bottom>=height))
{this.yearHolders[i].loadAlbums(this.service);break;}}
if(headerYear!=null)
{var lastRegion=Region.getRegion(this.yearHolders[this.yearHolders.length-1].content);if(lastRegion.bottom-10<=height){return;}
this.headerYears.moveToIndex(headerYear,false);}},moveToYear:function(index)
{var yearToMoveTo=this.yearHolders[index];if(yearToMoveTo==null)
{return;}
var boxPos=Region.getRegion(yearToMoveTo.content);var mainScrollPos=Region.getRegion(this.layout._units.center.body.firstChild);this.layout._units.center.body.scrollTop=boxPos.top-mainScrollPos.top;}};})();
