/* modules/portals/portalPhotos
 
@author Jacob at Goby
 @version 02/08/12
@svn goby_-150
*/

function PortalPhotos(params)
{if((typeof WidgetMgr!="undefined")&&(params.mgr instanceof WidgetMgr))
{for(var i in WidgetTab.prototype)
this[i]=WidgetTab.prototype[i];}
else
{for(var i in PortalTab.prototype)
this[i]=PortalTab.prototype[i];}
this._construct(params);this.display=function()
{this.content=this.drawContent();this.content.id="portalPhotos";var location=this.mgr.getLocation();if(this.params.images!=null)
this.load(this.params);else
var request=this.makeRequest({object:this,method:"load"},{locationId:location.id});}
this.load=function(data)
{if(data.images==null)
{this.close();return false;}
var list=document.createElement("ul");list.id="creationImages";$(list).css({width:this.params.size.width,height:this.params.size.height+48});this.content.appendChild(list);this.content.appendChild(getClear());this.slideshow=new SlideShowWrapper({container:list,size:this.params.size,resize:(this.params.resize==null||this.params.resize==true?true:false),portalArea:this.content,images:data.images});}}
function SlideShowWrapper(params)
{this.images=params.images;this.container=params.container;this.portalArea=params.portalArea;this.size=params.size;this.resize=params.resize;this.portalArea.insertBefore(this.renderControls(),this.container);for(var i in this.images)
this.container.appendChild(this.display(this.images[i]));if(this.container)
this.slideshow=new SlideShow(this.container,this.ctrl);}
SlideShowWrapper.prototype={renderControls:function()
{var controls=document.createElement("div");controls.id="ctrl";var next=document.createElement("a");var prev=document.createElement("a");next.className="next creationButton";prev.className="prev creationButton";var uh=document.createElement("span");prev.appendChild(uh);uh.innerHTML="prev";var uh=document.createElement("span");next.appendChild(uh);uh.innerHTML="next";controls.appendChild(prev);controls.appendChild(next);var ctrlBnds=document.createElement("div");ctrlBnds.id="ctrlBounds";this.portalArea.appendChild(controls);this.portalArea.appendChild(ctrlBnds);var ctrlCss={height:this.size.height,width:(this.size.width/2)}
nextCss={height:this.size.height,width:(this.size.width/2)};prevCss={height:this.size.height,width:(this.size.width/2)};var prevHeight=((ctrlCss.height/2)-18);var ctrlWidth=(ctrlCss.width-25);var ctrlHeight=(ctrlCss.height/2)-18;nextCss.backgroundPosition=ctrlWidth+"px"+" "+ctrlHeight+"px";prevCss.backgroundPosition="0px"+" "+ctrlHeight+"px";$(next).css(nextCss);$(prev).css(prevCss);$(controls).css(this.size);this.ctrl=controls;return controls;},display:function(i)
{var content=document.createElement("li");content.className="mainImage";var img=document.createElement("img");var caption=document.createElement("div");if(this.resize)
img.src=compileThumbnail(i.path,null,this.size.width+"x"+this.size.height);else
img.src=i.path;img.width=this.size.width;img.height=this.size.height;$(img).css(this.size);img.alt=i.caption;img.className="img";if(i.author)
{var watermark=document.createElement("div");watermark.className="watermark";watermark.author=document.createElement("a");watermark.author.src=i.link;watermark.author.className="author";watermark.author.innerHTML="Photo&nbsp;By&nbsp;"+i.author;if(i.watermark)
{watermark.licence=document.createElement("a");watermark.licence.className="license";watermark.licence.href=i.watermark.link;watermark.appendChild(watermark.licence);}
$(watermark).css({width:this.size.width-10,marginTop:this.size.height-32});watermark.appendChild(watermark.author);var border=document.createElement("div");var borderImg="getImg=slideshow/photoBorder_"+this.size.width+"x"+this.size.height;border.className="photoBorder";$(border).css(this.size);content.appendChild(border);border.appendChild(watermark);}
content.appendChild(img);if(caption)
{caption.className="caption";caption.innerHTML=i.caption;content.appendChild(caption);}
$(content).css({width:this.size.width});return content;}}
