(function(e){var b=true,d="/_res/",f="http://www.xmind.net/share/",g=e(window),c;window.xmindViewer=function(x){c=e.extend({showAbout:true,downloadable:true,buttonText:true},x||{});e("<div id='viewer' class='viewport-width'><div id='viewerFrame' class='viewport-width viewport-height'><div id='vScrollbar' class='viewport-height'></div><div id='hScrollbar' class='viewport-width'></div><div id='viewerContainer' class='viewport-width viewport-height'><div id='viewerContent' class='cursor-move' style='position: relative;'></div></div></div><div id='outlineFrame' class='viewport-width viewport-height hide'></div><div id='controls'><div id='leftControls'></div><div id='rightControls'></div></div></div>").appendTo(document.body);if(e.browser.mozilla||e.browser.safari){e("<div class='top-shadow'></div><div class='left-shadow'></div><div class='right-shadow'></div>").prependTo("#viewer");e(".left-shadow, .right-shadow").height(e(window).height()-e("#controls").outerHeight())}e(window).keyup(function(o){if(o.keyCode===e.bourbon.key.ESC){e.unblockUI()}});var C=c.map,z=e.parseJSON(C.content),k=false,q=1;var v=e("<img id='map' src='"+C.preview+"' />").load(function(){D();e.unblockUI()}).appendTo("#viewerContent");e("#viewerFrame").css({"background-color":z.backgroundColor});var l=e("<table/>");if(c.showAbout){e("#leftControls").addButton("about","About author",y)}e("#leftControls").addButton("outline","Outline",n).addButton("share","Share",F,"no-click");if(c.downloadable&&C.auth!=0){e("#leftControls").addButton("download","Download",w)}var i=e("<div/>").attr("id","zoom_container").appendTo("#rightControls");i.addButton("large-size","Large",function(){j("large")});i.addButton("medium-size","Medium",function(){j("medium")});i.addButton("small-size","Small",function(){j("small")});e("#rightControls").addButton("popout","Popout",function(){window.open("http://www.xmind.net/share/_embed/"+C.user+"/"+C.name+"/","","width=960,height=400,menubar=no,toolbar=no,location=no,status=no,resizable=yes,scrollbars=no")});var r=e("#vScrollbar").scrollbar("vertical",{scroll:m});var p=e("#hScrollbar").scrollbar("horizontal",{scroll:m});var E=a(2000,function(){e("#viewer .scrollbar-handle").animate({opacity:0.5},500)},function(){e("#viewer .scrollbar-handle").animate({opacity:0},500)});e("#viewer").mousemove(E);function s(){return e.extend(e("#viewerContent").position(),{width:e("#map").width(),height:e("#map").height(),w:e("#viewerFrame").width(),h:e("#viewerFrame").height()})}function m(){var o=s();e("#viewerContent").css({top:(r.data("_disabled")?0.5:r.scrollbar("value")/100)*(o.h-o.height),left:(p.data("_disabled")?0.5:p.scrollbar("value")/100)*(o.w-o.width)})}function A(){var o=s();if(o.height<=o.h){r.data("_disabled",true).hide()}else{r.data("_disabled",false).show();r.find(".scrollbar-handle").height(Math.max(o.h*o.h/o.height,50));r.scrollbar("value",o.top/(o.h-o.height)*100)}if(o.width<=o.w){p.data("_disabled",true).hide()}else{p.data("_disabled",false).show();p.find(".scrollbar-handle").width(Math.max(o.w*o.w/o.width,50));p.scrollbar("value",o.left/(o.w-o.width)*100)}}e("#viewerFrame").mousewheel(function(o,G){r.scrollbar("value",r.scrollbar("value")-G*10);return false});e("#viewerContent").draggable({drag:A});function D(){var J=g.width();var o=g.height()-2;if(e.browser.msie){J-=2;o-=2;e("#controls").css({})}e("#viewer").height(o).width(J);var I=o-e("#controls").outerHeight();e(".viewport-height").height(I-2);e(".viewport-width").width(J-2);var H=(J-z.width*q)/2;var G=(I-z.height*q)/2;e("#viewerContent").draggable("option","containment",[Math.min(H,H*2),Math.min(G,G*2),Math.max(H,0),Math.max(G,0)]);e("#viewerContent").animate({left:H,top:G},500,A);e(".left-shadow, .right-shadow").height(e(window).height()-e("#controls").outerHeight())}g.bind("resize",D);function j(o){q=o==="small"?0.4:o==="medium"?0.6:1;e("#zoom_container").removeClass("large medium small").addClass(o);v.width(z.width*q).height(z.height*q);D()}j(c.size||g.width()<=600?"small":g.width()<=750?"medium":"large");function y(){var H=e("#about");var I=f+C.user+"/"+C.name+"/";if(!H.length){var o=100;var L=C.desc.length>o?(C.desc.substring(0,o)+"... <a class='small' href='"+f+C.user+"/"+C.name+"' target='_blank'>More...</a>"):C.desc;var G="<iframe id='xmindshare_embedviewer' src='"+f+"_embed/"+C.user+"/"+C.name+"/' width='750px' height='250px' frameborder='0' scrolling='no'></iframe>";var K=e('<div id="about_dialog" class="hide"><div class="close-button"></div><div id="about_slider"><ul id="slide_ul"><li class="slide"><div class="li-cnt"><h2><a href="'+I+'" target="_blank">'+C.topic+'</a></h2><div id="about_info"><p><label>Added: </label><span id="map_created"></span></p><p><label>Form: </label><span id="map_author"><a href="'+f+C.user+'/">'+C.user+'</a></span></p><p><label>Description: </label><span id="map_desc">'+(C.desc||"No description about this map.")+'</span></p><p><label>Embed code: </label><span><input id="embed_code" type="text" class="text" readonly="readonly" /></span></p><p>'+C.downloads+" downloads, "+C.views+' views</p><p><a id="add_comments" href="'+I+'" target="_blank">Add commnets</a></p><p class="powered">Powered by <a href="http://www.xmind.net">XMind Ltd.</a></p></div></div><div id="first_map"><h2>More from '+C.user+"</h2></div></li></ul></div>"+ +"</div>").appendTo(document.body);e("#map_created").showDate(C.created);K.find(".close-button").click(e.unblockUI);e("#embed_code").valu(G);e.fn.addOneMap=function(M){this.append('<div class="map-cntr li-cnt"><a href="'+f+M.user+"/"+M.name+'/" target="_blank"><img src="'+M.thumbnail+'" alt="'+M.topic+'" /><h5>'+M.topic+"</h5></a></div>");return this};var J=e("#first_map");e.aj("GET",d+"recent/"+C.user+"/0",{reqType:"form",headers:{AuthToken:$xm._token},complete:function(N){if(N._code==200){var M=[];e.each(N.maps,function(P,O){if(O.name!==C.name){M.push(O)}});if(M.length){e.each(M,function(P,O){if(P===0){J.addOneMap(O)}else{if(P%2){e('<li class="slide more-li" />').appendTo("#slide_ul").addOneMap(O)}else{e("#slide_ul").find("li.slide:last").addOneMap(O)}}})}else{J.addClass("no-maps")}e("#about_slider").easySlider({prevText:"&laquo; Prev",nextText:"Next &raquo;"})}}})}e.blockUI({message:e("#about_dialog"),css:{"-moz-border-radius":"8px","-moz-border-radius":"8px",padding:"10px",width:"560px",height:"180px"}})}function n(){var G=e("#outline");if(!G.length){var H=true;e("<table id='outline' cellpadding=0 cellspacing=0><tbody></tbody></table>").appendTo("#outlineFrame");var G=e("#outline tbody");var J={};var I=function(K){J[K.id]=K.title;var L=e.isArray(K.children)?K.children:K.children.attached.concat(K.children.detached);e.each(L,function(N,M){I(M)})};I(z.topic);var o=function(O,R){R=R||[];var T=e("<tr/>").addClass(H?"odd-tr":"even-tr").appendTo(G);H=!H;var S=e("<td/>").appendTo(T);if(!R.length){S.addClass("title-td")}var N=(8+(Math.min(R.length,4)||1)*20);S.css({"padding-left":N+"px"});var Q="<b>";if(R.length<=3){Q+=R.join(".")}else{S.addClass("ignore-level")}Q+="</b>";if(O.link){Q+=' <a href="'+O.link+'">'+O.title+"</a>"}else{Q+=" "+O.title}S.append(Q);if(O.notes){e("<p/>").text(O.notes).appendTo(S).css({"font-size":0.9+"em","line-height":"20px","font-style":"italic"})}var M=e("<td/>").insertAfter(S);if(O.markers.length){e.each(O.markers,function(V,U){M.append("<img src='http://static.xmind.net/css2/images/markers/"+U+".gif' title=' Marker' alt=' Marker' />")})}var L=e.any(z.relationships,function(V,U){return U.end1===O.id||U.end2===O.id?U:false});var K=e("<td/>").insertAfter(S);if(L){L=L.value;var P=J[L.end1==O.id?L.end2:L.end1];if(P){K.append(P+"("+L.title+")")}}if(e.isArray(O.children)){e.each(O.children,function(U,V){o(V,R.concat(U+1))})}else{e.each((O.children.attached||[]),function(U,V){o(V,R.concat(U+1))});e.each((O.children.detached||[]),function(U,V){o(V,R.concat("A"+(U+1)))});e.each((O.children.summary||[]),function(U,V){o(V,R.concat("S"+(U+1)))})}};o(z.topic)}e("#viewerFrame").toggle();e("#outlineFrame").toggle();e("#controls .outline").toggleClass("pressed")}function F(){var I=e("#share_dialog");var G=f+C.user+"/"+C.name+"/";var H=e("#leftControls .share");var o=H.position();if(!I.length){I=e('<div id="share_dialog" class="hide"><ul><li class="twitter"><a href="'+h(G)+'" target="_blank">Twitter<a/></li><li class="facebook"><a href="http://www.facebook.com/share.php?u='+encodeURIComponent(G)+'" target="_blank">Facebook</a></li><li class="digg"><a href="http://digg.com/" target="_blank">Digg</a></li><li class="delicious"><a href="http://delicious.com/save?url='+encodeURIComponent(G)+"&title="+encodeURIComponent(document.title)+'&v=5&noui&jump=close" target="_blank">Delicious</a></li><li class="myspace"><a href="http://www.myspace.com/index.cfm?fuseaction=postto&t='+encodeURIComponent(document.title)+"&c="+encodeURIComponent(C.topic)+"&u="+encodeURIComponent(G)+'" target="_blank">MySpace</a></li><li class="email"><span>Send email</span></li>'+ +"</ul>"+ +"</div>").appendTo("#controls");I.find("li.email span").click(function(){t();return false});I.find("li a").click(function(){I.hide();H.removeClass("pressed")});e("#leftControls .share, #share_dialog").mouseover(function(){I.show();H.addClass("pressed")}).mouseout(function(){I.hide();H.removeClass("pressed")})}I.css({left:(o.left-20)+"px",top:(o.top-190)+"px"})}function t(){var G=e("#email_dialog");if(!G.length){G=e('<div id="email_dialog"><div class="close-button"></div><form><div class="hide" id="invite_no_signin">You should sign in to send invitation to your friends. <a id="invite_signup_link" class="small-signup-link blue-hyperlink" href="http://www.xmind.net/signup/?src=http%3A%2F%2Fwww.xmind.net%2Finvite%2F">Join XMind</a> for a free account, or <span id="invite_signin_link" class="small-signin-link blue-hyperlink" href="http://www.xmind.net/signin/?src=http%3A%2F%2Fwww.xmind.net%2Finvite%2F">Sign in</span> if you are already a member.</div><div class="invite-item"><div class="email">To: <span>(Separate multiple emails by commas)</span></div><input id="invite_email" type="text" class="text" /></div><div class="invite-item"><div>Hi, <span>(Add a personal note?)</span></div><textarea cols="70" rows="3" id="invite_message"/><p>I has invited you to join <a href="http://www.xmind.net/share/">XMind Share</a>, which is a community for sharing mind maps on the web, and it\'s REALLY FUNNY and USEFUL - you can view, share, download or embed maps to you blog.</p><p>- <em id="invite_owner"></em></p></div><input type="submit" class="button" value="Send Email" id="invite_button"/><div id="invite_msg" class="msg hide"></div>'+ +"</form>"+ +"</div>").appendTo(document.body);G.find("form").submit(function(){if($xm.isSignedIn()){B("share",window.location.href)}return false});G.find(".close-button").click(e.unblockUI)}e.blockUI({message:e("#email_dialog"),css:{"-moz-border-radius":"8px","-moz-border-radius":"8px",padding:"10px 20px",width:"510px",height:"300px"}});var o=G.find("form");o.get(0).reset();e("#invite_no_signin")[$xm.isSignedIn()?"hide":"show"]();o.find("input:submit")[$xm.isSignedIn()?"enable":"disable"]();e("#invite_owner").text($xm._fullname)}function u(G,H,o){o=o||"error";G.html("msg").removeClass("error sueecss").addClass(o)}function B(G,o){o=o||"";var J=e("#invite_button");var H=e("#invite_email");var I=e("#invite_msg");if($xm.isSignedIn()){if(!H.valu()){return}e.aj("POST",d+"invite",{reqType:"form",headers:{AuthToken:$xm._token},body:{emails:H.valu(),message:e("#invite_message").valu(),type:G,url:o},complete:function(M,L){var K=M._code;if(K==200){u(I,"Your invitations have been send to your friends. Thank you!","success");e.unblockUI()}else{if(K==403){u(I,"You require to sign in before send invitations.")}else{if(K==401){u(I,K)}else{u(I,"Sorry, we got a problem, please try again later.")}}}}})}else{e("#invite_no_signin").show()}}function h(o){return"http://twitter.com/home?status="+encodeURIComponent(C.topic+" "+o+" #xmind")}function w(){e.aj("GET",d+"download/"+C.user+"/"+C.name,{reqType:"form",headers:{AuthToken:$xm._token},complete:function(o){if(o._code==200){if($xm.isXMindEnv()){location.href=o.url}else{window.open(o.url)}}else{alert("Download failed.")}}})}};e.fn.addButton=function(i,k,l,j){var h=e("<div class='toolitem'/>").appendTo(this).attr("title",k);if(i){h.addClass(i)}if(k&&c.buttonText){h.text(k)}if(l){if(j==="no-click"){l()}else{h.click(l)}}return this};e.fn.scrollbar=function(m,j){if(m==="vertical"||m==="horizontal"){var i=m==="vertical";var l=e('<div class="scrollbar-handle"/>');var h=j.scroll||e.bourbon.N;this.addClass("scrollbar").addClass(i?"v-scrollbar":"h-scrollbar").empty().append(l).bind("_scroll",h);l.draggable({axis:i?"y":"x",containment:"parent",drag:h,stop:h})}else{if(m==="value"){var i=this.hasClass("v-scrollbar");var l=this.find(".scrollbar-handle");if(typeof j==="number"){var k=Math.min(100,Math.max(0,j))/100;if(i){k=(this.height()-l.height())*k;if(k!=l.offset().top){l.css({top:k});this.trigger("_scroll")}}else{k=(this.width()-l.width())*k;if(k!=l.offset().left){l.css({left:k});this.trigger("_scroll")}}}else{return i?l.offset().top*100/(this.height()-l.height()):l.offset().left*100/(this.width()-l.width())}}}return this};function a(j,i,k){var l;var h=function(){l=undefined;if(k){k()}};return function(){if(!l&&i){i()}if(l){clearTimeout(l)}l=setTimeout(h,j)}}})(jQuery);