/**
 * jQuery reel3D plugin
 *
 * @author	Markus Pape <pape@sport-net-gmbh.de>
 * @version	1.0.0
 * @updated	2011-01-25
 */

(function(a){a.fn.reel3D=function(b){var c=a.extend({},a.fn.reel3D.defaults,b);return this.each(function(){var h=a(this);var m=h.find(".ani360_canvas");if(c.size=="mini"){var P=a("<img />").attr("src",c.playerURL+"images/loader_mini.gif").attr("class","ani360_loader_image").appendTo(m)}else{var P=a("<img />").attr("src",c.playerURL+"images/loader.gif").attr("class","ani360_loader_image").appendTo(m)}var w=a('<div class="ani360_loading-bar"><div class="ani360_bar"></div></div>').prependTo(m);m.css({width:c.imageWidth,height:(c.imageHeight)});var s="x";var p=false;var k=1;var f;var C;var B=true;var G=0;var g=a('<div id="ani360_toolbar" class="ani360_toolbar main"></div>');var H;var O;var r;var D='<button id="ani360_up" class="ani360_btn step"></button><button id="ani360_prev" class="ani360_btn step"></button><button id="ani360_play" class="ani360_btn play" title="Play"></button><button id="ani360_pause" class="ani360_btn pause" title="Pause"></button><button id="ani360_next" class="ani360_btn step"></button><button id="ani360_down" class="ani360_btn step"></button>';var l=a("<button />").attr("id","ani360_zoom").attr("class","ani360_btn zoom").attr("title","Zoom-Ansicht");var t=v();function v(){var R={x:[],y:[]};var Q=0;var T=function(){Q++;var U=(100/(c.imagesX.length+c.imagesY.length))*Q;w.find(".ani360_bar").css({width:U+"%"});if(Q==c.imagesX.length+c.imagesY.length){K()}};function S(U){var V=[];jQuery.ajax({url:U,success:function(W){V=W.replace(/['"]/g,"").split(",")},async:false});return V}c.imagesX=S(c.imageURL+"x/"+c.image_file);c.imagesY=S(c.imageURL+"y/"+c.image_file);for(i=0;i<c.imagesX.length;i++){R.x[i]=a("<img />").attr("src",c.imageURL+"x/"+c.size+"/"+c.imagesX[i]+"?"+new Date().getTime()).attr("class","ani360_image_frame2").attr("id","ani360_image_frame_"+i).load(T)}if(c.imagesY.length>0){p=true;for(i=0;i<c.imagesY.length;i++){R.y[i]=a("<img />").attr("src",c.imageURL+"y/"+c.size+"/"+c.imagesY[i]+"?"+new Date().getTime()).attr("class","ani360_image_frame2").attr("id","ani360_image_frame_"+i).load(T)}}else{p=false}return R}function y(Q){E();s=Q}function z(Q){if(Q>0&&Q<=t[s].length){k=Q;m.css({"background-image":"url("+t[s][Q-1].attr("src")+")"})}}function L(){if(((s=="y")&&(c.y_inv==true))||((s=="x")&&(c.x_inv==true))){(k==1)?z(t[s].length):z(k-1)}else{(k==t[s].length)?z(1):z(k+1)}}function q(){if(((s=="y")&&(c.y_inv==true))||((s=="x")&&(c.x_inv==true))){(k==t[s].length)?z(1):z(k+1)}else{(k==1)?z(t[s].length):z(k-1)}}function x(){d();o();f=setInterval(L,c.playSpeed[s])}function u(){clearInterval(f);clearInterval(C);s="x";B=false;z(1);n();function Q(){if(B==true){clearInterval(C);y("y");z(1);n();C=setInterval(R,c.playSpeed[s])}}function R(){if(B==true){clearInterval(C);y("x");z(1)}}if(p==true){C=setInterval(Q,c.playSpeed[s])}else{C=setInterval(R,c.playSpeed[s])}}function n(){d();B=false;o();f=setInterval(function Q(){F(t[s].length)},c.playSpeed[s])}function F(Q){if(G<Q){L();G++}else{d()}}function d(){e();G=0;clearInterval(f);B=true}function J(){d();fswindow=window.open(c.zoomURL,"","width="+(c.zoomsize.width+35)+",height="+(c.zoomsize.height+20)+",scrollbars=yes, toolbar=no, status=no, resizable=yes, menubar=no, location=no, directories=no, left=0, top=0");fswindow.focus()}function E(){G=0;z(1)}function j(){clearInterval(C);d()}function N(){d();if(s=="y"){s="x";E()}q()}function I(){d();if(s=="y"){s="x";E()}L()}function A(){d();if(s=="x"){s="y";E()}q()}function M(){d();if(s=="x"){s="y";E()}L()}function o(){if(c.controls==true){O.css({display:"none"});r.css({display:"inline"})}}function e(){if(c.controls==true){r.css({display:"none"});O.css({display:"inline"})}}function K(){w.remove();P.remove();z(1);if(c.controls==true){if(c.size=="big"){a(D).appendTo(g);g.appendTo(m);g.css({width:c.imageWidth,height:(c.imageHeight),"background-color":"transparent",position:"relative"});g.find("#ani360_up").css({position:"absolute",top:"5px",right:(c.button_width+5)});g.find("#ani360_down").css({position:"absolute",top:(c.button_height*2+5),right:(c.button_width+5)});if(p==true){toppos=c.button_height}else{toppos=0}g.find("#ani360_next").css({position:"absolute",top:(toppos+5),right:"5px"});g.find("#ani360_prev").css({position:"absolute",top:(toppos+5),right:(c.button_width*2+5)});g.find("#ani360_play").css({position:"absolute",top:(toppos+5),right:(c.button_width+5)});g.find("#ani360_pause").css({position:"absolute",top:(toppos+5),right:(c.button_width+5)})}else{a(D).appendTo(g);g.appendTo(h)}if(p==false){g.find("#ani360_up").remove();g.find("#ani360_down").remove()}$linkedLogo=a("<a />").attr("href",c.logolink).attr("target","_blank").appendTo(g);H=a("<img />").attr("src",c.logopath).attr("class","ani360_logo").appendTo($linkedLogo);if(c.size=="big"){H.css({top:4})}if(c.zoom==true){l.appendTo(g);a("#ani360_zoom").click(J)}g.find(".ani360_btn").css({width:c.button_width}).css({height:c.button_height});g.find(".ani360_btn").css({"background-image":"url("+c.playerURL+"images/"+c.buttonset+")"});O=h.find("#ani360_play");r=h.find("#ani360_pause");a("#ani360_next").click(N);a("#ani360_prev").click(I);a("#ani360_up").click(A);a("#ani360_down").click(M);a("#ani360_play").click(u);a("#ani360_pause").click(j)}else{if(c.zoom==true&&c.size!="big"){l.appendTo(m);a(".ani360_btn").css({width:c.button_width}).css({height:c.button_height});a(".ani360_btn").css({"background-image":"url("+c.playerURL+"images/"+c.buttonset+")"});a("#ani360_zoom").click(J)}}if(c.oxidMini==true){a(document.getElementById("ani360_oxidthumb_btn")).click(u)}if(c.mouseControl==true){m.css({cursor:"move"});var S=0;var R=0;var Q=false;m.mousedown(function(T){Q=true;T.preventDefault()});a(document).mouseup(function(T){Q=false});a(document).mousemove(function(V){if(Q){var T=(V.pageX-S)*c.mouseSensity;var W;if(p==true){W=(V.pageY-R)*c.mouseSensity}else{W=0}function U(X){j();S=V.pageX;R=V.pageY;if(X<0){L()}else{q()}}if(T>20||T<-20){if(s=="y"){y("x")}U(T)}else{if((W>20||W<-20)&&(p==true)){if(s=="x"){y("y")}U(-W)}}}})}u()}})};a.fn.reel3D.defaults={playerURL:"./",imageURL:"frames_1/",image_file:"imafile.txt",imagesX:[],imagesY:[],imageWidth:500,imageHeight:500,y_inv:false,x_inv:false,controls:true,zoom:true,zoomURL:"big.php",mouseControl:true,mouseSensity:2,size:"small",oxidMini:false,playSpeed:{x:150,y:150},zoomsize:{width:900,height:900},logopath:"./images/logo.gif",logolink:"http://www.360.ag",buttonset:"buttons_simple_grey.png",button_width:35,button_height:35}})(jQuery);
