PanoramicView=window.PanoramicView=function(ah,x,D){var w;var d;var N;var k,S,t,e,o,P;var u,X,am,R,an,H,M;var B,aa;var y=300,Q=400;var Y=0.5;var i=new Array();var ac=1;var a={};var al;var af=false;var aq=false;var m=false;var K=false;var C=false;PanoramicView.fn=PanoramicView.prototype={init:function(at,au,ar){if(typeof at=="object"&&at.nodeType){d=at;N=$(d);w=au;$.extend(d,PanoramicView.fn);F();ao();ad();return d}if(typeof at==="string"){return PanoramicView(document.getElementById(at),au,ar)}return null},setImage:function(ar){z(ar)},CLASSNAME:"PanoramicView"};return new PanoramicView.fn.init(ah,x,D);function ao(){S=N.find(".viewport");if(S.length==0){d.innerHTML="";k=ae("div","viewport",d);t=ae("div","container",k)}else{k=S[0];e=S.find(".container");if(e.length==0){t=ae("div","viewport",k)}else{t=e[0]}}P=N.find(".overlay");if(S.length==0){o=ae("div","overlay",d)}else{o=P[0]}ae("div","loader-animation",o);e=$(t);var ar=ae("div","controls",k);u=$(ae("div","control btn-up",ar));X=$(ae("div","control btn-down",ar));am=$(ae("div","control btn-stop",ar));R=$(ae("div","control btn-left",ar));an=$(ae("div","control btn-right",ar));M=$(ae("div","control btn-zoom-out",ar));H=$(ae("div","control btn-zoom-in",ar));z(w);t=new Draggable(t,r)}function ae(au,av,at){var ar=document.createElement(au);if(typeof av=="string"){ar.className=av}if(typeof at.appendChild!="undefined"){at.appendChild(ar)}return ar}function ad(){u.bind("mousedown",h);X.bind("mousedown",A);an.bind("mousedown",G);R.bind("mousedown",s);am.bind("mousedown",f);am.bind("mouseup",l);H.bind("mousedown",W);H.bind("mouseup",g);M.bind("mousedown",ab);M.bind("mouseup",E);e.bind("mousedown",J);e.bind("mouseup",L);e.bind("mouseup",aj);e.bind("mouseleave",q)}function h(ar){U(ar);if(af){return}O();u.removeClass("btn-up").addClass("btn-up-pressed");aq=true;al="up";b()}function A(ar){U(ar);if(af){return}O();X.removeClass("btn-down").addClass("btn-down-pressed");aq=true;al="down";b()}function G(ar){U(ar);if(af){return}O();an.removeClass("btn-right").addClass("btn-right-pressed");aq=true;al="right";b()}function s(ar){U(ar);if(af){return}O();R.removeClass("btn-left").addClass("btn-left-pressed");aq=true;al="left";b()}function W(ar){U(ar);if(af){return}H.removeClass("btn-zoom-in").addClass("btn-zoom-in-pressed");af=true;Z(ac+0.1);af=false}function g(ar){U(ar);H.addClass("btn-zoom-in").removeClass("btn-zoom-in-pressed")}function ab(ar){U(ar);if(af){return}M.removeClass("btn-zoom-out").addClass("btn-zoom-out-pressed");af=true;Z(ac-0.1);af=false}function E(ar){U(ar);M.addClass("btn-zoom-out").removeClass("btn-zoom-out-pressed")}function aj(){e.bind("mousewheel",c)}function q(){e.unbind("mousewheel",c)}function c(ar,at){if(at>0){W(ar)}else{ab(ar)}U(ar)}function U(ar){if(!ar){return}if(ar.preventDefault){ar.preventDefault()}else{ar.returnValue=false}ar.stopPropagation()}function b(){if(aq==false){O();return}K=true;var av=parseInt(e.css("marginLeft"));var au=parseInt(e.css("marginTop"));var at,aw,ar;ar=O;switch(al){case"left":at={marginLeft:0};aw=Math.abs(av-at.marginLeft)/Y;if(C){ar=function(){ak();b()}}break;case"right":if(C){at={marginLeft:-(2*ag())};ar=function(){ak();b()}}else{at={marginLeft:Q-ag()}}aw=Math.abs(av-at.marginLeft)/Y;break;case"up":at={marginTop:0};aw=Math.abs(au-at.marginTop)/Y;break;case"down":at={marginTop:y-j()};aw=Math.abs(au-at.marginTop)/Y;break}e.animate(at,aw*5,"linear",ar)}function f(){am.removeClass("btn-stop").addClass("btn-stop-pressed");O()}function l(){am.addClass("btn-stop").removeClass("btn-stop-pressed")}function O(){if(K===true){u.removeClass("btn-up-pressed").addClass("btn-up");X.removeClass("btn-down-pressed").addClass("btn-down");R.removeClass("btn-left-pressed").addClass("btn-left");an.removeClass("btn-right-pressed").addClass("btn-right")}e.stop();aq=false;K=false}function J(){e.stop();if(K===true){m=true}}function L(){if(m!==true){return}b()}function ak(){e.css({marginLeft:-ag()})}function p(){e.css({marginTop:0})}function ai(){var at=ag();var ar=j();if(C){var av=-Math.floor(at+(at-Q)/2);var au=-Math.floor((ar-y)/2)}else{var av=-Math.floor((at-Q)/2);var au=-Math.floor((ar-y)/2)}t.style.marginLeft=av+"px";t.style.marginTop=au+"px"}function I(){ac=1;var ar=(y+100)/a.imageHeight;Z(ar)}function V(){a.imageWidth=ag();a.imageHeight=j();a.marginLeft=parseInt(e.css("marginLeft"));a.marginTop=parseInt(e.css("marginTop"))}function Z(av){if(av<=0.1||av>=1.5||a.imageHeight*av<y){return}J();var ay=parseInt(e.css("marginLeft"));var ax=parseInt(e.css("marginTop"));var au=av/ac;ac=av;var aw=(ay-Q/2)*(au-1);var at=(ax-y/2)*(au-1);n(a.imageWidth*ac);ap(a.imageHeight*ac);e.css({marginLeft:ay+aw});e.css({marginTop:ax+at});ax=parseInt(e.css("marginTop"));var ar=parseInt(j());if(ax+ar<y){e.css({marginTop:y-ar})}L()}function z(aw){if(af){return}v();w=aw;O();var av=[];var au=1;if(C){au=3}for(var at=0;at<i.length;at++){av[at]=i[at];i[at]=null}var ar=new Image();ar.onload=function(){t.innerHTML="";for(var ax=0;ax<au;ax++){i[ax]=new Image();i[ax].src=ar.src;t.appendChild(i[ax])}ai();V();I();T()};ar.src=aw}function j(){return i[0].height||$(i[0]).height()}function ag(){return i[0].width||$(i[0]).width()}function ap(ar){aa=ar;for(var at=0;at<i.length;at++){i[at].style.height=aa+"px"}}function n(at){B=at;for(var ar=0;ar<i.length;ar++){i[ar].style.width=B+"px"}}function v(){af=true;o.style.display="block"}function T(){af=false;o.style.display="none"}function r(){var aw=parseInt(e.css("marginLeft"));var av=parseInt(e.css("marginTop"));var at=y-j();var au=Q-ag();var ar=0;var ax=0;if(C){if(aw<-2*ag()||aw>0){ak();t.restartDragging()}}else{if(aw<au){t.style.marginLeft=au+"px";t.restartDragging()}else{if(aw>0){t.style.marginLeft=ax+"px";t.restartDragging()}}}if(av<at){t.style.marginTop=at+"px";t.restartDragging()}else{if(av>0){t.style.marginTop=ar+"px";t.restartDragging()}}}function F(){document.ondragstart=function(ar){U(ar);return false}}};window.Draggable=function(a,d){var i,g;var q=false;var j;var k;var h;window.Draggable.fn=window.Draggable.prototype={init:function(s,r){if(typeof s=="object"&&s.nodeType){i=s;g=$(i);k=r;i.style.cursor="pointer";$.extend(i,Draggable.fn);n();return i}if(typeof s==="string"){return Draggable(document.getElementById(s,r))}return null},restartDragging:function(){c();g.trigger("restartDragging")}};return new window.Draggable.fn.init(a,d);function n(){g.bind("mouseup",c);g.bind("mousedown",f);g.bind("restartDragging",p);g.bind("mouseleave",c)}function p(r){f(r)}function f(r){e(r);if(q){return}q=true;b(r);$(document).unbind("mousemove",m);$(document).bind("mousemove",m)}function c(r){e(r);if(q==false){return}q=false;$(document).unbind("mousemove",m)}function b(s){s=s||window.event;var r=l(s);if(isNaN(r.x)||isNaN(r.y)){r=h}j={marginLeft:parseInt(g.css("marginLeft")),marginTop:parseInt(g.css("marginTop")),x:r.x,y:r.y}}function o(t){var s=0;var r=0;while(t.offsetParent){s+=t.offsetLeft;r+=t.offsetTop;t=t.offsetParent}s+=t.offsetLeft;r+=t.offsetTop;return{x:s,y:r}}function m(s){s=s||window.event;var r=l(s);if(!isNaN(r.x)&&!isNaN(r.y)){h=r}var u=r.y-j.y+j.marginTop;var t=r.x-j.x+j.marginLeft;i.style.marginTop=u+"px";i.style.marginLeft=t+"px";if(typeof k=="function"){k(i)}}function l(r){if(r.pageX||r.pageY){return{x:r.pageX,y:r.pageY}}return{x:r.clientX+document.body.scrollLeft-document.body.clientLeft,y:r.clientY+document.body.scrollTop-document.body.clientTop}}function e(r){if(!r){return}if(r.preventDefault){r.preventDefault()}else{r.returnValue=false}r.stopPropagation()}};
