/*
 * Digicrafts Javascript SDK
 * http://www.digicrafts.com.hk/components
 * Copyright (c) 2010 Digicrafts
 * All Rights Reserved.
 * 
 * @version 0.1.0
 * 
 * License information see below:
 * http://www.digicrafts.com.hk/components/license
 * 
 */
var dc={};if($==undefined){alert("This framework request jQuery 1.3+.")}else{(function(){var A=false,B=/xyz/.test(function(){xyz})?/\b_super\b/:/.*/;this.Class=function(){};Class.extend=function(G){var F=this.prototype;A=true;var E=new this();A=false;for(var D in G){E[D]=typeof G[D]=="function"&&typeof F[D]=="function"&&B.test(G[D])?(function(H,I){return function(){var K=this._super;this._super=F[H];var J=I.apply(this,arguments);this._super=K;return J}})(D,G[D]):G[D]}function C(){if(!A&&this.init){this.init.apply(this,arguments)}}C.prototype=E;C.constructor=C;C.extend=arguments.callee;return C}})();dc.resources_path="resources/";dc.debug_in_win=($.browser.msie||(typeof console)=="undefined");dc.log=function(){if(dc.debug){if(dc.debug_in_win&&dc.debug_window==undefined){dc.debug_console=$("body").append('<ul id="DEBUG_WINDOW" style></ul>')}var B="";for(var A=0;A<arguments.length;A++){B+=arguments[A]+" "}if(dc.debug_in_win){dc.debug_console.append('<li style="color:#FF0000;float:none;font-size:.8em;z-index=900;position:relative">'+B+"</li>")}else{console.debug(B)}}};dc.noop=function(){};$.browser.css3=($.browser.webkit||($.browser.mozilla&&$.browser.version.substr(0,3)=="2.0")||$.browser.opera);dc.transitionMethod="-webkit-transition";dc.transformMethod="-webkit-transform";if($.browser.mozilla==true){dc.transitionMethod="-moz-transition";dc.transformMethod="-moz-transform"}else{if($.browser.opera==true){dc.transitionMethod="-o-transition";dc.transformMethod="-o-transform"}}}dc.data={};dc.data.DataProvider=Class.extend({source:"",relativepath:true,data:[],onerror:function(A){},oncomplete:function(A){},init:function(A){$.extend(this,A);this.load(this.source)},length:function(){return this.data.length},getItemAt:function(A){return this.data[A]},load:function(A){if($.isArray(A)){this.data=A;this.oncomplete(A);return true}},parse:function(A){}});dc.data.XMLDataProvider=dc.data.DataProvider.extend({load:function(D){this._super(D);var B=this;B.source=D;dc.log("load C",D);if(D!=""&&D!=undefined){if($.isArray(D)){}else{if($.browser.msie){dc.log("load xml in IE");var A=false;if(!A){try{A=new ActiveXObject("MSXML2.XMLHTTP")}catch(C){A=false}}if(!A){try{A=new ActiveXObject("Microsoft.XMLHTTP")}catch(C){A=false}}if(!A&&window.XDomainRequest){try{A=new XDomainRequest()}catch(C){A=false}}A.open("get",D);A.onreadystatechange=function(){dc.log("ready",A.readyState);if(A.readyState==4){var F=new ActiveXObject("Microsoft.XMLDOM");F.async=false;F.loadXML(A.responseText);var E=B.parse(F);B.data=E;B.oncomplete(E)}};A.send()}else{$.ajax({url:D,dataType:($.browser.msie)?"text":"xml",success:function(G){var E;if(typeof G=="string"){E=new ActiveXObject("Microsoft.XMLDOM");E.async=false;E.loadXML(G)}else{E=G}var F=B.parse(E);B.data=F;B.oncomplete(F)}})}}}}});dc.data.AlbumDataProvider=dc.data.XMLDataProvider.extend({parse:function(D){var C=this;var B=[];var F;var A="";if(C.relativepath==true){F=C.source.split("/");F.pop();if(F.length>0){A=F.join("/")+"/"}}if($(D).find("mediaGroup").size()>0){$(D).find("item").each(function(){var H={};if($.browser.msie){if($(this).find("description").get(0)){H.description=$(this).find("description").get(0).text}if($(this).find("title").get(0)){H.title=$(this).find("title").get(0).text}if($(this).find("category").get(0)){H.category=$(this).find("category").get(0).text}}else{if($(this).find("description").get(0)){H.description=$(this).find("description").get(0).textContent}if($(this).find("title").get(0)){H.title=$(this).find("title").get(0).textContent}if($(this).find("category").get(0)){H.category=$(this).find("category").get(0).textContent}}$(this).find("rendition").each(function(){var L=$(this);var J=L.attr("size");var M=L.attr("src");var I=L.attr("width");var K=L.attr("height");switch(J){case"small":H.smallSource=A+M;H.smallWidth=I;H.smallHeight=K;break;case"medium":H.mediumSource=A+M;H.mediumWidth=I;H.mediumHeight=K;break;case"large":H.largeSource=A+M;H.largeWidth=I;H.largeHeight=K;break;default:H.thumbSource=A+M;H.thumbWidth=I;H.thumbHeight=K;break}H.thumbnail=H.thumbSource;H.source=H.largeSource;H.width=I;H.height=K});B.push(H)})}else{if($(D).find("gallery").size()>0){var E=A+$(D).find("thumbnail").attr("base");var G=A+$(D).find("large").attr("base");$(D).find("image").each(function(){var I={};var H=$(this);I.thumbnail=E+H.attr("thumbnpath");I.source=G+H.attr("path");I.width=H.attr("width");I.height=H.attr("height");B.push(I)})}}return B}});dc.mobile={};dc.mobile={isMobile:false,isIOS:false,isIPad:false,isIPhone:false,isAndroid:false,isTouch:false,init:function(A,B){this.isIPhone=RegExp("iPhone").test(navigator.userAgent);this.isIPad=RegExp("iPad").test(navigator.userAgent);this.isAndroid=RegExp("Android").test(navigator.userAgent);this.isIOS=(this.isIPhone||this.isIPad);this.isTouch=(this.isIOS||this.isAndroid);this.isMobile=(((A<=320||B<=340)&&!this.isIPhone)||this.isAndroid||this.isIPhone);if(this.isIOS){var C='<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0;"/>';C+='<meta name="apple-mobile-web-app-capable" content="yes" />';C+='<meta name="apple-touch-fullscreen" content="yes" />';C+='<meta name="apple-mobile-web-app-status-bar-style" content="none" />';C+='<link rel="apple-touch-icon" href="resources/icon.png" />';$("head").append($(C));$(document).bind("touchmove",function(D){D.preventDefault()})}else{if(this.isAndroid){var C='<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0;"/>';$("head").append($(C));$(document).bind("touchmove",function(D){D.preventDefault()})}}}};(function(C){dc.mobile.init(C(window).width(),C(window).height());var B=dc.mobile.isIOS?"touchend":"click";var A=dc.mobile.isIOS?"touchstart":"mousedown";C.fn.doubletap=function(E,G,D){var F,H;D=D==null?500:D;if(E==null){C(this).unbind("gesturechange");C(this).unbind(A);C(this).unbind(B)}else{C(this).bind("gesturechange",function(I){H=true});C(this).bind(A,function(I){H=false});C(this).bind(B,function(K){var I=new Date().getTime();var J=C(this).data("lastTouch")||I+1;var L=I-J;clearTimeout(F);if(!H){if(L<D&&L>0){if(E!=null&&typeof E=="function"){E(K)}}else{C(this).data("lastTouch",I);F=setTimeout(function(M){if(G!=null&&typeof G=="function"){G(M)}clearTimeout(F)},D,[K])}C(this).data("lastTouch",I)}})}}})(jQuery);dc.social={};dc.social.Share=function(D){var B="";if(!D){var C='<script src="http://platform.twitter.com/widgets.js" type="text/javascript"><\/script><div><a href="http://twitter.com/share" class="twitter-share-button" data-count="none">Tweet</a></div>';var A='<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"><\/script><fb:like width="45" layout="button_count"></fb:like>';window.fbAsyncInit=function(){dc.social.facebook_ready=true;FB.XFBML.parse()};B='<ul><li class="twitter">'+C+"</li><li>"+A+"</li></ul>"}else{B="Social Icon here"}return B};dc.utils={};dc.utils.Resize={AUTO:0,AUTO_WIDTH:1,AUTO_HEIGHT:2,STRETCH:3,CLIP:4,AUTO_FILL:5,getSize:function(A,I,G,B,F){if(F==undefined){F=this.AUTO_FILL}var H=0;var E=0;if(F==this.STRETCH){H=G;E=B}else{if(F==this.AUTO_WIDTH){H=G;E=I*G/A}else{if(F==this.AUTO_HEIGHT){E=B;H=A*B/I}else{if(F==this.AUTO){if(B>G){if(A<I){E=B;H=A*B/I;if(H>G){H=G;E=I*G/A}}else{H=G;E=I*G/A;if(E>B){E=B;H=A*B/I}}}else{if(A>I){H=G;E=I*G/A;if(E>B){E=B;H=A*B/I}}else{E=B;H=A*B/I;if(H>G){H=G;E=I*G/A}}}}else{if(F==this.AUTO_FILL){if(B>G){E=B;H=A*B/I;if(H<G){H=G;E=I*G/A}}else{H=G;E=I*G/A;if(E<B){E=B;H=A*B/I}}}}}}}var D=(G-H)/2;var C=(B-E)/2;return{width:H,height:E,tx:D,ty:C}}};dc.utils.Loader=function(A){var B={index:0,source:"",onload:null,onabort:null};if(A){$.extend(B,A)}var C=new Image();if(B.onload){C.onload=B.onload}if(B.onabort){C.onabort=B.onabort}C.name=String(B.index);C.src=B.source;return C};dc.utils.LoaderQueue=function(B){var C={source:[],oncomplete:null,onprogress:null,onerror:null};if(B){$.extend(C,B)}function E(G){var F=Number(G.name);D++;if(C.onprogress){C.onprogress(D,A.length,G,F)}if(D==C.source.length){if(C.oncomplete){C.oncomplete(D,A)}}}var A=[];var D=0;$.each(C.source,function(F){A[F]=dc.utils.Loader({index:F,source:C.source[F],onload:function(){$(this).attr("owidth",this.width);$(this).attr("oheight",this.height);E(this)}})});return A};dc.utils.Slideshow=Class.extend({duration:2,timer:null,uitarget:null,isIdeal:true,onnext:function(){},start:function(){if(this.isIdeal){var A=this;A.isIdeal=false;if(A.uitarget){A.uitarget.find("a").addClass("slideshow_pause")}A.timer=setInterval(function(){A.onnext()},A.duration*1000)}},stop:function(A){this.isIdeal=true;if(this.uitarget){this.uitarget.find("a").removeClass("slideshow_pause")}if(this.timer){clearInterval(this.timer)}},restart:function(A){this.stop();this.start()},toggle:function(){if(this.isIdeal){this.start()}else{this.stop()}},init:function(A){if(A){$.extend(this,A)}}});dc.ui={};dc.ui.renderer={};dc.button=function(A,C,B){return'<a href="javascript:dc.noop();" class="button '+B+'" style="width:'+A+"px;height:"+C+'px"><img src="'+dc.resources_path+'blank.gif" width="'+A+'" height="'+C+'" align="top"/></a>'};dc.ui.UIComponent=Class.extend({id:"",width:100,height:100,ui:null,eventReady:false,createChildren:function(){this.ui=$('<div class="dc_ui"></div>');if(this.id!=""){this.ui.attr("id",this.id)}},addChild:function(A){this.addChildAt(A,0)},addChildAt:function(B,A){if(B){if(B.ui==undefined){this.ui.append(B)}else{this.ui.append(B.ui)}}},addEvents:function(){if(this.eventReady){return true}this.eventReady=true;return false},removeEvents:function(){if(!this.eventReady){return true}this.eventReady=false;return false},init:function(A){$.extend(this,A);this.createChildren();this.resize(this.width,this.height)},resize:function(A,C){if(A!=undefined){this.width=A;this.height=C}var B=this;if(this.ui){this.ui.width(this.width);this.ui.height(this.height)}},onadd:dc.noop,onremove:dc.noop,onresize:dc.noop});dc.ui.Transition=dc.ui.UIComponent.extend({currentImg:null,nextImg:null,defaultWebkitAnimations:["slide","flip","slideup","swap","cube","pop","fade"],defaultChromeAnimations:["slide","fade","slideup","pop"],defaultAnimations:["slide","fade","slideup","pop"],currentType:"",background:"#000000",prevLayer:null,nextLayer:null,onstart:null,oncomplete:null,startTransition:function(C,A,B){if(this.prevLayer.size()>0){this.prevLayer.empty()}if(this.nextLayer.size()>0){this.nextLayer.empty()}this.nextLayer.append(A);if(C){this.prevLayer.append(C)}this.doAnimation(B)},doAnimation:function(C){var A=this;if(C=="random"){var B=A.defaultAnimations;if($.browser.safari){B=A.defaultWebkitAnimations}else{if(RegExp("chrome").test(navigator.userAgent.toLowerCase())){B=A.defaultChromeAnimations}}C=B[Math.floor(Math.random()*B.length)]}A.currentType=C;if($.browser.css3){A.nextLayer.one("webkitAnimationEnd",function(){if(A.currentType=="flip"||A.currentType=="swap"||A.currentType=="cube"){A.prevLayer.find("img").removeClass("out "+A.currentType);A.nextLayer.find("img").removeClass("in "+A.currentType)}else{A.prevLayer.removeClass("out "+A.currentType);A.nextLayer.removeClass("in "+A.currentType)}A.oncomplete()});if(C=="flip"||C=="swap"||C=="cube"){A.prevLayer.find("img").addClass("out "+C);A.nextLayer.find("img").addClass("in "+C)}else{A.prevLayer.addClass("out "+C);A.nextLayer.addClass("in "+C)}}else{A.prevLayer.css("left",0);A.prevLayer.css("top",0);A.nextLayer.css("left",0);A.nextLayer.css("top",0);switch(C){case"pop":var D=A.width/A.height;A.nextLayer.css("width",100);A.nextLayer.css("height",100/D);A.nextLayer.css("opacity",0);A.nextLayer.css("left",(A.width-100)/2);A.nextLayer.css("top",(A.height-100/D)/2);A.nextLayer.animate({opacity:1,left:0,top:0,width:A.width,height:A.height},"slow",function(){A.oncomplete()});A.nextLayer.animate({left:A.width},"slow");break;case"slide":A.nextLayer.css({left:A.width});A.nextLayer.animate({left:0},"slow",function(){A.oncomplete()});A.prevLayer.animate({left:-A.width},"slow");break;case"slideup":A.nextLayer.css({top:A.height});A.nextLayer.animate({top:0},"slow",function(){A.oncomplete()});A.prevLayer.animate({top:-A.height},"slow");break;case"fade":default:A.nextLayer.hide();A.nextLayer.fadeIn("slow",function(){A.oncomplete()});break}}},init:function(B){$.browser.safari=/safari/.test(navigator.userAgent.toLowerCase());if($.browser.safari){$.browser.safari=!/chrome/.test(navigator.userAgent.toLowerCase())}var A=this;A.prevLayer=$('<div class="img_container"></div>');A.nextLayer=$('<div class="img_container"></div>');this._super(B);A.ui.append(A.prevLayer);A.ui.append(A.nextLayer)},resize:function(A,C){var B=this;B._super(A,C);B.prevLayer.width(A);B.prevLayer.height(C);B.nextLayer.width(A);B.nextLayer.height(C)}});dc.ui.UILoader=dc.ui.UIComponent.extend({source:"",transition:null,resizemode:dc.utils.Resize.AUTO_FILL,transitionType:"random",background:"#000000",currentLayer:null,transitionLayer:null,image:null,isIdeal:true,loadLater:null,onload:dc.noop,ontransitionstart:dc.noop,ontransitioncomplete:dc.noop,startTransition:function(B){var A=this;A.ontransitionstart();var C=dc.utils.Resize.getSize(B.width,B.height,A.width,A.height,A.resizemode);$(B).width(C.width);$(B).height(C.height);$(B).css("left",C.tx+"px");$(B).css("top",C.ty+"px");A.currentLayer.hide();A.transitionLayer.startTransition(A.image,B,A.transitionType);A.image=B},setBackground:function(A){this.background=A;this.currentLayer.css("background-color",A)},load:function(B){var A=this;if(B){if(A.isIdeal){A.isIdeal=false;if(typeof B=="string"&&B!=""){dc.utils.Loader({source:B,onload:function(){$(this).attr("owidth",this.width);$(this).attr("oheight",this.height);A.onload(this);this.onload=null;A.startTransition(this)}})}else{A.startTransition(B)}}else{A.loadLater=B}}},createChildren:function(){this._super();var A=this;A.currentLayer=$('<div class="img_container"></div>');A.transitionLayer=new dc.ui.Transition({width:A.width,height:A.height,onstart:function(){A.ontransitionstart()},oncomplete:function(){A.currentLayer.show();A.currentLayer.append(A.image);A.isIdeal=true;if(A.loadLater){A.load(A.loadLater);A.loadLater=null}else{A.ontransitioncomplete()}}})},init:function(B){var A=this;A._super(B);A.ui.append(A.transitionLayer.ui);A.ui.append(A.currentLayer);A.ui.addClass("dc_uiloader");A.load(A.source)},resize:function(A,D){var B=this;B._super(A,D);if(B.currentLayer){B.currentLayer.css("background-color",B.background);B.currentLayer.width(B.width);B.currentLayer.height(B.height);B.transitionLayer.background=B.background;B.transitionLayer.resize(B.width,B.height)}if(B.image){var C=dc.utils.Resize.getSize($(B.image).attr("owidth"),$(B.image).attr("oheight"),A,D,B.resizemode);$(B.image).width(C.width);$(B.image).height(C.height);$(B.image).css("left",C.tx);$(B.image).css("top",C.ty)}}});dc.ui.List=dc.ui.UIComponent.extend({source:"",usethumbnail:false,dataProvider:null,data:null,ondatacomplete:function(A){},onloadercomplete:function(A){},onloaderprogress:function(C,B,A){},init:function(A){this._super(A);if(this.source&&this.source!=""){this.load(this.source)}},buildAlbum:function(B){var A=this;A.ondatacomplete(B);var C=[];A.data=[];$(B).each(function(){if(A.usethumbnail){C.push(this.thumbnail)}else{C.push(this.source)}});dc.utils.LoaderQueue({source:C,onprogress:function(H,G,D,E){var I=B[E];var F={id:E,img:D,data:I};A.data[E]=F;A.onloaderprogress(H,G,D)},oncomplete:function(D){A.onloadercomplete(A.data)}})},load:function(B){var A=this;if($.isArray(B)){A.buildAlbum(B)}else{A.dataProvider=new dc.data.AlbumDataProvider({source:B,oncomplete:function(C){A.buildAlbum(C)}})}},unload:function(){}});dc.ui.AbstractThumbnail=dc.ui.List.extend({thumbnailWidth:100,thumbnailHeight:100,thumbnailResizeMode:5,margin:5,controlSize:20,maxColumn:10,thumbnailContent:null,thumbnailContainer:null,current:null,isMouseDown:false,mousedownX:0,mousedownY:0,lastX:0,lastY:0,oncomplete:function(A){},onitemclick:function(A,B){},onloadercomplete:function(B){var A=this;$(B).each(function(D){var E=this;if(E.data){var C=dc.utils.Resize.getSize(E.data.width,E.data.height,A.thumbnailWidth,A.thumbnailHeight);$(this.img).addClass("shadow");$(this.img).css("left",C.tx);$(this.img).css("top",C.ty);var F=$('<div class="img_container thumbnail" style="position:relative" id="'+A.id+"item_"+D+'" idx="'+D+'"><a href="javascript:dc.noop();"></a></div>');F.width(A.thumbnailWidth);F.height(A.thumbnailHeight);F.find("a").append(E.img);A.thumbnailContainer.append(F);F.click(function(){var G=$(this).attr("idx");A.setSelected(G);A.onitemclick(this,B[G])})}});A.resize();A.setSelected(0);A.oncomplete(B)},onmousedown:function(A){},onmousemove:function(A){},onmouseup:function(A){},load:function(B){var A=this;A.unload();A._super(B)},unload:function(){this._super();if(this.thumbnailContainer.size()>0){this.thumbnailContainer.empty()}},setSelected:function(B){var A=this;A.thumbnailContainer.find("a").removeClass("selected");A.current=$(A.thumbnailContainer.children().get(B));A.current.find("a").addClass("selected")},init:function(B){var A=this;A.usethumbnail=true;A.thumbnailContainer=$('<div class="dc_thumbnail_container"></div>');A.thumbnailBox=$('<div class="dc_thumbnail_box"></div>');A.thumbnailBox.append(A.thumbnailContainer);A.thumbnailContainer.mousedown(function(C){A.onmousedown(C)});A.thumbnailContainer.mousemove(function(C){A.onmousemove(C)});A.thumbnailContainer.mouseup(function(C){A.onmouseup(C)});this._super(B);A.ui.addClass("dc_album_thumbnail");A.ui.append(A.thumbnailBox)}});dc.ui.ScrollThumbnail=dc.ui.AbstractThumbnail.extend({vertical:false,prev_button:null,next_button:null,th:0,tw:0,maxItems:0,currentScrollIndex:0,init:function(B){this._super(B);var A=this;A.prev_button=$(dc.button(A.controlSize,A.controlSize,"prev"));A.next_button=$(dc.button(A.controlSize,A.controlSize,"next"));A.prev_button.click(function(){A.prevPage()}).hide();A.next_button.click(function(){A.nextPage()}).hide();A.ui.append(A.prev_button);A.ui.append(A.next_button)},resize:function(A,C){this._super(A,C);var B=this;var D=B.thumbnailWidth/B.thumbnailHeight;if(B.vertical){B.tw=B.width-B.margin*2;B.th=B.tw*D}else{B.th=B.height-B.margin*2;B.tw=B.th/D}if(B.thumbnailContainer&&B.data){B.thumbnailContainer.children().each(function(G){var H=B.data[G];var I=$(this);var E=I.find("img");I.width(B.tw);I.height(B.th);if(B.vertical){I.css({"margin-left":B.margin-1,"margin-top":B.margin-1,"margin-right":B.margin-1,"margin-bottom":0})}else{I.css({"margin-left":B.margin-1,"margin-top":B.margin-1,"margin-right":0,"margin-bottom":B.margin-1})}var F=dc.utils.Resize.getSize(E.attr("owidth"),E.attr("oheight"),B.tw,B.th,B.thumbnailResizeMode);E.width(F.width-2);E.height(F.height-2);$(E).css("left",F.tx);$(E).css("top",F.ty)});if(B.vertical){$(".dc_album_thumbnail .thumbnail").css("float","");B.thumbnailContainer.width(B.width);B.thumbnailContainer.height(B.data.length*(B.th+B.margin+1));B.maxItems=Math.floor(B.height/(B.th+B.margin+1))}else{$(".dc_album_thumbnail .thumbnail").css("float","left");B.thumbnailContainer.width(B.data.length*(B.tw+B.margin+1));B.thumbnailContainer.height(B.height);B.maxItems=Math.floor(B.width/(B.tw+B.margin+1))}if(B.data.length<B.maxItems){B.prev_button.hide();B.next_button.hide();B.thumbnailBox.css({left:0,top:0});B.thumbnailBox.width(B.width);B.thumbnailBox.height(B.height)}else{if(B.vertical){B.thumbnailBox.css({left:0,top:B.controlSize});B.thumbnailBox.width(B.width);B.thumbnailBox.height(B.height-B.controlSize*2);B.maxItems=Math.floor(B.thumbnailBox.height()/(B.th+B.margin+1));B.prev_button.width(B.controlSize);B.prev_button.height(B.controlSize);B.next_button.width(B.controlSize);B.next_button.height(B.controlSize);B.prev_button.css({top:0,left:(B.width-B.controlSize)/2,right:"",bottom:""});B.next_button.css({top:"",left:(B.width-B.controlSize)/2,right:"",bottom:0});B.prev_button.addClass("vertical");B.next_button.addClass("vertical")}else{B.thumbnailBox.css({left:B.controlSize,top:0});B.thumbnailBox.width(B.width-B.controlSize*2);B.thumbnailBox.height(B.height);B.maxItems=Math.floor(B.thumbnailBox.width()/(B.tw+B.margin+1));B.prev_button.width(B.controlSize);B.prev_button.height(B.controlSize);B.next_button.width(B.controlSize);B.next_button.height(B.controlSize);B.prev_button.css({top:(B.height-B.controlSize)/2,left:0,right:"",bottom:""});B.next_button.css({top:(B.height-B.controlSize)/2,left:"",right:0,bottom:""});B.prev_button.removeClass("vertical");B.next_button.removeClass("vertical")}B.prev_button.show();B.next_button.show()}B.scrollTo(0)}},scrollTo:function(B){var A=this;if(B<0){B=0}if(B>=A.data.length){B=A.data.length-1}A.currentScrollIndex=B;var C=0;A.thumbnailContainer.stop();if(A.vertical){C=-B*(A.th+A.margin+1);A.thumbnailContainer.animate({top:C})}else{C=-B*(A.tw+A.margin+1);A.thumbnailContainer.animate({left:C})}},nextPage:function(){var A=this.currentScrollIndex+this.maxItems;if(A>this.data.length-this.maxItems){A=this.data.length-this.maxItems}this.scrollTo(A)},prevPage:function(){var A=this.currentScrollIndex-this.maxItems;if(A<0){A=0}this.scrollTo(A)}});dc.ui.Previewer=dc.ui.UIComponent.extend({source:"",isTouch:false,defaultScale:1,maxScale:2,haveEvents:true,container:null,image:null,imgWidth:0,imgHeight:0,scale:1,tempScale:1,minScale:1,lastPointerPosition:{x:0,y:0},lastOffsetPosition:{x:0,y:0},tempOffsetPosition:{x:0,y:0},boundary:{x1:0,y1:0,x2:0,y2:0},isLoaded:false,inControls:false,isGesture:false,isMouseDown:false,isEvents:false,canMove:false,onloadcomplete:dc.noop,ongesturestart:dc.noop,onscalerestored:dc.noop,handleImageLoad:function(B){var A=this;A.onloadcomplete(B);A.isLoaded=true;A.canMove=false;A.imgWidth=B.width;A.imgHeight=B.height;A.container.prepend(A.image);A.calculateConstant();if(A.haveEvents){A.addEvents()}},handleMouseMove:function(B){if(this.canMove&&this.isMouseDown){var A=this.tempOffsetPosition.x+B.pageX-this.lastPointerPosition.x;var C=this.tempOffsetPosition.y+B.pageY-this.lastPointerPosition.y;this.setPosition(A,C)}},handleMouseDown:function(A){this.isMouseDown=true;this.initInteractive();this.lastPointerPosition.x=A.pageX;this.lastPointerPosition.y=A.pageY},handleMouseUp:function(A){this.endInteractive();this.isMouseDown=false},handleTap:function(A){},handleDoubleTap:function(A){if(this.scale>(this.maxScale+this.minScale)/2){this.zoomIn(this.scale-1)}else{this.zoomIn(this.scale+1)}this.ongesturestart()},handleTouchStart:function(A){if(!this.isGesture){this.initInteractive();this.lastPointerPosition.x=A.originalEvent.targetTouches[0].clientX;this.lastPointerPosition.y=A.originalEvent.targetTouches[0].clientY}},handleTouchMove:function(B){if(this.canMove&&!this.isGesture){var A=this.tempOffsetPosition.x+B.originalEvent.targetTouches[0].clientX-this.lastPointerPosition.x;var C=this.tempOffsetPosition.y+B.originalEvent.targetTouches[0].clientY-this.lastPointerPosition.y;this.setPosition(A,C)}},handleTouchEnd:function(A){this.endInteractive()},handleGestureStart:function(A){this.isGesture=true;this.ongesturestart()},handleGestureChange:function(B){this.isGesture=true;var A=B.originalEvent.scale*this.scale;if(A>=this.minScale*0.7){this.setScale(A)}},handleGestureEnd:function(A){this.isGesture=false;this.scale=this.tempScale;if(this.scale!=this.minScale){this.canMove=true}},handleAnimationEnd:function(){this.container.unbind("webkitTransitionEnd");if(this.scale==this.minScale){this.onscalerestored();this.canMove=false}else{this.canMove=true}},calculateConstant:function(){if(this.isLoaded&&this.imgWidth>0&&this.imgHeight>0){var A=dc.utils.Resize.getSize(this.imgWidth,this.imgHeight,this.width*this.defaultScale,this.height*this.defaultScale,0);this.minScale=A.width/this.imgWidth;this.scale=this.minScale;this.setScale(1,false);this.setCenter();this.setScale(this.scale,false)}},calculateBoundary:function(){if(this.isLoaded){if(this.scale<this.minScale){this.scale=this.minScale;this.boundary.x1=0;this.boundary.y1=0;this.boundary.x2=0;this.boundary.y2=0}else{if(this.scale>this.maxScale){this.scale=this.maxScale;this.boundary.x1=(this.width-this.imgWidth)/2;this.boundary.y1=(this.height-this.imgHeight)/2;this.boundary.x2=(this.imgWidth-this.width)/2;this.boundary.y2=(this.imgHeight-this.height)/2}else{this.boundary.x1=(this.imgWidth*this.scale-this.width)/2;this.boundary.y1=(this.imgHeight*this.scale-this.height)/2;this.boundary.x2=(this.width-this.imgWidth*this.scale)/2;this.boundary.y2=(this.height-this.imgHeight*this.scale)/2}}if(this.imgWidth*this.scale<this.width){this.boundary.x1=0;this.boundary.x2=0}if(this.imgHeight*this.scale<this.height){this.boundary.y1=0;this.boundary.y2=0}}},setScale:function(B,A){this.setTransform(this.lastOffsetPosition.x,this.lastOffsetPosition.y,B,A);this.tempScale=B},setCenter:function(){var A=(this.width-this.imgWidth)/2;var B=(this.height-this.imgHeight)/2;this.container.css({left:A,top:B})},setPosition:function(A,B){this.setTransform(A,B,this.scale)},setTransform:function(F,E,I,A){if($.browser.css3){var H=this;if(A){this.scale=I;this.container.css(dc.transitionMethod,"all 0.2s ease-out");this.container.bind("webkitTransitionEnd",function(J){H.handleAnimationEnd()},false)}else{if(A==false){}else{this.container.unbind("webkitTransitionEnd");this.container.css(dc.transitionMethod,"all 0.05s ease-out")}}this.container.css(dc.transformMethod,"translate("+F+"px,"+E+"px) scale("+I+")")}else{var G,D,C,B;G=this.imgWidth*I;D=this.imgHeight*I;C=F+(this.width-G)/2;B=E+(this.height-D)/2;if(A){this.scale=I;this.image.animate({width:G,height:D},{queue:false,duration:"fast"});this.container.animate({left:C,top:B},{queue:false,duration:"fast"})}else{this.image.css({width:G,height:D});this.container.css({left:C,top:B})}}this.lastOffsetPosition.x=F;this.lastOffsetPosition.y=E},initInteractive:function(){this.tempOffsetPosition.x=this.lastOffsetPosition.x;this.tempOffsetPosition.y=this.lastOffsetPosition.y},endInteractive:function(){this.calculateBoundary();var A=this.lastOffsetPosition.x;var C=this.lastOffsetPosition.y;var B=this.scale;if(A>this.boundary.x1){A=this.boundary.x1}else{if(A<this.boundary.x2){A=this.boundary.x2}}if(C>this.boundary.y1){C=this.boundary.y1}else{if(C<this.boundary.y2){C=this.boundary.y2}}this.setTransform(A,C,B,true)},addEvents:function(){if(this.image==null||this.isEvents){return }this.isEvents=true;var A=this;if(A.isTouch){A.ui.bind("touchstart",function(B){A.handleTouchStart(B)});A.ui.bind("touchmove",function(B){A.handleTouchMove(B)});A.ui.bind("touchend",function(B){A.handleTouchEnd(B)});A.ui.bind("gesturestart",function(B){A.handleGestureStart(B)});A.ui.bind("gesturechange",function(B){A.handleGestureChange(B)});A.ui.bind("gestureend",function(B){A.handleGestureEnd(B)});A.ui.doubletap(function(B){A.handleDoubleTap(B)},function(B){A.handleTap(B)})}else{A.ui.bind("mousedown",function(B){A.handleMouseDown(B)});A.ui.bind("mouseup",function(B){A.handleMouseUp(B)});A.ui.bind("mousemove",function(B){A.handleMouseMove(B)});A.ui.dblclick(function(B){A.handleDoubleTap(B)})}},removeEvents:function(){if(this.image==null||!this.isEvents){return }this.isEvents=false;var A=this;if(A.isTouch){A.ui.unbind("touchstart");A.ui.unbind("touchmove");A.ui.unbind("touchend");A.ui.unbind("gesturestart");A.ui.unbind("gesturechange");A.ui.unbind("gestureend")}else{A.ui.unbind("mousedown");A.ui.unbind("mouseup");A.ui.unbind("mousemove")}A.ui.dblclick(null)},load:function(B){if(B&&B!=""){if(B==this.source){this.onloadcomplete(this.image)}else{var A=this;A.isLoaded=false;A.unload();scale=1;A.image=$('<img class="shadow TARGET_IMAGE" onmousedown="dc.noop()" style="position:relative"/>');A.image.bind("load",function(){A.handleImageLoad(this)});A.source=B;A.image.get(0).src=B}}},unload:function(){var A=this;if(A.image){A.removeEvents();A.image.unbind("load");A.image.remove();A.source=""}},zoom:function(A){this.setScale(A,true);this.calculateBoundary();this.endInteractive()},zoomIn:function(A){if(A==undefined){A=this.scale+0.5}if(A>this.maxScale){A=this.maxScale}this.zoom(A)},zoomOut:function(A){if(A==undefined){A=this.scale-0.5}if(A<this.minScale){A=this.minScale}this.zoom(A)},init:function(B){this._super(B);var A=this;A.ui.addClass("dc_ui_previewer");$("body").bind("dragstart",function(C){C.preventDefault()});A.container=$("<div></div>");A.container.css({position:"absolute"});A.ui.append(A.container);if(A.source&&A.source!=""){A.load(A.source)}},resize:function(A,B){this._super(A,B);if(this.isLoaded){this.calculateConstant();this.endInteractive()}}});dc.ui.PreviewerWithControls=dc.ui.Previewer.extend({mouseMoveTimer:null,onclosebuttonclick:dc.noop,handleImageLoad:function(A){this._super(A);this.showControls()},handleTap:function(A){this.showControls()},handleDoubleTap:function(A){if($(A.target).hasClass("TARGET_IMAGE")){this._super(A)}},handleMouseMove:function(A){this._super(A);if(this.isMouseDown){this.showControls()}},handleInControls:function(A){this.inControls=A},showControls:function(){var A=this;if(this.mouseMoveTimer){clearTimeout(this.mouseMoveTimer)}this.controls.show();this.mouseMoveTimer=setTimeout(function(){A.controls.fadeOut()},5000)},init:function(B){this._super(B);var A=this;this.controls=$('<ul class="controls corner shadow"></ul>');this.zoomin_button=$("<li>"+dc.button(40,40,"zoomin")+"</li>");this.zoomout_button=$("<li>"+dc.button(40,40,"zoomout")+"</li>");this.close_button=$("<li>"+dc.button(40,40,"close")+"</li>");this.controls.append(this.zoomin_button).append(this.zoomout_button).append(this.close_button);this.ui.append(this.controls);A.zoomin_button.click(function(){A.zoomIn()});A.zoomout_button.click(function(){A.zoomOut()});A.close_button.click(function(){A.onclosebuttonclick()})},resize:function(A,B){this._super(A,B);if(this.controls){this.controls.css({left:(this.width-this.controls.width())/2,bottom:20})}}});dc.ui.ScrollControlBase=dc.ui.UIComponent.extend({verticalScrollPolicy:"auto",horizontalScrollPolicy:"auto",verticalScrollPosition:0,horizontalScrollPosition:0,maxVerticalScrollPosition:0,maxHorizontalScrollPosition:0,boundEnabled:true,momentumEnabled:true,container:null,scrollContainer:null,scrollRectange:{x:0,y:0,width:0,height:0},snap:{x:0,y:0},hscroll:"auto",vscroll:"auto",owidth:0,oheight:0,last:{x:0,y:0},speed:{x:0,y:0},lastPointerPosition:{x:0,y:0},lastOffsetPosition:{x:0,y:0},tempOffsetPosition:{x:0,y:0},boundary:{x1:0,y1:0,x2:0,y2:0},isGesture:false,isMove:false,isMouseDown:false,isTouch:false,canBound:false,handleMouseMove:function(A){if(this.isMouseDown){this.pointerMove(A.pageX,A.pageY)}},handleMouseDown:function(B){var A=this;$("body").bind("mouseup",function(C){A.handleMouseUp(C)});this.isMouseDown=true;this.isMove=false;this.startScroll();this.lastPointerPosition.x=B.pageX;this.lastPointerPosition.y=B.pageY},handleMouseUp:function(A){$("body").unbind("mouseup");this.endScroll();this.isMouseDown=false},handleTouchStart:function(A){if(!this.isGesture){this.isMove=false;this.startScroll();this.lastPointerPosition.x=A.originalEvent.targetTouches[0].clientX;this.lastPointerPosition.y=A.originalEvent.targetTouches[0].clientY}},handleTouchMove:function(A){if(!this.isGesture){this.pointerMove(A.originalEvent.targetTouches[0].clientX,A.originalEvent.targetTouches[0].clientY)}},handleTouchEnd:function(A){this.endScroll()},handleGestureStart:function(A){this.isGesture=true},handleGestureChange:function(A){this.isGesture=true},handleGestureEnd:function(A){this.isGesture=false},handleAnimationEnd:function(){},createChildren:function(){this._super();this.container=$('<div class="container"></div>');this.scrollContainer=$('<div class="scrollContainer"></div>');this.addChild(this.scrollContainer);this.scrollContainer.append(this.container);this.addEvents()},init:function(A){$("body").bind("dragstart",function(B){B.preventDefault()});this._super(A)},resize:function(A,B){this._super(A,B);this.scrollContainer.width(this.width);this.scrollContainer.height(this.height);this.calculateBoundary();this.setPosition(0,0)},removeAllChildren:function(){this.container.empty()},addEvents:function(){this._super();if(this.ui==null){return }var A=this;if($.browser.css3){A.container.bind("webkitTransitionEnd",function(B){A.handleAnimationEnd()},false)}if(A.isTouch){A.ui.bind({touchstart:function(B){A.handleTouchStart(B)},touchmove:function(B){A.handleTouchMove(B)},touchend:function(B){A.handleTouchEnd(B)},gesturestart:function(B){A.handleGestureStart(B)},gesturechange:function(B){A.handleGestureChange(B)},gestureend:function(B){A.handleGestureEnd(B)}})}else{A.ui.bind("mousedown",function(B){A.handleMouseDown(B)});A.ui.bind("mousemove",function(B){A.handleMouseMove(B)})}},removeEvents:function(){this._super();if(this.ui==null){return }var A=this;if($.browser.css3){A.container.unbind("webkitTransitionEnd")}if(A.isTouch){A.ui.unbind("touchstart");A.ui.unbind("touchmove");A.ui.unbind("touchend");A.ui.unbind("gesturestart");A.ui.unbind("gesturechange");A.ui.unbind("gestureend")}else{A.ui.unbind("mousedown");A.ui.unbind("mousemove")}},calculateBoundary:function(){var C=Number(String(this.container.css("padding-left")).replace(/[a-zA-Z]x/,""));var B=Number(String(this.container.css("padding-top")).replace(/[a-zA-Z]x/,""));var A=this.container.width()+C;var D=this.container.height()+B;if(A<=this.width){this.maxHorizontalScrollPosition=0}else{this.maxHorizontalScrollPosition=A-this.width}if(D<=this.height){this.maxVerticalScrollPosition=0}else{this.maxVerticalScrollPosition=D-this.height}this.hscroll=(this.maxHorizontalScrollPosition==0)?"off":this.horizontalScrollPolicy;this.vscroll=(this.maxVerticalScrollPosition==0)?"off":this.verticalScrollPosition},startScroll:function(){this.tempOffsetPosition.x=this.lastOffsetPosition.x;this.tempOffsetPosition.y=this.lastOffsetPosition.y},endScroll:function(){this.calculateBoundary();var B=this.lastOffsetPosition.x;var D=this.lastOffsetPosition.y;var A=Math.abs(this.speed.x);if(A>8){B=B+A*this.speed.x}var C=Math.abs(this.speed.y);if(C>8){D=D+C*this.speed.y}if(this.snap.x>5){B=Math.round(B/this.snap.x)*this.snap.x}if(this.snap.y>5){D=Math.round(D/this.snap.y)*this.snap.y}if(B>0){B=0}else{if(B<-this.maxHorizontalScrollPosition){B=-this.maxHorizontalScrollPosition}}if(D>0){D=0}else{if(D<-this.maxVerticalScrollPosition){D=-this.maxVerticalScrollPosition}}this.setTransform(this.container,B,D,1,true)},pointerMove:function(B,D){var C=B-this.lastPointerPosition.x;var A=D-this.lastPointerPosition.y;if(C>5||A>5){this.isMove=true}this.speed.x=B-this.last.x;this.speed.y=D-this.last.y;this.last.x=B;this.last.y=D;this.setPosition(this.tempOffsetPosition.x+C,this.tempOffsetPosition.y+A)},setPosition:function(A,B){this.setTransform(this.container,A,B,1,false)},setTransform:function(E,G,F,J,A){var I=this;if(this.vscroll=="off"){F=0}if(this.hscroll=="off"){G=0}this.horizontalScrollPosition=-G;this.verticalScrollPosition=-F;if($.browser.css3){if(A){E.css(dc.transitionMethod,"all 0.2s ease-out")}else{if(A==false){E.css(dc.transitionMethod,"all 0.00001s linear")}else{E.css(dc.transitionMethod,"all 0.05s ease-out")}}E.css(dc.transformMethod,"translate("+G+"px,"+F+"px)")}else{var H,D,C,B;C=G;B=F;if(A){this.scale=J;E.animate({left:C,top:B},{queue:false,duration:"fast"})}else{E.css({left:C,top:B})}}this.lastOffsetPosition.x=G;this.lastOffsetPosition.y=F},scrollTo:function(A,B){if(A<0){A=0}else{if(A>this.maxHorizontalScrollPosition){A=this.maxHorizontalScrollPosition}}if(B<0){B=0}else{if(B>this.maxVerticalScrollPosition){B=this.maxVerticalScrollPosition}}this.setTransform(this.container,-A,-B,1,true)}});dc.ui.renderer.ItemRenderer=dc.ui.UIComponent.extend({index:0,data:null,selected:false,onitemselect:dc.noop,render:function(){this.addEvents()},clean:function(){this.removeEvents()},setSelected:function(A){this.selected=A},handleClick:function(A){this.setSelected(true);this.onitemselect(this)},handleMouseover:function(A){},handleMouseout:function(A){},addEvents:function(){if(this._super()){return true}var A=this;A.ui.bind("click",function(B){A.handleClick(B)});A.ui.bind("mouseover",function(B){A.handleMouseover(B)});A.ui.bind("mouseout",function(B){A.handleMouseout(B)})},removeEvents:function(){if(this._super()){return }this.ui.unbind("click");this.ui.unbind("mouseover");this.ui.unbind("mouseout")}});dc.ui.ListBase=dc.ui.ScrollControlBase.extend({source:"",dataProvider:null,data:null,dataProviderClass:dc.data.AlbumDataProvider,itemRenderer:dc.ui.ItemRenderer,items:null,currentItem:null,currentItemData:null,currentItemIndex:-1,gap:5,currentPositionIndex:0,maxItemCount:0,ondatacomplete:dc.noop,oncomplete:dc.noop,onloaderprogress:dc.noop,onitemselect:dc.noop,handleAnimationEnd:function(){this._super();if(this.items&&this.items.length>0){var B=this;B.calculatePositionIndex();var C=B.currentPositionIndex-B.maxItemCount;var A=B.currentPositionIndex+B.maxItemCount*2-1;if(C<0){C=0}if(A>=B.items.length){A=B.items.length-1}$.each(B.items,function(D){if(D>=C&&D<=A){this.render()}else{this.clean()}});B.currentItem=B.items[B.currentPositionIndex]}},calculatePositionIndex:function(){if(this.items){this.maxItemCount=this.items.length}},checkCurrentPosition:function(){},build:function(B){var A=this;A.ondatacomplete(B);$.each(B,function(C){var D=A.createItem(C,this);A.items[C]=D;A.container.append(D.ui)});A.scrollContainer.append(A.container);A.resize();A.handleAnimationEnd();A.oncomplete()},createItem:function(B,D){var A=this;var C=new this.itemRenderer({index:B,data:D,onitemselect:function(E){if(!A.isMove){A.onitemselect(E,E.data);A.setSelectedItemIndex(E.index)}}});return C},load:function(B){var A=this;A.unload();A.dataProvider=new A.dataProviderClass({source:B,oncomplete:function(C){A.data=C;A.build(C)}})},unload:function(){this.currentItemData=this.currentItem=null;if(this.items&&this.items.length>0){this.removeAllChildren()}this.items=[];this.data=null},setSelectedItemIndex:function(A){if(this.items&&A<this.items.length){if(A!=this.currentItemIndex){this.currentItemIndex=A;$.each(this.items,function(B){if(B!=A){this.setSelected(false)}});this.currentItem=this.items[A];this.currentItemData=this.currentItem.data;this.currentItem.setSelected(true);this.checkCurrentPosition()}}},resize:function(A,B){this.container.css({"padding-left":this.gap,"padding-top":this.gap});this._super(A,B)},init:function(A){this._super(A);this.ui.addClass("list");if(this.source&&this.source!=""){this.load(this.source)}}});dc.ui.renderer.TileListItemRenderer=dc.ui.renderer.ItemRenderer.extend({thumbnail:null,image:null,loaded:false,resizeMode:5,handleLoaderEvent:function(A){this.thumbnail.append(A);this.loaded=true;this.resize()},render:function(){var A=this;if(A.data.source&&A.data.source!=""){if(A.image&&$(A.image).attr("osource")==A.data.source){return }A.clean();A.image=dc.utils.Loader({source:A.data.source,onload:function(){$(this).attr("osource",A.data.source);$(this).attr("owidth",this.width);$(this).attr("oheight",this.height);A.handleLoaderEvent(this)}});this._super()}},clean:function(){if(this.image){$(this.image).remove();this.image=null;this.source="";this._super()}this.loaded=false},createChildren:function(){this._super();var A=this;A.ui.addClass("item");A.thumbnail=$('<div class="img_container thumbnail shadow" style="position:relative" idx="'+A.index+'"></div>');A.addChild(A.thumbnail)},resize:function(B,F){this._super(B,F);var C=this;if(C.image&&C.loaded){var A=C.width;var E=C.height;var G=$(C.image);var D=dc.utils.Resize.getSize(G.attr("owidth"),G.attr("oheight"),A,E,C.resizeMode);G.width(D.width);G.height(D.height);G.css("left",D.tx);G.css("top",D.ty);C.thumbnail.css({width:A,height:E})}}});dc.ui.renderer.CaptionTileListItemRenderer=dc.ui.renderer.TileListItemRenderer.extend({caption:null,handleLoaderEvent:function(A){this.caption.empty();this.caption.append(this.data.title);this._super(A)},createChildren:function(){this._super();this.caption=$('<div class="caption corner">A</div>');this.addChild(this.caption)},resize:function(A,B){this._super(A,B);this.thumbnail.height(this.height-this.caption.height()-32)}});dc.ui.TileBase=dc.ui.ListBase.extend({columnWidth:100,rowHeight:100,columnCount:0,rowCount:0,itemResizeMode:5,_columnCount:0,_rowCount:0,oncomplete:dc.noop,build:function(B){this._super(B);var A=this},checkCurrentPosition:function(){if(this.vscroll=="off"){var A=(this.currentItemIndex%this._columnCount)*this.columnWidth;if(A<-this.lastOffsetPosition.x||A>=-this.lastOffsetPosition.x+this.width){this.scrollTo(A,-this.lastOffsetPosition.y)}}else{if(this.hscroll=="off"){var B=(this.currentItemIndex%this._rowCount)*this.rowWidth;if(B<-this.lastOffsetPosition.y||B>=-this.lastOffsetPosition.y+this.height){this.scrollTo(-this.lastOffsetPosition.x,B)}}}},resize:function(A,C){var B=this;if(B.container&&B.items&&B.items.length>0){if(B.columnCount>0){B.container.css("width",B.columnCount*B.columnWidth);B._columnCount=B.columnCount}else{if(B.rowCount>0){var D=Math.ceil(B.items.length/B.rowCount)*B.columnWidth;if(D<B.width){D=B.width}B._columnCount=Math.floor(D/B.columnWidth);B.container.css("width",D)}else{B.container.css("width","");B._columnCount=Math.floor(B.width/B.columnWidth)}}if(B.rowCount>0){B.container.css("height",B.rowCount*B.rowHeight);B._rowCount=B.rowCount}else{if(B.columnCount>0){B._rowCount=Math.ceil(B.items.length/B.columnCount);B.container.css("height",B._rowCount*B.rowHeight)}else{B._rowCount=Math.floor(B.height/B.rowHeight);B.container.css("height","")}}B.snap.x=B.columnWidth;B.snap.y=B.rowHeight;$.each(B.items,function(){this.ui.css({"margin-right":B.gap,"margin-bottom":B.gap});this.resizeMode=B.itemResizeMode;this.resize((B.columnWidth-B.gap),(B.rowHeight-B.gap))})}this._super(A,C)},init:function(B){var A=this;this.itemRenderer=dc.ui.renderer.TileListItemRenderer;this._super(B)}});dc.data.LightroomDataProvider=dc.data.XMLDataProvider.extend({parse:function(B){var A={};if(B.childNodes[0].nodeName=="galleryStyle"){$(B).find("appearance").each(function(){$(this).children().each(function(){var C=A[this.nodeName]={};$(this).children().each(function(){C[this.nodeName]=$(this).attr("value")})})})}return A}});dc.lightroom={};dc.lightroom.Parameters=Class.extend({init:function(A){if(A){for(var B in this){if(A[B]!=undefined){if(A[B]=="true"){this[B]=true}else{if(A[B]=="false"){this[B]=false}else{if(isNaN(Number(this[B]))||this[B]==null){this[B]=A[B]}else{this[B]=Number(A[B])}}}}}}}});dc.lightroom.BasicParameters=dc.lightroom.Parameters.extend({logoVisible:true,logoLink:null,title:"Site Title",description:"Site Description Here.",copyright:"&copy;Copyright 2010.",backgroundColor:"#000000",themeColor:"#333333",themeTextColor:"#FFFFFF",themeAlpha:80,backgroundPath:"skin/background.jpg",autoSlideShowEnabled:false,slideShowEnabled:true,slideShowInterval:5,contactName:"contact",contactFileName:"contact.html"});dc.lightroom.Gallery=dc.ui.UIComponent.extend({source:"config.xml",imagesource:"images.xml",mediaPath:"media/",logoSource:"logo.png",loadingAnimation:null,orientation:"landscape",firststart:true,slideshowRandom:false,basicparameters:{},currentdata:null,currentkey:null,albumdata:null,categorydata:{"default":[]},slideshowIndex:0,isPreview:false,isGalleryReady:false,handleSourceLoad:function(A){},handleAlbumLoad:function(A){},handleWindowResize:function(){if(window&&document&&$(window).width()>0){if(dc.mobile.isIPhone){this.resize($(window).width(),$(window).height()+60)}else{if(dc.mobile.isAndroid){this.resize($(window).width(),$(window).height())}else{this.resize($(window).width(),$(window).height())}}if(dc.mobile.isIPhone){scrollTo(0,0)}else{if(dc.mobile.isAndroid){scrollTo(0,window.innerHeight)}}}},handleSlideShow:function(){if(this.slideshowRandom){this.slideshowIndex=Math.floor(this.currentdata.length*Math.random())}else{this.slideshowIndex++;if(this.slideshowIndex>=this.currentdata.length){this.slideshowIndex=0}}},createChildren:function(){this._super();var A=this;A.loadingAnimation=$('<div class="dc_ui dc_loading">loading...</div>');A.slideshow=new dc.utils.Slideshow({onnext:function(){A.handleSlideShow()}})},initParameters:function(A){dc.log("Lightroom.initParameters()");dc.log(A);this.basicparameters=new dc.lightroom.BasicParameters(A.basic)},layout:function(){dc.log("Lightroom.layout()")},stylesChange:function(){dc.log("Lightroom.stylesChange()");var A=this.basicparameters;$("body").css("background-color",A.backgroundColor);$(".backgroundColor").css({opacity:A.themeAlpha/100,"background-color":A.themeColor});$(".textColor").css("color",A.themeTextColor);this.slideshow.duration=A.slideShowInterval},galleryReady:function(){dc.log("Lightroom.galleryReady()");if(dc.mobile.isIPhone){scrollTo(0,0)}else{if(dc.mobile.isAndroid){scrollTo(0,window.innerHeight)}}this.isLoading(false);if(this.firststart&&this.basicparameters.autoSlideShowEnabled){this.toggleSlideshow()}this.isGalleryReady=true;this.firststart=false},isLoading:function(B){var A=this;if(B){A.ui.append(A.loadingAnimation)}else{A.loadingAnimation.remove()}},getParameterByName:function(B){B=B.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var A="[\\?&]"+B+"=([^&#]*)";var D=new RegExp(A);var C=D.exec(window.location.hash);if(C==null){return""}else{return decodeURIComponent(C[1].replace(/\+/g," "))}},insertLiveupdate:function(){var A=this;document.liveUpdate=function(F,E,I,D){var G="failed";var B=F.split(".");if(B==null){if(document.LR_modelManipulation){return"invalidateOldHTML"}return"failed"}if(B[0]=="appearance"){var H=B[2];var C=A.basicparameters;if(B[1]=="gallery"){C=A.parameters}if(C[H]!=undefined){G="invalidateOldHTML";if(E=="true"){C[H]=true}else{if(E=="false"){C[H]=false}else{if(isNaN(Number(C[H]))){C[H]=E}else{C[H]=Number(E)}}}A.stylesChange()}}if(dc.lightroom_debug){$("#debug_panel").append("<br/><div>update "+B[2]+" new value: "+E+" valid: "+C[H]+"</div>")}return G};if(dc.lightroom_debug){$("body").append('<div id="debug_panel" style="width:400px;font-size:11px;color:#FF0000;position:absolute;z-index=900">Liveupdate Ready</div>')}},startGallery:function(){dc.log("Lightroom.startGallery()");this.stylesChange();this.layout();this.loadAlbum(this.currentkey);if(this.isPreview){this.insertLiveupdate()}},load:function(B){var A=this;if(B&&B!=""){A.isLoading(true);new dc.data.LightroomDataProvider({source:B,oncomplete:function(C){A.initParameters(C);A.loadImageSource(A.mediaPath+A.imagesource)}})}},loadImageSource:function(B){var A=this;A.isLoading(true);new dc.data.AlbumDataProvider({source:B,oncomplete:function(C){A.isLoading(false);A.currentdata=A.albumdata=C;$(C).each(function(){if(this.category){if(A.categorydata[this.category]==undefined){A.categorydata[this.category]=[]}A.categorydata[this.category].push(this)}else{A.categorydata["default"].push(this)}});A.startGallery()}})},unload:function(){},loadAlbum:function(A){dc.log("Lightroom.loadAlbum(): "+A);this.slideshowIndex=0;this.currentkey=A;if(A&&this.basicparameters.autoSlideShowEnabled){this.slideshow.restart()}},slideshow:null,isSlideshowIdeal:true,toggleSlideshow:function(B){var A=this;if(A.isSlideshowIdeal||B){A.slideshow.start();toggleSlideshow=false}else{A.slideshow.stop();toggleSlideshow=true}},init:function(B){var A=this;A.isPreview=(window.location.protocol=="agwpg:");if(B.width==undefined){B.width=$(window).width()}if(B.height==undefined){B.height=$(window).height()}if(dc.mobile.isIPhone){B.height+=60}else{if(dc.mobile.isAndroid){B.height+=40}}A._super(B);dc.log("setup");A.ui.addClass("lightroom_gallery");if(dc.mobile.isIOS){$("body").bind("orientationchange",function(){A.handleWindowResize()}).trigger("orientationchange")}else{$(window).resize(function(){A.handleWindowResize()})}dc.log("beforeload",A.mediaPath+A.source);A.load(A.mediaPath+A.source);dc.log("adfterload")},resize:function(A,B){this._super(A,B);if(this.width>this.height){this.orientation="landscape"}else{this.orientation="portrait"}if(dc.mobile.isIPhone){if(this.orientation=="landscape"&&this.height>300){this.height=300}if(this.orientation=="portrait"&&this.height>460){this.height=460}this._super(A,this.height)}this.layout();if(dc.mobile.isIPhone){scrollTo(0,10);scrollTo(0,0)}}});dc.lightroom.BasicGallery=dc.lightroom.Gallery.extend({parameterClass:null,parameters:{},meta_title:"",meta_type:"",meta_url:"",meta_image:"",currentLink:"",boundary:{x:0,y:0,w:0,h:0},mouseMoveTimer:null,handleSlideShow:function(){this._super();this.gotoItem(this.slideshowIndex)},handleMouseMove:dc.noop,handleMouseNotMove:dc.noop,initParameters:function(A){this._super(A);if(this.parameterClass){this.parameters=new this.parameterClass(A.gallery)}},stylesChange:function(){this._super();var A=this.basicparameters;var C=this.parameters;var B=this;if(B.isGalleryReady){if(A.slideShowEnabled){if(A.autoSlideShowEnabled){B.slideshow.start()}else{B.slideshow.stop()}B.slideshow_button.show()}else{B.slideshow.stop();B.slideshow_button.hide()}B.layout()}},prepareMouseEvent:function(){if(this.isGalleryReady){var A=this;if(A.mouseMoveTimer){clearTimeout(A.mouseMoveTimer)}A.handleMouseMove();A.mouseMoveTimer=setTimeout(function(){clearTimeout(A.mouseMoveTimer);A.handleMouseNotMove()},5000)}},addMouseMoveEvent:function(){var A=this;A.prepareMouseEvent();if(dc.mobile.isTouch){$("body").bind("touchmove",function(){A.prepareMouseEvent()})}else{A.ui.bind("mousemove",function(){A.prepareMouseEvent()})}},removeMouseMoveEvent:function(){if(dc.mobile.isTouch){$("body").unbind("touchmove")}else{this.ui.unbind("mousemove")}},gotoItem:function(A){},next:function(){var A=this.slideshowIndex+1;if(A>=this.currentdata.length){A=0}this.gotoItem(A)},prev:function(){var A=this.slideshowIndex-1;if(A<0){A=this.currentdata.length-1}this.gotoItem(A)},init:function(A){this._super(A)}});
/*
 * Digicrafts Lightroom Gallery
 * http://www.digicrafts.com.hk/components
 * Copyright (c) 2010 Digicrafts
 * All Rights Reserved.
 * 
 * @version 1.0.0
 * 
 * License information see below:
 * http://www.digicrafts.com.hk/components/license
 * 
 */
