var $jq={};$jq=jQuery.noConflict(true);if(typeof $jq.scrollTo!="function"){(function(a){function c(a){return typeof a=="object"?a:{top:a,left:a}}var b=a.scrollTo=function(b,c,e){a(window).scrollTo(b,c,e)};b.defaults={axis:"xy",duration:parseFloat(a.fn.jquery)>=1.3?0:1};b.window=function(b){return a(window)._scrollable()};a.fn._scrollable=function(){return this.map(function(){var b=this,c=!b.nodeName||a.inArray(b.nodeName.toLowerCase(),["iframe","#document","html","body"])!=-1;if(!c)return b;var e=(b.contentWindow||b).document||b.ownerDocument||b;return a.browser.safari||e.compatMode=="BackCompat"?e.body:e.documentElement})};a.fn.scrollTo=function(e,f,g){if(typeof f=="object"){g=f;f=0}if(typeof g=="function")g={onAfter:g};if(e=="max")e=9e9;g=a.extend({},b.defaults,g);f=f||g.speed||g.duration;g.queue=g.queue&&g.axis.length>1;if(g.queue)f/=2;g.offset=c(g.offset);g.over=c(g.over);return this._scrollable().each(function(){function r(a){i.animate(o,f,g.easing,a&&function(){a.call(this,e,g)})}var h=this,i=a(h),l=e,m,o={},q=i.is("html,body");switch(typeof l){case"number":case"string":if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(l)){l=c(l);break}l=a(l,this);case"object":if(l.is||l.style)m=(l=a(l)).offset()}a.each(g.axis.split(""),function(a,c){var d=c=="x"?"Left":"Top",e=d.toLowerCase(),f="scroll"+d,j=h[f],n=b.max(h,c);if(m){o[f]=m[e]+(q?0:j-i.offset()[e]);if(g.margin){o[f]-=parseInt(l.css("margin"+d))||0;o[f]-=parseInt(l.css("border"+d+"Width"))||0}o[f]+=g.offset[e]||0;if(g.over[e])o[f]+=l[c=="x"?"width":"height"]()*g.over[e]}else{var p=l[e];o[f]=p.slice&&p.slice(-1)=="%"?parseFloat(p)/100*n:p}if(/^\d+$/.test(o[f]))o[f]=o[f]<=0?0:Math.min(o[f],n);if(!a&&g.queue){if(j!=o[f])r(g.onAfterFirst);delete o[f]}});r(g.onAfter)}).end()};b.max=function(b,c){var e=c=="x"?"Width":"Height",f="scroll"+e;if(!a(b).is("html,body"))return b[f]-a(b)[e.toLowerCase()]();var g="client"+e,h=b.ownerDocument.documentElement,i=b.ownerDocument.body;return Math.max(h[f],i[f])-Math.min(h[g],i[g])}})($jq)}$jq.panelMagic=function(a){this.init=function(a){$jq("body").css({padding:0,margin:0,overflow:"hidden"});if($jq.browser.msie)$jq(document.documentElement).css({overflow:"hidden"});this.options={openingPanel:null,scrollTimer:1500,scrollEasing:null,panelClass:"panel",panelPreviews:true,panelPreviewScale:1.5,panelURLParam:"panel",gridURLParam:"grid",previewPause:150,gridLoader:null,gridLoaderOpacity:1,gridLoaderOffset:{top:10,right:10,bottom:"none",left:"none"},resizeTimer:1e3,beforeRestorePanels:function(){},afterRestorePanels:function(){},afterLoadGrid:function(){},afterLoadPanel:function(){}};$jq.extend(this.options,a);this._resizeTimer=null;this._windowWidth=parseFloat($jq(window).width());this._windowHeight=parseFloat($jq(window).height());this._windowResized=false;this._gridActive=false;this._gridPanels=$jq("."+this.options.panelClass);this._gridMatrix=this.calcMatrix.call(this);this._currentPanel=null;this._previewTimer=null;this._matrixScale=1;this.setup.call(this)};this.calcMatrix=function(){for(i=1;i<=this._gridPanels.length;i++){var a=Math.pow(i,2);switch(true){case a==this._gridPanels.length:return{cols:i,rows:i};case a>this._gridPanels.length:return{cols:i,rows:i--}}}};this.getPanelOffsets=function(){$panel=$jq(this);var a={top:0,right:0,bottom:0,left:0};$jq(["border%sWidth","padding%s"]).each(function(){a.left+=parseInt($panel.css(this.replace("%s","Left"))||0);a.right+=parseInt($panel.css(this.replace("%s","Right"))||0);a.top+=parseInt($panel.css(this.replace("%s","Top"))||0);a.bottom+=parseInt($panel.css(this.replace("%s","Bottom"))||0)});for(key in a){a[key]=isNaN(a[key])?0:a[key]}return a};this.positionPanels=function(a){var b=this;var d=b._gridMatrix.cols;var e=b._gridMatrix.rows;var f=0;for(r=1;r<=d;r++){var g=(r-1)*b._windowHeight;for(c=1;c<=e;c++){var h=(c-1)*b._windowWidth;var i=$jq(b._gridPanels[f]);if(i.length==0)break;var j=b.getPanelOffsets.call(i);var k=b._windowWidth-j.left-j.right;var l=b._windowHeight-j.top-j.bottom;var i=$jq(b._gridPanels[f]).css({width:k,height:l,display:"block",position:"absolute"});panel=i.get(0);panel.defaultTop=g;panel.defaultLeft=h;f++;i.css({top:g,left:h});panel.oldOffsetTop=panel.offsetTop;panel.oldOffsetLeft=panel.offsetLeft;if(f==b._gridPanels.length){if(a)a.call(b)}}}};this.setup=function(){var a=this;if(a.options.gridLoader){var b=$jq(a.options.gridLoader);b.css({display:"none",position:"absolute"}).bind("click",function(){$jq(this).fadeOut("fast");a.showGrid.call(a,a)},false)}$jq(window).bind("resize",function(){window.clearTimeout(a._resizeTimer);a._resizeTimer=window.setTimeout(function(){if(a._windowWidth!=parseInt($jq(window).width())&&a._windowHeight!=parseInt($jq(window).height())){window.location.reload()}},a.options.resizeTimer)});a.positionPanels.call(a,function(){a._currentPanel=a.options.openingPanel?$jq(a.options.openingPanel):a._gridPanels[0];a._gridPanels.css({display:"block"}).bind("mousedown",{inst:a},this.setPanelActive);if(a.options.panelPreviews)a._gridPanels.bind("mouseover",{inst:a},this.showPanelPreview);var b=new RegExp(a.options.gridURLParam+"=true");if(window.location.href.match(b)){a.showGrid.call(a,a)}else{var b=new RegExp(a.options.panelURLParam+"=(.*)");if(window.location.href.match(b)){a._currentPanel=$jq("#"+window.location.href.match(b)[1])}$jq.scrollTo(a._currentPanel,a.options.scrollTimer,{easing:a.options.scrollEasing,onAfter:function(){a.repositionMenuLoader.call(a)}})}})};this.showPanelPreview=function(a){var b=a.data.inst;b.hidePanelPreviews.call(b);if(b._gridActive){var c=$jq("body").css("MozTransform")||$jq("body").css("WebkitTransform");var d=parseFloat(c.match(/\d\.?\d+/)[0]);var e=this;clearTimeout(b._previewTimer);b._previewTimer=setTimeout(function(){b.hidePanelPreviews.call(b);var a=$jq(e);var c=$jq(e).clone(true);var f=c.get(0);var g=b.options.panelPreviewScale;var h=b._windowWidth*b._gridMatrix.cols;var i=b._windowHeight*b._gridMatrix.rows;var j=parseFloat(e.offsetWidth),k=j*d,l=k*g;var m=parseFloat(e.offsetHeight),n=m*d,o=n*g;var p=parseFloat(e.oldOffsetLeft)-(l-k/2);p=p<0?0:p;p=p+l>=h?h-l:p;var q=parseFloat(e.oldOffsetTop)-(o-n/2);q=q<0?0:q;q=q+o>=i?i-o:q;f.parentPanel=e;c.addClass("panel-preview-clone").css({position:"absolute",left:p,top:q,MozTransformOrigin:"0% 0%",MozTransform:"scale("+g+")",webkitTransformOrigin:"0% 0%",webkitTransform:"scale("+g+")",zIndex:1e4,display:"none"}).unbind("mouseover").unbind("mousedown").bind("mousedown",function(){$jq(this.parentPanel).trigger("mousedown")});e.panelPreview=f;$jq("body").append(c);if($jq.browser.msie){var p=parseFloat(e.oldOffsetLeft);p=p*b._matrixScale;nw=j*b._matrixScale;j=nw*g;df=j-nw;p=p-df/2;var q=parseFloat(e.oldOffsetTop);q=q*b._matrixScale;nh=m*b._matrixScale;m=nh*g;df=m-nh;q=q-df/2;p=p<0?0:p;p=p+nw>b._windowWidth?b._windowWidth-nw:p;q=q<0?0:q;q=q+nh>b._windowHeight?b._windowHeight-nh:q;c.css({display:"block",left:p,top:q}).IEMatrixScale({scale:b._matrixScale*g,expr:"*="});c.fadeIn("fast")}else{c.fadeIn("fast")}},b.options.previewPause)}};this.hidePanelPreviews=function(){var a=this;$jq(".panel-preview-clone").remove()};this.resizeWait=function(a){var b=this;if(b._resizeTimer==null){b._resizeTimer=setInterval(function(){if($jq(window).width()==b._windowWidth){clearInterval(b._resizeTimer);a.call(b);b._resizeTimer=null;b._windowWidth=$jq(window).width()}},b.options.resizeTimer)}};this.setPanelActive=function(a){var b=a.data.inst;var c=a.target;if($jq.browser.msie)var c=b.findPanel(a.target);if(b._gridActive){$node=$jq(c);b._gridActive=false;b.hidePanelPreviews.call(b);if(c.panelPreview)$jq(c.panelPreview).remove();b.hideGridLayout.call(b,c);var d=window.location.href;window.location=d.substr(0,d.indexOf("#"))+"#/"+b.options.panelURLParam+"="+$jq(c).attr("id");a.stopPropagation();a.preventDefault();return false}};this.hideGridLayout=function(a){var b=this;var c=b._gridPanels.length;var d=0;b.hidePanelPreviews.call(b);b._gridPanels.fadeOut("fast",function(){d++;if(d==c){$jq("body").css({MozTransformOrigin:"0% 0%",MozTransform:"scale(1)",webkitTransformOrigin:"0% 0%",webkitTransform:"scale(1)"});if($jq.browser.msie){$jq(".panel").each(function(a){var b=$jq(this);b.IEMatrixScale({scale:1,expr:"="});$jq(this).css({left:this.origLeft,top:this.origTop})})}b.options.beforeRestorePanels.call(b);var e=0;b._gridPanels.css({cursor:"auto"}).fadeIn("fast",function(){e++;if(e==c){b._gridActive=false;$jq.scrollTo(b._currentPanel,0);b._currentPanel=a;$jq.scrollTo(b._currentPanel,b.options.scrollTimer,{easing:b.options.scrollEasing,onAfter:function(){b.repositionMenuLoader.call(b);b.options.afterRestorePanels.call(b)}})}})}})};this.repositionMenuLoader=function(){var a=this;if(a.options.gridLoader){var b=$jq(a._currentPanel);var c=$jq(a.options.gridLoader);var d=b.get(0).offsetLeft,e=b.get(0).offsetTop,f=$jq(window).width(),g=$jq(window).height();var h=c.width(),i=c.height();var j={};if(a.options.gridLoaderOffset){var k=a.options.gridLoaderOffset;if(k.left&&String(k.left).match(/none|auto/))j.left="auto";if(k.left&&!isNaN(k.left))j.left=d+k.left;if(k.right&&String(k.right).match(/none|auto/))j.right="auto";if(!isNaN(k.right))j.left=d+f-h-k.right;if(k.top&&String(k.top).match(/none|auto/))j.top="auto";if(!isNaN(k.top))j.top=e+k.top;if(k.bottom&&String(k.bottom).match(/none|auto/))j.bottom="auto";if(!isNaN(k.bottom))j.top=e+g-k.bottom-i}c.css({opacity:a.options.gridLoaderOpacity,top:j.top,left:j.left}).fadeIn()}};this.loadPanel=function(a){var b=$jq(a);var c=this;b=c.findPanel(b);c._currentPanel=b;if(b.is("."+c.options.panelClass)){var d=String(window.location);window.location=d.substr(0,d.indexOf("#"))+"#/"+c.options.panelURLParam+"="+b.attr("id");c.scrollTo(b,c.options.scrollTimer,{easing:c.options.scrollEasing,onAfter:function(){c.repositionMenuLoader.call(c);c.options.afterLoadPanel.call(c,b.get(0))}})}else{console.log("accessing invalid panel")}};this.drawGridLayout=function(){var a=this;var b=a._windowHeight/(a._gridMatrix.cols*a._windowHeight);var c=a._gridMatrix.rows*a._windowWidth*b;var d=(a._windowWidth-c)/2;var e=d+d*b;e=Math.round(e/a._windowWidth*100*100)/100;a._gridActive=true;a._matrixScale=b;a._gridPanels.css({display:"block",cursor:"pointer"});$jq("body").css({MozTransformOrigin:e+"% 50%",MozTransform:"scale("+b+")",WebkitTransformOrigin:e+"% 0%",WebkitTransform:"scale("+b+")"}).attr({scrollTop:0,scrollLeft:0});if($jq.browser.msie){$jq(".panel").each(function(c){var d=$jq(this);if(!this.origTop)this.origTop=parseFloat(this.offsetTop);if(!this.origLeft)this.origLeft=parseFloat(this.offsetLeft);cssleft=this.origLeft*b,csstop=this.origTop*b;d.IEMatrixScale({scale:b,expr:"*="});var e=(parseFloat($jq(window).width())-this.offsetWidth*b*a._gridMatrix.cols)/2;$jq(this).css({left:cssleft+e,top:csstop})});$jq(document.documentElement).attr({scrollTop:0,scrollLeft:0})}a._windowResized=false};this.findPanel=function(a){var b=this;var c=$jq(a);while(!c.is("."+b.options.panelClass)){c=c.parent()}return c};this.showGrid=function(a){var a=a;var b=String(window.location);window.location=b.substr(0,b.indexOf("#"))+"#/"+a.options.gridURLParam+"=true";if(!a._gridActive){var c=0;a._gridPanels.fadeOut("fast",function(){if(c==a._gridPanels.length-1){a.drawGridLayout.call(a);a._gridPanels.fadeIn("fast",function(){a.options.afterLoadGrid.call(a)})}c++})}};this.init.call(this,a);return this};$jq.fn.IEMatrixScale=function(ops){var defaults={scale:1,expr:"="};$jq.extend(defaults,ops);$jq(this).each(function(){this.style.filter="progid:DXImageTransform.Microsoft.Matrix()";eval("this.filters.item(0).M11 "+defaults.expr+defaults.scale+";");eval("this.filters.item(0).M12 "+defaults.expr+defaults.scale+";");eval("this.filters.item(0).M21 "+defaults.expr+defaults.scale+";");eval("this.filters.item(0).M22 "+defaults.expr+defaults.scale+";");return this})}
