(function(e){var b=true,d="/_res/",f="http://www.xmind.net/share/",h=e(window),c;window.xmindViewer=function(z){c=e.extend({showAbout:true,downloadable:true,buttonText:true},z||{});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 E=c.map,B=e.parseJSON(E.content),m=false,s=1;var x=e("<img id='map' src='"+E.preview+"' />").load(function(){F();e.unblockUI()}).appendTo("#viewerContent");e("#viewerFrame").css({"background-color":B.backgroundColor});var n=e("<table/>");if(c.showAbout){e("#leftControls").addButton("about","About author",A)}e("#leftControls").addButton("outline","Outline",q).addButton("share","Share",H,"no-click");if(E.downloadable&&E.auth!=0){e("#leftControls").addButton("download","Download",y);if(g()){e("#leftControls").addButton("itoughts","Open in iThoughts",i)}}var k=e("<div/>").attr("id","zoom_container").appendTo("#rightControls");k.addButton("large-size","Large",function(){l("large")});k.addButton("medium-size","Medium",function(){l("medium")});k.addButton("small-size","Small",function(){l("small")});e("#rightControls").addButton("popout","Popout",function(){window.open("http://www.xmind.net/share/_embed/"+E.user+"/"+E.name+"/","","width=960,height=400,menubar=no,toolbar=no,location=no,status=no,resizable=yes,scrollbars=no")});var t=e("#vScrollbar").scrollbar("vertical",{scroll:p});var r=e("#hScrollbar").scrollbar("horizontal",{scroll:p});var G=a(2000,function(){e("#viewer .scrollbar-handle").animate({opacity:0.5},500)},function(){e("#viewer .scrollbar-handle").animate({opacity:0},500)});e("#viewer").mousemove(G);function u(){return e.extend(e("#viewerContent").position(),{width:e("#map").width(),height:e("#map").height(),w:e("#viewerFrame").width(),h:e("#viewerFrame").height()})}function p(){var o=u();e("#viewerContent").css({top:(t.data("_disabled")?0.5:t.scrollbar("value")/100)*(o.h-o.height),left:(r.data("_disabled")?0.5:r.scrollbar("value")/100)*(o.w-o.width)})}function C(){var o=u();if(o.height<=o.h){t.data("_disabled",true).hide()}else{t.data("_disabled",false).show();t.find(".scrollbar-handle").height(Math.max(o.h*o.h/o.height,50));t.scrollbar("value",o.top/(o.h-o.height)*100)}if(o.width<=o.w){r.data("_disabled",true).hide()}else{r.data("_disabled",false).show();r.find(".scrollbar-handle").width(Math.max(o.w*o.w/o.width,50));r.scrollbar("value",o.left/(o.w-o.width)*100)}}e("#viewerFrame").mousewheel(function(o,I){t.scrollbar("value",t.scrollbar("value")-I*10);return false});e("#viewerContent").draggable({drag:C});function F(){var L=h.width();var o=h.height()-2;if(e.browser.msie){L-=2;o-=2;e("#controls").css({})}e("#viewer").height(o).width(L);var K=o-e("#controls").outerHeight();e(".viewport-height").height(K-2);e(".viewport-width").width(L-2);var J=(L-B.width*s)/2;var I=(K-B.height*s)/2;e("#viewerContent").draggable("option","containment",[Math.min(J,J*2),Math.min(I,I*2),Math.max(J,0),Math.max(I,0)]);e("#viewerContent").animate({left:J,top:I},500,C);e(".left-shadow, .right-shadow").height(e(window).height()-e("#controls").outerHeight())}h.bind("resize",F);function l(o){s=o==="small"?0.4:o==="medium"?0.6:1;e("#zoom_container").removeClass("large medium small").addClass(o);x.width(B.width*s).height(B.height*s);F()}l(c.size||h.width()<=600?"small":h.width()<=750?"medium":"large");function A(){var J=e("#about");var K=f+E.user+"/"+E.name+"/";if(!J.length){var o=100;var N=E.desc.length>o?(E.desc.substring(0,o)+"... <a class='small' href='"+f+E.user+"/"+E.name+"' target='_blank'>More...</a>"):E.desc;var I="<iframe id='xmindshare_embedviewer' src='"+f+"_embed/"+E.user+"/"+E.name+"/' width='750px' height='250px' frameborder='0' scrolling='no'></iframe>";var M=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="'+K+'" target="_blank">'+E.topic+'</a></h2><div id="about_info"><p><label>Added: </label><span id="map_created"></span></p><p><label>From: </label><span id="map_author"><a href="'+f+E.user+'/" target="_blank">'+E.user+'</a></span></p><p><label>Description: </label><span id="map_desc">'+(E.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>'+E.downloads+" downloads, "+E.views+' views</p><p><a id="add_comments" href="'+K+'" target="_blank">Add commnets</a></p><p class="powered">Powered by <a href="http://www.xmind.net" target="_blank">XMind Ltd.</a></p></div></div><div id="first_map"><h2>More from '+E.user+"</h2></div></li></ul></div>"+ +"</div>").appendTo(document.body);e("#map_created").showDate(E.created);M.find(".close-button").click(e.unblockUI);e("#embed_code").valu(I);e.fn.addOneMap=function(O){this.append('<div class="map-cntr li-cnt"><a href="'+f+O.user+"/"+O.name+'/" target="_blank"><img src="'+O.thumbnail+'" alt="'+O.topic+'" /><h5>'+O.topic+"</h5></a></div>");return this};var L=e("#first_map");e.aj("GET",d+"recent/"+E.user+"/0",{reqType:"form",headers:{AuthToken:$xm._token},complete:function(P){if(P._code==200){var O=[];e.each(P.maps,function(R,Q){if(Q.name!==E.name){O.push(Q)}});if(O.length){e.each(O,function(R,Q){if(R===0){L.addOneMap(Q)}else{if(R%2){e('<li class="slide more-li" />').appendTo("#slide_ul").addOneMap(Q)}else{e("#slide_ul").find("li.slide:last").addOneMap(Q)}}})}else{L.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 q(){var I=e("#outline");if(!I.length){var J=true;e("<table id='outline' cellpadding=0 cellspacing=0><tbody></tbody></table>").appendTo("#outlineFrame");var I=e("#outline tbody");var L={};var K=function(M){L[M.id]=M.title;var N=e.isArray(M.children)?M.children:M.children.attached.concat(M.children.detached);e.each(N,function(P,O){K(O)})};K(B.topic);var o=function(Q,T){T=T||[];var V=e("<tr/>").addClass(J?"odd-tr":"even-tr").appendTo(I);J=!J;var U=e("<td/>").appendTo(V);if(!T.length){U.addClass("title-td")}var P=(8+(Math.min(T.length,4)||1)*20);U.css({"padding-left":P+"px"});var S="<b>";if(T.length<=3){S+=T.join(".")}else{U.addClass("ignore-level")}S+="</b>";if(Q.link){S+=' <a href="'+Q.link+'" target="_blank">'+Q.title+"</a>"}else{S+=" "+Q.title}U.append(S);if(Q.notes){e("<p/>").text(Q.notes).appendTo(U).css({"font-size":0.9+"em","line-height":"20px","font-style":"italic"})}var O=e("<td/>").insertAfter(U);if(Q.markers.length){e.each(Q.markers,function(X,W){O.append("<img src='http://static.xmind.net/css2/images/markers/"+W+".gif' title=' Marker' alt=' Marker' />")})}var N=e.any(B.relationships,function(X,W){return W.end1===Q.id||W.end2===Q.id?W:false});var M=e("<td/>").insertAfter(U);if(N){N=N.value;var R=L[N.end1==Q.id?N.end2:N.end1];if(R){M.append(R+"("+N.title+")")}}if(e.isArray(Q.children)){e.each(Q.children,function(W,X){o(X,T.concat(W+1))})}else{e.each((Q.children.attached||[]),function(W,X){o(X,T.concat(W+1))});e.each((Q.children.detached||[]),function(W,X){o(X,T.concat("A"+(W+1)))});e.each((Q.children.summary||[]),function(W,X){o(X,T.concat("S"+(W+1)))})}};o(B.topic)}e("#viewerFrame").toggle();e("#outlineFrame").toggle();e("#controls .outline").toggleClass("pressed")}function H(){var K=e("#share_dialog");var I=f+E.user+"/"+E.name+"/";var J=e("#leftControls .share");var o=J.position();if(!K.length){K=e('<div id="share_dialog" class="hide"><ul><li class="twitter"><a href="'+j(I)+'" target="_blank">Twitter<a/></li><li class="facebook"><a href="http://www.facebook.com/share.php?u='+encodeURIComponent(I)+'" 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(I)+"&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(E.topic)+"&u="+encodeURIComponent(I)+'" target="_blank">MySpace</a></li><li class="email"><span>Send email</span></li>'+ +"</ul>"+ +"</div>").appendTo("#controls");K.find("li.email span").click(function(){v();return false});K.find("li a").click(function(){K.hide();J.removeClass("pressed")});e("#leftControls .share, #share_dialog").mouseover(function(){K.show();J.addClass("pressed")}).mouseout(function(){K.hide();J.removeClass("pressed")})}K.css({left:(o.left-20)+"px",top:(o.top-190)+"px"})}function v(){var J=e("#email_dialog");if(!J.length){J=e('<div id="email_dialog"><div class="close-button"></div><div class="hide" id="invite_no_signin">You should <a href="http://www.xmind.net/signin/?src=http%3A%2F%2Fwww.xmind.net%2Finvite%2F" target="_blank">sign in</a> to send invitation to your friends.</div><form><div class="invite-item"><div class="email">To: <span>(Separate multiple emails by commasm, max 10 email addresses)</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/" target="_blank">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);J.find("form").submit(function(){if($xm.isSignedIn()){D("share",window.location.href)}return false});J.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 I=J.find("form");var o=e("#invite_no_signin");if($xm.isSignedIn()){o.hide();I.show().get(0).reset();I.find(".msg").hide()}else{o.show();I.hide()}e("#invite_owner").text($xm._fullname)}function w(I,J,o){o=o||"error";I.html(J).removeClass("error sueecss").addClass(o).show()}function D(J,o){o=o||"";var M=e("#invite_button");var K=e("#invite_email");var L=e("#invite_msg");if($xm.isSignedIn()){var I=K.valu().split(",");if(!K.valu()){w(L,"Please enter email address.");return}else{if(I.length>10){w(L,"You enter more than 10 email addresses.")}else{L.hide();e.aj("POST",d+"invite",{reqType:"form",headers:{AuthToken:$xm._token},body:{emails:K.valu(),message:e("#invite_message").valu(),type:J,url:o},complete:function(P,O){var N=P._code;if(N==200){w(L,"Your invitations have been sent to your friends. Thank you!","success")}else{if(N==403){w(L,"You require to sign in before send invitations.")}else{if(N==401){w(L,N)}else{w(L,"Sorry, we got a problem, please try again later.")}}}}})}}}else{e("#invite_no_signin").show()}}function j(o){return"http://twitter.com/home?status="+encodeURIComponent(E.topic+" "+o+" #xmind")}function y(){e.aj("GET",d+"download/"+E.user+"/"+E.name,{reqType:"form",headers:{AuthToken:$xm._token},complete:function(o){if(o._code==200){if($xm.isXMindEnv()){location.href=o.url}else{location.href=o.url}}else{alert("Download failed.")}}})}function i(){e.aj("GET",d+"download/"+E.user+"/"+E.name,{reqType:"form",headers:{AuthToken:$xm._token},complete:function(I){if(I._code==200){var o=I.url.replace(/^https?/,"mm");if($xm.isXMindEnv()){location.href=o}else{location.href=o}}else{alert("Open failed.")}}})}};e.fn.addButton=function(j,l,m,k){var i=e("<div class='toolitem'/>").appendTo(this).attr("title",l);if(j){i.addClass(j)}if(l&&c.buttonText){i.text(l)}if(m){if(k==="no-click"){m()}else{i.click(m)}}return this};e.fn.scrollbar=function(n,k){if(n==="vertical"||n==="horizontal"){var j=n==="vertical";var m=e('<div class="scrollbar-handle"/>');var i=k.scroll||e.bourbon.N;this.addClass("scrollbar").addClass(j?"v-scrollbar":"h-scrollbar").empty().append(m).bind("_scroll",i);m.draggable({axis:j?"y":"x",containment:"parent",drag:i,stop:i})}else{if(n==="value"){var j=this.hasClass("v-scrollbar");var m=this.find(".scrollbar-handle");if(typeof k==="number"){var l=Math.min(100,Math.max(0,k))/100;if(j){l=(this.height()-m.height())*l;if(l!=m.offset().top){m.css({top:l});this.trigger("_scroll")}}else{l=(this.width()-m.width())*l;if(l!=m.offset().left){m.css({left:l});this.trigger("_scroll")}}}else{return j?m.offset().top*100/(this.height()-m.height()):m.offset().left*100/(this.width()-m.width())}}}return this};function a(k,j,l){var m;var i=function(){m=undefined;if(l){l()}};return function(){if(!m&&j){j()}if(m){clearTimeout(m)}m=setTimeout(i,k)}}function g(){if(navigator.userAgent.match(/(iPod|iPhone|iPad)/)){return true}else{return false}}})(jQuery);