dc.ui.renderer.ThumbnailItemRenderer=dc.ui.renderer.TileListItemRenderer.extend({setSelected:function(A){this._super(A);if(this.selected){this.ui.addClass("selected")}else{this.ui.removeClass("selected")}}});dc.lightroom.HTML5PortfolioParameters=dc.lightroom.Parameters.extend({headerPosition:"top",thumbnailPosition:"bottom",thumbnailEnabled:true,thumbnailAutoHide:true,navigationEnabled:true,titleEnabled:true,transitionType:"random",galleryMenuName:"portfolio",resizeMode:0,thumbnailSize:50,thumbnailResizeMode:5});dc.lightroom.HTML5PhotoPortfolio=dc.lightroom.BasicGallery.extend({parameterClass:dc.lightroom.HTML5PortfolioParameters,logo:null,header:null,footer:null,menu:null,menu_container:null,thumbnail:null,thumbnail_container:null,next_thumbnail_key:null,thumbnailAnimation:false,category_container:null,control_container:null,slideshow_control:null,next_button:null,prev_button:null,slideshow_button:null,social_button:null,menu_data:null,about_container:null,handleMouseMove:function(){if(this.parameters.thumbnailAutoHide&&!this.isPanelOpen){this.fadeThumbnail(false)}},handleMouseNotMove:function(){if(this.parameters.thumbnailAutoHide){this.fadeThumbnail(true)}},createChildren:function(){this._super();var A=this;A.uiloader=new dc.ui.UILoader({ontransitionstart:function(){A.isLoading(false)},width:A.width,height:A.height});A.uiloader.ui.css("z-index","-1");var C=$('<a href=""><img id="main_logo" src="'+A.mediaPath+A.logoSource+'"/></a>');var G=$('<div id="main_header" class="textColor"></div>');var F=$('<div id="main_footer" class="textColor"><div class="background backgroundColor">&nbsp;</div></div>');var B=$('<div class="inner_content"><div class="dc_cleanfloat"></div></div>');var E=$('<div class="inner_content"></div>');var D=$('<ul class="main_menu"></ul>');A.title_container=$('<div class="main_title textColor"><div class="inner_content"></div><div class="background backgroundColor">&nbsp;</div></div>');B.prepend(D);B.prepend(C);G.prepend(B);F.prepend(E);G.css("top",-100);F.css("bottom",-100);A.header=G;A.footer=F;A.header_content=B;A.footer_content=E;A.menu=D;A.logo=C;A.thumbnail_container=$('<div id="thumbnail_container"><div class="inner_content"></div><div class="background backgroundColor innershadow">&nbsp;</div><div class="dc_cleanfloat"></div></div>');A.thumbnail=new dc.ui.TileBase({width:300,height:40,columnWidth:50,rowHeight:50,itemResizeMode:0,verticalScrollPolicy:"off",horizontalScrollPolicy:"auto",isTouch:dc.mobile.isTouch,itemRenderer:dc.ui.renderer.ThumbnailItemRenderer,oncomplete:function(){A.thumbnail.ui.css("left",0);A.layout();A.isLoading(false);A.showThumbnail();if(A.firststart){A.galleryReady()}else{A.loadImage(A.currentdata[A.slideshowIndex])}},onitemselect:function(H,I){A.gotoItem(H.index)}});A.thumbnail_container.find(".inner_content").append('<div class="container_background" style="width: 300px; height: 40px;float:left; "></div>').append(A.thumbnail.ui);A.thumbnail_container.hide();A.slideshow.uitarget=A.slideshow_button=$('<li id="_slideshow_button">'+dc.button(20,20,"slideshow_play")+"</li>");A.next_button=$('<div class="navigation_button next_button"><a href="#">&nbsp;</a></div>');A.prev_button=$('<div class="navigation_button prev_button"><a href="#">&nbsp;</a></div>');A.next_button.click(function(){A.next()});A.prev_button.click(function(){A.prev()});A.slideshow_button.click(function(){if(A.basicparameters.autoSlideShowEnabled){A.slideshow.stop()}else{A.slideshow.start()}A.basicparameters.autoSlideShowEnabled=!A.basicparameters.autoSlideShowEnabled});A.category=new dc.ui.TileBase({width:100,height:100,columnCount:1,horizontalScrollPolicy:"off",isTouch:dc.mobile.isTouch,itemRenderer:dc.ui.renderer.CaptionTileListItemRenderer,onitemselect:function(H,I){A.slideshowRandom=false;A.loadAlbum(I.key);A.togglePanel("category_container_instance")}});A.category.ui.css("position","relative");A.meta_title=$('<meta property="og:title" content=""/>');A.meta_type=$('<meta property="og:type" content="photo"/>');A.meta_url=$('<meta property="og:url" content=""/>');A.meta_image=$('<meta property="og:image" content=""/>');$("head").append(A.meta_title).append(A.meta_type).append(A.meta_url).append(A.meta_image)},layout:function(){this._super();var A=this;var E=A.parameters;if(A.logo&&A.logo.find("img").get(0).width>A.width/2){A.logo.find("img").css("width",A.width/5*2)}if(A.header){if(A.parameters.headerPosition=="top"){A.header.css({top:0,bottom:""});A.footer.css({bottom:0,top:""});$(".main_menu").css({top:0,bottom:""});A.title_container.css({top:"",bottom:0})}else{A.header.css("top","");A.header.css("bottom",0);A.footer.css({top:0,bottom:""});$(".main_menu").css({top:"",bottom:0});A.title_container.css({top:0,bottom:""})}}if(A.category_container){if(dc.mobile.isMobile){A.category_container.width(A.width);A.category_container.height(A.height)}else{A.category_container.height(A.height*0.7)}A.category.columnWidth=A.category_container.width()-6;A.category.columnCount=1;A.category.resize(320,A.category_container.height()-50);if(A.category_container.attr("opened")=="true"){A.category_container.css("left",(A.width-A.category_container.width())/2)}if(A.isIPhone){A.category_container.css("top",0)}else{A.category_container.css("top",(A.height-A.category_container.height())/2)}}if(A.thumbnail_container){A.thumbnail.itemResizeMode=E.thumbnailResizeMode;A.thumbnail.gap=0;A.thumbnail.columnWidth=A.thumbnail.rowHeight=E.thumbnailSize;var D=Math.round((A.width*0.8)/E.thumbnailSize)*E.thumbnailSize;if(A.currentdata){var F=Math.ceil((A.currentdata.length*E.thumbnailSize)/D);if(F*E.thumbnailSize>A.height/8){F=Math.ceil(A.height/8/E.thumbnailSize)}A.thumbnail.rowCount=F;A.thumbnail.height=F*E.thumbnailSize;if(A.currentdata.length*E.thumbnailSize<D){D=A.currentdata.length*E.thumbnailSize}}A.thumbnail.width=D;if(isNaN(A.thumbnail.width)){A.thumbnail.width=10}if(isNaN(A.thumbnail.height)){A.thumbnail.height=10}A.thumbnail.resize();A.thumbnail_container.width(A.thumbnail.width);A.thumbnail_container.height(A.thumbnail.height);A.thumbnail_container.find(".thumbnailBackground").width(A.thumbnail.width);A.thumbnail_container.find(".thumbnailBackground").height(A.thumbnail.height);if(A.isThumbnailOpen){if(dc.mobile.isMobile){if(A.parameters.thumbnailPosition=="top"){A.thumbnail_container.css({top:20,bottom:""})}else{A.thumbnail_container.css({bottom:20,top:""})}}else{var C=A.height*0.1;if(A.parameters.thumbnailPosition=="top"){A.thumbnail_container.css({top:C,bottom:""})}else{A.thumbnail_container.css({bottom:C,top:""})}}}A.thumbnail_container.css({left:(A.width-A.thumbnail.width)/2});if(E.thumbnailEnabled){A.thumbnail_container.show()}else{A.thumbnail_container.hide()}}if(E.navigationEnabled){this.next_button.show();this.prev_button.show()}else{this.next_button.hide();this.prev_button.hide()}if(A.about_container){var D=A.width*0.8;var B=A.height*0.8;if(dc.mobile.isMobile){D=A.width;B=A.height}A.about_container.css("width",D);A.about_container.css("height",B);if(A.about_container.attr("opened")=="true"){A.about_container.css("left",(A.width-A.about_container.width())/2)}A.about_container.css("top",(A.height-B)/2)}if(A.uiloader){A.uiloader.resize(A.width,A.height);A.uiloader.ui.css({top:0,left:0})}},stylesChange:function(){this._super();var A=this.basicparameters;var D=this.parameters;var B=this;if(A.logoVisible){B.logo.show()}else{B.logo.hide();B.header.height(50)}if(A.copyright&&A.copyright!=""){B.footer_content.empty();B.footer_content.append(A.copyright);B.footer_content.show()}else{B.footer_content.hide()}if(B.uiloader){B.uiloader.setBackground(A.backgroundColor)}B.transitionType=D.transitionType;if(D.resizeMode!=undefined){B.uiloader.resizemode=D.resizeMode}if(A.logoLink&&A.logoLink!=""){B.logo.attr("href",A.logoLink)}else{B.logo.attr("href","#")}if(B.menu){var C=B.menu.find("#menu_item_portfolio");if(C&&B.menu_data.length>0){C.empty();C.append(D.galleryMenuName)}else{C.empty()}C=B.menu.find("#menu_item_contact");if(C){C.empty();C.append(A.contactName)}}},galleryReady:function(){if(this.firststart){this.isGalleryReady=true;var A=this;A.thumbnail.resize();A.addMouseMoveEvent();A.uiloader.ontransitioncomplete=function(){if(A.basicparameters.autoSlideShowEnabled){A.slideshow.start()}A.showTitle()};if(!A.isPreview){var B=A.getParameterByName("i");if(B){A.slideshowIndex=B}}A.gotoItem(A.slideshowIndex);if(A.parameters.headerPosition=="top"){$(".main_menu").css({top:0,bottom:""});A.header.css({top:-100,bottom:""});A.footer.css({bottom:-100,top:""});A.header.animate({top:0},"slow");A.footer.animate({bottom:0},"slow")}else{$(".main_menu").css({top:"",bottom:0});A.footer.css({top:-100,bottom:""});A.header.css({bottom:-100,top:""});A.header.animate({bottom:0},"slow");A.footer.animate({top:0},"slow")}}this._super()},startGallery:function(){var A=this;A.buildMenu();A.ui.append(A.uiloader.ui);A.ui.append(A.header);A.ui.append(A.footer);A.ui.append(A.title_container);A.ui.append(A.category_container);A.ui.append(A.thumbnail_container);A.ui.append(A.about_container);if(!A.parameters.navigationEnabled){A.next_button.hide();A.prev_button.hide()}A.ui.append(A.next_button);A.ui.append(A.prev_button);this._super()},loadAlbum:function(B){this._super(B);var A=this;A.isLoading(true);if(B&&A.categorydata[B]){if(A.categorydata[B]){A.currentdata=A.categorydata[B]}if(!A.isThumbnailOpen){A.thumbnail.load(A.categorydata[B])}else{A.next_thumbnail_key=B;A.hideThumbnail()}}},loadImage:function(B){if(B&&B!=""){this.slideshow.stop();this.isLoading(true);this.uiloader.transitionType=this.transitionType;this.uiloader.load(B.source);var A="";if(B.title){A=B.title}if(B.description){A+='<div class="description">'+B.description+"</div>"}this.title_container.hide();this.title_container.find(".inner_content").empty();this.title_container.find(".inner_content").append(A);if(!self.isPreview){window.location.hash="#&cat="+escape(this.currentkey)+"&i="+this.slideshowIndex}}},buildPanel:function(E,C){var B='<div class="panel_container" id="'+E+'" opened="false"><div class="inner_content_header textColor">'+C+'<a href="#" class="close_button" >close</a></div><div class="inner_content_wrapper"><div class="inner_content" id="'+E+'_content"><ul></ul><div class="dc_cleanfloat">&nbsp;</div></div></div><div class="theme background backgroundColor">&nbsp;</div></div>';var D=$(B);var A=this;D.find("a").bind("click",function(){if(A.basicparameters.autoSlideShowEnabled){A.slideshow.start()}A.togglePanel(E,true)});D.hide();return D},buildMenu:function(){dc.log("Lightroom.basic.buildmenu():");var C=this;C.category_container=C.buildPanel("category_container_instance",C.parameters.galleryMenuName);C.category_container.find(".inner_content").append(C.category.ui);var G=true;var A=C.getParameterByName("cat");var F=null;C.menu_data=[];for(var D in C.categorydata){if(D!="default"){C.menu_data.push({source:C.categorydata[D][0].largeSource,key:D,title:D});if(G||(A!=null&&D==A)){C.currentkey=D}G=false}}if(C.menu_data.length>0){C.menu_data.sort(function(I,H){var K=I.key.toLowerCase(),J=H.key.toLowerCase();if(K<J){return -1}if(K>J){return 1}return 0});C.category.load(C.menu_data)}C.about_container=C.buildPanel("about_container_instance",C.basicparameters.contactName);if(C.isPreview){C.about_container.find(".inner_content").append("You contact html content will show here.")}else{C.about_container.find(".inner_content").append('<iframe src="'+C.basicparameters.contactFileName+'" width="100%" height="100%" frameborder="0"></iframe>')}var E=$('<li><a href="#" id="menu_item_portfolio" class="textColor">'+C.parameters.galleryMenuName+"</a></li>");C.menu.append(E);E.click(function(){C.slideshowRandom=false;C.togglePanel("about_container_instance",true);C.togglePanel("category_container_instance")});var B=$('<li><a href="javascript:dc.noop();" id="menu_item_contact" class="textColor">'+C.basicparameters.contactName+"</a></li>");C.menu.append(B);B.click(function(){C.togglePanel("category_container_instance",true);C.togglePanel("about_container_instance")});C.menu.append(C.slideshow_button);if(C.menu_data.length==0){C.slideshowRandom=false;C.currentkey="default"}},isThumbnailOpen:false,showThumbnail:function(){var A=this;if(!A.isThumbnailOpen&&!A.thumbnailAnimation){A.thumbnailAnimation=true;if(this.parameters.thumbnailEnabled){A.thumbnail_container.show()}var B;if(A.parameters.thumbnailPosition=="top"){B={top:50}}else{B={bottom:50}}A.thumbnail_container.animate(B,"fast",function(){A.handleThumbnailAnimation(true)})}},hideThumbnail:function(){var A=this;if(A.isThumbnailOpen&&!A.thumbnailAnimation){A.thumbnailAnimation=true;A.isThumbnailOpen=false;var B;if(A.parameters.thumbnailPosition=="top"){B={top:-A.thumbnail_container.height()-10}}else{B={bottom:-A.thumbnail_container.height()-10}}A.thumbnail_container.animate(B,"fast",function(){A.handleThumbnailAnimation(false)})}},handleThumbnailAnimation:function(B){var A=this;A.thumbnailAnimation=false;if(B){A.isThumbnailOpen=true}else{A.thumbnail_container.hide();if(A.next_thumbnail_key){A.thumbnail.load(A.categorydata[A.next_thumbnail_key])}A.next_thumbnail_key=null}},isThumbnailHide:false,fadeThumbnail:function(A){if(A&&!this.isThumbnailHide){this.thumbnail_container.fadeOut();this.next_button.fadeOut();this.prev_button.fadeOut();this.isThumbnailHide=true}else{if(this.isThumbnailHide){if(this.parameters.thumbnailEnabled){this.thumbnail_container.fadeIn()}if(this.parameters.navigationEnabled){this.next_button.fadeIn();this.prev_button.fadeIn()}this.isThumbnailHide=false}}},isPanelOpen:false,openedPanel:{},togglePanel:function(E,C){var A=this;var B=$("#"+E);A.openedPanel[E]=true;if(B.attr("opened")=="true"||C){A.openedPanel[E]=false;A.isPanelOpen=false;A.thumbnail.addEvents();A.thumbnail_container.show();if(B.attr("opened")=="true"){B.animate({top:-B.height()},"fast",function(){$(this).attr("opened","false")}).fadeOut("fast")}if(A.basicparameters.slideShowEnabled&&A.basicparameters.autoSlideShowEnabled){A.slideshow.start()}}else{if(B.attr("opened")=="false"){A.slideshow.stop();A.isPanelOpen=true;A.thumbnail.removeEvents();A.thumbnail_container.hide();B.css("left",(A.width-A.category_container.width())/2);var D=0;B.css("left",(A.width-B.width())/2);B.css("top",-B.height());B.show();if(!A.isIPhone){D=(A.height-B.height())/2}B.animate({top:D},"fast",function(){$(this).attr("opened","true")})}}},showTitle:function(B){var A=this;if(A.parameters.titleEnabled){A.title_container.css("left",-A.title_container.width()-100);if(A.parameters.headerPosition=="top"){A.title_container.css({top:"",bottom:0})}else{A.title_container.css({top:0,bottom:""})}A.title_container.show();A.title_container.animate({left:0})}},gotoItem:function(A){if(A>=0&&A<this.currentdata.length){this.slideshowIndex=A;this.thumbnail.setSelectedItemIndex(this.slideshowIndex);this.loadImage(this.currentdata[this.slideshowIndex])}}});(function(A){A(document).ready(function(){gallery=new dc.lightroom.HTML5PhotoPortfolio({id:"my_gallery",mediaPath:"media/",source:"style.xml",imagesource:"index.xml",thumbnailWidth:35,thumbnailHeight:30});A("body").append(gallery.ui)})})(jQuery);
