/**
 * Project:		OKAPI TEASER WEBSITE
 * 
 * @author:		Andreas Prockl <ap@okapi.de>
 * @version:	1.4
 * @date:		03/2011
 *
 */


var OKAPI=(function(b,u,h){var H={BTNS:{OPEN_MORE:"#ctrl-gallery-projects a",NAV_PROJECT:".project-ctrls a",NEXT_IMAGE:".next-image"},WRAPPERS:{GALLERY:"#gallery-projects",PROJECT_LIST:".projects-wrapper",PROJECT:".project",IMG_WRAPPER:".project-images",PROJECT_IMG:".pimg",PROJECT_CTRLS:".project-ctrls"},PREFIXES:{IMAGE_ID:"p-id-",BTN_ID:"btn-id-"}},L={SELECTED:"selected",OFFSITE:"offsite",WHILEANI:"ani-in-progress",CSSTRANSITIONS:"csstransitions",GAL_READY:"gallery-ready"},v={WIDTH_GAL_OFFSET:960,HEIGHT_VIEW_SHRINK:-2},d={interface_status:{},gallery_status:{}},M=u("body");function J(O){var N=u.extend({},O);return N}function D(Q){var O=[],P=0,N=0;for(P=0,N=Q.length;P<N;P+=1){O.push(Q[P])}return O}function q(){var N=J(b.STATE.gallery_status);return N}function I(N){var O=b.STATE||{};O.gallery_status=J(N);b.STATE=O}function k(){var N=J(b.STATE.interface_status);return N}function i(N){var O=b.STATE||{};O.interface_status=J(N);b.STATE=O}function B(N){i(N);f(N)}function t(O){var N=J(b.STATE.gallery_status[O]);return N}function c(O,N){var P=b.STATE.gallery_status;P[O]=J(N)}function s(O,N){c(O,N);x(O,N)}function y(R,O){var S=H.WRAPPERS,N=S.IMG_WRAPPER,U=Modernizr.csstransitions,T=u("#"+R),Q=T.find(N),P=O!==0?-O:0;if(Q.length){if(U){Q.css("left",P)}else{Q.animate({left:[P,"easeOutExpo"]},700)}}}function e(O){var R=H.WRAPPERS,P=R.GALLERY,N=R.PROJECT_LIST,Q=u(N,P);if(Q.length){Q.animate({height:[O,"easeOutExpo"]},800,function(){G()})}}function z(P,R,O){var N=u.browser.safari?"body":"html",Q=u(N);Q.animate({scrollTop:[P,"easeOutExpo"]},800,function(){R(O)})}function E(){var N=L.OFFSITE,P=H.BTNS.OPEN_MORE,O=u(P);if(O.length){O.animate({opacity:[0,"easeInOutQuad"]},600,function(){O.addClass(N)})}}function G(){var N=k(),O=N.PROJECTS_AVAILABLE.length,P=N.projects_visible_new;if(O===P){E()}}function w(T,O){var N=k(),Q=N.revealed_project_new,R=u("#"+Q),S=R.offset(),P=S.top;z(P,T,O)}function K(O){var P=L.SELECTED,N=u("#"+O);N.siblings().removeClass(P).end().addClass(P)}function a(O,Q){var N=Q.hpos_old,P=Q.hpos_new;if(N!==P){y(O,P)}}function n(N){var P=N.projectView_height_old,O=N.projectView_height_new;if(P!==O){w(e,O)}}function x(N,S){var P=S.active_btn_id_old,R=S.active_btn_id_new,Q=S.active_item_id_old,O=S.active_item_id_new;if(P!==R){K(R)}if(Q!==O){a(N,S)}}function f(O){var P=O.revealed_project_old,N=O.revealed_project_new;if(N!==P){n(O)}}function F(U){var V=H.WRAPPERS,W=V.PROJECT,T=U.parent("li").attr("id"),N=U.attr("href"),O=N.replace("#",""),S=U.parents(W),X=S.attr("id"),Q=u(N),Y=Q.position(),R=Y.left,P=t(X);P.active_btn_id_old=P.active_btn_id_new;P.active_btn_id_new=T;P.active_item_id_old=P.active_item_id_new;P.active_item_id_new=O;P.hpos_old=P.hpos_new;P.hpos_new=R;s(X,P)}function C(ac){var T=H.WRAPPERS,ad=H.PREFIXES,S=ad.BTN_ID,N=ad.IMAGE_ID,Q=T.PROJECT,O=ac.parents(Q),Z=O.attr("id"),aa=q(),V=aa[Z],W=V.IMG_CONTAINER_IDS,ae=V.IMG_AMOUNT,Y=V.active_item_id_new,ab=u.inArray(Y,W),U=ab+1<ae?ab+1:0,R=W[U],X=R.replace(N,S),P=u("#"+X+" a");F(P)}function m(){var U=v.HEIGHT_VIEW_SHRINK,O=k(),N=O.PROJECTS_AVAILABLE,S=O.projects_visible_new,W=S+1,P=O.revealed_project_old,T=N[S].project_id,V=0,R,Q;for(R=0,Q=W;R<Q;R+=1){V+=N[R].project_height}V+=U;O.projects_visible_old=S;O.projects_visible_new=W;O.projectView_height_old=O.projectView_height_new;O.projectView_height_new=V;O.revealed_project_old=P;O.revealed_project_new=T;B(O)}function g(){var O=H.BTNS,P="",N="";for(P in O){N=O[P];M.delegate(N,"click",function(Q){Q.preventDefault()})}}function r(){var N=H.BTNS.NAV_PROJECT,O=L.SELECTED;M.delegate(N,"click",function(){var Q=u(this),P=Q.parent("li").hasClass(O);if(!P){F(Q)}})}function o(){var N=H.BTNS.NEXT_IMAGE;M.delegate(N,"click",function(){var O=u(this);C(O)})}function j(){var N=H.BTNS.OPEN_MORE,O=k(),P=O.PROJECTS_AVAILABLE,R=P.length,Q=1,S=u(N);if(S.length){M.delegate(N,"click",function(){O=k();Q=O.projects_visible_new;if(Q<R){m()}})}}function p(){var ae=H.WRAPPERS,T=ae.GALLERY,U=ae.PROJECT_CTRLS,X=ae.PROJECT_LIST,W=ae.PROJECT,aa=ae.PROJECT_IMG,ab=L.SELECTED,af={},aj={},ao=u(X,T),ak=u(W,T),O={},ai={},Z=[],S="",ag=0,am={},Q=[],ac=0,R=0,N="",ad="",an="",ap=ao.height(),Y=0,P=[],V=1,al=0,ah=0;ak.each(function(){Z.push(u(this))});an=Z[0].attr("id");for(al=0,ah=Z.length;al<ah;al+=1){O=Z[al];ai={};Q=[];ad=O.find(U+" ."+ab).attr("id");S=O.attr("id");ag=O.outerHeight(true);am=O.find(aa);ac=am.length;R=am.eq(0).width();am.each(function(){Q.push(u(this).attr("id"))});N=Q[0];ai.IMG_AMOUNT=ac;ai.IMG_CONTAINER_IDS=D(Q);ai.TOTAL_WIDTH=R*ac;ai.HEIGHT=ag;ai.hpos_old=0;ai.hpos_new=0;ai.active_btn_id_new=ad,ai.active_btn_id_old=ad,ai.active_item_id_old=Q[0];ai.active_item_id_new=Q[0];aj[S]=ai;Y+=ag;P.push({project_id:S,project_height:ag})}I(aj);af.projects_visible_old=V;af.projects_visible_new=V;af.revealed_project_old=an;af.revealed_project_new=an;af.projectView_height_old=ap;af.projectView_height_new=ap;af.PROJECTS_AVAILABLE=P;af.PROJECTVIEW_HEIGHT_TOTAL=Y;i(af)}function A(){var X=L.GAL_READY,P=H.WRAPPERS,O=P.GALLERY,T=P.IMG_WRAPPER,Q=u(P.PROJECT_LIST,P.GALLERY),S=k(),R=q(),V="",W="",N=0,U=S.projectView_height_new;Q.height(U);for(V in R){W="#"+V;N=R[V].TOTAL_WIDTH;u(W).find(T).width(N).css("left",0)}u(O).addClass(X)}function l(){g();p();A();r();o();j()}b.STATE=d;b.init_Page=l;return b}(OKAPI||{},jQuery));(function(a,b,c){a.init_Page()})(OKAPI||{},jQuery);
