/**
 * negetics.psp.0.5.js
 * Javascript Class - where the magic happens ;)
 *
 * @package      "negetics Presentation Slider Pro"
 * @version      0.5
 *
 * @description  A horizontal accordion style Article Showcase Module
 *
 * @author       Jan Jost <support@negetics.de>
 * @link         http://www.negetics.de
 * @linkProject  http://extensions.negetics.de
 * @copyright    Copyright (C) 2010 Jan Jost! All Rights Reserved
 * @license      this is a commercial Script - you are not permitted to copy, modify or redistribute it without written permission from Jan Jost
 */
var descFader=new Array();function psp(){var x,v,q,D,G,F,k,u,f,g,I,c,y,p,i,d,C,r,A,j,b,H,a,B,z,E,h,n,o,e;this.build=function(w,X,K,m,ah,P,ag,ae,N,ap,J,ac,ak,af,ai,ad,aq,Z,ao,L,ab,O,Q,al,Y){x=document.getElementById(w);v=X;q=K;D=m;ah=ah;G=P;x.clickEffect=ag;x.even=ae;u=N;g=ap;I=J;x.forceCollapse=ac;var ar=x.getElementsByTagName("li");var W=new Array();var T=0;for(var an=0;an<ar.length;an++){if(ar[an].parentNode.id==w){W[T]=ar[an];T++}}x.sa=W;y=W.length;p=x.offsetWidth;i=Math.floor((p-v)/(y-1));z=(p-(i*(y-1))-v);E=Math.floor(p/y);h=p-(Math.floor(p/y)*y);x.alwaysShowDes=L;x.lastSlided=false;x.heigh=parseInt(x.style.height);x.padding=al;x.mw_triggered=false;x.handleWidth=Q;x.slideMinWidth=Q+x.padding;x.slideMin=O;x.slideO=p-(((y-1)*x.slideMinWidth));if(x.slideMin){v=x.slideO}x.desDivFadeOut=ab;ao=ao;x.desSpeed=aq;x.over=false;x.active=false;x.list_width=p/y;x.desDir=ak;x.desDirH=af;x.lastOver=false;x.lastOut=false;x.firstActive=x.active;x.autoPlayOn=ai;x.autoPlayPause=false;x.clickStopsAutoPlay=ad;x.autoPlaySpeed=Z;if(ah!=null){x.actual=W[ah-1]}if(navigator.appName.indexOf("Microsoft")!=-1){x.ie=true}else{x.ie=false}if(navigator.userAgent.indexOf("Mozilla")!=-1){x.mozilla=true}else{x.mozilla=false}if(navigator.userAgent.indexOf("Firefox")==-1){}x.horizon=this;for(var an=0;an<y;an++){var aj=W[an];aj.style.width=x.list_width+"px";var U=aj.getElementsByTagName("div");var S=U[0].getElementsByTagName("div");if(an!=0){U[0].style.marginLeft=(x.padding)+"px"}if(O){U[0].style.width=(x.slideO)+"px"}if(x.slideMin){U[0].style.width=x.slideO+"px"}var R;aj.desc=false;for(var t=0;t<S.length;t++){if(S[t].className=="nePSPf"){R=S[t];aj.fader=S[t];aj.fader.style.width=(x.slideO)+"px"}if(S[t].className=="nePSPb"){aj.desc=S[t];aj.desc.m=x;if(x.handleWidth>0){if(x.desDirH!=0){aj.desc.style.marginLeft=x.handleWidth+"px"}else{aj.desc.style.marginLeft="0px"}}if(x.slideMin){aj.desc.style.width=(x.slideO-x.handleWidth)+"px"}if(!x.alwaysShowDes){if(x.desDir==0){aj.desc.style.top=(aj.desc.parentNode.offsetHeight)+"px"}if(x.desDir==1){aj.desc.style.top=(0-aj.desc.offsetHeight)+"px"}if(x.desDirH==0){aj.desc.style.left=(aj.desc.parentNode.offsetWidth)+"px"}if(x.desDirH==1){aj.desc.style.left="-"+(aj.desc.offsetWidth)+"px"}}else{if(x.desDir==0){aj.desc.style.top=(aj.desc.parentNode.offsetHeight-aj.desc.offsetHeight)+"px"}if(x.desDir==1){aj.desc.style.top=(0)+"px"}if(x.desDirH==0){aj.desc.style.left=(aj.desc.parentNode.offsetWidth-aj.desc.offsetWidth)+"px"}if(x.desDirH==1){aj.desc.style.left="-"+(0)+"px"}}var l=aj.desc.getElementsByTagName("div");aj.desc.beBa=l[0];aj.desc.beTe=l[1];x.horizon.setOpacity(aj.desc.beBa,ao);aj.desc.beBa.style.width=aj.desc.offsetWidth+"px";aj.desc.beBa.style.height=aj.desc.offsetHeight+"px";aj.desc.s=aj;aj.desc.beBa.s=aj;this.setClick(aj.desc.beBa)}if(S[t].className=="nePSPiO"){aj.fadeInImg=S[t];x.horizon.setOpacity(aj.fadeInImg,0);aj.fadeInImg.s=aj;this.setClick(aj.fadeInImg);if(x.handleWidth>0){aj.fadeInImg.style.backgroundPosition=x.handleWidth+"px 0px"}if(x.slideMin){aj.fadeInImg.style.width=(x.slideO)+"px"}}if(S[t].className=="nePSPi"){aj.img=S[t];aj.img.s=aj;this.setClick(aj.img);if(x.handleWidth>0){aj.img.style.backgroundPosition=x.handleWidth+"px 0px"}if(x.slideMin){aj.img.style.width=(x.slideO)+"px"}}var M=S[t].parentNode.getElementsByTagName("img");var aa=new Array();for(var am=0;am<M.length;am++){if(M[am].className=="handle"){aa[aa.length]=M[am]}}if(aa.length>0){var V=aa[0];aj.handle=V;aj.handle.s=aj;this.setClick(aj.handle)}}aj.num=an;this.setOpacity(R,0);if(an==ah-1){x.actual=aj}this.timerFade(aj)}if(ah!=null){x.over=W[ah-1];x.actual=W[ah-1]}x.timerFade=setInterval(function(){x.horizon.fade(false)},q);x.onmouseout=function(){if(x.forceCollapse){x.actual=false}x.lastOver=x.over;x.over=false;x.autoPlayPause=false};if(Y){this.setMouseWheel(x)}if(x.autoPlayOn){x.horizon.startAutoPlay()}return(this)};this.setClick=function(l){if(x.clickEffect||(l.s.handle&&l.s.handle==l)){l.onclick=function(){x.slideEnded=false;l=this.s;if(x.clickStopsAutoPlay){x.horizon.stopAutoPlay()}if(l==x.actual&&!G){var m=-1;for(var t=0;t<y;t++){var w=c[t];if(w==x.actual&&m==-1){m=parseInt(t)}}if(u==0){if(m<y-1&&m!=-1){x.actual=c[m+1];l=c[m+1]}else{x.actual=c[0];l=c[0]}}else{if(m>0&&m!=-1){x.actual=c[m-1];l=c[m-1]}else{x.actual=c[y-1];l=c[y-1]}}}else{x.actual=l}clearInterval(x.timerFade);x.timerFade=setInterval(function(){x.horizon.fade(l)},q)}}};this.mouseWheel=function(w){var l=x.sa;var m;var J=0;if(!w){w=window.event}if(w.wheelDelta){J=w.wheelDelta/60}else{if(w.detail){J=-w.detail/2}}if(w.preventDefault){w.preventDefault()}else{w.returnValue=false}var t=0;if(J>0){t=1}var m=x.actual.num;if(t==0){if(m<y-1&&m!=-1){x.actual=l[m+1];s=l[m+1]}else{x.actual=l[0];s=l[0]}}else{if(m>0&&m!=-1){x.actual=l[m-1];s=l[m-1]}else{x.actual=l[y-1];s=l[y-1]}}clearInterval(x.timerFade);x.mw_triggered=true;x.timerFade=setInterval(function(){x.horizon.fade(s)},q)};this.setMouseWheel=function(l){if(window.addEventListener){l.addEventListener("DOMMouseScroll",x.horizon.mouseWheel,false);l.addEventListener("mousewheel",x.horizon.mouseWheel,false)}else{l.onmousewheel=x.horizon.mouseWheel}};this.fadeDesc=function(m){if(x.over){m=x.over.desc}else{if(x.actual){m=x.actual.desc}}var l=false;if(x.alwaysShowDes==false&&(m&&(m.s==x.over||m.s==x.actual)&&m.parentNode.style.width==m.parentNode.parentNode.style.width)){l=x.horizon.moveIt(m,x.desDir,true)}else{if(x.alwaysShowDes==false&&(m&&(m.s==x.over||m.s==x.actual)&&x.padding>0&&parseInt(m.parentNode.style.width)+x.padding==parseInt(m.parentNode.parentNode.style.width))){l=x.horizon.moveIt(m,x.desDir,true)}}if(x.alwaysShowDes==false&&(x.actual&&x.actual.desc&&x.actual.desc.parentNode.style.width==x.actual.desc.parentNode.parentNode.style.width)&&(!x.desDivFadeOut||x.over==x.actual)){l=x.horizon.moveIt(x.actual.desc,x.desDir,true)}else{if(x.alwaysShowDes==false&&(x.padding>0&&x.actual&&x.actual.desc&&parseInt(x.actual.desc.parentNode.style.width)+x.padding==parseInt(x.actual.desc.parentNode.parentNode.style.width))&&(!x.desDivFadeOut||x.over==x.actual)){l=x.horizon.moveIt(x.actual.desc,x.desDir,true)}}x.horizon.clearDesc(m.s);x.returner=l;return(l)};this.clearDesc=function(J){var l=x.sa;if(x.over){J=x.over}else{if(x.actual){J=x.actual}}var t=true;for(var m=0;m<l.length;m++){var w=l[m].desc;if(x.alwaysShowDes==false&&((w&&J!=w.s&&(!x.actual||w.s!=x.actual))||(x.desDivFadeOut&&x.over&&x.over!=w.s)||(x.padding>0&&J!=l[0]&&parseInt(w.parentNode.style.width)+x.padding!=parseInt(w.parentNode.parentNode.style.width)&&(x.desDivFadeOut||(x.actual&&x.actual!=w.s))))){t=x.horizon.moveIt(w,x.desDir,false)}else{if(x.alwaysShowDes==false&&((w&&J!=w.s&&(!x.actual||w.s!=x.actual))||(x.desDivFadeOut&&x.over&&x.over!=w.s)||(x.padding==0&&w.parentNode&&w.parentNode.parentNode&&w.parentNode.style.width!=w.parentNode.parentNode.style.width&&(x.desDivFadeOut||(x.actual&&x.actual!=w.s))))){t=x.horizon.moveIt(w,x.desDir,false)}}}return(t)};this.moveIt=function(P,w,K){var O=x.desDir;var M=true;var J;var t;if(K){t=2}else{t=1}if(P.style){if(x.desDir==0){if(K){J=P.offsetHeight}else{J=0}var m=(P.parentNode.offsetHeight-J);var N=parseInt(P.style.top);if(N>m||(!K&&N<m)){var l;if(K){l=parseInt((N-m)/x.desSpeed)}else{l=parseInt((m-N)/x.desSpeed)}l=(l>0)?l:t;if(!K){l=l*-1}var L=N-l;if(L>m||(!K&&N<m)){P.style.top=L+"px"}else{P.style.top=m+"px";M=true}}}if(x.desDir==1){if(!K){J=P.offsetHeight}else{J=0}var m=0-J;var N=parseInt(P.style.top);if(N<m||(!K&&N>m)){var l;if(K){l=parseInt((m-N)/x.desSpeed)}else{l=parseInt((N-m)/x.desSpeed)}l=(l>0)?l:t;if(!K){l=l*-1}var L=N+l;if(L<m||(!K&&N>m)){P.style.top=L+"px"}else{P.style.top=m+"px";M=true}}}if(x.desDirH==0){if(K){J=P.offsetWidth}else{J=0}var m=(P.parentNode.offsetWidth-J);var N=parseInt(P.style.left);if(N>m||(!K&&N<m)){var l;if(K){l=parseInt((N-m)/x.desSpeed)}else{l=parseInt((m-N)/x.desSpeed)}l=(l>0)?l:t;if(!K){l=l*-1}var L=N-l;if(L>m||(!K&&N<m)){P.style.left=L+"px"}else{P.style.left=m+"px";M=true}}}if(x.desDirH==1){if(!K){J=P.offsetWidth}else{J=0}var m=0-J;var N=parseInt(P.style.left);if(N<m||(!K&&N>m)){var l;if(K){l=parseInt((m+-N)/x.desSpeed)}else{l=parseInt((N-m)/x.desSpeed)}l=(l>0)?l:t;if(!K){l=l*-1}var L=N+l;if(L<m||(!K&&N>m)){P.style.left=L+"px"}else{P.style.left=m+"px";M=true}}}}return(M)};this.timerFade=function(l){l.onmouseover=function(){x.over=l;x.autoPlayPause=true;if((!x.lastOver&&!x.over)||(x.lastOver.num&&x.lastOver.num!=x.over.num)||(x.forceCollapse&&!G)){clearInterval(x.timerFade);x.mw_triggered=false;x.timerFade=setInterval(function(){x.horizon.fade(l)},q);x.lastOver=l}}};this.startAutoPlay=function(){if(x.autoPlay){clearInterval(x.autoPlay)}x.over=false;x.autoPlay=setInterval(function(){x.horizon.autoPlay()},x.autoPlaySpeed)};this.stopAutoPlay=function(){if(x.autoPlay){clearInterval(x.autoPlay)}};this.autoPlay=function(){var l=x.sa;if(!x.autoPlayPause){if(!x.actual){x.actual=l[l.length-1]}var m=x.actual.num;var t=false;if(u==0){if(m<y-1&&m!=-1){x.actual=l[m+1];t=l[m+1]}else{x.actual=l[0];t=l[0]}}else{if(m>0&&m!=-1){x.actual=l[m-1];t=l[m-1]}else{x.actual=l[y-1];t=l[y-1]}}clearInterval(x.timerFade);x.timerFade=setInterval(function(){x.horizon.fade(t)},q)}};this.slide=function(R){if(x.lastSlided!=R&&(!G||e)&&x.mw_triggered){x.actual.onmouseover(R);x.mw_triggered=false}x.lastSlided=R;var m=x.sa;var X=x.list_width;x.slideEnded=false;if(R==undefined){R=false}if(R.style){var w=parseInt(R.style.width)}if(R==false&&x.even==true&&!x.actual||(x.actual==undefined&&!R)){if(X!=parseInt(X)){X=X-(0.003*y)}x.horizon.clearDesc(R);x.slideEnded=true;var Z=new Array();var ab=new Array();var S=0;for(var Y=0;Y<y;Y++){V=m[Y];L=parseInt(V.style.width);if(L<=E){ab[ab.length]=V;S=S+parseInt(V.style.width)}else{if(L>E){Z[Z.length]=V}}}var K=p;var ac=h;var aa=y;for(var Y=0;Y<Z.length;Y++){var V,L,M;var T=0;V=Z[Y];L=parseInt(V.style.width);T=Math.ceil((L-E)/D);T=(T>0)?T:1;if(L-T>E){M=L-T;x.slideEnded=false}else{M=E;if(ac>0){var P=Math.ceil(ac/aa);M=M+P;ac=ac-P}}if(K-M<0){M=M+(K-M)}V.style.width=(M)+"px";K=K-M;aa--}var t=ab.length;T=Math.floor((K-S)/t);T=(T>0)?T:1;for(var Y=0;Y<ab.length;Y++){V=ab[Y];L=parseInt(V.style.width);if(L+T<=E||(ac>0&&L+T<=E+1)){M=L+T;if(L+T<E+1){x.slideEnded=false}}else{M=E}if(Y==ab.length-1){M=(K)}if(ac>0){var P=Math.ceil(ac/aa);M=M+P;ac=ac-P}if(K-M<0){M=M+(K-M)}V.style.width=(M)+"px";K=K-M;aa--}}else{if(x.slideMin){var Q=true;if(1>0){x.horizon.clearDesc(R);var O=0;var Y=0;for(Y;Y<y;Y++){if(m[Y]!=R||(R==false&&m[Y]!=x.actual)){var V,L;var T=0;V=m[Y];l=x.slideMinWidth;var J=x.slideMinWidth;if(Y==0){J=x.slideMinWidth-x.padding}L=parseInt(V.style.width);if(L>J){Q=false;T=Math.floor((L-J)/D);T=(T>0)?T:1;var l=L-T;if(l<J){l=J}V.style.width=(l)+"px";if(Y==0){l=l+x.padding}}O=O+l}}if(R.style){if(R!=m[0]){R.style.width=(p-O+x.padding)+"px"}else{R.style.width=(p-O+x.padding-x.padding)+"px"}}else{if(R==false&&x.actual){var W=parseInt(p);for(var Y=0;Y<y;Y++){if(m[Y]!=x.actual){W=W-parseInt(m[Y].style.width)}}if(x.slideO>W){W=x.slideO}x.actual.style.width=(W)+"px"}}if(Q){x.slideEnded=true;if(x.actual&&x.actual.desc){x.actual.desc.aktiv=true;x.slideEnded=x.horizon.fadeDesc(x.actual.desc)}if((R&&R.desc)&&R!=x.actual){R.desc.aktiv=true;x.slideEnded=x.horizon.fadeDesc(R.desc)}}}else{}}else{if(w<v||(R==false&&x.actual&&parseInt(x.actual.style.width)<v)){x.horizon.clearDesc(R);var N=0;var Y=0;var U=z;for(Y;Y<y;Y++){if(m[Y]!=R||(R==false&&m[Y]!=x.actual)){var V,L;var T=0;V=m[Y];L=parseInt(V.style.width);if(L>i){T=Math.floor((L-i)/D);T=(T>0)?T:1;var l=L-T;if(l==i&&U>0){l++;U--;T--}V.style.width=(l)+"px"}N=N+(L-T)}}if(R.style){R.style.width=(p-N)+"px"}else{if(R==false&&x.actual){var W=parseInt(p);for(var Y=0;Y<y;Y++){if(m[Y]!=x.actual){W=W-parseInt(m[Y].style.width)}}x.actual.style.width=(W)+"px"}}}else{x.slideEnded=true;if(x.actual&&x.actual.desc){x.actual.desc.aktiv=true;x.slideEnded=x.horizon.fadeDesc(x.actual.desc)}if((R&&R.desc)&&R!=x.actual){R.desc.aktiv=true;x.slideEnded=x.horizon.fadeDesc(R.desc)}}}}};this.fade=function(O){if((G||x.forceCollapse)){if(x.over!=false&&G){x.horizon.slide(x.over)}else{if(x.forceCollapse&&O==false){x.actual=false;x.over=false}if(x.even&&O==false){x.horizon.slide(false)}else{if(x.actual){x.horizon.slide(x.actual)}else{x.horizon.slide(false)}}}}else{if(x.actual){x.horizon.slide(x.actual)}}var w=0;var M=x.sa;var t=M.length;var J=1;for(w;w<t;w++){var K;var L=M[w];K=this.getOpacity(L.fader);if(L!=x.actual||(x.desDivFadeOut&&x.actual!=x.over)){if(K<I){L.fader.style.display="block";K=K+g;this.setOpacity(L.fader,K);if(K<I){J=0}}if(L.fadeInImg&&L!=x.over){var m=this.getOpacity(L.fadeInImg);m=m-g;m=(m>0)?m:0;this.setOpacity(L.fadeInImg,m);if(m>0){J=0}}}}if(x.actual&&(!x.desDivFadeOut||(x.desDivFadeOut&&!x.over))){K=K-g;if(x.actual.fader.style.display!="none"){this.setOpacity(x.actual.fader,0);x.actual.fader.style.display="none"}if(x.actual.fadeInImg){var m=this.getOpacity(x.actual.fadeInImg);m=m+g;if(m<1){this.setOpacity(x.actual.fadeInImg,m);if(m<1){J=0}}else{this.setOpacity(x.actual.fadeInImg,1)}}}if(x.over){var K;K=this.getOpacity(x.over.fader);if(K>0){K=K-g;if(x.over.fader.style.display!="none"){this.setOpacity(x.over.fader,0);x.over.fader.style.display="none"}}if(x.over.fadeInImg){var m=this.getOpacity(x.over.fadeInImg);m=m+g;m=(m<1)?m:1;if(m<1){this.setOpacity(x.over.fadeInImg,m);if(m<1){J=0}}else{this.setOpacity(x.over.fadeInImg,1)}}}var N=true;if(x.actual){N=x.horizon.clearDesc(x.actual)}if(J==1&&N&&(x.slideEnded||(x.slideEnded==undefined&&x.even))){x.over=false;x.lastOver=false}};this.setOpacity=function(l,m){if(x.ie){var t=parseInt(m*100);if(t>(100)){t=100}l.style.filter="alpha(opacity="+t+")"}else{l.style.opacity=m}};this.getOpacity=function(l){var m;if(x.ie){m=parseInt(parseFloat(l.style.filter.replace(/[\D\.]/g,"")))/100}else{m=parseFloat(l.style.opacity)}return(m)}};
