var signUpLink=$("signup_link");var signInLink=$("signin_link");var usernameLink=$("username_link");var signOutLink=$("signout_link");var rest="/_res/";if($("page_name")){$("top_menu_"+$("page_name").getAttribute("name")).addClassName("active")}if(document.body.hasClassName("ie6")&&$("topbar")){var ie6Msg=new Element("div",{id:"ie6_msg"}).update("Your browser's version is too old, you can try <a href='http://www.mozilla.com/firefox/'>Firefox</a>, <a href='http://www.apple.com/safari/'>Safari</a> or <a href='http://www.google.com/chrome/'>Chrome</a> to get perfect effective for XMind.Net.");$("topbar").insert(ie6Msg)}if(usernameLink){usernameLink.observe("click",function(){window.location.href="http://www.xmind.net/account/"+Bourbon._account+"/"})}if(signOutLink){signOutLink.observe("click",function(){signOut()})}if($("xmindpro_promos")){var promosList=$$("#xmindpro_features_promolist .promo-list");var promosDecs=$$("#xmindpro_promos_desc .xmindpro-promo-desc");promosList.each(function(B,A){B.observe("click",function(){var D=$$("#xmindpro_features_promolist .active")[0];var C=$$("#xmindpro_promos_desc .active")[0];D.removeClassName("active");C.removeClassName("active").hide();B.addClassName("active");promosDecs[A].addClassName("active").appear()})})}var search=$("search");var searchTextInput=$("searchtext_input");var searchRest=$("search_form_reset");document.ready(function(){if(searchTextInput){updateClear()}});if(searchTextInput){searchTextInput.observe("focus",function(){if(searchTextInput.value===searchTextInput.getAttribute("bbDefault")){searchTextInput.clear()}search.addClassName("focused")});searchTextInput.observe("blur",function(){search.removeClassName("focused");if(!searchTextInput.value){searchTextInput.value=searchTextInput.getAttribute("bbDefault")}});$("search_form_reset").observe("click",function(){searchTextInput.clear();searchRest.hide()});searchTextInput.observe("keyup",updateClear)}if($("search_keyword")){document.ready(function(){$("searchtext_input").value=$("search_keyword").innerHTML})}var feedback=$("feedback");var feedbackIcon=$("feedback_icon");if(feedbackIcon){feedbackIcon.observe("click",changeSheet.curry(feedback));$("feedback_cancel_button").observe("click",changeSheet.curry(feedback))}var feedbackSubmitButton=$("feedback_submit_button");if(feedbackSubmitButton){feedbackSubmitButton.observe("click",function(){Ajson.post(rest+"feedback",{parameters:{xmind_product:$("feedback_product_select").value,xmind_name:$("feedback_name_input").value,xmind_email:$("feedback_email_input").value,xmind_content:$("feedback_content").value,source:window.location},onComplete:function(){$("feedback_form").update("<h3>Send Us Feedback</h3><p style='margin: 60px 0; text-align:center;font-size:1.2em; color:green;font-weight:bold;'>We have got your feedback, thank you!</p>");window.setTimeout(changeSheet.curry(feedback),1200)}})})}if($("feedbackpage_content")){var feedbackSubmitContentButton=$("feedback_submit_content_button");var notification=$("feedbackpage_notification");if(feedbackSubmitContentButton){feedbackSubmitContentButton.observe("click",function(){Ajson.post(rest+"feedback",{parameters:{xmind_product:$("feedback_product_content_select").value,xmind_name:$("feedback_name_content_input").value,xmind_email:$("feedback_email_content_input").value,xmind_content:$("feedback_content_content").value,xmind_system:$("feedback_system_content_input").value,xmind_browser:$("feedback_browser_content_input").value,source:window.location},onSuccess:function(){notification.update("We have got your feedback, thank you!").removeClassName("bad").addClassName("good")},onFailure:function(){notification.update("Sorry, your feedback send failed, please try again.").removeClassName("good").addClassName("bad")}})})}}if($("home_content")){var stageImg=$("home_stage_img");var stageLists=$$("#home_featurelist .stage-list");var stageDescs=$$("#home_featuredesc .home-desc");var news=$$("#home_news .news-link");var currentStage=0,currentNews=0;function changeStage(B){currentStage=B;var C=$$("#home_featurelist .active")[0];var A=$$("#home_featuredesc .active")[0];C.removeClassName("active");A.removeClassName("active").hide();$("list_"+(B+1)).addClassName("active");stageImg.src="http://static.xmind.net/images/stage-ss-ss"+(B+1)+".jpg";stageDescs[B].addClassName("active").appear()}stageLists.each(function(B,A){B.observe("click",function(C){C.stop();pe.stop();changeStage(A)})});if($("promo_popularmaps_container")){Ajson.get(rest+"popular/all/0",{onSuccess:function(D){var B=$("promo_popularmaps_container");var A=D.maps.length>4?4:D.maps.length;for(var C=0;C<A;C++){B.insert(loadOneMap(D.maps[C],"<span class='separator'>|</span>").show())}B.show()}})}if($("promo_featuredmaps_container")){Ajson.get(rest+"featured/all/0",{onSuccess:function(D){var B=$("promo_featuredmaps_container");var A=D.maps.length>4?4:D.maps.length;for(var C=0;C<A;C++){B.insert(loadOneMap(D.maps[C],"<span class='separator'>|</span>").show())}B.show()}})}var pe=new PeriodicalExecuter(function(){changeStage(currentStage>=5?0:currentStage+1)},10);new PeriodicalExecuter(function(){news[currentNews].removeClassName("active").hide();currentNews=currentNews>=news.length-1?0:currentNews+1;news[currentNews].addClassName("active").appear()},5)}var signUpDialog;if(signUpLink){updateSignStatus();if(!document.body.hasClassName("ie6")){signUpDialog=new Bourbon.Window(signUpLink,{external:true,externalSource:"http://www.xmind.net/signupIframe.html",width:540,height:530,title:"Get a free XMind ID",className:"xmindshare-window",afterOpen:function(){Event.observe(window,"keydown",function(A){if(A.keyCode==Event.KEY_ESC){signUpDialog.close()}})}})}$$(".small-signup-link").each(function(A){if(!document.body.hasClassName("ie6")){A.observe("click",function(){signUpDialog.open()})}else{A.href="http://www.xmind.net/signup/"}})}if(signInLink){var signInContainer=new Element("div",{id:"signin_container","class":"xmindshare-window-container"});var signInErrorMessage=new Element("div",{id:"signIn_error_msg","class":"errorMsg"}).hide();signInContainer.insert(signInErrorMessage);var signInContent="<form id='signin_form' class='xmindshare-window-container' action='javascript:void(0);'><div id='signin_email' class='signin-row'><label class='signin-label'>XMind ID/Email</label><div class='signin-textfield'><input id='signin_input_email' class='inputbox-big' type='text' name='user' maxlength='255'/></div></div><div id='signin_password' class='signin-row'><label class='signin-label'>Password</label><div class='signin-textfield'><input id='signin_input_password' class='inputbox-small' type='password' name='password' /></div></div><div id='signin-field'><label><input id='remember' class='option' type='checkbox' value='1' name='remember' /><span  id='remember_tips' class='checkbox-text'>Remember me on this computer.</span></label><br/></div><div id='signin_buttonbar' class='xmindshare-window-buttonbar'><img src='http://static.xmind.net/images/openid_small_logo.png' /><a id='openid' class='blue-hyperlink small-text' href='http://www.xmind.net/signin/openid/'>Sign In with OpenID</a><a id='forgot' class='blue-hyperlink small-text' href='http://www.xmind.net/signin/forgotpassword/'>Forgot Password?</a><a id='signup' class='blue-hyperlink small-text'>Get a free XMind ID</a><input id='signin_button' type='submit' value='Sign In' /><div id='waiting_signin_submit' class='hidden'><img src='http://static.xmind.net/images/waiting.gif' /></div></div></form>";signInContainer.insert(signInContent);$(document.body).insert(signInContainer.hide());var signInDialog=new Bourbon.Window(signInContainer,{title:"Signin to your XMind account",className:"xmindshare-window",sheet:true,width:540,height:270,afterOpen:function(){$("signin_input_email").focus();$("forgot").observe("click",function(){signInDialog.close();forgotPasswordDialog.open()});$("signup").observe("click",function(){signInDialog.close();signUpDialog.open()});$("signin_button").observe("click",signIn.curry(null));Event.observe(window,"keydown",function(A){if(A.keyCode==Event.KEY_ESC){signInDialog.close()}if(A.keyCode==Event.KEY_RETURN){signIn()}})}});var signInLinks=$$(".small-signin-link").concat(signInLink);signInLinks.each(function(A){A.observe("click",function(){signInDialog.open()})})}if($("signin_page")){$("signin_input_email").focus();$("signin_button").observe("click",signIn.curry(null));$("forgot").observe("click",function(){window.location="http://www.xmind.net/signin/forgotpassword/"});$("openid").observe("click",function(){window.location="http://www.xmind.net/signin/openid/"});Event.observe(window,"keydown",function(A){if(A.keyCode==Event.KEY_RETURN){signIn()}})}if($("forgot_page")){var fpInput=$("fp_input_minipage");var fpErrMsg=$("forgotPass_error_msg");fpInput.focus();$("pf_button_minipage").observe("click",function(){if($F(fpInput)){sendResetKey(fpInput,fpErrMsg)}else{fpErrMsg.update("You should enter your verified email addresss or XMind ID to reset your password.").show()}});if($F(fpInput)){Event.observe(window,"keydown",function(A){if(A.keyCode==Event.KEY_RETURN){sendResetKey(fpInput,fpErrMsg)}})}}if($("faq_content")){var currentQuestion=$("current_question");var questionLinks=$$("#question .question-link");var answerContents=$$("#answer .answer-desc");var activeQuestion=$$("#question .active")[0];currentQuestion.update(activeQuestion.innerHTML);questionLinks.each(function(B,A){B.observe("click",function(){activeQuestion=$$("#question .active")[0];activeQuestion.removeClassName("active");var C=$$("#answer .active")[0];C.removeClassName("active").hide();B.addClassName("active");currentQuestion.update(B.innerHTML);answerContents[A].addClassName("active").appear()})})}if($("content_share")){document.ready(function(){$("search_form").action="http://share.xmind.net/search/";Ajson.get(rest+"daily-map",{onSuccess:function(A){$("daily_map_container").update("<iframe src='/_embed/"+A.mapinfo+"' width='690px' height='300px' frameborder='0' scrolling='no'></iframe>")}});Ajson.get(rest+"featured/all/0",{onSuccess:function(D){var B=$("share_featured_maps");var A=D.maps.length>9?9:D.maps.length;for(var C=0;C<A;C++){B.insert(loadOneMap(D.maps[C],"<span class='separator'>|</span>").show())}B.show()}});Ajson.get(rest+"recent/all/0",{onSuccess:function(D){var B=$("share_recent_maps");var A=D.maps.length>9?9:D.maps.length;for(var C=0;C<A;C++){B.insert(loadOneMap(D.maps[C],"<span class='separator'>|</span>").show())}B.show()}})})}if($("content_share_recent")){$("search_form").action="http://share.xmind.net/search/";var container=$("recent_page_container");var match=window.location.toString().match(/(recent|daily|featured|popular)\x2f(\d+)/i);var path=match?match[1]:"recent";var pageNum=match?parseInt(match[2]):1;var currentPageSpans=$$(".current-page");var totalPageSpans=$$(".total-page");$("content_title").update(path.capitalize()+" Maps");Ajson.get(rest+path+"/all/"+(pageNum-1),{onSuccess:function(A){var B=Math.floor((A.total+49)/50);currentPageSpans.each(function(C){C.update(pageNum)});totalPageSpans.each(function(C){C.update(B)});A.maps.each(function(C){container.insert(loadOneMap(C,"<span class='separator'>|</span>").show())});container.show();$$(".recent-pageup").each(function(C){pageNum>1?C.show():C.hide();C.observe("click",function(){window.location.href="http://share.xmind.net/"+path+"/"+(pageNum-1)+"/"})});$$(".recent-pagedown").each(function(C){pageNum<B?C.show():C.hide();C.observe("click",function(){window.location.href="http://share.xmind.net/"+path+"/"+(pageNum+1)+"/"})})}})}if($("xmindpro_feature_content")){var slideLinks=$$(".slide-link");var slideContents=$$(".slidedown-content");var sec=window.location.hash.substr(5);if(sec){new Effect.SlideDown($("slide"+sec))}slideLinks.each(function(A,B){A.observe("click",function(C){C.stop();Effect.toggle("slide"+(B+1),"slide")})});new Bourbon.Button("expendAll",function(){new Effect.Parallel($$(".slidedown-content").map(function(A){return new Effect.SlideDown(A)}))})}if($("invite_content")){$("invite_owner").update(Bourbon._account);sendInviteEmail("invite")}if($("inviteshare_content")){var _match=window.location.toString().match(/http:\x2f{2}share\.xmind\.net\x2f(.*)\x2f(.*)\x2fshare\x2f?/i);$("inviteshare_owner").update(Bourbon._account);$$(".inviteshare-mapname").each(function(A){A.update(_match[2])});$("inviteshare_url").update("http://share.xmind.net/"+_match[1]+"/"+_match[2]+"/");sendInviteEmail("share",_match[1]+"/"+_match[2])}function sendInviteEmail(B,A){A=A||"";var E=$("invite_button");var C=$("invite_email");var D=$("invite_msg");if(Bourbon.isSignedIn()){E.addClassName("grey");C.observe("focus",function(){D.update("")});C.observe("blur",function(){if(!$F(C)){E.addClassName("grey")}else{E.removeClassName("grey")}});E.observe("click",function(){if(!$F(C)){return }Ajson.post(rest+"invite",{parameters:{emails:$F(C),message:$F($("invite_message")),type:B,url:A},onSuccess:function(){D.update("Your invitations have been send to your friends. Thank you!").show();D.setStyle({color:"green"});C.setValue("");E.addClassName("grey")},onUnauthorized:function(){D.update("You require to sign in before send invitations.").show()},onFailure:function(){D.update("Send invitation failed. Please try again later.").show()}})})}else{E.addClassName("grey");$("invite_no_signin").show()}}function updateCurrentQues(){}function autoSignIn(A){Ajson.post(rest+"token/"+A.user,{parameters:{password:A.password},onSuccess:function(B){Object.extend(me,B);var C=$("remember");Bourbon.signIn(me.token,me.user,me.fullname,C&&$F(C));if(window.location.href==="http://www.xmind.net/signin/"||window.location.href==="http://www.xmind.net/signup/"){window.location="http://www.xmind.net/account/"+me.user+"/"}else{window.parent.location.reload()}}})}function signIn(){var A=$("waiting_signin_submit");if(!$F("signin_input_email")||!$F("signin_input_password")){signInErrorMessage.update("Please complete your XMind ID and password before signin.").show()}else{var B=$("signin_form").serialize(true);A.show();Ajson.post(rest+"token/"+B.user,{parameters:{password:B.password},onSuccess:function(C){A.hide();Object.extend(me,C);var D=$("remember");Bourbon.signIn(me.token,me.user,me.fullname,D&&$F(D));if(window.location.href==="http://www.xmind.net/signin/"||window.location.href==="http://www.xmind.net/signup/"){window.location="http://www.xmind.net/account/"+me.user+"/"}else{window.parent.location.reload()}},onNotFound:function(){A.hide();signInErrorMessage.update("XMind ID/Email or password is wrong.").appear()},onForbidden:function(){A.hide();signInErrorMessage.update("Plesase sign in with your XMind ID or verified email address.").show()},onFailure:function(){A.hide();signInErrorMessage.update("Sorry! Server error, please try again later.").show()}})}}function signOut(){Ajson.del(rest+"token/"+Bourbon._account+"/"+Bourbon._token,{onComplete:function(){Bourbon.signOut();window.location="http://www.xmind.net/signin/"}})}function updateSignStatus(){if(Bourbon.isSignedIn()){signUpLink.hide();signInLink.hide();usernameLink.update("My Account ("+Bourbon._fullname+")").show();signOutLink.show();$("feedback_name").hide();$("feedback_email").hide();feedback.removeClassName("nosignin-feedback");feedback.addClassName("signin-feedback")}else{signUpLink.show();signInLink.show();usernameLink.hide();signOutLink.hide();$("feedback_name").show();$("feedback_email").show();feedback.removeClassName("signin-feedback");feedback.addClassName("nosignin-feedback")}}function loadOneMap(H,D,G){G=G||false;var B=computePartingTime(H.created);var F=new Element("div",{id:"map_border"+H.name,"class":"border"}).hide();var A=new Element("div",{id:"img_border"+H.name,"class":"img-border"});var C="<a href='http://share.xmind.net/"+H.user+"/"+H.name+"/'><img src='"+H.thumbnail+"' alt='"+H.name+"' title='"+H.name+"' /></a>";A.insert(C);F.insert(A);var E=new Element("div",{"class":"map-info"}).update("<div class='preview-title'><a href='http://share.xmind.net/"+H.user+"/"+H.name+"/' >"+H.topic+"</a></div>");F.insert(E);var I=new Element("span",{"class":"map-acitve"}).update("<span class='lightgrey small-text'>"+B.time+" "+B.unit+" ago"+D+H.views+" views</span>");E.insert(I);if(G){I.insert(D+"<span id='close_icon"+H.name+"' class='close-icon'></span>")}return F}function checkEmail(){var D=$("waiting_email");var A=Bourbon.RegEx.Email;var C=A.exec($F(emailInput));if(!C){emailMsg.removeClassName("feedback-good");emailMsg.addClassName("feedback-bad");emailMsg.update("The email entered is not valid")}else{D.setStyle({display:"inline"});var B=$F(emailInput);Ajson.head(rest+"user/"+B,{onNotFound:function(){D.setStyle({display:"none"});emailMsg.removeClassName("feedback-bad");emailMsg.addClassName("feedback-good");emailMsg.update("Email is valid")},onForbidden:function(){D.setStyle({display:"none"});emailMsg.removeClassName("feedback-good");emailMsg.addClassName("feedback-bad");emailMsg.update("Email already exists.")}})}}function checkEmailForgot(){var A=$("response_msg");var B=$("check_email_waiting");B.setStyle({display:"block"});Ajson.head(rest+"/user/"+$("fp_input").value,{onNotFound:function(){B.setStyle({display:"none"});A.removeClassName("feedback-good");A.addClassName("feedback-bad");A.update("Email doesn't exist, please re-enter the correct email address.")},onForbidden:function(){B.setStyle({display:"none"});A.removeClassName("feedback-bad");A.addClassName("feedback-good");A.update("Email is valid.")}})}function checkUsername(){function A(E,D,F){if(D==="good"){E.removeClassName("feedback-bad");E.addClassName("feedback-good")}else{if(D==="bad"){E.removeClassName("feedback-good");E.addClassName("feedback-bad")}}E.update(F)}var B=$("waiting_user");var C=$F(usernameInput).replace(/( |@)/g,"-").toLowerCase();usernameInput.setValue(C);if(C.length<6||C.length>56){A(usernameMsg,"bad","Min 6 characters, max 56 charactes")}else{usernameMsg.removeClassName("feedback-bad");usernameMsg.removeClassName("feedback-good");usernameMsg.update("");B.show();Ajson.head(rest+"user/"+C,{onNotFound:function(){B.hide();usernameMsg.removeClassName("feedback-bad");usernameMsg.addClassName("feedback-good");usernameMsg.update("XMind ID is valid")},onNotAcceptable:function(){B.hide();usernameMsg.removeClassName("feedback-good");usernameMsg.addClassName("feedback-bad");usernameMsg.update("XMind ID is invalid.")},onBadRequest:function(){B.hide();usernameMsg.removeClassName("feedback-good");usernameMsg.addClassName("feedback-bad");usernameMsg.update("XMind ID is invalid.")},onForbidden:function(){B.hide();usernameMsg.removeClassName("feedback-good");usernameMsg.addClassName("feedback-bad");usernameMsg.update("XMind ID already exists.")}})}}function checkPassword(D,C,A){if($F(D)){confirmPass(D,C,confirmMsg)}var B=$F(C).length;if(B>=5&&B<=40){A.removeClassName("feedback-bad");A.update("")}else{A.removeClassName("feedback-good");A.addClassName("feedback-bad");A.update("Min 5 characters, max 40 characters")}}function confirmPass(B,A,C){var D=$F(B);if(D.length==0){C.removeClassName("feedback-bad");C.removeClassName("feedback-good");C.update("")}else{if(D.length<5||D.length>40){B.removeClassName("feddback-good");C.addClassName("feedback-bad");C.update("Min 5 characters, max 40 characters")}else{if(D.length>=5&&D.length<=40&&($F(A)==D)){C.removeClassName("feedback-bad");C.addClassName("feedback-good");C.update("Passwords match")}else{if(($F(A)!=D)){B.removeClassName("feddback-good");C.addClassName("feedback-bad");C.update("Passwords do not match")}}}}}function checkFormComplete(C){var A=$$("#"+C+" input");var B=true;A.each(function(D){if(!$(D).hasClassName("option")&&!$F(D)){B=false;throw $break}});return B}function sendResetKey(A,B){Ajson.del(rest+"password/"+$F(A),{onSuccess:function(){new Bourbon.Dialog.alert("<div style='margin:20px 0;font-size:1.1em;'>Reset key is send to you, please check your mailbox.</div>");A.value="";B.hide()},onNotFound:function(){if($F(A).indexOf("@")>0){B.update("The email you entered doesn't exisit or hasn't been verified, please try reset password by your XMind ID.").show()}else{B.update("The XMind ID you entered doesn't exisit, please try reset password by your verified eamil address.").show()}},onFailure:function(){window.location.href="http://www.xmind.net/500.html"}})}function bind(){Ajson.post(rest+"openid/"+Bourbon._account,{parameters:{openid:$("openidbind_openid").innerHTML,key:$("openidbind_key").value},onSuccess:function(){window.location.href="http://www.xmind.net/account/"+Bourbon._account+"/"}})}function loadOnePrivateMap(F){var D=formatDate(parseInt(F.created));var C=F.shares.split(",");var A=new Element("div",{"class":"private-share"}).update("<span class='private-share-item>Sharing to: </span>");C.each(function(G){A.insert("<span class='small-text'>"+G+" </span><span class='remove-sharer'></span>")});var E=new Element("div",{id:"map_border"+F.name,"class":"border"}).hide();var B="<div id='img_border"+F.name+"' class='img-border'><a href='http://share.xmind.net/"+F.user+"/"+F.name+"/'><img src='"+F.thumbnail+"' alt='"+F.name+"' title='"+F.name+"' /></a></div><div class='preview-title'><a href='http://share.xmind.net"+F.user+"/"+F.name+"/'>"+F.name+"</a></div>";E.insert(B);E.insert(A);E.insert("<div class='private-share'><span class='private-share-item'>Date: </span><span class='small-text'>"+D+"</span><span class='separator'>|</span><span id='close_icon"+F.name+"' class='close-icon'></span></div>");return E}function loadOneSharedMap(C){var A=formatDate(parseInt(C.created));var B=new Element("div",{id:"map_border"+C.id,"class":"border"}).hide();var D="<div class='img-border'><a href='http://share.xmind.net/"+C.user+"/"+C.name+"/'><img src='"+C.thumbnail+"' alt='"+C.name+"' title='"+C.name+"' /></a></div><div class='preview-title'><a href='http://share.xmind.net/"+C.user+"/"+C.name+"/'>"+C.name+"</a></div><div class='private-share'><span class='private-share-item'>Owner: </span><span class='small-text'>"+C.user+"</span></div><div class='private-share'><span class='private-share-item'>Date: </span><span class='small-text'>"+A+"</span></div>";B.insert(D);return B}function changeSheet(A){var B;if(feedback.hasClassName("signin-feedback")){B=277}else{B=331}if(A.hasClassName("sheet-in")){new Effect.Move(A,{x:0,y:B,duration:0.5})}if(A.hasClassName("sheet-out")){new Effect.Move(A,{x:0,y:-B})}A.toggleClassName("sheet-in");A.toggleClassName("sheet-out")}function setLangCookie(B,A){B.observe("click",function(C){C.stop();Cookie.set("LANG",A,3650);window.location.reload()})}function updateClear(){if($F(searchTextInput).length>0&&$F(searchTextInput)!=searchTextInput.getAttribute("bbDefault")){searchRest.show()}else{searchRest.hide()}}if($("download_content")||$("download_xmindpro_content")){$$(".download-box").each(function(C){var B=C.select("a");var A=B[0].href;A="/xmind/downloads-md5/"+A.substring(37)+".MD5";B[1].href=A;new Ajax.Request(A,{method:"get",onSuccess:function(E){var D=E.responseText.strip();if(D.length==32){C.select(".md5")[0].update(D)}}})})}var validDialogContainer=new Element("div",{id:"valid_container","class":"xmindshare-window-container"});var validDialogContent="<form id='valid_form' action='javascript:void(0);'><div id='valid_key' class='valid-row'><label class='valid-label'>Verification Code</label><div class='valid-field'><input id='valid_input_key' class='inputbox-big' type='text' name='validkey' maxlength='56'/></div></div><div id='validkey_note' class='lightgrey small-text'>Please check your email inbox to get the Verification Code.</div><div id='valid_buttonbar' class='xmindshare-window-buttonbar'><input id='valid_button' type='button' value='Validate' /></div>";+"</form>";validDialogContainer.insert(validDialogContent);var validDialog=new Bourbon.Window(validDialogContainer,{title:"Email verification",className:"xmindshare-window",afterOpen:function(){$("valid_input_key").focus();$("valid_button").observe("click",function(){valid();validDialog.close()});Event.observe(window,"keydown",function(A){if(A.keyCode==Event.KEY_ESC){validDialog.close()}if(A.keyCode==Event.KEY_RETURN){valid();validDialog.close()}})}});function checkboxValue(A){return $F(A)?1:0}function changeEmail(){if($F("email1")){Ajson.put(rest+"email/"+Bourbon._account,{parameters:{email1:$F("email1"),display1:checkboxValue("display1"),newsletter1:checkboxValue("newsletter1"),email2:$F("email2"),display2:checkboxValue("display2"),newsletter2:checkboxValue("newsletter2")},onSuccess:function(){window.location.href="http://www.xmind.net/account/"+me.user+"/"},onNotAcceptable:function(){$("settings_errorMsg").update("Email address is invalid.").show()},onForbidden:function(A){$("settings_errorMsg").update("Sorry! "+A.emails[0]+(A.emails[1]?" and "+A.emails[1]+" have":" has")+" been verified by another XMind ID").show()}})}else{$("settings_errorMsg").update("Primary Email can't be empty.").show()}}function initCheckbox(B,A){if(A===1){B.checked=true}else{B.checked=false}}function resendValidKey(A){Ajson.del(rest+"email/"+Bourbon._account,{parameters:{email:A},onComplete:function(){$("settings_errorMsg").update("The confirmation email was sent, please check your email.").setStyle({color:"Green"}).show()}})}function valid(){Ajson.post(rest+"email",{parameters:{validkey:$("valid_input_key").value},onComplete:function(){getAllEmail()}})}function getAllEmail(){if(Bourbon.isSignedIn()){Ajson.get(rest+"email/"+Bourbon._account+"/all",{onSuccess:function(A){A.emails.each(function(E,C){var D=(C+1);$("email"+D).value=E.email;initCheckbox($("display"+D),E.contact);initCheckbox($("newsletter"+D),E.receive);var B=$("valid"+D);if($F("email"+D)){if(E.valid===1){B.update("Verfied");B.removeClassName("unverified");B.addClassName("verified");$("verify_border"+D).hide()}else{B.update("Unverfied").removeClassName("verified").addClassName("unverified");$("verify_border"+D).show();$("verify_link"+D).observe("click",function(){validDialog.open()});$("resend_code"+D).observe("click",function(){resendValidKey(E.email)})}}else{B.update("").className("")}})}})}}function getDisplayEmail(){Ajson.get(rest+"email/"+me.author,{onSuccess:function(A){if(A.emails.length>0){var B=$("contact_author");B.show();A.emails.each(function(C){B.insert("<div><span class='item'>Email: </span><span>"+C.email+"</span><br/></div>")})}}})}if($("myaccount_content")||$("mymaps_content")){getDisplayEmail()}function unbindOpenID(A){if(Bourbon.isSignedIn()){Ajson.del(rest+"openid/"+Bourbon._account,{parameters:{openid:A},onComplete:function(){getAllOpenId()}})}}function getAllOpenId(){if(Bourbon.isSignedIn()){Ajson.get(rest+"openid/"+Bourbon._account,{onSuccess:function(A){if(A.openids.length>0){var B="";A.openids.each(function(E,C){var D=C+1;B+='<tr><td class="ep-key"><p>OpenID '+D+': </p></td><td class="ep-value"><span>'+E+'</span></td><td><span id="unbind_'+D+'" class="unbind blue-hyperlink">Unbind</span></td>';"</tr>"});$("boud_openid_content").update(B);A.openids.each(function(E,C){var D=C+1;$("unbind_"+D).observe("click",function(){unbindOpenID(E)})})}else{$("boud_openid_content").update('<tr><td class="ep-value"><span>None OpenId bound</span></td></tr>')}}})}}if($("account_settings_content")){$("settings_save_button").observe("click",changeEmail);$("settings_cancel_button").observe("click",function(){window.location.href="http://www.xmind.net/account/"+me.user+"/"});getAllEmail();getAllOpenId()}if(document.body.hasClassName("help")){var _h1=$$(".content h1")[0].innerHTML;console.log(_h1);$$("div.help").each(function(A){Element.insert(A,{top:"<div style='float:left; margin:20px 20px 10px 0px;'><a href='http://www.xmind.net/help/' title='XMind Help Center'><img src='http://static.xmind.net/images/help_title.gif' / ></a><span style='margin: 0pt 10px; position: relative; top: -9px; font-size: 30px; color: #aaa;'>&raquo;</span><span style='font-size:22px; position:relative;top:-8px;font-weight:bold;'>"+_h1+"</span></div><div style='clear:both;'></div>"})})}function inviteShare(B,E,A,D){B=B||me.user;E=E||me.map.name;A=A||$("inviteShare_textarea").value;A=A.toLowerCase();D=D||$("invite_failed");var C=$("shareDialog");Ajson.put(rest+"private-maps/"+B+"/"+E,{parameters:{users:A},onSuccess:function(G){if(C){C.hide()}var H=G.failed.length;if(H>0){D.insert("Your invitation(s) to ");G.failed.each(function(J,I){var K=", ";if(I==H-1){K=" "}D.insert("&quot;"+J+"&quot;"+K)});D.insert("Your share is failed. Some of the XMind IDs you just typed are incorrect. <span id='invite_sharer_failed' class='blue-hyperlink'>Hide</span>").show();$("invite_sharer_failed").observe("click",function(){D.hide()})}else{if($("invite_msg")){$("invite_msg").update("Thanks, your share invitation have been sent to your friend(s).").addClassName("good").show()}}var F=G.succeed.length;if(F>0){G.succeed.each(function(J,I){$("map_sharers").insert("<div id='sharer_"+J+"' class='sharer-name'><a href='http://share.xmind.net/"+J+"'>"+J+" </a><div id='remove_sharer_"+J+"' class='remove-sharer'></div></div>")})}}})}if($("invite_private_share_content")){var _match=window.location.toString().match(/http:\x2f{2}share\.xmind\.net\x2f(.*)\x2f(.*)\x2fprivateshare\x2f?/i);$$(".inviteshare-mapname").each(function(A){A.update(_match[2])});$("invite_button").observe("click",function(){inviteShare(Bourbon._account,_match[2],$("invite_email").value,$("invite_failed"))})}if(document.body.hasClassName("feedback_content")){var updateFeedback=function(){var A=$F("feedback_product_content_select");if(A==="xmindpro"||A==="xmind_opensource"){$("browser").hide();$("system").show()}else{if(A==="xmind_net"){$("system").hide();$("browser").show()}else{$("system").hide();$("browser").hide()}}};updateFeedback();$("feedback_product_content_select").observe("change",function(){updateFeedback()})}if($("mappage_content")){var stars=$$("#ratings img");var rateTips=$("rate_tips");var centralTopic=$("map_central_topic");var addedTime=$("added_time");var author=$("author");var joinedTime=$("joined_time");var mapDesc=$("desc");var commentTips=$("comment_tips");var commentPostArea=$("comment_post_area");var commentTextarea=$("comment_textarea");var commentsCount=$("comments_count");var postedComments=$("posted_comments");var commentNotify=$("comment_notify");var commentTipsH2=$("comment_tips_h2");var cptStart=$("cpt_start");var cpbStart=$("cpb_start");var cptEnd=$("cpt_end");var cpbEnd=$("cpb_end");var favoriteButton=$("favorite_button");var favDialog=$("favDialog");var favTagInput=$("fav_tag_input");var favTags=$("fav_tags");var shareDialog=$("shareDialog");var inviteFailed=$("invite_failed");var rest="/_res/";var addParting=computePartingTime(me.map.created);var joinedParting=computePartingTime(me.map.user_created);var shareInfo=$("share_info");var addSharerButton=$("add_sharer_button");var initMapInfo=function(){centralTopic.update(me.map.topic);if(me.map.featured){$("mappage_featured").insert("<img src='http://static.xmind.net/images/featured.gif' alt='featured map' />")}addedTime.update(addParting.time+" "+addParting.unit+" ago");author.update("<a href='/"+me.map.user+"/'>"+me.map.user+"</a>");author.href="/"+me.map.user+"/";joinedTime.update(joinedParting.time+" "+joinedParting.unit+" ago");if(me.map.auth==2){$("mapinfo_title").insert("<span id='map_private'>Private Map</span>");$("mapinfo_map").addClassName("private");shareInfo.show();splitSharesToElement(me.map.shares,$("map_sharers"));if(me.user===me.author&&me.map.shares.length>0){addSharerButton.show()}else{$$(".remove-sharer").each(function(A){A.hide()})}}mapDesc.insert(me.map.desc);$("more_from_author").update(me.map.user);$("downloads_count").update(me.map.downloads);$("view_count").update(me.map.views)};window.title=me.map.name+" - "+me.map.user+" - XMindShare.com";initMapInfo();fetchComments();addSharerButton.observe("click",function(){shareDialog.show()});$("share_cancel_button").observe("click",function(){shareDialog.hide();shareInfo.show()});if($("share_send_button")){$("share_send_button").observe("click",function(){inviteShare()})}fetchMoreMaps("recent",me.map,function(){var A=new Paging($("oms_contianer"),me.map.maps,function(B){return loadOneMap(B,"<span class='separator'>|</span>")},2,{pageUpButton:[$("oms_pageUp")],pageDownButton:[$("oms_pageDown")]})});if(me.user){getFavTag(me.map.user,me.map.name)}if($("post_comment_button")){$("post_comment_button").observe("click",function(){postComment()})}if(me.user){favoriteButton.observe("click",function(){favoriteButton.hide();favDialog.show();favTagInput.focus();Event.observe(window,"keydown",function(A){if(A.keyCode==Event.KEY_RETURN){addFav(me.map.user,me.map.name)}})})}else{favoriteButton.observe("click",function(){$("fav_no_signin").toggle()})}$("fav_cancel").observe("click",function(){favDialog.hide();getFavTag(me.map.user,me.map.name)});$("fav_save").observe("click",function(){if(me.map.userTag!=null){updateFav(me.map.user,me.map.name)}else{addFav(me.map.user,me.map.name)}});favTags.observe("mouseover",function(){$("fav_tooltip").show();$("fav_tooltip").observe("mouseover",function(){$("fav_tooltip").show()});$("fav_tooltip").observe("mouseout",function(){$("fav_tooltip").hide()})});favTags.observe("mouseout",function(){$("fav_tooltip").hide()});$("fav_del").observe("click",function(){delFav(me.map.user,me.map.name)});$("fav_edit").observe("click",function(){favTags.hide();favDialog.show();favTagInput.focus();Event.observe(window,"keydown",function(A){if(A.keyCode==Event.KEY_RETURN){updateFav(me.map.user,me.map.name)}})});$("embedCode_left_button").observe("click",setEmbedCode.curry(3));$("embedCode_center_button").observe("click",setEmbedCode.curry(2));$("embedCode_right_button").observe("click",setEmbedCode.curry(1));setEmbedCode(3);var removeSharerButtons=$$(".remove-sharer");if(removeSharerButtons.length>0){removeSharerButtons.each(function(B){var C="remove_sharer_";var A=B.id.substring(C.length);B.observe("click",function(){removeSharer(A)})})}}function countChars(){var B=10000;var C=commentTextarea.getValue();var D=C.length;var A=B-D;if(A<1){commentTextarea.value=C.substring(0,B);A=0}if(C.length>9900){commentNotify.update("Remaining character count: "+A).addClassName("gray").show()}else{commentNotify.hide()}}function updatePostTips(){if(Bourbon.isSignedIn()){commentTipsH2.update("Comment on this map");commentTips.hide();commentPostArea.show();commentTextarea.observe("keyup",countChars)}else{commentTipsH2.update("Would you like to comment?");commentPostArea.hide();commentTips.show()}}function loadOneComment(I,A){A=A||I.comment.length;var C=computePartingTime(I.created);var G=new Element("div",{id:"comment_"+I.id,"class":"one-comment"}).hide();var J=new Element("a",{id:"comment_photo",href:"/"+I.user+"/"});var E=new Element("div",{"class":"comment-photo"}).insert(J);var K=new Element("div",{"class":"comment-content"});var F=new Element("div",{"class":"posted-comment-titlebar"});F.insert("<div class='comment-author-info'><a href='/"+I.user+"/'>"+I.fullname+"</a><span class='lightgrey small-text'> said "+C.time+" "+C.unit+" ago</span></div>");var B=new Element("div",{id:"fold_comment_button"+I.id,"class":"fold-comment-button expand-comment"}).hide();F.insert(B);K.insert(F);var H=new Element("div",{id:"comment_text"+I.id,"class":"comment-text"}).update(I.comment.replace(/\n/g,"<br/>"));var D=new Element("div",{id:"comment_text"+I.id,"class":"comment-text"}).hide();K.insert(H).insert(D).insert("<div class='clear'></div>");if(I.comment.length>A){B.show();H.hide();D.update(I.comment.truncate(A).replace(/\n/g,"<br/>")).show();B.observe("click",function(){H.toggle();D.toggle();B.toggleClassName("expand-comment");B.toggleClassName("collapse-comment")})}if(I.avatar){J.insert("<img src='"+I.avatar+"' alt='"+I.user+"' />")}G.insert(E);G.insert(K);return G}function postComment(){if(commentTextarea.value.length==0){return }var A=commentTextarea.value.replace(Bourbon.RegEx.LineBreak,"<br/>");Ajson.post(rest+"comment/"+me.map.user+"/"+me.map.name,{parameters:{comment:A},onSuccess:function(L){$("nocomment").hide();var K=new Element("div",{"class":"one-comment"});var I=new Element("div",{"class":"comment-photo"});K.insert(I);var C=new Element("a");C.href="/"+me.user;I.insert(C);var B=new Element("div",{"class":"comment-content"});K.insert(B);var E=new Element("div",{"class":"posted-comment-titlebar"});B.insert(E);var D=new Element("div",{"class":"comment-author-info"}).insert("<a href='/'"+me.user+">"+me.fullname+"</a><span class='lightgrey small-text'> just said</span>");E.insert(D);var H=new Element("div",{"class":"fold-comment-button expand-comment"}).hide();E.insert(H);var J=new Element("div",{"class":"comment-text"}).hide();B.insert(J);var G=new Element("div",{"class":"comment-text"}).update(A);B.insert(G);K.insert("<div class='clear'></div>");if(me.avatar){C.insert("<img src='"+me.avatar+"' alt='"+me.user+"' />")}$("replacecontentContainer").insert({top:K});new Effect.Highlight(K);if(A.length>100){H.show();var F=A.substring(0,100)+"...";G.hide();J.update(F).show();H.observe("click",function(){J.toggle();G.toggle();H.toggleClassName("expand-comment");H.toggleClassName("collapse-comment")})}commentTextarea.value="";commentNotify.update("Comment Posted, thanks!").addClassName("green bold").show();commentTextarea.observe("focus",function(){commentNotify.hide()})}})}function setEmbedCode(B){var A=B*150+450;var C=B*50+150;$("mappage_embedCode_button").removeClassName("center-on").removeClassName("right-on").removeClassName("left-on").addClassName(B==1?"right-on":(B==2?"center-on":"left-on"));$("embedCode_input").value="<iframe id='xmindshare_embedviewer' src='http://share.xmind.net/_embed/"+me.author+"/"+me.map.name+"/' width='"+A+"px' height='"+C+"px' frameborder='0' scrolling='no'></iframe>";new Effect.Highlight("embedCode_input")}function fetchComments(A){A=A||"0";Ajson.get(rest+"comment/"+me.map.user+"/"+me.map.name+"/"+A,{onSuccess:function(B){me.map.comments=B.comments;me.map.totalComments=B.total;if(B.total>0){$("comments_pagination_top").appear();$("comment_pagination_bottom").appear()}else{$("nocomment").show()}new Paging(postedComments,me.map.comments,function(C){return loadOneComment(C,100)},10,{displayReverse:false,pageUpButton:[$("cpt_prev"),$("cpb_prev")],pageDownButton:[$("cpt_next"),$("cpb_next")],startItem:[$("cpt_start"),$("cpb_start")],endItem:[$("cpt_end"),$("cpb_end")],itemsCount:[$("cpt_all"),$("cpb_all"),$("comments_count")]});updatePostTips()}})}function addFav(A,B){$("fav_waiting").show();Ajson.post(rest+"favorite/"+me.user+"/"+A+"/"+B,{parameters:{tag:favTagInput.value},onSuccess:function(){$("fav_waiting").hide();favDialog.hide();getFavTag(A,B)}})}function getFavTag(A,B){me.map.userTag=null;Ajson.get(rest+"favorite/"+me.user+"/"+A+"/"+B,{onSuccess:function(C){$("fav_icon").addClassName("show-icon");favoriteButton.hide();favTags.insert("<span>"+C.tag+"</span>").show();me.map.userTag=C.tag;favTagInput.value=C.tag},onNotFound:function(){favoriteButton.show();favTagInput.value=""}})}function updateFav(A,B){Ajson.put(rest+"favorite/"+me.user+"/"+A+"/"+B,{parameters:{tag:favTagInput.value},onSuccess:function(){favDialog.hide();getFavTag(A,B)}})}function delFav(A,B){Ajson.del(rest+"favorite/"+me.user+"/"+A+"/"+B,{onSuccess:function(){favTags.hide();favoriteButton.show();favTagInput.value=""}})}function splitSharesToElement(B,A){var C=B.split(",");C.each(function(E,D){A.insert("<div id='sharer_"+E+"' class='sharer-name'><a href='http://share.xmind.net/"+E+"'>"+E+" </a><div id='remove_sharer_"+E+"' class='remove-sharer'></div></div>")})}function removeSharer(A){Ajson.del(rest+"private-maps/"+me.user+"/"+me.map.name,{parameters:{users:A},onSuccess:function(){$("sharer_"+A).remove()}})}var aboutAuthor=$("about_author");var contactAuthor=$("contact_author");if($("myaccount_content")||$("mymaps_content")){var joinedDate=formatDate(parseInt(me.author_created));$("account_url").update(document.location.href)}function computeCompleteness(){Ajson.get(rest+"profile/"+me.author+"/comp",{onSuccess:function(A){$("profile_completeness_percent").innerHTML=A.completeness+"% ";$("profile_completeness_img").setStyle({width:$("profile_completeness_percent").innerHTML})}})}function getProfile(){if(me.user){computeCompleteness()}Ajson.get(rest+"profile/"+me.author,{onSuccess:function(K){me.profile=K;if(me.profile.photo){$("profile_photo_border").insert("<img src='"+me.profile.photo+"' alt='"+me.author+"' />")}if(me.profile.first_name||me.profile.last_name){if(me.profile.first_name){$("profile_author_name").insert(me.profile.first_name)}if(me.profile.last_name){$("profile_author_name").insert(" "+me.profile.last_name)}}var F=computePartingTime(me.profile.last_signin);$("join_date").insert(joinedDate);$("ep_last_signin").insert(F.time+" "+F.unit+" ago");aboutAuthor.insert("<div class='bold'>Who is "+(me.profile.first_name||me.author)+"?</div>");if(me.profile.gender){var A="<div><span class='item'>Gender: </span>"+me.profile.gender+"</div>";aboutAuthor.insert(A)}if(me.profile.birth_month||me.profile.birth_day||me.profile.birth_year){var J=new Element("div");J.update("<span class='item'>Birthday: </span>");aboutAuthor.insert(J);if(me.profile.birth_month){mon=["January","February","March","April","May","June","July","August","September","October","November","December"];J.insert("<span>"+mon[parseInt(me.profile.birth_month)-1]+"</span>")}if(me.profile.birth_day){J.insert("<span> "+me.profile.birth_day+"</span>")}if(me.profile.birth_year){J.insert("<span>, "+me.profile.birth_year+"</span>")}}if(me.profile.role||me.profile.workplace){var E=new Element("div");E.update("<span class='item'>Work: </span>");aboutAuthor.insert(E);if(me.profile.role){E.insert(me.profile.role+" ")}if(me.profile.workplace){E.insert("<span>at "+me.profile.workplace+"</span>")}}if(me.profile.city||me.profile.country){var I=new Element("div");I.update("<span class='item'>Location: </span>");aboutAuthor.insert(I);var D=new Element("span",{id:"profile_city"});if(me.profile.city){D.insert(me.profile.city)}if(me.profile.country){if(me.profile.city){D.insert(", ")}D.insert(me.profile.country)}I.insert(D)}if(me.profile.aboutme){var C="<div><span class='item'>About: </span>"+me.profile.aboutme+"</div>";aboutAuthor.insert(C)}if(me.profile.website){if(!me.profile.website.startsWith("http://")){me.profile.website="http://"+me.profile.website}var L="<div><span class='item'>Website: </span><span><a href='"+me.profile.website+"' target='_blank' >"+me.profile.website+"</a></span></div>";aboutAuthor.insert(L)}if(aboutAuthor.innerHTML){aboutAuthor.show()}if(me.profile.phone){var H="<div><span class='item'>Phone: </span>"+me.profile.phone+"</div>";contactAuthor.insert(H)}if(me.profile.address){var G=new Element("div");contactAuthor.insert(G);if(me.profile.address){G.insert("<span class='item'>Address: </span><span>"+me.profile.address+"</span><br/>");var B=new Element("span",{id:"profile_city"});if(me.profile.city){B.insert(me.profile.city)}if(me.profile.country){if(me.profile.city){B.insert(", ")}B.insert(me.profile.country)}G.insert(B)}}if(contactAuthor.innerHTML){contactAuthor.show()}},onNotFound:function(){alert("The user is not found.")}})}function fetchFavs(){Ajson.get(rest+"favorite/"+me.author,{onSuccess:function(A){$("fav_maps_count").update(A.total+" "+(A.total>1?" maps":"map"));A.maps.each(function(C){var B=loadOneMap(C,"<span class='separator'>|</span>").appear();$("fav_container").insert(B)})}})}if($("myaccount_content")){var notifyMessageBoard=$("notify_message_board");var notifyIcon=$("notify_message_icon");var notifyMessage=$("notify_message");var subCodeDialog=$("subcode_dialog");var nosub=$("nosub");var subinfo=$("subinfo");$("signin_link").hide();$("signup_link").hide();$("signout_link").show();$("username_link").update("My Account ("+Bourbon._fullname+")").show();$("profile_name").update(me.user);$("edite_profile").href="http://www.xmind.net/account/"+me.user+"/editprofile/";$("account_settings").href="http://www.xmind.net/account/"+me.user+"/settings/";if(me.user_valid==="1"){notifyMessageBoard.hide()}else{notifyMessage.update("Your email has not been verified, please goto <span><a id='comfirm_settings'>Settings</a> page to verify your email address.</span><br/ ><div id='notify_email_activation'><span class='bold'>Note: </span>There is a slim chance that some email accounts may mark this email as junk or spam.</div>");notifyMessageBoard.show();$("comfirm_settings").href="http://www.xmind.net/account/"+me.user+"/settings/"}$("upload_maps").update(me.maps.total);document.ready(function(){if(me.maps.total>0){me.maps.maps.each(function(B){var A=loadOneMap(B,"<span class='separator'>|</span>",true).appear();$("maps_container").insert(A)})}else{$("maps_container").insert("<div id='no_upload'>You have never uploaded a public map.</div><img style='float:left;' src='http://static.xmind.net/images/upload_mymaps.png'><span id='mymaps_learn_upload'><a href='http://www.xmind.net/downloads/'>Click here to download XMind.</a></span>")}$("upload_maps").update(me.maps.total+(me.maps.total>1?" maps":" map"));fetchFavs();fetchPrivateMaps(me.user);fetchSharedMaps();fetchSubscribe();getProfile();delMap()});var subHistoryContainer=new Element("div",{id:"subhistory_container"});var subHistoryContent="<div id='subhistory_content'><table id='subhistory_table' summary='XMind pro subscribe history'><thead><tr><th scope='col'>OPENNING DATE</th><th scope='col'>EXPIRY DATE</th><th scope='col'>DURATION</th></tr></thead><tbody id='subhistory_tbody'></tbody></table>";"</div>";subHistoryContainer.insert(subHistoryContent).hide();document.body.insert(subHistoryContainer);var subHistoryDialog=new Bourbon.Window(subHistoryContainer,{title:" Your subscribe history",className:"xmindshare-window",afterOpen:function(){Event.observe(window,"keydown",function(A){if(A.keyCode==Event.KEY_ESC){subHistoryDialog.close()}})}});$("nosubbuy_button").observe("click",function(){$("nosubbuy_button").hide();subCodeDialog.show()});$("subbuy_button").observe("click",function(){$("subbuy_button").hide();subCodeDialog.show()});$("sub_history").observe("click",function(){subHistoryDialog.open()});$("active_code_button").observe("click",function(){activeCode()})}function fetchPrivateMaps(A){A=A||me.user;Ajson.get(rest+"private-maps/"+A+"/0",{onSuccess:function(B){$("private_maps_count").update(B.total+" "+(B.total>1?"maps":"map"));B.maps.each(function(D){var C=loadOnePrivateMap(D).appear();$("private_container").insert(C)});delMap()}})}function fetchSharedMaps(A){A=A||me.user;Ajson.get(rest+"shared-maps/"+A+"/0",{onSuccess:function(B){$("share_maps_count").update(B.total+" "+(B.total>1?"maps":"map"));B.maps.each(function(D){var C=loadOneSharedMap(D).appear();$("share_container").insert(C)})}})}function fetchSubscribe(){Ajson.get(rest+"subscription/"+me.user,{onSuccess:function(A){if(A.expire>0){subinfo.show();$("expired_date").update(formatDate(A.expire,"short"));A.records.each(function(C){var B=" month";if(C.period){B=" months"}$("subhistory_tbody").insert("<tr><td>"+formatDate(C.from,"short")+"</td><td>"+formatDate(C.to,"short")+"</td><td>"+C.period+B+"</td></tr>")})}else{nosub.show()}}})}function activeCode(){var A=$("subcode_input").value;if(A){Ajson.post(rest+"subscription/"+me.user,{parameters:{codes:A},onSuccess:function(B){if(B.expired.length>0){$("subcode_error_message").update("Your subscription code is expired.").show()}else{if(B.failed.length>0){$("subcode_error_message").update("Your subscription code is invalid, please try again or <a href='/contact.html'>contact us</a>.").show()}else{if(B.mistype.length>0){$("subcode_error_message").update("Enterprise code and personal code can't be used together.").show()}else{if(B.used.length>0){subCodeDialog.hide();fetchSubscribe()}}}}}})}}function delMap(){var A=$$(".close-icon");A.each(function(C){var E="close_icon";var B=C.id.substring(E.length);var D=$("map_border"+B);var F=$("img_border"+B);C.observe("click",function(){Ajson.del(rest+"map/"+me.user+"/"+B,{onSuccess:function(){D.remove()}})})})}if($("mymaps_content")){document.ready(function(){$("fav_author").update(me.author);$("upload_username").update(me.author);$("profile_username").update(me.author.toLocaleUpperCase());$("upload_maps").update(me.maps.total+" "+(me.maps.total>1?"maps":"map"));if(me.maps.total>0){me.maps.maps.each(function(B){var A=loadOneMap(B,"<span class='separator'>|</span>").appear();$("maps_container").insert(A)})}fetchFavs();getProfile()})}if($("edit_profile_content")){var changePasswordTitle=$("ep_change_title");var changePasswordDetials=$("ep_change_password_details");var updateProfileForm=$("update_profile_form");var epUploadBtn=$("ep_upload_button");var waitPhoto=$("waiting_photo");var photoUploader=$("ep_photo_uploader");var modifyPhoto=$("ep_modify_photo");var photoContainer=$("ep_photo_img_border");var msgPassOld=$("pass_old_msg");var msgPassNew=$("pass_new_msg");var msgPassNewConfirm=$("pass_new_confirm_msg");var passOld=$("pass_old");var passNew=$("pass_new");var passNewConfirm=$("pass_new_confirm");var changePasswordTitle=$("ep_change_title");initEditProfileForm();$("ep_cancel_button").observe("click",function(){window.location.href="http://www.xmind.net/account/"+me.user+"/"});epUploadBtn.observe("click",function(){uploadPhoto()});$("ep_save_button").observe("click",function(){if(changePasswordTitle.hasClassName("expand")){changePassword()}else{updateProfile()}});if(changePasswordTitle){changePasswordTitle.observe("click",function(){changePasswordTitle.toggleClassName("expand");changePasswordTitle.toggleClassName("collapse");changePasswordDetials.toggle()})}changePasswordTitle.observe("click",function(){if(changePasswordTitle.hasClassName("expand")){passNew.observe("blur",function(){checkPassword(passNewConfirm,passNew,msgPassNew)});passNewConfirm.observe("blur",function(){confirmPass(passNewConfirm,passNew,msgPassNewConfirm)})}})}function initEditProfileForm(){Ajson.get(rest+"profile/"+me.author+"/all",{onSuccess:function(A){$("update_profile_form").selectRadio("GENDER",A.gender);$("ep_dob_month").setValue(A.birth_month||"");$("ep_dob_day").setValue(A.birth_day||"");$("ep_dob_year").value=(A.birth_year||"");$("ep_first_name").value=(A.first_name||"");$("ep_last_name").value=(A.last_name||"");$("ep_role").value=(A.role||"");$("ep_workplace").value=(A.workplace||"");$("ep_aboutme").value=(A.aboutme||"");$("ep_website").value=(A.website||"");$("ep_address").value=(A.address||"");$("ep_city").value=(A.city||"");$("ep_country").value=(A.country||"");$("ep_phone").value=(A.phone||"");if(A.show_birth===1){$("ep_display_birthday").checked=true}else{$("ep_display_birthday").checked=false}if(A.show_address===1){$("ep_display_address").checked=true}else{$("ep_display_address").checked=false}if(A.show_phone===1){$("ep_display_phone").checked=true}else{$("ep_display_phone").checked=false}if(A.photo){setProfilePhoto(A.photo);$("ep_change_photo").observe("click",function(){modifyPhoto.hide();photoUploader.show()});$("ep_remove_photo").observe("click",function(){removePhoto()})}}})}function setProfilePhoto(A){$("photo").value=A;photoContainer.update("<img id='ep_photo_img' src='"+A+"' />");photoUploader.hide();modifyPhoto.show()}function updateProfile(){var A=updateProfileForm.serialize(true);Ajson.put(rest+"profile/"+me.user,{parameters:A,onSuccess:function(){window.location.href="http://www.xmind.net/account/"+me.user+"/"},onComplete:function(B){}})}function uploadPhoto(){waitPhoto.show();Ajson.post(rest+"upload/photo/"+me.user,{onSuccess:function(B){var C=$("fphotoupload");var A=rest+"upload/photo/"+me.user+"/"+B.session;C.action=A;C.submit();checkUploadingStatus(A,function(D){return D.progress==1&&D.value!=null},function(D){setProfilePhoto(D.value)},function(){alert("check upload status failed.")});waitPhoto.hide()},onFailure:function(){alert("create upload session failed.")}})}function checkUploadingStatus(C,E,B,D){var A=0;new PeriodicalExecuter(function(F){Ajson.get(C,{onSuccess:function(G){if(E(G)){F.stop();B(G)}},onFailure:function(){A=A+1;if(A==10){F.stop();D()}}})},2)}function removePhoto(){modifyPhoto.hide();photoContainer.update("");photoUploader.show()}function changePassword(){Ajson.put(rest+"password/"+me.user,{parameters:$("fchangeps").serialize(true),onSuccess:function(){alert("Your password has been changed!");updateProfile()},onForbidden:function(){alert("Current password is incorrect, please try again!")}})}function signupError(A){if(A){$("signup_error_msg").update(A).show();new Effect.Highlight("signup_error_msg")}else{$("signup_error_msg").hide()}}if($("signup_page")){var iframeMode=!(window.parent==window);var usernameInput=$("signup_input_username");var usernameMsg=$("signup_username_msg");var emailInput=$("signup_input_email");var emailMsg=$("signup_email_msg");var passwordInput=$("signup_input_password");var passwordMsg=$("signup_password_msg");var confirm=$("signup_input_password_confirm");var confirmMsg=$("signup_confirm_msg");var rest="/_res/";usernameInput.focus();usernameInput.observe("blur",function(){if(usernameInput.value){checkUsername()}});emailInput.observe("blur",function(){if(emailInput.value){checkEmail()}});passwordInput.observe("blur",function(){if(passwordInput.value){checkPassword(confirm,passwordInput,passwordMsg)}if(confirm.value){confirmPass(confirm,passwordInput,confirmMsg)}});confirm.observe("blur",function(){if(passwordInput.value){checkPassword(confirm,passwordInput,passwordMsg)}if(confirm.value){confirmPass(confirm,passwordInput,confirmMsg)}});var signupSubmit=function(){var A=$("signup_form").serialize(true);if(!A.user||!A.email||!A.password||!A.confirm_password){signupError("All starred fields are required, please check again.")}else{if(!$F("terms_check")){signupError("You should agree with XMind.net's Terms of Service &amp; Privary Policy.")}else{signUp()}}};$("signup_button").observe("click",signupSubmit);Event.observe(window,"keydown",function(A){if(A.keyCode==Event.KEY_RETURN){signupSubmit()}});if(window.parent!=window){Event.observe(window,"keydown",function(A){if(A.keyCode==Event.KEY_ESC){window.parent.signUpDialog.close()}})}document.ready(function(){var A=window.location.search;var B=A.indexOf("?email=");if(B>=0){$("signup_input_email").value=A.substring(7)}})}function signUp(){var C=$("waiting_signup_submit");var E=$("signup_form").serialize(true);if(E.password!==E.confirm_password){return }var A="";var B="";var D=$("recaptcha_response_field");if(D){A=D.value}D=$("recaptcha_challenge_field");if(D){B=D.value}C.show();Ajson.post(rest+"user/"+E.email,{parameters:{user:E.user,password:E.password,recaptcha_challenge_field:B,recaptcha_response_field:A,newsletter:$F("newsletter_check")?1:0},onSuccess:function(){C.hide();autoSignIn({user:E.user,password:E.password})},onNotAcceptable:function(F){C.hide();if(!F||!F.message){signupError("Sorry! Your information are not acceptable.")}else{signupError("Sorry! "+F.message+" wrong.")}},onPreconditionFailed:function(){C.hide();signupError("Secure text wrong. You can refresh the image only, if you cannot see it clearly.")},onForbidden:function(){C.hide();signupError("Sorry! The XMind ID you typed is invalid.")},onComplete:function(F){if(F.status!=200&&typeof Recaptcha!="undefined"&&Object.isFunction(Recaptcha.reload)){Recaptcha.reload()}}})}if($("reset_password")){var newPass=$("rp_input_new_password");var newPassMsg=$("rp_password_msg");var confirm=$("rp_input_confirm_password");var confirmMsg=$("rp_confirm_msg");var keyInput=$("rp_input_key");var key=$("rp_input_key");var keyMsg=$("rp_key_msg");var user=$("rp_input_user");var errorMsg=$("rp_errorMsg");newPass.observe("blur",function(){if($F(newPass)){checkPassword(confirm,newPass,newPassMsg)}});confirm.observe("blur",function(){if($F(confirm)){confirmPass(confirm,newPass,confirmMsg)}});keyInput.observe("blur",function(){if($F(keyInput)){verifyKey()}});$("rp_reset_button").observe("click",function(){verifyKey();setTimeout("updatePassword()",100)})}function verifyKey(){Ajson.head(rest+"password/"+user.value+"/"+key.value,{onSuccess:function(){keyMsg.removeClassName("feedback-bad");keyMsg.addClassName("feedback-good");keyMsg.update("Key is avaliable.")},onNotFound:function(){keyMsg.removeClassName("feedback-good");keyMsg.addClassName("feedback-bad");keyMsg.update("The key you just entered is not found.")},onForbidden:function(){keyMsg.removeClassName("feedback-good");keyMsg.addClassName("feedback-bad");keyMsg.update('Your key is expired, click <a href="http://www.xmind.net/signin/forgotpassword/">send me again</a> to get new key.')}})}function updatePassword(){if(keyMsg.hasClassName("feedback-good")){if(!$F("rp_input_new_password")||!$F("rp_input_confirm_password")){errorMsg.update("Password cannot be empty, please type your new password to continue.").show()}else{if($F("rp_input_new_password")===$F("rp_input_confirm_password")){Ajson.post(rest+"password/"+user.value+"/"+key.value,{parameters:{password:newPass.value},onSuccess:function(){alert("Your password have been reset.");window.location.href="http://www.xmind.net/signin/"},onBadRequest:function(){errorMsg.update("Password cannot be empty, please type your new password to continue.").show()},onNotAcceptable:function(){errorMsg.update("Your password length is invalid, min 5 characters, max 40 characters.").show()},onNotFound:function(){errorMsg.update("This XMind ID doesn't exisit, please check it again.").show()},onFailure:function(){window.location.href="http://www.xmind.net/500.html"}})}else{errorMsg.update("Passwords do not match, please check them again.").show()}}}if(keyMsg.hasClassName("feedback-bad")){errorMsg.update('Your key is expired, click <a class="small-text" href="http://www.xmind.net/signin/forgotpassword/">send me again</a> to get new key.').show()}};