function imageflowplus(instance){this.defaults={conf_autorotate:'off',conf_autorotatepause:3000,conf_startimg:1};this.conf_reflection_p=0.5;this.conf_focus=4;this.conf_ifp_slider_width=14;this.conf_ifp_images_cursor='pointer';this.conf_ifp_slider_cursor='default';this.ifp_imageflow2div='wpif2_imageflow_'+instance;this.ifp_loadingdiv='wpif2_loading_'+instance;this.ifp_imagesdiv='wpif2_images_'+instance;this.ifp_captionsdiv='wpif2_captions_'+instance;this.ifp_sliderdiv='wpif2_slider_'+instance;this.ifp_scrollbardiv='wpif2_scrollbar_'+instance;this.ifp_overlaydiv='wpif2_overlay';this.ifp_overlayclosediv='wpif2_overlayclose';this.ifp_topboxdiv='wpif2_topbox';this.ifp_topboximgdiv='wpif2_topboximg';this.ifp_topboxcaptiondiv='wpif2_topboxcaption';this.ifp_topboxprevdiv='wpif2_topboxprev';this.ifp_topboxclosediv='wpif2_topboxclose';this.ifp_topboxnextdiv='wpif2_topboxnext';this.image_id=0;this.new_image_id=0;this.current=0;this.target=0;this.mem_target=0;this.timer=0;this.array_images=[];this.new_slider_pos=0;this.dragging=false;this.dragobject=null;this.dragx=0;this.posx=0;this.new_posx=0;this.xstep=150;this.autorotate='off';this.rotatestarted='false';var thisObject=this;this.init=function(options)
{var optionsArray=new Array('conf_autorotate','conf_autorotatepause','conf_startimg');var max=optionsArray.length;for(var i=0;i<max;i++)
{var name=optionsArray[i];this[name]=(options!==undefined&&options[name]!==undefined)?options[name]:thisObject.defaults[name];}};this.show=function(id)
{var element=document.getElementById(id);element.style.visibility='visible';};this.hide=function(id)
{var element=document.getElementById(id);element.style.visibility='hidden';element.style.display='none';};this.step=function(){if(thisObject.target<thisObject.current-1||thisObject.target>thisObject.current+1)
{thisObject.moveTo(thisObject.current+(thisObject.target-thisObject.current)/3);setTimeout(thisObject.step,50);thisObject.timer=1;}else{thisObject.timer=0;}};this.glideTo=function(new_image_id){if(this.max==1)return;var x=(-new_image_id*this.xstep);this.target=x;this.mem_target=x;if(this.timer==0)
{window.setTimeout(thisObject.step,50);this.timer=1;}
this.image_id=new_image_id;var caption=this.img_div.childNodes.item(this.array_images[this.image_id]).getAttribute('alt').replace(/\+\+.*/,'');if(caption==''){caption='&nbsp;';}
this.caption_div.innerHTML=caption;if(this.dragging===false)
{this.new_slider_pos=(this.scrollbar_width*(-(x*100/((this.max-1)*this.xstep)))/100)-this.new_posx;this.slider_div.style.marginLeft=(this.new_slider_pos-this.conf_ifp_slider_width)+'px';}};this.rotate=function()
{if(thisObject.autorotate=="on"){if(thisObject.image_id>=thisObject.max-1){thisObject.glideTo(0);}else{thisObject.glideTo(thisObject.image_id+1);}}
if(thisObject.conf_autorotate=='on'){window.setTimeout(thisObject.rotate,thisObject.conf_autorotatepause);}}
this.moveTo=function(x)
{this.current=x;var zIndex=this.max;for(var index=0;index<this.max;index++)
{var image=this.img_div.childNodes.item(this.array_images[index]);var current_image=index*-this.xstep;if((current_image+this.max_conf_focus)<this.mem_target||(current_image-this.max_conf_focus)>this.mem_target)
{image.style.visibility='hidden';image.style.display='none';}
else
{var z=Math.sqrt(10000+x*x)+100;var xs=x/z*this.size+this.size;image.style.display='block';var new_img_h=Math.round((image.h/image.w*image.pc)/z*this.size);var new_img_w;if(new_img_h<=this.max_height)
{new_img_w=Math.round(image.pc/z*this.size);}else{new_img_h=this.max_height;new_img_w=Math.round(image.w*new_img_h/image.h);}
var new_img_top=Math.round((this.images_width*0.34-new_img_h)+((new_img_h/(this.conf_reflection_p+1))*this.conf_reflection_p));image.style.left=Math.round(xs-(image.pc/2)/z*this.size)+'px';if(new_img_w&&new_img_h)
{image.style.height=new_img_h+'px';image.style.width=new_img_w+'px';image.style.top=new_img_top+'px';}
image.style.visibility='visible';if(x<0)
{zIndex++;}else{zIndex=zIndex-1;}
switch(image.i==thisObject.image_id)
{case false:image.onclick=function(){thisObject.autorotate="off";thisObject.glideTo(this.i);return false;};break;default:zIndex=zIndex+1;if(image.getAttribute("rel")&&(image.getAttribute("rel")=='wpif2_lightbox')){image.setAttribute("title",image.getAttribute('alt').replace(/\+\+.*/,''));image.onclick=function(){thisObject.conf_autorotate="off";thisObject.showTop(this);return false;};}else{image.onclick=function(){window.open(this.url);return false;};}
break;}
image.style.zIndex=zIndex;}
x+=this.xstep;}};this.refresh=function(onload)
{this.imageflow2_div=document.getElementById(this.ifp_imageflow2div);this.img_div=document.getElementById(this.ifp_imagesdiv);this.scrollbar_div=document.getElementById(this.ifp_scrollbardiv);this.slider_div=document.getElementById(this.ifp_sliderdiv);this.caption_div=document.getElementById(this.ifp_captionsdiv);this.images_width=this.img_div.offsetWidth;this.images_top=this.imageflow2_div.offsetTop;this.images_left=this.imageflow2_div.offsetLeft;this.max_conf_focus=this.conf_focus*this.xstep;this.size=this.images_width*0.5;this.scrollbar_width=Math.round(this.images_width*0.6);this.conf_ifp_slider_width=this.conf_ifp_slider_width*0.5;this.max_height=Math.round(this.images_width*0.51);this.imageflow2_div.onmouseover=function(){thisObject.autorotate='off';return false;};this.imageflow2_div.onmouseout=function(){thisObject.autorotate=thisObject.conf_autorotate;return false;};this.imageflow2_div.style.height=this.max_height+'px';this.img_div.style.height=this.images_width*0.338+'px';this.caption_div.style.width=this.images_width+'px';this.caption_div.style.marginTop=this.images_width*0.03+'px';this.scrollbar_div.style.marginTop=this.images_width*0.02+'px';this.scrollbar_div.style.marginLeft=this.images_width*0.2+'px';this.scrollbar_div.style.width=this.scrollbar_width+'px';this.slider_div.onmousedown=function(){thisObject.dragstart(this);return false;};this.slider_div.style.cursor=this.conf_ifp_slider_cursor;this.max=this.img_div.childNodes.length;var i=0;for(var index=0;index<this.max;index++)
{var image=this.img_div.childNodes.item(index);if((image.nodeType==1)&&(image.nodeName!="NOSCRIPT"))
{this.array_images[i]=index;image.onclick=function(){thisObject.conf_autorotate="off";thisObject.glideTo(this.i);return false;};image.x_pos=(-i*this.xstep);image.i=i;if(onload===true)
{image.w=image.width;image.h=image.height;}
if((image.w+1)>(image.h/(this.conf_reflection_p+1)))
{image.pc=118;}else{image.pc=100;}
image.url=image.getAttribute('longdesc');if(image.getAttribute("rel")&&(image.getAttribute("rel")=='wpif2_lightbox')){image.setAttribute("title",image.getAttribute('alt').replace(/\+\+.*/,''));image.ondblclick=function(){thisObject.conf_autorotate='off';thisObject.showTop(this);return false;}}else{image.ondblclick=function(){window.open(this.url);}}
image.style.cursor=this.conf_ifp_images_cursor;i++;}}
this.max=this.array_images.length;if((this.conf_startimg>0)&&(this.conf_startimg<=this.max)){this.image_id=this.conf_startimg-1;this.mem_target=(-this.image_id*this.xstep);this.current=this.mem_target;}
this.moveTo(this.current);this.glideTo(this.image_id);this.autorotate=this.conf_autorotate;if((this.autorotate=="on")&&(this.rotatestarted=="false")){window.setTimeout(thisObject.rotate,thisObject.conf_autorotatepause);this.rotatestarted='true';}};this.loaded=function()
{if(document.getElementById(thisObject.ifp_imageflow2div))
{if(document.getElementById(thisObject.ifp_overlaydiv)===null){var objBody=document.getElementsByTagName("body").item(0);var objOverlay=document.createElement('div');objOverlay.setAttribute('id',thisObject.ifp_overlaydiv);objOverlay.onclick=function(){thisObject.closeTop();return false;};objBody.appendChild(objOverlay);jQuery("#"+thisObject.ifp_overlaydiv).fadeTo("fast",.7);var objLightbox=document.createElement('div');objLightbox.setAttribute('id',thisObject.ifp_topboxdiv);objBody.appendChild(objLightbox);var objLightboxImage=document.createElement("img");objLightboxImage.setAttribute('id',thisObject.ifp_topboximgdiv);objLightbox.appendChild(objLightboxImage);var objPrev=document.createElement("a");objPrev.setAttribute('id',thisObject.ifp_topboxprevdiv);objPrev.setAttribute('href','#');objLightbox.appendChild(objPrev);var objNext=document.createElement("a");objNext.setAttribute('id',thisObject.ifp_topboxnextdiv);objNext.setAttribute('href','#');objLightbox.appendChild(objNext);var objCaption=document.createElement("div");objCaption.setAttribute('id',thisObject.ifp_topboxcaptiondiv);objLightbox.appendChild(objCaption);var objClose=document.createElement("a");objClose.setAttribute('id',thisObject.ifp_topboxclosediv);objClose.setAttribute('href','#');objLightbox.appendChild(objClose);objClose.onclick=function(){thisObject.closeTop();return false;};objClose.innerHTML="Close";}
thisObject.hide(thisObject.ifp_loadingdiv);thisObject.refresh(true);thisObject.show(thisObject.ifp_imagesdiv);thisObject.show(thisObject.ifp_scrollbardiv);thisObject.initMouseWheel();thisObject.initMouseDrag();}};this.unloaded=function()
{document=null;};this.handle=function(delta)
{var change=false;if(delta>0)
{if(this.image_id>=1)
{this.target=this.target+this.xstep;this.new_image_id=this.image_id-1;change=true;}}else{if(this.image_id<(this.max-1))
{this.target=this.target-this.xstep;this.new_image_id=this.image_id+1;change=true;}}
if(change===true)
{this.glideTo(this.new_image_id);this.autorotate="off";}};this.wheel=function(event)
{var delta=0;if(!event)event=window.event;if(event.wheelDelta)
{delta=event.wheelDelta/120;}
else if(event.detail)
{delta=-event.detail/3;}
if(delta)thisObject.handle(delta);if(event.preventDefault)event.preventDefault();event.returnValue=false;};this.initMouseWheel=function()
{if(window.addEventListener){this.imageflow2_div.addEventListener('DOMMouseScroll',this.wheel,false);}
this.imageflow2_div.onmousewheel=this.wheel;};this.dragstart=function(element)
{thisObject.dragobject=element;thisObject.dragx=thisObject.posx-thisObject.dragobject.offsetLeft+thisObject.new_slider_pos;thisObject.autorotate="off";};this.dragstop=function()
{thisObject.dragobject=null;thisObject.dragging=false;};this.drag=function(e)
{thisObject.posx=document.all?window.event.clientX:e.pageX;if(thisObject.dragobject!=null)
{thisObject.dragging=true;thisObject.new_posx=(thisObject.posx-thisObject.dragx)+thisObject.conf_ifp_slider_width;if(thisObject.new_posx<(-thisObject.new_slider_pos))thisObject.new_posx=-thisObject.new_slider_pos;if(thisObject.new_posx>(thisObject.scrollbar_width-thisObject.new_slider_pos))thisObject.new_posx=thisObject.scrollbar_width-thisObject.new_slider_pos;var slider_pos=(thisObject.new_posx+thisObject.new_slider_pos);var step_width=slider_pos/((thisObject.scrollbar_width)/(thisObject.max-1));var image_number=Math.round(step_width);var new_target=(image_number)*-thisObject.xstep;var new_image_id=image_number;thisObject.dragobject.style.left=thisObject.new_posx+'px';thisObject.glideTo(new_image_id);}};this.initMouseDrag=function()
{thisObject.imageflow2_div.onmousemove=thisObject.drag;thisObject.imageflow2_div.onmouseup=thisObject.dragstop;document.onselectstart=function()
{if(thisObject.dragging===true)
{return false;}
else
{return true;}}};this.getKeyCode=function(event)
{event=event||window.event;return event.keyCode;};this.getPageScroll=function(){var xScroll,yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;xScroll=self.pageXOffset;}else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;xScroll=document.documentElement.scrollLeft;}else if(document.body){yScroll=document.body.scrollTop;xScroll=document.body.scrollLeft;}
arrayPageScroll=new Array(xScroll,yScroll)
return arrayPageScroll;};this.getPageSize=function(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else if(document.documentElement.scrollHeight>document.body.offsetHeight){xScroll=document.documentElement.scrollWidth;yScroll=document.documentElement.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight){if(document.documentElement.clientWidth){windowWidth=document.documentElement.clientWidth;}else{windowWidth=self.innerWidth;}
windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=xScroll;}else{pageWidth=windowWidth;}
arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight)
return arrayPageSize;};this.showFlash=function(){var flashObjects=document.getElementsByTagName("object");for(i=0;i<flashObjects.length;i++){flashObjects[i].style.visibility="visible";}
var flashEmbeds=document.getElementsByTagName("embed");for(i=0;i<flashEmbeds.length;i++){flashEmbeds[i].style.visibility="visible";}};this.hideFlash=function(){var flashObjects=document.getElementsByTagName("object");for(i=0;i<flashObjects.length;i++){flashObjects[i].style.visibility="hidden";}
var flashEmbeds=document.getElementsByTagName("embed");for(i=0;i<flashEmbeds.length;i++){flashEmbeds[i].style.visibility="hidden";}};this.showTop=function(image)
{var topbox_div=document.getElementById(this.ifp_topboxdiv);var overlay_div=document.getElementById(this.ifp_overlaydiv);var topboximg_div=document.getElementById(this.ifp_topboximgdiv);this.hideFlash();var arrayPageSize=this.getPageSize();overlay_div.style.width=arrayPageSize[0]+"px";overlay_div.style.height=arrayPageSize[1]+"px";overlay_div.style.display='none';overlay_div.style.visibility='visible';jQuery("#"+this.ifp_overlaydiv).show();topboximg_div.src=image.url;document.getElementById(this.ifp_topboxcaptiondiv).innerHTML=image.getAttribute('title');var t=new Image();t.onload=(function(){thisObject.showImg(image,t.width,t.height);});t.src=image.url;};this.showImg=function(image,img_width,img_height)
{if(document.getElementById(this.ifp_overlaydiv).style.visibility=='hidden')return;var topbox_div=document.getElementById(this.ifp_topboxdiv);var overlay_div=document.getElementById(this.ifp_overlaydiv);var topboximg_div=document.getElementById(this.ifp_topboximgdiv);var prev_div=document.getElementById(this.ifp_topboxprevdiv);var next_div=document.getElementById(this.ifp_topboxnextdiv);var caption_div=document.getElementById(this.ifp_topboxcaptiondiv);topboximg_div.src=image.url;prev_div.style.visibility='hidden';if(image.i>0){for(index=image.i-1;index>=0;index--){prev_image=this.img_div.childNodes.item(this.array_images[index]);if(prev_image.getAttribute("rel")&&(prev_image.getAttribute("rel")=='wpif2_lightbox')){var p=new Image();p.src=prev_image.url;prev_div.onclick=(function(){thisObject.showImg(prev_image,p.width,p.height);return false;});prev_div.style.visibility='visible';break;}}}
next_div.style.visibility='hidden';if(image.i<this.max-1){for(index=image.i+1;index<this.max;index++){next_image=this.img_div.childNodes.item(this.array_images[index]);if(next_image.getAttribute("rel")&&(next_image.getAttribute("rel")=='wpif2_lightbox')){var n=new Image();n.src=next_image.url;next_div.onclick=(function(){thisObject.showImg(next_image,n.width,n.height);return false;});next_div.style.visibility='visible';break;}}}
var boxWidth=img_width;var boxHeight=img_height+30;topboximg_div.width=boxWidth;var description=image.getAttribute('alt').replace(/.*\+\+/,'');if(description==image.getAttribute('title'))description='';if(description!=''){description='<p>'+description+'</p>';}
caption_div.innerHTML=image.getAttribute('title')+description;if(description!=''){jQuery('#'+this.ifp_topboxcaptiondiv).width(boxWidth);boxHeight+=jQuery('#'+this.ifp_topboxcaptiondiv).height();}
var arrayPageSize=this.getPageSize();var screenWidth=arrayPageSize[2];var screenHeight=arrayPageSize[3];var arrayPageScroll=this.getPageScroll();if(boxWidth>screenWidth){boxHeight=Math.floor(boxHeight*(screenWidth-100)/boxWidth);boxWidth=screenWidth-100;topboximg_div.width=boxWidth;}
if(boxHeight>screenHeight){boxWidth=Math.floor(boxWidth*(screenHeight-100)/boxHeight);boxHeight=screenHeight-100;topboximg_div.width=boxWidth;}
jQuery('#'+this.ifp_topboxcaptiondiv).width(boxWidth);var xPos=Math.floor((screenWidth-boxWidth)*0.5)+arrayPageScroll[0];var yPos=Math.floor((screenHeight-boxHeight)*0.5)+arrayPageScroll[1];topbox_div.style.left=xPos+'px';topbox_div.style.top=yPos+'px';topbox_div.style.width=boxWidth+'px';prev_div.style.height=boxHeight+'px';next_div.style.height=boxHeight+'px';topbox_div.style.display='none';topbox_div.style.visibility='visible';jQuery("#"+this.ifp_topboxdiv).fadeIn("slow");};this.closeTop=function()
{document.getElementById(this.ifp_overlaydiv).style.visibility='hidden';document.getElementById(this.ifp_topboxdiv).style.visibility='hidden';document.getElementById(this.ifp_topboxnextdiv).style.visibility='hidden';document.getElementById(this.ifp_topboxprevdiv).style.visibility='hidden';this.showFlash();};if(document.getElementById(thisObject.ifp_imageflow2div)===null){return;}
thisObject.show(thisObject.ifp_loadingdiv);if(typeof window.onunload==="function")
{var oldonunload=window.onunload;window.onunload=function()
{thisObject.unloaded();oldonunload();};}else{window.onunload=this.unloaded;}
if(typeof window.onload==="function")
{var oldonload=window.onload;window.onload=function()
{thisObject.loaded();oldonload();};}else{window.onload=thisObject.loaded;}
window.onresize=function()
{if(document.getElementById(thisObject.ifp_imageflow2div)){thisObject.refresh(false);}};document.onkeydown=function(event)
{var charCode=thisObject.getKeyCode(event);switch(charCode)
{case 39:thisObject.handle(-1);break;case 37:thisObject.handle(1);break;}};}
