var a;
(function(b){function j(o,z){if(!u._notAdmin(o,z))if(!u._missing(o,z,"email screenName")){o.email=o.email.toLowerCase();if(o.status&&typeof o.status=="string")o.status=h(o.status.toLowerCase())||3;u.post("user",x._userSince({user:o}),function(C,D){if(C&&D==200){x._cacheUsers(C._users,C.time);y.treeInvalidate("history");y.treeInvalidate("users/lists");y.sub("account").treeInvalidate("balance").treeInvalidate("billing");z(b.part(C,"email,screenName"),D)}else z(C,D)})}}function e(o,z){u._notAdmin(o,z)||
u._missing(o,z,"users")||u.post("users/del",b.part(o,"users"),function(C,D){if(D==200){var F=y.sub("users/byEmail");b.each(o.users,function(E,G){F.del(G)});y.treeInvalidate("users/lists")}z(C,D)})}function q(o,z){var C=x.getWorkspace(o.workspace);o.title?x.getTopic({workspaceId:(C||{}).id,title:o.title}):x.getTopic();o.p={};o.r={};if(o.filter)if(o.filter=="starred")x._onTopicLoaded(z,function(D){o.key="starred/"+D.id;o.p.starredId=D.id;o.p.starred=D;p(o,z)});else if(o.filter=="contributors")x._onTopicLoaded(z,
function(D){o.key="topic/"+D.id;o.p.topicId=D.id;o.r.topic=D;p(o,z)});else if(o.filter=="workspace")x._onWorkspaceLoaded(z,function(D){o.key="workspace/"+D.id;o.p.workspaceId=D.id;o.r.workspace=D;p(o,z)});else{o.key="all";p(o,z)}else if(o.starred)x._onWorkspaceLoaded(z,function(){o.r.starred=x.getTopic(o.starred);if(!o.r.starred)return z(null,404);o.p.starredId=o.r.starred.id;o.key="starred/"+o.r.starred.id;p(o,z)});else if(o.title)x._onWorkspaceLoaded(z,function(){o.r.topic=x.getTopic(o);if(!o.r.topic)return z(null,
404);o.p.topicId=o.r.topic.id;o.key="topic/"+o.r.topic.id;p(o,z)});else{if(o.workspace){o.r.workspace=x.getWorkspace(o);if(!o.r.workspace)return z(null,404);o.p.workspaceId=o.r.workspace.id;o.key="workspace/"+o.r.workspace.id}else o.key="all";p(o,z)}}function p(o,z){var C=function(H,O){if(H&&(O==200||O==250))H=b.extend({users:b.map(H,function(Q){Q=Q.email?b.extend(x.getUser(Q),Q):x.getUser(Q);if(D)Q.permission=x._toPermStr(Q.perm);return Q})},o.r);z(H,O)};if(o.status){o.p.status=m(o.status);o.r.status=
g(o.status);o.key=o.key+"/"+o.p.status}var D=o.key.startsWith("workspace"),F=y.sub("users/byEmail"),E=y.sub("users/lists"),G=E.data(o.key);if(G){if(!o.refresh&&E.valid(o.key))return C(G,200);C(G,250)}if(!o.refresh&&x._userValid()&&o.key.startsWith("all")){E.put(o.key,b.map(y.sub("users/byEmail").values(),function(H){if(!o.p.status||o.p.status.indexOf(""+H.status)>=0)return H.email}));z(b.extend({users:b.map(E.data(o.key)||[],function(H){return x.getUser({email:H})})},o.r),200)}else u.get("users/list",
x._userSince(o.p),function(H,O){if(H&&O==200){x._cacheUsers(H._users,H.time);F=y.sub("users/byEmail");E=y.sub("users/lists");E.put(o.key,H.list||[],H.time);if(D){var Q=y.sub("workspaces/byId/"+o.p.workspaceId+"/members");b.each(H.list||[],function(ba,T){Q.put(T.email,T.perm,H.time)})}}C(E.data(o.key)||[],E.has(o.key)?200:O==200?404:O)})}function c(o,z){if(!o||!o.email&&!o.screenName&&!o.emails&&!o.screenNames)z(null,400);else{if(o.email)(o.emails=o.emails||[]).push(o.email.toLowerCase());if(o.emails)o.emails=
b.map(o.emails,function(G){return G.toLowerCase()});if(o.screenName)(o.screenNames=o.screenNames||[]).push(o.screenName);var C={users:[],notFound:{}};y.sub("users/byEmail");var D=o.emails?"emails":"screenNames",F=o.emails?"email":"screenName",E=o.emails||o.screenNames;C.notFound[D]=[];if(!o.refresh&&x._userValid()){b.each(E,function(G,H){(H=x.getUser(b.extend({},F,H)))?C.users.push(H):C.notFound[D].push(H)});if(!C.notFound[D].length)C.notFound=false;z(C,200)}else u.get("users",x._userSince(),function(G,
H){G&&H==200&&x._cacheUsers(G._users,G.time);b.each(E,function(O,Q){(Q=x.getUser(b.extend({},F,Q)))?C.users.push(Q):C.notFound[D].push(Q)});if(!C.notFound[D].length)C.notFound=false;z(C,H)})}}function d(o,z){if(!u._missing(o,z,"email/screenName")){if(o.email)o.email=o.email.toLowerCase();var C=x.getUser(o);if(C){var D=y.sub("users/byEmail").sub(C.email);if(!o.refresh&&x._userValid()){D.valid("info")?z({user:b.extend(C,D.data("info"))},200):u.get("user/"+o.email,x._userSince(),function(F,E){if(F&&
E==200){x._cacheUsers(F._users,F.time);C=x.getUser(o);D=y.sub("users/byEmail").sub(C.email);D.put("info",F.info||{},F.time);b.extend(C,D.data("info"))}z({user:C},200)});return}}u.get("user/"+o.email,x._userSince(),function(F,E){if(F&&E==200){x._cacheUsers(F._users,F.time);if(C=x.getUser(o)){D=y.sub("users/byEmail").sub(C.email);D.put("info",F.info||{},F.time);b.extend(C,D.data("info"));z({user:C},200)}else z(null,404)}else z(null,E)})}}function f(o,z){var C,D=x.getUser();b.each(o||{},function(F,E){if(D[F]!=
E)(C=C||{})[F]=E});C?u.put("user",x._userSince(C),function(F,E){if(F&&E==200){x._cacheUsers(F._users,F.time);y.sub("users/byEmail").sub(D.email).put("info",o,F.time)}z({user:b.extend(x.getUser(),y.sub("users/byEmail").sub(D.email).data("info"))},E)}):z({user:b.extend(x.getUser(),y.sub("users/byEmail").sub(D.email).data("info"))},200)}function k(o,z){if(!$cc.session.admin)return z(null,403);var C={users:[]};if(o.users){b.each(o.users,function(D,F){if(F.email&&F.email!=$cc.session.email&&(F.status==
"active"||F.status=="suspended"||F.status=="admin"))(D=x.getUser({email:F.email}))&&D.status!=F.status&&C.users.push({email:F.email,status:h(F.status)})});if(!C.users.length)return z(null,200)}else if(o.email&&o.status){if(o.status!="active"&&o.status!="suspended"&&o.status!="admin")return z(null,400);C.users.push({email:o.email,status:h(o.status)})}else return z(null,400);u.put("users",x._userSince(C),function(D,F){var E=y.sub("users/byEmail");b.each(C.users,function(G,H){(E.data(H.email)||{}).status=
H.status});z(D,F)})}function m(o){return b.map(o.split(" "),function(z){if(z)return h(z)}).sort().join(",")}function g(o){return b.map(o.split(" "),function(z){if(z)return n(z)}).sort().join(" ")}function h(o){if(o.length==1)return parseInt(o);return o=="admin"?1:o=="added"?2:o=="active"?3:o=="suspended"?4:o}function n(o){if(o.length>1)return o;if(o.length==1)o=parseInt(o);return A[o]}function l(o,z){u.post("settings/notification",o,z)}function v(o,z){u.get("settings/notification",o,z)}var w=window.__DEBUG,
u=$cc.core,x=$cc.api,y=x._cache,B=x.toKey,r=b.bourbon.N;x._cacheUsers=function(o,z){if(o){z=z||(new Date).getTime();var C=y.sub("users/byEmail"),D=y.sub("users/name2email");b.each(o,function(F,E){if(E.avatar&&window.TEST_CCTEXT_DOWNLOAD)E.avatar=E.avatar.replace("http://store.cctext.net/","/dl/");C.put(E.email,E,z,-1);D.put(B(E.screenName),E.email,z,-1)});y.put("users/since",z,z,-1)}};x._userSince=function(o){return b.extend(o||{},{_userSince:y.time("users/since")})};x._userValid=function(){return y.valid("users/since")};
var A=["","admin","added","active","suspended"];x.getUser=function(o){if(o=x._getUser(o)){o=b.extend({},o);o.status=n(o.status)}return o};x._getUser=function(o){o=typeof o=="string"?o.indexOf("@")>0?{email:o}:{screenName:o}:o||{_default:$cc.session.email};var z=y.sub("users/byEmail");if(o.screenName)o.email=y.sub("users/name2email").data(B(o.screenName));else if(o.email)o.email=o.email.toLowerCase();var C;if(o.email)C=z.data(o.email);if(!C&&o._default){if(o._default.indexOf("@")<0)o._default=y.sub("users/name2email").data(B(o._default));
if(o._default)C=z.data(o._default)}return C};x.getAvatarUrl=function(o){var z=location.protocol==="https:"?"https:":"http:";o=o||{};var C=x.getUser(o);if(C&&C.avatar){var D=o.size?b.parseInt(o.size,o.size):0;D=Math.min(o.width||D||0,o.height||D||0);return o.size=="large"||D>100?b.template(C.avatar)({size:"200x200"}).replace("http:",z):o.size=="medium"||D>50?b.template(C.avatar)({size:"100x100"}).replace("http:",z):b.template(C.avatar)({size:"50x50"}).replace("http:",z)}};x.uploadUsers=function(o,
z){w&&console.info("uploadUsers: (",o,")");if(u._notAdmin(o,r))return(z.onError||r)(403);var C,D,F=function(){D&&C&&b.aj("GET",C,D)},E,G=false,H={cancel:function(){if(!G){G=true;D&&C&&b.aj("DELETE",C,{headers:{"X-cctext-token":$cc.session.token}})}},stopMonitor:function(){D=undefined},confirm:function(){if(E=="confirming")if(D&&!G){E="processing";b.aj("PUT",C,{headers:{"X-cctext-token":$cc.session.token},data:{}});F.delay(2E3)}}};u.post("users",function(O,Q){if(G){O.target&&b.aj("DELETE",O.target,
{headers:{"X-cctext-token":$cc.session.token}});return(z.onCancel||r)()}if(Q!=200)return(z.onError||r)(Q);if(!O.target)return(z.onError||r)(500);if((z.onStart||r)(O.target)===false)return(z.onCancel||r)();C=O.target;E="uploading";var ba={uploading:function(T){(z.onProgress||r)(T.read/T.total)},processing:function(T){if(E=="uploading"){(z.onProgress||r)(1);if(T.message)if((T=T.message)&&T.users){(z.onUploaded||r)(T.users);return"confirming"}else{H.stopMonitor();(z.onError||r)(T.code||500)}else{H.stopMonitor();
(z.onError||r)(400)}}},finish:function(T){H.stopMonitor();if(E!="finish")if(T.message){T=b.parseJSON(T.message);(z.onError||r)(T?T.code:500)}else{y.treeInvalidate("history");u.get("users",x._userSince(),function(Z,ma){Z&&ma==200&&x._cacheUsers(Z._users,Z.time);(z.onFinish||r)()})}},cancel:function(){H.stopMonitor();(z.onCancel||r)()},error:function(T){H.stopMonitor();(z.onError||r)(T.message&&T.message.code?T.message.code:T.status=="sizelimited"?413:Q==200?500:Q)}};D={headers:{"X-cctext-token":$cc.session.token},
complete:function(T,Z){if(D){if(Z!=200)return(z.onError||r)(Z);if(!T.status)return(z.onError||r)(500);E=(ba[T.status]||ba.error)(T)||T.status;D&&E!="confirming"&&F.delay(2E3)}}};(z.onProgress||r)(0);F.delay(2E3)});return H};x.uploadAvatar=function(o,z){w&&console.info("uploadAvatar: (",o,")");if(!o||!o.fileName)return(z.onError||r)(400);if(!x.getUser())return(z.onError||r)(404);var C,D,F,E=function(){F&&C&&b.aj("GET",C,F)},G,H=false,O={cancel:function(){if(!H){H=true;F&&C&&b.aj("DELETE",C,{headers:{"X-cctext-token":$cc.session.token}})}},
stopMonitor:function(){F=undefined},crop:function(Q){if(G=="cropping")if(Q)if(F&&!H){G="processing";b.aj("PUT",C,{headers:{"X-cctext-token":$cc.session.token},data:Q});E.delay(2E3)}}};u.post("avatar",{fileName:o.fileName},function(Q,ba){if(H){Q.target&&b.aj("DELETE",Q.target,{headers:{"X-cctext-token":$cc.session.token}});return(z.onCancel||r)()}if(ba!=200)return(z.onError||r)(ba);if(!Q.target||!Q.preview)return(z.onError||r)(500);if((z.onStart||r)(Q.target)===false)return(z.onCancel||r)();C=Q.target;
D=Q.preview;G="uploading";var T={uploading:function(Z){(z.onProgress||r)(Z.read/Z.total)},processing:function(){if(G=="uploading"){(z.onProgress||r)(1);(z.onUploaded||r)(D);return"cropping"}},finish:function(Z){O.stopMonitor();if(G!="finish")if(Z.message){Z=b.parseJSON(Z.message);(z.onError||r)(Z?Z.code:500)}else if(G=="processing"){y.treeInvalidate("history");u.get("users",x._userSince(),function(ma,ua){ma&&ua==200&&x._cacheUsers(ma._users,ma.time);(z.onFinish||r)()})}},cancel:function(){O.stopMonitor();
(z.onCancel||r)()},error:function(Z){O.stopMonitor();(z.onError||r)(Z.status=="sizelimited"?413:ba==200?500:ba)}};F={headers:{"X-cctext-token":$cc.session.token},complete:function(Z,ma){if(F){if(ma!=200)return(z.onError||r)(ma);if(!Z.status)return(z.onError||r)(500);G=(T[Z.status]||T.error)(Z)||Z.status;F&&G!="cropping"&&E.delay(2E3)}}};(z.onProgress||r)(0);E.delay(2E3)});return O};x.func("addUser",j).func("removeUsers",e).func("listUsers",q).func("checkUsers",c).func("loadUser",d).func("modifyProfile",
f).func("changeStatus",k).func("saveNotificationSettings",l).func("loadNotificationSettings",v)})(jQuery);
(function(b){function j(o,z){!o||!o.name?z(null,400):x.post("workspace",y._workspaceSince({name:o.name}),function(C,D){if(D==200){y._cacheWorkspaces(C._workspaces,C.time);B.treeInvalidate("workspaces/lists");B.treeInvalidate("history");z({workspace:y.getWorkspace({id:C.workspace.id})},D)}else z(C,D)})}function e(o,z){if(!x._missing(o,z,"name"))if(!o.refresh&&y._workspaceValid()){var C=y.getWorkspace(o);z(C?{workspace:C}:null,C&&!C.status?200:404)}else x.get("workspaces",y._workspaceSince(),function(D,
F){if(F==200){D&&y._cacheWorkspaces(D._workspaces,D.time);D=y.getWorkspace(o);z(D?{workspace:D}:null,D&&!D.status?200:404)}else z(null,F)})}function q(o,z){o.p={};o.r={};var C=B.sub("workspaces/byId"),D=B.sub("workspaces/lists");if(o.user){o.p.member=o.user.toLowerCase();o.r.user=y.getUser(o.user);o.key="member."+o.user}else o.key="all";var F=D.data(o.key);if(F){F=b.extend({workspaces:b.map(F,function(E){return p(E,C)})},o.r);if(!o.refresh&&D.valid(o.key)&&y._workspaceValid()){z(F,200);return}z(F,
250)}x.get("workspaces/list",y._workspaceSince(o.p),function(E,G){C=B.sub("workspaces/byId");D=B.sub("workspaces/lists");if(E&&(G==200||G==404)){y._cacheWorkspaces(E._workspaces,E.time);D.put(o.key,E.list||[],E.time);E.info&&b.each(E.info,function(H,O){C.sub(O.id).put("info",O,E.time).put("members/"+$cc.session.email,O.perm,E.time)})}z(b.extend({workspaces:b.map(D.data(o.key)||[],function(H){return p(H,C)})},o.r),D.has(o.key)?200:G==200?404:G)})}function p(o,z){var C=y.getWorkspace({workspaceId:o});
if(o=z.sub(o).data("info")){b.extend(C,o);if(C.managers)C.managers=b.map(C.managers,function(D){return y.getUser(D)})}l(C,"unaccessible");return C}function c(o,z){if(!o||!o.name){m(false);z(null,400)}else{var C=y.getWorkspace(o);if(!o.refresh&&y._workspaceValid())if(C)if(C.id==y._workspaceId()){m(false);z({workspace:C},200)}else{o.loader=m(true);o.timestamp=g();k(C,o,z)}else{m(false);z(null,404)}else{o.loader=m(true);o.timestamp=g();x.get("workspaces",y._workspaceSince(),function(D,F){if(o.timestamp!==
g())o.loader===m()&&m(false);else{D&&F==200&&y._cacheWorkspaces(D._workspaces,D.time);if(C=y.getWorkspace(o))k(C,o,z);else{m(false);z(null,404)}}})}}}function d(o,z){var C=y.getWorkspace(o.workspace||o.name);if(!C)return z(null,404);if(C.owner.email!==$cc.session.email&&!$cc.session.admin)return z(null,403);x.post("workspace/"+C.id+"/del",y._workspaceSince(),function(D,F){if(F==200){B.treeInvalidate("history");B.treeInvalidate("workspaces/lists");D&&y._cacheWorkspaces(D._workspaces,D.time);z({workspace:y.getWorkspace({workspaceId:C.id})},
200)}else z(null,F)})}function f(o,z){if(y.isViewer())return z(null,403);if(!x._missing(o,z,"newName")){var C=y.getWorkspace(o.workspace||o.name);if(!C)return z(null,404);if(C.name===o.newName)return z({workspace:C,oldName:C.name},204);x.post("workspace/"+C.id+"/rename",y._workspaceSince({newName:o.newName}),function(D,F){if(F==200){B.treeInvalidate("history");B.treeInvalidate("workspaces/lists");D&&y._cacheWorkspaces(D._workspaces,D.time);z({workspace:y.getWorkspace({name:o.newName}),oldName:C.name},
200)}else z(null,F)})}}function k(o,z,C){if(o&&o.status){m(false);C({workspace:o},200)}else x.get("workspace/"+o.id,y._userSince(y._workspaceSince()),function(D,F){if(z.timestamp!==g())z.loader===m()&&m(false);else{B.del("topics");B.del("tags");B.del("files");if(D&&F==200){y._cacheUsers(D._users,D.time);y._cacheWorkspaces(D._workspaces,D.time);y._cacheTopics(D._topics,D.time);y._cacheFiles(D._files,D.time);D.stars&&b.each(D.stars,function(E,G){B.sub("topics/byId").sub(G).put("starred",true,D.time)});
B.put("workspaces/byId/"+o.id+"/members/"+$cc.session.email,D.perm,D.time)}y._workspaceId(o.id);m(false);C({workspace:o},F);z.loader.trigger("loaded",null,{workspace:o},F)}})}function m(o){if(o===true){o=b.eventDispatcher({});B.put("workspaces/current/loader",o);return o}else if(o===false)B.del("workspaces/current/loader");else return B.data("workspaces/current/loader")}function g(){return B.time("workspaces/current/loader")}function h(){return B.has("workspaces/current/loader")}function n(o,z){if(o&&
typeof o=="object"){o.perm=n(o.permission)||z;return o}return o=="viewer"||o==3?3:o=="collaborator"||o==2?2:o=="manager"||o==1?1:o=="unaccessible"||o==-1?-1:0}function l(o,z){if(o&&typeof o=="object"){o.permission=l(o.perm)||z;return o}return o==3||o=="viewer"?"viewer":o==2||o=="collaborator"?"collaborator":o==1||o=="manager"?"manager":o==-1||o=="unaccessible"?"unaccessible":""}function v(o,z){if(!x._notAdmin(o,z))if(!x._missing(o,z,"users")){if(!o.users.length)return z(null,200);var C=[],D,F;b.each(o.users,
function(E,G){if(D=y.getUser(b.extend(b.part(G,"email screenName"),{_default:""}))){D={email:D.email};if(F=y.getWorkspace(b.extend(b.part(G,"workspace"),{_default:""}))){D.workspaceId=F.id;D.perm=n(G.permission);D.perm&&C.push(D)}}});if(!C.length)return z({message:"Invalid users"},400);x.post("workspaces/permission",y._userSince(y._workspaceSince({users:C})),function(E,G){if(G==200){if(E){y._cacheUsers(E._users,E.time);y._cacheWorkspaces(E._workspaces,E.time)}var H,O;b.each(C,function(Q,ba){(H=B.data("workspaces/byId/"+
ba.workspaceId+"/info"))&&H.members++;O=B.sub("workspaces/byId/"+ba.workspaceId+"/members");ba.perm==-1?O.del(ba.email):O.put(ba.email,ba.perm,E.time);B.treeInvalidate("users/list/workspace/"+ba.workspaceId)});B.treeInvalidate("history");z(null,200)}else z(E,G)})}}function w(o,z){x._missing(o,z,"users/user")||y._onWorkspaceLoaded(z,function(C){if(!y.isManager())return z(null,403);var D=[],F;if(o.permission){F=n(o.permission);if(!F)return z({invalid:"permission"},400);D=b.map(o.users||[o.user],function(E){return typeof E==
"string"&&E!=$cc.session.email?{email:E,perm:F}:undefined})}else D=b.map(o.users||[o.user],function(E){if(E&&E.email&&E.permission)if(F=n(E.permission))return{email:E.email,perm:F}});if(!D.length)return z({notFound:"valid user"},400);x.post("workspace/"+C.id+"/permission",y._userSince(y._workspaceSince({users:D})),function(E,G){if(G==200){if(E){y._cacheWorkspaces(E._workspaces,E.time);y._cacheUsers(E._users,E.time)}if(G=B.data("workspaces/byId/"+C.id+"/info"))G.members=E.members;var H=B.sub("workspaces/byId/"+
C.id+"/members");b.each(D,function(O,Q){H.put(Q.email,Q.perm,E.time)});B.treeInvalidate("history");B.treeInvalidate("users/lists/workspace/"+C.id);z(null,200)}else z(E,G)})})}function u(o,z){if(!x._missing(o,z,"users")){if(!o.users.length)return z({users:[]},200);y._onWorkspaceLoaded(z,function(C){var D=typeof o.users[0]=="object",F=D?o.users:b.map(o.users,function(O){return{email:O}}),E=B.sub("workspaces/byId/"+C.id+"/members"),G={users:[]},H=[];b.each(F,function(O,Q){if(Q&&Q.email)if(E.valid(Q.email))Q.permission=
l(E.data(Q.email));else{G.users.push(Q.email);H.push(O)}});if(!G.users.length)return z({users:D?F:b.map(F,function(O){return b.extend(y.getUser(O.email),b.part(O,"permission"))})},200);x.get("workspace/"+C.id+"/permission",y._userSince(y._workspaceSince(b.extend(G,{users:b.toJSON(G.users)}))),function(O,Q){if(!O||Q!=200)return z(O,Q);y._cacheUsers(O._users,O.time);y._cacheWorkspaces(O._workspaces,O.time);E=B.sub("workspaces/byId/"+C.id+"/members");b.each(O.perms,function(ba,T){(F[H[ba]]||{}).permission=
l(T);E.put(G.users[ba],T,O.time)});z({users:D?F:b.map(F,function(ba){return b.extend(y.getUser(ba.email),b.part(ba,"permission"))})},200)})})}}var x=$cc.core,y=$cc.api,B=y._cache,r=y.toKey,A=b.bourbon.N;y.getWorkspace=function(o){if(o=y._getWorkspace(o)){o=b.extend({},o);if(o.status==1)o.deleted=true;else if(o.status==2)o.moved=true;if(o.moved&&o.movedTo)o.movedTo=y.getWorkspace({workspaceId:o.movedTo});o.owner=y.getUser(o.owner)||{email:o.owner}}return o};y._getWorkspace=function(o){o=typeof o==
"string"?{name:o}:o||{_default:y._workspaceId()};if((o.workspace||o.name)&&!o.workspaceId&&!o.id)o.workspaceId=B.sub("workspaces/name2id").data(r(o.workspace||o.name));var z=B.sub("workspaces/byId");return z.data(o.workspaceId||o.id)||z.data(o._default)};y._cacheWorkspaces=function(o,z){if(o){z=z||(new Date).getTime();var C=B.sub("workspaces/byId"),D=B.sub("workspaces/name2id"),F,E={};b.each(o,function(G,H){F=r(H.name);if(!H.status||H.status==0){D.put(F,H.id,z,-1);E[F]=true}else{H.status==1&&C.del(H.id);
E[F]||D.put(F,H.id,z,-1)}C.put(H.id,H,z,-1)});B.put("workspaces/since",z,z,-1)}};y._workspaceSince=function(o){return b.extend(o||{},{_workspaceSince:B.sub("workspaces/since").time()})};y._workspaceValid=function(){return B.sub("workspaces/since").valid()};y._workspaceId=function(o){if(o)B.put("workspaces/current/id",o);else if(o===null)B.del("workspaces/current/id");else return B.data("workspaces/current/id")};y.isManager=function(){return B.data("workspaces/byId/"+y._workspaceId()+"/members/"+$cc.session.email)==
1};y.isCollaborator=function(){return B.data("workspaces/byId/"+y._workspaceId()+"/members/"+$cc.session.email)==2};y.isViewer=function(){return B.data("workspaces/byId/"+y._workspaceId()+"/members/"+$cc.session.email)==3};y._onWorkspaceLoaded=function(o,z,C){if(h()){m().one("loaded",function(D,F){if(F==200)(z||A)(D.workspace);else if(F!=-1)(o||A)(null,F)});(C||A)()}else y._workspaceId()?(z||A)(y.getWorkspace()):(o||A)(null,400)};y._toPermStr=l;y.func("createWorkspace",j).func("checkWorkspace",e).func("listWorkspaces",
q).func("loadWorkspace",c).func("deleteWorkspace",d).func("renameWorkspace",f).func("changeWorkspacePermission",w).func("addToWorkspaces",v).func("listWorkspacePermissions",u)})(jQuery);
(function(b){function j(y,B){if(n.isViewer())return B(null,403);h._missing(y,B,"title")||n._onWorkspaceLoaded(B,function(r){var A=y.template?(n.getTopic(y.template)||{}).id:null;h.post("topic",n._topicSince(b.extend({workspaceId:r.id},b.part(y,"title,tags"),A?{templateId:A}:{})),function(o,z){if(o&&z==200){n._cacheTopics(o._topics,o.time);l.sub("topics").treeInvalidate("lists");(o=l.sub("workspaces/byId").sub(r.id).data("info"))&&o.topics++;l.treeInvalidate("history");B({topic:n.getTopic({workspaceId:r.id,
title:y.title})},200)}else B(null,z)})})}function e(y,B){if(n.isViewer())return B(null,403);h._missing(y,B,"newTitle")||n._onWorkspaceLoaded(B,function(){n._receiveTopic(y,B,function(r){if(y.newTitle===r.title)return B({topic:r,oldTitle:r.title},204);h.post("topic/"+r.id+"/rename",n._topicSince({newTitle:y.newTitle}),function(A,o){if(o==200){A&&n._cacheTopics(A._topics,A.time);l.sub("topics").treeInvalidate("lists");l.treeInvalidate("history");A=r.title;r=n.getTopic(y.title?{workspaceId:r.workspaceId,
title:y.newTitle}:{id:r.id});B({topic:r,oldTitle:A},200)}else o==204?B({topic:r,oldTitle:r.title},204):B(A,o)})})})}function q(y,B){if(n.isViewer())return B(null,403);n._onWorkspaceLoaded(B,function(r){n._receiveTopic(y,B,function(A){y.workspaceId=r.id;h.post("topic/"+A.id+"/del",n._topicSince(),function(o,z){if(z==200){o&&n._cacheTopics(o._topics,o.time);(o=l.sub("workspaces/byId").sub(y.workspaceId).data("info"))&&o.topics--;l.sub("topics").treeInvalidate("lists");l.treeInvalidate("history");B({topic:A},
200)}else B(null,z)})})})}function p(y,B){n._onWorkspaceLoaded(B,function(r){var A=l.sub("topics").sub("lists");y.p={workspaceId:r.id};y.r={workspace:r};if(y.filter){r=x[y.filter];if(!r){B(null,400);return}y.key=w(r.key)(y);if(!y.key){B(null,400);return}w(r.p||function(o){o.filter=y.filter})(y.p);w(r.r||function(o){o.filter=y.filter})(y.r)}else if(y.tag){y.r.tag=y.p.tag=y.tag;y.key="tag."+y.tag}else if(y.linkTo){y.p.linkTo=v(y.linkTo);y.r.linkTo=n.getTopic(y.linkTo);y.key="linkTo."+v(y.linkTo)}else y.key=
"workspace";if(y.size){y.key=y.key+"."+y.size;y.p.size=y.size}if(r=A.data(y.key)){r=b.extend({topics:b.map(r||[],function(o){return n.getTopic({topicId:o})})},y.r);if(!y.refresh&&A.valid(y.key)){B(r,200);return}B(r,250)}if(!y.refresh&&n._topicValid()&&y.key.substr(0,9)=="workspace"){r=b.grep(l.sub("topics/byId").values(),function(o){return!o.status||o.status==0});if(y.size)r.size=Math.min(r.length,y.size);A.put(y.key,b.map(r,function(o){return o.id}),n._topicSince());r=b.extend({topics:b.map(r,function(o){return n.getTopic({topicId:o.id})})},
y.r);B(r,200)}else h.get("topics/list",n._topicSince(n._userSince(y.p)),function(o,z){if(o&&z==200){n._cacheUsers(o._users,o.time);n._cacheTopics(o._topics,o.time);l.sub("topics").sub("lists").put(y.key,o.list||[],o.time)}B(b.extend({topics:b.map(l.sub("topics").sub("lists").data(y.key)||[],function(C){return n.getTopic({topicId:C})})},y.r),A.has(y.key)?200:z)})})}function c(y,B){if((!y.titles||!y.titles.length)&&!y.title&&typeof y!="string")return B(null,400);n._onWorkspaceLoaded(B,function(r){if(typeof y==
"string")y={titles:[y]};else if(y.title)(y.titles=y.titles||[]).push(y.title);var A={topics:[],notFound:{workspace:r,titles:[]}},o=l.sub("topics/title2id");if(y.refresh)h.get("topics",n._topicSince({workspaceId:r.id}),function(z,C){z&&C==200&&n._cacheTopics(z._topics,z.time);o=l.sub("topics/title2id");b.each(y.titles,function(D,F){o.has(v(F))?A.topics.push(n.getTopic(F)):A.notFound.titles.push(F)});if(!A.notFound.titles.length)A.notFound=false;B(A,C)});else{b.each(y.titles,function(z,C){o.has(v(C))?
A.topics.push(n.getTopic(C)):A.notFound.titles.push(C)});if(!A.notFound.titles.length)A.notFound=false;B(A,200)}})}function d(y,B){if(y.topicId){h[y.starred?"del":"post"]("topic/"+y.topicId+"/star");return B({topic:{id:y.topicId},starred:y.starred},200)}n._onWorkspaceLoaded(B,function(){n._receiveTopic(y,B,function(r){var A=l.sub("topics/byId/"+r.id),o=y.starred||y.starred===false?y.starred:A.data("starred");h[o?"del":"post"]("topic/"+r.id+"/star");A.put("starred",!o);l.treeInvalidate("topics/lists/starred");
l.treeInvalidate("topics/lists/allstarred");l.treeInvalidate("users/lists/starred");l.treeInvalidate("history");B({topic:r,starred:!o},200)})})}function f(y,B){if(!h._missing(y,B,"users")){if(!y.users.length)return B(null,200);var r=[],A;b.each(y.users,function(o,z){if(z&&z.email){r.push({email:z.email,star:z.star||false});if(z.email==$cc.session.email)A=z.star||false}});if(!r.length)return B(null,400);n._receiveTopic(y,B,function(o){h.post("topic/"+o.id+"/star",{users:r},function(z,C){if(C==200){A!==
undefined&&l.put("topics/byId/"+o.id+"/starred",A,z.time);l.treeInvalidate("topics/lists/starred");l.treeInvalidate("topics/lists/allstarred");l.treeInvalidate("users/lists/starred")}B(z,C)})})}}function k(y,B){var r=function(z,C){if(z&&(C==200||C==250))z={topics:b.map(z,function(D){return b.extend({},D,{owner:n.getUser(D.owner)||{email:D.owner},workspace:n.getWorkspace(D)})})};B(z,C)},A=l.sub("topics/lists"),o=A.data("allstarred");if(o){if(!y.refresh&&A.valid("allstarred"))return r(o,200);r(o,250)}h.get("topics/list/starred",
n._workspaceSince(),function(z,C){if(C==404||z&&C==200){z&&C==200&&n._cacheWorkspaces(z._workspaces,z.time);o=z?z.list||[]:[];A.put("allstarred",o,z.time);r(o,200)}else r(null,C)})}function m(y,B){if(!h._missing(y,B,"filter/workspace")){var r={};if(y.filter)if(y.filter=="starred"){r.filter=y.filter;g(r,y,B)}else if(y.filter=="workspace")n._onWorkspaceLoaded(B,function(o){r.workspaceId=o.id;g(r,y,B)});else return B({invalid:"filter"},400);else if(y.workspace){var A=n.getWorkspace(y.workspace);if(!A)return _callback({notFound:"workspace="+
y.workspace},400);r.workspaceId=A.id;g(r,y,B)}else return B(null,400)}}function g(y,B,r){var A=function(D,F){D&&(F==200||F==250)?r({topics:b.map(D,function(E){return b.extend({},E,{owner:n.getUser(E.owner)||{email:E.owner},updatedBy:n.getUser(E.updatedBy)||{email:E.updatedBy},workspace:n.getWorkspace(E)})})},F):r(null,F)};y.size=B.size||5;var o=B.filter+"-"+y.size,z=l.sub("topics/lists/recent"),C=z.data(o);if(C){if(!B.refresh&&z.valid(o))return A(C,200);A(C,250)}h.get("topics/list/recent",n._workspaceSince(y),
function(D,F){if(F==404||D&&F==200){D&&F==200&&n._cacheWorkspaces(D._workspaces,D.time);C=D?D.list||[]:[];z.put(o,C,D.time);A(C,200)}else A(null,F)})}var h=$cc.core,n=$cc.api,l=n._cache,v=n.toKey,w=b.bourbon.F,u=b.bourbon.N;n.starred=function(y){y=n.getTopic(y);if(!y)return false;return!!l.data("topics/byId/"+y.id+"/starred")};n.getTopic=function(y){y=typeof y=="string"?{title:y}:y||{_default:n._topicId()};if((y.topic||y.title)&&!y.topicId&&!y.id)y.topicId=l.sub("topics/title2id").data(v(y.title));
var B=l.sub("topics/byId");if(y=B.data(y.topicId||y.id)||B.data(y._default)){y=b.extend({},y);if(y.status==1)y.deleted=true;else if(y.status==2)y.moved=true;if(y.moved&&y.movedTo)y.movedTo=n.getTopic({topicId:y.movedTo});y.owner=n.getUser(y.owner)||{email:y.owner};y.workspace=n.getWorkspace({id:y.workspaceId})||{id:y.workspaceId}}return y};n._cacheTopics=function(y,B){if(y){B=B||(new Date).getTime();var r=l.sub("topics/byId"),A=l.sub("topics/title2id"),o,z={};b.each(y,function(C,D){o=v(D.title);if(!D.status||
D.status==0){A.put(o,D.id,B,-1);z[D.workspaceId+" "+o]=true}else{D.status==1&&r.del(D.id);z[D.workspaceId+" "+o]||A.put(o,D.id,B,-1)}r.put(D.id,D,B,-1)});l.put("topics/since",B,B,-1)}};n._topicSince=function(y){return b.extend(y||{},{_topicSince:l.time("topics/since")})};n._topicValid=function(){return l.valid("topics/since")};var x={starred:{key:"starred"},recent:{key:"recent"},workspace:{key:function(){return n._workspaceId()?"workspace":null},p:u,r:u},linkTo:{key:function(){return n._topicId()?
"linkTo."+v(n.getTopic().title):null},p:function(y){y.linkTo=n.getTopic().title},r:function(y){y.linkTo=n.getTopic()}}};n.func("createTopic",j).func("renameTopic",e).func("deleteTopic",q).func("listTopics",p).func("checkTopics",c).func("starTopic",d).func("listStarredTopics",k).func("listRecentTopics",m).func("forceStarTopic",f)})(jQuery);
(function(b){function j(l,v){!l||!l.title?v(null,400):g._onWorkspaceLoaded(function(w,u){l.loader===c()&&c(false);v(w,u)},function(){if(l.timestamp&&l.timestamp!==d())l.loader===c()&&c(false);else{var w=g.getTopic(l);if(!l.refresh&&g._topicValid()){w&&!w.deleted&&g._topicId(w.id);c(false);v(w?{topic:w}:null,w?200:404)}else{if(!l.loader){l.loader=c(true);l.timestamp=d()}m.get("topics",g._fileSince(g._topicSince(g._workspaceSince(g._userSince({workspaceId:g._workspaceId()})))),function(u,x){if(l.timestamp!==
d())l.loader===c()&&c(false);else{if(u&&x==200){g._cacheUsers(u._users,u.time);g._cacheWorkspaces(u._workspaces,u.time);g._cacheTopics(u._topics,u.time);g._cacheFiles(u._files,u.time)}if(w=g.getTopic(l)){if(u=h.sub("topics/byId/"+g._topicId())){u.treeInvalidate("revs");u.treeInvalidate("contents")}g._topicId(w.id)}c(false);x={data:w?{topic:w}:null,code:w?200:x==200?404:x};v(x.data,x.code);l.loader.trigger("loaded",null,x.data,x.code)}})}}},function(){l.loader=c(true);l.timestamp=d()})}function e(l,
v){g._onTopicLoaded(v,function(w){function u(){if(!B.finished)if(B.code&&B.code!=200){B.finished=true;if(l.title&&l.title!=w.title)B.data.oldTitle=l.title;v(B.data,B.code)}else if(B.data.rev&&(!l.rev2||B.data.rev2)){B.finished=true;if(l.title&&l.title!=w.title)B.data.oldTitle=l.title;v(B.data,B.code||200)}}l.rev=l.rev||0;var x=h.sub("topics/byId/"+w.id+"/revs"),y=h.sub("topics/byId/"+w.id+"/contents"),B={data:{topic:w}};if(!l.refresh){if(y.valid(l.rev)){B.data.rev=g.getTopicRev({topic:w,rev:l.rev,
revs:x});B.data.content=g.getTopicContent({topic:w,rev:l.rev,contents:y})||""}if(l.rev2){if(l.rev2===l.rev&&B.data.rev){B.data.rev2=B.data.rev;B.data.content2=B.data.content}else if(y.valid(l.rev2)){B.data.rev2=g.getTopicRev({topic:w,rev:l.rev2,revs:x});B.data.content2=g.getTopicContent({topic:w,rev:l.rev2,contents:y})||""}if(B.data.rev&&B.data.rev2){v(B.data,200);return}}else if(B.data.rev){v(B.data,200);return}}B.data.rev||m.get("topic/"+w.id+"/content",g._topicSince(g._userSince(l.rev?{rev:l.rev}:
{})),function(r,A){if(r&&A==200){g._cacheTopics(r._topics,r.time);g._cacheUsers(r._users,r.time);w=g.getTopic({topicId:w.id});x=h.sub("topics/byId/"+w.id+"/revs");y=h.sub("topics/byId/"+w.id+"/contents");x.put(l.rev,r.rev,r.time);y.put(l.rev,r.content,r.time);if(l.rev!==r.rev.rev){x.put(r.rev.rev,r.rev,r.time);y.put(r.rev.rev,r.content,r.time)}l.rev&&r.latest&&x.put("0",r.latest,r.time);B.data.rev=g.getTopicRev({topic:w,rev:l.rev,revs:x});B.data.content=g.getTopicContent({topic:w,rev:l.rev,contents:y})||
"";if(l.rev===l.rev2){B.data.rev2=B.data.rev;B.data.content2=B.data.content}}else B.code=B.code||A;u()});if(l.rev2&&l.rev2!==l.rev&&!B.data.rev2)m.get("topic/"+w.id+"/content",b.extend({rev:l.rev2},B.data.rev?g._topicSince(g._userSince()):{}),function(r,A){if(r&&A==200){g._cacheTopics(r._topics,r.time);g._cacheUsers(r._users,r.time);w=g.getTopic({topicId:w.id});x=h.sub("topics/byId").sub(w.id).sub("revs");y=h.sub("topics/byId").sub(w.id).sub("contents");x.put(l.rev2,r.rev,r.time);y.put(l.rev2,r.content,
r.time);if(l.rev2!==r.rev.rev){x.put(r.rev.rev,r.rev,r.time);y.put(r.rev.rev,r.content,r.time)}r.latest&&x.put("0",r.latest,r.time);B.data.rev2=g.getTopicRev({topic:w,rev:l.rev2,revs:x});B.data.content2=g.getTopicContent({topic:w,rev:l.rev2,contents:y})||""}else B.code=B.code||A;u()})})}function q(l,v){if(g.isViewer())return v(null,403);m._missing(l,v,"*content")||g._onTopicLoaded(v,function(w){var u=h.sub("topics/byId").sub(w.id).sub("revs"),x=h.sub("topics/byId").sub(w.id).sub("contents");if(!l.base)l.base=
(u.data(0)||{}).rev;if(l.base&&x.has(l.base)){l.baseContent=x.data(l.base);if(l.baseContent===l.content){v({topic:w,rev:g.getTopicRev({topic:w,rev:0,revs:u})},200);return}b.cctext.diff.patch(l.baseContent,l.content,l)}m.put("topic/"+w.id+"/content",g._topicSince(l.base&&l.patch?{base:l.base,patch:l.patch,diff:l.diff,links:k(l.content)}:{content:l.content}),function(y,B){if(y&&B==200){g._cacheTopics(y._topics,y.time);w=g.getTopic({topicId:w.id});B=typeof y.content=="string"?y.content:y.patch?b.cctext.diff.merge2(l.baseContent,
l.content,y.patch):undefined;u=h.sub("topics/byId").sub(w.id).sub("revs");x=h.sub("topics/byId").sub(w.id).sub("contents");u.put(0,y.rev,y.time);x.put(0,B||l.content,y.time);u.put(y.rev.rev,y.rev,y.time);x.put(y.rev.rev,B||l.content,y.time);u.invalidate("list");h.treeInvalidate("history");v(b.extend({topic:w,rev:g.getTopicRev({topic:w,rev:y.rev.rev,revs:u}),content:B},l.title&&l.title!=w.title?{oldTitle:l.title}:{}),200)}else v(null,B)})})}function p(l,v){g._receiveTopic(l,v,function(w){var u=h.sub("topics/byId").sub(w.id).sub("revs"),
x=l.fixedSize?"list-size-"+l.fixedSize:"list",y=u.data(x),B=l.fixedSize||l.size||0,r;if(y){r=b.map(y,function(o){return g.getTopicRev({topic:w,rev:o,revs:u})});if(B)r.length=Math.min(B,r.length);var A={topic:w,revs:r};if(!l.refresh&&u.valid(x))return v(A,200);v(A,250)}m.get("topic/"+w.id+"/revs",g._userSince(l.fixedSize?{size:l.fixedSize}:{since:(u.time("list")||0)+1}),function(o,z){if(o&&z==200){g._cacheUsers(o._users,o.time);w=g.getTopic({topicId:w.id});u=h.sub("topics/byId").sub(w.id).sub("revs");
y=l.fixedSize?[]:y||[];r=l.fixedSize?[]:r||[];b.each(o.revs||[],function(C,D){u.put(D.rev,D,o.time);if(l.fixedSize){y.push(D.rev);r.push(g.getTopicRev({topic:w,rev:D.rev,revs:u}))}else{y.splice(C,0,D.rev);r.splice(C,0,g.getTopicRev({topic:w,rev:D.rev,revs:u}))}});u.put(x,y,o.time);if(B)r.length=Math.min(B,r.length);v(b.extend({topic:w,revs:r},l.title&&l.title!=w.title?{oldTitle:l.title}:{}),200)}else v(null,z==200?500:z)})})}function c(l){if(l===true){l=b.eventDispatcher({});h.put("topics/current/loader",
l);return l}else if(l===false)h.del("topics/current/loader");else return h.data("topics/current/loader")}function d(){return h.time("topics/current/loader")}function f(){return h.has("topics/current/loader")}function k(l){l=(l||"").replace(/\t/g,"    ");var v=[],w=function(u){l=l.replace(u,"")};w(/^\x7b{3}(([^\x7d]|\x7d(?!\x7d\x7d))+)\x7d{3}/gm);w(/`([^`\n\r]+)`/g);l.replace(/\[\[(([^\]\n]|\](?!\]))*)\]\]/g,function(u,x){u=x.indexOf(n);v.push(u<0?x:x.substring(0,u))});return v}var m=$cc.core,g=$cc.api,
h=g._cache;g._topicId=function(l){if(l)h.put("topics/current/id",l);else if(l===null)h.del("topics/current/id");else return h.data("topics/current/id")};g._onTopicLoaded=function(l,v,w){if(f()){c().one("loaded",function(u,x){if(x==200)(v||N)(u.topic);else if(x!=-1)(l||N)(null,x)});(w||N)()}else g._topicId()?(v||N)(g.getTopic()):(l||N)(null,400)};g._receiveTopic=function(l,v,w){if(l.title||l.topicId||l.id)(l=g.getTopic(l))?w(l):v({notFound:"topic"},404);else g._onTopicLoaded(v,w)};g.getTopicRev=function(l){var v=
typeof l=="number"?l:(l||{}).rev||0,w=(l||{}).topic||g.getTopic(typeof l=="number"?undefined:l);if(w)if(l=l&&l.revs?l.revs.data(v):h.sub("topics/byId").sub(w.id).sub("revs").data(v)){l=b.extend({topic:w},l);l.revCreator=g.getUser({email:l.revCreator})||{email:revCreator};return l}};g.getTopicContent=function(l){var v=typeof l=="number"?l:(l||{}).rev||0,w=(l||{}).topic||g.getTopic(typeof l=="number"?undefined:l);if(w)return l&&l.contents?l.contents.data(v):h.sub("topics/byId").sub(w.id).sub("contents").data(v)};
var n="|";g.func("loadTopic",j).func("loadContent",e).func("saveContent",q).func("listTopicRevs",p)})(jQuery);
(function(b){function j(g,h){var n={},l={},v;if(g.filter)if(g.filter=="topic"){f._onTopicLoaded(h,function(){if(f._topicId()){v="topic."+f._topicId();n.topicId=f._topicId();l.topic=f.getTopic();g.listKey="byTopic";e(n,l,v,g,h)}else h(null,400)});return}else{if(g.filter!="workspace"){h(null,400);return}}else if(g.title){l.topic=f.getTopic(g);if(!l.topic){h(null,400);return}n.topicId=l.topic.id;v="topic."+l.topic.id;g.listKey="byTopic";e(n,l,v,g,h);return}f._onWorkspaceLoaded(h,function(){if(f._workspaceId()){v=
"workspace";n.workspaceId=f._workspaceId();l.workspace=f.getWorkspace();g.listKey="byWorkspace";e(n,l,v,g,h)}else h(null,400)})}function e(g,h,n,l,v){var w=k.sub("tags").sub(l.listKey),u=w.data(n);if(!l.refresh&&w.valid(n))v(b.extend({tags:u},h),200);else{u&&v(u,250);d.get("tags/list",f._topicSince(g),function(x,y){x&&f._cacheTopics(x._topics,x.time);w=k.sub("tags").sub(l.listKey);if(x&&y==200)w.put(n,((x||{}).tags||[]).sort(),x?x.time:undefined);v(b.extend({tags:w.data(n)||[]},h),y)})}}function q(g,
h){if(f.isViewer())return h(null,403);d._missing(g,h,"tags")||f._receiveTopic(g,h,function(n){g.tags=b.unique2(b.map(g.tags,function(u){return b.trim(m(u))||undefined}));var l={},v=b.map(g.tags,function(u){return u}),w="topic."+n.id;b.each(k.sub("tags").sub("byTopic").data(w)||[],function(u,x){for(var y=u=0;y<v.length;y++){if(u)v[y-u]=v[y];x==v[y]&&u++}if(u)v.length-=u;else(l.remove=l.remove||[]).push(x)});if(v.length)l.add=v;!l.add&&!l.remove?h({topic:n,tags:g.tags},200):d.post("topic/"+n.id+"/tags",
l,function(u,x){if(x==200){k.treeInvalidate("history");k.sub("tags").treeInvalidate("byWorkspace");x=k.sub("tags").sub("byTopic");var y=k.sub("topics").sub("lists");b.each(x.data(w)||[],function(B,r){y.treeInvalidate("tag."+r)});u?x.put(w,(u.tags||g.tags).sort(),u.time):x.put(w,g.tags.sort());b.each(x.data(w)||[],function(B,r){y.treeInvalidate("tag."+r)});h({topic:n,tags:x.data(w)||[]},200)}else h(null,x)})})}function p(g,h){if(f.isViewer())return h(null,403);if(!d._missing(g,h,"tag")){g.tag=b.trim(m(g.tag));
f._receiveTopic(g,h,function(n){var l=k.sub("tags").sub("byTopic"),v="topic."+n.id;if(l.valid(v)){var w=l.data(v)||[];if(b.inArray(g.tag,w)>=0){h({topic:n,tags:w},200);return}}d.post("topic/"+n.id+"/tags",{add:[g.tag]},function(u,x){if(x==200){k.treeInvalidate("history");k.sub("topics").sub("lists").treeInvalidate("tag."+g.tag);k.sub("tags").treeInvalidate("byWorkspace");l=k.sub("tags").sub("byTopic");if(u&&u.tags)l.put(v,u.tags.sort(),u.time);else{u=l.data(v)||[];u.push(g.tag);l.update(v,u.sort())}h({topic:n,
tags:l.data(v)||[]},200)}else h(null,x)})})}}function c(g,h){if(f.isViewer())return h(null,403);if(!d._missing(g,h,"tag")){g.tag=b.trim(m(g.tag));f._receiveTopic(g,h,function(n){var l=k.sub("tags").sub("byTopic"),v="topic."+n.id;if(l.valid(v)){var w=l.data(v)||[];if(b.inArray(g.tag,w)<0){h({topic:n,tags:w},200);return}}d.post("topic/"+n.id+"/tags",{remove:[g.tag]},function(u,x){if(x==200){k.treeInvalidate("history");k.sub("topics").sub("lists").treeInvalidate("tag."+g.tag);k.sub("tags").treeInvalidate("byWorkspace");
l=k.sub("tags").sub("byTopic");if(u&&u.tags)l.put(v,u.tags.sort(),u.time);else{u=l.data(v)||[];x=b.inArray(g.tag,u);x>=0&&u.splice(x,1);l.update(v,u)}h({topic:n,tags:l.data(v)||[]},200)}else h(null,x)})})}}var d=$cc.core,f=$cc.api,k=f._cache,m=f.toKey;f.func("listTags",j).func("modifyTags",q).func("addTag",p).func("removeTag",c)})(jQuery);
(function(b){function j(r,A){r.p={};r.r={};if(r.filter)r.filter=="workspace"?u._onWorkspaceLoaded(A,function(z){r.p.workspaceId=z.id;r.r.workspace=z;r.key="workspace."+z.id;g(r,A)}):u._onTopicLoaded(A,function(z){r.p.topicId=z.id;r.r.topic=z;r.key="topic."+z.id;g(r,A)});else if(r.workspace){var o=u.getWorkspace(r);if(o){r.p.workspaceId=o.id;r.r.workspace=o;r.key="workspace."+o.id;g(r,A)}else A(null,400)}else if(o=u.getTopic(r.title)){r.p.topicId=o.id;r.r.topic=o;r.key="topic."+o.id;g(r,A)}else A(null,
400)}function e(r,A){if(r.fileName)r.title?u._onWorkspaceLoaded(A,function(){r.topic=u.getTopic(r);k(r,A)}):u._onTopicLoaded(A,function(){r.topic=u.getTopic();k(r,A)},function(){r.loader=h(true);r.timestamp=n()});else A(null,400)}function q(r,A){var o=u.getFile(r);o?m(o,r,A):u._onFileLoaded(A,function(z){m(z,r,A)})}function p(r,A){if(r.fileName){r.file=u.getFile(r);f(r,A)}else u._onFileLoaded(A,function(){r.file=u.getFile();f(r,A)})}function c(r,A){if(u.isViewer())return A(null,403);var o=u.getFile(r);
o?w.post("file/"+o.id+"/del",u._fileSince(),function(z,C){if(C==200){z&&u._cacheFiles(z._files,z.time);x.sub("files").treeInvalidate("lists");x.treeInvalidate("history");A({file:o},200)}else A(null,C)}):A(null,404)}function d(r,A){w._missing(r,A,"file/files")||u._onWorkspaceLoaded(A,function(o){if(r.file)(r.files=r.files||[]).push(r.file);var z={files:[]},C={files:[]},D=[],F=x.sub("files/byId");b.each(r.files,function(E,G){if(typeof G=="string"){var H=r.topic||u.getTopic(r.title);if(H)if(H=u.getFile({fileName:G,
topic:H})){H=H.movedTo||H;z.files.push(H);if(!H.status)if(F.sub(H.id).valid("url"))H.url=F.sub(H.id).data("url");else{C.files.push({fileId:H.id});D.push(E)}}else z.files.push({fileName:G,workspace:o});else z.files.push({fileName:G,workspace:o})}else if(G)if(H=u.getFile(G)){H=H.movedTo||H;z.files.push(H);var O=G.preview?"previewUrl":"url",Q=G.rev?F.sub(H.id).sub("revs").sub(G.rev):F.sub(H.id);if(Q.valid(O))H.url=Q.data(O);else{C.files.push(b.extend({fileId:H.id},b.part(G,"preview,rev")));D.push(E)}}else z.files.push(b.extend(G,
{workspace:o}));else z.files.push({})});if(!C.files.length)return A(z,200);w.get("files/urls",b.extend({files:b.toJSON(C.files)},b.part(r,"preview")),function(E,G){if(E&&G==200){F=x.sub("files/byId");b.each(E.urls||[],function(H,O){if(O){if(window.TEST_CCTEXT_DOWNLOAD)O=O.replace("http://store.cctext.net/","/dl/");var Q=z.files[D[H]];Q.url=O;H=r.files[D[H]];(H.rev?F.sub(Q.id).sub("revs").sub(H.rev):F.sub(F.id)).put(H.preview?"previewUrl":"url",O,E.time)}});A(z,200)}else A(z,G)})})}function f(r,A){if(r.file){var o=
x.sub("files/byId").sub(r.file.id).sub("revs"),z=o.data("list"),C;if(z){C=b.map(z,function(F){return u.getFileRev({file:r.file,rev:F,revs:o})});if(r.size)C.length=r.size;var D={file:r.file,revs:C};if(!r.refresh&&o.valid("list")){A(D,200);return}A(D,250)}w.get("file/"+r.file.id+"/revs",u._userSince({since:o.time("list")||0}),function(F,E){if(F&&E==200){u._cacheUsers(F._users,F.time);r.file=u.getFile({fileId:r.file.id});o=x.sub("files/byId").sub(r.file.id).sub("revs");z=z||[];C=C||[];b.each(F.revs||
[],function(G,H){o.put(H.rev,H,F.time);z.splice(G,0,H.rev);C.splice(G,0,u.getFileRev({file:r.file,rev:H.rev,revs:o}))});o.put("list",z,F.time);if(r.size)C.length=r.size;A({file:r.file,revs:C},200)}else A(null,E==200?500:E)})}else A(null,404)}function k(r,A){if(r.timestamp&&r.timestamp!==n())r.loader===h()&&h(false);else if(r.topic){var o=u.getFile(r);if(!r.refresh&&u._fileValid()){h(false);o&&u._fileId(o.id);A(o?{file:o}:null,o?200:404)}else{if(!r.timestamp){r.loader=h(true);r.timestamp=n()}w.get("files",
u._userSince(u._topicSince(u._fileSince({workspaceId:u._workspaceId()}))),function(z,C){if(r.timestamp!==n())r.loader===h()&&h(false);else if(z&&C==200){u._cacheUsers(z._users,z.time);u._cacheTopics(z._topics,z.time);u._cacheFiles(z._files,z.time);r.topic=u.getTopic({topicId:r.topic.id});if(o=u.getFile(r)){if(z=x.sub("files/byId").sub(u._fileId())){z.treeInvalidate("revs");z.treeInvalidate("contents")}u._fileId(o.id)}h(false);C={data:o?{file:o}:null,code:o?200:C==200?404:C};A(C.data,C.code);r.loader.trigger("loaded",
null,C.data,C.code)}else A(null,C)})}}else{h(false);A(null,404)}}function m(r,A,o){function z(){if(!C.finished)if(C.code&&C.code!=200){C.finished=true;o(null,C.code)}else if(C.data.rev&&(!A.rev2||C.data.rev2)){C.finished=true;o(C.data,C.code||200)}}if(r.type!="doc"&&r.type!="email")o(null,404);else{A.rev=A.rev||0;var C={data:{file:r}},D=x.sub("files/byId").sub(r.id),F=D.sub("revs"),E=D.sub("contents");if(!A.refresh){if(E.valid(A.rev)){C.data.rev=u.getFileRev({file:r,rev:A.rev,revs:F});C.data.content=
u.getFileContent({file:r,rev:A.rev,contents:E})||""}if(A.rev2){if(A.rev2===A.rev&&C.data.rev){C.data.rev2=C.data.rev;C.data.content2=C.data.content}else if(E.valid(A.rev2)){C.data.rev2=u.getFileRev({file:r,rev:A.rev2,revs:F});C.data.content2=u.getFileContent({file:r,rev:A.rev2,contents:E})||""}if(C.data.rev&&C.data.rev2){o(C.data,200);return}}else if(C.data.rev){o(C.data,200);return}}C.data.rev||w.get("file/"+r.id+"/content",u._fileSince(u._userSince(A.rev?{rev:A.rev}:{})),function(G,H){if(G&&H==
200){u._cacheFiles(G._files,G.time);u._cacheUsers(G._users,G.time);r=u.getFile({id:r.id});F=x.sub("files/byId").sub(r.id).sub("revs");E=x.sub("files/byId").sub(r.id).sub("contents");F.put(A.rev,G.rev,G.time);E.put(A.rev,G.content,G.time);if(A.rev!==G.rev.rev){F.put(G.rev.rev,G.rev,G.time);E.put(G.rev.rev,G.content,G.time)}C.data.rev=u.getFileRev({file:r,rev:A.rev,revs:F});C.data.content=u.getFileContent({file:r,rev:A.rev,contents:E})||"";if(A.rev===A.rev2){C.data.rev2=C.data.rev;C.data.content2=C.data.content}z()}else C.code=
C.code||H});if(A.rev2&&A.rev2!==A.rev&&!C.data.rev2)w.get("file/"+r.id+"/content",b.extend({rev:A.rev2},C.data.rev?u._fileSince(u._userSince()):{}),function(G,H){if(G&&H==200){u._cacheFiles(G._files,G.time);u._cacheUsers(G._users,G.time);r=u.getFile(A);F=x.sub("files/byId").sub(r.id).sub("revs");E=x.sub("files/byId").sub(r.id).sub("contents");F.put(A.rev2,G.rev,G.time);E.put(A.rev2,G.content,G.time);if(A.rev2!==G.rev.rev){F.put(G.rev.rev,G.rev,G.time);E.put(G.rev.rev,G.content,G.time)}C.data.rev2=
u.getFileRev({file:r,rev:A.rev2,revs:F});C.data.content2=u.getFileContent({file:r,rev:A.rev2,contents:E})||"";z()}else C.code=C.code||H})}}function g(r,A){if(r.size){r.key=r.key+"."+r.size;r.p.size=r.size}var o=x.sub("files/byId"),z=x.sub("files/lists"),C=z.data(r.key);if(C){C=b.extend({files:b.map(C,function(D){return u.getFile({fileId:D})})},r.r);if(!r.refresh&&z.valid(r.key)){A(C,200);return}A(C,250)}if(!r.refresh&&u._fileValid()){o=b.grep(o.values(),function(D){return(!D.status||D.status==0)&&
(r.p.topicId?D.topicId==r.p.topicId:true)});if(r.size)o.length=Math.min(r.size,o.length);z.put(r.key,b.map(o,function(D){return D.id}));A(b.extend(r.r,{files:b.map(o,function(D){return u.getFile({fileId:D.id})})}),200)}else w.get("files/list",u._topicSince(u._fileSince(u._userSince(r.p))),function(D,F){if(D&&F==200){u._cacheFiles(D._files,D.time);u._cacheUsers(D._users,D.time);u._cacheTopics(D._topics,D.time);x.sub("files/lists").put(r.key,D.list||[],D.time)}A(b.extend(r.r,{files:b.map(x.sub("files/lists").data(r.key)||
[],function(E){return u.getFile({fileId:E})})}),z.has(r.key)?200:F)})}function h(r){if(r===true){r=b.eventDispatcher({});x.put("files/current/loader",r);return r}else if(r===false)x.del("files/current/loader");else return x.data("files/current/loader")}function n(){return x.time("files/current/loader")}function l(){return x.has("files/current/loader")}var v=window.__DEBUG,w=$cc.core,u=$cc.api,x=u._cache,y=u.toKey,B=b.bourbon.N;u.uploadFile=function(r,A){v&&console.info("uploadFile: (",r,")");if(u.isViewer())return(callback.onError||
B)(403);if(!r||!r.fileName)return(A.onError||B)(400);var o=u.getTopic(r.title);if(!o)return(A.onError||B)(404);var z;if(r.sourceFileName){z=u.getFile({fileName:r.sourceFileName,topic:o});if(!z)return(A.onError||B)(404)}else{if((z=u.getFile({fileName:r.fileName,topic:o}))&&!z.status)return(A.onError||B)(409);z=undefined}var C,D,F=function(){D&&C&&b.aj("GET",C,D)},E,G=false,H={cancel:function(){if(!G){G=true;D&&C&&b.aj("DELETE",C,{headers:{"X-cctext-token":$cc.session.token}})}},stopMonitor:function(){D=
undefined}};w.post("file"+(z?"/"+z.id:""),b.extend({topicId:o.id,description:r.description},r.sourceFileName&&!r.rename?{}:{fileName:r.fileName}),function(O,Q){if(G){O.target&&b.aj("DELETE",O.target,{headers:{"X-cctext-token":$cc.session.token}});return(A.onCancel||B)()}if(Q!=200)return(A.onError||B)(Q);if(!O.target)return(A.onError||B)(500);if((A.onStart||B)(O.target)===false)return(A.onCancel||B)();C=O.target;E="uploading";var ba={uploading:function(T){(A.onProgress||B)(T.read/T.total)},processing:function(){if(E==
"uploading"){(A.onProgress||B)(1);(A.onUploaded||B)()}},finish:function(T){H.stopMonitor();if(E!="finish")if(T.message){T=b.parseJSON(T.message);(A.onError||B)(T?T.code:500)}else{x.sub("files").treeInvalidate("lists");x.treeInvalidate("history");u._workspaceId()?w.get("files",u._workspaceSince(u._topicSince(u._userSince(u._fileSince({workspaceId:u._workspaceId()})))),function(Z,ma){if(Z&&ma==200){u._cacheUsers(Z._users,Z.time);u._cacheWorkspaces(Z._workspaces,Z.time);u._cacheTopics(Z._topic,Z.time);
u._cacheFiles(Z._files,Z.time)}(A.onFinish||B)()}):(A.onFinish||B)()}},cancel:function(){H.stopMonitor();(A.onCancel||B)()},error:function(T){H.stopMonitor();(A.onError||B)(T.status=="sizelimited"?413:T.status=="exceedquota"?412:Q==200?500:Q)}};D={headers:{"X-cctext-token":$cc.session.token},complete:function(T,Z){if(D){if(Z!=200)return(A.onError||B)(Z);if(!T.status)return(A.onError||B)(500);(ba[T.status]||ba.error)(T);E=T.status;D&&F.delay(2E3)}}};(A.onProgress||B)(0);F.delay(2E3)});return H};u.getFile=
function(r){r=typeof r=="string"?{fileName:r}:r||{_default:u._fileId()};var A=x.sub("files/byId"),o=r.topic||u.getTopic(r);if(r.fileName&&o&&!r.fileId&&!r.id)r.fileId=x.sub("topics/byId").sub(o.id).sub("filename2id").data(y(r.fileName));var z=A.data(r.fileId||r.id)||A.data(r._default);if(z){z=b.extend({},z,A.sub(z.id).sub("revs").data(r.rev||z.rev||0)||{});if(z.status==1)z.deleted=true;else if(z.status==2)z.moved=true;if(z.moved&&z.movedTo)z.movedTo=u.getFile({fileId:z.movedTo});z.revCreator=u.getUser({email:z.revCreator})||
{email:z.revCreator};z.topic=o&&o.id==z.topicId?o:u.getTopic({topicId:z.topicId});if(r.rev)(r=A.sub(z.id).sub("revs").data(r.rev))&&b.extend(z,r)}return z};u._cacheFiles=function(r,A){if(r){A=A||(new Date).getTime();var o=x.sub("files/byId"),z=x.sub("topics/byId"),C,D={};b.each(r,function(F,E){C=y(E.fileName);if(!E.status||E.status==0){z.sub(E.topicId).sub("filename2id").put(C,E.id,A,-1);D[E.topicId+" "+C]=true}else{E.status==1&&o.del(E.id);D[E.topicId+" "+C]||z.sub(E.topicId).sub("filename2id").put(C,
E.id,A,-1)}o.put(E.id,E,A,-1)});o.put("files/since",A,A,-1)}};u._fileSince=function(r){return b.extend(r||{},{_fileSince:x.time("files/since")})};u._fileValid=function(){return x.valid("files/since")};u._fileId=function(r){if(r)x.put("files/current/id",r);else if(r===null)x.del("files/current/id");else return x.data("files/current/id")};u._onFileLoaded=function(r,A,o){if(l()){h().one("loaded",function(z,C){if(C==200)(A||B)(z.file);else if(C!=-1)(r||B)(null,C)});(o||B)()}else u._fileId()?(A||B)(u.getFile()):
(r||B)(null,400)};u.getFileRev=function(r){var A=typeof r=="number"?r:r.rev||0,o=r.file||u.getFile(typeof r=="number"?undefined:r);if(o){if(r=r.revs?r.revs.data(A):x.sub("files/byId").sub(o.id).sub("revs").data(A)){r=b.extend({file:o},r);r.revCreator=u.getUser({email:r.revCreator})||{email:revCreator}}return r}};u.getFileContent=function(r){var A=typeof r=="number"?r:r.rev||0,o=r.file||u.getFile(typeof r=="number"?undefined:r);if(o)return r.contents?r.contents.data(A):x.sub("files/byId").sub(o.id).sub("contents").data(A)};
u.func("listFiles",j).func("loadFile",e).func("loadDocContent",q).func("listFileRevs",p).func("deleteFile",c).func("getFileUrl",d)})(jQuery);
(function(b){function j(f,k){if(f.email||f.screenName){if(f.email)f.email=f.email.toLowerCase();var m=c.getUser(f,"email,screenName");if(m){f.p={user:m.email};f.r={user:m};f.key="user."+m.email;e(f,k)}else k(null,404)}else if(f.fileName)c._onFileLoaded(k,function(){var g=c.getFile(f);if(!g||!g.id==c._fileId())k(null,404);else{f.p={fileId:g.id};f.r={file:g};f.key="file."+g.id;e(f,k)}});else if(f.title)c._onWorkspaceLoaded(k,function(){var g=c.getTopic(f);if(g){f.p={topicId:g.id};f.r={topic:g};f.key=
"topic."+g.id;e(f,k)}else k(null,404)});else if(f.workspace)if(m=c.getWorkspace(f)){f.p={workspaceId:m.id};f.r={workspace:m};f.key="workspace."+m.id;e(f,k)}else k(null,404);else if(f.filter)if(f.filter=="file")c._onFileLoaded(k,function(){var g=c.getFile();if(g){f.p={fileId:g.id};f.r={file:g};f.key="file."+g.id;e(f,k)}else k(null,404)});else if(f.filter=="topic")c._onTopicLoaded(k,function(){var g=c.getTopic();if(g){f.p={topicId:g.id};f.r={topic:g};f.key="topic."+g.id;e(f,k)}else k(null,404)});else if(f.filter==
"workspace")c._onWorkspaceLoaded(k,function(g){f.p={workspaceId:g.id};f.r={workspace:g};f.key="workspace."+g.id;e(f,k)});else if(f.filter=="user")if(m=c.getUser()){f.p={user:m.email};f.r={user:m};f.key="user."+m.email;e(f,k)}else k(null,404);else if(f.filter=="starred"){f.p={filter:"starred"};f.r={filter:"starred"};f.key="starred";e(f,k)}else if(f.filter=="workspaces"){f.p={filter:"workspaces"};f.r={filter:"workspaces"};f.key="workspaces";e(f,k)}else k(null,400);else k(null,400)}function e(f,k){var m=
function(n,l){if(n&&(l==200||l==250))n=b.extend({history:b.map(n||[],function(v){return q(v)}),hasMore:(g.data(f.key+"/total")||n.length)>n.length},f.r);k(n,l)};f.size=f.size||20;f.start=f.start||0;f.key=f.key+"."+f.size+"."+f.start;f.p.size=f.size;f.p.start=f.start;var g=d.sub("history"),h=g.data(f.key);if(h){if(!f.refresh&&g.valid(f.key)){m(h,200);return}m(h,250)}f.p=c._userSince(c._workspaceSince(f.p));p.get("history",f.p,function(n,l){if(l==200){if(n){c._cacheUsers(n._users,n.time);c._cacheWorkspaces(n._workspaces,
n.time);n._topics&&c._cacheTopics(n._topics,n.time);n._files&&c._cacheFiles(n._files,n.time);g=d.sub("history");g.put(f.key,n.list||[],n.time);g.put(f.key+"/total",n.total,n.time)}m(g.data(f.key)||[],200)}else m(null,l)})}function q(f){f=f?b.extend(true,{},f):{};if(f.user)f.user=c.getUser(f.user);if(f.whom)f.whom=c.getUser(f.whom);if(f.workspaceId)f.workspace=c.getWorkspace({id:f.workspaceId})||{id:f.workspaceId};if(f.topic)f.topic.owner=c.getUser(f.topic.owner);if(f.file)f.file.revCreator=c.getUser(f.file.revCreator);
if(f.topicId)f.topic=c.getTopic({topicId:f.topicId})||f.topic||{id:f.topicId};if(f.fileId)f.file=c.getFile({fileId:f.fileId})||f.file||{id:f.fileId};if(f.users)f.users=b.map(f.users,function(k){return b.extend(c.getUser(k),k.perm?{permission:c._toPermStr(k.perm)}:{})});return f}var p=$cc.core,c=$cc.api,d=c._cache;c.func("listHistory",j)})(jQuery);
(function(b){function j(c,d){if(!c.terms)return d(null,400);if(c.workspaces)if(c.workspaces=="all")q.get("search/result",p._workspaceSince(p._userSince(b.extend({terms:c.terms,_details:1},b.part(c,"start,size")))),function(f,k){if(f&&k==200){p._cacheUsers(f._users,f.time);p._cacheWorkspaces(f._workspaces,f.time);f=b.part(f,"results,start,total");d(e(f),k)}else d(null,k)});else return d({invalid:"workspaces"},400);else p._onWorkspaceLoaded(d,function(f){q.get("search/result",p._fileSince(p._topicSince(p._workspaceSince(p._userSince(b.extend({workspaceId:f.id,
terms:c.terms},b.part(c,"start,size")))))),function(k,m){if(k&&m==200){p._cacheUsers(k._users,k.time);p._cacheWorkspaces(k._workspaces,k.time);p._cacheTopics(k._topics,k.time);p._cacheFiles(k._files,k.time);k=b.part(k,"results,start,total");d(e(k),m)}else d(null,m)})})}function e(c){c=b.extend({},c);c.results&&c.results.length&&b.each(c.results,function(d,f){if(f.fileId)if(f.file){f.file.revCreator=p.getUser(f.file.revCreator);if(f.file.status==1)f.file.deleted=true;f.file.topic.owner=p.getUser(f.file.topic.owner);
f.file.topic.workspace=p.getWorkspace({id:f.file.topic.workspaceId})}else f.file=p.getFile(f);else if(f.topicId)if(f.topic){f.topic.workspace=p.getWorkspace({id:f.topic.workspaceId});f.topic.owner=p.getUser(f.topic.owner);if(f.topic.status==1)f.topic.deleted=true}else f.topic=p.getTopic(f);else if(f.email)f.user=p.getUser(f)});return c}var q=$cc.core,p=$cc.api;p.func("search",j)})(jQuery);
(function(b){b.fn.smartPosition=function(j,e){j=b(j);var q=b(this);q.css({display:"none"});var p=j.outerHeight(),c=j.outerWidth();e=b.extend({dynamic:false,align:"center",preferredPositionY:"bottom",preferredPositionX:"right"},e||{});var d,f;if(e.dynamic){d=f=0;j=j.position()}else{d=b(window).scrollTop();f=b(window).scrollLeft();j=j.offset()}var k=j.top-d;f=j.left-f;var m=b(window).height(),g=b(window).width();c=e.align==="left"?0:e.align==="right"?c:c/2;d=e.height||q.outerHeight();var h=e.width||
q.outerWidth(),n=k-d;k=m-k-p-d;g=g-f-c-h;f=f+c-h;var l,v,w;if(e.preferredPositionY==="top")if(n<0&&k>=0){l=j.top+p;w="bottom"}else{l=j.top-d;w="top"}else if(e.preferredPositionY==="bottom")if(k<0&&n>=0){l=j.top-d;w="top"}else{l=j.top+p;w="bottom"}if(e.preferredPositionX==="left")if(f<0&&g>=0){v=j.left+c;w+="-right"}else{v=j.left-h+c;w+="-left"}else if(e.preferredPositionX==="right")if(g<0&&f>=0){v=j.left-h+c;w+="-left"}else{v=j.left+c;w+="-right"}q.removeClass("top-right").removeClass("top-left").removeClass("bottom-right").removeClass("bottom-left").addClass(w);
q.css({position:"absolute",top:l+"px",left:v+"px"});return q}})(jQuery);
(function(b){function j(f){if(f.substring(0,1)==="#")return f;var k=location.href,m=k.indexOf("#");if(m>=0)k=k.substring(0,m);k+="#";if(f.substring(0,m+1)===k)return f.substring(m);return false}function e(){var f=location.hash;if(f!=c){c=f;b.event.trigger("hashchange")}}function q(){var f=(d.contentDocument||d.contentWindow.document).location.hash;if(f=="")f="#";if(f!=c){if(location.hash!=f)location.hash=f;c=f;b.event.trigger("hashchange")}}function p(f){if(f=="#")f="";var k=d.contentWindow.document;
k.open();k.close();if(k.location.hash!=f)k.location.hash=f}b.fn.extend({hashchange:function(f){this.bind("hashchange",f)},openOnClick:function(f){if(f===undefined||f.length==0)f="#";return this.click(function(k){f&&f.charAt(0)=="#"?window.setTimeout(function(){b.locationHash(f)},0):window.location(f);k.stopPropagation();return false})}});if(b.browser.msie&&document.documentMode&&document.documentMode>=8)b.extend({locationHash:function(f){if(f){if(f.charAt(0)!="#")f="#"+f}else f="#";location.hash=
f}});else{var c,d;b.extend({locationHash:function(f){if(c!==undefined){if(f){if(f.charAt(0)!="#")f="#"+f}else f="#";c=location.hash=f;b.browser.msie&&p(f);b.event.trigger("hashchange")}}});b(document).ready(function(){c=location.hash;if(b.browser.msie){if(c=="")c="#";d=b("<iframe />").hide().get(0);b("body").prepend(d);p(location.hash);setInterval(q,100)}else setInterval(e,100)});b(window).unload(function(){d=null});b.browser.msie&&b("a[href]").live("click",function(){var f=b(this).attr("href");f=
j(f);if(typeof f==="string"){b.locationHash(f);return false}})}})(jQuery);
(function(b){function j(u,x){var y=u==window,B=x&&x.message!==undefined?x.message:undefined;x=b.extend({},b.blockUI.defaults,x||{});x.overlayCSS=b.extend({},b.blockUI.defaults.overlayCSS,x.overlayCSS||{});var r=b.extend({},b.blockUI.defaults.css,x.css||{});B=B===undefined?x.message:B;y&&l&&e(window,{fadeOut:0});if(B&&typeof B!="string"&&(B.parentNode||B.jquery)){var A=B.jquery?B[0]:B,o={};b(u).data("blockUI.history",o);o.el=A;o.parent=A.parentNode;o.display=A.style.display;o.position=A.style.position;
o.parent&&o.parent.removeChild(A)}var z=x.baseZ;A=b.browser.msie||x.forceIframe?b('<iframe class="blockUI" style="z-index:'+z++ +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+x.iframeSrc+'"></iframe>'):b('<div class="blockUI" style="display:none"></div>');o=b('<div class="blockUI blockOverlay" style="z-index:'+z++ +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>');var C=y?b('<div class="blockUI blockMsg blockPage" style="z-index:'+
z+';display:none;position:fixed"></div>'):b('<div class="blockUI blockMsg blockElement" style="z-index:'+z+';display:none;position:absolute"></div>');B&&C.css(r);if(!x.applyPlatformOpacityRules||!(b.browser.mozilla&&/Linux/.test(navigator.platform)))o.css(x.overlayCSS);o.css("position",y?"fixed":"absolute");if(b.browser.msie||x.forceIframe)A.css("opacity",0);b([A[0],o[0],C[0]]).appendTo(y?"body":u);r=h&&(!b.boxModel||b("object,embed",y?null:u).length>0);if(n||r){y&&x.allowBodyStretch&&b.boxModel&&
b("html,body").css("height","100%");if((n||!b.boxModel)&&!y){r=k(u,"borderTopWidth");z=k(u,"borderLeftWidth");var D=r?"(0 - "+r+")":0,F=z?"(0 - "+z+")":0}b.each([A,o,C],function(G,H){H=H[0].style;H.position="absolute";if(G<2){y?H.setExpression("height","Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.boxModel?0:"+x.quirksmodeOffsetHack+') + "px"'):H.setExpression("height",'this.parentNode.offsetHeight + "px"');y?H.setExpression("width",'jQuery.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"'):
H.setExpression("width",'this.parentNode.offsetWidth + "px"');F&&H.setExpression("left",F);D&&H.setExpression("top",D)}else if(x.centerY){y&&H.setExpression("top",'(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"');H.marginTop=0}else if(!x.centerY&&y){G="((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "+
(x.css&&x.css.top?parseInt(x.css.top):0)+') + "px"';H.setExpression("top",G)}})}if(B){C.append(B);var E=function(G){var H=b(window).height(),O=b(window).width(),Q=C.outerHeight(),ba=C.outerWidth(),T,Z,ma,ua;if(typeof G==="string")if(G==="center"){T=(O-ba)/2;Z=(H-Q)/2}else if(G==="left"){T=0;Z=(H-Q)/2}else if(G==="right"){ma=0;Z=(H-Q)/2}else if(G==="top"){T=(O-ba)/2;Z=0}else{if(G==="bottom"){T=(O-ba)/2;ua=0}}else if(G.length===2){T=G[0];Z=G[1]}else if(G.length===4){Z=G[0];ma=G[1];ua=G[2];T=G[3]}C.css({left:T,
top:Z,right:ma,bottom:ua})};if(B.jquery||B.nodeType){b(B).show();if(x.position){E(x.position);w=function(){E(x.position)};b(window).bind("resize",w)}}}if((b.browser.msie||x.forceIframe)&&x.showOverlay)A.show();if(x.fadeIn){x.showOverlay&&o._fadeIn(x.fadeIn);B&&C.fadeIn(x.fadeIn)}else{x.showOverlay&&o.show();B&&C.show()}p(1,u,x);if(y){l=C[0];v=b(":input:enabled:visible",l);x.focusInput&&setTimeout(d,20)}else f(C[0],x.centerX,x.centerY);m=y&&b.isFunction(x.onUnblock)?x.onUnblock:b.bourbon.N;if(x.timeout){B=
setTimeout(function(){y?b.unblockUI(x):b(u).unblock(x)},x.timeout);b(u).data("blockUI.timeout",B)}}function e(u,x){var y=u==window,B=b(u),r=B.data("blockUI.history"),A=B.data("blockUI.timeout");if(A){clearTimeout(A);B.removeData("blockUI.timeout")}x=b.extend({},b.blockUI.defaults,x||{});p(0,u,x);var o=y?b("body").children().filter(".blockUI"):b(".blockUI",u);if(y)l=v=null;if(w){b(window).unbind("resize",w);w=null}if(x.fadeOut){o.fadeOut(x.fadeOut);setTimeout(function(){q(o,r,x,u)},x.fadeOut)}else q(o,
r,x,u)}function q(u,x,y,B){u.each(function(){this.parentNode&&this.parentNode.removeChild(this)});if(x&&x.el){x.el.style.display=x.display;x.el.style.position=x.position;x.parent&&x.parent.appendChild(x.el);b(x.el).removeData("blockUI.history")}typeof y.onUnblock=="function"&&y.onUnblock(B,y);m(B,y)}function p(u,x,y){var B=x==window;x=b(x);if(!(!u&&(B&&!l||!B&&!x.data("blockUI.isBlocked")))){B||x.data("blockUI.isBlocked",u);!y.bindEvents||u&&!y.showOverlay||(u?b(document).bind("mousedown mouseup keydown keypress",
y,c):b(document).unbind("mousedown mouseup keydown keypress",c))}}function c(u){if(u.keyCode&&u.keyCode==9)if(l&&u.data.constrainTabKey){var x=v,y=u.shiftKey&&u.target==x[0];if(!u.shiftKey&&u.target==x[x.length-1]||y){setTimeout(function(){d(y)},10);return false}}if(b(u.target).parents("div.blockMsg").length>0)return true;return b(u.target).parents().children().filter("div.blockUI").length==0}function d(u){if(v)(u=v[u===true?v.length-1:0])&&u.focus()}function f(u,x,y){var B=u.parentNode,r=u.style,
A=(B.offsetWidth-u.offsetWidth)/2-k(B,"borderLeftWidth");u=(B.offsetHeight-u.offsetHeight)/2-k(B,"borderTopWidth");if(x)r.left=A>0?A+"px":"0";if(y)r.top=u>0?u+"px":"0"}function k(u,x){return parseInt(b.css(u,x))||0}b.fn._fadeIn=b.fn.fadeIn;var m=b.bourbon.N,g=document.documentMode||0,h=b.browser.msie&&(b.browser.version<8&&!g||g<8),n=b.browser.msie&&/MSIE 6.0/.test(navigator.userAgent)&&!g;b.blockUI=function(u){j(window,u)};b.unblockUI=function(u){e(window,u)};b.growlUI=function(u,x,y,B){var r=b('<div class="growlUI"></div>');
u&&r.append("<h1>"+u+"</h1>");x&&r.append("<h2>"+x+"</h2>");if(y==undefined)y=3E3;b.blockUI({message:r,fadeIn:700,fadeOut:1E3,centerY:false,timeout:y,showOverlay:false,onUnblock:B,css:b.blockUI.defaults.growlCSS})};b.fn.block=function(u){return this.unblock({fadeOut:0}).each(function(){if(b.css(this,"position")=="static")this.style.position="relative";if(b.browser.msie)this.style.zoom=1;j(this,u)})};b.fn.unblock=function(u){return this.each(function(){e(this,u)})};b.blockUI.version=2.23;b.blockUI.defaults=
{message:"<h1>Please wait...</h1>",position:"center",css:{padding:0,margin:0,textAlign:"left","-webkit-border-top-left-radius":"10px","-webkit-border-top-right-radius":"10px","-moz-border-radius-topleft":"10px","-moz-border-radius-topright":"10px",border:"none",cursor:"default",width:"auto",height:"auto",color:"#000",backgroundColor:"#fff"},overlayCSS:{backgroundColor:"#000",opacity:0.6,cursor:"default"},growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:0.6,
cursor:null,color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:false,baseZ:1E3,centerX:true,centerY:true,allowBodyStretch:true,bindEvents:true,constrainTabKey:true,fadeIn:200,fadeOut:100,timeout:0,showOverlay:true,focusInput:true,applyPlatformOpacityRules:true,onUnblock:null,quirksmodeOffsetHack:4};var l=null,v=[],w=null})(jQuery);
jQuery.effects||function(b){function j(c,d){var f=c[1]&&c[1].constructor==Object?c[1]:{};if(d)f.mode=d;d=c[1]&&c[1].constructor!=Object?c[1]:f.duration?f.duration:c[2];d=b.fx.off?0:typeof d==="number"?d:b.fx.speeds[d]||b.fx.speeds._default;var k=f.callback||b.isFunction(c[1])&&c[1]||b.isFunction(c[2])&&c[2]||b.isFunction(c[3])&&c[3];return[c[0],f,d,k]}function e(c){var d;if(c&&c.constructor==Array&&c.length==3)return c;if(d=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(d[1],
10),parseInt(d[2],10),parseInt(d[3],10)];if(d=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(d[1])*2.55,parseFloat(d[2])*2.55,parseFloat(d[3])*2.55];if(d=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(d[1],16),parseInt(d[2],16),parseInt(d[3],16)];if(d=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(d[1]+d[1],16),parseInt(d[2]+d[2],16),parseInt(d[3]+d[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return p.transparent;
return p[b.trim(c).toLowerCase()]}function q(c,d){var f;do{f=b.curCSS(c,d);if(f!=""&&f!="transparent"||b.nodeName(c,"body"))break;d="backgroundColor"}while(c=c.parentNode);return e(f)}b.effects={version:"1.7.2",save:function(c,d){for(var f=0;f<d.length;f++)d[f]!==null&&c.data("ec.storage."+d[f],c[0].style[d[f]])},restore:function(c,d){for(var f=0;f<d.length;f++)d[f]!==null&&c.css(d[f],c.data("ec.storage."+d[f]))},setMode:function(c,d){if(d=="toggle")d=c.is(":hidden")?"show":"hide";return d},getBaseline:function(c,
d){var f;switch(c[0]){case "top":f=0;break;case "middle":f=0.5;break;case "bottom":f=1;break;default:f=c[0]/d.height}switch(c[1]){case "left":c=0;break;case "center":c=0.5;break;case "right":c=1;break;default:c=c[1]/d.width}return{x:c,y:f}},createWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent();var d={width:c.outerWidth(true),height:c.outerHeight(true),"float":c.css("float")};c.wrap('<div class="ui-effects-wrapper" style="font-size:100%;background:transparent;border:none;margin:0;padding:0"></div>');
var f=c.parent();if(c.css("position")=="static"){f.css({position:"relative"});c.css({position:"relative"})}else{var k=c.css("top");if(isNaN(parseInt(k,10)))k="auto";var m=c.css("left");if(isNaN(parseInt(m,10)))m="auto";f.css({position:c.css("position"),top:k,left:m,zIndex:c.css("z-index")}).show();c.css({position:"relative",top:0,left:0})}f.css(d);return f},removeWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent().replaceWith(c);return c},setTransition:function(c,d,f,k){k=
k||{};b.each(d,function(m,g){unit=c.cssUnit(g);if(unit[0]>0)k[g]=unit[0]*f+unit[1]});return k},animateClass:function(c,d,f,k){var m=typeof f=="function"?f:k?k:null,g=typeof f=="string"?f:null;return this.each(function(){var h={},n=b(this),l=n.attr("style")||"";if(typeof l=="object")l=l.cssText;if(c.toggle)n.hasClass(c.toggle)?(c.remove=c.toggle):(c.add=c.toggle);var v=b.extend({},document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle);c.add&&n.addClass(c.add);c.remove&&
n.removeClass(c.remove);var w=b.extend({},document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle);c.add&&n.removeClass(c.add);c.remove&&n.addClass(c.remove);for(var u in w)if(typeof w[u]!="function"&&w[u]&&u.indexOf("Moz")==-1&&u.indexOf("length")==-1&&w[u]!=v[u]&&(u.match(/color/i)||!u.match(/color/i)&&!isNaN(parseInt(w[u],10)))&&(v.position!="static"||v.position=="static"&&!u.match(/left|top|bottom|right/)))h[u]=w[u];n.animate(h,d,g,function(){if(typeof b(this).attr("style")==
"object"){b(this).attr("style").cssText="";b(this).attr("style").cssText=l}else b(this).attr("style",l);c.add&&b(this).addClass(c.add);c.remove&&b(this).removeClass(c.remove);m&&m.apply(this,arguments)})})}};b.fn.extend({_show:b.fn.show,_hide:b.fn.hide,__toggle:b.fn.toggle,_addClass:b.fn.addClass,_removeClass:b.fn.removeClass,_toggleClass:b.fn.toggleClass,effect:function(c,d,f,k){return b.effects[c]?b.effects[c].call(this,{method:c,options:d||{},duration:f,callback:k}):null},show:function(){return!arguments[0]||
arguments[0].constructor==Number||/(slow|normal|fast)/.test(arguments[0])?this._show.apply(this,arguments):this.effect.apply(this,j(arguments,"show"))},hide:function(){return!arguments[0]||arguments[0].constructor==Number||/(slow|normal|fast)/.test(arguments[0])?this._hide.apply(this,arguments):this.effect.apply(this,j(arguments,"hide"))},toggle:function(){return!arguments[0]||arguments[0].constructor==Number||/(slow|normal|fast)/.test(arguments[0])||b.isFunction(arguments[0])||typeof arguments[0]==
"boolean"?this.__toggle.apply(this,arguments):this.effect.apply(this,j(arguments,"toggle"))},addClass:function(c,d,f,k){return d?b.effects.animateClass.apply(this,[{add:c},d,f,k]):this._addClass(c)},removeClass:function(c,d,f,k){return d?b.effects.animateClass.apply(this,[{remove:c},d,f,k]):this._removeClass(c)},toggleClass:function(c,d,f,k){return typeof d!=="boolean"&&d?b.effects.animateClass.apply(this,[{toggle:c},d,f,k]):this._toggleClass(c,d)},morph:function(c,d,f,k,m){return b.effects.animateClass.apply(this,
[{add:d,remove:c},f,k,m])},switchClass:function(){return this.morph.apply(this,arguments)},cssUnit:function(c){var d=this.css(c),f=[];b.each(["em","px","%","pt"],function(k,m){if(d.indexOf(m)>0)f=[parseFloat(d),m]});return f}});b.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(c,d){b.fx.step[d]=function(f){if(f.state==0){f.start=q(f.elem,d);f.end=e(f.end)}f.elem.style[d]="rgb("+[Math.max(Math.min(parseInt(f.pos*(f.end[0]-
f.start[0])+f.start[0],10),255),0),Math.max(Math.min(parseInt(f.pos*(f.end[1]-f.start[1])+f.start[1],10),255),0),Math.max(Math.min(parseInt(f.pos*(f.end[2]-f.start[2])+f.start[2],10),255),0)].join(",")+")"}});var p={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,
140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,
0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]};b.easing.jswing=b.easing.swing;b.extend(b.easing,{def:"easeOutQuad",swing:function(c,d,f,k,m){return b.easing[b.easing.def](c,d,f,k,m)},easeInQuad:function(c,d,f,k,m){return k*(d/=m)*d+f},easeOutQuad:function(c,d,f,k,m){return-k*(d/=m)*(d-2)+f},easeInOutQuad:function(c,d,f,k,m){if((d/=m/2)<1)return k/2*d*d+f;return-k/2*(--d*(d-2)-1)+f},easeInCubic:function(c,d,f,k,m){return k*(d/=m)*d*d+f},easeOutCubic:function(c,
d,f,k,m){return k*((d=d/m-1)*d*d+1)+f},easeInOutCubic:function(c,d,f,k,m){if((d/=m/2)<1)return k/2*d*d*d+f;return k/2*((d-=2)*d*d+2)+f},easeInQuart:function(c,d,f,k,m){return k*(d/=m)*d*d*d+f},easeOutQuart:function(c,d,f,k,m){return-k*((d=d/m-1)*d*d*d-1)+f},easeInOutQuart:function(c,d,f,k,m){if((d/=m/2)<1)return k/2*d*d*d*d+f;return-k/2*((d-=2)*d*d*d-2)+f},easeInQuint:function(c,d,f,k,m){return k*(d/=m)*d*d*d*d+f},easeOutQuint:function(c,d,f,k,m){return k*((d=d/m-1)*d*d*d*d+1)+f},easeInOutQuint:function(c,
d,f,k,m){if((d/=m/2)<1)return k/2*d*d*d*d*d+f;return k/2*((d-=2)*d*d*d*d+2)+f},easeInSine:function(c,d,f,k,m){return-k*Math.cos(d/m*(Math.PI/2))+k+f},easeOutSine:function(c,d,f,k,m){return k*Math.sin(d/m*(Math.PI/2))+f},easeInOutSine:function(c,d,f,k,m){return-k/2*(Math.cos(Math.PI*d/m)-1)+f},easeInExpo:function(c,d,f,k,m){return d==0?f:k*Math.pow(2,10*(d/m-1))+f},easeOutExpo:function(c,d,f,k,m){return d==m?f+k:k*(-Math.pow(2,-10*d/m)+1)+f},easeInOutExpo:function(c,d,f,k,m){if(d==0)return f;if(d==
m)return f+k;if((d/=m/2)<1)return k/2*Math.pow(2,10*(d-1))+f;return k/2*(-Math.pow(2,-10*--d)+2)+f},easeInCirc:function(c,d,f,k,m){return-k*(Math.sqrt(1-(d/=m)*d)-1)+f},easeOutCirc:function(c,d,f,k,m){return k*Math.sqrt(1-(d=d/m-1)*d)+f},easeInOutCirc:function(c,d,f,k,m){if((d/=m/2)<1)return-k/2*(Math.sqrt(1-d*d)-1)+f;return k/2*(Math.sqrt(1-(d-=2)*d)+1)+f},easeInElastic:function(c,d,f,k,m){c=1.70158;var g=0,h=k;if(d==0)return f;if((d/=m)==1)return f+k;g||(g=m*0.3);if(h<Math.abs(k)){h=k;c=g/4}else c=
g/(2*Math.PI)*Math.asin(k/h);return-(h*Math.pow(2,10*(d-=1))*Math.sin((d*m-c)*2*Math.PI/g))+f},easeOutElastic:function(c,d,f,k,m){c=1.70158;var g=0,h=k;if(d==0)return f;if((d/=m)==1)return f+k;g||(g=m*0.3);if(h<Math.abs(k)){h=k;c=g/4}else c=g/(2*Math.PI)*Math.asin(k/h);return h*Math.pow(2,-10*d)*Math.sin((d*m-c)*2*Math.PI/g)+k+f},easeInOutElastic:function(c,d,f,k,m){c=1.70158;var g=0,h=k;if(d==0)return f;if((d/=m/2)==2)return f+k;g||(g=m*0.3*1.5);if(h<Math.abs(k)){h=k;c=g/4}else c=g/(2*Math.PI)*Math.asin(k/
h);if(d<1)return-0.5*h*Math.pow(2,10*(d-=1))*Math.sin((d*m-c)*2*Math.PI/g)+f;return h*Math.pow(2,-10*(d-=1))*Math.sin((d*m-c)*2*Math.PI/g)*0.5+k+f},easeInBack:function(c,d,f,k,m,g){if(g==undefined)g=1.70158;return k*(d/=m)*d*((g+1)*d-g)+f},easeOutBack:function(c,d,f,k,m,g){if(g==undefined)g=1.70158;return k*((d=d/m-1)*d*((g+1)*d+g)+1)+f},easeInOutBack:function(c,d,f,k,m,g){if(g==undefined)g=1.70158;if((d/=m/2)<1)return k/2*d*d*(((g*=1.525)+1)*d-g)+f;return k/2*((d-=2)*d*(((g*=1.525)+1)*d+g)+2)+f},
easeInBounce:function(c,d,f,k,m){return k-b.easing.easeOutBounce(c,m-d,0,k,m)+f},easeOutBounce:function(c,d,f,k,m){return(d/=m)<1/2.75?k*7.5625*d*d+f:d<2/2.75?k*(7.5625*(d-=1.5/2.75)*d+0.75)+f:d<2.5/2.75?k*(7.5625*(d-=2.25/2.75)*d+0.9375)+f:k*(7.5625*(d-=2.625/2.75)*d+0.984375)+f},easeInOutBounce:function(c,d,f,k,m){if(d<m/2)return b.easing.easeInBounce(c,d*2,0,k,m)*0.5+f;return b.easing.easeOutBounce(c,d*2-m,0,k,m)*0.5+k*0.5+f}})}(jQuery);
(function(b){b.effects.highlight=function(j){return this.queue(function(){var e=b(this),q=["backgroundImage","backgroundColor","opacity"],p=b.effects.setMode(e,j.options.mode||"show"),c=j.options.color||"#ffff99",d=e.css("backgroundColor");b.effects.save(e,q);e.show();e.css({backgroundImage:"none",backgroundColor:c});c={backgroundColor:d};if(p=="hide")c.opacity=0;e.animate(c,{queue:false,duration:j.duration,easing:j.options.easing,complete:function(){p=="hide"&&e.hide();b.effects.restore(e,q);p==
"show"&&b.browser.msie&&this.style.removeAttribute("filter");j.callback&&j.callback.apply(this,arguments);e.dequeue()}})})}})(jQuery);
(function(b){function j(c,d,f){return b.dataFilter(b.map(b.unique2(b.withoutThese(d.concat(c),f)),function(k){return{id:k,tag:k}}),"#{tag}",c)}var e=false,q="taginput.prev",p={list:"taginput-list",tag:"taginput-tag",selTag:"taginput-tag-selected",value:"taginput-tag-value",del:"taginput-tag-del",input:"taginput-input",drop:"taginput-dropdown",dropTag:"taginput-dropdown-tag",selDropTag:"taginput-dropdown-tag-selected"};b.bourbon.tagInput={defaultFilter:j};b.createWidget("tagInput",{hintText:"Type in the tags, separated by comma.",
noResultsText:null,separator:",",multi:false,data:null,filter:j,_keys:"separator,multi"},function(c,d,f,k){function m(){return $A(o.find("span."+p.value).map(function(){return b(this).text()}))}function g(){D.html("<p>"+k.hintText+"</p>").show()}function h(){k.noResultsText?D.html("<p>"+k.noResultsText+"</p>").show():n()}function n(){D.hide().empty()}function l(){var E=C.val().toLowerCase(),G=""+C.data(q);if(E!==G){C.data(q,E);E?function(){e&&console.info("taginput:doSearch:"+E);y(x());var H=k.filter(E,
k.data,k.multi?[]:m());H.length?v(H):h()}.defer():g()}}function v(E){D.empty();var G=b("<ul/>").hide().appendTo(D);b.each(E,function(H,O){b("<li/>").addClass(p.dropTag).click(function(){e&&console.info("dropdown item clicked.");r(O.id,true);return false}).bind("mouseover mousemove",function(){w(b(this))}).html(O.title).appendTo(G)});G.children(":first").addClass(p.selDropTag);D.show();G.slideDown("fast")}function w(E){if(E){u(w());E.addClass(p.selDropTag)}else return D.find("li."+p.selDropTag)}function u(E){E.removeClass(p.selDropTag)}
function x(E){if(E){y(x());E.addClass(p.selTag);n()}else return o.children("."+p.selTag)}function y(E){E.removeClass(p.selTag);C.focus()}function B(E){E.hasClass(p.selTag)?y(E):x(E)}function r(E,G){var H=c.triggerHandler("taginput-adding",E);if(H!==undefined)E=H;if(!(E===false||!k.multi&&b.inArray(E,m())>0)){var O=b("<li/>").addClass(p.tag).append(b("<span/>").addClass(p.value).text(E)).append(b("<span>x</span>").addClass(p.del).click(function(){e&&console.info("delete icon clicked.");A(O);return false})).click(function(){e&&
console.info("tag clicked.");B(O);return false}).insertBefore(z);if(G){n();C.val("").focus()}}}function A(E){E.remove();C.focus()}var o=d==="create"?b("<ul/>").addClass(p.list).click(function(){e&&console.info("list clicked.");y(x())}).appendTo(c):c.find("ul."+p.list),z=d==="create"?b("<li/>").addClass(p.input).appendTo(o):o.find("li."+p.input),C=d==="create"?b('<input type="text" />').css({outline:"none"}).focus(function(){C.val()&&l()}).blur(n).bindKey("up",function(){var E=w().prev();E.length&&
w(E);return false}).bindKey("down",function(){var E=w().next();E.length&&w(E);return false}).bindKey("del",function(){var E=x();if(E.length){A(E);return false}}).bindKey("backspace",function(){if(!C.val()){var E=x();if(E.length)A(E);else{E=z.prev();E.length&&x(E)}return false}}).bindKey("tab,enter",function(){var E=w();if(E=E.length?E.text():b.trim(C.val())){r(E,true);return false}}).bindKey(k.separator===","?",comma":k.separator===" "?",space":"",function(){r(b.trim(C.val()),true);return false}).bindKey("esc",
function(){if(D.is(":visible")){n();return false}}).keyup(function(){l()}).appendTo(z):o.find("input:text"),D=d==="create"?b("<div/>").addClass(p.drop).hide().appendTo(c):c.find("div."+p.drop);if(d==="create"){if(typeof k.data==="string")k.data=k.data.split(k.separator);k.onLoad&&k.onLoad.bind(c).defer()}else if(d==="focus"||d==="enable"||d==="disable")C[d]();else if(d==="add")r(f[0]);else if(d==="remove")o.find("span."+p.value).each(function(){if(this.text()===f[0]){A(this.closest("li"));return false}});
else if(d==="in")return b.theseInArray(typeof f[0]==="string"?f[0].split(k.separator):f[0],m());else if(d==="value")if(d=typeof f[0]==="string"?(f[0]=f[0].split(k.separator)):f[0]){o.children("."+p.tag).remove();b.each(d,function(E,G){G&&r(G)})}else{d=m();var F=C.val();F&&d.push(F);return d}return c})})(jQuery);
(function(b){b.imgAreaSelect={onKeyPress:null};b.imgAreaSelect.init=function(j,e){function q(R){return R+wa.left-L.left}function p(R){return R+wa.top-L.top}function c(R){return R-wa.left+L.left}function d(R){return R-wa.top+L.top}function f(R){return R.pageX-L.left}function k(R){return R.pageY-L.top}function m(){return{x1:V.round(S.x1*ea),y1:V.round(S.y1*ha),x2:V.round(S.x2*ea),y2:V.round(S.y2*ha),width:V.round(S.x2*ea)-V.round(S.x1*ea),height:V.round(S.y2*ha)-V.round(S.y1*ha)}}function g(){for($=
E;$.length&&!$.is("body");){if(!isNaN($.css("z-index"))&&$.css("z-index")>W)W=$.css("z-index");if($.css("position")=="fixed")X="fixed";$=$.parent()}if(!isNaN(e.zIndex))W=e.zIndex}function h(){wa={left:V.round(E.offset().left),top:V.round(E.offset().top)};ra=E.width();na=E.height();L=b.inArray(I.css("position"),["absolute","relative"])!=-1?{left:V.round(I.offset().left)-I.scrollLeft(),top:V.round(I.offset().top)-I.scrollTop()}:X=="fixed"?{left:b(document).scrollLeft(),top:b(document).scrollTop()}:
{left:0,top:0};ka=q(0);la=p(0)}function n(R){if(za){H.css({left:q(S.x1)+"px",top:p(S.y1)+"px",width:S.width+"px",height:S.height+"px"});O.add(Q).add(ba).css({left:"0px",top:"0px",width:V.max(S.width-e.borderWidth*2,0)+"px",height:V.max(S.height-e.borderWidth*2,0)+"px"});Q.css({borderStyle:"solid",borderColor:e.borderColor1});ba.css({borderStyle:"dashed",borderColor:e.borderColor2});Q.add(ba).css({opacity:e.borderOpacity});Z.css({left:ka+"px",top:la+"px",width:S.x1+"px",height:na+"px"});ma.css({left:ka+
S.x1+"px",top:la+"px",width:S.width+"px",height:S.y1+"px"});ua.css({left:ka+S.x2+"px",top:la+"px",width:ra-S.x2+"px",height:na+"px"});Aa.css({left:ka+S.x1+"px",top:la+S.y2+"px",width:S.width+"px",height:na-S.y2+"px"});if(sa.length){sa[1].css({left:S.width-oa+"px"});sa[2].css({left:S.width-oa+"px",top:S.height-oa+"px"});sa[3].css({top:S.height-oa+"px"});if(sa.length==8){sa[4].css({left:(S.width-oa)/2+"px"});sa[5].css({left:S.width-oa+"px",top:(S.height-oa)/2+"px"});sa[6].css({left:(S.width-oa)/2+"px",
top:S.height-oa+"px"});sa[7].css({top:(S.height-oa)/2+"px"})}}if(R!==false){b.imgAreaSelect.keyPress!=Ca&&b(document).unbind(b.imgAreaSelect.keyPress,b.imgAreaSelect.onKeyPress);if(e.keys)b(document).bind(b.imgAreaSelect.keyPress,b.imgAreaSelect.onKeyPress=Ca)}if(b.browser.msie&&e.borderWidth==1&&e.borderOpacity<1){Q.add(ba).css("margin","0");setTimeout(function(){Q.add(ba).css("margin","auto")},0)}}}function l(R){if(!ya){h();ya=true;H.one("mouseout",function(){ya=false})}ja=c(f(R))-S.x1;va=d(k(R))-
S.y1;aa=[];if(e.resizable){if(va<=ga)aa[ia]="n";else if(va>=S.height-ga)aa[ia]="s";if(ja<=ga)aa[Y]="w";else if(ja>=S.width-ga)aa[Y]="e"}H.css("cursor",aa.length?aa.join("")+"-resize":e.movable?"move":"");T&&T.toggle()}function v(){aa=[];b("body").css("cursor","");if(e.autoHide||S.width*S.height==0)H.add(pa).hide();e.onSelectEnd(j,m());b(document).unbind("mousemove",B);H.mousemove(l)}function w(R){if(R.which!=1)return false;h();if(e.resizable&&aa.length>0){b("body").css("cursor",aa.join("")+"-resize");
P=q(S[aa[Y]=="w"?"x2":"x1"]);J=p(S[aa[ia]=="n"?"y2":"y1"]);b(document).mousemove(B).one("mouseup",v);H.unbind("mousemove",l)}else if(e.movable){fa=ka+S.x1-f(R);ca=la+S.y1-k(R);H.unbind("mousemove",l);b(document).mousemove(A).one("mouseup",function(){e.onSelectEnd(j,m());b(document).unbind("mousemove",A);H.mousemove(l)})}else E.mousedown(R);return false}function u(){M=V.max(ka,V.min(ka+ra,P+V.abs(K-J)*U*(M<P?-1:1)));K=V.round(V.max(la,V.min(la+na,J+V.abs(M-P)/U*(K<J?-1:1))));M=V.round(M)}function x(){K=
V.max(la,V.min(la+na,J+V.abs(M-P)/U*(K<J?-1:1)));M=V.round(V.max(ka,V.min(ka+ra,P+V.abs(K-J)*U*(M<P?-1:1))));K=V.round(K)}function y(){if(e.minWidth&&V.abs(M-P)<e.minWidth){M=P-e.minWidth*(M<P?1:-1);if(M<ka)P=ka+e.minWidth;else if(M>ka+ra)P=ka+ra-e.minWidth}if(e.minHeight&&V.abs(K-J)<e.minHeight){K=J-e.minHeight*(K<J?1:-1);if(K<la)J=la+e.minHeight;else if(K>la+na)J=la+na-e.minHeight}M=V.max(ka,V.min(M,ka+ra));K=V.max(la,V.min(K,la+na));if(U)V.abs(M-P)/U>V.abs(K-J)?x():u();if(e.maxWidth&&V.abs(M-P)>
e.maxWidth){M=P-e.maxWidth*(M<P?1:-1);U&&x()}if(e.maxHeight&&V.abs(K-J)>e.maxHeight){K=J-e.maxHeight*(K<J?1:-1);U&&u()}S={x1:c(V.min(P,M)),x2:c(V.max(P,M)),y1:d(V.min(J,K)),y2:d(V.max(J,K)),width:V.abs(M-P),height:V.abs(K-J)};n();e.onSelectChange(j,m())}function B(R){M=!aa.length||aa[Y]||U?f(R):q(S.x2);K=!aa.length||aa[ia]||U?k(R):p(S.y2);y();return false}function r(R,qa){M=(P=R)+S.width;K=(J=qa)+S.height;S=b.extend(S,{x1:c(P),y1:d(J),x2:c(M),y2:d(K)});n();e.onSelectChange(j,m())}function A(R){P=
V.max(ka,V.min(fa+f(R),ka+ra-S.width));J=V.max(la,V.min(ca+k(R),la+na-S.height));r(P,J);R.preventDefault();return false}function o(){h();M=P;K=J;y();aa=[];H.add(pa.is(":visible")?null:pa).show();za=true;b(document).unbind("mouseup",z).mousemove(B).one("mouseup",v);H.unbind("mousemove",l);e.onSelectStart(j,m())}function z(){b(document).unbind("mousemove",o);H.add(pa).hide();S={x1:0,y1:0,x2:0,y2:0,width:0,height:0};e.onSelectChange(j,S);e.onSelectEnd(j,S)}function C(R){if(R.which!=1)return false;h();
fa=P=f(R);ca=J=k(R);b(document).one("mousemove",o).one("mouseup",z);return false}function D(){h();n(false);P=q(S.x1);J=p(S.y1);M=q(S.x2);K=p(S.y2)}function F(){G=true;if(e.show){za=true;h();n();H.add(pa).show()}H.add(pa).css({visibility:""})}var E=b(j),G,H=b("<div />").addClass("imgAreaSelect-overlay"),O=b("<div />").addClass("imgAreaSelect-overlay"),Q=b("<div />").addClass("imgAreaSelect-overlay"),ba=b("<div />").addClass("imgAreaSelect-overlay"),T,Z=b("<div />").addClass("imgAreaSelect-overlay"),
ma=b("<div />").addClass("imgAreaSelect-overlay"),ua=b("<div />").addClass("imgAreaSelect-overlay"),Aa=b("<div />").addClass("imgAreaSelect-overlay"),xa=b([]),oa,sa=[],ka,la,V=Math,wa,ra,na,I,L,W=0,X="absolute",$,fa,ca,ea=1,ha=1,ga=10,aa=[],ia=0,Y=1,da,U,P,M,J,K,ja,va,ya,za,Ba,S={x1:0,y1:0,x2:0,y2:0,width:0,height:0},pa=Z.add(ma).add(ua).add(Aa),Ca=function(R){var qa=e.keys,ta,Da=R.keyCode||R.which;ta=!isNaN(qa.alt)&&(R.altKey||R.originalEvent.altKey)?qa.alt:!isNaN(qa.ctrl)&&R.ctrlKey?qa.ctrl:!isNaN(qa.shift)&&
R.shiftKey?qa.shift:!isNaN(qa.arrows)?qa.arrows:10;if(qa.arrows=="resize"||qa.shift=="resize"&&R.shiftKey||qa.ctrl=="resize"&&R.ctrlKey||qa.alt=="resize"&&(R.altKey||R.originalEvent.altKey)){switch(Da){case 37:ta=-ta;case 39:R=V.max(P,M);P=V.min(P,M);M=V.max(R+ta,P);U&&x();break;case 38:ta=-ta;case 40:R=V.max(J,K);J=V.min(J,K);K=V.max(R+ta,J);U&&u();break;default:return}y()}else{P=V.min(P,M);J=V.min(J,K);switch(Da){case 37:r(V.max(P-ta,ka),J);break;case 38:r(P,V.max(J-ta,la));break;case 39:r(P+V.min(ta,
ra-c(M)),J);break;case 40:r(P,J+V.min(ta,na-d(K)));break;default:return}}return false};this.setOptions=function(R){if(R.parent)(I=b(R.parent)).append(H.add(pa));h();g();if(R.x1!=null){S={x1:R.x1,y1:R.y1,x2:R.x2,y2:R.y2};R.show=!R.hide;P=q(S.x1);J=p(S.y1);M=q(S.x2);K=p(S.y2);S.width=M-P;S.height=K-J}if(R.handles!=null){xa.remove();xa=b(sa=[]);for(Ba=R.handles?R.handles=="corners"?4:8:0;Ba--;)xa=xa.add(sa[Ba]=b("<div />"));oa=4+e.borderWidth;xa.css({position:"absolute",borderWidth:e.borderWidth+"px",
borderStyle:"solid",borderColor:e.borderColor1,opacity:e.borderOpacity,backgroundColor:e.borderColor2,width:oa+"px",height:oa+"px",fontSize:"0px",zIndex:W>0?W+1:"1"}).addClass(e.classPrefix+"-handle");oa+=e.borderWidth*2}n();e=b.extend(e,R);if(e.imageWidth||e.imageHeight){ea=(parseInt(e.imageWidth)||ra)/ra;ha=(parseInt(e.imageHeight)||na)/na}if(R.keys)e.keys=b.extend({shift:1,ctrl:"resize"},R.keys===true?{}:R.keys);pa.addClass(e.classPrefix+"-outer");O.addClass(e.classPrefix+"-selection");Q.addClass(e.classPrefix+
"-border1");ba.addClass(e.classPrefix+"-border2");H.add(O).add(Q).add(ba).css({borderWidth:e.borderWidth+"px"});O.css({backgroundColor:e.selectionColor,opacity:e.selectionOpacity});Q.css({borderStyle:"solid",borderColor:e.borderColor1});ba.css({borderStyle:"dashed",borderColor:e.borderColor2});Q.add(ba).css({opacity:e.borderOpacity});pa.css({opacity:e.outerOpacity,backgroundColor:e.outerColor});H.append(O.add(Q).add(ba).add(xa).add(T));if(R.hide)H.add(pa).hide();else if(R.show&&G){za=true;n();H.add(pa).show()}if(U=
e.aspectRatio&&(da=e.aspectRatio.split(/:/))?da[0]/da[1]:null)if(e.minWidth)e.minHeight=parseInt(e.minWidth/U);else if(e.minHeight)e.minWidth=parseInt(e.minHeight*U);if(e.disable||e.enable===false){H.unbind("mousemove",l).unbind("mousedown",w);E.add(pa).unbind("mousedown",C);b(window).unbind("resize",D);E.add(E.parents()).unbind("scroll",D)}else if(e.enable||e.disable===false){if(e.resizable||e.movable)H.mousemove(l).mousedown(w);e.persistent||E.add(pa).mousedown(C);b(window).resize(D);E.add(E.parents()).scroll(D)}e.enable=
e.disable=undefined};b.browser.msie&&E.attr("unselectable","on");b.imgAreaSelect.keyPress=b.browser.msie||b.browser.safari?"keydown":"keypress";if(b.browser.opera)(T=b('<div style="width: 100%; height: 100%; position: absolute;" />')).css({zIndex:W>0?W+2:"2"});this.setOptions(e=b.extend({borderColor1:"#000",borderColor2:"#fff",borderWidth:1,borderOpacity:0.5,classPrefix:"imgareaselect",movable:true,resizable:true,selectionColor:"#fff",selectionOpacity:0,outerColor:"#000",outerOpacity:0.4,parent:"body",
onSelectStart:function(){},onSelectChange:function(){},onSelectEnd:function(){}},e));H.add(pa).css({visibility:"hidden",position:X,overflow:"hidden",zIndex:W>0?W:"0"});O.css({borderStyle:"solid"});H.css({position:X,zIndex:W>0?W+2:"2"});O.add(Q).add(ba).css({position:"absolute"});j.complete||j.readyState=="complete"||!E.is("img")?F():E.one("load",F)};b.fn.imgAreaSelect=function(j){j=j||{};this.each(function(){if(b(this).data("imgAreaSelect"))b(this).data("imgAreaSelect").setOptions(j);else{if(j.enable===
undefined&&j.disable===undefined)j.enable=true;b(this).data("imgAreaSelect",new b.imgAreaSelect.init(this,j))}});return this}})(jQuery);
(function(){function b(j,e){var q=this;j=jQuery(j);var p=jQuery(document.createElement("div")).addClass(e.baseClass).addClass(e.fixed?e.fixedClass:"").addClass(e.persistent?e.persistentClass:"").html(e.content).appendTo(j);e.hidden?p.hide():p.show();if(e.persistent){j.click(function(c){if(c.target===j.get(0))p.css("display")!=="none"?q.hide():q.show()});jQuery(window).mousedown(function(c){if(p.css("display")!=="none")if((e.focus?jQuery(c.target).parents(".tooltip").andSelf().filter(function(){return this===
p.get(0)}).length:0)===0)q.hide()})}else{j.hover(function(c){q.show(c)},function(){q.hide()});e.fixed||j.mousemove(function(c){p.css("display")!=="none"&&q.updatePos(c)})}jQuery.extend(q,{getVersion:function(){return[1,2,0]},getParent:function(){return j},getTooltip:function(){return p},getPos:function(){return p.offset()},setPos:function(c,d){var f=j.offset();if(typeof c=="string")c=parseInt(c)+f.left;if(typeof d=="string")d=parseInt(d)+f.top;p.css({left:c,top:d});return q},show:function(c){e.onBeforeShow.call(q);
q.updatePos(e.fixed?null:c);switch(e.showEffect){case "fade":p.fadeIn(e.showTime);break;case "slide":p.slideDown(e.showTime,q.updatePos);break;case "custom":e.showCustom.call(p,e.showTime);break;default:case "none":p.show();break}p.addClass(e.activeClass);e.onShow.call(q);return q},hide:function(){e.onBeforeHide.call(q);switch(e.hideEffect){case "fade":p.fadeOut(e.hideTime);break;case "slide":p.slideUp(e.hideTime);break;case "custom":e.hideCustom.call(p,e.hideTime);break;default:case "none":p.hide();
break}p.removeClass(e.activeClass);e.onHide.call(q);return q},update:function(c){p.html(c);e.content=c;return q},load:function(c,d){e.beforeContentLoad.call(q);p.load(c,d,function(){e.onContentLoad.call(q)});return q},boundryCheck:function(c,d){c=c+p.outerWidth();d=d+p.outerHeight();var f=jQuery(window).width()+jQuery(window).scrollLeft(),k=jQuery(window).height()+jQuery(window).scrollTop();return[c>=f,d>=k]},updatePos:function(c){var d=p.outerWidth(),f=p.outerHeight();if(!c&&e.fixed)if(e.position.constructor==
Array){m=parseInt(e.position[0]);c=parseInt(e.position[1])}else if(jQuery(e.position).attr("nodeType")===1){c=jQuery(e.position).offset();m=c.left;c=c.top}else{c=j.offset();m=j.outerWidth();var k=j.outerHeight();switch(e.position){case "top":var m=c.left-d/2+m/2;c=c.top-f;break;case "bottom":m=c.left-d/2+m/2;c=c.top+k;break;case "left":m=c.left-d;c=c.top-f/2+k/2;break;case "right":m=c.left+m;c=c.top-f/2+k/2;break;default:case "default":m=m/2+c.left+20;c=c.top;break}}else{m=c.pageX;c=c.pageY}if(typeof e.position!=
"object"){m+=e.offset[0];c+=e.offset[1];if(e.boundryCheck){k=q.boundryCheck(m,c);if(k[0])m=m-d/2-2*e.offset[0];if(k[1])c=c-f/2-2*e.offset[1]}}else{if(typeof e.position[0]=="string")m=String(m);if(typeof e.position[1]=="string")c=String(c)}q.setPos(m,c);return q}})}jQuery.fn.simpletip=function(j){var e=jQuery(this).eq(typeof j=="number"?j:0).data("simpletip");if(e)return e;var q={content:"A simple tooltip",persistent:false,focus:false,hidden:true,position:"default",offset:[0,0],boundryCheck:true,fixed:true,
showEffect:"fade",showTime:150,showCustom:null,hideEffect:"fade",hideTime:150,hideCustom:null,baseClass:"tooltip",activeClass:"active",fixedClass:"fixed",persistentClass:"persistent",focusClass:"focus",onBeforeShow:function(){},onShow:function(){},onBeforeHide:function(){},onHide:function(){},beforeContentLoad:function(){},onContentLoad:function(){}};jQuery.extend(q,j);this.each(function(){var p=new b(jQuery(this),q);jQuery(this).data("simpletip",p)});return this}})();
(function(b){if(window.google){google.feeds||google.load("feeds","1");b.fn.feedControl=function(j){j=b.extend({linkTarget:"_blank",max:5,onError:b.bourbon.N},j||{});var e=this.get(0),q=e.href||j.url,p=j.title||e.title||b(e).text();google.feeds.lookupFeed(q,function(c){if(c.error||c.url==null)j.onError();else{var d=new google.feeds.FeedControl;d.addFeed(c.url,p);d.setLinkTarget(j.linkTarget);d.setNumEntries(j.max);d.draw(e,j.tabs?{drawMode:google.feeds.FeedControl.DRAW_MODE_TABBED}:null)}});return this}}})(jQuery);
(function(b){function j(){}j.prototype={init:function(q,p){this.textArray=[];this.elements=[];this.options=p;this.jquery=q;this.n=-1;if(p.async===true)p.async=2;if(p.not){q=q.not(p.not);q=q.add(q.find("*").not(p.not)).not(b(p.not).find("*"))}else q=q.add(q.find("*"));this.jq=q;this.jql=this.jq.length;return this.process()},process:function(){this.n++;var q=this,p=this.options,c="",d=false,f=false,k=this.jq[this.n],m,g;if(this.n===this.jql){c=this.jquery.pushStack(this.elements,"nodesContainingText");
p.complete.call(c,c,this.textArray);if(p.returnAll===false&&p.walk===false)return this.jquery;return c}if(!k)return this.process();m=b(k);g=k.nodeName.toUpperCase();var h=g==="INPUT"&&b.attr(k,"type").toLowerCase();if({SCRIPT:1,NOSCRIPT:1,STYLE:1,OBJECT:1,IFRAME:1}[g])return this.process();if(typeof p.subject==="string")c=m.attr(p.subject);else if(p.altAndVal&&(g==="IMG"||h==="image"))c=m.attr("alt");else if(p.altAndVal&&{text:1,button:1,submit:1}[h])c=m.val();else if(g==="TEXTAREA")c=m.val();else{g=
k.firstChild;if(p.walk!==true)f=true;else for(;g;){if(g.nodeType==1){f=true;break}g=g.nextSibling}if(f){if(p.walk!==true)d=true;for(g=k.firstChild;g;){if(g.nodeType==3&&g.nodeValue.match(/\S/)!==null)if(g.nodeValue.match(/<![ \r\n\t]*(--([^\-]|[\r\n]|-[^\-])*--[ \r\n\t]*)>/)!==null){if(g.nodeValue.match(/(\S+(?=.*<))|(>(?=.*\S+))/)!==null){d=true;break}}else{d=true;break}g=g.nextSibling}if(d){c=m.html();c=p.stripScripts?c.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi,""):c;this.jq=this.jq.not(m.find("*"))}}else c=
m.text()}if(!c)return this.process();this.elements.push(k);this.textArray.push(c);p.each.call(k,this.elements.length-1,k,c);if(p.async){setTimeout(function(){q.process()},p.async);return this.jquery}else return this.process()}};var e={not:"",async:false,each:function(){},complete:function(){},comments:false,returnAll:true,walk:true,altAndVal:false,subject:true,stripScripts:true};b.fn.nodesContainingText=function(q){q=b.extend({},e,b.fn.nodesContainingText.defaults,q);return(new j).init(this,q)};b.fn.nodesContainingText.defaults=
e})(jQuery);
(function(b){function j(){}function e(){b.translate.GL=l=google.language;b.translate.GLL=v=l.Languages;w=b.translate.toLanguageCode;b.each(v,function(A,o){u[o.toUpperCase()]=A});b.translate.isReady=m;for(var r;r=y.shift();)r()}function q(r,A){var o={};b.each(r,function(z,C){if(A(C,z)===m)o[z]=C});return o}function p(r,A,o){return function(){return r.apply(A===m?arguments[0]:A,o||arguments)}}function c(r){return r!==h}function d(r,A,o){r=b.grep(r,c);var z,C={};b.each(A,function(D,F){D=b.grep(F[0],
function(E,G){return c(r[G])&&r[G].constructor===E}).length;if(D===r.length&&D===F[0].length&&(z=m)){b.each(F[1],function(E,G){C[G]=r[E]});return g}});if(!z)throw o;return C}function f(r,A){r=d(r,b.translate.overload,"jQuery.translate: Invalid arguments");var o=r.options||{};delete r.options;o=b.extend({},B,A,b.extend(o,r));if(o.fromOriginal)o.toggle=m;if(o.toggle)o.data=m;if(o.async===m)o.async=2;return o}function k(){this.extend(b.translate);delete this.defaults;delete this.fn}var m=true,g=false,
h,n="".replace,l,v,w,u={},x,y=[],B={from:"",to:"",start:j,error:j,each:j,complete:j,onTimeout:j,timeout:0,stripComments:m,stripWhitespace:m,stripScripts:m,separators:/\.\?\!;:/,limit:1750,walk:m,returnAll:g,replace:m,rebind:m,data:m,setLangAttr:g,subject:m,not:"",altAndVal:m,async:g,toggle:g,fromOriginal:m};k.prototype={version:"1.4.1",_init:function(r,A){var o=A.separators.source||A.separators,z=this.isString=typeof r==="string";b.each(["stripComments","stripScripts","stripWhitespace"],function(C,
D){C=b.translate[D];if(A[D])r=z?C(r):b.map(r,C)});this.rawSource="<div>"+(z?r:r.join("</div><div>"))+"</div>";this._m3=new RegExp("["+o+"](?![^"+o+"]*["+o+"])");this.options=A;this.from=A.from=w(A.from)||"";this.to=A.to=w(A.to)||"";this.source=r;this.rawTranslation="";this.translation=[];this.i=this.startPos=0;this.stopped=g;this.elements=A.nodes;A.start.call(this,r,A.from,A.to,A);if(A.timeout)this.timeout=setTimeout(p(A.onTimeout,this,[r,A.from,A.to,A]),A.timeout);A.toggle&&A.nodes?this._toggle():
this._process()},_process:function(){if(!this.stopped){var r=this.options,A=this.rawTranslation.length,o,z;this.rawSourceSub=this.truncate(this.rawSource.substr(this.startPos),r.limit);for(this.startPos+=this.rawSourceSub.length;(A=this.rawTranslation.lastIndexOf("</div>",A))>-1;){A=A-1;o=this.rawTranslation.substr(0,A+1);z=o.match(/<div[> ]/gi);o=o.match(/<\/div>/gi);z=z?z.length:0;o=o?o.length:0;if(z===o+1){A=b(this.rawTranslation.substr(0,A+7));z=A.length;var C=this.i;if(C===z)break;A.slice(C,
z).each(p(function(D,F){if(this.stopped)return g;F=b(F).html().replace(/^\s/,"");D=C+D;var E=this.source,G=!this.from&&this.detectedSourceLanguage||this.from;this.translation[D]=F;this.isString?(this.translation=F):(E=this.source[D]);r.each.call(this,D,F,E,G,this.to,r);this.i++},this));break}}this.rawSourceSub.length?this._translate():this._complete()}},_translate:function(){l.translate(this.rawSourceSub,this.from,this.to,p(function(r){if(r.error)return this.options.error.call(this,r.error,this.rawSourceSub,
this.from,this.to,this.options);this.rawTranslation+=r.translation||this.rawSourceSub;this.detectedSourceLanguage=r.detectedSourceLanguage;this._process()},this))},_complete:function(){clearTimeout(this.timeout);this.options.complete.call(this,this.translation,this.source,!this.from&&this.detectedSourceLanguage||this.from,this.to,this.options)},stop:function(){if(this.stopped)return this;this.stopped=m;this.options.error.call(this,{message:"stopped"});return this}};b.translate=function(r,A){if(r==
h)return new k;if(b.isFunction(r))return b.translate.ready(r,A);var o=new k,z=[].slice.call(arguments,0);z.shift();return b.translate.ready(p(o._init,o,[r,f(z,b.translate.defaults)]),g,o)};b.translate.fn=b.translate.prototype=k.prototype;b.translate.fn.extend=b.translate.extend=b.extend;b.translate.extend({_bind:p,_filter:q,_validate:d,_getOpt:f,_defaults:B,defaults:b.extend({},B),capitalize:function(r){return r.charAt(0).toUpperCase()+r.substr(1).toLowerCase()},truncate:function(r,A){var o,z,C,D,
F=encodeURIComponent(r);for(r=0;r<10;r++){try{D=decodeURIComponent(F.substr(0,A-r))}catch(E){continue}if(D)break}return!(o=/<(?![^<]*>)/.exec(D))?!/>\s*$/.exec(D)?(z=this._m3.exec(D))?(C=/>(?![^>]*<)/.exec(D))?z.index>C.index?D.substring(0,z.index+1):D.substring(0,C.index+1):D.substring(0,z.index+1):D:D:D.substring(0,o.index)},getLanguages:function(r,A){if(r==h||A==h&&!r)return v;var o={},z=typeof r,C=A?b.translate.getLanguages(r):v;if(r=z==="object"||z==="function"?r:A)if(r.call)o=q(C,r);else{A=
0;z=r.length;for(var D;A<z;A++){D=b.translate.toLanguage(r[A]);if(C[D]!=h)o[D]=C[D]}}else o=q(v,l.isTranslatable);return o},toLanguage:function(r,A){var o=r.toUpperCase();r=u[o]||(v[o]?o:h)||u[(b.translate.languageCodeMap[r.toLowerCase()]||"").toUpperCase()];return r==h?h:A==="lowercase"?r.toLowerCase():A==="capitalize"?b.translate.capitalize(r):r},toLanguageCode:function(r){return v[r]||v[b.translate.toLanguage(r)]||b.translate.languageCodeMap[r.toLowerCase()]},same:function(r,A){return r===A||w(r)===
w(A)},isTranslatable:function(r){return l.isTranslatable(w(r))},languageCodeMap:{he:"iw",zlm:"ms","zh-hans":"zh-CN","zh-hant":"zh-TW"},isRtl:{ar:m,iw:m,fa:m,ur:m,yi:m},getBranding:function(){return b(l.getBranding.apply(l,arguments))},load:function(r,A){function o(){google.load("language",A||"1",{callback:e})}x=m;typeof google!=="undefined"&&google.load?o():b.getScript("http://www.google.com/jsapi?"+(r?"key="+r:""),o);return b.translate},ready:function(r,A,o){b.translate.isReady?r():y.push(r);!x&&
!A&&b.translate.load();return o||b.translate},isReady:g,overload:[[[],[]],[[String,String,Object],["from","to","options"]],[[String,Object],["to","options"]],[[Object],["options"]],[[String,String],["from","to"]],[[String],["to"]],[[String,String,Function],["from","to","complete"]],[[String,Function],["to","complete"]]],stripScripts:p(n,m,[/<script[^>]*>([\s\S]*?)<\/script>/gi,""]),stripWhitespace:p(n,m,[/\s\s+/g," "]),stripComments:p(n,m,[/<![ \r\n\t]*(--([^\-]|[\r\n]|-[^\-])*--[ \r\n\t]*)>/g,""])})})(jQuery);
(function(b){function j(f,k){var m=f.css("text-align");f.css("direction",k);m==="right"&&f.css("text-align","left");m==="left"&&f.css("text-align","right")}function e(f,k){var m=f.nodeName.toUpperCase();f=m==="INPUT"&&b.attr(f,"type").toLowerCase();k=k||{altAndVal:q,subject:q};return typeof k.subject==="string"?k.subject:k.altAndVal&&(m==="IMG"||f==="image")?"alt":k.altAndVal&&p[f]?"$val":m==="TEXTAREA"?"$val":"$html"}var q=true,p={text:q,button:q,submit:q},c={SCRIPT:q,NOSCRIPT:q,STYLE:q,OBJECT:q,
IFRAME:q},d=b([]);d.length=1;b.translate.fn._toggle=function(){var f=this.options,k=f.to,m;this.elements.each(b.translate._bind(function(g,h){this.i=g;var n=b(h),l=b.translate.getData(n,k,f);if(!l)return!(m=q);this.translation.push(l);this.replace(n,l,k,f);this.setLangAttr(n,k,f);f.each.call(this,g,h,l,this.source[g],this.from,k,f)},this));!m?this._complete():this._process()};b.translate.extend({_getType:e,each:function(f,k,m,g,h,n,l){d[0]=k;b.translate.setData(d,n,m,h,g,l);b.translate.replace(d,
m,n,l);b.translate.setLangAttr(d,n,l)},getData:function(f,k,m){f=f[0]||f;var g=b.data(f,"translation");return g&&g[k]&&g[k][e(f,m)]},setData:function(f,k,m,g,h,n){if(!(n&&!n.data)){f=f[0]||f;n=e(f,n);var l=b.data(f,"translation");l=l||b.data(f,"translation",{});(l[g]=l[g]||{})[n]=h;(l[k]=l[k]||{})[n]=m}},replace:function(f,k,m,g){if(!(g&&!g.replace)){if(g&&typeof g.subject==="string")return f.attr(g.subject,k);var h=f[0]||f,n=h.nodeName.toUpperCase(),l=n==="INPUT"&&b.attr(h,"type").toLowerCase(),
v=b.translate.isRtl,w=b.data(h,"lang");if(w!==m){if(v[m]!==v[w||g&&g.from])if(v[m])j(f,"rtl");else f.css("direction")==="rtl"&&j(f,"ltr");if((!g||g.altAndVal)&&(n==="IMG"||l==="image"))f.attr("alt",k);else if(n==="TEXTAREA"||(!g||g.altAndVal)&&p[l])f.val(k);else if(!g||g.rebind){g=f.find("*").not("script");k=b("<div/>").html(k);b.translate.copyEvents(g,k.find("*"));f.html(k.contents())}else f.html(k);b.data(h,"lang",m)}}},setLangAttr:function(f,k,m){if(!m||m.setLangAttr)f.attr(!m||m.setLangAttr===
q?"lang":m.setLangAttr,k)},copyEvents:function(f,k){k.each(function(m,g){m=f[m];if(!g||!m)return false;if(c[m.nodeName.toUpperCase()])return q;m=b.data(m,"events");if(!m)return q;for(var h in m)for(var n in m[h])b.event.add(g,h,m[h][n],m[h][n].data)})}});b.fn.translate=function(){var f=b.translate._getOpt(arguments,b.fn.translate.defaults),k=b.extend({},b.translate._defaults,b.fn.translate.defaults,f,{complete:function(m,g){b.translate(function(){function h(v){return function(){[].unshift.call(arguments,
this.elements);v.apply(this,arguments)}}var n=b.translate.toLanguageCode(f.from);f.fromOriginal&&m.each(function(v,w){d[0]=w;w=b.translate.getData(d,n,f);if(!w)return true;g[v]=w});var l=f.each;f.nodes=m;f.start=h(f.start);f.onTimeout=h(f.onTimeout);f.complete=h(f.complete);f.each=function(v){var w=arguments;arguments.length!==7&&[].splice.call(w,1,0,this.elements[v]);this.each.apply(this,w);l.apply(this,w)};b.translate(g,f)})},each:function(){}});if(this.nodesContainingText)return this.nodesContainingText(k);
f.nodes=this;b.translate(b.map(this,function(m){return b(m).html()||b(m).val()}),f);return this};b.fn.translate.defaults=b.extend({},b.translate._defaults)})(jQuery);window.PR_SHOULD_USE_CONTINUATION=true;window.PR_TAB_WIDTH=8;window.PR_normalizedHtml=window.PR=window.prettyPrintOne=window.prettyPrint=void 0;window._pr_isIE6=function(){var b=navigator&&navigator.userAgent&&/\bMSIE 6\./.test(navigator.userAgent);window._pr_isIE6=function(){return b};return b};
(function(){function b(I){return I.replace(H,"&amp;").replace(O,"&lt;").replace(Q,"&gt;").replace(ba,"&quot;")}function j(I){return I.replace(H,"&amp;").replace(O,"&lt;").replace(Q,"&gt;")}function e(I){var L=I.indexOf("&");if(L<0)return I;for(--L;(L=I.indexOf("&#",L+1))>=0;){var W=I.indexOf(";",L);if(W>=0){var X=I.substring(L+3,W),$=10;if(X&&X.charAt(0)==="x"){X=X.substring(1);$=16}X=parseInt(X,$);isNaN(X)||(I=I.substring(0,L)+String.fromCharCode(X)+I.substring(W+1))}}return I.replace(T,"<").replace(Z,
">").replace(ma,"'").replace(ua,'"').replace(Aa,"&").replace(xa," ")}function q(I){return"XMP"===I.tagName}function p(I,L){switch(I.nodeType){case 1:var W=I.tagName.toLowerCase();L.push("<",W);for(var X=0;X<I.attributes.length;++X){var $=I.attributes[X];if($.specified){L.push(" ");p($,L)}}L.push(">");for(X=I.firstChild;X;X=X.nextSibling)p(X,L);if(I.firstChild||!/^(?:br|link|img)$/.test(W))L.push("</",W,">");break;case 2:L.push(I.name.toLowerCase(),'="',b(I.value),'"');break;case 3:case 4:L.push(j(I.nodeValue));
break}}function c(I){function L(Y){if(Y.charAt(0)!=="\\")return Y.charCodeAt(0);switch(Y.charAt(1)){case "b":return 8;case "t":return 9;case "n":return 10;case "v":return 11;case "f":return 12;case "r":return 13;case "u":case "x":return parseInt(Y.substring(2),16)||Y.charCodeAt(1);case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":return parseInt(Y.substring(1),8);default:return Y.charCodeAt(1)}}function W(Y){if(Y<32)return(Y<16?"\\x0":"\\x")+Y.toString(16);Y=String.fromCharCode(Y);
if(Y==="\\"||Y==="-"||Y==="["||Y==="]")Y="\\"+Y;return Y}function X(Y){var da=Y.substring(1,Y.length-1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g"));Y=[];for(var U=[],P=da[0]==="^",M=P?1:0,J=da.length;M<J;++M){var K=da[M];switch(K){case "\\B":case "\\b":case "\\D":case "\\d":case "\\S":case "\\s":case "\\W":case "\\w":Y.push(K);continue}K=L(K);var ja;if(M+2<J&&"-"===da[M+1]){ja=L(da[M+2]);M+=2}else ja=K;U.push([K,ja]);
if(!(ja<65||K>122)){ja<65||K>90||U.push([Math.max(65,K)|32,Math.min(ja,90)|32]);ja<97||K>122||U.push([Math.max(97,K)&-33,Math.min(ja,122)&-33])}}U.sort(function(va,ya){return va[0]-ya[0]||ya[1]-va[1]});da=[];K=[NaN,NaN];for(M=0;M<U.length;++M){J=U[M];if(J[0]<=K[1]+1)K[1]=Math.max(K[1],J[1]);else da.push(K=J)}U=["["];P&&U.push("^");U.push.apply(U,Y);for(M=0;M<da.length;++M){J=da[M];U.push(W(J[0]));if(J[1]>J[0]){J[1]+1>J[0]&&U.push("-");U.push(W(J[1]))}}U.push("]");return U.join("")}function $(Y){var da=
Y.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g")),U=da.length,P=[],M,J=0;for(M=0;J<U;++J){var K=da[J];if(K==="(")++M;else if("\\"===K.charAt(0))if((K=+K.substring(1))&&K<=M)P[K]=-1}for(J=1;J<P.length;++J)if(-1===P[J])P[J]=++fa;for(M=J=0;J<U;++J){K=da[J];if(K==="("){++M;if(P[M]===undefined)da[J]="(?:"}else if("\\"===K.charAt(0))if((K=+K.substring(1))&&K<=M)da[J]=
"\\"+P[M]}for(M=J=0;J<U;++J)if("^"===da[J]&&"^"!==da[J+1])da[J]="";if(Y.ignoreCase&&ca)for(J=0;J<U;++J){K=da[J];Y=K.charAt(0);if(K.length>=2&&Y==="[")da[J]=X(K);else if(Y!=="\\")da[J]=K.replace(/[a-zA-Z]/g,function(ja){ja=ja.charCodeAt(0);return"["+String.fromCharCode(ja&-33,ja|32)+"]"})}return da.join("")}for(var fa=0,ca=false,ea=false,ha=0,ga=I.length;ha<ga;++ha){var aa=I[ha];if(aa.ignoreCase)ea=true;else if(/[a-z]/i.test(aa.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){ca=true;
ea=false;break}}var ia=[];ha=0;for(ga=I.length;ha<ga;++ha){aa=I[ha];if(aa.global||aa.multiline)throw new Error(""+aa);ia.push("(?:"+$(aa)+")")}return new RegExp(ia.join("|"),ea?"gi":"g")}function d(I){if(null===oa){var L=document.createElement("PRE");L.appendChild(document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));oa=!/</.test(L.innerHTML)}if(oa){L=I.innerHTML;if(q(I))L=j(L);return L}L=[];for(I=I.firstChild;I;I=I.nextSibling)p(I,L);return L.join("")}function f(I){var L=0;return function(W){for(var X=
null,$=0,fa=0,ca=W.length;fa<ca;++fa)switch(W.charAt(fa)){case "\t":X||(X=[]);X.push(W.substring($,fa));$=I-L%I;for(L+=$;$>=0;$-=16)X.push("                ".substring(0,$));$=fa+1;break;case "\n":L=0;break;default:++L}if(!X)return W;X.push(W.substring($));return X.join("")}}function k(I){I=I.match(sa);var L=[],W=0,X=[];if(I)for(var $=0,fa=I.length;$<fa;++$){var ca=I[$];if(ca.length>1&&ca.charAt(0)==="<"){if(!ka.test(ca))if(la.test(ca)){L.push(ca.substring(9,ca.length-3));W+=ca.length-12}else if(V.test(ca)){L.push("\n");
++W}else if(ca.indexOf(E)>=0&&m(ca)){var ea=ca.match(wa)[2],ha=1,ga;ga=$+1;a:for(;ga<fa;++ga){var aa=I[ga].match(wa);if(aa&&aa[2]===ea)if(aa[1]==="/"){if(--ha===0)break a}else++ha}if(ga<fa){X.push(W,I.slice($,ga+1).join(""));$=ga}else X.push(W,ca)}else X.push(W,ca)}else{ca=e(ca);L.push(ca);W+=ca.length}}return{source:L.join(""),tags:X}}function m(I){return!!I.replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,' $1="$2$3$4"').match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/)}function g(I,L,
W,X){if(L){I={source:L,basePos:I};W(I);X.push.apply(X,I.decorations)}}function h(I,L){var W={},X;(function(){for(var ca=I.concat(L),ea=[],ha={},ga=0,aa=ca.length;ga<aa;++ga){var ia=ca[ga],Y=ia[3];if(Y)for(var da=Y.length;--da>=0;)W[Y.charAt(da)]=ia;ia=ia[1];Y=""+ia;if(!ha.hasOwnProperty(Y)){ea.push(ia);ha[Y]=null}}ea.push(/[\0-\uffff]/);X=c(ea)})();var $=L.length,fa=function(ca){for(var ea=ca.basePos,ha=[ea,D],ga=0,aa=ca.source.match(X)||[],ia={},Y=0,da=aa.length;Y<da;++Y){var U=aa[Y],P=ia[U],M,J;
if(typeof P==="string")J=false;else{var K=W[U.charAt(0)];if(K){M=U.match(K[1]);P=K[0]}else{for(J=0;J<$;++J){K=L[J];if(M=U.match(K[1])){P=K[0];break}}M||(P=D)}if((J=P.length>=5&&"lang-"===P.substring(0,5))&&!(M&&M[1])){J=false;P=F}J||(ia[U]=P)}K=ga;ga+=U.length;if(J){J=M[1];var ja=U.indexOf(J),va=ja+J.length;P=P.substring(5);g(ea+K,U.substring(0,ja),fa,ha);g(ea+K+ja,J,w(P,J),ha);g(ea+K+va,U.substring(va),fa,ha)}else ha.push(ea+K,P)}ca.decorations=ha};return fa}function n(I){var L=[],W=[];if(I.tripleQuotedStrings)L.push([B,
/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""]);else I.multiLineStrings?L.push([B,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"]):L.push([B,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"]);if(I.hashComments)I.cStyleComments?L.push([A,/^#(?:[^\r\n\/]|\/(?!\*)|\/\*[^\r\n]*?\*\/)*/,
null,"#"]):L.push([A,/^#[^\r\n]*/,null,"#"]);if(I.cStyleComments){W.push([A,/^\/\/[^\r\n]*/,null]);W.push([A,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}I.regexLiterals&&W.push(["lang-regex",new RegExp("^"+G+"(/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/)")]);I=I.keywords.replace(/^\s+|\s+$/g,"");I.length&&W.push([r,new RegExp("^(?:"+I.replace(/\s+/g,"|")+")\\b"),null]);L.push([D,/^\s+/,null," \r\n\t\u00a0"]);W.push([z,/^@[a-z_$][a-z_$@0-9]*/i,null,"@"],[o,/^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/,
null],[D,/^[a-z_$][a-z_$@0-9]*/i,null],[z,/^(?:0x[a-f0-9]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+\-]?\d+)?)[a-z]*/i,null,"0123456789"],[C,/^.[^\s\w\.$@\'\"\`\/\#]*/,null]);return h(L,W)}function l(I){function L(J){if(J>ca){if(ea&&ea!==ha){fa.push("</span>");ea=null}if(!ea&&ha){ea=ha;fa.push('<span class="',ea,'">')}var K=j(ia(W.substring(ca,J))).replace(M?da:Y,"$1&nbsp;");M=P.test(K);var ja=window._pr_isIE6()?"&nbsp;<br />":"<br />";fa.push(K.replace(U,ja));ca=J}}for(var W=I.source,X=I.extractedTags,
$=I.decorations,fa=[],ca=0,ea=null,ha=null,ga=0,aa=0,ia=f(window.PR_TAB_WIDTH),Y=/([\r\n ]) /g,da=/(^| ) /gm,U=/\r\n?|\n/g,P=/[ \r\n]$/,M=true;;)if(ga<X.length?aa<$.length?X[ga]<=$[aa]:true:false){L(X[ga]);if(ea){fa.push("</span>");ea=null}fa.push(X[ga+1]);ga+=2}else if(aa<$.length){L($[aa]);ha=$[aa+1];aa+=2}else break;L(W.length);ea&&fa.push("</span>");I.prettyPrintedHtml=fa.join("")}function v(I,L){for(var W=L.length;--W>=0;){var X=L[W];if(na.hasOwnProperty(X))"console"in window&&console.warn("cannot override language handler %s",
X);else na[X]=I}}function w(I,L){I&&na.hasOwnProperty(I)||(I=/^\s*</.test(L)?"default-markup":"default-code");return na[I]}function u(I){var L=I.sourceCodeHtml,W=I.langExtension;I.prettyPrintedHtml=L;try{var X=k(L),$=X.source;I.source=$;I.basePos=0;I.extractedTags=X.tags;w(W,$)(I);l(I)}catch(fa){if("console"in window){console.log(fa);console.trace()}}}function x(I,L){I={sourceCodeHtml:I,langExtension:L};u(I);return I.prettyPrintedHtml}function y(I,L){function W(){for(var da=window.PR_SHOULD_USE_CONTINUATION?
aa.now()+250:Infinity;ia<I.length&&aa.now()<da;ia++){var U=I[ia],P=U.className.match(/\blang-(\w+)\b/);if(P)P=P[1];for(var M=false,J=U.parentNode;J;J=J.parentNode)if((J.tagName==="pre"||J.tagName==="code"||J.tagName==="xmp")&&J.className&&J.className.indexOf("prettyprint")>=0){M=true;break}if(!M){M=d(U);M=M.replace(/(?:\r\n?|\n)$/,"");Y={sourceCodeHtml:M,langExtension:P,sourceNode:U};u(Y);X()}}if(ia<I.length)setTimeout(W,250);else L&&L()}function X(){var da=Y.prettyPrintedHtml;if(da){var U=Y.sourceNode;
if(q(U)){for(var P=document.createElement("PRE"),M=0;M<U.attributes.length;++M){var J=U.attributes[M];if(J.specified)if(J.name.toLowerCase()==="class")P.className=J.value;else P.setAttribute(J.name,J.value)}P.innerHTML=da;U.parentNode.replaceChild(P,U);U=P}else U.innerHTML=da;if($&&U.tagName==="PRE"){da=U.getElementsByTagName("br");for(U=da.length;--U>=0;){P=da[U];P.parentNode.replaceChild(document.createTextNode("\r"),P)}}}}var $=window._pr_isIE6();if(!I){var fa=[document.getElementsByTagName("pre"),
document.getElementsByTagName("code"),document.getElementsByTagName("xmp")];I=[];for(var ca=0;ca<fa.length;++ca)for(var ea=0,ha=fa[ca].length;ea<ha;++ea){var ga=fa[ca][ea];ga.className&&ga.className.indexOf("prettyprint")>=0&&I.push(ga)}fa=null}var aa=Date;aa.now||(aa={now:function(){return(new Date).getTime()}});var ia=0,Y;W()}var B="str",r="kwd",A="com",o="typ",z="lit",C="pun",D="pln",F="src",E="nocode",G=function(){for(var I=["!","!=","!==","#","%","%=","&","&&","&&=","&=","(","*","*=","+=",",",
"-=","->","/","/=",":","::",";","<","<<","<<=","<=","=","==","===",">",">=",">>",">>=",">>>",">>>=","?","@","[","^","^=","^^","^^=","{","|","|=","||","||=","~","break","case","continue","delete","do","else","finally","instanceof","return","throw","try","typeof"],L="(?:^^|[+-]",W=0;W<I.length;++W)L+="|"+I[W].replace(/([^=<>:&a-z])/g,"\\$1");L+=")\\s*";return L}(),H=/&/g,O=/</g,Q=/>/g,ba=/\"/g,T=/&lt;/g,Z=/&gt;/g,ma=/&apos;/g,ua=/&quot;/g,Aa=/&amp;/g,xa=/&nbsp;/g,oa=null,sa=new RegExp("[^<]+|<!--[\\s\\S]*?--\>|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>|</?[a-zA-Z][^>]*>|<",
"g"),ka=/^<\!--/,la=/^<\[CDATA\[/,V=/^<br\b/i,wa=/^<(\/?)([a-zA-Z]+)/,ra=n({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try alignof align_union asm axiom bool concept concept_map const_cast constexpr decltype dynamic_cast explicit export friend inline late_check mutable namespace nullptr reinterpret_cast static_assert static_cast template typeid typename typeof using virtual wchar_t where break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient as base by checked decimal delegate descending event fixed foreach from group implicit in interface internal into is lock object out override orderby params partial readonly ref sbyte sealed stackalloc string select uint ulong unchecked unsafe ushort var break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try debugger eval export function get null set undefined var with Infinity NaN caller delete die do dump elsif eval exit foreach for goto if import last local my next no our print package redo require sub undef unless until use wantarray while BEGIN END break continue do else for if return while and as assert class def del elif except exec finally from global import in is lambda nonlocal not or pass print raise try with yield False True None break continue do else for if return while alias and begin case class def defined elsif end ensure false in module next nil not or redo rescue retry self super then true undef unless until when yield BEGIN END break continue do else for if return while case done elif esac eval fi function in local set then until ",
hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true}),na={};v(ra,["default-code"]);v(h([],[[D,/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],[A,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[C,/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\s\S]+?)<\/script\b[^>]*>/i],["lang-css",/^<style\b[^>]*>([\s\S]+?)<\/style\b[^>]*>/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup",
"htm","html","mxml","xhtml","xml","xsl"]);v(h([[D,/^[\s]+/,null," \t\r\n"],["atv",/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w:-]*\w)?|\/?>$/],["atn",/^(?!style\b|on)[a-z](?:[\w:-]*\w)?/],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[C,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^sty\w+\s*=\s*\"([^\"]+)\"/i],["lang-css",/^sty\w+\s*=\s*\'([^\']+)\'/i],
["lang-css",/^sty\w+\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);v(h([],[["atv",/^[\s\S]+/]]),["uq.val"]);v(n({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try alignof align_union asm axiom bool concept concept_map const_cast constexpr decltype dynamic_cast explicit export friend inline late_check mutable namespace nullptr reinterpret_cast static_assert static_cast template typeid typename typeof using virtual wchar_t where ",
hashComments:true,cStyleComments:true}),["c","cc","cpp","cxx","cyc","m"]);v(n({keywords:"null true false"}),["json"]);v(n({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient as base by checked decimal delegate descending event fixed foreach from group implicit in interface internal into is lock object out override orderby params partial readonly ref sbyte sealed stackalloc string select uint ulong unchecked unsafe ushort var ",
hashComments:true,cStyleComments:true}),["cs"]);v(n({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient ",cStyleComments:true}),
["java"]);v(n({keywords:"break continue do else for if return while case done elif esac eval fi function in local set then until ",hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);v(n({keywords:"break continue do else for if return while and as assert class def del elif except exec finally from global import in is lambda nonlocal not or pass print raise try with yield False True None ",hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);v(n({keywords:"caller delete die do dump elsif eval exit foreach for goto if import last local my next no our print package redo require sub undef unless until use wantarray while BEGIN END ",
hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);v(n({keywords:"break continue do else for if return while alias and begin case class def defined elsif end ensure false in module next nil not or redo rescue retry self super then true undef unless until when yield BEGIN END ",hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);v(n({keywords:"break continue do else for if return while auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile catch class delete false import new operator private protected public this throw true try debugger eval export function get null set undefined var with Infinity NaN ",
cStyleComments:true,regexLiterals:true}),["js"]);v(h([],[[B,/^[\s\S]+/]]),["regex"]);window.PR_normalizedHtml=p;window.prettyPrintOne=x;window.prettyPrint=y;window.PR={combinePrefixPatterns:c,createSimpleLexer:h,registerLangHandler:v,sourceDecorator:n,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:A,PR_DECLARATION:"dec",PR_KEYWORD:r,PR_LITERAL:z,PR_NOCODE:E,PR_PLAIN:D,PR_PUNCTUATION:C,PR_SOURCE:F,PR_STRING:B,PR_TAG:"tag",PR_TYPE:o}})();
jQuery.ui||function(b){function j(k,m,g,h){function n(v){v=b[k][m][v]||[];return typeof v=="string"?v.split(/,?\s+/):v}var l=n("getter");if(h.length==1&&typeof h[0]=="string")l=l.concat(n("getterSetter"));return b.inArray(g,l)!=-1}var e=b.fn.remove,q=b.browser.mozilla&&parseFloat(b.browser.version)<1.9;b.ui={version:"1.7.2",plugin:{add:function(k,m,g){k=b.ui[k].prototype;for(var h in g){k.plugins[h]=k.plugins[h]||[];k.plugins[h].push([m,g[h]])}},call:function(k,m,g){if((m=k.plugins[m])&&k.element[0].parentNode)for(var h=
0;h<m.length;h++)k.options[m[h][0]]&&m[h][1].apply(k.element,g)}},contains:function(k,m){return document.compareDocumentPosition?k.compareDocumentPosition(m)&16:k!==m&&k.contains(m)},hasScroll:function(k,m){if(b(k).css("overflow")=="hidden")return false;m=m&&m=="left"?"scrollLeft":"scrollTop";var g=false;if(k[m]>0)return true;k[m]=1;g=k[m]>0;k[m]=0;return g},isOverAxis:function(k,m,g){return k>m&&k<m+g},isOver:function(k,m,g,h,n,l){return b.ui.isOverAxis(k,g,n)&&b.ui.isOverAxis(m,h,l)},keyCode:{BACKSPACE:8,
CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(q){var p=b.attr,c=b.fn.removeAttr,d=/^aria-/,f=/^wairole:/;b.attr=function(k,m,g){var h=g!==undefined;return m=="role"?h?p.call(this,k,m,"wairole:"+g):(p.apply(this,arguments)||"").replace(f,""):d.test(m)?h?k.setAttributeNS("http://www.w3.org/2005/07/aaa",
m.replace(d,"aaa:"),g):p.call(this,k,m.replace(d,"aaa:")):p.apply(this,arguments)};b.fn.removeAttr=function(k){return d.test(k)?this.each(function(){this.removeAttributeNS("http://www.w3.org/2005/07/aaa",k.replace(d,""))}):c.call(this,k)}}b.fn.extend({remove:function(){b("*",this).add(this).each(function(){b(this).triggerHandler("remove")});return e.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable",
"on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var k;k=b.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(b.curCSS(this,"position",1))&&/(auto|scroll)/.test(b.curCSS(this,"overflow",1)+b.curCSS(this,"overflow-y",1)+b.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(b.curCSS(this,
"overflow",1)+b.curCSS(this,"overflow-y",1)+b.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!k.length?b(document):k}});b.extend(b.expr[":"],{data:function(k,m,g){return!!b.data(k,g[3])},focusable:function(k){var m=k.nodeName.toLowerCase(),g=b.attr(k,"tabindex");return(/input|select|textarea|button|object/.test(m)?!k.disabled:"a"==m||"area"==m?k.href||!isNaN(g):!isNaN(g))&&!b(k)["area"==m?"parents":"closest"](":hidden").length},tabbable:function(k){var m=b.attr(k,"tabindex");
return(isNaN(m)||m>=0)&&b(k).is(":focusable")}});b.widget=function(k,m){var g=k.split(".")[0];k=k.split(".")[1];b.fn[k]=function(h){var n=typeof h=="string",l=Array.prototype.slice.call(arguments,1);if(n&&h.substring(0,1)=="_")return this;if(n&&j(g,k,h,l)){var v=b.data(this[0],k);return v?v[h].apply(v,l):undefined}return this.each(function(){var w=b.data(this,k);!w&&!n&&b.data(this,k,new b[g][k](this,h))._init();w&&n&&b.isFunction(w[h])&&w[h].apply(w,l)})};b[g]=b[g]||{};b[g][k]=function(h,n){var l=
this;this.namespace=g;this.widgetName=k;this.widgetEventPrefix=b[g][k].eventPrefix||k;this.widgetBaseClass=g+"-"+k;this.options=b.extend({},b.widget.defaults,b[g][k].defaults,b.metadata&&b.metadata.get(h)[k],n);this.element=b(h).bind("setData."+k,function(v,w,u){if(v.target==h)return l._setData(w,u)}).bind("getData."+k,function(v,w){if(v.target==h)return l._getData(w)}).bind("remove",function(){return l.destroy()})};b[g][k].prototype=b.extend({},b.widget.prototype,m);b[g][k].getterSetter="option"};
b.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").removeAttr("aria-disabled")},option:function(k,m){var g=k,h=this;if(typeof k=="string"){if(m===undefined)return this._getData(k);g={};g[k]=m}b.each(g,function(n,l){h._setData(n,l)})},_getData:function(k){return this.options[k]},_setData:function(k,m){this.options[k]=m;if(k=="disabled")this.element[m?"addClass":"removeClass"](this.widgetBaseClass+
"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",m)},enable:function(){this._setData("disabled",false)},disable:function(){this._setData("disabled",true)},_trigger:function(k,m,g){var h=this.options[k];k=k==this.widgetEventPrefix?k:this.widgetEventPrefix+k;m=b.Event(m);m.type=k;if(m.originalEvent){k=b.event.props.length;for(var n;k;){n=b.event.props[--k];m[n]=m.originalEvent[n]}}this.element.trigger(m,g);return!(b.isFunction(h)&&h.call(this.element[0],m,g)===false||m.isDefaultPrevented())}};
b.widget.defaults={disabled:false};b.ui.mouse={_mouseInit:function(){var k=this;this.element.bind("mousedown."+this.widgetName,function(m){return k._mouseDown(m)}).bind("click."+this.widgetName,function(m){if(k._preventClickEvent){k._preventClickEvent=false;m.stopImmediatePropagation();return false}});if(b.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);
b.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable)},_mouseDown:function(k){k.originalEvent=k.originalEvent||{};if(!k.originalEvent.mouseHandled){this._mouseStarted&&this._mouseUp(k);this._mouseDownEvent=k;var m=this,g=k.which==1,h=typeof this.options.cancel=="string"?b(k.target).parents().add(k.target).filter(this.options.cancel).length:false;if(!g||h||!this._mouseCapture(k))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){m.mouseDelayMet=
true},this.options.delay);if(this._mouseDistanceMet(k)&&this._mouseDelayMet(k)){this._mouseStarted=this._mouseStart(k)!==false;if(!this._mouseStarted){k.preventDefault();return true}}this._mouseMoveDelegate=function(n){return m._mouseMove(n)};this._mouseUpDelegate=function(n){return m._mouseUp(n)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);b.browser.safari||k.preventDefault();return k.originalEvent.mouseHandled=true}},
_mouseMove:function(k){if(b.browser.msie&&!k.button)return this._mouseUp(k);if(this._mouseStarted){this._mouseDrag(k);return k.preventDefault()}if(this._mouseDistanceMet(k)&&this._mouseDelayMet(k))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,k)!==false)?this._mouseDrag(k):this._mouseUp(k);return!this._mouseStarted},_mouseUp:function(k){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=
false;this._preventClickEvent=k.target==this._mouseDownEvent.target;this._mouseStop(k)}return false},_mouseDistanceMet:function(k){return Math.max(Math.abs(this._mouseDownEvent.pageX-k.pageX),Math.abs(this._mouseDownEvent.pageY-k.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}};b.ui.mouse.defaults={cancel:null,distance:1,delay:0}}(jQuery);
function diff_match_patch(){function b(){for(var j=0,e=1,q=2;e!=q;){j++;e=q;q<<=1}return j}this.Diff_Timeout=1;this.Diff_EditCost=4;this.Diff_DualThreshold=32;this.Match_Threshold=this.Match_Balance=0.5;this.Match_MinLength=100;this.Match_MaxLength=1E3;this.Patch_Margin=4;this.Match_MaxBits=b()}var DIFF_DELETE=-1,DIFF_INSERT=1,DIFF_EQUAL=0;a=diff_match_patch.prototype;
a.diff_main=function(b,j,e){if(b==j)return[[DIFF_EQUAL,b]];if(typeof e=="undefined")e=true;var q=e,p=this.diff_commonPrefix(b,j);e=b.substring(0,p);b=b.substring(p);j=j.substring(p);p=this.diff_commonSuffix(b,j);var c=b.substring(b.length-p);b=b.substring(0,b.length-p);j=j.substring(0,j.length-p);b=this.diff_compute(b,j,q);e&&b.unshift([DIFF_EQUAL,e]);c&&b.push([DIFF_EQUAL,c]);this.diff_cleanupMerge(b);return b};
a.diff_compute=function(b,j,e){var q;if(!b)return[[DIFF_INSERT,j]];if(!j)return[[DIFF_DELETE,b]];q=b.length>j.length?b:j;var p=b.length>j.length?j:b,c=q.indexOf(p);if(c!=-1){q=[[DIFF_INSERT,q.substring(0,c)],[DIFF_EQUAL,p],[DIFF_INSERT,q.substring(c+p.length)]];if(b.length>j.length)q[0][0]=q[2][0]=DIFF_DELETE;return q}if(q=this.diff_halfMatch(b,j)){j=q[1];var d=q[3];b=q[4];q=this.diff_main(q[0],q[2],e);e=this.diff_main(j,d,e);return q.concat([[DIFF_EQUAL,b]],e)}if(e&&(b.length<100||j.length<100))e=
false;if(e){d=this.diff_linesToChars(b,j);b=d[0];j=d[1];d=d[2]}(q=this.diff_map(b,j))||(q=[[DIFF_DELETE,b],[DIFF_INSERT,j]]);if(e){this.diff_charsToLines(q,d);this.diff_cleanupSemantic(q);q.push([DIFF_EQUAL,""]);j=b=e=0;for(p=d="";e<q.length;){switch(q[e][0]){case DIFF_INSERT:j++;p+=q[e][1];break;case DIFF_DELETE:b++;d+=q[e][1];break;case DIFF_EQUAL:if(b>=1&&j>=1){d=this.diff_main(d,p,false);q.splice(e-b-j,b+j);e=e-b-j;for(b=d.length-1;b>=0;b--)q.splice(e,0,d[b]);e+=d.length}b=j=0;p=d="";break}e++}q.pop()}return q};
a.diff_linesToChars=function(b,j){function e(c){for(var d="",f=0,k=-1,m=q.length;k<c.length-1;){k=c.indexOf("\n",f);if(k==-1)k=c.length-1;var g=c.substring(f,k+1);f=k+1;if(p.hasOwnProperty?p.hasOwnProperty(g):p[g]!==undefined)d+=String.fromCharCode(p[g]);else{d+=String.fromCharCode(m);p[g]=m;q[m++]=g}}return d}var q=[],p={};q[0]="";b=e(b);j=e(j);return[b,j,q]};a.diff_charsToLines=function(b,j){for(var e=0;e<b.length;e++){for(var q=b[e][1],p=[],c=0;c<q.length;c++)p[c]=j[q.charCodeAt(c)];b[e][1]=p.join("")}};
a.diff_map=function(b,j){var e=(new Date).getTime()+this.Diff_Timeout*1E3,q=b.length+j.length-1,p=this.Diff_DualThreshold*2<q,c=[],d=[],f={},k={};f[1]=0;k[1]=0;for(var m,g,h,n={},l=false,v=!!n.hasOwnProperty,w=(b.length+j.length)%2,u=0;u<q;u++){if(this.Diff_Timeout>0&&(new Date).getTime()>e)return null;c[u]={};for(var x=-u;x<=u;x+=2){m=x==-u||x!=u&&f[x-1]<f[x+1]?f[x+1]:f[x-1]+1;g=m-x;if(p){h=m+","+g;if(w&&(v?n.hasOwnProperty(h):n[h]!==undefined))l=true;w||(n[h]=u)}for(;!l&&m<b.length&&g<j.length&&
b.charAt(m)==j.charAt(g);){m++;g++;if(p){h=m+","+g;if(w&&(v?n.hasOwnProperty(h):n[h]!==undefined))l=true;w||(n[h]=u)}}f[x]=m;c[u][m+","+g]=true;if(m==b.length&&g==j.length)return this.diff_path1(c,b,j);else if(l){d=d.slice(0,n[h]+1);e=this.diff_path1(c,b.substring(0,m),j.substring(0,g));return e.concat(this.diff_path2(d,b.substring(m),j.substring(g)))}}if(p){d[u]={};for(x=-u;x<=u;x+=2){m=x==-u||x!=u&&k[x-1]<k[x+1]?k[x+1]:k[x-1]+1;g=m-x;h=b.length-m+","+(j.length-g);if(!w&&(v?n.hasOwnProperty(h):n[h]!==
undefined))l=true;if(w)n[h]=u;for(;!l&&m<b.length&&g<j.length&&b.charAt(b.length-m-1)==j.charAt(j.length-g-1);){m++;g++;h=b.length-m+","+(j.length-g);if(!w&&(v?n.hasOwnProperty(h):n[h]!==undefined))l=true;if(w)n[h]=u}k[x]=m;d[u][m+","+g]=true;if(l){c=c.slice(0,n[h]+1);e=this.diff_path1(c,b.substring(0,b.length-m),j.substring(0,j.length-g));return e.concat(this.diff_path2(d,b.substring(b.length-m),j.substring(j.length-g)))}}}}return null};
a.diff_path1=function(b,j,e){for(var q=[],p=j.length,c=e.length,d=null,f=b.length-2;f>=0;f--)for(;;)if(b[f].hasOwnProperty?b[f].hasOwnProperty(p-1+","+c):b[f][p-1+","+c]!==undefined){p--;if(d===DIFF_DELETE)q[0][1]=j.charAt(p)+q[0][1];else q.unshift([DIFF_DELETE,j.charAt(p)]);d=DIFF_DELETE;break}else if(b[f].hasOwnProperty?b[f].hasOwnProperty(p+","+(c-1)):b[f][p+","+(c-1)]!==undefined){c--;if(d===DIFF_INSERT)q[0][1]=e.charAt(c)+q[0][1];else q.unshift([DIFF_INSERT,e.charAt(c)]);d=DIFF_INSERT;break}else{p--;
c--;if(d===DIFF_EQUAL)q[0][1]=j.charAt(p)+q[0][1];else q.unshift([DIFF_EQUAL,j.charAt(p)]);d=DIFF_EQUAL}return q};
a.diff_path2=function(b,j,e){for(var q=[],p=0,c=j.length,d=e.length,f=null,k=b.length-2;k>=0;k--)for(;;)if(b[k].hasOwnProperty?b[k].hasOwnProperty(c-1+","+d):b[k][c-1+","+d]!==undefined){c--;if(f===DIFF_DELETE)q[p-1][1]+=j.charAt(j.length-c-1);else q[p++]=[DIFF_DELETE,j.charAt(j.length-c-1)];f=DIFF_DELETE;break}else if(b[k].hasOwnProperty?b[k].hasOwnProperty(c+","+(d-1)):b[k][c+","+(d-1)]!==undefined){d--;if(f===DIFF_INSERT)q[p-1][1]+=e.charAt(e.length-d-1);else q[p++]=[DIFF_INSERT,e.charAt(e.length-
d-1)];f=DIFF_INSERT;break}else{c--;d--;if(f===DIFF_EQUAL)q[p-1][1]+=j.charAt(j.length-c-1);else q[p++]=[DIFF_EQUAL,j.charAt(j.length-c-1)];f=DIFF_EQUAL}return q};a.diff_commonPrefix=function(b,j){if(!b||!j||b.charCodeAt(0)!==j.charCodeAt(0))return 0;for(var e=0,q=Math.min(b.length,j.length),p=q,c=0;e<p;){if(b.substring(c,p)==j.substring(c,p))c=e=p;else q=p;p=Math.floor((q-e)/2+e)}return p};
a.diff_commonSuffix=function(b,j){if(!b||!j||b.charCodeAt(b.length-1)!==j.charCodeAt(j.length-1))return 0;for(var e=0,q=Math.min(b.length,j.length),p=q,c=0;e<p;){if(b.substring(b.length-p,b.length-c)==j.substring(j.length-p,j.length-c))c=e=p;else q=p;p=Math.floor((q-e)/2+e)}return p};
a.diff_halfMatch=function(b,j){function e(f,k,m){for(var g=f.substring(m,m+Math.floor(f.length/4)),h=-1,n="",l,v,w,u;(h=k.indexOf(g,h+1))!=-1;){var x=c.diff_commonPrefix(f.substring(m),k.substring(h)),y=c.diff_commonSuffix(f.substring(0,m),k.substring(0,h));if(n.length<y+x){n=k.substring(h-y,h)+k.substring(h,h+x);l=f.substring(0,m-y);v=f.substring(m+x);w=k.substring(0,h-y);u=k.substring(h+x)}}return n.length>=f.length/2?[l,v,w,u,n]:null}var q=b.length>j.length?b:j,p=b.length>j.length?j:b;if(q.length<
10||p.length<1)return null;var c=this,d=e(q,p,Math.ceil(q.length/4));q=e(q,p,Math.ceil(q.length/2));if(!d&&!q)return null;else d=q?d?d[4].length>q[4].length?d:q:q:d;if(b.length>j.length){b=d[0];j=d[1];q=d[2];p=d[3]}else{q=d[0];p=d[1];b=d[2];j=d[3]}return[b,j,q,p,d[4]]};
a.diff_cleanupSemantic=function(b){for(var j=false,e=[],q=0,p=null,c=0,d=0,f=0;c<b.length;){if(b[c][0]==DIFF_EQUAL){e[q++]=c;d=f;f=0;p=b[c][1]}else{f+=b[c][1].length;if(p!==null&&p.length<=d&&p.length<=f){b.splice(e[q-1],0,[DIFF_DELETE,p]);b[e[q-1]+1][0]=DIFF_INSERT;q--;q--;c=q>0?e[q-1]:-1;f=d=0;p=null;j=true}}c++}j&&this.diff_cleanupMerge(b);this.diff_cleanupSemanticLossless(b)};
a.diff_cleanupSemanticLossless=function(b){function j(u,x){if(!u||!x)return 5;var y=0;if(u.charAt(u.length-1).match(e)||x.charAt(0).match(e)){y++;if(u.charAt(u.length-1).match(q)||x.charAt(0).match(q)){y++;if(u.charAt(u.length-1).match(p)||x.charAt(0).match(p)){y++;if(u.match(c)||x.match(d))y++}}}return y}for(var e=/[^a-zA-Z0-9]/,q=/\s/,p=/[\r\n]/,c=/\n\r?\n$/,d=/^\r?\n\r?\n/,f=1;f<b.length-1;){if(b[f-1][0]==DIFF_EQUAL&&b[f+1][0]==DIFF_EQUAL){var k=b[f-1][1],m=b[f][1],g=b[f+1][1],h=this.diff_commonSuffix(k,
m);if(h){var n=m.substring(m.length-h);k=k.substring(0,k.length-h);m=n+m.substring(0,m.length-h);g=n+g}h=k;n=m;for(var l=g,v=j(k,m)+j(m,g);m.charAt(0)===g.charAt(0);){k+=m.charAt(0);m=m.substring(1)+g.charAt(0);g=g.substring(1);var w=j(k,m)+j(m,g);if(w>=v){v=w;h=k;n=m;l=g}}if(b[f-1][1]!=h){if(h)b[f-1][1]=h;else{b.splice(f-1,1);f--}b[f][1]=n;if(l)b[f+1][1]=l;else{b.splice(f+1,1);f--}}}f++}};
a.diff_cleanupEfficiency=function(b){for(var j=false,e=[],q=0,p="",c=0,d=false,f=false,k=false,m=false;c<b.length;){if(b[c][0]==DIFF_EQUAL){if(b[c][1].length<this.Diff_EditCost&&(k||m)){e[q++]=c;d=k;f=m;p=b[c][1]}else{q=0;p=""}k=m=false}else{if(b[c][0]==DIFF_DELETE)m=true;else k=true;if(p&&(d&&f&&k&&m||p.length<this.Diff_EditCost/2&&d+f+k+m==3)){b.splice(e[q-1],0,[DIFF_DELETE,p]);b[e[q-1]+1][0]=DIFF_INSERT;q--;p="";if(d&&f){k=m=true;q=0}else{q--;c=q>0?e[q-1]:-1;k=m=false}j=true}}c++}j&&this.diff_cleanupMerge(b)};
a.diff_cleanupMerge=function(b){b.push([DIFF_EQUAL,""]);for(var j=0,e=0,q=0,p="",c="",d;j<b.length;)switch(b[j][0]){case DIFF_INSERT:q++;c+=b[j][1];j++;break;case DIFF_DELETE:e++;p+=b[j][1];j++;break;case DIFF_EQUAL:if(e!==0||q!==0){if(e!==0&&q!==0){d=this.diff_commonPrefix(c,p);if(d!==0){if(j-e-q>0&&b[j-e-q-1][0]==DIFF_EQUAL)b[j-e-q-1][1]+=c.substring(0,d);else{b.splice(0,0,[DIFF_EQUAL,c.substring(0,d)]);j++}c=c.substring(d);p=p.substring(d)}d=this.diff_commonSuffix(c,p);if(d!==0){b[j][1]=c.substring(c.length-
d)+b[j][1];c=c.substring(0,c.length-d);p=p.substring(0,p.length-d)}}if(e===0)b.splice(j-e-q,e+q,[DIFF_INSERT,c]);else q===0?b.splice(j-e-q,e+q,[DIFF_DELETE,p]):b.splice(j-e-q,e+q,[DIFF_DELETE,p],[DIFF_INSERT,c]);j=j-e-q+(e?1:0)+(q?1:0)+1}else if(j!==0&&b[j-1][0]==DIFF_EQUAL){b[j-1][1]+=b[j][1];b.splice(j,1)}else j++;e=q=0;c=p="";break}b[b.length-1][1]===""&&b.pop();e=false;for(j=1;j<b.length-1;){if(b[j-1][0]==DIFF_EQUAL&&b[j+1][0]==DIFF_EQUAL)if(b[j][1].substring(b[j][1].length-b[j-1][1].length)==
b[j-1][1]){b[j][1]=b[j-1][1]+b[j][1].substring(0,b[j][1].length-b[j-1][1].length);b[j+1][1]=b[j-1][1]+b[j+1][1];b.splice(j-1,1);e=true}else if(b[j][1].substring(0,b[j+1][1].length)==b[j+1][1]){b[j-1][1]+=b[j+1][1];b[j][1]=b[j][1].substring(b[j+1][1].length)+b[j+1][1];b.splice(j+1,1);e=true}j++}e&&this.diff_cleanupMerge(b)};
a.diff_xIndex=function(b,j){var e=0,q=0,p=0,c=0,d;for(d=0;d<b.length;d++){if(b[d][0]!==DIFF_INSERT)e+=b[d][1].length;if(b[d][0]!==DIFF_DELETE)q+=b[d][1].length;if(e>j)break;p=e;c=q}if(b.length!=d&&b[d][0]===DIFF_DELETE)return c;return c+(j-p)};
a.diff_prettyHtml=function(b){for(var j=[],e=0,q=0;q<b.length;q++){var p=b[q][0],c=b[q][1],d=c.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\n/g,"&para;<BR>");switch(p){case DIFF_INSERT:j[q]='<INS STYLE="background:#E6FFE6;" TITLE="i='+e+'">'+d+"</INS>";break;case DIFF_DELETE:j[q]='<DEL STYLE="background:#FFE6E6;" TITLE="i='+e+'">'+d+"</DEL>";break;case DIFF_EQUAL:j[q]='<SPAN TITLE="i='+e+'">'+d+"</SPAN>";break}if(p!==DIFF_DELETE)e+=c.length}return j.join("")};
a.diff_text1=function(b){for(var j=[],e=0;e<b.length;e++)if(b[e][0]!==DIFF_INSERT)j[e]=b[e][1];return j.join("")};a.diff_text2=function(b){for(var j=[],e=0;e<b.length;e++)if(b[e][0]!==DIFF_DELETE)j[e]=b[e][1];return j.join("")};
a.diff_toDelta=function(b){for(var j=[],e=0;e<b.length;e++)switch(b[e][0]){case DIFF_INSERT:j[e]="+"+encodeURI(b[e][1]);break;case DIFF_DELETE:j[e]="-"+b[e][1].length;break;case DIFF_EQUAL:j[e]="="+b[e][1].length;break}return j.join("\t").replace(/\0/g,"%00").replace(/%20/g," ")};
a.diff_fromDelta=function(b,j){var e=[],q=0,p=0;j=j.replace(/%00/g,"\u0000");j=j.split(/\t/g);for(var c=0;c<j.length;c++){var d=j[c].substring(1);switch(j[c].charAt(0)){case "+":try{e[q++]=[DIFF_INSERT,decodeURI(d)]}catch(f){throw new Error("Illegal escape in diff_fromDelta: "+d);}break;case "-":case "=":var k=parseInt(d,10);if(isNaN(k)||k<0)throw new Error("Invalid number in diff_fromDelta: "+d);d=b.substring(p,p+=k);if(j[c].charAt(0)=="=")e[q++]=[DIFF_EQUAL,d];else e[q++]=[DIFF_DELETE,d];break;
default:if(j[c])throw new Error("Invalid diff operation in diff_fromDelta: "+j[c]);}}if(p!=b.length)throw new Error("Delta length ("+p+") does not equal source text length ("+b.length+").");return e};a.match_main=function(b,j,e){e=Math.max(0,Math.min(e,b.length-j.length));return b==j?0:b.length===0?null:b.substring(e,e+j.length)==j?e:this.match_bitap(b,j,e)};
a.match_bitap=function(b,j,e){function q(x,y){y=Math.abs(e-y);return x/j.length/d.Match_Balance+y/c/(1-d.Match_Balance)}if(j.length>this.Match_MaxBits)throw new Error("Pattern too long for this browser.");var p=this.match_alphabet(j),c=b.length;c=Math.max(c,this.Match_MinLength);c=Math.min(c,this.Match_MaxLength);var d=this,f=this.Match_Threshold,k=b.indexOf(j,e);if(k!=-1)f=Math.min(q(0,k),f);k=b.lastIndexOf(j,e+j.length);if(k!=-1)f=Math.min(q(0,k),f);var m=1<<j.length-1;k=null;for(var g,h,n=Math.max(e+
e,b.length),l,v=0;v<j.length;v++){var w=Array(b.length);g=e;for(h=n;g<h;){if(q(v,h)<f)g=h;else n=h;h=Math.floor((n-g)/2+g)}n=h;g=Math.max(0,e-(h-e)-1);h=Math.min(b.length-1,j.length+h);w[h]=b.charAt(h)==j.charAt(j.length-1)?(1<<v+1)-1:(1<<v)-1;for(h=h-1;h>=g;h--){w[h]=v===0?(w[h+1]<<1|1)&p[b.charAt(h)]:(w[h+1]<<1|1)&p[b.charAt(h)]|l[h+1]<<1|1|l[h]<<1|1|l[h+1];if(w[h]&m){var u=q(v,h);if(u<=f){f=u;k=h;if(h>e)g=Math.max(0,e-(h-e));else break}}}if(q(v+1,e)>f)break;l=w}return k};
a.match_alphabet=function(b){for(var j={},e=0;e<b.length;e++)j[b.charAt(e)]=0;for(e=0;e<b.length;e++)j[b.charAt(e)]|=1<<b.length-e-1;return j};
a.patch_addContext=function(b,j){for(var e=j.substring(b.start2,b.start2+b.length1),q=0;j.indexOf(e)!=j.lastIndexOf(e)&&e.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;){q+=this.Patch_Margin;e=j.substring(b.start2-q,b.start2+b.length1+q)}q+=this.Patch_Margin;e=j.substring(b.start2-q,b.start2);e!==""&&b.diffs.unshift([DIFF_EQUAL,e]);j=j.substring(b.start2+b.length1,b.start2+b.length1+q);j!==""&&b.diffs.push([DIFF_EQUAL,j]);b.start1-=e.length;b.start2-=e.length;b.length1+=e.length+j.length;
b.length2+=e.length+j.length};
a.patch_make=function(b,j,e){var q;if(typeof j=="undefined"){j=b;q=this.diff_text1(j)}else{q=b;if(typeof e!="undefined")j=e;else{j=this.diff_main(q,j,true);if(j.length>2){this.diff_cleanupSemantic(j);this.diff_cleanupEfficiency(j)}}}if(j.length===0)return[];e=[];b=new patch_obj;var p=0,c=0,d=0,f=q;q=q;for(var k=0;k<j.length;k++){var m=j[k][0],g=j[k][1];if(!p&&m!==DIFF_EQUAL){b.start1=c;b.start2=d}switch(m){case DIFF_INSERT:b.diffs[p++]=j[k];b.length2+=g.length;q=q.substring(0,d)+g+q.substring(d);
break;case DIFF_DELETE:b.length1+=g.length;b.diffs[p++]=j[k];q=q.substring(0,d)+q.substring(d+g.length);break;case DIFF_EQUAL:if(g.length<=2*this.Patch_Margin&&p&&j.length!=k+1){b.diffs[p++]=j[k];b.length1+=g.length;b.length2+=g.length}else if(g.length>=2*this.Patch_Margin)if(p){this.patch_addContext(b,f);e.push(b);b=new patch_obj;p=0;f=q}break}if(m!==DIFF_INSERT)c+=g.length;if(m!==DIFF_DELETE)d+=g.length}if(p){this.patch_addContext(b,f);e.push(b)}return e};
a.patch_apply=function(b,j){if(b.length==0)return[j,[]];for(var e=[],q=0;q<b.length;q++){var p=b[q],c=new patch_obj;c.diffs=p.diffs.slice();c.start1=p.start1;c.start2=p.start2;c.length1=p.length1;c.length2=p.length2;e[q]=c}b=e;e=this.patch_addPadding(b);j=e+j+e;this.patch_splitMax(b);p=0;c=[];for(q=0;q<b.length;q++){var d=b[q].start2+p,f=this.diff_text1(b[q].diffs),k=this.match_main(j,f,d);if(k===null)c[q]=false;else{c[q]=true;p=k-d;d=j.substring(k,k+f.length);if(f==d)j=j.substring(0,k)+this.diff_text2(b[q].diffs)+
j.substring(k+f.length);else{f=this.diff_main(f,d,false);this.diff_cleanupSemanticLossless(f);d=0;for(var m,g=0;g<b[q].diffs.length;g++){var h=b[q].diffs[g];if(h[0]!==DIFF_EQUAL)m=this.diff_xIndex(f,d);if(h[0]===DIFF_INSERT)j=j.substring(0,k+m)+h[1]+j.substring(k+m);else if(h[0]===DIFF_DELETE)j=j.substring(0,k+m)+j.substring(k+this.diff_xIndex(f,d+h[1].length));if(h[0]!==DIFF_DELETE)d+=h[1].length}}}}j=j.substring(e.length,j.length-e.length);return[j,c]};
a.patch_addPadding=function(b){for(var j="",e=0;e<this.Patch_Margin;e++)j+=String.fromCharCode(e);for(e=0;e<b.length;e++){b[e].start1+=j.length;b[e].start2+=j.length}e=b[0];var q=e.diffs;if(q.length==0||q[0][0]!=DIFF_EQUAL){q.unshift([DIFF_EQUAL,j]);e.start1-=j.length;e.start2-=j.length;e.length1+=j.length;e.length2+=j.length}else if(j.length>q[0][1].length){var p=j.length-q[0][1].length;q[0][1]=j.substring(q[0][1].length)+q[0][1];e.start1-=p;e.start2-=p;e.length1+=p;e.length2+=p}e=b[b.length-1];
q=e.diffs;if(q.length==0||q[q.length-1][0]!=DIFF_EQUAL){q.push([DIFF_EQUAL,j]);e.length1+=j.length;e.length2+=j.length}else if(j.length>q[q.length-1][1].length){p=j.length-q[q.length-1][1].length;q[q.length-1][1]+=j.substring(0,p);e.length1+=p;e.length2+=p}return j};
a.patch_splitMax=function(b){for(var j=0;j<b.length;j++)if(b[j].length1>this.Match_MaxBits){var e=b[j];b.splice(j,1);for(var q=this.Match_MaxBits,p=e.start1,c=e.start2,d="";e.diffs.length!==0;){var f=new patch_obj,k=true;f.start1=p-d.length;f.start2=c-d.length;if(d!==""){f.length1=f.length2=d.length;f.diffs.push([DIFF_EQUAL,d])}for(;e.diffs.length!==0&&f.length1<q-this.Patch_Margin;){d=e.diffs[0][0];var m=e.diffs[0][1];if(d===DIFF_INSERT){f.length2+=m.length;c+=m.length;f.diffs.push(e.diffs.shift());
k=false}else{m=m.substring(0,q-f.length1-this.Patch_Margin);f.length1+=m.length;p+=m.length;if(d===DIFF_EQUAL){f.length2+=m.length;c+=m.length}else k=false;f.diffs.push([d,m]);if(m==e.diffs[0][1])e.diffs.shift();else e.diffs[0][1]=e.diffs[0][1].substring(m.length)}}d=this.diff_text2(f.diffs);d=d.substring(d.length-this.Patch_Margin);m=this.diff_text1(e.diffs).substring(0,this.Patch_Margin);if(m!==""){f.length1+=m.length;f.length2+=m.length;if(f.diffs.length!==0&&f.diffs[f.diffs.length-1][0]===DIFF_EQUAL)f.diffs[f.diffs.length-
1][1]+=m;else f.diffs.push([DIFF_EQUAL,m])}k||b.splice(j++,0,f)}}};a.patch_toText=function(b){for(var j=[],e=0;e<b.length;e++)j[e]=b[e];return j.join("")};
a.patch_fromText=function(b){var j=[];if(!b)return j;b=b.replace(/%00/g,"\u0000");b=b.split("\n");for(var e=0;e<b.length;){var q=b[e].match(/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/);if(!q)throw new Error("Invalid patch string: "+b[e]);var p=new patch_obj;j.push(p);p.start1=parseInt(q[1],10);if(q[2]===""){p.start1--;p.length1=1}else if(q[2]=="0")p.length1=0;else{p.start1--;p.length1=parseInt(q[2],10)}p.start2=parseInt(q[3],10);if(q[4]===""){p.start2--;p.length2=1}else if(q[4]=="0")p.length2=0;else{p.start2--;
p.length2=parseInt(q[4],10)}for(e++;e<b.length;){q=b[e].charAt(0);try{var c=decodeURI(b[e].substring(1))}catch(d){throw new Error("Illegal escape in patch_fromText: "+c);}if(q=="-")p.diffs.push([DIFF_DELETE,c]);else if(q=="+")p.diffs.push([DIFF_INSERT,c]);else if(q==" ")p.diffs.push([DIFF_EQUAL,c]);else if(q=="@")break;else if(q!=="")throw new Error('Invalid patch mode "'+q+'" in: '+c);e++}}return j};function patch_obj(){this.diffs=[];this.start2=this.start1=null;this.length2=this.length1=0}
patch_obj.prototype.toString=function(){for(var b=["@@ -"+(this.length1===0?this.start1+",0":this.length1==1?this.start1+1:this.start1+1+","+this.length1)+" +"+(this.length2===0?this.start2+",0":this.length2==1?this.start2+1:this.start2+1+","+this.length2)+" @@\n"],j,e=0;e<this.diffs.length;e++){switch(this.diffs[e][0]){case DIFF_INSERT:j="+";break;case DIFF_DELETE:j="-";break;case DIFF_EQUAL:j=" ";break}b[e+1]=j+encodeURI(this.diffs[e][1])+"\n"}return b.join("").replace(/\0/g,"%00").replace(/%20/g,
" ")};(function(b){b.cctext={}})(jQuery);
(function(b){var j=new diff_match_patch;b.cctext.diff={patch:function(e,q,p){e=e||"";q=q||"";if(e==q)return p?b.extend(p,{diff:0,patch:""}):"";var c=j.diff_main(e,q),d=j.patch_toText(j.patch_make(c));if(p){p.patch=d;p.diff=e.length?this.meter(e,q,c):q.length?5:0;return p}return d},applyPatch:function(e,q){q=q||"";return j.patch_apply(j.patch_fromText(e),q)[0]},meter:function(e,q,p){e=e||"";q=q||"";p||(p=j.diff_main(e,q));var c=0,d=0,f=0;b.each(p,function(){if(this[0]===0){f+=Math.max(c,d);c=d=0}else if(this[0]===
-1)c+=this[1].length;else if(this[0]===1)d+=this[1].length});f+=Math.max(c,d);f=Math.ceil(f/e.length*5);return f>5?5:f},merge:function(e,q,p){e=e||"";q=q||"";p=p||"";var c=j.diff_main(e,q,true);c.length>2&&j.diff_cleanupSemantic(c);e=j.patch_make(e,q,c);return j.patch_apply(e,p)[0]},merge2:function(e,q,p){return this.merge(e,q,j.patch_apply(j.patch_fromText(p),e)[0])},pretty:function(e,q){e=e||"";q=q||"";e=j.diff_main(e,q);j.diff_cleanupEfficiency(e);return"<pre>"+j.diff_prettyHtml(e).replace(/&para;/g,
"")+"</pre>"}}})(jQuery);
(function(b){function j(k){return(k||"").replace(/\"/g,"&quto;")}var e=b.bourbon.regex,q=function(k,m){return m},p=function(k,m,g){return g},c=function(k,m,g,h){return h},d=b.bourbon.F(""),f=function(k){return k?b.template(k):d};b.cctext.default_options={topicURL:function(k){return"#"+b.trim(k||"").replace(/[ ]/g,"_")},bullistItemStyle:function(k){return b.browser.msie?"padding-left:"+k*20+"px;":"margin-left:"+(k*20+16)+"px;"},numlistItemStyle:function(k){return"padding-left:"+(k*20+16)+"px;text-indent:-14px;"}};
b.cctext.html=function(k,m){k=(k||"").replace(/\t/g,"    ").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(e.lineBreak,"\n");m=b.extend({},b.cctext.default_options,m||{});if(typeof m.inline==="undefined")m.inline=!k.match(e.lineBreak);var g=[],h=function(B){if(!B)return"";g.push(B);return"<"+(g.length-1)+">"},n=function(B,r,A){A=f(A);k=k.replace(B,function(o,z){var C=z.indexOf(r),D,F;if(C<0)D=z;else{D=z.substring(0,C);F=z.substring(C+1)}return A(D,F)||o})},l=function(B,r,A,o,z){r=f(r);A=f(A);o=
f(o);k=k.replace(B,function(){return h(r.apply(null,arguments))+A.apply(null,arguments)+h(o.apply(null,arguments))+(z||"")})},v=function(B,r){l(B,'<span class="cc-'+r+'">',q,"</span>")},w=function(){l(/(^( *)([\*#\+-]+)( +).*\n?)+/gm,'<div class="cc-table-wrap"><table class="cc-list" cellspacing="0"><tbody>',function(B){var r=[],A=[];return b.splitAndJoin(B,"\n",function(o){if(!o)return"";o=o.split("||");o.last()||o.pop();if(o.length){var z=h("<tr>");if(o.first()){var C=o.first().match(/^([ ]*)([\*#\+-]+)([ ]+)(.*)/),
D=C[1].length+C[2].length-1,F=C[2].endsWith("#"),E;if(F){r[D]=(r[D]||0)+1;for(var G=r.length-1;G>D;G--)r[G]=0;E=r[D]+".";for(G=D-1;G>=0;G--)if(!A[G]&&r[G])E=r[G]+"."+E;else break;A[D]=false}else A[D]=true;if(F)z+=h('<td class="cc-num" cc-indent="'+D+'" style="'+m.numlistItemStyle(D)+'">')+h('<span class="cc-num-index">')+E+h("</span>")+C[4]+h("</td>")+"\n";else{E=C[2].endsWith("+")?"cc-bullet-circle":C[2].endsWith("-")?"cc-bullet-square":"cc-bullet-disc";F=b.browser.msie?(C[2].endsWith("+")?"&diams;":
C[2].endsWith("-")?"<b>&rsaquo;</b>":"&bull;")+" ":"";z+=h('<td class="cc-bullet '+E+'" cc-indent="'+D+'" style="'+m.bullistItemStyle(D)+'">')+F+C[4]+h("</td>")+"\n"}}o.shift();b.each(o,function(){z+=h("<td>")+this+h("</td>")+"\n"});z+=h("</tr>");return z}})},"</tbody></table></div>","\n")},u=function(B,r){var A=B?"<th>":"<td>",o=B?"</th>":"</td>",z=b.browser.msie?B?"|||":"||":B?/\|{3}/:/\|{2}/;return b.splitAndJoin(r,"\n",function(C){if(!C)return"";C=C.split(z);C.first()||C.shift();C.last()||C.pop();
if(C.length){var D=h("<tr>");b.each(C,function(F,E){D+=h(A)+E+h(o)+"\n"});D+=h("</tr>");return D}})},x=function(){l(/(^\|{2,3}.*\n?)+/gm,'<div class="cc-table-wrap"><table class="cc-table">',function(B){var r="",A=B.match(/((^\|{3}.*\n?)+)/m);if(A&&A.index===0){r=A[1];B=B.substring(r.length);r=h("<thead>")+u(true,r)+h("</thead>")}return r+h("<tbody>")+u(false,B)+h("</tbody>")},"</table></div>","\n")},y=function(){k.endsWith("\n")||(k+="\n");l(/^\{{3}(([^\}]|\}(?!\}\}))+)\}{3}/gm,function(o,z){if(z.startsWith("\n"))z=
z.substring(1);return"<pre><code>"+z+"</code></pre>\n"});k=k.replace(/(.*)\n((=|-)+)\n/gm,function(o,z,C,D){o=D==="-"?"==":"=";return o+z+o+"\n"});var B=0,r=true;k=k.replace(/^(={1,4})([^\n]+)\1[ ]*$/gm,function(o,z,C,D){o=z.length+2;if(D===0)r=false;else B++;return(!B?"":h("</div>")+"\n")+h('<div class="cc-section" cc-section-level="'+(o-2)+'" cc-section-index="'+B+'">')+"\n"+h("<h"+o+">")+C+h("</h"+o+">")});if(r)k=h('<div class="cc-section" cc-section-level="0" cc-section-index="0">')+"\n"+k;k+=
h("</div>");l(/^\{\{(mediabox|map|quicklook):(.*)\}\}[ ]*$/igm,function(o,z){return'<div class="cc-block cc-'+z+'">'},p,"</div>");do{var A=false;l(/(^[ ]*&gt;.*\n?)+/gm,"<blockquote>",function(o){A=true;return"\n"+b.splitAndJoin(o,"\n",function(z){return z?z.match(/^[ ]*&gt;(.*)/)[1]:""},"\n")+"\n"},"</blockquote>","\n")}while(A);x();w();k=b.splitAndJoin(k,"\n",function(o){return/<\d+>/.test(o)?o:o?h("<p>")+o+h("</p>"):"<->"},"\n")};m.inline||y();(function(){l(/`([^`\n]+)`/g,"<code>#{1}</code>");
n(/\[\[(([^\]\n]|\](?!\]))*)\]\]/g,"|",function(B,r){r=r||h(B);return h('<a class="cc-internal" href="'+j(m.topicURL(B))+'" title="'+j(B)+'">')+r+h("</a>")});n(/\[([^\]\n]*)\]/g," ",function(B,r){if(B.match(e.url)){r=r||h(B);return h('<a class="cc-hyperlink" href="'+B+'">')+r+h("</a>")}if(B.match(e.email)){r=r||h(B);B.startsWith("mailto:")||(B="mailto:"+B);return h('<a class="cc-email" href="'+B+'">')+r+h("</a>")}});l(e.email,'<a class="cc-email" href="mailto:#{0}">#{0}</a>');l(e.url,function(B){if(B.endsWith(".")){B=
B.substr(0,B.length-1);return'<a class="cc-hyperlink" href="'+B+'">'+B+"</a>."}else return'<a class="cc-hyperlink" href="'+B+'">'+B+"</a>"});l(/\(\((([^\)]|\)(?!\)))*)\|([^\n]+)\)\)/g,function(B,r){return'<abbr title="'+j(r)+'">'},c,"</abbr>");v(/\*([^\*\n]+)\*/g,"bold");v(/_{2}(([^_\n]|_(?!_))+)_{2}/g,"underscore");v(/_([^_\n]+)_/g,"italic");v(/~{2}(([^~\n]|~(?!~))+)~{2}/g,"strike");v(/\^([^\^\n]+)\^/g,"sup");v(/,,(([^,\n]|,(?!,))+),,/g,"sub");v(/#{2}(([^#\n]|#(?!#))+)#{2}/g,"smallcaps");v(/\!{3}(([^\!\n]|\!(?!\!\!))+)\!{3}/g,
"red-highlight");v(/\!{2}(([^\!\n]|\!(?!\!))+)\!{2}/g,"highlight");l(/ {2}/g," &nbsp;")})();k=k.replace(/<(\d+)>/g,function(B,r){return g[b.parseInt(r)]});return k=k.replace(/<\/p>\s*<p>/gm,"<br/>").replace(/<->\s*/gm,"")};b.cctext.renderer=[];b.cctext.addRenderer=function(k,m){b.cctext.renderer[m?"unshift":"push"](k)};b.fn.cctext=function(k,m){m=m||{};var g=b.cctext.html(k,m);return this.each(function(){var h=b(this).html(g);b.each(b.cctext.renderer,function(n,l){l(h,m)})})}})(jQuery);
(function(b){function j(g){var h="_mediabox_"+f++;g.prepend('<div id="'+h+'"><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></div>');return h}function e(g){var h=b.filenameExt(g);if(h)g+=(g.indexOf("?")>0?"&":"?")+"nonsense=any."+h;return g.replace(/\?/g,"%3F").replace(/=/g,"%3D").replace(/&/g,"%26")}function q(g,h,n){swfobject.embedSWF(c+"player-licensed.swf",j(h),"400px",g?"20px":
"225px","9.0.98",c+"expressInstall.swf",{file:e(n)},{allowfullscreen:true,allowscriptaccess:"always"})}function p(g,h){b('<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0"'+(b.bourbon.desktop?' sandboxRoot="http://cctext.net/" documentRoot="app:/"':"")+"></iframe>").prependTo(g).attr("src",h)}var c=$cc.STATIC+"mp/",d=b.bourbon.regex,f=0;b.extend(d,{xmindshareURL:/^(https?)\:\/\/share\.xmind\.net\/([\w-]+)\/([\w-]+)/i,googleMapsURL:/^(https?)\:\/\/maps\.google\.com\/maps/i,
youtubeURL:/^(https?)\:\/\/([\w-]+)\.youtube\.com\/watch\?v=([\w-]+)/i,vimeoURL:/^(https?)\:\/\/vimeo\.com\/([\d]+)/i,tudouURL:/^(https?)\:\/\/www.tudou.com\/programs\/view\/([\w-]+)/i,youkuURL:/^(https?)\:\/\/v.youku.com\/v_show\/id_([\w-]+)/i});var k={imageSuffix:"image",videoSuffix:"video",audioSuffix:"audio",xmindshareURL:"xmind",googleMapsURL:"map",youtubeURL:"video",vimeoURL:"vimeo",tudouURL:"tudou",youkuURL:"youku"};b.cctext.isMediaFile=function(g){var h=false;b.each(k,function(n){if(g.match(d[n])){h=
true;return false}});return h};var m=b.cctext.media_tools={image:function(g,h){g.prepend('<div><img class="cc-mediabox-image" src="'+h+'" alt="loading image..." /></div>')},audio:q.curry(true),video:q.curry(false),map:function(g,h){if(h)h.match(d.googleMapsURL)&&p(g,h+"&output=embed");else{g.prepend("<br/>");p(g,$cc.STATIC+"html/geocoding.src.html#"+encodeURIComponent(g.text()))}},xmind:function(g,h,n){n=n||h.match(d.xmindshareURL);g.prepend('<iframe src="http://share.xmind.net/_embed/'+n[2]+"/"+
n[3]+'" width="582px" height="333px" frameborder="0" scrolling="no"></iframe>')},vimeo:function(g,h,n){n=n||h.match(d.vimeoURL);swfobject.embedSWF("http://vimeo.com/moogaloop.swf?clip_id="+n[2]+"&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=fcfcfc&amp;fullscreen=1",j(g),"400px","225px","9.0.98",c+"expressInstall.swf",{},{allowfullscreen:true,allowscriptaccess:"always"})},tudou:function(g,h,n){n=n||h.match(d.tudouURL);swfobject.embedSWF("http://www.tudou.com/v/"+
n[2],j(g),"420px","363px","9.0.98",c+"expressInstall.swf",{},{allowfullscreen:true,allowscriptaccess:"always",wmode:"opaque"})},youku:function(g,h,n){n=n||h.match(d.tudouURL);swfobject.embedSWF("http://player.youku.com/player.php/sid/"+n[2]+"/v.swf",j(g),"480px","400px","9.0.98",c+"expressInstall.swf",{},{allowfullscreen:true,allowscriptaccess:"sameDomain",quality:"high"})},auto:function(g,h){b.each(k,function(n,l){if(n=h.match(d[n])){m[l](g,h,n);return false}})}};b.cctext.addRenderer(function(g,
h){var n=h.preview;g.find("div.cc-block").each(function(){var l=b(this);l.after('<p class="clear"/>');if(n)l.prepend('<div class="cc-preview">Rich content cannot be displayed in preview mode.</div>');else{var v=l.find(">a:first"),w=l.hasClass("cc-map")?"map":l.hasClass("cc-mediabox")?"auto":"";if(w)if(v.hasClass("cc-hyperlink")){v.addClass("cc-block-link");m[w](l,v.attr("href")||"")}else w==="map"&&m.map(l)}})})})(jQuery);
(function(b){function j(g){var h=g.start===0?0:g.doc.lastIndexOf("\n",g.start-1)+1;end=g.doc.indexOf("\n",g.end);if(end<0)end=g.doc.length;g=g.doc.substring(h,end);h={start:h,end:end,lines:g.split("\n")};e&&console.info(b.toJSON(h));return h}var e=false,q=b.cctext.markup={},p=function(g,h,n,l,v){q[g]={desc:v||b.capitalize(g),name:g,type:h,prefix:n||"",postfix:typeof l==="undefined"||l===true?n:l}};p("bold","inline","*");p("italic","inline","_");p("underscore","inline","__");p("strike","inline","~~");
p("smallcaps","inline","#","","Small Caps");p("inlineCode","inline","`");p("sup","inline","^",true,"Super Script");p("sub","inline",",,",true,"Sub Script");p("highlight","inline","!!");p("abbr","inline","((full title|","))","Abbreviation");p("topic","inline","[[","]]");p("h3","line","===",true,"Heading 3");p("h2","line","==",true,"Heading 2");p("h1","line","=",true,"Heading 1");p("bullist","line","*","","Bullet List");p("numlist","line","#","","Number List");p("quote","line",">","","Blockquote");
p("multiLineCode","multiline","{{{\n","\n}}}");p("hyperlink","link","[http://","]");p("table","insert","||| col1 ||| col2 |||\n|| row 1 || cell ||\n|| row 2 || cell ||","");p("insert","insert");p("inlineinsert","inlineinsert");p("indent","indent");p("outdent","indent");var c=b.bourbon.regex.lineBreak,d=function(g,h,n){var l=n&&g.start!=0&&g.doc.substring(g.start-1,g.start)!="\n"?"\n":"";n=n&&g.end!=g.doc.length&&g.doc.substring(g.end,g.end+1)!="\n"?"\n":"";h.end=g.end+h.text.length-g.text.length;
h.start=g.start;if(l){h.start++;h.end++}h.doc=g.doc.substring(0,g.start)+l+h.text+n+g.doc.substring(g.end);return h},f=function(g,h){return h.startsWith(g.prefix)&&h.endsWith(g.postfix)?h.substring(g.prefix.length,h.length-g.postfix.length):g.prefix+h+g.postfix},k=function(g){var h=b.any(b.cctext.markup,function(n,l){if(l.type==="line")return g.startsWith(l.prefix)&&g.endsWith(l.postfix)});return h?h.value:false},m={};m.inline=function(g,h){var n={};n.text=b.splitAndJoin(g.text,c,f.curry(h),"\n");
return d(g,n)};m.line=function(g,h){var n={};n.text=b.splitAndJoin(g.text,c,function(l){var v=k(l);if(v)l=l.substring(v.prefix.length,l.length-v.postfix.length);l=b.trim(l);if(v!=h){l=h.prefix+" "+l;return h.postfix?l+" "+h.postfix:l}else return l},"\n");return d(g,n,true)};m.multiline=function(g,h){h={text:f(h,g.text)};return d(g,h,true)};m.insert=function(g,h,n,l){return d(g,{text:n||h.prefix},!l)};m.inlineinsert=function(g,h,n){return m.insert(g,h,n,true)};m.link=function(g,h){var n=g.text.indexOf("\n");
if(n<0)n=g.text.length;return{start:g.start+1,text:h.prefix.substring(1),end:g.start+h.prefix.length,doc:g.doc.substring(0,g.start)+h.prefix+" "+g.text.substring(0,n)+h.postfix+g.text.substring(n)+g.doc.substring(g.end)}};m.indent=function(g,h){function n(u){return h.name!=="outdent"?" "+u:u.startsWith(" ")?u.substr(1):u}var l=j(g),v=l.lines;if(v.length===1){var w=n(v[0]);v=w.length-v[0].length;return{doc:g.doc.substring(0,l.start)+w+g.doc.substring(l.end),text:g.text,start:g.start+v,end:g.end+v}}for(w=
0;w<v.length;w++)if(v[w].match(/^[ ]*[\*#\+-]+[ ]+/))v[w]=n(v[w]);v=v.join("\n");e&&console.info(v);return{doc:g.doc.substring(0,l.start)+v+g.doc.substring(l.end),text:v,start:l.start,end:l.start+v.length}};b.cctext.wrap=function(g,h,n){g=g.text.substring(g.text.length-1)=="\n"?{doc:g.doc,text:g.text.substring(0,g.text.length-1),start:g.start,end:g.end-1}:g;if(h==="code")h=g.text.indexOf("\n")>=0||!g.text?"multiLineCode":"inlineCode";if(h=q[h])return m[h.type](g,h,n)}})(jQuery);
(function(b){var j=b.bourbon.regex.lineBreak,e=b.cctext.editor_plugins={},q=b.keys(b.cctext.markup),p;b.cctext.default_editor_options={tools:"bold italic underscore strike | h1 h2 h3 | bullist numlist indent outdent | table | quote sup sub highlight | hyperlink topic".split(" "),showToolbar:true,name:"cctext",width:"650px",height:"200px"};b.fn.cctextEditor=function(c,d,f){if(c==="value"&&typeof d==="undefined")return(this.eq(0).find("textarea").valu()||"").replace(j,"\n");f=b.extend(b.cctext.default_editor_options,
f||{});if(typeof f.tools==="string")f.tools=f.tools.split(" ");return this.each(function(){function k(){var w=l.value.replace(j,"\n"),u,x;if(b.browser.msie){u=document.selection.createRange();var y=u.duplicate();y.moveToElementText(l);for(x=-1;y.inRange(u);){y.moveStart("character");x++}u=u.text}else{x=l.selectionStart;u=w.substring(x,l.selectionEnd)}return{start:x,end:x+u.length,doc:w,text:u}}function m(w){if(w){var u=l.scrollTop;l.value=w.doc;l.scrollTop=u;if(l.setSelectionRange)l.setSelectionRange(w.start,
w.end);else if(document.selection){u=w.doc.length;var x=document.selection.createRange().duplicate();x.moveToElementText(l);x.moveStart("character",w.start);x.moveEnd("character",w.end-u);x.select()}n.focus()}}function g(w,u){m.defer(b.cctext.wrap(k(),w,u))}var h=b(this);c==="edit"&&h.append("<div class='wiki-toolbar'><ul></ul></div><div class='wiki-textarea-wrap'><textarea name='"+f.name+"'></textarea></div>");var n=h.find("textarea"),l=n.get(0),v=h.find(".wiki-toolbar ul");if(c==="showToolbar")v.slideDown();
else if(c==="hideToolbar")v.hide();else if(c==="value")n.valu(d);else{if(c==="focus"||c==="blur")n[c]();if(b.inArray(c,q)>=0)g(c,d);else if(c==="edit"){h.find(".wiki-textarea-wrap").css({width:f.width});n.css({width:"100%",height:f.height});v[f.showToolbar?"show":"hide"]();b.each(f.tools,function(w,u){if(u==="|")b('<li class="tool-seperator"></li>').appendTo(v);else{w=b.cctext.markup[u];b('<div class="tool tool-'+u+'" title="'+(u==="code"?"Code":w?w.desc:"")+'"></div>').mousedown(function(x){if(x.which===
1){g(u);return false}}).appendTo(v).wrap("<li></li>")}});b.each(e,function(w,u){n.bindKey(u.key,function(x,y){if(x=u.fn(k(),y)){m(x);return false}})});n.valu(d)}else if(c==="backup")p=k();else if(c==="restore"){n.focus();m(p)}}})}})(jQuery);
(function(b){function j(c){var d=c.doc.indexOf("\n",c.start);if(d<0)d=c.doc.length;var f=c.doc.lastIndexOf("\n",d-1)+1;c=c.doc.substring(f,d);return{start:f,end:d,line:c}}var e=b.cctext.editor_plugins,q=/^([ ]*[\*#\+-]+[ ]+)(.*)/,p=/^(\|{2,3})(.*)/;b.cctext.addEditorPlugin=function(c,d,f){e[c]={key:d,fn:f}};b.cctext.addEditorPlugin("cctext.list-row","enter",function(c){var d=j(c).line.match(q);if(d)if(d[2]){var f=c.doc.substring(c.end);if(!f.match(q)){k=c.start+d[1].length+1;return{doc:c.doc.substring(0,
c.start)+"\n"+d[1]+f,text:"",start:k,end:k}}}else{var k=c.start-d[1].length;return{doc:[c.doc.substring(0,k-1),c.doc.substring(c.end)].join("\n"),text:"",start:k,end:k}}});b.cctext.addEditorPlugin("cctext.table-row","enter",function(c){var d=j(c).line.match(p);if(d)if(b.trim(d[2])){d=c.doc.substring(c.end);if(!d.match(p)){f=c.start+3;return{doc:c.doc.substring(0,c.start)+"\n||"+d,text:"",start:f,end:f}}}else{var f=c.start-d[1].length;return{doc:[c.doc.substring(0,f-1),c.doc.substring(c.end)].join("\n"),
text:"",start:f,end:f}}});b.cctext.addEditorPlugin("cctext.smart-tab","tab,shift-tab",function(c,d){function f(h){var n=c.start+h[1].length;return{doc:c.doc.substring(0,c.start)+h[1]+c.doc.substring(c.end),text:"",start:n,end:n}}function k(){return b.cctext.wrap(c,d.shiftKey?"outdent":"indent")}var m=j(c);line=m.line;var g=line.match(p);if(g)return f(g);if(g=line.match(q)){g=c.doc.substring(m.start,c.start).match(q);return!g||!g[2]?k():f(["","||"])}else return k()})})(jQuery);
(function(b){var j=b.bourbon.regex.lineBreak;b.cctext.findSections=function(e,q){e=(e||"").replace(/\t/g,"    ").replace(j,"\n");q=b.extend({},b.cctext.default_options,q||{});if(typeof q.inline==="undefined")q.inline=!e.match(j);if(q.inline)return[e];var p=[],c=function(d){if(!d)return"";p.push(d);return"<"+(p.length-1)+">"};e=e.replace(/^\{{3}(([^\}]|\}(?!\}\}))+)\}{3}/gm,function(d){return c(d)});e=e.replace(/(.*)\n((=|-)+)\n/gm,function(d){return"\t"+d});e=e.replace(/^(={1,4})([^\n]+)\1[ ]*$/gm,
function(d){return"\t"+d});e=e.replace(/<(\d+)>/g,function(d,f){return p[b.parseInt(f)]});if(e.startsWith("\t"))e=e.substring(1);return e.split("\n\t")}})(jQuery);
(function(b){b.widget("ui.sortable",b.extend({},b.ui.mouse,{_init:function(){this.containerCache={};this.element.addClass("ui-sortable");this.refresh();this.floating=this.items.length?/left|right/.test(this.items[0].item.css("float")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var j=this.items.length-1;j>=0;j--)this.items[j].item.removeData("sortable-item")},
_mouseCapture:function(j,e){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(j);var q=null,p=this;b(j.target).parents().each(function(){if(b.data(this,"sortable-item")==p){q=b(this);return false}});if(b.data(j.target,"sortable-item")==p)q=b(j.target);if(!q)return false;if(this.options.handle&&!e){var c=false;b(this.options.handle,q).find("*").andSelf().each(function(){if(this==j.target)c=true});if(!c)return false}this.currentItem=
q;this._removeCurrentsFromItems();return true},_mouseStart:function(j,e,q){e=this.options;var p=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(j);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");b.extend(this.offset,
{click:{left:j.pageX-this.offset.left,top:j.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(j);this.originalPageX=j.pageX;this.originalPageY=j.pageY;e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();e.containment&&this._setContainment();
if(e.cursor){if(b("body").css("cursor"))this._storedCursor=b("body").css("cursor");b("body").css("cursor",e.cursor)}if(e.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",e.opacity)}if(e.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",e.zIndex)}if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",
j,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!q)for(q=this.containers.length-1;q>=0;q--)this.containers[q]._trigger("activate",j,p._uiHash(this));if(b.ui.ddmanager)b.ui.ddmanager.current=this;b.ui.ddmanager&&!e.dropBehaviour&&b.ui.ddmanager.prepareOffsets(this,j);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(j);return true},_mouseDrag:function(j){this.position=this._generatePosition(j);this.positionAbs=this._convertPositionTo("absolute");
if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var e=this.options,q=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-j.pageY<e.scrollSensitivity)this.scrollParent[0].scrollTop=q=this.scrollParent[0].scrollTop+e.scrollSpeed;else if(j.pageY-this.overflowOffset.top<e.scrollSensitivity)this.scrollParent[0].scrollTop=q=this.scrollParent[0].scrollTop-e.scrollSpeed;if(this.overflowOffset.left+
this.scrollParent[0].offsetWidth-j.pageX<e.scrollSensitivity)this.scrollParent[0].scrollLeft=q=this.scrollParent[0].scrollLeft+e.scrollSpeed;else if(j.pageX-this.overflowOffset.left<e.scrollSensitivity)this.scrollParent[0].scrollLeft=q=this.scrollParent[0].scrollLeft-e.scrollSpeed}else{if(j.pageY-b(document).scrollTop()<e.scrollSensitivity)q=b(document).scrollTop(b(document).scrollTop()-e.scrollSpeed);else if(b(window).height()-(j.pageY-b(document).scrollTop())<e.scrollSensitivity)q=b(document).scrollTop(b(document).scrollTop()+
e.scrollSpeed);if(j.pageX-b(document).scrollLeft()<e.scrollSensitivity)q=b(document).scrollLeft(b(document).scrollLeft()-e.scrollSpeed);else if(b(window).width()-(j.pageX-b(document).scrollLeft())<e.scrollSensitivity)q=b(document).scrollLeft(b(document).scrollLeft()+e.scrollSpeed)}q!==false&&b.ui.ddmanager&&!e.dropBehaviour&&b.ui.ddmanager.prepareOffsets(this,j)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+
"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(e=this.items.length-1;e>=0;e--){q=this.items[e];var p=q.item[0],c=this._intersectsWithPointer(q);if(c)if(p!=this.currentItem[0]&&this.placeholder[c==1?"next":"prev"]()[0]!=p&&!b.ui.contains(this.placeholder[0],p)&&(this.options.type=="semi-dynamic"?!b.ui.contains(this.element[0],p):true)){this.direction=c==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(q))this._rearrange(j,
q);else break;this._trigger("change",j,this._uiHash());break}}this._contactContainers(j);b.ui.ddmanager&&b.ui.ddmanager.drag(this,j);this._trigger("sort",j,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(j,e){if(j){b.ui.ddmanager&&!this.options.dropBehaviour&&b.ui.ddmanager.drop(this,j);if(this.options.revert){var q=this;e=q.placeholder.offset();q.reverting=true;b(this.helper).animate({left:e.left-this.offset.parent.left-q.margins.left+(this.offsetParent[0]==
document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-q.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){q._clear(j)})}else this._clear(j,e);return false}},cancel:function(){var j=this;if(this.dragging){this._mouseUp();this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--){this.containers[e]._trigger("deactivate",
null,j._uiHash(this));if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",null,j._uiHash(this));this.containers[e].containerCache.over=0}}}this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();b.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?b(this.domPosition.prev).after(this.currentItem):
b(this.domPosition.parent).prepend(this.currentItem);return true},serialize:function(j){var e=this._getItemsAsjQuery(j&&j.connected),q=[];j=j||{};b(e).each(function(){var p=(b(j.item||this).attr(j.attribute||"id")||"").match(j.expression||/(.+)[-=_](.+)/);if(p)q.push((j.key||p[1]+"[]")+"="+(j.key&&j.expression?p[1]:p[2]))});return q.join("&")},toArray:function(j){var e=this._getItemsAsjQuery(j&&j.connected),q=[];j=j||{};e.each(function(){q.push(b(j.item||this).attr(j.attribute||"id")||"")});return q},
_intersectsWith:function(j){var e=this.positionAbs.left,q=e+this.helperProportions.width,p=this.positionAbs.top,c=p+this.helperProportions.height,d=j.left,f=d+j.width,k=j.top,m=k+j.height,g=this.offset.click.top,h=this.offset.click.left;g=p+g>k&&p+g<m&&e+h>d&&e+h<f;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>j[this.floating?"width":"height"]?g:d<e+this.helperProportions.width/
2&&q-this.helperProportions.width/2<f&&k<p+this.helperProportions.height/2&&c-this.helperProportions.height/2<m},_intersectsWithPointer:function(j){var e=b.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,j.top,j.height);j=b.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,j.left,j.width);e=e&&j;j=this._getDragVerticalDirection();var q=this._getDragHorizontalDirection();if(!e)return false;return this.floating?q&&q=="right"||j=="down"?2:1:j&&(j=="down"?2:1)},_intersectsWithSides:function(j){var e=
b.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,j.top+j.height/2,j.height);j=b.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,j.left+j.width/2,j.width);var q=this._getDragVerticalDirection(),p=this._getDragHorizontalDirection();return this.floating&&p?p=="right"&&j||p=="left"&&!j:q&&(q=="down"&&e||q=="up"&&!e)},_getDragVerticalDirection:function(){var j=this.positionAbs.top-this.lastPositionAbs.top;return j!=0&&(j>0?"down":"up")},_getDragHorizontalDirection:function(){var j=
this.positionAbs.left-this.lastPositionAbs.left;return j!=0&&(j>0?"right":"left")},refresh:function(j){this._refreshItems(j);this.refreshPositions()},_connectWith:function(){var j=this.options;return j.connectWith.constructor==String?[j.connectWith]:j.connectWith},_getItemsAsjQuery:function(j){var e=[],q=[],p=this._connectWith();if(p&&j)for(j=p.length-1;j>=0;j--)for(var c=b(p[j]),d=c.length-1;d>=0;d--){var f=b.data(c[d],"sortable");if(f&&f!=this&&!f.options.disabled)q.push([b.isFunction(f.options.items)?
f.options.items.call(f.element):b(f.options.items,f.element).not(".ui-sortable-helper"),f])}q.push([b.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):b(this.options.items,this.element).not(".ui-sortable-helper"),this]);for(j=q.length-1;j>=0;j--)q[j][0].each(function(){e.push(this)});return b(e)},_removeCurrentsFromItems:function(){for(var j=this.currentItem.find(":data(sortable-item)"),e=0;e<this.items.length;e++)for(var q=0;q<
j.length;q++)j[q]==this.items[e].item[0]&&this.items.splice(e,1)},_refreshItems:function(j){this.items=[];this.containers=[this];var e=this.items,q=[[b.isFunction(this.options.items)?this.options.items.call(this.element[0],j,{item:this.currentItem}):b(this.options.items,this.element),this]],p=this._connectWith();if(p)for(var c=p.length-1;c>=0;c--)for(var d=b(p[c]),f=d.length-1;f>=0;f--){var k=b.data(d[f],"sortable");if(k&&k!=this&&!k.options.disabled){q.push([b.isFunction(k.options.items)?k.options.items.call(k.element[0],
j,{item:this.currentItem}):b(k.options.items,k.element),k]);this.containers.push(k)}}for(c=q.length-1;c>=0;c--){j=q[c][1];p=q[c][0];f=0;for(d=p.length;f<d;f++){k=b(p[f]);k.data("sortable-item",j);e.push({item:k,instance:j,width:0,height:0,left:0,top:0})}}},refreshPositions:function(j){if(this.offsetParent&&this.helper)this.offset.parent=this._getParentOffset();for(var e=this.items.length-1;e>=0;e--){var q=this.items[e];if(!(q.instance!=this.currentContainer&&this.currentContainer&&q.item[0]!=this.currentItem[0])){var p=
this.options.toleranceElement?b(this.options.toleranceElement,q.item):q.item;if(!j){q.width=p.outerWidth();q.height=p.outerHeight()}p=p.offset();q.left=p.left;q.top=p.top}}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(e=this.containers.length-1;e>=0;e--){p=this.containers[e].element.offset();this.containers[e].containerCache.left=p.left;this.containers[e].containerCache.top=p.top;this.containers[e].containerCache.width=this.containers[e].element.outerWidth();
this.containers[e].containerCache.height=this.containers[e].element.outerHeight()}},_createPlaceholder:function(j){var e=j||this,q=e.options;if(!q.placeholder||q.placeholder.constructor==String){var p=q.placeholder;q.placeholder={element:function(){var c=b(document.createElement(e.currentItem[0].nodeName)).addClass(p||e.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!p)c.style.visibility="hidden";return c},update:function(c,d){if(!(p&&!q.forcePlaceholderSize)){d.height()||
d.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10));d.width()||d.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10))}}}}e.placeholder=b(q.placeholder.element.call(e.element,e.currentItem));e.currentItem.after(e.placeholder);q.placeholder.update(e,e.placeholder)},_contactContainers:function(j){for(var e=this.containers.length-1;e>=0;e--)if(this._intersectsWith(this.containers[e].containerCache)){if(!this.containers[e].containerCache.over){if(this.currentContainer!=
this.containers[e]){for(var q=1E4,p=null,c=this.positionAbs[this.containers[e].floating?"left":"top"],d=this.items.length-1;d>=0;d--)if(b.ui.contains(this.containers[e].element[0],this.items[d].item[0])){var f=this.items[d][this.containers[e].floating?"left":"top"];if(Math.abs(f-c)<q){q=Math.abs(f-c);p=this.items[d]}}if(!p&&!this.options.dropOnEmpty)continue;this.currentContainer=this.containers[e];p?this._rearrange(j,p,null,true):this._rearrange(j,null,this.containers[e].element,true);this._trigger("change",
j,this._uiHash());this.containers[e]._trigger("change",j,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder)}this.containers[e]._trigger("over",j,this._uiHash(this));this.containers[e].containerCache.over=1}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",j,this._uiHash(this));this.containers[e].containerCache.over=0}},_createHelper:function(j){var e=this.options;j=b.isFunction(e.helper)?b(e.helper.apply(this.element[0],[j,
this.currentItem])):e.helper=="clone"?this.currentItem.clone():this.currentItem;j.parents("body").length||b(e.appendTo!="parent"?e.appendTo:this.currentItem[0].parentNode)[0].appendChild(j[0]);if(j[0]==this.currentItem[0])this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};if(j[0].style.width==""||e.forceHelperSize)j.width(this.currentItem.width());
if(j[0].style.height==""||e.forceHelperSize)j.height(this.currentItem.height());return j},_adjustOffsetFromHelper:function(j){if(j.left!=undefined)this.offset.click.left=j.left+this.margins.left;if(j.right!=undefined)this.offset.click.left=this.helperProportions.width-j.right+this.margins.left;if(j.top!=undefined)this.offset.click.top=j.top+this.margins.top;if(j.bottom!=undefined)this.offset.click.top=this.helperProportions.height-j.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=
this.helper.offsetParent();var j=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&b.ui.contains(this.scrollParent[0],this.offsetParent[0])){j.left+=this.scrollParent.scrollLeft();j.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&b.browser.msie)j={top:0,left:0};return{top:j.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:j.left+(parseInt(this.offsetParent.css("borderLeftWidth"),
10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var j=this.currentItem.position();return{top:j.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:j.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions=
{width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var j=this.options;if(j.containment=="parent")j.containment=this.helper[0].parentNode;if(j.containment=="document"||j.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,b(j.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(b(j.containment=="document"?document:window).height()||
document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(j.containment)){var e=b(j.containment)[0];j=b(j.containment).offset();var q=b(e).css("overflow")!="hidden";this.containment=[j.left+(parseInt(b(e).css("borderLeftWidth"),10)||0)+(parseInt(b(e).css("paddingLeft"),10)||0)-this.margins.left,j.top+(parseInt(b(e).css("borderTopWidth"),10)||0)+(parseInt(b(e).css("paddingTop"),10)||0)-this.margins.top,j.left+(q?Math.max(e.scrollWidth,
e.offsetWidth):e.offsetWidth)-(parseInt(b(e).css("borderLeftWidth"),10)||0)-(parseInt(b(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,j.top+(q?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(b(e).css("borderTopWidth"),10)||0)-(parseInt(b(e).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(j,e){if(!e)e=this.position;j=j=="absolute"?1:-1;var q=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=
document&&b.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,p=/(html|body)/i.test(q[0].tagName);return{top:e.top+this.offset.relative.top*j+this.offset.parent.top*j-(b.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():p?0:q.scrollTop())*j),left:e.left+this.offset.relative.left*j+this.offset.parent.left*j-(b.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():
p?0:q.scrollLeft())*j)}},_generatePosition:function(j){var e=this.options,q=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&b.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,p=/(html|body)/i.test(q[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0]))this.offset.relative=this._getRelativeOffset();var c=j.pageX,d=j.pageY;if(this.originalPosition){if(this.containment){if(j.pageX-
this.offset.click.left<this.containment[0])c=this.containment[0]+this.offset.click.left;if(j.pageY-this.offset.click.top<this.containment[1])d=this.containment[1]+this.offset.click.top;if(j.pageX-this.offset.click.left>this.containment[2])c=this.containment[2]+this.offset.click.left;if(j.pageY-this.offset.click.top>this.containment[3])d=this.containment[3]+this.offset.click.top}if(e.grid){d=this.originalPageY+Math.round((d-this.originalPageY)/e.grid[1])*e.grid[1];d=this.containment?!(d-this.offset.click.top<
this.containment[1]||d-this.offset.click.top>this.containment[3])?d:!(d-this.offset.click.top<this.containment[1])?d-e.grid[1]:d+e.grid[1]:d;c=this.originalPageX+Math.round((c-this.originalPageX)/e.grid[0])*e.grid[0];c=this.containment?!(c-this.offset.click.left<this.containment[0]||c-this.offset.click.left>this.containment[2])?c:!(c-this.offset.click.left<this.containment[0])?c-e.grid[0]:c+e.grid[0]:c}}return{top:d-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(b.browser.safari&&
this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():p?0:q.scrollTop()),left:c-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(b.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():p?0:q.scrollLeft())}},_rearrange:function(j,e,q,p){q?q[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],this.direction=="down"?e.item[0]:e.item[0].nextSibling);this.counter=
this.counter?++this.counter:1;var c=this,d=this.counter;window.setTimeout(function(){d==c.counter&&c.refreshPositions(!p)},0)},_clear:function(j,e){this.reverting=false;var q=[];!this._noFinalSort&&this.currentItem[0].parentNode&&this.placeholder.before(this.currentItem);this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var p in this._storedCSS)if(this._storedCSS[p]=="auto"||this._storedCSS[p]=="static")this._storedCSS[p]="";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();
this.fromOutside&&!e&&q.push(function(c){this._trigger("receive",c,this._uiHash(this.fromOutside))});if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!e)q.push(function(c){this._trigger("update",c,this._uiHash())});if(!b.ui.contains(this.element[0],this.currentItem[0])){e||q.push(function(c){this._trigger("remove",c,this._uiHash())});for(p=this.containers.length-1;p>=0;p--)if(b.ui.contains(this.containers[p].element[0],
this.currentItem[0])&&!e){q.push(function(c){return function(d){c._trigger("receive",d,this._uiHash(this))}}.call(this,this.containers[p]));q.push(function(c){return function(d){c._trigger("update",d,this._uiHash(this))}}.call(this,this.containers[p]))}}for(p=this.containers.length-1;p>=0;p--){e||q.push(function(c){return function(d){c._trigger("deactivate",d,this._uiHash(this))}}.call(this,this.containers[p]));if(this.containers[p].containerCache.over){q.push(function(c){return function(d){c._trigger("out",
d,this._uiHash(this))}}.call(this,this.containers[p]));this.containers[p].containerCache.over=0}}this._storedCursor&&b("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!e){this._trigger("beforeStop",j,this._uiHash());for(p=0;p<q.length;p++)q[p].call(this,j);this._trigger("stop",j,this._uiHash())}return false}e||
this._trigger("beforeStop",j,this._uiHash());this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.helper[0]!=this.currentItem[0]&&this.helper.remove();this.helper=null;if(!e){for(p=0;p<q.length;p++)q[p].call(this,j);this._trigger("stop",j,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){b.widget.prototype._trigger.apply(this,arguments)===false&&this.cancel()},_uiHash:function(j){var e=j||this;return{helper:e.helper,placeholder:e.placeholder||b([]),position:e.position,
absolutePosition:e.positionAbs,offset:e.positionAbs,item:e.currentItem,sender:j?j.element:null}}}));b.extend(b.ui.sortable,{getter:"serialize toArray",version:"1.7.2",eventPrefix:"sort",defaults:{appendTo:"parent",axis:false,cancel:":input,option",connectWith:false,containment:false,cursor:"auto",cursorAt:false,delay:0,distance:1,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,
scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3}})})(jQuery);
(function(b){b.fn.organizer=function(j,e){e=b.extend({orgClass:"org-lists",listClass:"org-list",itemClass:"org-item",title:"Drag me"},e||{});if(typeof j==="string"){if(j==="data"){j=[];this.find(">ul>li").each(function(){var q=b(this),p=[];q.find(">ul>li").each(function(){var c=b(this);c.text();p.push({name:c.text(),value:c.data("org-data")})});j.push({name:q.children("h3").text(),values:p})});return j}}else return this.each(function(){var q=b(this),p=b("<ul/>").addClass(e.orgClass).appendTo(q);b.each(j,
function(){var c=b("<ul/>").addClass(e.listClass).attr("title",e.title).appendTo(b("<li/>").appendTo(p).addClass(e.orgClass+"-li").append(b("<h3/>").html(this.name)));b.each(this.values,function(){var d=b("<li/>").addClass(e.itemClass).text(this.name).data("org-data",this.value).appendTo(c);this.disabled&&d.addClass("org-disable")})});b("."+e.listClass).sortable({forcePlaceholderSize:true,placeholder:"ui-organizer-placeholder",cancel:".org-disable",items:">li",connectWith:"."+e.listClass}).disableSelection()})}})(jQuery);
(function(b){function j(c,d,f){e.lang[d]={flag:c,gcode:d,text:f}}var e=$cc.ui;e.checkTitle=function(c){return c&&!c.match(/^(Special|User):/)&&!c.match(/[\|\?@#%\t\r\n]/)};e._avatar_param="";var q=b.bourbon.regex.fileSize,p={B:1,K:1E3,M:1E6};b.tablesorter.addParser({id:"fileSize",is:function(c){return c.match(q)},format:function(c){c=c.match(q);return b.parseNum(c[1])*(p[c[2]]||1)},type:"numeric"});b.bindKey("esc",function(){b.unblockUI.defer()});e.lang={};j(1,"zh-CN","\u7b80\u4f53\u4e2d\u6587");
j(2,"zh-TW","\u6b63\u9ad4\u4e2d\u6587");j(3,"nl","Nederlands");j(4,"en","English");j(5,"fr","Fran\u00e7ais");j(6,"de","Deutsch");j(7,"it","Italiano");j(8,"ja","\u65e5\u672c\u8a9e");j(9,"ko","\ud55c\uad6d");j(10,"pl","Polski");j(11,"pt-PT","Portugu\u00eas");j(12,"ru","\u0420\u0443\u0441\u0441\u043a\u0438\u0439");j(13,"es","Espa\u00f1ol")})(jQuery);
(function(b){var j=$cc.session,e=$cc.ui,q=$cc.api;e._searchInitString=function(){return j.location.ws?"Search in "+q.getWorkspace(j.location.ws).name:"Search in all workspaces"};e._initTags=["template","hot"];e.chrome=function(p){b("#bodyDiv").load($cc.STATIC+"html/chrome.src.html #chromeBody",function(){b(document.body).removeClass("screen");e._pageName=b("#page_name");e._menu=b("#menu");e._pageTitle=b("#page_title");e._content=b("#content_body");e._sidebar=b("#sidebar");e._sectionEditor=b("#section_editor");
e._dialog=b("#cctext_dialog");e._dropdown=b("#cctext_dropdown");e._quicklookLoading=b("#quicklook_loading");e._searchBox=b("#search_box");e._gs_home=j.toHash({g_special:"Home"});e._gs_wss=j.toHash({g_special:"Workspaces"});e._gs_people=j.toHash({g_special:"People"});e._gs_watchlist=j.toHash({g_special:"Watchlist"});e._gs_createws=j.toHash({g_special:"CreateWorkspace"});e._gs_admin={addPerson:j.toHash({g_special:"Admin",action:"AddPerson"}),bulkUser:j.toHash({g_special:"Admin",action:"BulkUser"}),
peopleManagement:j.toHash({g_special:"Admin",action:"PeopleManagement"}),billingHistory:j.toHash({g_special:"Admin",action:"BillingHistory"}),accountBalance:j.toHash({g_special:"Admin",action:"AccountBalance"}),settings:j.toHash({g_special:"Admin",action:"Settings"})};e._buylink="/doc/buy.html?account="+j.account;var c=q.getUser(j.email);e._upgradeUrl="/doc/upgrade.html?account="+j.account;b("#feedback").attr("href","/doc/feedback/?account="+j.account+"&email="+j.email+"&screenName="+c.screenName);
b("#account_name").text(j.accountName);c=b("#company_info");var d=q.getUser(j.email).screenName;c.find("a.user-email").text(j.email).attr("href",j.toHash({g_user:d}));if(j.suspended)b(".nosuspend").hide();else var f=b("#account").click(function(){var m=b("#account_menu");if(!m.length){m=b("<div id='account_menu' class='dropdown hide'><ul></ul></div>").appendTo(e._dropdown);var g=m.find("ul").append('<li><a href="'+e._gs_home+'">Home</a></li><li><a href="'+e._gs_wss+'">All Workspaces</a></li><li><a href="'+
e._gs_people+'">People</a></li><li><a href="'+e._gs_watchlist+'">My Watchlist</a></li><li><a href="'+j.toHash({g_user:d})+'">My Profile</a></li><li><a href="'+j.toHash({g_user:d,action:"contributions"})+'">My Contributions</a></li><li><a href="'+j.toHash({g_special:"Settings",action:"Settings"})+'">My Settings</a></li>');j.admin&&b('<li><a href="'+e._gs_admin.settings+'">Admin Settings</a></li>').appendTo(g)}m.smartPosition(f,{align:"left"}).show()}),k=b("#switch_ws").click(function(){var m=b("#switch_menu");
m.length||(m=b("<div id='switch_menu' class='dropdown hide'><ul></ul></div>").appendTo(e._dropdown));m.addClass("waiting");q.listWorkspaces({user:j.email},function(g,h){m.removeClass("waiting");if(h<300){var n=m.find("ul").empty(),l=0;b.each(g.workspaces,function(){if(!j.location.ws||q.toKey(this.name)!=j.location.ws){l++;b("<li/>").appendTo(n).append('<a href="'+j.toHash({ws:this.name})+'">'+this.name+'<span class="ws-info">'+this.topics+" topics, "+this.members+" members</span></a>").click(function(){m.hide()})}});
if(l===0)b("<li/>").text(j.location.ws?"No other workspace.":"No workspace.").addClass("nows").appendTo(n)}});m.smartPosition(k,{align:"left"}).show()});b("#signout").click(function(){q.signOut();j.logout()});e.trigger("chromeLoaded");p&&p()})}})(jQuery);
(function(b){var j=$cc.ui,e=$cc.api,q=$cc.session;j.welcome=function(){b("#bodyDiv").load($cc.STATIC+"html/welcome.src.html #welcomeBody",null,function(){function p(){j.chrome()}b(document.body).addClass("screen");var c=b("#welcome_form"),d=b("#optional_info"),f=b("#welcome_gmsg"),k=e.getUser();b("#wel_screen_name").valu(k.screenName);b("#wel_email").valu(q.email);b("#wel_first_name").valu(k.firstName);b("#wel_last_name").valu(k.lastName);q.isGA()?c.find("li.account-type-std").remove():b("#wel_new_pass").passwordStrength(".password-strength").passwordMatch("#wel_new_repass",
"#password_match_msg");b("select#security_question").valu()==="own"?b("input.own-question").show():b("input.own-question").hide();b("select#security_question").change(function(){b(this).valu()==="own"?b("input.own-question").show().focus():b("input.own-question").hide()});c.find("img.avatar").attr("src",$cc.STATIC+"img/people-100.gif");b("#change_picture").click(function(){j.dialogAvatar()});c.submit(function(){try{f.hide();var m=c.checkForm();if(m)f.showMsg(m+"field(s) in this form are incomplete or incorrect, please check again.",
"error",true);else{var g=c.formObject();g.timezone=(new Date).getTimezoneOffset()/60*-1+"";if(g.question==="own")g.question=g.ownQuestion;e.initProfile(g,function(n,l){if(l==200){c.hide();d.show().find("input:text:first").focus()}else l==400&&n&&n.invalid&&n.invalid.indexOf("password")>=0&&f.showMsg("The current password you entered is invalid.","error",true)})}}catch(h){DEBUG&&console.err(h)}return false});b("#websites").autoInputText("website","Add a site url");b("#phone").autoInputText("phone",
"Add a phone number");b("#emails").autoInputText("emails","Add a email address");d.find(".fb-bar").find("span.hyperlink").click(function(){p()});d.submit(function(){var m="";d.find("ol li").each(function(){var g=b(this);if(!g.find("textarea.notes").length){var h=b.map(g.find("input:text"),function(n){return n.value});m+="||*"+g.find("label").text()+"*||"+(h[0]||"")+"||\n";for(g=1;g<h.length;g++)if(h[g])m+="||  ||"+h[g]+"||\n"}});m+=b("textarea.notes").valu()||"";e.modifyProfile({description:m},function(g,
h){h==200&&p()});return false})})}})(jQuery);
(function(b){var j=$cc.ui,e=$cc.api;j.quickActivate=function(){b("#bodyDiv").load($cc.STATIC+"html/quick-activate.src.html #quickActivateBody",null,function(){b(document.body).addClass("screen");var q=b("#quick_activate_gmsg"),p=b("#qa_table");p.length||(p=b("#qa_table_container").addTable(",Full Name,Screen Name,Email".split(",")).attr("id","qa_table").addClass("topic-list"));var c=p.find("tbody").empty();e.listUsers({status:"added suspended"},function(f,k){if(k==200)if(f.users.length){b.each(f.users,
function(){var m=b("<tr/>").appendTo(c);b('<td class="td-checkbox"><input class="checkbox" checked="checked" type="checkbox" /></td><td>'+this.firstName+" "+this.lastName+"</td><td>"+this.screenName+'</td><td class="td-email">'+this.email+"</td>").appendTo(m)});p.tablesorter({headers:{0:{sorter:false}}})}else j.welcome()});var d;b("#quick_activate_form").submit(function(){d=[];c.find("tr").each(function(){var f=b(this);f.find("input:checkbox").valu()&&d.push({email:f.find(".td-email").text(),status:"active"})});
e.changeStatus({users:d},function(f,k){if(k==200)j.welcome();else k==402&&q.showMsg("You intend to activate "+f.amount*-1+" people, but your account balance can only allow "+f.balance+" people, please buy more credits or select less people.","error",true)});return false})})}})(jQuery);
(function(b){b(function(){var j=$cc.session,e=$cc.api,q=$cc.ui;q.signIn=function(){b("#bodyDiv").load($cc.STATIC+"html/signin.src.html #signInBody",null,function(){function p(h,n){e.resetPassword({email:h},function(l,v){if(v==200){b("form fieldset").hide();n.showMsg("To initiate the password reset process, please follow the instructions sent to your <b>"+(h.indexOf("@")<0?"login":h)+"</b> email address.","success")}else v==404&&n.showMsg('There are no user currently registered to the email/username "'+
h+'" in the account <b>"'+j.accountName+'"</b>. If you spelled the address incorrectly, please try again.')})}b(document.body).addClass("screen");var c=b("#signin_form"),d=b("#forgot_password_form"),f=b("#reset_password_form"),k=b("#signin_gmsg"),m=c.find(".waiting"),g;d.submit(function(){g=d.field("email");var h=d.find(".msg-box").hide();g?e.loadSecurity({email:g},function(n,l){if(l==200){d.hide();f.show();b("#resetpass_question").text(n.question)}else l==404&&p(g,h)}):h.showMsg("Please enter email/screenname.");
return false});b("#new_pass").passwordStrength(".password-strength").passwordMatch("#new_repass");b("#reset_byemail").click(function(){p(g,f.find(".msg-box"))});f.submit(function(){var h=f.find(".msg-box").hide(),n=f.formObject();if(n.newPassword.length<6)h.showMsg("Password can't be empty or less than six characters.");else n.newPassword!==n.newRepass?h.showMsg("Password don't match, please try  again."):e.changePassword({email:g,newPassword:n.newPassword,answer:n.answer},function(l,v){if(v==200){f.hide();
c.show();k.showMsg("Your password has been changed.","success")}else v==400&&l&&l.invalid==="answer"&&h.showMsg("We're sorry, wrong answer. Please try again. If this is not your security question, make sure the email/username you entered is correct: \""+g+'"')});return false});b("#forgot_pass_link").click(function(){c.hide();d.show()});b("span.signin-link").click(function(){d.hide();f.hide();c.show()});c.find(".account-name").text(j.accountName);c.submit(function(){k.hide();var h=b("#signin_email").valu(),
n=b("#signin_password").valu();if(h)if(n){m.show();e.signIn(c.formObject(),function(l,v){m.hide();if(v==200)e.init();else if(v==401)k.showMsg("Screen name/Email and password don't match.");else if(v==402)k.showMsg("Your account doesn't have enough balance, please contact the administrator.");else if(v==403)k.showMsg("You have been suspended in this account. If you want to singin, please contact the administrator.");else if(v==404)k.showMsg("This email or screen name doesn't exist.");else v==500&&
k.showMsg("Sorry, our server got a problem, please try later.")})}else k.text("Password field is required.").show();else k.text("Email address field is required.").show();return false});b("#not_member_tip").simpletip({content:"If you don't have a screen name for this account, please contact your administrator.",position:"bottom"});b("#first_signin_tip").simpletip({content:"If it's your first time to sign in, please check your email to get initial password.",position:"bottom"})})};q.gaSignIn=function(){b("#bodyDiv").load($cc.STATIC+
"html/ga-signin.src.html #signInBody",null,function(){b(document.body).addClass("screen");var p=b("#signin_form"),c=b("#signin_gmsg"),d=p.find(".waiting"),f=b("#signin_email"),k=j.account.substring(3);f.inputtextPlaceholder("username@"+k).keyup(function(m){var g=f.valu();m.keyCode===16&&g.endsWith("@")&&f.valu(g+k)});p.submit(function(){c.hide();d.show();var m={email:p.field("email"),password:p.field("password"),remember:p.field("remember")},g=b("#txtCapthcaToken").valu();if(g){m.captchaToken=g;m.captchaAnswer=
b("#txtCaptchaAnswer").valu()}e.googleSignIn(m,function(h,n){d.hide();if(n==200){location.hash=location.hash;e.init()}else if(n==403){if(h.captchaUrl){p.find("li.captcha").show();b("#captcha").html('<img alt="" src="'+h.captchaUrl+'" /><br /><input type="text" id="txtCaptchaAnswer" />');b("#txtCapthcaToken").valu(h.captchaToken)}c.showMsg("Email and passowrd doesn' match.")}else{d.hide();c.showMsg("Sorry, we got a problem ("+n+") please try again later.")}});return false})})}})})(jQuery);
(function(b){function j(){if(!f){f=[];function g(h,n){f.push(h?{hash:d.toHashWS({special:n}),title:"Special:"+n}:{hash:d.toHash({g_special:n}),title:"Special:"+n})}g(false,"Home");g(false,"Workspaces");g(false,"Watchlist");g(false,"WatchedTopics");g(false,"People");g(false,"CreateWorkplace");d.admin&&g(false,"Admin");g(true,"Recent");g(true,"All");g(true,"Tags");g(true,"Files");g(true,"Members");g(true,"Permissions");g(true,"Search")}return f}function e(g){return(g||"").replace(/_/g," ")}function q(g,
h,n){n=n||k;return g.length>n?b.truncate(g,n):h}var p=$cc.api,c=$cc.ui,d=$cc.session,f,k=28,m=b.template("#{firstName} #{lastName}(#{screenName})");b.extend(c,{prettyTime:function(g){var h=new Date;h=new Date(h.getFullYear(),h.getMonth(),h.getDate(),0,0);var n=h.getTime();h=g>=n;n=g>=(new Date(n-864E5)).getTime()&&g<n;return h?b.dateString(g,"onlyUsTime"):n?"Yesterday":b.dateString(g,"shortUs")},updateTitle:function(){var g=d.location;b("#switch_ws").find(".dropdown-button-text").text(g.ws?"switch workspace":
"my workspaces");var h="",n="",l="";if(g.ws){h=(p.getWorkspace({name:g.ws})||{}).name||e(g.ws);if(g.special)switch(g.special){case "Recent":n+="Recent Changes";l='Recent Changes <span class="title-grey">in '+h+"</span>";break;case "All":n+="All Topics";l='All topics <span class="title-grey">in '+h+"</span>";break;case "Tags":n+="All Tags";l='All tags <span class="title-grey">in '+h+"</span>";break;case "Files":n+="All Files";l='All attachments <span class="title-grey">in '+h+"</span>";break;case "Members":n+=
"Members on this workspace";l='Members <span class="title-grey">in '+h+"</span>";break;case "Permissions":n+="Permissions";l='People access & permissions <span class="title-grey">in '+h+'</span><a class="right normal" href="'+d.toHashWS({special:"Members"})+'">&laquo; Back to members</a>';break;case "Search":if(g.q){n+="Search results for "+g.q;l="Search Results"}else{n+="Search";l+=""}break;default:n+=l=g.special;break}else if(g.tag){n+="Tag: "+g.tag;l="Tag: "+g.tag+'<span id="newTopic_with_tag" class="right normal">New topic with this tag</span>'}else if(g.topic){var v=
($cc.api.getTopic({title:g.topic,_noDefault:" "})||{}).title||e(g.topic);if(g.lang){l=c.toLangText(g.lang);n+=v+" ("+l+")";l='<span class="topic-title">'+v+'</span> <span class="grey normal">translated to '+l+' <a href="'+d.toHashTopic({lang:""})+'" class="icons stop-translate" title="Back to original">.</a></span>'}else if(g.action)switch(g.action){case "edit":n+="Edit ";l="";break;case "history":n+="History of "+v;l='History <span class="title-grey">of '+v+"</span>";break;case "compare":n+="Compare Revs. ";
l='Compare Revs.<a class="right normal" href="'+d.toHashTopic({compare:""})+'">&laquo; Back to the lastet revision</a>';break}else if(g.file){l=g.file;n+="File:"+l+" - "+v;l="File:"+l;if(c._redirectFrom)l+=' <span class="grey normal">redirected from '+c._redirectFrom+"</span>";l+='<a class="right normal" style="margin-left:5px;" href="'+d.toHashWS({special:"Files"})+'">All Files</a><a class="right normal" href="'+d.toHashTopic({file:""})+'">&laquo; Back to '+v+"</a>"}else if(c._redirectFrom){n+=v;
l=p.getTopic(c._redirectFrom).title||c._redirectFrom;l='<span class="topic-title">'+v+'</span> <span class="grey normal">redirected from '+l+"</span>"}else n+=l=v}n+=" - "+h}else if(g.g_user){if(v=p.getUser(g.g_user)){h=v.screenName;if(g.action){n+=b.capitalize(g.action)+" - ";if(g.action==="contributions")if(v=p.getUser(g.g_user))l=v.screenName+'\'s contributions<a class="right normal" href="'+d.toHash({g_user:g.g_user,action:""})+'">&laquo; Back to '+v.screenName+"'s profile</a>"}else l="";n+="User:"+
v.screenName}}else if(g.g_special){n=h=b.prettyWord(g.g_special);switch(g.g_special){case "Home":l="Latest activities";break;case "Workspaces":l="All workspaces in "+d.accountName;break;case "Watchlist":l='Activities of my watched topics <a class="right normal" href="'+d.toHash({g_special:"WatchedTopics"})+'">Go to my watched topics &raquo;</a>';break;case "WatchedTopics":l='All my watched topics<a class="right normal" href="'+d.toHash({g_special:"Watchlist"})+'">&laquo; Back to my watchlist</a>';
break;case "People":l="All people in "+d.accountName;break;case "Admin":h="Admin";if(g.action==="AddPerson")l='<a class="right normal" href="'+d.toHash({g_special:"Admin",action:"PeopleManagement"})+'">&laquo; Back to People Management</a>';else if(g.action==="BulkUser")l='<a class="right normal" href="'+d.toHash({g_special:"Admin",action:"PeopleManagement"})+'">&laquo; Back to People Management</a>';else if(g.action){n=b.prettyWord(g.action);n="Admin: "+n;l=""}break;case "Settings":h="Settings";
n=b.prettyWord(g.action);n="Settings: "+n;l="";break;default:l=""}}c._showWindowTitle(n);c._showBigTitle(h,g);c._showTopicTitle(l||"")},_showWindowTitle:function(g){document.title=g+" - "+d.accountName},_showBigTitle:function(g,h){if(c._pageName){h=g!=="Admin"?d.toHash({ws:h.ws,g_user:h.g_user,g_special:h.g_special}):c._gs_admin.accountBalance;c._pageName.html(g).attr("href",h);d.location.ws&&c._pageName.attr("title","Main Page of "+g)}},_showTopicTitle:function(g){c._pageTitle&&c._pageTitle.find("h1.topic").html(g)},
empty:function(){p.cancelAllRequests();c._pageName.empty();c._menu.empty().hide();b("#announce").empty();c._pageTitle.html('<h1 class="topic"></h1>');c._sidebar.empty();c._sections=null;c._base=null;c._preview=null;c._dialog.empty();c._dropdown.empty();c._oldName=null;c._oldWsname=null;c._searchBox.empty();c.emptyContent()},emptyContent:function(){c._content.empty();c.initTopic=""},getSearchTips:function(g,h){function n(){l++;if(l>=4){g&&v.push({data:j(),template:'<li><a class="search-result-special" href="#{hash}">#{title}</li>',
searchIn:"title"});h&&h(v)}}var l=0,v=[];p.listUsers({filter:"workspace"},function(w,u){if(u==200){v.push({data:w.users,template:function(x,y){return'<li><a class="search-result-people" href="'+d.toHash({g_user:y.screenName})+'">'+q(m(y),m(x))+"</a></li>"},searchIn:"firstName lastName screenName"});n()}});p.listTopics({filter:"workspace"},function(w,u){if(u==200){v.push({data:w.topics,template:function(x,y){return'<li><a class="search-result-topic" href="'+d.toHash({ws:d.location.ws,topic:y.title})+
'">'+q(y.title,x.title)+"</a></li>"},searchIn:"title"});n()}});p.listTags({filter:"workspace"},function(w,u){if(u==200){v.push({data:b.map(w.tags,function(x){return{tag:x}}),template:function(x,y){return'<li><a class="search-result-tag" href="'+d.toHash({ws:d.location.ws,tag:y.tag})+'">Tag:'+q(y.tag,x.tag,k-4)+"</a></li>"},searchIn:"tag"});n()}});p.listFiles({filter:"workspace"},function(w,u){if(u==200){v.push({data:b.map(w.files,function(x){return{topic:x.topic.title,file:x.fileName}}),template:function(x,
y){return'<li><a class="search-result-file" href="'+d.toHash({ws:d.location.ws,topic:y.topic,file:y.file})+'">File:'+q(y.file,x.file,k-5)+"</a></li>"},searchIn:"file"});n()}})},initSearchText:function(g){c._searchInitString();var h=b('<input id="search_text" class="gray-border round-10px" type="text" value="" name="search"/>').appendTo(c._searchBox).inputtextPlaceholder(g||"").perfectFocus().keypress(function(n){!d.location.ws&&n.keyCode===b.bourbon.key.ENTER&&c.redirect(d.toHash({g_special:"Search",
q:p.toKey(h.valu())}))})},initSearchBox:function(){c.getSearchTips(true,function(g){b("#search_text").filterbox({className:"search-results",data:g,type:"search",max:5,searchURL:"#/"+d.location.ws+"/Special:Search/?q=",width:"230px",maxHeight:"500px"},function(){c.redirect(d.toHashWS({special:"Search",q:p.toKey(b("#search_text").valu())}))})})},searchResults:function(g){function h(w){c.redirect(d.toHashWS(b.extend(w?{special:"Search"}:{g_special:"Search"},{q:l.valu()})))}g=b.extend({terms:"",page:0,
size:50,workspaces:null},g||{});var n=b("#search_form");if(!n.length){n=b('<form id="search_form"></form>').appendTo("#menu");b("#menu").show();var l=b('<input type="text" title="Search" maxlength="256" size="41" name="q" class="text" autocomplete="off"/>').valu(g.terms||"").appendTo(n);d.location.ws&&b('<input type="button" id="search_one_workspace" class="button" value="Search in '+p.getWorkspace().name+'" />').appendTo(n).click(h.curry(true));b('<input type="button" id="search_all_workspace" class="button" value="Search in all workspaces" />').appendTo(n).click(h.curry(false))}n.find("input:text").focus();
n.submit(function(){h(d.location.ws);return false});if(g.terms){g.workspaces||c.getSearchTips(false,function(w){var u;b.each(w,function(){var y=b.dataFilter(this.data,this.template,d.location.q,this.searchIn);u=u?u.concat(y):y});w=b("#search_tips");w.length||(w=b('<div id="search_tips" class="hide"></div>').prependTo(c._content).append('<h3>Search Tips</h3><ul id="search_tips_ul"></ul>'));if(u.length){w.show();var x=w.find("ul#search_tips_ul");b.each(u,function(){var y=b(this.title);x.append(y)})}});
var v=b("#search_entry");v.length||(v=b("<ul/>").attr("id","search_entry").addClass("search-list").appendTo(c._content));v.empty();p.search({terms:g.terms,start:g.size*g.page,size:g.size,workspaces:g.workspaces},function(w,u){if(u==200){b("#search_text").valu(c._searchInitString());v.append('<li class="result-count">'+w.results.length+" "+(w.results.length>1?"results":"result")+"</li>");w.results.length?b.each(w.results,function(){var x=b("<li class='item'></li>").appendTo(v);if(this.topic&&this.topic.workspace){var y=
this.topic;x.append("<div><a class='search-result-topic' href='"+d.toHash({ws:y.workspace.name,topic:y.title})+"'>"+y.title+"</a></div><div class='search-result-content'>"+(this.content||"no content")+"</div><div class='search-reuslt-meta'>Created by "+y.owner.screenName+", updated at "+b.dateString(y.updatedTime,"usTime")+"</div>")}else if(this.user){y=this.user;x.append("<div><a class='search-result-people' href='"+d.toHash({g_user:y.screenName})+"'>"+y.screenName+"("+y.screenName+")</a></div><div class='search-result-content'>"+
this.description+"</div><div class='search-reuslt-meta'>Joined at "+b.dateString(y.createdTime,"usTime")+"</div>")}else if(this.file){y=this.file;x.append("<div><a class='search-result-file' href='"+d.toHash({ws:y.topic.workspace.name,topic:y.topic.title,file:y.fileName})+"'>"+y.fileName+"</a></div><div class='search-result-content'>"+this.content+"</div><div class='search-reuslt-meta'>Updated at "+b.dateString(y.updatedTime,"usTime")+"</div>")}else x.append('<div class="search-result-content">'+
this.content+"</div>")}):v.append("<li class='no-result empty-msg'>No result containing all your terms were found. Please try different keywords.</li>")}})}},growlUI:function(g){b.blockUI({message:b("#growlUI").text(g),fadeIn:700,fadeOut:700,timeout:2E3,showOverlay:false,centerY:false,position:["5px","5px","",""],css:{width:"250px",border:"none",padding:"15px",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px",opacity:0.8,color:"#fff","font-size":"13px"}})},upgradeAccount:function(){var g=
b("#dialogUpgrade");if(!g.length){g=b("<div id=\"dialogUpgrade\" class=\"dialog hide\"><h3>Upgrade account</h3><div class=\"msg-box hide\"></div><ol><li><p>Are you sure to upgrade your account?</p></li></ol><div class='fb-bar'><span class='cancel'>Cancel</span><input id='upgrade_btn' class='button' type='button' value='Upgrade' /><span class='waiting hide'></span></div></div>").appendTo("#cctext_dialog");g.find(".cancel").click(function(){b.unblockUI()});var h=g.find(".msg-box"),n=g.find(".waiting");
b("#upgrade_btn").click(function(){var l=b(this).hide();n.show();p.upgrade(function(v,w){n.hide();l.show();if(w==200)d.reloadBrowser();else if(w==400)h.showMsg("Your account is not a free account.");else w==403?h.showMsg("You are not the administrator of this account"):h.showMsg("Sorry, we got a problem("+w+"), please try again later")})})}b.blockUI({message:b("#dialogUpgrade")})},downgradeAccount:function(){var g=b("#dialogDowngrade");if(!g.length){g=b("<div id=\"dialogDowngrade\" class=\"dialog hide\"><h3>Downgrade account</h3><div class=\"msg-box hide\"></div><ol><li><p>Are you sure to downgrade your account to Free Plan?</p></li></ol><div class='fb-bar'><span class='cancel'>Cancel</span><input id='downgrade_btn' class='button' type='button' value='Downgrade' /><span class='waiting hide'></span></div></div>").appendTo("#cctext_dialog");
g.find(".cancel").click(function(){b.unblockUI()});var h=g.find(".msg-box"),n=g.find(".waiting");b("#downgrade_btn").click(function(){var l=b(this).hide();n.show();p.downgrade(function(v,w){n.hide();l.show();if(w==200)d.reloadBrowser();else if(w==400)if(v.reason==="free")h.showMsg("Your account is already a free account.");else if(v.reason==="google")h.showMsg("Sorry, You can not downgrade from a Google Apps account.");else v.reason==="active"&&h.showMsg("You can\u2019t downgrade to Free Plan because you have too many active users ("+
v.active+").");else w==403?h.showMsg("You are not the administrator of this account"):h.showMsg("Sorry, we got a problem("+w+"), please try again later")})})}b.blockUI({message:b("#dialogDowngrade")})},removeEle:function(g){g=b(g);b.browser.mozilla||b.browser.safari?g.fadeOut(500,function(){g.remove()}):g.remove()},toLangText:function(g){return(c.lang[g]||{text:false}).text},load_status:function(){var g=b.cookie(d.account+"_uistatus");c._status=g?b.parseJSON(g):{}},save_status:function(){b.cookie(d.account+
"_uistatus",b.toJSON(c._status),{path:"/",expires:90})},uiStatus:function(g,h){c._status||c.load_status();if(typeof h==="undefined")return c._status[g];else{c._status[g]=h;c.save_status()}}});b.fn.addTool=function(g,h,n){h=b.isFunction(h)?b('<span class="hyperlink"/>').click(h):b("<a/>").attr("href",h);h.addClass("menu-"+g).html(n?n:b.capitalize(g));b("<span/>").append(h).appendTo(this);return this};b.fn.addTable=function(g,h){if(b.isArray(g)&&!h){h=g;g=h.length}var n=this;n=b('<table class="entry-list" />').appendTo(n);
var l=b("<thead/>").appendTo(n);b("<tbody/>").appendTo(n);l=b("<tr/>").appendTo(l);for(i=0;i<g;i++){var v=b('<th><span class="th-text">'+(h[i]||"")+'</span><span class="th-icon"></span></th>').appendTo(l);h[i]&&v.addClass("sorter")}return n};b.fn.ccShow=function(){return this.css({visibility:"visible"})};b.fn.ccHide=function(){return this.css({visibility:"hidden"})}})(jQuery);
(function(b){var j=true,e=$cc.ui;b(document).ajaxStart(function(){j=true;window.setTimeout(function(){j&&e.showLoadingIndicator()},300)}).ajaxStop(function(){j=false;e.hideLoadingIndicator()});b.extend(e,{showLoadingIndicator:function(){b("#global_loading").show()},hideLoadingIndicator:function(){b("#global_loading").hide()}})})(jQuery);
(function(b){var j=$cc.ui,e=$cc.api,q=$cc.session;b.extend(j,{unnormalWorkspace:function(p,c,d){b("#page_title").hide();b("#new_topic").hide();var f="";if(p==="moved")f+="This workspace has been moved to <a href='"+q.toHash({ws:c})+"'>"+d+"</a>";else if(p==="deleted")f+="This workspace has been deleted.";else if(p==="notfound")f+="This workspace is not found in <strong>"+q.accountName+"</strong>";else if(p==="unauthorized")f+="You don't have permission to access this workspace.";var k=b("<p class='empty-msg'>"+
f+", you can </p>").appendTo(j._content);p!=="403"&&b("<span class='movedws hyperlink'>create this workspace</span>").appendTo(k).click(function(){k.hide();j.createWorkspace(c)});j.sidebar.workspaces()},workspaces:function(){j.sidebar.workspaces();j._content.addTable(6,["Worksapce name","Managers","Members","Topics","My permission"]).attr("id","workspaces_entry").addClass("topic-list")},showWorkspaces:function(p){function c(m,g,h){h=h||"";return!m?b("<span/>").addClass(h.indexOf("icons-2")>-1?"icons-2":
""):b("<a/>").attr("href",g).addClass(h)}function d(m){if(!m||!m.length)return"";var g="";b.each(m,function(h,n){g+=h>0?", ":"";g+='<a href="'+q.toHash({g_user:n.screenName})+'">'+n.screenName+"</a>"});return g}var f=b("#workspaces_entry"),k=f.find("tbody").empty();if(p.length){b.each(p||[],function(m,g){m=g.permission!=="unaccessible";var h=g.permission==="manager",n=b("<tr/>").appendTo(k).addClass(!m?"not-member":"").attr("cc-workspace-id",g.id).append(b("<td/>").addClass("td-wsName").append(c(m,
q.toHash({ws:g.name,topic:"Main_Page"}),"workspace-link icons-2").append(b("<strong/>").text(g.name)))).append(b("<td/>").append(d(g.managers))).append(b("<td/>").append(c(m,q.toHash({ws:g.name,special:"Members"})).html("<strong>"+(g.members||0)+"</strong> "+(g.members>1?"members":"member")))).append(b("<td/>").append(c(m,q.toHash({ws:g.name,special:"All"})).html("<strong>"+(g.topics||0)+"</strong> "+(g.topics>1?"topics":"topic")))).append(b("<td/>").append(m?b.capitalize(g.permission):"No access")).append(b("<td/>").ccHide().addClass("td-action").append(!h?
"":b("<span/>").addClass("icon rename").attr("title","Rename Worksapce").click(function(){j.dialogRenameWorksapce(n.find("td.td-wsName").text())})).append(!h?"":b("<span/>").addClass("icon delete").attr("title","Delete Worksapce").click(function(){var l=n.find("td.td-wsName").text();j.dialogConfirm('Are you sure to delete "'+l+'"? Click "OK" to continue.',function(){n.fadeOut(function(){n.remove()});e.deleteWorkspace({name:l})})}))).mouseover(function(){n.find("td.td-action").ccShow()}).mouseout(function(){n.find("td.td-action").ccHide()})});
f.tablesorter({headers:{5:{sorter:false}}})}else k.after('<p class="empty-msg">No workspace.</p>')},showUserWorkspaces:function(p){var c=b("#table_workspace"),d=c.find("tbody").empty();p.length?b.each(p,function(){var f=b("<tr/>").appendTo(d),k=b("<td/>").addClass("td-name").appendTo(f);b("<td/>").html("<strong>"+(this.members||0)+"</strong> "+(this.members>1?"members":"member")).appendTo(f);b("<td/>").html("<strong>"+(this.topics||0)+"</strong> "+(this.topics>1?"topics":"topic")).appendTo(f);if(this.joinTime){k.html('<a href="'+
q.toHash({ws:this.name})+'">'+this.name+"</a>");k="member";if(this.owner)k=this.owner.email===q.email?"owner":"member";b("<td class='td-date'>"+(k==="owner"?"Created":"Joined")+" <span class='perfect-date'></span></td>").appendTo(f);b("<td/>").html("<div class="+k+">"+b.capitalize(k)+"</div>").appendTo(f);f.find("td span.perfect-date").showDate(this.joinTime)}else{f.addClass("no-join");k.text(this.name);f.append("<td></td><td></td>")}}):c.after('<p class="empty-msg">No Workspace.</p>')},createWorkspace:function(p){if(p){p=
p.replace("_"," ","gi");b("#page_title h1.topic").text("");b("<p/>").text("This workspace doesn't exist. Do you want to create it?")}j.sidebar.workspaces();var c=b("<form/>").addClass("create-ws").appendTo(j._content);c.append("<fieldset><legend class='adduser'>Create a new workspace</legend><div class='msg-box error hide'></div><p class='red'>"+(p?"This workspace doesn't exist. Do you want to create it?":"")+"</p><ol><li><label for='ws_name'>Name your workspace:</label><input id='ws_name' name='name' maxlength='256' class='text' type='text' /><input id='check_ws' type='button' class='button' value='Check available!' /><span id='ws_msg' class='msg hide'></span></li></ol><p class='ws-label choose-members'>Choose members:</p><div id='member_list' class='choose-members'></div><div class='fb-bar'><input id='create_ws' class='button' type='submit' value='Create Workspace' /></div></fieldset>");
var d=c.find(".msg-box"),f=b("#ws_name").valu(p?p:"").focus();f.focus(function(){d.hide()});e.listUsers({status:"active admin"},function(g,h){if(h==250||h==200)g.users.length>1?j.permissions(g.users,b("#member_list")):c.find(".choose-members").hide()});var k=b("#ws_msg");b("#check_ws").click(function(){var g=b.trim(f.valu());g.length?e.checkWorkspace({name:e.toKey(g)},function(h,n){if(n==404)k.html("<strong>"+g+"</strong> is available").removeClass("error").addClass("success").show();else n==200?
k.html("<strong>"+g+"</strong> has been taken, please choose another.").removeClass("success").addClass("error").show():k.html("<strong>"+g+"</strong> is not available, please choose another.").removeClass("success").addClass("error").show()}):d.showMsg("Please enter workspace name.")});var m=b("#permissions_table tbody");c.submit(function(){var g=c.formObject();b.trim(g.name)?e.createWorkspace(g,function(h,n){if(n==200){j.growlUI(g.name+" has been created.");j.redirect(q.toHash({ws:g.name,topic:"Main Page"}));
var l=[];m.find("tr").each(function(){var v=b(this);if(!v.hasClass("ws-owner")){var w={};w.email=v.find("td.email").text();w.permission=v.find("select").valu();l.push(w)}});e.changeWorkspacePermission({workspace:h.workspace.name,users:l},function(){})}else n==409&&d.showMsg("This name has been taken, please choose another.")}):d.showMsg("Please enter workspace name.");return false})}});b.fn.wsList=function(){return this.append("<div id='table_container'><table id='table_workspace' width='100%' border='0' cellpadding='0' cellspacing='0'><thead><tr><th id='th_name' scope='col'></th><th id='th_member' scope='col'></th><th id='th_topic' scope='col'></th><th id='th_date' scope='col'></th><th id='th_status' scope='col'></th></tr></thead> <tbody></tbody></table></div>")}})(jQuery);
(function(b){function j(l,v){h.sidebar.sections[l]=b.extend({collapse:true,painter:b.bourbon.N},v||{})}function e(l,v,w){function u(){o.collapse=!o.collapse;B()}function x(){o.collapse=true;B()}function y(){o.collapse=false;B()}function B(){A.children(".section-content").remove();var z=o.collapse;h.uiStatus("sidebar.collapse."+l,z);if(z)A.addClass("collapse");else{A.removeClass("collapse").append(b(o.content).addClass("section-content"));o.painter(A.children(".section-content"))}}function r(){var z=
h.uiStatus("sidebar.collapse."+l);if(z===true||z===false)o.collapse=z;B();A.unbind("cc-restore",r);A.children("h2").click(u)}var A,o=h.sidebar.sections[l];if(o){o=b.extend(b.extend({},o),w||{});if(o.desc&&!o.content)o.content='<div class="description">'+o.desc+"</div>";h._sidebar.append('<hr class="side-hr"/>').append(A=b("<div/>").addClass("side-section collapse").addClass(o.className).attr("cc-section",l).append(b("<h2/>").text(o.title)).bind("cc-refresh",B).bind("cc-toggle",u).bind("cc-expand",
y).bind("cc-collapse",x).bind("cc-restore",r));v||r();return A}else m&&console.info("No Such Plugin Installed for Sidebar!!!")}function q(l){return h._sidebar.find("div.side-section[cc-section="+l+"]")}function p(){h._sidebar.find("div.side-section").each(function(){b(this).trigger("cc-restore")})}function c(l,v){function w(){u.empty().append('<li class="no-entry">No hot topics.</li>')}b("#tags");var u=l.children(".hot-topics-ul").empty(),x=function(r){var A=b("<li cc-topic-id='"+r.id+"'><a href='"+
n.toHashWS({topic:r.title})+"'>"+r.title+"</a><span class='icon delete'></span></li>").appendTo(u);g.toKey(r.title)===n.location.topic&&A.addClass("current-topic");A.find("span.delete").click(function(){g.removeTag({tag:"hot",title:r.title},function(o,z){if(z==200){A.remove();if(n.location.topic){A.hasClass("current-topic")&&y.show();h.showTopicTags(o.tags)}}else z==403&&alert("Your permission has been changed, you can't edit tags of this topic now.")})}).hide();return A},y=b("#add_to_hot");l=b("#hot_topics_edit");
if(l.length){var B=b("#hot_topics_edit_icon");if(B.length)B.removeClass("button editing").addClass("icon").text("");else B=b('<span id="hot_topics_edit_icon" class="icon"></span>').appendTo(l).click(function(){if(B.hasClass("editing")){B.text("").removeClass("editing button").addClass("icon");u.find("li").length?u.find("li span.delete").hide():w();y.length&&y.hide()}else{B.text("Done").addClass("editing button").removeClass("icon");u.find("li").length?u.find("li span.delete").show():w();n.location.topic&&
!n.location.topic.startsWith("Discussion:")&&!u.find("li.current-topic").length&&y.show()}})}v.length?b.each(v,function(){x(this)}):w();if(n.location.topic&&!y.length&&!u.find("li.current-topic").length)y=b('<div id="add_to_hot" class="add">Add this topic</div>').insertBefore(l).click(function(){g.addTag({tag:"hot"},function(r,A){if(A==200){u.find("li.no-entry").length&&u.empty();x(r.topic).addClass("current-topic").find("span.delete").show();y.hide();h.showTopicTags(r.tags)}else A==403&&alert("Your permission has been changed, you can't edit tags of this topic now.")})});
y.hide()}function d(l,v){var w=l.children("ul").empty();v.length?b.each(v,function(u,x){u=b("<li/>").appendTo(w);b("<a/>").attr("href",n.toHashWS({tag:x})).text(x).appendTo(u)}):w.append('<li class="no-entry">No tags.</li>')}function f(l){var v=h._sidebar.find(".topic-contributors ul.section-content").empty(),w=g.getTopic().owner.screenName;b.each(l||[],function(u,x){u=g.getAvatarUrl({screenName:x.screenName});var y=x.screenName===w;b("<li/>")[y?"prependTo":"appendTo"](v).append(b("<a/>").addClass("user-icon "+
(y?"owner":"")).attr("href",n.toHash({g_user:x.screenName})).attr("title",x.screenName).append(b("<img/>").attr("src",u?u:$cc.STATIC+"css/img/people-50.gif").attr("alt",x.screenName).height(y?50:32).width(y?50:32)))})}function k(l,v,w){l.empty();var u=function(x){var y=b("<li><a href='"+n.toHashWS({topic:x.title})+"'>"+x.title+"</a></li>").appendTo(l);g.toKey(x.title)===n.location.topic&&y.addClass("topic-hot")};v.length?b.each(v,function(){u(this)}):b("<li>"+w+"</li>").appendTo(l)}var m=window.__DEBUG,
g=$cc.api,h=$cc.ui,n=$cc.session;h.sidebar={};h.sidebar.sections={};j("watchlist",{title:"Watchlist",content:"<ul/>",className:"watchlist-topics",collapse:false,painter:function(l){g.listRecentTopics({filter:"starred",size:5},function(v,w){if(w==200)if(v.topics.length){b.each(v.topics,function(u,x){b("<li/>").addClass("side-topic-li").appendTo(l).append(b("<a/>").attr("href",n.toHash({ws:x.workspace.name,topic:x.title})).append(b("<span/>").text(x.title)).append(b("<span/>").addClass("side-meta").text(" ("+
h.prettyTime(x.updatedTime)+")")))});l.append(b("<li/>").addClass("more").append(b("<a/>").addClass("siebar-linkBtn").attr("href",n.toHash({g_special:"Watchlist"})).html("View watchlist &raquo;")))}else b("<li/>").text('Go to any topic and click "Watch". Keep up-to-date with the topic.').addClass("description").appendTo(l)})}});j("recent",{title:"Recent Changes",content:"<ul/>",className:"recentChange-topics",painter:function(l){g.listRecentTopics({filter:"workspace",size:5},function(v,w){if(w==200){b.each(v.topics,
function(u,x){b("<li/>").addClass("side-topic-li").appendTo(l).append(b("<a/>").attr("href",n.toHashWS({topic:x.title})).append(b("<span/>").text(x.title)).append(b("<span/>").addClass("side-meta").text(" ("+h.prettyTime(x.updatedTime)+")")))});l.append(b("<li/>").addClass("more").append(b("<a/>").addClass("siebar-linkBtn").attr("href",n.toHashWS({special:"Recent"})).html("View more activity &raquo;")))}})}});j("about_home",{title:"About Home",collapse:false,desc:"This page allows you to stay up-to-date with what's going on at a glance. You'll know instantly what happended in the workspaces you have joined or created, such as creating topics, editing tags, sharing files, updating profiles ..."});
j("account_balance",{title:"Account Balance",desc:"<p><strong>Current Balance: </strong><a href='#' id='sidebar_balance'></a></p>",collapse:false,painter:function(){b("#sidebar_balance").attr("href",h._gs_admin.accountBalance);g.loadBalance(function(l,v){v==200&&b("#sidebar_balance").text(l.balance+" UM")})}});j("upgrade",{title:"Upgrade Your Account",desc:"<span class='upgrade-button'>Upgrade</span>",collapse:false});j("renew",{title:"Renew Your Account",desc:"<a class='buy-button' href='#' target='_blank'>Renew</a><span id='coupons_link' class='link-button'><a class='no-icon-link'>Use coupon code</a></span><form id='coupons_form' class='hide'><p class='msg hide'></p><p>Enter your coupons code:</p><input class='text' type='text' /><span class='cancel'>Cancel</span><input class='button' type='submit' value='Renew' /></form>",
collapse:false,painter:function(l){l.find(".buy-button").attr("href",h._buylink);var v=b("#coupons_form"),w=v.find(".msg"),u=v.find("input.text"),x=b("#coupons_link").click(function(){x.hide();v.show();u.focus()});v.find("span.cancel").click(function(){v.hide();x.show();w.hide()});v.submit(function(){var y=u.valu();w.hide();y?g.subscribe({code:y},function(B,r){if(r==200)if(n.suspended)n.reloadBrowser();else{h.redirect(h._gs_admin.accountBalance);h.growlUI("Your account increased by "+B.amount+" UMs")}else if(r==
400)w.showMsg("Sorry, the code you entered is invalid, please check again.");else if(r==403)w.showMsg("Sorry, you are not administrator.");else if(r==404)w.showMsg("Sorry, your account doesn't exist.");else r==409?w.showMsg("Sorry, the code you entered has been used."):w.showMsg("Sorry, we got a problem("+r+"), please try again later, or contact our support.")}):w.showMsg("Coupons code can't be empty.");return false})}});j("about_workspaces",{title:"About Workspaces",desc:"Workspaces are where you store topics and files. Every workspace has a owner. If you want to join a workspace, you must contact the owner to add you. You can <a class='create-workspace' href='#'>create your own workspace</a>.",
collapse:false,painter:function(l){l.find("a.create-workspace").attr("href",n.toHash({g_special:"CreateWorkspace"}))}});j("hot_topics",{title:"What's Hot?",content:'<div id="hot_topics"><ul class="hot-topics-ul"></ul></div>',className:"hot-topics",collapse:false,painter:function(l){g.isViewer()||b('<div id="hot_topics_edit"></div>').appendTo(l);g.listTopics({workspace:n.location.ws,tag:"hot"},function(v,w){w==200&&c(l,v.topics)})}});j("tags",{title:"Tags",content:'<div id="all_tags"><ul class="all-tags-ul"></ul></div>',
className:"side-tags",painter:function(l){g.listTags(function(v,w){w==200&&d(l,v.tags)})}});j("translate",{title:"Translate Article",content:'<div id="translate_field"><ul/></div>',painter:function(l){var v=l.children("ul");b.each($cc.ui.lang,function(w,u){b('<li lang="'+u.gcode+'" xml:lang="'+u.gcode+'"><a href="'+n.toHashTopic({lang:u.gcode})+'"><span class="flag-icon" style="background-position:'+(parseInt(u.flag)-1)*-12+'px 0px;"></span><span>'+u.text+"</span></a></li>").appendTo(v)});v.prepend('<li><a href="'+
n.toHashTopic({lang:""})+'"><span class="flag-icon original"></span><span>Original</span></a></li>');n.location.lang?v.children("li[lang="+n.location.lang+"]").addClass("current-lang"):v.children("li:first").addClass("current-lang")}});j("contributors",{title:"Contributors",content:"<ul/>",className:"topic-contributors",collapse:false,painter:function(){g.listUsers({filter:"contributors"},function(l,v){v==200&&f(l.users)})}});j("attachments",{title:"Attachments",content:'<ul class="side-files"/>',
className:"topic-files",painter:function(l){g.listFiles({filter:"topic"},function(v,w){w==200&&l.showFiles(v.files,"url",false)})}});j("watching",{title:"Who Watched?",content:'<div><ul class="side-watched"></ul><span id="notify_link" class="siebar-linkBtn">Change Watch</span></div>',className:"topic-notify",painter:function(){h.sidebar.updateWatch();b("#notify_link").click(function(){h.dialogWatch()})}});j("editing_history",{title:"Editing History",content:'<ul class="history" />',collapse:false,
className:"topic-history",painter:function(){h.sidebar.updateHistory()}});j("links_here",{title:"What links here?",content:"<ul/>",className:"linkTo-topics",painter:function(l){var v=n.location;g.listTopics({workspace:v.ws,linkTo:v.topic},function(w){k(l,w.topics,"No topic linked here.")})}});j("color_key",{title:"Color Key",collapse:false,desc:"<ul class='color-key'><li><del></del></li><li><ins></ins></li></ul>"});j("about_people",{title:"About People",collapse:false,desc:"This page lists all active users in this account. If you want to add someone into the account or prevent someone to login, please contact the admin."});
j("about_adding_people",{title:"About Adding People",collapse:false,desc:"After you clicked the button 'Add Now', the person's profile will be created. And a message which contains the temporary password will be sent to the email address you specified. Then the screen name and email can be used for logging in and can't be changed forever. But he/she can edit his/her profile or password anytime."});j("about_workspace_members",{title:"About Workspace Members",collapse:false,desc:"Workspaces are secure. Only the persons listed on this page can see/edit the content of this workspace, like reading topics, editing tags, downloading shared files. Only workspace owner can add/remove person from this page."});
j("markup_help",{title:"Markup Help",content:"<div/>",className:"side-editing",collapse:false,painter:function(l){l.load($cc.STATIC+"html/editing-help.src.html #editing_help")}});j("compare",{title:"Compare",content:'<ul class="history"/>',className:"compare-topics",collapse:false});j("files_cat",{title:"Category",content:'<ul class="files-cat"><li><label><input type="radio" name="files_cat" value="all" checked="checked" /> All Files</label></li><li><label><input type="radio" name="files_cat" value="image" /> Image Files</label></li><li><label><input type="radio" name="files_cat" value="audio" /> Audio Files</label></li><li><label><input type="radio" name="files_cat" value="video" /> Video Files</label></li><li><label><input type="radio" name="files_cat" value="document" /> Document Files</label></li></ul>',
className:"files-cat",collapse:false,painter:function(l){var v="all";l.bind("change click",function(){var w=l.field("files_cat");if(w!=v){v=w;g.listFiles({filter:"workspace",order:"name"},function(u,x){x==200&&h.showFiles(u.files,w)})}});l.click()}});j("settings",{title:"Settings",content:'<ul class="side-settings nav-ul"/>',collapse:false,painter:function(l){var v=g.getUser(n.email);l.html("<li><a href='"+n.toHash({g_user:v.screenName})+"'>My Profile</a></li><li><a href='"+n.toHash({g_user:v.screenName,
action:"contributions"})+"'>My Contributions</a></li><li><a href='"+n.toHash({g_special:"Settings",action:"Settings"})+"'>Change Settings</a></li>")}});b.extend(h.sidebar,{createTopicButton:function(){b("<div id='new_topic' class='button-gray'><span>Create new topic</span></div>").appendTo(h._sidebar).click(function(){h.dialogCreate()});b("<div id='all_topics_link'><a class='siebar-linkBtn' href='"+n.toHashWS({special:"All"})+"'>Topics</a><span class='pipe'>|</span><a class='siebar-linkBtn' href='"+
n.toHashWS({special:"Files"})+"'>Files</a><span class='pipe'>|</span><a class='siebar-linkBtn' href='"+n.toHashWS({special:"Members"})+"'>Members</a></div>").appendTo(h._sidebar)},createWSButton:function(){if(!n.suspended){b('<div id="create_ws" class="button-gray-img"><a href="'+n.toHash({g_special:"CreateWorkspace"})+'" class="icons-2">Create workspace</a></div>').appendTo(h._sidebar);n.admin&&b('<div id="side_add_person" class="link-button"><a href="'+h._gs_admin.addPerson+'" class="icons-2 add-person">Add new person</a></div>').appendTo(h._sidebar)}},
addSection:function(){return e.apply(null,arguments)},findSection:function(l){return q(l)},restoreAll:function(){p()},nav:function(){h.sidebar.createTopicButton()},common:function(){h.sidebar.createWSButton()},dashboard:function(){e("about_home");e("watchlist");if(n.admin)if(n.free){e("upgrade");h._sidebar.find(".side-section[cc-section=upgrade] .upgrade-button").click(h.upgradeAccount)}else e("account_balance");h.sidebar.settings()},settings:function(){n.isStandard()&&e("settings")},watchlist:function(){h.sidebar.settings()},
searchAll:function(){e("watchlist")},admin:function(){n.free||e("renew");n.suspended||e("watchlist")},workspaces:function(){e("about_workspaces");e("watchlist")},noSuchTopic:function(){h.sidebar.commonFooter()},commonFooter:function(){e("watchlist");e("hot_topics");e("recent");e("tags")},topic:function(){e("contributors",true);e("editing_history",true);e("watching",true);e("attachments",true);e("links_here",true);e("translate",true);h.sidebar.commonFooter()},exTopic:function(){p()},topicOld:function(){e("contributors");
e("compare");e("watching");e("attachments");e("links_here");e("translate");h.sidebar.commonFooter()},history:function(){e("contributors");e("watching");e("attachments");e("links_here");h.sidebar.commonFooter()},compare:function(){e("color_key");e("compare");e("contributors");e("watching");e("attachments");e("links_here");h.sidebar.commonFooter()},people:function(){e("about_people");e("renew");e("watchlist")},addPerson:function(){e("about_add_person")},members:function(){e("about_workspace_members")},
profile:function(){},editing:function(){e("editing_history");e("markup_help")},fileCategory:function(){e("files_cat")},file:function(){h.sidebar.commonFooter()},noSuchFile:function(){h.sidebar.commonFooter()},updateWatch:function(){g.listUsers({filter:"starred"},function(l,v){if(v<300){var w=h._sidebar.find("ul.side-watched").empty();b.each(l.users,function(u,x){u>5||b("<li/>").appendTo(w).append(u<5?b("<span />").addClass("star starred icons-2").text(x.screenName).attr("title","Click to set "+x.screenName+
" Unwatch").click(function(){}):b("<span />").text("more "+(l.users.length-5)+" people ..."))})}})},updateHistory:function(){h._sidebar.find(".topic-history h2").hasClass("collapse")||g.listTopicRevs({size:5},function(l,v){if(v<300){var w=h._sidebar.find(".topic-history ul").empty();b.each(l.revs,function(u,x){if(x)b("<li/>").appendTo(w).append(b("<span/>").addClass("sidebar-rev topic-rev revdiff-"+x.revDiff).text(x.rev)).append(b("<a/>").attr("href",n.toHashTopic({rev:u==0?"":x.rev})).text(h.prettyTime(x.revTime))).append(b("<span/>").append("("+
x.revCreator.screenName+")"))});b("<li/>").addClass("more").appendTo(w).append(b("<a/>").addClass("siebar-linkBtn").attr("href",n.toHashTopic({action:"history"})).html("All Revisions &raquo;"))}})},updateCompare:function(l){var v=l.length>10,w=v?10:l.length,u=h._sidebar.find("ul.history").empty();for(i=0;i<w;i++){var x=l[i],y=b("<li/>").appendTo(u);b("<span/>").addClass("sidebar-rev topic-rev revdiff-"+x.revDiff).text(x.rev).appendTo(y);var B=b('<input type="checkbox" class="checkbox" cc-topic-rev="'+
x.rev+'" />').appendTo(y),r=n.location;if(x.rev===r.rev||x.rev===r.rev_f||x.rev===r.rev_l){B.valu(true);y.addClass("history-current")}b("<a/>").appendTo(y).text(h.prettyTime(x.revTime)).attr("href",n.toHashTopic({rev:i===0?"":x.rev}));b("<span/>").text(x.revCreator.screenName).appendTo(y)}v&&u.append("<li class='more'><a href='"+n.toHashTopic({action:"history"})+"'>View more versions ("+l.length+")</a></li>");b("<li class='compare'>Check two and <input id='history_compare' type='button' name='compare' value='Compare'/></li>").appendTo(u);
u.find("#history_compare").disable().compareList(u)}})})(jQuery);
(function(b){var j=$cc.ui,e=$cc.api,q=$cc.session;b.extend(j,{dashboard:function(){b("#announce").length||b('<div id="announce"></div>').insertAfter(j._menu);b("<ul/>").addClass("entry-list activity-list").appendTo(j._content).attr("id","home_entry");j.sidebar.dashboard();e.loadAnnouncements(function(p,c){c==200&&j.showAnnounce(p.announcements)})},showAnnounce:function(p){var c=b("#announce");b.each(p,function(d,f){d=b.dateString(f.updatedTime,"short");var k=b('<div class="ann-field"><span class="ann-close icons">Close</span><div class="ann-content">'+
f.content+'</div><div class="ann-update">posted by <a href="'+q.toHash({g_user:f.admin.screenName})+'">'+f.admin.screenName+"</a>, updated at "+d+"</div></div>").appendTo(c);k.find(".ann-close").click(function(){e.hideAnnouncement({id:f.id});j.removeEle(k)})})}})})(jQuery);
(function(b){var j=$cc.ui,e=$cc.api,q=$cc.session;b.extend(j,{watchedTopics:function(){j._content.addTable("Workspace name,Topic name,Topic owner,Update time,".split(",")).attr("id","watched_entry").addClass("topic-list")},showWatchaedTopics:function(p){var c=b("#watched_entry"),d=c.find("tbody");if(p.length){d.empty();b.each(p||[],function(){var f=b("<tr/>").appendTo(d).attr("cc-topic-id",this.id),k=b('<a class="icons-2" href="'+q.toHash({ws:this.workspace.name,topic:"Main Page"})+'">'+this.workspace.name+
"</a>");b("<td/>").appendTo(f).append(k).addClass("td-wsName");k=b("<a/>").addClass("topic-link").topicLink(this.workspace.name,this.title);b("<td/>").appendTo(f).append(k).addClass("td-link");k=b("<a/>").personLink(this.owner);b("<td/>").appendTo(f).append(k).addClass("td-user");k=b("<td/>").appendTo(f).addClass("td-time");var m=b.dateString(this.updatedTime,"shortTime");k.text(m);f=b("<td/>").appendTo(f).addClass("td-icon");var g=this;b("<span/>").addClass("icon star").attr("title","Watch Topic").appendTo(f).addClass("starred").click(function(){var h=
b(this);e.starTopic({topicId:g.id,starred:!h.hasClass("starred")},function(n,l){if(l==200)n.starred?h.addClass("starred").attr("title","Unwatch Topic"):h.removeClass("starred").attr("title","Watch Topic")})})});c.tablesorter({headers:{4:{sorter:false}}})}else c.after('<p class="empty-msg">No watched topics.</p>')}})})(jQuery);
(function(b){var j=$cc.session,e=$cc.api,q=$cc.ui;b.extend(q,{people:function(){q._content.append('<ul id="people_list" class="entry-list"></ul>');q.sidebar.people()},showPeopleList:function(p){var c=b("#people_list").empty();j.location.special==="Members"?c.addClass("members-list"):c.removeClass("members-list");b('<p id="people_total"></p>').insertBefore(c).append("Total: <span>"+p.length+"</span>");c.peopleList(p)},showPeopleMgntList:function(p){function c(g){var h=function(n){var l=0,v=0,w=0;b.each(n,
function(){var u=this;if(u.status==="admin"){v++;l++}else if(u.status==="suspended")w++;else u.status==="active"&&l++});m.html('<strong class="st-active">'+l+'</strong> Active User<span class="st-active">'+(l>1?"s":"")+'</span>, <strong class="st-admin">'+w+'</strong> Suspended User<span class="st-suspended">'+(w>1?"s":"")+'</span>, <strong class="st-suspended">'+v+'</strong> Administrator<span class="st-admin">'+(v>1?"s":"")+"</span>.")};g?h(g):e.listUsers(function(n,l){l<300&&h(n.users)})}var d=
b("#peoplem_table");if(!d.length){d=b("#admin_tools").addTable("Full Name,Screen Name,Email Address,Status".split(",")).attr("id","peoplem_table").addClass("topic-list");d.wrap('<div class="form"></div>');if(!j.suspended){d.before('<div id="msg_box" class="msg-box hide"></div><div class="admin-buttons"><span class="button-gray"><a class="add-person icons-2" href="'+j.toHash({g_special:"Admin",action:"AddPerson"})+'">Add new person</a></span></div>');var f=d.find(".admin-buttons");j.free||f.append('<span class="link-button"><a class="icons-2 add-persons" href="'+
q._gs_admin.bulkUser+'">Add many people at once</a></span>')}}var k=d.find("tbody").empty();b.each(p,function(){function g(o){if(o==="suspended")return"Suspended user can't signin to this accout. Are you sure to suspend \""+v.screenName+'"? Click "OK" to contuine.';else if(o==="active")return'Are you sure to activate "'+v.screenName+'"? Click "OK" to contuine.';else if(o==="admin")return'Are you sure to grant administrative rights to "'+v.screenName+'"? Click "OK" to contuine.'}function h(o){o=o||
"added";o=o==="added"?"Inactive":o==="admin"?"Active & Administrator":b.capitalize(o);B.text(o)}function n(o){var z=x.find("select");o=o.split(",");b.each(o,function(C,D){var F;F=D==="added"?"Inactive":D==="admin"?"Administrator":b.capitalize(D);D=b("<option></option>").attr("value",D).text(F).appendTo(z);C==0&&D.attr("selected","selected").css({"font-style":"italic"})})}function l(o){var z=x.find(".change-field");if(z.length){z.find("select").empty();if(o==="admin")n("admin,active,suspended");else if(o===
"active")n("active,admin,suspended");else o==="suspended"?n("suspended,active,admin"):n("added,suspended,active,admin")}}var v=this,w=b("<tr/>").appendTo(k),u=(this.firstName||"")+" "+(this.lastName||"");b("<td/>").addClass("full-name").appendTo(w).text(u);b("<td/>").addClass("screen-name").appendTo(w).html('<a href="'+j.toHash({g_user:this.screenName})+'">'+this.screenName+"</a>");b("<td/>").addClass("email").appendTo(w).text(this.email);var x=b('<td class="peoplem-list-status"></td>').appendTo(w),
y=b("<div/>").addClass("status-field").appendTo(x).data("status",v.status),B=b('<span class="status-text"></span>').appendTo(y),r,A=b("#msg_box");if(v.email!==j.email){u=b('<span class="change-link">Change Status</span>').appendTo(y);if(v.status==="added")deleteLink=b('<span class="delete-link">Delete</span>').appendTo(y).click(function(){q.dialogConfirm('Are you sure to delete "'+v.screenName+'"? Click "OK" to contuine.',function(){e.removeUsers({users:[v.email]},function(o,z){if(z==200){q.growlUI(v.screenName+
" has been deleted.");w.fadeOut(1E3,function(){w.remove()})}else z==403?A.showMsg("Sorry, ony administrator can delete inactive users."):A.showMsg("Sorry, our server got a problem("+z+"), please try again later.")})})});u.click(function(){y.hide();var o=x.find(".change-field");if(!o.length){o=b('<div class="change-field"><select></select></div>').appendTo(x);b('<span class="cancel">Cancel</span>').appendTo(o).click(function(){o.hide();y.show()});b('<input type="button" class="button" value="Save" />').appendTo(o).click(function(){_newStatus2=
o.find("select").valu();if(_newStatus2!==(r||v.status))q.dialogConfirm(g(_newStatus2),function(){e.changeStatus({email:v.email,status:_newStatus2},function(z,C){if(C==200){r=_newStatus2;o.hide();h(_newStatus2);y.show();l(_newStatus2);c()}else C==402&&q.dialogAlert('Your account balance is not enough, please contact administrator or <a href="/doc/buy.html?account='+j.account+'">renew your account</a>.',function(){q.signOut()})})})})}l(r||v.status);o.show()})}h(this.status)});var m=b("#status_count");
m.length||(m=b('<span id="status_count" class="right"></span>').appendTo(".admin-buttons"));c(p);d.tablesorter({headers:{4:{sorter:false},5:{sorter:false}}})},noUser:function(){b('<p class="empty-msg">Ooops! No such person.</p>').appendTo(q._content)},profile:function(){e.getUser(j.location.g_user);b(" <table id='profile_info'><tr><td class='person-avatar'><img id='info_img' class='avatar' src='"+$cc.STATIC+"css/img/people-100.gif' height='200' width='200' /><ul id='p_info_list'><li class='pinfo-screenName'><span class='screen-name'></span></li><li><label>Full name: </label><span class='pinfo-fullName'></span></li><li><label>Status: </label><span class='pinfo-status'></span></li><li><label>Email: </label><span class='pinfo-email'></span></li><li><label>Joined time: </label><span class='pinfo-joinedTime'></span></li></ul></td><td class='person-deials'><div id='person_profile'><h2>Profile <a class='edit-profile' href='"+
j.toHash({g_special:"Settings",action:"EditProfile"})+"'>[Edit]</a></h2><div id='profile_entry'></div><p class='update-time'>Updated: <span></span></p><hr/><h2 class='contributions-h2'><a class='right hide' id='more_contributions_link'>More &raquo;</a>Recent Contributions</h2><ul id='contributions_entry' class='entry-list activity-list'></ul></div></td></tr></table>").appendTo(q._content);q.sidebar.profile()},showProfileInfo:function(p){q._content.find("p.other").show();var c=(e.getAvatarUrl({size:"large",
email:p.email})||"")+q._avatar_param;c&&b("#info_img").attr("src",c);var d=b("#p_info_list");c=d.find(".pinfo-screenName");c.find("span.screen-name").text(p.screenName);d.find("span.pinfo-status").text(b.capitalize(p.status)).addClass("status-"+p.status);var f=p.firstName+" "+p.lastName;d.find(".pinfo-fullName").text(f);b("<a/>").appendTo(d.find(".pinfo-email")).emailLink(p.email);d.find(".pinfo-joinedTime").showDate(p.createdTime);q._content.find(".update-time span").showDate(p.updatedTime);if(p.email===
j.email){d=d.find("li.edit-profile");d.length||(d=b("<a class='edit-profile' href='"+j.toHash({g_special:"Settings",action:"EditProfile"})+"'>[Edit]</a></li>").appendTo(c))}b("#profile_entry").cctext(p.description||f+" didn't leave any description here.",{readonly:true});b("#person_profile h2.contributions-h2 a").attr("href",j.toHash({g_user:p.screenName,action:"contributions"}));e.listHistory({email:p.email,size:20},function(k,m){if(m==250||m==200)b("#more_contributions_link")[k.history.length?"show":
"hide"]();q.showActivity(k.history,{filter:"contributions",noEntryMsg:"No contributions",showDateSplit:false,size:20})});if(p.rss){b("<hr/><h2>Blog/RSS: </h2><div id='rss_entry'></div>").appendTo("#person_profile");b("#rss_entry").feedControl({url:p.rss,onError:function(){b("#rss_entry").text("No feeds found. Please use another RSS url.")}})}},members:function(){j.toHashWS({special:"Permissions"});e.isManager()&&b('<div class="owner-buttons"><span class="button-gray"><a href="'+j.toHashWS({special:"Permissions"})+
'">People access & permissions</a></span></div>').appendTo(q._content);q._content.append('<ul id="people_list" class="entry-list"></ul>');q.sidebar.members()},permissions:function(p,c){function d(w){return w==="unaccessible"?"No access":b.capitalize(w)}function f(w){l.find("td.acc-permission select").valu(w);l.find("td.acc-permission .sp-selected").text(d(w));j.location.g_special!=="CreateWorkspace"&&e.changeWorkspacePermission({users:v,permission:w},function(u,x){x==200&&q.growlUI("You have set all people as "+
w+".")})}c=c||q._content;var k=b("#permissions_table");if(!k.length){k=b('<div class="owner-buttons"></div>').appendTo(c);var m=b('<span class="link-button"><span class="hyperlink per-all-noaccess">No one can access except me</span></span>').appendTo(k),g=b('<span class="link-button"><span class="hyperlink per-all-manager">All people as managers</span></span>').appendTo(k),h=b('<span class="link-button"><span class="hyperlink per-all-collab">All people as collaborators</span></span>').appendTo(k),
n=b('<span class="link-button"><span class="hyperlink per-all-viewer">All people as viewers</span></span>').appendTo(k);b('<div id="permissions"></div>').appendTo(c);k=b("#permissions").addTable("Screen name,Full name,Email address,Access permission".split(",")).attr("id","permissions_table").addClass("topic-list")}var l=k.find("tbody").empty(),v=[];b.each(p,function(w,u){var x=this;v.push(this.email);w=b("<tr/>").appendTo(l);var y=(this.firstName||"")+" "+(this.lastName||"");b("<td/>").addClass("screen-name").appendTo(w).html('<a href="'+
j.toHash({g_user:this.screenName})+'">'+this.screenName+"</a>");b("<td/>").addClass("full-name").appendTo(w).text(y);b("<td/>").addClass("email").appendTo(w).text(this.email);y=b("<td></td>").addClass("acc-permission").appendTo(w);var B=j.location.g_special===q._gs_createws?e.getWorkspace().owner.email:j.email;if(x.email===B){y.text(x.email===j.email?"You are workspace owner":"Workspace owner");w.addClass("ws-owner")}else if(x.email===j.email)y.text("You");else{y.append('<select class="hide"><option value="manager">Manager</option><option value="collaborator">Collaborator</option><option value="viewer">Viewer</option><option value="unaccessible">No access</option></select>');
w=y.find("select");w.valu(u.permission||"unaccessible").simpleSelect(d(w.valu()),2,function(r){j.location.g_special!=="CreateWorkspace"&&e.changeWorkspacePermission({user:x.email,permission:r},function(A,o){if(o==200)q.growlUI("You have set "+x.screenName+" as "+r+".");else o!=402&&q.dialogAlert("Sorry, we got a problem("+o+"), please try again later")})})}});k.tablesorter({headers:{3:{sorter:false}}});m.click(function(){f("unaccessible")});g.click(function(){f("manager")});h.click(function(){f("collaborator")});
n.click(function(){f("viewer")})},addPerson:function(){function p(){e.listUsers({status:"active admin"},function(w,u){if(u<300){w=3-w.users.length;k.html('You can add <strong class="red">'+w+'</strong> people, <span class="hyperlink upgrade-btn">upgrade your account</span> to add more.');k.find(".upgrade-btn").click(q.upgradeAccount);w<1?f.disable().addClass("btn-disable"):f.enable().removeClass("btn-disable")}})}function c(){d.get(0).reset();v.showMsg(d.field("screenName")+" have been added to "+
j.accountName+". URL and password have been sent to his/her email address.","success")}q.sidebar.addPerson();var d=b('<form id="add_person"></form>').appendTo(q._content);d.append("<fieldset><legend class='adduser'>Add a new person <span class='title-grey'>to "+j.accountName+'</span></legend><div class="right">'+(j.free?'<span id="people_add_count"></span>':'<span class="link-button"><a class="icons-2 add-persons" href="'+q._gs_admin.bulkUser+'">Add many people at once\u001d</a></span>')+"</div><p class='right-label'><span class='red-star'>*</span>Required</p><div class='msg-box hide'></div><ol style='margin-top: 20px;'><li><label class='right-label'><span class='red-star'>*</span>Screen Name</label><input name='screenName' maxlength='256' class='text required' type='text' /><span class='msg hide' ></span><p style='margin-left:15em;' class='note'>5~256 chars.(a-z, 0-9, dash, dot, no space)<br/>The screen name can be used to login, and can't be changed.</p></li><li><label class='right-label'><span class='red-star'>*</span>First Name</label><input name='firstName' maxlength='256' class='text required' type='text' /></li><li><label class='right-label'><span class='red-star'>*</span>Last Name</label><input name='lastName' maxlength='256' class='text required' type='text' /></li><li><label class='right-label'><span class='red-star'>*</span>Email</label><input name='email' class='required' type='text' value='' /><span class='msg hide error'></span><p style='margin-left:15em;' class='note'>The email can be used to login, and can't be changed.</p><p id='set_perm'>Set permissions for this person</p></li><li id='add_person_ws_li' class='hide'><label>-></label><p class='add-person-desc'>Drag a workspace name and drop it to the permission you want to set for this person.</p><div id='add_person_ws_cntr'><div id='add_person_ws'></div><p id='add_person_all_ws'><span class='hyperlink all-noaccess'>All as no access</span><span class='hyperlink all-manager'>All as manager</span><span class='hyperlink all-collab'>All as collaborator</span><span class='hyperlink all-viewer'>All as viewer</span></p></div></li></ol><div class='fb-bar'><a href='"+
q._gs_admin.peopleManagement+"' class='cancel'>Cancel</a><input id='add_person_submit' class='button' type='submit' value='Add Now' /><span class='waiting hide'></span></div></fieldset>");var f=d.find("input:submit"),k=b("#people_add_count");k.length&&p();e.listWorkspaces({user:j.email},function(w,u){if(u==200){u=b("#set_perm");if(w.workspaces.length){u.click(function(){b("#add_person_ws_li").toggle().toggleClass("slide-down").hasClass("slide-down")?b(this).text("Hide permissions"):b(this).text("Set permissions for this person")});
var x=[],y=b("#add_person_ws"),B=function(){y.find("li.org-item").each(function(){b(this).addClass("round-block ws-color-"+b(this).data("org-data")%6)})};b.each(w.workspaces,function(r,A){A.permission==="manager"&&x.push({name:b.truncate(A.name,15),value:A.id})});y.organizer([{name:"No Access<br/> <span>in workspaces</span>",values:x},{name:"Manager<br/> <span>in workspaces</span>",values:[]},{name:"Collaborator<br/> <span>in workspaces</span>",values:[]},{name:"Viewer<br/> <span>in workspaces</span>",
values:[]}]);B();b("#add_person_all_ws span.hyperlink").click(function(){var r;if(b(this).hasClass("all-noaccess"))r=[{name:"No Access<br/> <span>in workspaces</span>",values:x},{name:"Manager<br/> <span>in workspaces</span>",values:[]},{name:"Collaborator<br/> <span>in workspaces</span>",values:[]},{name:"Viewer<br/> <span>in workspaces</span>",values:[]}];else if(b(this).hasClass("all-manager"))r=[{name:"No Access<br/> <span>in workspaces</span>",values:[]},{name:"Manager<br/> <span>in workspaces</span>",
values:x},{name:"Collaborator<br/> <span>in workspaces</span>",values:[]},{name:"Viewer<br/> <span>in workspaces</span>",values:[]}];else if(b(this).hasClass("all-collab"))r=[{name:"No Access<br/> <span>in workspaces</span>",values:[]},{name:"Manager<br/> <span>in workspaces</span>",values:[]},{name:"Collaborator<br/> <span>in workspaces</span>",values:x},{name:"Viewer<br/> <span>in workspaces</span>",values:[]}];else if(b(this).hasClass("all-viewer"))r=[{name:"No Access<br/> <span>in workspaces</span>",
values:[]},{name:"Manager<br/> <span>in workspaces</span>",values:[]},{name:"Collaborator<br/> <span>in workspaces</span>",values:[]},{name:"Viewer<br/> <span>in workspaces</span>",values:x}];y.empty();y.organizer(r);B()})}else{b("#add_person_nows_li").show();u.hide()}}});var m=d.find('input[name="screenName"]').blur(function(){m.valu(d.field("screenName").toLowerCase());var w=m.valu().match(/^[a-z0-9\-\.]+$/i),u=m.next(".msg");w?u.hide().text(""):u.showMsg("This field contains invalid characters.")}),
g=j.email;d.find('li input[name="email"]').smartPostfix("@",g.substring(g.indexOf("@")+1));var h=d.find("input[name=email]"),n=d.find("input[name=screenName]").focus(),l=h.next(".msg");n.blur(function(){n.checkScreenName();!h.valu()&&n.valu()&&h.valu(n.valu()+g.substring(g.indexOf("@")))});h.blur(function(){b.checkEmail(h.valu())?l.hide().text(""):l.text("Email is invalid").show()});var v=d.find(".msg-box");d.submit(function(){var w=d.checkForm();if(w)v.showMsg(w+" required field(s) in this are incomplete or incorrect.");
else{var u=d.formObject();(u.email=b.checkEmail(u.email))||v.showMsg("Email is invalid.");if(n.checkScreenName()){var x=d.find(".waiting").show();f.hide();e.addUser(u,function(y,B){x.hide();f.show();if(B==200){j.free&&p();if(b("#add_person_ws_li").is(":visible")){var r=[];y=b("#add_person_ws");b.each(y.organizer("data"),function(A,o){if(o.name==="Viewer in workspaces")b.each(o.values,function(z,C){r.push({email:u.email,workspace:C.name,permission:"viewer"})});else if(o.name==="Manager in workspaces")b.each(o.values,
function(z,C){r.push({email:u.email,workspace:C.name,permission:"manager"})});else o.name==="Collaborator in workspaces"&&b.each(o.values,function(z,C){r.push({email:u.email,workspace:C.name,permission:"collaborator"})})});e.addToWorkspaces({users:r},function(A,o){if(o==200){c();b("#add_person_ws_li").hide().removeClass("slide-down");b("#set_perm").text("Set permissions for this person")}})}else c()}else if(B==402)v.showMsg('Your account balance is not enough, please contact administrator or <a href="/doc/buy.html?account='+
j.account+'">renew your account</a>.');else B==409?v.showMsg("This person has been added."):v.showMsg("Sorry, our server got a problem("+B+"), please try again latter.")})}}return false})},bulkUser:function(){var p=b('<form id="bulkuser" />').appendTo(q._content);p.append("<fieldset><legend>Bulk user update <span class='title-grey'>to "+j.accountName+'</span></legend><p>Add and many users at once.</p><div class=\'msg-box hide\'></div><ol class=\'numbered\'><li><b>Make a list of user accounts</b><p>You\'ll need to create a CSV (comma separated value) file with the user information. Spreadsheet programs including Google Docs and Microsoft Excel make it easy to create and edit CSV files.</p><p>Your CSV file should be formatted as a table and must include a header, or first line, that defines the fields in your table. The headers should be: screen name, first name, last name.</p><p><i>Example:</i></p><table class=\'sample\'><tbody><tr><th></th> <th>A</th> <th>B</th> <th>C</th> <th>D</th></tr><tr><th>1</th> <td><b>email</b></td> <td><b>screen name</b></td> <td><b>first name</b></td> <td><b>last name</b></td></tr><tr><th>2</th> <td>picasso@cctext.net</td>  <td>picasso</td> <td>Michael</td> <td>Picasso</td></tr><tr><th>3</th> <td>ethanmonet@cctext.net</td> <td>ethanmonet</td> <td>Ethan</td> <td>Monet</td></tr><tr><th>4</th> <td>olivia@cctext.net</td> <td>olivia</td> <td>Olivia</td> <td>Keeffe</td></tr></tbody></table></li><li><b>Upload list of user accounts in CSV format</b><form id="upload_form" method="post" target="upload_target" enctype="multipart/form-data"><input type="file" class="file_selector" name="file" /><span class="success"></span><iframe id="upload_target" name="upload_target" style="width:0;height:0;border:0px solid #fff;"></iframe></form></li><li id=\'users\' class=\'hide\'></li></ol><div class=\'fb-bar\'><a href=\''+
q._gs_admin.peopleManagement+"' class='cancel' >Cancel</a><input id='upload_button' class='button' type='button' value='Upload and continue' /><input type=\"button\" id=\"confirm_button\" class=\"button hide\" value=\"Confirm\" /><span class='waiting hide'></span></div></fieldset>");var c=p.find(".msg-box"),d=b("#upload_button"),f=b("#confirm_button"),k=p.find("span.waiting"),m=b("#upload_form");d.click(function(){c.hide();var g=$cc.api.uploadUsers({},{onStart:function(h){m.get(0).action=h;m.get(0).submit();
d.disable()},onProgress:function(){d.hide();k.show()},onUploaded:function(h){k.hide();d.hide();m.find("input:file").hide();m.find(".success").text("Upload users successfully.").show();b("#users").show().append("<b>Please confirm that the "+h.length+" users' information are in right places:<table class='sample'><tbody><tr><td><b>Email</b></td><td><b>Screen Name</b></td><td><b>First Name</b></td><td><b>Last Name</b></td></tr>"+b.map(h,function(n){return"<tr><td>"+n.email+"</td><td>"+n.screenName+"</td><td>"+
n.firstName+"</td><td>"+n.lastName+"</td>"}).join("</tr>")+"</tbody></table>");f.show().click(function(){k.show();f.hide();g.confirm()})},onFinish:function(){k.hide();d.enable().show();f.hide();q.redirect(q._gs_admin.peopleManagement)},onError:function(h){k.hide();b("#users").hide();m.find("input:file").show();m.find(".success").text("").hide();d.enable().show();f.hide();h==400?c.showMsg("Failed, invalid file format."):c.showMsg("Sorry, we got a problem("+h+"), please try again later.")},onCancel:function(){k.hide();
c.showMsg("You canceled this upload.");d.show();f.hide()}});return false})}});b.fn.personLink=function(p){if(typeof p==="string")p=e.getUser({email:p});this.attr("href",j.toHash({g_user:p.screenName})).text(p.screenName);return this};b.fn.emailLink=function(p){this.attr("href","mailto:"+p).text(p);return this};b.fn.permissionItem=function(p,c){var d=this,f=b("<li/>").appendTo(d).hide();b("<span/>").addClass("avatar-16").appendTo(f);b("<strong/>").addClass("full-name").text(p.screenName).appendTo(f);
b("<span/>").addClass("screen-name").text("("+p.screenName+")").appendTo(f);b("<span/>").addClass("email").text(p.email).appendTo(f);b("<span/>").addClass("add-button button").text("Add").appendTo(f).click(function(){e.addWorkspaceMembers({user:p.email},function(k,m){if(m==200){f.fadeOut();b("#people_list").peopleItem(p,"fadeIn")}})});f[c?c:"show"]();return this};b.fn.peopleItem=function(p,c){var d=this,f=j.location.special==="Members",k=f?50:100;d=b("<li/>").appendTo(d);var m=b("<div/>").addClass("img-border").appendTo(d);
m=b("<img class='avatar' src='"+$cc.STATIC+"img/people-100.gif' width='100' height='100' />").appendTo(m);(k=e.getAvatarUrl({width:k,height:k,email:p.email}))&&m.attr("src",k);k=b("<div/>").addClass("user-info").appendTo(d);m=b("<label/>").appendTo(k).addClass("user-name");b("<a/>").appendTo(m).personLink(p);b("<span/>").text("("+p.firstName+" "+p.lastName+")").appendTo(m);m=b("<label/>").appendTo(k).addClass("user-email");b("<span/>").appendTo(m).emailLink(p.email);k=b("<label/>").appendTo(k).addClass("user-time");
b("<span/>").text("joined").appendTo(k);b("<span/>").appendTo(k).showDate(p.createdTime);k=b("<div/>").addClass("user-action").appendTo(d);if(f)p.email===e.getWorkspace(j.location.ws).owner.email?k.addClass("owner").text("Owner"):k.text(p.permission||"");else k.html("<b>"+(p.status==="admin"?"Admin":"")+"</b>");d[c?c:"show"]()};b.fn.peopleList=function(p){var c=this;b.each(p,function(){c.peopleItem(this)});return this};b.fn.membersList=function(p){var c=this;b.each(p,function(){if(this.email!=j.email){var d=
b("<li></li>").appendTo(c);d=b("<label/>").appendTo(d);b("<input type='checkbox' class='checkbox' />").appendTo(d);this.firstName&&this.lastName&&b("<span/>").addClass("full-name").text(this.screenName).appendTo(d);this.screenName&&b("<span/>").addClass("screen-name").text(""+this.screenName+"").appendTo(d);b("<span/>").addClass("email").appendTo(d).text(this.email)}});return this};b.fn.checkScreenName=function(){var p=this.valu(),c=this.parent().find(".msg");if(p.length>256)c.showMsg("It's too long.",
"error",5E3);else if(p.length<5)c.showMsg("It's too short.","error",5E3);else if(p.match(/[^a-z0-9-\.]/))c.showMsg("There are invalid characters.","error",5E3);else{c.hide();return true}return false}})(jQuery);
(function(b){var j=$cc.ui,e=$cc.api,q=$cc.session,p=b.bourbon.regex;b.extend(j,{category:function(c,d){return c==="image"?!!d.match(p.imageSuffix):c==="audio"?!!d.match(p.audioSuffix):c==="video"?!!d.match(p.videoSuffix):c==="document"?!!d.match(p.docSuffix):true},file:function(){b("<div/>").addClass("topic-media").appendTo(j._content)},gotFileUrl:function(c,d){var f=q.location;c=b.extend({fileName:f.file,title:f.topic,rev:"",notPreview:false},c||{});e.getFileUrl({file:{fileName:c.fileName,title:c.title,
rev:c.rev,preview:!c.notPreview}},function(k,m){m==200&&d(k.files[0].url)})},notFile:function(c,d){if(d==="moved"){j._redirectFrom=q.location.file;j.redirect(q.toHashTopic({file:c}))}},showFile:function(c){j._redirectFrom=undefined;var d=j._content.find("div.topic-media");b("<h2/>").appendTo(d).append(b("<span/>").addClass("file file-type-"+b.filenameExt(c.fileName)).text(c.fileName));if(c.deleted)d.html('<p style="font-size:18px; color:#666;">Sorry, this file has been delete.</p>');else{b("<div/>").addClass("media-info").appendTo(d);
b('<div class="media-info"><p class="description">'+(c.description||"")+'</p><p class="file-meta">by <a href="'+q.toHash({g_user:c.revCreator.screenName})+'">'+c.revCreator.screenName+"</a> on "+b.dateString(c.revTime,"shortUs")+" - "+b.prettySize(c.size||0)+"</p></div>").appendTo(d);var f=b("<div/>").appendTo(d).addClass("file-action");j.gotFileUrl({fileName:c.fileName,title:c.topic.title,rev:c.rev},function(k){b.cctext.media_tools.auto(d,k)});if(q.email===c.revCreator.email||q.email===c.topic.owner.email||
q.email===c.topic.workspace.owner.email)b('<span class="red-link">Delete</span>').appendTo(f).click(function(){j.deleteFile(c.fileName,c.topic.title)});if(!e.isViewer()){b('<span class="pipe" />').text(" | ").appendTo(f);b('<span class="link-gray round-8" />').text("Upload a new version").click(function(){j.dialogUpload({showExistLink:false,isNewRev:true,dialogTitle:'Upload a <span class="red">new version</span> of <span class="red">'+b.truncate(c.fileName,20)+"</span>"},function(k){j.redirect(q.toHashTopic({file:k.fileName}))})}).appendTo(f)}b('<span class="pipe" />').text(" | ").appendTo(f);
b('<span class="link-gray round-8 file-download-button" />').text("Download").appendTo(f).click(function(){j.gotFileUrl({fileName:c.fileName,title:c.topic.title,notPreview:true},function(k){q.openInBrowser(k)})});j.showFileContent();f=b('<div id="file_history_cntr" class="hide" />').appendTo(d);b("<h3/>").append("<span>History of "+c.fileName+"</span>").appendTo(f);b('<ul id="file_history" />').appendTo(f);e.listFileRevs({},function(k,m){if(m<300){k=k.revs;k.length>1&&j.showFileHistory(k)}})}},showFileContent:function(){var c=
b("<div/>").addClass("file-content").appendTo(j._content).addClass("waiting").text("Loading content ...");e.loadDocContent({},function(d,f){c.removeClass("waiting");if(f<300)c.empty().cctext(d.content,{contents:"#toc .toc-list"}).before('<h2 class="file-content-title">The information extracted from the file</h2>');else if(f==404)c.text("").hide();else f>=500&&c.text("Sorry, we got a problem while extract information.")})},showFileHistory:function(c){b("#file_history_cntr").show();var d=b("#file_history").empty();
b.each(c,function(f,k){f=b('<li><div class="file-history-name"><span class="file-history-rev-icon">'+k.rev+'.</span><a href="'+q.toHashTopic({file:k.file.fileName,rev:k.rev===c.length?"":k.rev})+'">'+k.file.fileName+"</a> - "+b.prettySize(k.file.size)+'</div><div class="file-history-details">by <a href="'+q.toHash({g_user:k.revCreator.screenName})+'">'+k.revCreator.screenName+"</a> on "+b.dateString(k.revTime,"shortUs")+"</div></li>").appendTo(d);if(k.rev===(q.location.rev||c.length))f.addClass("current-file")})},
noFile:function(){b('<p style="font-size: 18px; color: #666;">Sorry, "'+q.location.file+"\" doesn't exist.</p>").appendTo(j._content.find(".topic-media"))},showFiles:function(c,d){var f=!e.isViewer(),k=b("#files_entry");k.length||(k=j._content.addTable("File Name,Topic,Uploader,Time,Size,,".split(",")).attr("id","files_entry").addClass("topic-list"));var m=k.find("tbody").empty();b("p.empty-msg").remove();c=b.grep(c,function(g){return j.category(d||"all",g.fileName)});if(c.length){b.each(c,function(){var g=
b("<tr/>").appendTo(m),h=b("<td/>").appendTo(g).addClass("td-link"),n=b.truncate(this.fileName,30);n=b("<a/>").text(n).attr("href",q.toHashWS({file:this.fileName,topic:this.topic.title}));b("<span/>").append(n).addClass("file file-type-"+b.filenameExt(this.fileName)).appendTo(h);b("<div/>").addClass("description").appendTo(h).text(this.description||"");h=b("<td/>").appendTo(g).addClass("td-topic");b("<a/>").attr("href",q.toHashWS({topic:this.topic.title})).text(this.topic.title).appendTo(h).addClass("grey");
h=b("<td/>").appendTo(g).addClass("td-full-name");b("<a/>").attr("href",q.toHash({g_user:this.revCreator.screenName})).text(this.revCreator.screenName).appendTo(h).addClass("grey");h=b("<td/>").appendTo(g).addClass("td-date");n=b.dateString(this.revTime,"short");b("<span/>").appendTo(h).text(n).attr("title",b.dateString(this.revTime,"shortTime"));h=b("<td/>").appendTo(g).addClass("td-size");b("<span/>").text(b.prettySize(this.size||0)+" ").appendTo(h).addClass("grey");h=b("<td/>").appendTo(g).addClass("td-icon");
var l=this;b('<span class="icon icon-quicklook"></span>').appendTo(h).click(function(){j.quicklook(l.fileName,l.topic.title)});e.getWorkspace({name:q.location.ws});h=b("<td/>").appendTo(g).addClass("td-icon");if(f){l=this;b('<span class="icon delete"></span>').appendTo(h).click(function(){j.deleteFile(l.fileName,l.topic.title,g)})}});k.tablesorter({headers:{5:{sorter:false},6:{sorter:false}}})}else b("<p/>").insertAfter(k).addClass("empty-msg").text("No existing files.")},deleteFile:function(c,d,
f){j.dialogConfirm('Are you sure you want to delete <strong>"'+c+'"</strong>?',function(){e.deleteFile({fileName:c,title:d},function(k,m){if(m==200)f?f.effect("highlight",{backgroundColor:"#FFFFCC"},1E3,function(){f.remove()}):j.redirect(q.toHashTopic({file:""}));else m==403&&alert("Your permission has been changed, you can't delete this file now.")})})},filterFiles:function(c){b("#files_entry > tbody tr").each(function(){var d=b(this);j.category(c,d.find(".file").text())?d.show():d.hide()})},quicklook:function(c,
d){function f(){j._quicklookLoading.hide();b.blockUI({message:k,css:{border:"none",opacity:0.9,"-webkit-border-radius":"5px","-moz-border-radius":"5px","-moz-box-shadow":"2px 3px 10px #333333","-wekit-box-shadow":"2px 3px 10px #333333","background-color":"#666",border:"1px solid #434343"}});b(".blockOverlay").click(b.unblockUI)}j._quicklookLoading.show();d=d||q.location.topic;var k=b(".quicklook-container");if(k.length)k.show();else{k=b('<div class="quicklook-container" style="display:none;"></div>').appendTo(j._dialog);
var m=b('<div class="quicklook-header"><span class="quicklook-header-close"></span></div>').appendTo(k);b('<div class="quicklook-content"></div>').appendTo(k);b('<div class="quicklook-footer"></div>').appendTo(k);m.find("span.quicklook-header-close").click(b.unblockUI)}var g=k.find(".quicklook-content").empty();k.find(".quicklook-footer").text(c);if(e.getFile({fileName:c,title:d}).deleted===true)g.html('<p style="font-size:18px; color:#fff; padding: 20px 0;">Sorry, this file has been deleted.</p>');
else b.cctext.isMediaFile(c)?j.gotFileUrl({fileName:c,title:d},function(h){b.cctext.media_tools.auto(g,h);f()}):e.loadDocContent({fileName:c,title:d},function(h,n){var l=g.find(".quicllook-file-content");l.length||(l=b("<div/>").addClass("quicllook-file-content doc-content").appendTo(g));n==200?l.cctext(h.content||"= No preview. =",{readonly:true}):l.html('<p style="line-height:50px; font-size:15px;">No quicklook about this file.</p>');f()})}});b.fn.showFiles=function(c,d,f){var k=this;k.empty();
d=d||"";c.length>0?b.each(c,function(){var m=this,g=f?m.description||"":null;g=b("<li/>").appendTo(k).showFile(m.fileName,m.topic.title,d,g);d==="url"&&g.find("a").addClass("file file-type-"+b.filenameExt(m.fileName))}):b("<li/>").text("No existing file attach to this topic.").appendTo(k).addClass("no-file");b("<li/>").addClass("more").append(b("<a/>").addClass("siebar-linkBtn").html("All Files &raquo;").attr("href",q.toHashWS({special:"Files"}))).appendTo(k);return this};b.fn.showFile=function(c,
d,f,k){var m=this,g=c.length,h;if(b.isFunction(f))h=b("<span/>").appendTo(m).click(function(){f(h)}).attr("title","Click add to topic").text(g>20?c.substring(0,20)+"... "+c.substring(c.lastIndexOf(".")):c);else if(f==="url"){h=b("<a/>").attr("href",q.toHashWS({topic:d,file:c})).appendTo(m);b("<span/>").text(c).appendTo(h);k&&b("<span/>").text(k).appendTo(m).addClass("file-description")}else h=m.text(c);h.attr("ui-file-name",c);return this}})(jQuery);
(function(b){function j(c){if(c.field("change_type")==="1"){c.find("input.change-with2").hide().valu("");c.find("input.change-with1").show().focus()}else{c.find("input.change-with1").hide().valu("");c.find("input.change-with2").show().focus()}}var e=$cc.session,q=$cc.api,p=$cc.ui;b.extend(p,{settingsTools:function(){b('<div id="settings_tools"><ul id="settings_tools_ul"><li class="settings"><a href="'+e.toHash({g_special:"Settings",action:"Settings"})+'">Settings</a></li><li class="changepassword"><a href="'+
e.toHash({g_special:"Settings",action:"ChangePassword"})+'"> Change Password </a></li><li class="changesecurityquestion"><a href="'+e.toHash({g_special:"Settings",action:"ChangeSecurityQuestion"})+'"> Change Security Question </a></li><li class="editprofile"><a href="'+e.toHash({g_special:"Settings",action:"EditProfile"})+'"> Edit Profile </a></li></ul></div>').appendTo(p._content).find("li."+e.location.action.toLowerCase()).addClass("current")},userSettings:function(){var c=b('<form id="user_settings"><div class="msg-box hide"></div></form>').appendTo("#settings_tools").append("<fieldset><legend>Notification Email</legend><ol class='settings-ol'><li><label class='label-checkbox'><input type='checkbox' checked='checked' name='dailySummary' /> Send me the daily activity of my watchlist. (One message per day.)</label></li><li><label class='label-checkbox'><input type='checkbox' name='watchlistChanges' checked='checked' /> Send me a message when my watched topics have been modified. (More than one message per day.)</label></li></ol></fieldset><div class='fb-bar'><input class='button' type='submit' value='Save Changes' /><span class='waiting hide'></span> or <a href='"+
p._gs_home+"' class='cancel'>Cancel</a></div>"),d=c.find(".msg-box"),f=c.find(".fb-bar .waiting"),k=c.find("input:submit");q.loadNotificationSettings(function(m,g){if(g<300){c.field("dailySummary",m.dailySummary);c.field("watchlistChanges",m.watchlistChanges)}});c.submit(function(){f.show();k.hide();q.saveNotificationSettings(c.formObject(),function(m,g){f.hide();k.show();g==200&&d.showMsg("Your notification settings has been changed","success")});return false})},showSecurityQuestion:function(c){var d=
b("form"),f=d.find(".reset-tips"),k=d.find("label.change-type-answer");j(d);var m=d.find(".s-question");q.loadSecurity(function(g,h){m.removeClass("waiting");if(h==200){f.html("To reset your "+c+", provide your <strong>current password</strong> or the <strong>answer</strong> to your security question.");m.text(g.question);k.show()}if(h==404){f.html("To reset your "+c+", provide your <strong>current password</strong>.");m.text("You haven't set your security question");k.hide()}})},changePassword:function(){var c=
b("<form/>").appendTo("#settings_tools").append("<div class='password-field'><p class='reset-tips'></p><div class='msg-box hide'></div><ol><li><label><input type='radio' class='radio' checked='checked' name='change_type' value='1'/><span>Old password</span></label><label class='change-type-answer'><input type='radio' class='radio' name='change_type' value='2'/><span class='s-question waiting'></span></label><div class='form-value'><input type='password' class='password change-with1' name='old_pass' /><input type='text' class='text change-with2 hide' name='security_answer' /></div></li><li><label for='new_pass' class='right-label'>New Password:</label><div class='form-value''><input id='new_pass' name='password' class='required password' maxlength='256' type='password' /><span class='password-strength'></span></div></li><li><label for='new_repass' class='right-label'>confirm Password:</label><div class='form-value'><input id='new_repass' name='rePassword' class='required password' maxlength='256' type='password' class='text'/><span class='msg hide'></span></div></li></ol><div class='fb-bar'><input class='button' type='submit' value='Save Changes' /> or <a href='"+
p._gs_home+"' class='cancel'>Cancel</a></div></div>"),d=c.find(".msg-box");p.showSecurityQuestion("password");b("#new_pass").passwordStrength(".password-strength").passwordMatch("#new_repass");c.find('input[name="change_type"]').click(function(){j(c)});c.submit(function(){var f=c.formObject();if(f.change_type==="1"&&!f.old_pass)d.showMsg("Please enter your old password.");else if(f.change_type==="2"&&!f.security_answer)d.showMsg("Please enter your old question answer.");else if(f.password)if(f.rePassword)f.password!==
f.rePassword?d.showMsg("The new password you entered twice don't match."):q.changePassword({oldPassword:f.change_type==="1"?f.old_pass:"",answer:f.change_type==="2"?f.security_answer:"",newPassword:f.password},function(k,m){if(m==200){d.showMsg("You password has been changed.","success");c.get(0).reset()}else if(m==400)if(k.invalid==="password")d.showMsg("Old password is invalid, please try again or change security question by your old security answer.");else k.invalid==="answer"&&d.showMsg("Security answer is invalid, please try again or change security question by your old security answer.")});
else d.showMsg("Please confirm you new password");else d.showMsg("Please enter you new password");return false})},changeSecurity:function(){var c=b("<form/>").appendTo("#settings_tools").append("<div class='security-field'><p class='reset-tips'></p><div class='msg-box hide'></div><ol><li><label><input type='radio' class='radio' checked='checked' name='change_type' value='1'/>Current password:</label><label class='change-type-answer'><input type='radio' class='radio' name='change_type' value='2'/><span class='s-question'></span></label><div class='form-value'><input type='password' class='password change-with1' name='old_pass' /><input type='text' class='text change-with2 hide' name='security_answer' /></div></li><li><label for='security_question' >Security Question:</label><div class='form-value'><select name='securityQuestion' id='security_question' class='required'><option value='' style='font-style:italic;'>Choose a question ...</option><option value='What is your primary frequent flyer number?'>What is your primary frequent flyer number?</option><option value='What is your library card number?'>What is your library card number?</option><option value='What is your first phone number?'>What is your first phone number?</option><option value='What is your first teacher's name?'>What is your first teacher's name?</option><option class='own' value='own' style='font-style:italic;'>Write my own question</option></select><br/><input name='ownQuestion' class='own-question text hide' type='text' /></div><p class='note'>If you forget your password we will ask for the answer to your security question.</p></li><li><label for='answer'>Answer:</label><div class='form-value'><input id='answer' class='text' type='text' name='answer' maxlength='256' /></div></li></ol><div class='fb-bar'><input class='button' type='submit' value='Save Changes' /> or <a href='"+
p._gs_home+"' class='cancel'>Cancel</a></div></div>");p.showSecurityQuestion("security question");var d=c.find(".msg-box");c.find('input[name="change_type"]').change(function(){j(c)});b("select#security_question").change(function(){b(this).valu()==="own"?b("input.own-question").show().focus():b("input.own-question").hide()});b("select#security_question").valu()==="own"?b("input.own-question").show():b("input.own-question").hide();c.submit(function(){d.hide();var f=c.formObject(),k=f.securityQuestion!==
"own"?f.securityQuestion:f.ownQuestion;if(f.change_type==="1"&&!f.old_pass)d.showMsg("Please enter your password.");else if(f.change_type==="2"&&!f.security_answer)d.showMsg("Please enter your old question answer.");else if(k)f.answer?q.changeSecurity({password:f.change_type==="1"?f.old_pass:"",answer:f.change_type==="2"?f.security_answer:"",newQuestion:k,newAnswer:f.answer},function(m,g){if(g==200){d.showMsg("Your security question has been changed.","success");c.get(0).reset()}else if(g==400)if(m.invalid===
"password")d.showMsg("Password is invalid, please try again or change security question by your old security answer.");else m.invalid==="answer"&&d.showMsg("Old security answer is invalid, please try again or change security question by your password.")}):d.showMsg("Please enter your new security answer.");else d.showMsg("Please choose a security question.");return false})},editProfile:function(){var c=b("<form/>").attr("id","edit_profile").appendTo("#settings_tools"),d=q.getUser(e.location.g_user);
c.append("<div><div id='g_msg' class='msg-box error hide'></div><ol><li><label>Screen Name:</label><input id='setting_screenName' readonly='readonly' class='text readonly' type='text' /></li><li><label>Email:</label><input id='setting_email' readonly='readonly' class='text readonly' type='text' /></li><li class='short-line'><label>First Name:<span class='red-star'>*</span></label><input name='firstName' maxlength='256' class='text required' type='text' /><span class='msg hide' ></span></li><li class='short-line'><label>Last Name:<span class='red-star'>*</span></label><input name='lastName' maxlength='256' class='text required' type='text' /><span class='msg hide' ></span></li><li><label for='rss'>Blog/RSS</label><div class='form-value'><input id='rss' name='rss' maxlength='256' class='text' type='text' /></div></li><li><label>My picture:</label><div id='profile_picture' class='form-value'><img class=\"avatar current-avatar\" width=\"100\" height=\"100\" src=\""+
$cc.STATIC+"img/people-100.gif\"/><div id='change_picture'><span class='hyperlink'>Change picture</span></div></div></li><li><label class='desc-label'>Description:</label><div id='profile_desc' class='clearfix form-value'></div></li></ol><div class='fb-bar'><input id='save_btn' class='button' type='submit' value='Save Changes' /><span> or </span><a class='cancel' href='"+e.toHash({g_user:d.screenName,action:""})+"'>Cancel</a></div></div>");p._sidebar.find("li.edit-profile a").attr("href",e.toHash({g_special:"Settings",
action:"EditProfile"}));c=b("#edit_profile");c.field("firstName",d.firstName);c.field("lastName",d.lastName);b("#setting_screenName").valu(d.screenName);b("#setting_email").valu(d.email);q.loadUser({email:d.email},function(f,k){k==200&&p.showEditInfo(f.user)});c=b("#profile_picture");if(d=q.getAvatarUrl({email:d.email,size:"medium"}))currentPic=c.find("img").attr("src",d);b("#change_picture").click(function(){p.dialogAvatar()})},showEditInfo:function(c){var d=b("#edit_profile");b("#rss").valu(c.rss);
var f=b("#profile_desc");f.find(".wiki-toolbar").length?f.cctextEditor("value",c.description):f.cctextEditor("edit",c.description,{name:"description",width:"80%"});var k=d.find(".msg-box");d.submit(function(){var m=d.checkForm();if(m)k.showMsg(m+" required fields in this form are incorrect or incomplete.");else{m=d.formObject();m.description=f.cctextEditor("value");q.modifyProfile(m,function(g,h){h==200&&p.redirect(e.toHash({g_user:g.user.screenName}))})}return false})},adminTools:function(){var c=
b('<div id="admin_tools"><ul id="admin_tools_ul"></ul></div>').appendTo(p._content),d=b("#admin_tools_ul");e.suspended||b('<li class="settings"><a href="'+e.toHash({g_special:"Admin",action:"Settings"})+'">Settings</a></li>').appendTo(d);e.free||d.append('<li class="accountbalance"><a href="'+e.toHash({g_special:"Admin",action:"AccountBalance"})+'">Account Balance</a></li><li class="billinghistory"><a href="'+e.toHash({g_special:"Admin",action:"BillingHistory"})+'">Billing History</a></li>');d.append('<li class="peoplemanagement"><a href="'+
e.toHash({g_special:"Admin",action:"PeopleManagement"})+'">People Management</a></li>');c.find("li."+e.location.action.toLowerCase()).addClass("current")},adminForbidden:function(){b("#admin_tools").append('<p class="empty-msg">Your administrator privileges have been canceled, if you want to restore your administrator rights, please contact other administrators.</p>')},notAdmin:function(){p._content.append('<p class="empty-msg">You have not been granted administrative privileges, if you want to be an administrator rights, please contact other administrators.</p>')},
adminSettings:function(){function c(){q.loadAccountDeleted(function(r,A){if(A==200)if(r.elapsedTime<0){n.text("You can close your CCText account and delete all user accounts and data associated with it. Please export and backup data before you delete the account.");v.hide();l.show()}else{A=864E5-r.elapsedTime;r=Math.floor(A/36E5);Math.floor(A%36E5/1E3/60);A="";A=r<1?"in 1 hour":r+" hour"+(r>1?"s":"");n.text("Your account deletion resquest has been accepted. Your account will be deleted about "+A+
" later.");l.hide();v.show()}})}function d(r,A,o){var z=r.attr("cc-announce-id");z?q.changeAnnouncement({id:z,content:A},function(C,D){if(D==200){p.growlUI("Announcement has been updated.");o&&o()}else msg.showMsg("Sorry, our server got a problem("+D+"), please try again later.")}):q.addAnnouncement({content:A},function(C,D){if(D==200){r.attr("cc-announce-id",C.id);o&&o();p.growlUI("Announcement has been added.")}else msg.showMsg("Sorry, our server got a problem("+D+"), please try again later.")})}
function f(r){var A=r.attr("cc-announce-id");if(A)q.removeAnnouncement({id:A},function(o,z){if(z==200){p.growlUI("Announcement has been deleteed");r.hasClass("first")?x.attr("cc-announce-id","").find("textarea").valu(""):p.removeEle(r)}});else r.hasClass("first")?x.attr("cc-announce-id","").find("textarea").valu(""):p.removeEle(r)}function k(r,A,o){var z=b("<div class='st-announce-field'><textarea class='st-announce-textarea'></textarea><div class='st-announce-actions'><span class='icons-2 remove-icon-small'>Remove</span><span class='icons-2 add-icon-small'>Add</span><input class='button' type='button' value='Save' /></div></div>").insertAfter(r).attr("cc-announce-id",
o||"");z.find("textarea").valu(A||"");z.find(".add-icon-small").click(function(){k(z)});z.find(".remove-icon-small").click(function(){p.dialogConfirm("Are you sure to delete this announcement?",function(){f(z)})});var C=z.find("input.button"),D=C.next(".waiting");C.click(function(){D.show();C.hide();d(z,z.find("textarea").valu(),function(){D.hide();C.show()})})}var m=b('<form id="admin_settings"></form>').appendTo("#admin_tools").append("<div class='msg-box hide'></div><fieldset><legend>Announcement</legend><ol class='settings-ol'><li><label>-</label><div id='st_announce' class='key-div'><div class='st-announce-field first'><textarea class='st-announce-textarea'></textarea><div class='st-announce-actions'><span id='st_announce_clear' class='icons-2 remove-icon-small'>Clear Content</span><span class='icons-2 add-icon-small'>Add</span><input class='button' type='button' value='Save' /><span class='waiting hide'></span></div></div><p class='note'>This text will be displayed on each user's home page, maximun 1024 characters</p></div></li></ol></fieldset><fieldset><legend>Security</legend> <ol class='settings-ol'><li><label>Browser connection:</label><div class='key-div'><label class='nostyle'><input type='checkbox' name='https' /> Always use \"https\" (Recommended)</label><p class=\"note\">Https means http with SSL protected. It's more secure but a bit slower.</p></div></li></ol></fieldset><fieldset><legend>Account Settings</legend> <ol class='settings-ol'><li><label>Account notification</label><div class='key-div'><label class='nostyle'><input id='account_notify' type='checkbox' /> Send me account notification by email(about one message per month).</label></div></li><li><label>Export Data</label><div class='key-div'><p>You can export your data once a day. Topics, revisions, and the people from each workspace are included in the export. Attachment files are not included. Export data are in text or <a target='_blank' href='http://en.wikipedia.org/wiki/JSON'>JSON</a> file format.</p><input id='export_data' type='button' class='button' value='Export' /></div></li><li class='account-up-down hide'><label>Upgrade/Downgrade</label><div class='key-div'></div></li><li class='account-delete'><label>Delete Account</label><div class='key-div'><p class='delete-desc'></p><input id='delete_account' type='button' class='button red hide' value='Delete Account' /><input id='cancel_delete_account' type='button' class='button red hide' value='Cancel Deletion Request' /></div></li></ol></fieldset>"),
g=b("#account_notify");q.loadAdminSettings(function(r,A){A==200&&g.valu(r.settings.receiveNotification)});g.click(function(){q.saveAdminSettings({receiveNotification:g.valu()},function(r,A){A==200&&p.growlUI("Your account notification settings has been changed.")})});var h=m.find("li.account-up-down")[e.account.startsWith("ga_")?"hide":"show"]().find(".key-div");if(e.free)h.append(b("<p/>").html('<a href="http://cctext.net/doc/pricing/" target="_blank">See Details</a>')).append(b("<span/>").addClass("upgrade-button").text("Upgrade").click(function(){p.upgradeAccount()}));
else e.account.startsWith("std_")&&h.append(b("<p/>").html('If you downgrade to CCText Free Edition, you must keep your account not larger than 3 active users.  <a href="'+p._gs_admin.peopleManagement+'">View acitve users</a>')).append(b('<input type="button" value="Downgrade my account"/>').addClass("downgrade-button button").click(function(){p.downgradeAccount()}));var n=m.find("li.account-delete .key-div").find(".delete-desc"),l=b("#delete_account"),v=b("#cancel_delete_account");c();l.click(function(){p.dialogConfirm("Are your sure to delete this account?",
function(){q.deleteAccount(function(r,A){if(A==200)c();else if(A==403)p.dialogAlert("Your are not the adminstrator of this account.");else if(A==404)p.dialogAlert("Sorry, this account doesn't exist.");else A>=500&&p.dialogAlert("Sorry, we got a problem("+A+"), please try again later.")})})});v.click(function(){p.dialogConfirm("Are you sure to cancel the deletion request?",function(){q.cancelDeleteAccount(function(r,A){if(A==200)c();else if(A==403)p.dialogAlert("Your are not the adminstrator of this account.");
else if(A==404)p.dialogAlert("Sorry, this account doesn't exist.");else A>=500&&p.dialogAlert("Sorry, we got a problem("+A+"), please try again later.")})})});var w=m.find(".msg-box").hide();b("#export_data").click(function(){var r=b(this);r.attr("value","Exporting ...");q.exportData(function(A,o){r.attr("value","Export");if(o==200)w.showMsg("Your account data has been exported successfully. The download URL will be sent to <strong>"+e.email+"</strong> in 24hours, please check the email in time.",
"success");else o==403?w.showMsg("You are not administrator of this account."):w.showMsg("Sorry, we got a problem("+o+"), please try again later.")})});var u=b("#st_announce"),x=u.find(".st-announce-field.first"),y=x.find("textarea");x.find(".add-icon-small").click(function(){k(x)});b("#st_announce_clear").click(function(){f(x)});x.find("input.button").click(function(){d(x,y.valu())});q.loadAnnouncements({all:true},function(r,A){if(A<300)if(r.announcements.length===1){r=r.announcements[0];x.attr("cc-announce-id",
r.id);y.valu(r.content)}else r.announcements.length>1&&b.each(r.announcements,function(o,z){if(o===0){x.attr("cc-announce-id",z.id);y.valu(z.content)}else k(u.find(".st-announce-field:last"),z.content,z.id)})});var B;q.loadSettings(function(r,A){if(A==200){B=r.https;m.field("https",r.https)}});m.find("input[name=https]").change(function(){var r=m.field("https");r!==B&&q.saveSettings({https:r},function(A,o){if(o==200){B=r;p.growlUI("Your settins has been changed.")}else o==500&&msg.showMsg("Sorry, our server got a problem, please try again later.")})})},
accountBalance:function(){var c=b('<div class="form"><ol id="billing" class="settings-ol"><li><h3>Current Balance</h3><div class="key-div"><span class="balance"><span class="balance-num">...</span><span> UM</span><span class="red-star">*</span></span><a class="icons-2 arrow-more" target="_blank" href="'+p._buylink+'">Buy More UM</a><p><span class="red-star">*</span> 1 UM = 1 user/month = $4</p></div></li><li><h3>Current active users</h3><div class="key-div"><span class="current-charge-user">...</span> users <a class="icons-2 arrow-more" href="'+
e.toHash({g_special:"Admin",action:"PeopleManagement"})+'">All Active People</a><p class="note"><span class="current-charge-user">...</span> UM(s) will be charged at <span class="current-charge-time">1st next month.</span></p></div></li></ol></div>').appendTo("#admin_tools");if(e.suspended){b("#billing").append('<li><h3>Active your account</h3><div class="key-div"><input id="activate_account" type="button" class="button" value="Activate Account" /><span class="waiting hide"></span></div></li>');var d=
b("#activate_account").click(function(){var f=d.next(".waiting").show();q.activateAccount(function(k,m){f.hide();if(m==200)e.reloadBrowser();else if(m==402)p.dialogAlert("Sorry, There are too many active users, the balance is not enough for activating your account.");else if(m==403)p.dialogAlert("Sorry, you are not the administrator of this account.");else if(m==404)p.dialogAlert("Your account doesn't exist.");else m>=500&&p.dialogAlert("Sorry, we got a problem("+m+"), please try again later.")})})}q.loadBalance(function(f,
k){if(k==200)c.find("span.balance-num").text(f.balance)[f.balance?"removeClass":"addClass"]("red")});q.listUsers({status:"active admin"},function(f,k){if(k==250||k==200)c.find("span.current-charge-user").text(f.users.length)})},billingHistory:function(){billingHistory=b('<div id="billing_history" class="form"><table id="billing_history_table" class="topic-list"><thead><tr></tr></thead><tbody></tbody></table></div>').appendTo("#admin_tools");var c="Transaction Type, Date, Description, Charges(UM), Credits(UM), Balance(UM), Details".split(","),
d=b("#billing_history_table thead tr");b.each(c,function(){d.append("<th>"+this+"</th>")})},showBillingHistory:function(c){c=c.reverse();var d=b("#billing_history_table tbody").empty();b.each(c,function(f,k){f=b("<tr></tr>").appendTo(d);f.append('<td class="bh-type">'+this.category+'</td><td class="bh-time">'+b.dateString(this.time,"shorterTime")+'</td><td class="bh-description">'+(this.description||"-")+"</td>");f.append('<td class="bh-charge">'+(this.amount>0?"":this.amount*-1)+"</td>");f.append('<td class="bh-credits">'+
(this.amount<0?"":this.amount)+"</td>");f.append('<td class="bh-balance">'+this.balance+"</td>");f=b('<td class="bh-details"></td>').appendTo(f);if(this.category==="PAYMENT")b('<span class="hyperlink">View Invoice</span>').appendTo(f).click(function(){q.loadInvoice({invoiceKey:k.invoiceKey},function(m,g){if(g==200){g=b("#invoice");if(!g.length){g=b('<div id="invoice"><span class="top-close right">Close</span><pre class="invoice-content"></pre></div>').appendTo("#cctext_dialog");g.find(".top-close").click(function(){b.unblockUI()})}g.find(".invoice-content").html(m.content.replace(b.bourbon.regex.lineBreak,
"<br/>"));p.dialogMessage(g)}})});else this.users&&this.users.length>1&&b('<span class="hyperlink">View Details</span>').appendTo(f).click(function(){var m=b("#billing_history_details");if(!m.length){m=b('<div id="billing_history_details"></div>').appendTo("#cctext_dialog");b('<span class="cc-blockUI-close">Close</span>').appendTo(m).click(b.unblockUI);m.addTable("Full Name,Screen Name,Email".split(",")).addClass("topic-list")}m=m.find("table");var g=m.find("tbody").empty();b.each(k.users,function(){var h=
b("<tr/>").appendTo(g);b("<td>"+this.firstName+" "+this.lastName+"</td><td>"+this.screenName+'</td><td class="td-email">'+this.email+"</td>").appendTo(h)});m.tablesorter();p.dialogMessage("#billing_history_details")})})}})})(jQuery);
(function(b){var j=$cc.api,e=$cc.ui,q=$cc.session;b.extend(e,{deleteTopic:function(c,d){e.dialogConfirm('Are you sure you want to delete <strong class="red">'+j.getTopic({id:c.id,title:c.title}).title+"</strong>?",function(){j.deleteTopic({id:c.id,title:c.title},function(f,k){if(k==200)d&&d();else k==403&&alert("Your permission has been changed, you can't delete this topic now.")})})},notTopic:function(c,d){var f;if(c.startsWith("Discussion:")){var k=c.substring(11);f=(k=j.getTopic(k))&&k.title?"Discussion:"+
k.title:c.replace(/_/g," ")}else f=c.replace(/_/g," ");k=b('<p class="empty-msg"></p>').appendTo(e._content);if(d==="deleted")k.html("This topic has been deleted");else if(d==="moved"){e._redirectFrom=q.location.topic;q.redirect(q.toHashWS({topic:c}))}else k.html("There is currently no text in this topic");k.append(", you can <a href='"+q.toHashWS({special:"Search",q:c})+"'>search '"+f+"'</a> in other topics or <span class='not-topic hyperlink'>create this topic</span>.");e._content.find(".not-topic").click(function(){e.dialogCreate({name:f})});
e.sidebar.noSuchTopic()},topic:function(){var c=q.location.topic,d=!j.isViewer(),f=q.location.topic.startsWith("Discussion:");e.sidebar.topic();b("<div id='toc_wrap' class='hide'><div id='toc' class='gray-border'><h2>Contents</h2><div class='toc-list'></div></div></div></div>").appendTo(e._content);b(" <div id='entry'></div>").appendTo(e._content);b("<hr/>").appendTo(e._content);var k=b("<p class='other'><span class='right'></span></p>").appendTo(e._content);d&&k.find(".right").append("<span class='hyperlink add-section icons-2 section-edit'>Add a new section</span>");
if(!q.location.lang&&!f){var m=j.starred(c);f=b("<div/>").attr("id","mini_toolbar").prependTo(e._content);f.append(d?b("<div/>").addClass("button-gray").append(b("<a/>").addClass("edit-page topic-action icons-2").attr("href",q.toHashTopic({action:"edit"})).text("Edit")):"").append(b("<span/>").text(m?"Unwatch":"Watch").addClass("star icons-2")[m?"addClass":"removeClass"]("starred").click(function(){var n=b(this);j.starTopic(function(l,v){if(v==200)n[l.starred?"addClass":"removeClass"]("starred").text(j.starred(q.location.topic)?
"Unwatch":"Watch")})})).append(d?b("<span/>").addClass("template icons-2"):"").append(d?b("<span/>").addClass("delete icons-2").text("Delete").click(function(){var n=j.getTopic({title:q.location.topic}).title;e.deleteTopic({title:n},function(){e.redirect(q.toHashWS({topic:"Main Page"}));e.growlUI('"'+n+'" has been deleted.')})}):"").append(b("<span/>").addClass("print icons-2").text("Print").click(function(){print()})).append(b("<ul/>").attr("id","tags").addClass("icons-2"));m=b("#tags");if(d){b("<li/>").attr("id",
"edit_tag").addClass("link-button").text("Edit tags").appendTo(m);b("<span class='add-attachment hyperlink icons-2'>Upload an attachment</span>").appendTo(k.find(".right"))}var g=f.find(".template");function h(n){n?g.text("Don't mark as template").addClass("istemplate"):g.text("Mark as template").removeClass("istemplate")}j.listTags({title:c},function(n,l){if(l<300){h(!(b.inArray("template",n.tags)<0));g.click(function(){g.hasClass("istemplate")?j.removeTag({tag:"template"},function(v,w){if(w==200){h(false);
p(b("#tags"),v.tags)}}):j.addTag({tag:"template"},function(v,w){if(w==200){h(true);p(b("#tags"),v.tags)}})})}})}},showDiscusssion:function(c){var d=e._content.find("p.other");if(q.location.topic.startsWith("Discussion:")){d=b("<a/>").prependTo(d);_topic=c.title.substring(11);d.text("Back to "+_topic).addClass("back-topic").attr("href",q.toHashWS({topic:j.toKey(_topic)}))}else{var f="Discussion:"+c.title;d=(c=j.getTopic({title:f}))?b("<a/>").prependTo(d).attr("href",q.toHashWS({topic:c.title})).addClass("discussed"):
b("<span/>").prependTo(d).addClass("hyperlink").removeClass("discussed").click(function(){e.createDiscussionTopic(f)});d.text(f).removeClass("back-topic")}d.addClass("other-discussion icons-2")},showTopicInfo:function(c){var d=b("#page_title"),f=d.find("h1.topic");c.title!=="Main Page"&&!c.title.startsWith("Discussion:")?f.addClass("action-rename").append(b("<sup/>").text("Click to rename")).click(function(){f.hide();b("#title_rename").length?b("#title_rename").show():d.append(b("<form/>").attr("id",
"title_rename").append(b('<input type="text" name="topicName" />').addClass("text").valu(c.title)).append(b('<input type="submit" />').addClass("button").valu("Rename")).append(b("<span/>").addClass("cancel").text("Cancel").click(function(){f.show();b("#title_rename").hide()})).submit(function(){var m=b(this).field("topicName"),g=b(this).find("input:submit"),h=b(this).find("span.waiting");if(m){j.renameTopic({workspace:q.location.ws,title:c.title,newTitle:m},function(n,l){if(l==200)e.redirect(q.toHashWS({topic:n.topic.title}));
else if(l==403){alert("Your permission has been changed, you can't rename this topic now.");h.hide()}else{alert("Topic name has been taken or invalid, please choose another.");h.hide();g.show()}});return false}}));b("#title_rename input:text").focus()}):f.removeClass("action-rename");e.updateTopicStar("#page_title span.star",c.title);b("a.edit-page").attr("href",q.toHashTopic({action:"edit"}));e.showDiscusssion(c);var k=b("p.other");k.find("span.add-section").click(function(){e.editSection()});k.find("span.add-attachment").click(function(){e.dialogUpload({showExistLink:false},
function(m){var g="[[File:"+j.toKey(m.fileName)+"]]";if(/mediabox|quicklook/i.test(m.linkType))g="\n\n{{"+m.linkType.toLowerCase()+":"+g+"}}\n\n";j.loadContent(function(h,n){if(n==250||n==200){g=h.content+g;j.saveContent({content:g},function(l,v){v==200&&e.showTopicContent(g)})}})})});e.sidebar.exTopic(c)},topics:function(c,d){c=c||"all";e._content.addTable(4,["Topic name","Owner","Update time"]).attr("id",c+"_entry").addClass("topic-list");d&&b("#newTopic_with_tag").click(function(){e.dialogCreate({tag:d})})},
updateTopicStar:function(c,d){b(c)[j.starred({title:d})?"addClass":"removeClass"]("starred")},createDiscussionTopic:function(c){e.dialogConfirm("No one has discussed this topic. Continue?",function(){j.createTopic({workspace:q.location.ws,title:c},function(d,f){if(f<300){b.unblockUI();e.redirect(q.toHashWS({topic:c,action:"edit"}));e.growlUI('Topic "'+c+'" has been created.')}else if(f==403)alert("Your permission has been changed, you can't create topic now.");else f==409?e.redirect(q.toHashWS({topic:c})):
alert("We got a problem("+f+"), please try again later.")})},function(){},{okText:"Yes, create now!"})},showTopics:function(c,d,f){function k(n,l){b(n)[l?"addClass":"removeClass"]("template")[l?"ccShow":"ccHide"]().attr("title",l?"Don't use as template":"Use as template")}var m=!j.isViewer();d=d||"all";var g=b("#"+d+"_entry"),h=g.find("tbody");if(c.topics.length){h.empty();b.each(c.topics||[],function(n,l){if(!l.title.startsWith("Discussion:")){n="Discussion:"+l.title;var v=j.starred({title:l.title}),
w=b("<tr/>").appendTo(h).attr("cc-topic-id",this.id).append(b("<td/>").addClass("td-link").append(b("<a/>").addClass("topic-link").attr("href",q.toHashWS({topic:l.title})).append(b("<strong/>").text(l.title))).append(j.getTopic(n)&&j.getTopic(n).title===n?b("<a/>").addClass("icons-2 discussed").attr("href",q.toHashWS({topic:n})).attr("title","Discussion:"+l.title):b("<span/>").addClass("icons-2 no-discussion").attr("title","Discussion:"+l.title).click(function(){e.createDiscussionTopic(b(this).attr("title"))}))).append(b("<td/>").addClass("td-user").append(b("<a/>").personLink(l.owner))).append(b("<td/>").addClass("td-time").text(b.dateString(l.updatedTime,
"shortTime"))).append(b("<td/>").addClass("td-action").append(b("<span/>").addClass("icons-2 action-template").attr("title","Use as template").ccHide()).append(b("<span/>").addClass("icon star").attr("title","Watch topic")[v?"addClass":"removeClass"]("starred")[v?"ccShow":"ccHide"]().attr("title",v?"Unwatch topic":"Watch topic").click(function(){var u=b(this).addClass("waiting");j.starTopic({title:l.title},function(x,y){if(y==200)u.removeClass("waiting").attr("title",x.starred?"Unwatch topic":"Watch topic")[x.starred?
"addClass":"removeClass"]("starred")})}))).mouseover(function(){w.find("td.td-action span").ccShow()}).mouseout(function(){w.find("td.td-action span").ccHide();w.find("td.td-action span.template, td.td-action span.starred").ccShow()});if(d==="all"){n=w.find("td.td-action");l.title!=="Main Page"&&m&&n.append(b("<span/>").addClass("icon rename").attr("title","Rename Topic").ccHide().click(function(){e.dialogRenameTopic(j.getTopic({id:w.attr("cc-topic-id")}).title,function(u){w.effect("highlight").find("a.topic-link").attr("href",
q.toHashWS({topic:u})).find("strong").text(u);w.find("td.td-link a.discussed").attr("href",q.toHashWS({topic:"Discussion:"+u}));w.find("td.td-link .icons-2").attr("title","Discussion:"+u)})})).append(b("<span/>").addClass("icon delete").attr("title","Delete Topic").ccHide().click(function(){e.deleteTopic({id:l.id},function(){w.fadeOut(1E3,function(){w.remove()})})}))}}});g.tablesorter({headers:{3:{sorter:false},4:{sorter:false},5:{sorter:false}}});j.listTopics({tag:"template"},function(n,l){if(l==
250||l==200){b.each(n.topics,function(v,w){k(h.find("tr[cc-topic-id="+w.id+"] td.td-action .action-template"),true)});h.find("td.td-action .action-template").click(function(){var v=b(this),w=v.parent().parent().attr("cc-topic-id");v.hasClass("template")?j.removeTag({id:w,tag:"template"},function(u,x){if(x==200)v.removeClass("template").attr("title","Use as template");else x==403&&alert("Your permission has been changed, you can't edit tags of this topic now.")}):j.addTag({id:w,tag:"template"},function(u,
x){if(x==200){v.removeClass("waiting");k(v,true)}else x==403&&alert("Your permission has been changed, you can't edit tags of this topic now.")})})}})}else g.after('<p class="empty-msg">'+(d==="watched"?"No watched topic.":d==="tag"?'No topic taged with "'+f+'"':"No topic.")+"</p>")},history:function(){e.sidebar.history();b('<ul id="history_entry" class="entry-list"></ul>').appendTo(e._content)},showHistory:function(c){e.sidebar.exTopic(c.topic);var d=b("#history_entry");if(c.revs.length){b("<li/>").addClass("compare").append("Check two and ").append("<input type='button' name='compare' value='Compare'/>").appendTo(d);
b.each(c.revs,function(f){var k=this.topic,m=this;if(k){var g=b("<li/>").appendTo(d),h=b("<div/>").addClass("left").appendTo(g);g=b("<div/>").addClass("right").appendTo(g);b('<input type="checkbox" class="checkbox" cc-topic-rev="'+m.rev+'" /> ').appendTo(h);b("<span/>").appendTo(h).addClass("topic-rev revdiff-"+m.revDiff);k=b("<a/>").appendTo(h).revLink(k.workspace.name,k.title,m.rev);f===0&&k.attr("href",q.toHashTopic({rev:""})).text("The latest revision");if(c.revs.length>1){h=b("<span/>").addClass("comp-btns").appendTo(h);
m.rev!==1&&b("<a/>").html("compare to <strong>the prev.</strong>").attr("href",q.toHashTopic({action:"compare",rev_l:m.rev,rev_f:m.rev+1})).appendTo(h);f===0?b("<a/>").html("compare to <strong>Rev. 1</strong>").attr("href",q.toHashTopic({action:"compare",rev_l:m.rev,rev_f:1})).appendTo(h):b("<a/>").html("compare to <strong>the latest</strong>").attr("href",q.toHashTopic({action:"compare",rev_l:m.rev,rev_f:c.revs.length})).appendTo(h)}b("<span/>").appendTo(g).text(b.dateString(m.revTime,"shorterTime"));
b("<span/>").text(" by ").appendTo(g);b("<a/>").addClass("rev-creator").appendTo(g).text(m.revCreator.email===q.email?"Me":m.revCreator.screenName).attr("href",q.toHash({g_user:m.revCreator.screenName})).addClass("light-link")}});b("<li class='compare'>Check two and <input type='button' name='compare' value='Compare'/></li>").appendTo(d);d.find('input[name="compare"]').disable().compareList(d)}else d.after("<p>No "+filter+"</p>")},tags:function(){b("<ul/>").attr("id","tags_entry").addClass("tags-entry clearfix").appendTo(e._content)},
showTags:function(c){var d=b("#tags_entry");b.each(c,function(f,k){f=b("<li/>").appendTo(d);b("<a/>").attr("href",q.toHashWS({tag:k})).text(k).appendTo(f)})},topicOld:function(){b("<div id='toc_wrap'><div id='toc' class='gray-border'><h2>Contents</h2><div class='toc-list'></div></div></div></div>").appendTo(e._content);b("<div id='entry'></div>").appendTo(e._content);b("#page_title").append("<div id='rev_highlight'><span class='revert danger-link'>Revert to this revision</span><span><strong>Revision <span class='current-rev'></span></strong> (<span class='rev-time'></span>) by <span class='current-rev-author'></span><span class='perfect-date'></span>. This is not the <a class='latest-rev'>latest revision</a>.</span></div>");
e.sidebar.topicOld()},revert:function(c){j.saveContent({content:c},function(d,f){f==200&&e.redirect(q.toHashTopic({rev:""}))})},showTopicOld:function(c){var d=b("#page_title");d.find(".current-rev").text(c.rev.rev);d.find(".rev-time").text(b.dateString(c.rev.revTime,"shortTime"));d.find(".current-rev-author").text(c.rev.revCreator.screenName);d.find(".latest-rev").attr("href",q.toHashTopic({rev:""}));d.find(".revert").click(function(){e.revert(c.content)});e.showTopicContent(c.content,true)},topicCompare:function(){b("<div id='entry'></div>").appendTo(e._content);
b("#page_title").append("<div id='rev_highlight' class='clearfix'><span>Comparing <strong class='compare-newer-rev'>rev. </strong> ( by <a class='compare-newer-author'></a> <span class='compare-newer-time'></span>, <span class='comapre-newer-revert danger-link'>Revert</span> ) with <strong class='compare-older-rev'>rev. </strong> ( by <a class='compare-older-author'></a> <span class='compare-older-time'></span>, <span class='comapre-older-revert danger-link'>Revert</span> ).</span></div>");e.sidebar.compare()},
showTopicCompare:function(c){var d=b("#page_title"),f=d.find(".compare-newer-rev"),k=d.find(".compare-newer-author"),m=d.find(".compare-newer-time"),g=d.find(".comapre-newer-revert");if(j.getTopicRev().rev==c.rev2.rev){f.text("The latest rev.");k.personLink(c.rev2.revCreator);m.hide();g.hide()}else{f.text("Rev. "+c.rev2.rev);k.personLink(c.rev2.revCreator);m.text(b.dateString(c.rev2.revTime,"shortTime"));g.click(function(){e.revert(c.content2)})}d.find(".compare-older-rev").text("Rev. "+c.rev.rev);
d.find(".compare-older-author").personLink(c.rev.revCreator);d.find(".compare-older-time").text(b.dateString(c.rev.revTime,"shortTime"));d.find(".comapre-older-revert").click(function(){e.revert(c.content)});d.find("a.close-compare").attr("href",q.toHashTopic({action:""}));b("#entry").html(b.cctext.diff.pretty(c.content,c.content2)).find("pre").addClass("compare-code");d=e._sidebar.find("ul.color-key");d.find("li del").text("Revision "+c.rev.rev);d.find("li ins").text("Revision "+c.rev2.rev)},editTags:function(){var c=
b("#edit_tag_field"),d=b("#input_tag"),f=b("#edit_tag"),k=b("#tags"),m=b("#mini_toolbar .icons-2, #mini_toolbar .button-gray").hide();if(c.length){m.hide();c.show();e._updateEditingTags()}else{c=b('<div class="hide"/>').attr("id","edit_tag_field").appendTo("#mini_toolbar");var g=b("<form/>").addClass("clearfix").appendTo(c),h=b("<div/>").addClass("savecancel").appendTo(g);d=b("<div id='input_tag'/>").appendTo(g);function n(){c.hide();m.show()}b("<span class='cancel'>Cancel</span>").appendTo(h).click(n);
b("<input id='save_tag' type='submit' value='Save' class='button' />").appendTo(h);g.submit(function(){var l=e._tagsInput.tagInput("value");j.modifyTags({tags:l},function(v,w){if(w==200){c.hide();k.find("li.tag-item").remove();e.showTopicTags(l);m.show();f.text(l.length?"Edit tags":"Add tags")}else w==403&&alert("Your permission has been changed, you can't edit tags of this topic now.")});return false});j.listTags({filter:"workspace"},function(l,v){if(v==200){var w=l.tags;b.each(e._initTags,function(u,
x){b.inArray(x,w)<0&&w.push(x)});e._tagsInput=d.tagInput({data:w,onLoad:function(){this.tagInput("focus")}}).bind("taginput-adding",function(u,x){return j.toKey(x)});e._tagsInput.find("input:text").bindKey("esc",function(){n();return false});m.hide();c.show();e._updateEditingTags()}})}d.tagInput("focus")},_updateEditingTags:function(){e._tagsInput.tagInput("value",b.map(tagList.find("li.tag-item"),function(c){return b.trim(b(c).text()).replace(/,$/,"")}))},showTopicTags:function(c){tagList=b("#tags");
var d=b("#edit_tag");p(tagList,c);d.text(c.length?"Edit tags":"Add tags");tagList.click(function(){e.editTags(c)}).find("a").mousedown(function(){e.redirect(b(this).attr("href"));return false})},showTopicContent:function(c,d){d=b("#entry").cctext(c,{readonly:d||false,contents:"#toc .toc-list"});if(b("#toc_wrap li").length>3){b("#toc_wrap").show();d.addClass("has-contents")}else{b("#toc_wrap").hide();d.removeClass("has-contents")}if(!q.location.action){e._sections=b.cctext.findSections(c);e._base=
c;e._content.find("p.other span.add-section").show()}}});b.fn.topicLink=function(c,d,f){return this.attr("href",f?q.toHash({ws:c,topic:d,rev:f}):q.toHash({ws:c,topic:d})).text(d||"Main Page")};b.fn.revLink=function(c,d,f){return this.attr("href",q.toHash({ws:c,topic:d,rev:f})).text("Revision "+f)};b.fn.preview=function(c){return this.cctext(c,{preview:true})};var p=function(c,d){c.find("li.tag-item").remove();b.inArray("template",d);var f=b("#edit_tag");if(d.length){tagList.removeClass("no-tag");
f.text("Edit tags");for(f=d.length-1;f>=0;f--){var k=d[f],m=b("<li/>").addClass("tag-item").prependTo(c);b("<a/>").attr("href",q.toHashWS({tag:k})).appendTo(m).text(k);f!==d.length-1&&m.append(", ")}}else{tagList.addClass("no-tag");f.text("Add tags")}return c};b.fn.compareList=function(c){var d,f=this;c.find('li input[type="checkbox"]').click(function(){d=c.find("input[type=checkbox]:checked");if(d.length>=3){d.valu(false);d=[this];this.checked=true}f[d.length===2?"enable":"disable"]()});f.click(function(){e.redirect(q.toHashTopic({action:"compare",
rev_l:b(d[0]).attr("cc-topic-rev"),rev_f:b(d[1]).attr("cc-topic-rev")}))});return this}})(jQuery);
(function(b){function j(n){m._previewPE.stop();m._sectionEditor.appendTo("#cctext_section_editor");b("#section_preivew").empty();n||m.showTopicContent(m._base);b("#section_editor_overlay").hide()}function e(n,l,v){var w=n(),u=(g.location.action==="edit"?b("#page_editor"):m._sectionEditor).find("textarea");k.saveContent({content:w},function(x,y){if(y==200){if(x.content!==undefined){w=b.cctext.diff.merge(w,m._base=x.content,n());l(w)}else m._base=w;v&&v()}else{if(y==404){c();alert("The topic has been deleted.")}else if(y==
403){c();alert("Your permission has been changed, you can't edit this topic now.")}u.enable()}})}function q(){var n=m._sectionEditor,l=n.data("cc-section-index");s=n.cctextEditor("value");m._sections[l]=s;return m._sections.join("\n")}function p(){var n=b("#edit_topic");n.length||(n=b("#edit_section"));n.find(".btbar").hide();n.find(".left").text("Saving ...").addClass("waiting").show()}function c(){var n=b("#edit_topic");n.length||(n=b("#edit_section"));n.find(".left").text("").removeClass("waiting").hide();
n.find(".btbar").show();b("#section_preivew")}function d(){var n=b("#page_editor");if(n.is(":visible"))return n.cctextEditor("value")!==m._base;else if((n=m._sectionEditor)&&n.is(":visible"))return n.cctextEditor("value")!==m._sections[n.data("cc-section-index")];return false}var f=false,k=$cc.api,m=$cc.ui,g=$cc.session,h=[];b.extend(b.cctext.default_editor_options,{tools:"bold italic underscore strike | h1 h2 h3 | bullist numlist indent outdent | table | quote sup sub highlight |".split(" ")});b.extend(m,
{noEditPermission:function(){var n=k.getTopic(g.location.topic);b('<p class="empty-msg">Sorry, you don\'t have permission to edit this topic. You can back to <a href="'+g.toHashTopic({action:""})+'">'+n.title+"</a> or contact a manager of this workspace to extend your permission.</p>").appendTo(m._content)},preview:function(){var n="",l=g.location.action;m._previewPE=b.periodical(function(){var v=(l==="edit"?b("#page_editor"):m._sectionEditor).cctextEditor("value");if(v!=n)(l==="edit"?b("#topic_preview"):
b("#section_preivew")).preview(n=v)},1500)},editTopic:function(n,l){function v(z){b.unbindKey("meta+s",A);b.unbindKey("shift+meta+s",o);m._previewPE.stop();m.redirect(g.toHashWS({topic:z||n,action:""}))}m.emptyContent();m.sidebar.editing();var w=b('<div id="edit_topic_title"><span class="edit-note">TITLE</span><input type="text" class="text" value="'+n+'" /></div>').appendTo(m._pageTitle).find("input:text"),u=g.location.topic.startsWith("Discussion:");if(!u){b('<div id="edit_topic_tag"><span class="edit-note">TAGS</span><div id="input_tag"/></div>').appendTo(m._pageTitle);
k.listTags({filter:"workspace"},function(z,C){if(C==200){var D=z.tags;b.each(m._initTags,function(F,E){b.inArray(E,D)<0&&D.push(E)});m._tagsInput=b("#input_tag").tagInput({data:D}).bind("taginput-adding",function(F,E){return k.toKey(E)});k.listTags({filter:"topic"},function(F,E){if(E==200){h=F.tags;m._tagsInput.tagInput("value",h)}})}})}if(n==="Main Page"||u)w.disable().addClass("disabled");b('<div id="edit_topic"><div class="left"></div><div class="btbar"></div></div>').appendTo("#edit_topic_title");
var x=b("#edit_topic .btbar"),y=b('<span class="red-link" id="discard">Discard</span>').appendTo(x),B=b("<input type='button' id='save' class='button' value='Save' />").appendTo(x);x=b("<input type='button' id='close' class='button' value='Save & Close' />").appendTo(x);b('<span class="edit-note">BODY</span><div id="page_editor"></div>').appendTo(m._content);var r=b("#page_editor").cctextEditor("edit",l,{showToolbar:true,width:"100%",height:300}).advTool().cctextEditor("focus");b('<div class="clear"><span class="edit-note">PREVIEW</span></div>').appendTo(m._content);
b('<div id="topic_preview" class="topic-preview"></div>').appendTo(m._content);m.preview();y.click(function(){(u?m._base===r.cctextEditor("value"):!(w.valu()!==n||b.arrayEquals(h,m._tagsInput.tagInput("value"))||m._base!==r.cctextEditor("value")))?v():m.dialogConfirm("You have unsaved changes in this page. Click OK to discard.",function(){v()})});var A=function(){m.saveTopic(n);return false};B.click(A);b.bindKey("meta+s",A);var o=function(){r.find("textarea").disable();m.saveTopic(n,function(){v()});
return false};x.click(o);b.bindKey("shift+meta+s",o)},saveTopic:function(n,l){p();var v=b("#page_editor");e(function(){return v.cctextEditor("value")},function(w){v.cctextEditor("value",w)},function(){if(g.location.topic.startsWith("Discussion:")){c();l&&l()}else{var w=m._tagsInput.tagInput("value");k.modifyTags({tags:w},function(u){c();var x=u.topic.title;if(x!==n)l?l(x):m.redirect(g.toHashWS({topic:x,action:"edit"}));else{x=b("#edit_topic_title").find("input:text").valu();if(n==="Main Page"||x===
n)if(l)l();else h=u.tags;else m.dialogConfirm('The name of this topic has been changed to <strong class="red">'+x+'</strong>, click "OK" to rename.',function(){k.renameTopic({title:n,newTitle:x},function(y,B){if(B==200)l?l(x):m.redirect(g.toHashWS({topic:x,action:"edit"}));else l&&l()})},function(){l?l():b("#edit_topic_title").find("input:text").valu(n)})}})}})},editSection:function(n){function l(){f&&console.info("create section editor...");b("#section_editor_overlay").length||b('<div id="section_editor_overlay"></div>').hide().appendTo(document.body);
b('<div id="edit_section"><div class="left"></div></div>').appendTo(w);var x=b("<div/>").addClass("btbar").appendTo("#edit_section");w.cctextEditor("edit","",{showToolbar:true,width:"98%",height:300});b('<span class="hyperlink">Edit All</span>').appendTo(x).click(function(){var y=w.cctextEditor("value");if(m._sections[w.data("cc-section-index")]!==y)g._page_edit_init=q();j(true);m.redirect(g.toHashTopic({action:"edit"}))});b('<span class="red-link discard-link">Discard</span>').appendTo(x);b("<input type='button' class='button save-btn' value='Save' />").appendTo(x);
b("<input type='button' class='button close-btn' value='Save & Close' />").appendTo(x);b('<div id="section_preivew" class="preview"></div>').appendTo(w);w.find("span.discard-link").click(function(){var y=w.cctextEditor("value");m._sections[w.data("cc-section-index")]===y?j():m.dialogConfirm("You have unsaved changes in this section. Click OK to discard.",j)});x=function(){if(w.is(":visible")){p();m.saveSection(false,function(){c();m.sidebar.updateHistory()});return false}};w.find("input.save-btn").click(x);
b.bindKey("meta+s",x);w.find("input.close-btn").click(function(){m._previewPE.stop();w.find("textarea").disable();p();m.saveSection(true,function(){c();j();m.sidebar.updateHistory()})});w.advTool().slideDown(function(){w.cctextEditor("focus")})}b("#toc_wrap").hide();m._content.find(".section-edit").hide();var v=b("#entry"),w=m._sectionEditor;v.removeClass("has-contents");w.find("textarea").length||l();w.find("textarea").enable();var u;if(n!==undefined){v=v.find('[cc-section-index="'+n+'"]').hide();
w.insertBefore(v);u=m._sections[n]}else{u="= New Section =\n";w.insertAfter(v.find(".cc-section:last"));n=m._sections.length}w.cctextEditor("value",u);w.data("cc-section-index",n);b("#section_editor_overlay").show();m.preview()},saveSection:function(n,l){e(q,function(v){if(!n){b("#section_editor_overlay").hide();g._page_edit_init=v;g.redirect(g.toHashTopic({action:"edit"}))}},l)}});b.fn.advTool=function(){var n=this.find(".tool-mediabox"),l=this.find("span.tool-hyperlink"),v=this.find("span.insert-exist");
if(!n.length){n=this.find(".wiki-toolbar ul");l=b('<li><span class="tool-mediabox insert-hyperlink" title="Insert Link">Link</span></li>').appendTo(n).css({width:"auto"});v=b('<li><span class="tool-mediabox insert-exist" title="Insert Attachment">Attachment</span></li>').appendTo(n).css({width:"auto"})}l.mousedown(function(w){if(w.which===1){m.dialogInsertLink();return false}});v.mousedown(function(w){if(w.which===1){m.dialogInsertExistFile();return false}});return this};window.onbeforeunload=function(n){if(d()){if(n=
n||window.event)n.returnValue="You have unsaved changes in this page. Click OK to discard.";return"You have unsaved changes in this page. Click OK to discard."}}})(jQuery);
(function(b){function j(){window.scrollTo(0,0)}var e=window.__DEBUG,q=$cc.ui,p=$cc.api,c=$cc.session;b.extend(b.cctext.default_options,{topicURL:function(k){k=b.trim(k||"");return k.startsWith("/")?"#"+k:k.startsWith("User:")?"#/"+k:k.startsWith("File:")?c.toHashTopic({file:k.substring(5)}):c.toHashWS({topic:k})},inline:false});var d={hyperlink:function(k){k.find("a.cc-hyperlink,a.cc-email").each(function(){var m=b(this),g=m.attr("href")||"";c.isInternal(g)?m.removeClass("cc-hyperlink cc-email").addClass("cc-internal"):
m.attr("target","_blank")})},topic:function(k,m){m.preview||k.find("a.cc-internal").each(function(){var g=b(this),h=c.toLocation(g.attr("href"));if(!h.file&&h.ws===c.location.ws&&h.topic)if(!p.getTopic({title:h.topic,_noDefault:" "})){g=g.addClass("cc-topic-new");var n=g.text();if(p.toKey(n)!==h.topic)n=h.topic.replace(/_/g," ");g.click(function(){q.dialogCreate({name:n});return false})}})},richMedia:function(k,m){if(!m.preview){var g=[],h=[],n=0;k.find("div.cc-block").each(function(){var l=b(this),
v=l.find(">a:first"),w=l.hasClass("cc-mediabox"),u=l.hasClass("cc-quicklook");if((w||u)&&v.hasClass("cc-internal")){var x=v.attr("href")||"";if(u){w=c.toLocation(x);var y;if(w.ws===c.location.ws&&(y=p.getFile({title:w.topic,fileName:w.file}))){v.hide();if(y.movedTo)y=y.movedTo;v=b("<div/>").prependTo(l).addClass("big-file-type-"+b.filenameExt(x)+" file-big").append('<div class="quicklook-filename">'+y.fileName+(p.toKey(y.topic.title)===c.location.topic?"":' <span class="quicklook-title">('+y.topic.title+
")</span>")+"</div>");if(y.deleted===true)l.addClass("file-deleted");else{l=b('<div class="quicklook-meta"><span class="quicklook-file-time"></span><span> by </span><a class="quicklook-file-uploader" href="'+c.toHash({g_user:y.revCreator.screenName})+'">'+y.revCreator.screenName+"</a> "+b.prettySize(y.size)+' - <a href="'+c.toHashWS({file:y.fileName,topic:y.topic.title})+'">Details</a><span class="pipe"> | </span></div>').appendTo(v);v=b("<span/>").appendTo(l).text("QuickLook").addClass("hyperlink");
l.append('<span class="pipe"> | </span>');x=b("<span/>").addClass("hyperlink download-file").text("Download").appendTo(l);l.find("span.quicklook-file-time").showDate(y.revTime);v.click(function(){q.quicklook(y.fileName,y.topic.title)});x.click(function(){q.gotFileUrl({fileName:y.fileName,title:y.topic.title},function(B){c.openInBrowser(B)},true)})}}else l.prepend('<div class="cc-fail">Error occurred when loading this file:</div>')}else if(w){v.addClass("cc-block-link");h[n]=l;l=c.toLocation(x);g[n]=
{fileName:l.file,title:l.topic,workspace:l.ws,preview:true};n++}}});g.length&&p.getFileUrl({files:g},function(l,v){v<300&&b.each(l.files,function(w,u){u.url?b.cctext.media_tools.auto(h[w],u.url):h[w].prepend('<div class="cc-fail error msg-box">File deleted or error occurred.</div>')})})}},showContents:function(k,m){if(m.contents){var g=[],h=[];k.find(":header").each(function(){var l=b(this);g[b.parseInt(l.parent().attr("cc-section-index"))]={indent:b.parseInt(this.nodeName.substr(1))-2,title:l.text()}});
var n=b("<ul/>").appendTo(b(m.contents).empty());b.each(g,function(l,v){if(v){for(var w=v.indent,u=h.length-1;u>w;u--)h[u]=0;h[w]=(h[w]||0)+1;var x=h[w]+".";for(u=w-1;u>0;u--)if(h[u])x=h[u]+"."+x;else break;v.title=x+" "+v.title;n.append();b('<li cc-section-indent="'+w+'" cc-section-index="'+l+'"><span class="hyperlink" style="padding-left:'+w*10+'px">'+v.title+"</span></li>").appendTo(n).click(function(){b("div[cc-section-index="+l+"]").scrollTopTo()})}})}},backToTop:function(k,m){m.preview||k.find(":header").each(function(){b('<div class="section-top" title="back to top">[top]</div>').click(j).prependTo(this)})},
sectionEditor:function(k,m){m.preview||m.readonly||k.find("div[cc-section-index]").each(function(){var g=b(this),h=b.parseInt(g.attr("cc-section-index"));g=g.find(":header:first");b('<div class="section-edit" title="edit section">[edit]</div>').click(function(){q.editSection(h)}).prependTo(g)})},codeHighlighter:function(k,m){m.preview||prettyPrint(k.find("pre"))},tooltips:function(k){k.find("abbr").each(function(){var m=b(this),g=m.attr("title")||"";m.simpletip({content:g,position:"right",offset:[5,
25]}).attr("title","")})},translate:function(k,m){if(!m.preview&&c.location.lang){e&&console.info("Translation started...");m.readonly=true;k.add("h1 .topic-title,#toc_wrap h2").translate(c.location.lang,{not:"code,iframe",complete:function(){e&&console.info("Translation accomplished.");f(k,m)}})}else f(k,m)}},f=b.functions(d.showContents,d.richMedia,d.sectionEditor,d.codeHighlighter,d.tooltips,d.backToTop,d.topic);b.cctext.addRenderer(d.hyperlink,true);b.cctext.addRenderer(d.showContents);b.cctext.addRenderer(d.translate)})(jQuery);
(function(b){var j=$cc.ui,e=$cc.session,q=$cc.api,p=[];j.dialogCreate=function(c){c=b.extend({callback:function(n){j.redirect(n)}},c||{});var d=b("#dialogCreate");if(!d.length){d=b("<div id='dialogCreate' class='dialog hide'><h3>New topic</h3><form><div id='create_notice' class='msg hide'></div><ol><li><label id='create_name_label' for='create_name'>Name your topic: </label><input id='create_name' class='text' type='text' name='topic' /></li><li class='grey'></li><li><label>Choose a template: </label><select class='select-template' name='template'><option value=''>&lt;Blank&gt;</option></select></li><li><label id='create_tags_label' for='create_tags'>Add tags: </label><div id='create_tags' /></li></ol><div class='fb-bar'><span class='cancel'>Cancel</span><input id='create_account_button' class='button' type='submit' value='Create topic' /><span class='waiting hide'></span></div></form></div>").appendTo("#cctext_dialog");
var f=b("#create_tags").tagInput({filter:function(n,l,v){return b.bourbon.tagInput.defaultFilter(n,p,v)}}).bind("taginput-adding",function(n,l){return q.toKey(l)});b("#create_name").keyup(function(){d.find("li.grey").html("Topic URL: http://"+location.host+location.pathname+e.toHashWS({topic:g.valu()}))});d.find(".fb-bar span.cancel").click(b.unblockUI);var k=d.find("form").submit(function(){b(this).formObject();var n=b.trim(d.field("topic")),l=d.find(".fb-bar .waiting"),v=d.find("input:submit");
h.hasClass("error")&&h.hide();v.hide();l.show();if(!n){h.showMsg("Please name the topic you want to create.");l.hide();v.show();return false}var w=e.location;if(j.checkTitle(n))q.createTopic({workspace:w.ws,title:n,template:d.field("template"),tags:f.tagInput("value")},function(u,x){if(x<300){b.unblockUI();j.growlUI('Topic "'+n+'" has been created.');c.callback(e.toHashWS({topic:n,action:"edit"}),n)}else if(x==403){l.hide();h.showMsg("Your permission has been changed, you can't create topic now.")}else if(x==
409){h.showMsg("This name has been taken, please choose another.");l.hide();v.show()}});else{h.showMsg("Your topic name is invalid");l.hide();v.show()}return false})}q.listTags({filter:"workspace"},function(n,l){if(l<300)p=n.tags});f=b("#create_tags").tagInput("value",c.tag||"");var m=d.find('select[name="template"]').change(function(){f.tagInput("value","");if(m.valu()){f.tagInput("disable");q.listTags({title:k.field("template")},function(n,l){if(l<300){var v=[];b.each(n.tags,function(w,u){u!=="template"&&
v.push(u)});f.tagInput("enable").tagInput("value",v)}})}});d.find(".fb-bar .waiting").hide();d.find("input:sbumit").show();var g=b("#create_name");b.blockUI({message:b("#dialogCreate")});var h=b("#create_notice").hide();if(c.name){h.text("This topic doesn't exist. Do you want to create it?").removeClass("error").addClass("notice").show();g.valu(c.name).disable()}else{b("#create_name_label").text("Name your topic:").removeClass("red");g.valu("").enable().focus()}q.listTopics({tag:"template"},function(n,
l){if(l==200||l==250){m.find("option.template-topic").remove();b.each(n.topics,function(){b("<option/>").attr("value",this.title).addClass("template-topic").text(this.title).appendTo(m)})}})}})(jQuery);
(function(b){var j=$cc.ui,e=$cc.session,q=$cc.api;j.dialogRenameTopic=function(p,c){var d=b("#dialogRenameTopic");j._oldName=p||q.getTopic(e.location.topic).title||"";if(!d.length){d=b("<div id='dialogRenameTopic' class='hide dialog'><h3>Rename topic</h3><form><div id='rename_notice' class='hide msg'></div><ol><li><label id='rename_topic_label' for='create_name'>New name: </label><input id='rename_topic' class='text' type='text' name='topic' /></li></ol><div class='fb-bar'><span class='cancel'>Cancel</span><input class='button' type='submit' value='Rename' /><span class='waiting hide'></span></div></form></div>").appendTo("#cctext_dialog");d.find("form").bind("submit",
function(){var f=b.trim(d.field("topic")),k=d.find("#rename_notice"),m=d.find(".fb-bar .waiting"),g=d.find("input:submit");k.hide();g.hide();m.show();if(!f){k.showMsg("Please enter new name of this topic.");return false}var h=e.location;j.checkTitle(f)?q.renameTopic({workspace:h.ws,title:j._oldName,newTitle:f},function(n,l){if(l==200){c?c(f):j.redirect(e.toHashWS({topic:f}));b.unblockUI()}else if(l==403){k.showMsg("Your permission has been changed, you can't rename this topic now.");m.hide()}else{k.showMsg("Topic name has been taken or invalid, please choose another.");
m.hide();g.show()}}):k.showMsg('Topic name is empty or contains invalid characters, and can\'t start with "Special:", "User:".');return false});d.find(".fb-bar span.cancel").click(b.unblockUI)}d.find(".fb-bar .waiting").hide();d.find("input:submit").show();b.blockUI({message:b("#dialogRenameTopic")});b("#rename_notice").hide();b("#rename_topic").valu(j._oldName).focus()}})(jQuery);
(function(b){var j=$cc.ui,e=$cc.session,q=$cc.api;j.dialogWatch=function(p){p=p||{};var c=b("#dialogWatch");if(!c.length){c=b('<div id="dialogWatch" class="dialog hide notify-dialog"><h3>Set people to watch this topic</h3><form><div class="form-content-wrap"><div id="watch_notice" class="msg hide"></div><p>The people you select will get an email when you save and close this topic.</p><table><tbody><tr class="tr-main"><td colspan="3"><p><input id="notify_all" name="notifyOthers" type="checkbox"><label for="notify_all"><strong>All in '+
q.getWorkspace(e.location.ws).name+'</strong></label></p></td></tr><tr class="tr-notify-details"><td/><td/><td/></tr></tbody></table></div><div class="fb-bar"><span class="cancel">Don\'t change</span><input id="watch_button" class="button" type="submit" value="Set selected people watch" /><span class="waiting hide"></span></div></form></div>').appendTo("#cctext_dialog");c.find(".fb-bar span.cancel").click(b.unblockUI)}q.listUsers({filter:"workspace"},function(d,f){if(f<300){var k=c.find("table tbody");
k.find("tr.tr-notify-details td").empty();b.each(d.users,function(v,w){k.find("tr:last td:eq("+v%3+")").append(b("<p/>").append(b('<input name="notify" type="checkbox" cc-value="'+w.screenName+'" />').attr("id","notify_"+w.screenName)).append(b("<label/>").attr("for","notify_"+w.screenName).text(w.screenName)))});var m=c.find(".fb-bar .waiting"),g=c.find("input:submit"),h=b("#watch_notice").hide(),n=c.find('input[name="notify"]'),l=b("#notify_all");l.bind("click",function(){var v=l.valu();n.valu(v)});
n.click(function(){var v=b(this).valu(),w;if(!v&&l.valu())l.valu(false);else if(v){n.each(function(){if(b(this).valu()!==v)return w=false;else w=true});w&&l.valu(v)}});q.listUsers({filter:"starred"},function(v,w){if(w<300){b.each(v.users,function(y,B){c.find("input[cc-value="+B.screenName+"]").valu(true)});var u=0;n.each(function(){b(this).valu()&&u++});u===n.length&&l.valu(true);function x(){m.hide();g.show()}x();b.blockUI({message:b("#dialogWatch")});c.find("form").one("submit",function(){m.show();
g.hide();var y=[];k.find("input[name=notify]").each(function(){var B=b(this);y.push({email:q.getUser(B.attr("cc-value")).email,star:B.valu()})});q.forceStarTopic({user:e.email,users:y},function(B,r){x();if(r==200){b.unblockUI();j.sidebar.updateWatch()}else if(r==403)h.showMsg("Sorry, your permission has been changed, you can't do this action now.");else if(r==404)h.showMsg("We can't find this topic in current workspace.");else r==400?h.showMsg("Invalid parameters."):h.showMsg("Sorry, we got a problem, please try again later.")});
return false})}})}})}})(jQuery);
(function(b){function j(h,n){n=n||"";return'<a href="'+m.toHash({ws:h,topic:g})+'" class="'+n+'">'+h+"</a>"}function e(h){return'<a href="'+m.toHash({g_user:h.screenName})+'">'+h.screenName+"</a>"}function q(h,n){return'<a href="'+m.toHash({ws:h,topic:n})+'">'+n+"</a>"}function p(h,n){return'<a href="'+m.toHash({ws:h,tag:n})+'">'+n+"</a>"}function c(h,n,l){var v="",w=n?n.length:0,u=l?l.length:0;if(w){v+="adding ";b.each(n,function(x){v+=p(h,this)+(x<w-1?"<span>, </span>":"")})}if(w*u!=0)v+=", and ";
if(u){v+="removing ";b.each(l,function(x){v+=p(h,this)+(x<u-1?"<span>, </span>":"")})}return v}function d(h,n,l){return'<a href="'+m.toHash({ws:h,topic:n,file:l})+'">'+l+"</a>"}var f=$cc.api,k=$cc.ui,m=$cc.session,g="Main Page";b.extend(k,{activity:function(h){h=h||"workspaces";b("<ul/>").attr("id",h+"_entry").addClass("activity-list entry-list").appendTo(k._content)},showActivity:function(h,n){n=b.extend({noEntryMsg:"No "+n.filter,showDateSplit:true,size:50,hasMore:false,isFirst:true},n||{});var l=
b("ul#"+n.filter+"_entry");n.isFirst&&l.empty();if(h.length){var v=n.size>=0?Math.min(h.length,n.size):h.length;for(A=0;A<v;A++){var w=h[A];if(n.showDateSplit){var u=new Date,x=b.dateString(u.getTime(),"shortFull");u=new Date(u.getFullYear(),u.getMonth(),u.getDate()-1);u=b.dateString(u.getTime(),"shortFull");var y=b.dateString(w.time,"shortFull"),B=A>0?b.dateString(h[A-1].time,"shortFull"):y;if(y!=B||A===0){B=b("<li/>").addClass("date").appendTo(l);B=b("<span/>").appendTo(B);if(y===x){y="Today";B.addClass("today")}else if(y===
u){y="Yesterday";B.addClass("yesterday")}B.text(y.toUpperCase())}}x=b("<li/>").appendTo(l);B=b("<div/>").addClass("left").appendTo(x);x=b("<div/>").addClass("right").appendTo(x);u=w.workspace?w.workspace.name:"";y=w.topic?w.topic.title:"";w.workspaceId&&!w.workspace.deleted&&n.filter!="workspace"&&B.append(j(u,"round-block ws-color-"+w.workspaceId%6));B=b("<span/>").appendTo(B);var r="";if(w.type!=="createAccount"&&w.user)r+=e(w.whom||w.user);switch(w.type){case "createAccount":r+="Account (<strong>"+
m.accountName+"</strong>) is created";if(w.user)r+=" by "+e(w.user)+".";break;case "activateUser":r+=" joins this account.";break;case "suspendUser":r+=" is suspended.";break;case "modifyProfile":r+="'s profile is changed.";break;case "createWorkspace":r+=" creates a new workspace "+j(u)+".";break;case "renameWorkspace":r+=" renames the workspace from "+j(w.oldName)+" to "+j(u)+".";break;case "deleteWorkspace":r+=' deletes workspace <span class="red">'+u+"</span>.";break;case "recoverWorkspace":r+=
" recovers workspace "+j(u)+".";break;case "changeWorkspacePermission":r+=" has changed these people's permission: "+b.map(w.users||[],function(o){return e(o)+" ("+(o.permission==="unaccessible"?"no access":o.permission)+")"}).slice(0,3).join(", ")+(w.users&&w.users.length>3?"... "+w.users.length+" people":"");break;case "addWorkspaceMember":r+=" enters the workspace "+j(u)+".";break;case "removeWorkspaceMember":r+=" leaves "+j(u)+".";break;case "createTopic":r+=" creates a new topic "+q(u,y)+".";
break;case "modifyTopicContent":r+=" edits the topic "+q(u,y)+".";break;case "renameTopic":r+=" renames the topic from "+q(u,w.oldTitle)+" to "+q(u,y)+".";break;case "deleteTopic":r+=" deletes the topic "+q(u,y)+".";break;case "modifyTopicTags":r+=" edits tags of "+q(u,y);if(w.add||w.remove)r+=" by "+c(u,w.add,w.remove)+".";break;case "uploadFile":r+=" uploads a new file "+d(u,y,w.file.fileName)+" to "+q(u,y)+".";break;case "deleteFile":r+=" deletes a file"+d(u,y,w.file.fileName)+" of "+q(u,y)+".";
break;case "uploadAvatar":r+=" changes his/her avatar.";break}B.html(r);b("<span/>").text(b.dateString(w.time,n.showDateSplit?"onlyUsTime":"shorterTime")).appendTo(x)}}else l.append('<li class="empty-msg">'+n.noEntryMsg+"</li>");h=b("#more_button");var A=1;if(!h.length&&n.hasMore){n.moreObj.start=n.moreObj.size*A;h=b('<div id="more_button" class="button-gray hide">More</div>').appendTo(k._content).click(function(){f.listHistory(n.moreObj,function(o,z){if(z==200){A++;k.showActivity(o.history,{filter:n.filter,
isFirst:false})}})})}n.hasMore?h.show():h.remove()}})})(jQuery);
(function(b){var j=$cc.ui,e=$cc.api,q=$cc.session;j.dialogUpload=function(p,c){function d(B){v.hide();e.uploadFile(B,{onStart:function(r){var A=b("#upload_form");A.get(0).action=r;A.get(0).submit();n.hide();h.hide();l.show();w.show().text("").removeClass("error")},onProgress:function(){},onUploaded:function(){},onFinish:function(){w.removeClass("error").text("");var r=B.fileName;if(B.rename!==undefined&&!B.rename)r=B.sourceFileName;r={fileName:e.toKey(r),description:B.description,linkType:k.formObject().linkType};
c&&c(r);b.unblockUI()},onError:function(r){w.addClass("error");n.hide();h.hide();l.hide();if(r==403)w.text("Sorry, you don't have permission to upload file in this workspace.");else if(r==409){u.hide();g.show();h.show();g.find(".conflict-filename").text(B.fileName);b("#conflict_newName").valu();h.show().one("click",function(){if(g.field("conflict")==="newRev")B.sourceFileName=B.fileName;else{var A=g.field("newName");B.fileName=A}d(B)})}else if(r==412){n.show();w.text("Sorry, your have reached the limit(1G/user/month) of this month.")}else if(r==
413){n.show();w.text("Your file is too large, you may not upload files larger than 25M.")}else if(r==500){n.show();w.text("Sorry, we got a problem, plase try again later.")}else{n.show();w.text("Oops!! Error occurred while uploading: "+r)}}})}function f(){var B=e.toKey(x.valu());if(B){n.hide();l.show();B={fileName:B,description:k.field("description")};if(p.isNewRev){B.sourceFileName=p.sourceFileName;B.rename=y.field("rename")}d(B)}else v.showMsg("Please choose a file.")}if(b.isFunction(p)){c=p;p=
{}}p=b.extend({showExistLink:true,dialogTitle:"Upload file",isNewRev:false},p||{});var k=b("#dialogUpload");if(!k.length){k=b("<div id='dialogUpload' class='dialog hide form'><h3>"+p.dialogTitle+"</h3><div class='msg-box hide'></div><ol class='choose-file'><li class='file-li'><label>Select a file</label><form id='upload_form' method='post' target='upload_target' enctype='multipart/form-data' ><input type='file' name='file' class='file' size='29' /></form><iframe id=\"upload_target\" name=\"upload_target\" style=\"width:0;height:0;border:0px solid #fff;\"></iframe></li><li><label>Description</label><input type='text' class='text' name='description' id='file_upload_desciption' /><span class='note'> optional</span></li><li class='update-filename hide'><label for='file_upload_rename'><input type='checkbox' class='checkbox' name='rename' id='file_upload_rename' /> Rename file with the new file name</label></li><li class='show-type hide'><label>Show as</label><label class='nostyle media-file hide'><input type='radio' class='radio' name='linkType' value='mediaBox'  /><span> Media box</span></label><label class='nostyle'><input type='radio' class='radio' name='linkType' value='quicklook' checked='checked' /><span> Quick Look</span></label><label class='nostyle'><input type='radio' class='radio' name='linkType' value='link'  /><span> Just a link</span></label></li></ol><div id='upload_conflict' class='hide'><p>A file named <strong class='conflict-filename red'></strong> already exist in this workspace. Do you want to</p><p><label><input name='conflict' class='radio' type='radio' value='newRev' /> Update the old file, this is a new revision.</label></p><p><label><input name='conflict' class='radio' type='radio' value='newName' /> This is a new file with new name </label><input id='conflict_newName' name='newName' class='text' type='text' /></p></div><div id='upload_progress' class='hide'></div><div class='fb-bar'><div class=left hide><span id='exist_file_link'><span class='icon-toolbar exist-file-icon fb-icon'></span><span class='hyperlink'>Choose an exist file</span></span></div><span class='cancel'>Cancel</span><input id='upload_input' class='button' type='button' value='Upload' /><input id='upload_conflict_btn' class='button hide' type='button' value='Contiune &raquo;' /><span class='waiting hide'></span></div></div>").appendTo("#cctext_dialog");
var m=k.find("form#upload_form input:file").change(function(){var B=b.cctext.isMediaFile(m.valu());k.find(".media-file")[B?"show":"hide"]();B||k.field("linkType","quicklook")});b("#upload_input").click(function(){f()});b("#exist_file_link").one("click",function(){b.unblockUI();j.dialogInsertExistFile()});k.find(".fb-bar .cancel").click(function(){b.unblockUI()})}b("#file_upload_desciption").valu("");var g=b("#upload_conflict").hide(),h=b("#upload_conflict_btn").hide(),n=b("#upload_input").text("Upload").show(),
l=b(".waiting").hide(),v=k.find(".msg-box").hide(),w=b("#upload_progress").text("").hide(),u=k.find("ol.choose-file").show(),x=k.find("input[type=file]").valu(""),y=k.find("li.update-filename");k.find(".fb-bar .left")[p.showExistLink?"show":"hide"]();if(p.isNewRev){p.sourceFileName=p.sourceFileName||q.location.file;x.blur(function(){y[x.valu()!==p.sourceFileName?"show":"hide"]()})}else k.find("li.show-type").show();b.blockUI({message:b("#dialogUpload")})}})(jQuery);
(function(b){function j(){var m=b("#dialogInsertLink"),g=m.find("form"),h="",n=m.find(".active-link-content").attr("cc-linkType"),l=function(v,w){v||(v=w||"");return v?" "+v:v};if(n==="topic"){g=m.find("ul.filterbox");h=g.find("li.selected");h.length||(h=g.find("li.pre-select"));h.length||(h=g.find("li:first"));h="[["+(h.find("span").text()||"")+"]]"}else if(n==="web"){h=g.field("webUrl")+l(g.field("webDisplay"));g=g.field("linkType");h=/mediabox|quicklook/i.test(g)?"{{"+g.toLowerCase()+":"+h+"}}":
"["+h+"]"}else if(n==="email")h="["+g.field("email")+"]";else if(n==="map"){mapType=g.find(".type-map").field("mapType");h=l(g.field("mapDisplay"),"google map");h=mapType==="googleMap"?"{{map:["+g.field("map")+h+"]}}":"{{map:"+g.field("map")+"}}"}e(h)}function e(m){p&&console.info(b.toJSON(m));k.cctextEditor("restore").cctextEditor("inlineinsert",m)}function q(){d.listTopics(function(m,g){if(g==250||g==200){var h=[];b.each(m.topics,function(){h.push({topic:this.title,ws:this.workspace})});m={data:h,
template:"<li><span>#{topic}</span></li>"};b("#type_topic_input").filterbox({className:"internal-topics",data:[m],width:"441px",height:"200px",maxHeight:"200px"},function(){b("#dialogInsertLink form").submit()})}})}var p=window.__DEBUG,c=$cc.ui,d=$cc.api,f=$cc.session,k;c.dialogInsertLink=function(){if((k=f.location.action==="edit"?b("#page_editor"):c._sectionEditor)&&k.length){k.cctextEditor("backup");var m=b("#dialogInsertLink");if(!m.length){m=b("<div id='dialogInsertLink' class='dialog hide'><h3><span class='type-topic dialog-title-tab active-tab' cc-linkType='topic'>Internal topic</span><span class='type-web dialog-title-tab' cc-linkType='web'>Web address</span><span class='type-email dialog-title-tab' cc-linkType='email'>Email address</span><span class='type-map dialog-title-tab' cc-linkType='map'>Google map</span></h3><form><div class='link-content active-link-content type-topic' cc-linkType='topic'><div class='dialog-content-wrap'><input id='type_topic_input' class='text' name='typeTopic' type='text' /></div></div><div class='link-content type-web' cc-linkType='web'><ol><li><label for='insert_link_url'>URL</label><input type='text' class='text' id='insert_link_url' name='webUrl' value='http://' /></li><li><label for='insert_link_display'>Display Text (optional)</label><input type='text' class='text' id='insert_link_display' name='webDisplay' /></li><li class='show-as hide'><label class='width-audo'>Show as</label><label class='nostyle'><input type='radio' class='radio' name='linkType' value='mediaBox'  /><span> Media box</span></label><label class='nostyle'><input type='radio' class='radio' name='linkType' value='link'  /><span> Just a link</span></label></li></ol></div><div class='link-content type-email' cc-linkType='email'><ol><li><label for='insert_link_email'>Email address</label><input type='text' class='text' id='insert_link_email' name='email' /></li></ol></div><div class='link-content type-map' cc-linkType='map'><ol><li><label><input type='radio' name='mapType' checked='checked' value='addressMap' />Address</label><label><input type='radio' name='mapType' value='googleMap' />Google Maps Link</label><input type='text' class='text' name='map' /></li><li><label for='insert_map_display'>Display Text (optional)</label><input type='text' class='text' id='insert_map_display' name='mapDisplay' /></li></ol></div><div class='fb-bar'><div class=left><span id='create_topic_link'><span class='create-topic fb-icon'></span><span class='hyperlink'>Create a new topic</span></span></div><span class='cancel'>Cancel</span><input class='button' type='submit' value='Insert' /></div></form></div>").appendTo("#cctext_dialog");
var g=m.find("form");m.find(".fb-bar span.cancel").click(b.unblockUI);var h=m.find("h3 .dialog-title-tab").click(function(){t=b(this);var n=t.attr("cc-linkType");g.get(0).reset();b("#create_topic_link")[n==="topic"?"show":"hide"]();h.removeClass("active-tab");t.addClass("active-tab");g.find(".link-content").removeClass("active-link-content");g.find(".link-content[cc-linkType="+n+"]").addClass("active-link-content")});b("#create_topic_link").click(function(){b.unblockUI();c.dialogCreate({callback:function(n,
l){e("[["+l+"]]");(function(){window.open(n)}).defer()}})});b("#insert_link_url").keyup(function(){var n=m.find("li.show-as");if(b.cctext.isMediaFile(b(this).valu())){n.show();m.field("linkType","mediaBox")}else{n.hide();m.field("linkType","")}});g.find("input[name=mapType]").change(function(){g.find("input[name=map], input[name=mapDisplay]").valu("")});g.submit(function(){j();b.unblockUI();return false})}q();b("#dialogInsertLink form").get(0).reset();b.blockUI({message:b("#dialogInsertLink")})}}})(jQuery);
(function(b){function j(g){if(g.fileName&&g.topic){var h=p.toKey(g.topic)===c.location.topic?"File:"+g.fileName:"/"+c.location.ws+"/"+p.toKey(g.topic)+"/File:"+p.toKey(g.fileName);if(g.displayText)h+="|"+g.displayText;h="[["+h+"]]";if(/mediabox|quicklook/i.test(g.linkType))h="{{"+g.linkType.toLowerCase()+":"+h+"}}";e&&console.info("inserting : ",h);d.cctextEditor("restore").cctextEditor("insert",h)}}var e=window.__DEBUG,q=$cc.ui,p=$cc.api,c=$cc.session,d;q.dialogInsertExistFile=function(){q._quicklookLoading.show();
if((d=c.location.action==="edit"?b("#page_editor"):q._sectionEditor)&&d.length){d.cctextEditor("backup");var g=b("#dialogInsertExistFile");if(!g.length){g=b("<div id='dialogInsertExistFile' class='dialog hide'><h3>Choose a file form <select class='choose-file-source' name='fileDataSource'><option value='topic'>this topic</option><option value='workspace'>this workspace</option></select></h3><form id='exsit_file_form'><ol><li><div id='exist_field' class='source exist'><select class='right file-cat' name='fileCat'><option value='all'>All</option><option value='image'>Image</option><option value='audio'>Audio</option><option value='video'>Video</option><option value='document'>Docuement</option></select><input id='exist_file_input' type='text' class='text' name='existFile' /></div></li><li><label class='width-audo'>Show as:</label><label class='nostyle media-file hide'><input type='radio' class='radio' name='linkType' value='mediaBox'  /><span> Media box</span></label><label class='nostyle'><input type='radio' class='radio' name='linkType' value='quicklook'  checked='checked'  /><span> Quick Look</span></label><label class='nostyle'><input type='radio' class='radio' name='linkType' value='link'  /><span> Just a link</span></label></li></ol><div class='fb-bar'><div class=left><span id='upload_file_link'><span class='icon-toolbar upload-file-icon fb-icon'></span><span class='hyperlink'>Upload a new file</span></span></div><span class='cancel'>Cancel</span><input class='button' type='submit' value='Insert' /></div></form></div>").appendTo("#cctext_dialog");
b("#upload_file_link").click(function(){b.unblockUI();f=false;q.dialogUpload(function(h){var n=c.location.action==="edit"?b("#page_editor"):q._sectionEditor,l="[[File:"+p.toKey(h.fileName)+"]]";if(/mediabox|quicklook/i.test(h.linkType))l="{{"+h.linkType.toLowerCase()+":"+l+"}}";n.cctextEditor("restore").cctextEditor("insert",l)})});g.find("form").submit(function(){var h=g.find("ul.filterbox"),n=h.find("li.selected");n.length||(n=h.find("li.pre-select"));n.length||(n=h.find("li:first"));h={topic:n.find(".ief-select-topic").text()||
"",fileName:n.find(".ief-select-fn").text()||"",linkType:g.field("linkType")};e&&console.info(b.toJSON(h));j(h);b.unblockUI();return f=false});g.find(".fb-bar span.cancel").click(function(){b.unblockUI();f=false})}g.find("select.choose-file-source").bind("change",function(){m(g.field("fileDataSource"))});g.find("select.file-cat").bind("change",function(){m(g.field("fileDataSource"),g.field("fileCat"))});m(g.field("fileDataSource"));b("#exist_file_input").focus()}};var f=false,k=false,m=function(g,
h){var n=b("#exist_field");p.listFiles({filter:g},function(l,v){if(v==250||v==200){var w=[];l=b.grep(l.files,function(u){return q.category(h||"all",u.fileName)});b.each(l,function(){var u={topic:this.topic.title,file:this.fileName,type:b.filenameExt(this.fileName)};w.push(u)});l={data:w,template:'<li><div class="file file-type-#{type}"><span class="ief-select-topic">#{topic}</span>/File:<span class="ief-select-fn">#{file}</span><div></li>'};n.find('input[type="text"]').filterbox({className:"exist-files",
data:[l],width:"460px",height:"150px",onSelectChanged:function(){var u=b.cctext.isMediaFile(b(".exist-files-display").text()),x=b("form#exsit_file_form");x.find(".media-file")[u?"show":"hide"]();u||x.field("linkType","quicklook")}},function(){dialogInsertExistFile.find("form").submit()});if(!f){l=function(){f=true;q._quicklookLoading.hide();b.blockUI({message:b("#dialogInsertExistFile"),focusInput:false})};if(k)l();else{l.delay(500);k=true}}}})}})(jQuery);
(function(b){var j=$cc.ui,e=$cc.session,q=$cc.api;j.dialogRenameWorksapce=function(p){var c=b("#dialogRenameWorksapce");j._oldWsname=p||"";if(!c.length){c=b("<div id='dialogRenameWorksapce' class='dialog hide'><h3>Rename workspace</h3><form><div id='rename_notice' class='hide msg'></div><ol><li><label id='rename_ws_label' for='create_name'>New name: </label><input id='rename_ws' class='text' type='text' name='workspace' /></li></ol><div class='fb-bar'><span class='cancel'>Cancel</span><input class='button' type='submit' value='Rename' /></div></form></div>").appendTo("#cctext_dialog");
c.find(".fb-bar span.cancel").click(b.unblockUI);c.find("form").submit(function(){var d=b.trim(b("#rename_ws").valu()),f=c.find("#rename_notice");f.hide();if(!d){f.showMsg("Please enter new name of this workspace.");return false}q.renameWorkspace({name:j._oldWsname,newName:d},function(k,m){if(m==200){m=b("#workspaces_entry tr[cc-workspace-id="+k.workspace.id+"]");m.find("a.workspace-link").text(k.workspace.name).attr("href",e.toHash({ws:k.workspace.name,topic:"Main_Page"}));b.unblockUI();m.effect("highlight")}else m>=
400&&m<500?f.showMsg("This name has been taken or invalid, please choose another."):f.showMsg("Serror error, please try again later.")});return false})}b.blockUI({message:b("#dialogRenameWorksapce")});b("#rename_notice").hide();b("#rename_ws").valu(p).focus()}})(jQuery);
(function(b){var j=$cc.ui;j.dialogConfirm=function(e,q,p,c){c=b.extend({okText:"OK",cancelText:"Cancel",closeAction:"cancel",className:""},c||{});q=q||b.bourbon.N;p=p||b.bourbon.N;var d=b("#dialogConfirm");if(d.length){d.find(".confirm-msg").html(e);d.find("span.cancel").html(c.cancelText);d.find("input:button").value=c.okText}else d=b("<div/>").attr("id","dialogConfirm").addClass("dialog hide "+c.className).appendTo(j._dialog).append(b("<div/>").addClass("confirm-mg").css({"margin-top":"20px"}).empty().append(e)).append(b("<div/>").addClass("fb-bar").append(b("<span/>").addClass("cancel").text(c.cancelText)).append('<input type="button" class="button" value="'+
c.okText+'" />'));e=d.find(".fb-bar");e.find("span.cancel").one("click",function(){c.closeAction="cancel";b.unblockUI()});e.find("input.button").one("click",function(){c.closeAction="ok";b.unblockUI()});b.blockUI({message:b("#dialogConfirm"),css:{opacity:1,"-webkit-border-radius":"10px","-moz-border-radius":"10px"},onUnblock:function(){c.closeAction==="ok"?q():p()}})};j.dialogAlert=function(e,q){var p=b("#dialogAlert");if(p.length)p.find("p.alert-msg").html(e);else p=b('<div id="dialogAlert" class="dialog hide"><p class="alert-msg" style="margin-top:20px;">'+
e+"</p><div class='fb-bar'><input class='button' type='button' value='OK' /></div></div>").appendTo(j._dialog||document.body);p.find(".fb-bar input:button").click(function(){q&&q();b.unblockUI()});b.blockUI({message:b("#dialogAlert"),css:{opacity:1,"-webkit-border-radius":"10px","-moz-border-radius":"10px"}})};j.dialogMessage=function(e){b.blockUI({message:b(e),css:{opacity:1,"-webkit-border-radius":"10px","-moz-border-radius":"10px"}})}})(jQuery);
(function(b){var j=false,e=$cc.ui,q=$cc.session;e.dialogAvatar=function(){function c(){m=b("<div id='dialogAvatar' class='dialog hide'><h3>Upload a picture of yourself</h3><div class='msg hide'></div><ol><li class='choose-file'><p class='note'>You can upload a JPG, GIF, or PNG file. (Do not upload pictures containing celebrities, nudity, artwork or copyrighted images.)</p><form id='upload_form' method='post' target='upload_target' enctype='multipart/form-data' ><input type='file' name='file' class='file' size='40' /></form><iframe id=\"upload_target\" name=\"upload_target\" style=\"width:0;height:0;border:0px solid #fff;\"></iframe><div class='progress'></div></li><li class='crop-image hide'><p>Click and drag on the image to select an area.</p><span class='hyperlink'>&laquo; Back to upload</span><div class='crop-field'></div></li></ol><div class='fb-bar'><span class='cancel'>Cancel</span><input type='button' id='crop_button' class='hide' value='Apply changes' /><span class='waiting hide' /></div></div>").appendTo(g);
m.find(".fb-bar span.cancel").click(b.unblockUI);m.find(".crop-image span.hyperlink").click(function(){f()});m.find("input:file").change(function(){var B=m.find(".msg").hide();if((fileName=b("#upload_form").field("file"))&&!p(fileName))B.text("The file you selected is not a valid image file. Please select another file.").addClass("error").show();else fileName&&k()})}function d(){var B=b(".imgAreaSelect-overlay");B.length&&B.remove()}function f(){v.valu("");d();w.hide();u.hide();y.hide();n.show()}
function k(){var B=l.find("input[type=file]").valu(),r=$cc.api.uploadAvatar({fileName:B},{onStart:function(A){l.get(0).action=A;l.get(0).submit();w.text("Uploading Image ...").addClass("waiting").show()},onProgress:function(){},onUploaded:function(A){h.text("Crop this picture of yourself");n.hide();y.show();u.show();x.empty().append("<div class='hide'>x=<span id='x'>0</span>, y=<span id='y'>0</span>, len=<span id='len'>100</span></div><img id='photo' /><div id='photo_preview_border'><img id='photo_preview' /></div>").show();
var o={x:0,y:0,len:100},z=b("#photo").attr("src",A),C=b("#photo_preview");z.imgAreaSelect({aspectRatio:"1:1",onSelectChange:function(D,F){var E=100/(F.width||1),G=100/(F.height||1),H=b(D).width();D=b(D).height();C.css({width:Math.round(E*H)+"px",height:Math.round(G*D)+"px",marginLeft:"-"+Math.round(E*F.x1)+"px",marginTop:"-"+Math.round(G*F.y1)+"px"});b("#x").text(F.x1);b("#y").text(F.y1);b("#len").text(F.width)},onSelectEnd:function(D,F){o={x:F.x1,y:F.y1,len:F.width}},x1:0,y1:0,x2:100,y2:100});C.attr("src",
A);y.click(function(){y.hide();cropBtnWaiting.show();d();r.crop(o)})},onFinish:function(){url=$cc.api.getAvatarUrl({email:q.email,size:"medium"});j&&console.info(b("#profile_picture img").attr("src"));e._avatar_param="?"+(new Date).getTime();b("#profile_picture img").attr("src",url+e._avatar_param);j&&console.info(b("#profile_picture img").attr("src"));b.unblockUI()},onError:function(A){if(A==413)w.text("Your file is too large, you may not upload files larger than 1 M.").show();else A==500?w.text("Sorry, we got a problem, plase try again later.").show():
w.text("Oops!! Error occurred while uploading: "+A).show()},onCancel:function(){}})}var m=b("#dialogAvatar"),g=b("#cctext_dialog");g.length||(g=b(document.body));m.length||c();var h=m.find("h2"),n=m.find(".choose-file"),l=n.find("form"),v=n.find("input:file").valu(""),w=n.find(".progress"),u=m.find("li.crop-image"),x=u.find(".crop-field"),y=b("#crop_button");cropBtnWaiting=y.next(".waiting");f();b.blockUI({message:b("#dialogAvatar"),onUnblock:d})};var p=function(c){return!!b.bourbon.regex.imageSuffix.test(c)}})(jQuery);
(function(b){var j=b.bourbon.key;b.fn.filterbox=function(e,q){function p(){if(e.type==="select")v.show();else e.type==="search"&&v.smartPosition(l,{align:"left"}).show()}function c(){v.empty();var u=l.valu();if(!u&&e.type==="search")e.type==="search"&&v.hide();else{var x;b.each(e.data,function(){var y=b.dataFilter(this.data,this.template,u,this.searchIn,e.max);x=x?x.concat(y):y});if(x.length){b.each(x,function(){var y=b(this.title);v.append(y)});v.find("li").click(function(){m(this);if(e.type==="search"){l.valu("");
v.hide()}})}else e.type==="select"&&v.addClass("no-results").append("<li>No matched.</li>");if(e.type==="search")v.append('<li><a class="search-result-search" href="'+(e.searchURL||"")+u+'">Search "<b>'+u+'</b>" in this workspace</a></li>');v.find("li").mouseover(function(){if(!b(this).hasClass("selected")){f();b(this).addClass("pre-select")}}).mouseout(function(){f()});p();d()}}function d(){if(!v.hasClass("no-results")){v.removeClass("focus");var u=v.find("li.selected");if(!u.length){u=v.find("li:first");
w=-1}u.addClass("pre-select")}}function f(){v.find("li.pre-select").removeClass("pre-select")}function k(){v.find("li.selected").removeClass("selected");v.removeClass("focus")}function m(u){k();f();u=b(u).addClass("selected").removeClass("pre-select");v.addClass("focus");v.next("."+e.className+"-display").text((e.prefix||"")+u.text());e.onSelectChanged()}function g(u){var x=v.find("li");if(x.length){w+=u;if(w<0)k();else if(w>=x.size())w=x.size()-1;u=v.outerHeight();var y=v.find("li:first").outerHeight();
w>-1&&m(x[w]);x=b(x[w]).position().top;var B=v.position().top,r=Math.floor(u/y);v.find("li");if(x-B>u-y)v.scrollTop(y*(w-r+1));else x<B&&v.scrollTop(y*w)}}function h(u){if(v.is(":visible"))if(u.keyCode===j.ENTER){if(e.type==="search"){u=v.find("li.selected a");u.length||(u=v.find("li.pre-select a"));location=u.attr("href");v.hide()}else q&&q();k()}else if(u.keyCode===j.UP){if(w>0)g(-1);else{w=-1;l.focus()}return false}else if(u.keyCode===j.DOWN){g(1);return false}else if(u.keyCode===j.ESC){k();if(e.type===
"search"){v.hide();w=-1;l.focus()}}}function n(){if(v.is(":visible"))if(w<0){l.focus();d()}}e=b.extend({data:[],className:"",type:"select",height:"auto",width:"400px",maxHeight:"150px",minHeight:"50px",onSelectChanged:b.bourbon.N},e||{});var l=this.addClass("filter-input").attr("autocomplete","off"),v=l.next(".filterbox"),w=-1;if(!v.length){v=b("<ul/>").addClass("filterbox "+e.className).insertAfter(l).addClass(e.className).hide().css({height:e.height,width:e.width,"max-height":e.maxHeight,"min-height":e.minHeight});
e.type==="search"&&v.addClass("dropdown");b("<div/>").addClass(e.className+"-display").insertAfter(v)[e.showSelected?"show":"hide"]();l.focus(function(){l.addClass("focus");d();e.type==="select"&&c()}).blur(function(){l.removeClass("focus")}).keyup(function(u){if(u.keyCode===j.DOWN){l.blur();w=0;return false}else if(u.keyCode===j.TAB&&e.type==="search"){l.valu()?c():v.hide();return false}else if(u.keyCode===j.ENTER){e.type==="search"&&!v.is(":visible")&&q&&q();return false}else if(u.keyCode!==j.UP&&
u.keyCode!==j.ESC){c();return false}});b(window).bind("keydown",h).bind("keypress",n)}e.type==="select"&&c.delay(300);return this}})(jQuery);
(function(b){function j(h){h=d.toKey(h);if(b.bourbon.ua.safari)h=encodeURIComponent(h);return h}function e(h){return b.bourbon.ua.safari?decodeURIComponent(h):h}function q(h){m.current+=h;g=true;b.locationHash(m[m.current])}var p,c=$cc.session,d=$cc.api,f=$cc.ui;c._default_hash="#/Special:Home";var k={rev:function(h){return b.parseInt(h,0)},page:function(h){return b.parseInt(h,1)-1}};c.toHash=function(h){var n="#/",l=[];if(h.g_special)n+="Special:"+h.g_special;else if(h.g_user)n+="User:"+h.g_user;
else if(h.ws){n+=j(h.ws)+"/";if(h.special)n+="Special:"+h.special;else if(h.user)n+="User:"+h.user;else if(h.tag)n+="Tag:"+j(h.tag);else if(h.topic){n+=j(h.topic);if(h.file)n+="/File:"+j(h.file)}else n+="Main_Page"}else n=c._default_hash;if(h.action==="compare")l.push("compare="+h.rev_f+"+"+h.rev_l);else if(h.action)l.push(h.action);else if(h.rev)l.push("rev="+h.rev);else if(h.q)l.push("q="+j(h.q));else h.lang&&l.push("lang="+h.lang);h.page&&l.push("page="+(h.page+1));n+=l.length?"/?"+l.join("&"):
"";return n};c.toHashWS=function(h){return c.toHash(b.extend(h,{ws:c.location.ws}))};c.toHashTopic=function(h){return c.toHash(b.extend(h,{ws:c.location.ws,topic:c.location.topic}))};c.toLocation=function(h){var n=h.indexOf("#");if(n>=0)h=h.substring(n+1);var l={compact:function(){return c.toHash(this)}};n=h.indexOf("?");var v,w=(n<0?h:h.substring(0,n)).split("/");if(v=(w[1]||"").match(/^(Special|User):(.*)/i))l["g_"+v[1].toLowerCase()]=v[2];else{l.ws=e(w[1]);if(v=(w[2]||"").match(/^(Special|User|Tag):(.*)/i)){l[v[1].toLowerCase()]=
e(v[2]);if(v[2]==="Search")l.q=w[3]}else{l.topic=e(w[2])||"Main_Page";if(v=(w[3]||"").match(/^(File):(.*)/i))l.file=e(v[2])}}h=(n<0?"":h.substring(n+1)).split("&");b.each(h,function(u,x){if(x.indexOf("=")<0)l.action=x;else if(v=x.match(/^compare=(\d+)\+(\d+)$/i)){l.action="compare";u=parseInt(v[1]);x=parseInt(v[2]);if(u<x){l.rev_f=u;l.rev_l=x}else{l.rev_f=x;l.rev_l=u}}else if(v=x.match(/^([^=]+)=(.+)$/))l[v[1]]=(k[v[1]]||b.bourbon.K)(v[2])});return l};c._onHashChanged=function(){var h=b.decodeURIComponent(location.hash);
if(!(h===p&&typeof p==="string"))if(p=h){c.location=c.toLocation(h);h=c.location.compact();h!==location.hash?b.locationHash(h):f.trigger("redirected")}else(function(){b.locationHash(c._default_hash)}).defer()};c._cleanHash=function(){p=undefined};var m=$cc.history=[],g=false;b.extend(m,{current:0,back:function(){m.canBack()&&q(1)},canBack:function(){return m.current<m.length-1},forward:function(){m.canForward()&&q(-1)},canForward:function(){return m.current>0}});f.bind("redirected",function(){if(g)g=
false;else{m.splice(0,m.current,c.location.compact());m.current=0}})})(jQuery);
(function(b){function j(l){var v=l.action;if(v==="edit")if(g.isViewer())h.noEditPermission();else if(n._page_edit_init){h.editTopic(l.topic,n._page_edit_init);n._page_edit_init=undefined}else g.loadContent(function(w,u){if(u==200&&n.location.action==="edit")h.editTopic(w.topic.title,h._base=w&&u==200?w.content||"":"")});else if(v==="history"){h.history();g.listTopicRevs(function(w,u){u==200&&n.location.action==="history"&&h.showHistory(w)})}else if(v==="compare"){h.topicCompare();g.loadContent({rev:l.rev_f,
rev2:l.rev_l},function(w,u){u==200&&n.location.action==="compare"&&h.showTopicCompare(w)});g.listTopicRevs(function(w,u){u==200&&n.location.action==="compare"&&h.sidebar.updateCompare(w.revs)})}}function e(l){g.loadTopic({title:l.topic},function(v,w){if(w==200){h.file();g.loadFile({fileName:l.file,title:l.topic,rev:l.rev},function(u,x){if(n.location.topic===l.topic&&n.location.file===l.file){h.updateTitle();if(x==200)if(u.file.movedTo)h.notFile(u.file.movedTo.fileName,"moved");else{h.showFile(u.file);
h.sidebar.file()}else if(x==404){h.noFile();h.sidebar.noSuchFile()}}})}})}function q(l){h.topicOld();g.loadContent({rev:l},function(v,w){w==200&&n.location.rev===l&&h.showTopicOld(v)});g.listTopicRevs(function(v,w){w==200&&h.sidebar.updateCompare(v.revs)})}function p(l){l.file?e(l):g.loadTopic({title:l.topic},function(v,w){h.updateTitle();if(n.location.topic===l.topic)if(w==404)h.notTopic(l.topic);else if(w==200){if(!v.topic.movedTo)h._redirectFrom=undefined;if(v.topic.movedTo)h.notTopic(v.topic.movedTo.title,
"moved");else if(v.topic.deleted)h.notTopic(v.topic.title,"deleted");else if(l.action)j(l);else if(l.rev)q(l.rev);else{h.topic();if(!l.lang){h.showTopicInfo(v.topic);g.listTags({workspace:l.ws,title:l.topic,filter:"topic"},function(u,x){x==200&&h.showTopicTags(u.tags)})}g.loadContent(function(u,x){if(n.location.topic===l.topic)h.showTopicContent(u&&x==200?u.content||"":"",g.isViewer())})}}})}function c(l){var v=l.special;if(v==="All"){h.topics();g.listTopics({workspace:l.ws},function(u,x){x==200&&
h.showTopics(u)})}else if(v==="Watched"){h.topics("watched");g.listTopics({workspace:l.ws,filter:"starred"},function(u,x){x==200&&h.showTopics(u,"watched")})}else if(v==="Search")h.searchResults({terms:l.q,page:l.page});else if(v==="Tags"){h.tags();g.listTags(function(u,x){x==200&&h.showTags(u.tags)})}else if(v==="Members"){h.members();g.listUsers({workspace:l.ws,status:"active admin"},function(u,x){x==200&&g.listWorkspacePermissions({users:u.users},function(y,B){B==200&&h.showPeopleList(y.users)})})}else if(v===
"Permissions")g.listUsers(function(u,x){x==200&&g.listWorkspacePermissions({users:u.users},function(y,B){if(B==200){y.users=m(y.users);h.permissions(y.users)}})});else if(v==="Recent"){h.activity("workspace");var w={workspace:l.ws,filter:"workspace",size:20};g.listHistory(w,function(u,x){if(x==200)h.showActivity(u.history,{filter:"workspace",size:20,moreObj:w,hasMore:u.hasMore||false,noEntryMsg:"No activity in this workspace."})})}else if(v==="Files"){h.sidebar.fileCategory();g.listFiles({filter:"workspace",
order:"name"},function(u,x){x==200&&h.showFiles(u.files)})}h.sidebar.commonFooter()}function d(l){h.sidebar.commonFooter();h.topics("tag",l.tag);g.listTopics({workspace:l.ws,tag:l.tag},function(v){h.showTopics(v,"tag",l.tag)})}function f(l){var v=l.g_special,w=n.account.startsWith("ga");if(v==="Home"){h.dashboard();var u={filter:"workspaces",size:20};g.listHistory(u,function(x){if(x)h.showActivity(x.history,{filter:"home",hasMore:x.hasMore||false,moreObj:u,noEntryMsg:"No Activity"})})}else if(v===
"Workspaces"){h.workspaces();g.listWorkspaces(function(x,y){y==200&&h.showWorkspaces(x.workspaces)})}else if(v==="People"){h.people();g.listUsers({status:"active admin"},function(x,y){if(y==250||y==200)h.showPeopleList(x.users)})}else if(v==="CreateWorkspace")h.createWorkspace();else if(v==="ChangePassword")w?h.redirect(h._gs_home):h.changePassword();else if(v==="ChangeSecurityQuestion")w?h.redirect(h._gs_home):h.changeSecurity();else if(v==="Admin")if(n.admin){h.sidebar.admin();l=l.action;l!=="AddPerson"&&
l!=="BulkUser"&&h.adminTools();if(l==="Settings")h.adminSettings();else if(l==="PeopleManagement")g.listUsers(function(x,y){y<300&&n.location.action==="PeopleManagement"&&n.location.g_special==="Admin"&&h.showPeopleMgntList(x.users)});else if(l==="AddPerson")h.addPerson();else if(l==="BulkUser")n.free?h.redirect(h._gs_admin.settings):h.bulkUser();else if(l==="AccountBalance")n.free?h.redirect(h._gs_admin.settings):h.accountBalance();else if(l==="BillingHistory")n.free?h.redirect(h._gs_admin.settings):
g.listBillingHistory(function(x,y){if(y==200){h.billingHistory();h.showBillingHistory(x.history)}else y==403&&h.adminForbidden()});else h.redirect(n.toHash({g_special:"Admin",action:"Settings"}))}else h.notAdmin();else if(v==="Settings"){l=l.action;h.sidebar.settings();h.settingsTools();if(l==="Settings")h.userSettings();else if(l==="ChangePassword")h.changePassword();else if(l==="ChangeSecurityQuestion")h.changeSecurity();else l==="EditProfile"&&h.editProfile()}else if(v==="WatchedTopics"){h.watchedTopics();
g.listStarredTopics(function(x,y){y==200&&h.showWatchaedTopics(x.topics)})}else if(v==="Watchlist"){h.activity("watchlist");u={filter:"starred",size:20};g.listHistory(u,function(x,y){if(y==250||y==200)h.showActivity(x.history,{filter:"watchlist",moreObj:u,hasMore:x.hasMore||false,noEntryMsg:"No activity in your watchlist."})});h.sidebar.watchlist()}else if(v==="Search"){h.searchResults({terms:l.q,page:l.page,workspaces:"all"});h.sidebar.searchAll()}}function k(l){g.loadUser({email:n.email},function(w,
u){u==200&&l.g_user===w.user.screenName&&h.sidebar.settings()});if(l.action==="contributions"){h.activity("contributions");var v={screenName:l.g_user,size:20};g.listHistory(v,function(w,u){if(u==250||u==200)h.showActivity(w.history,{filter:"contributions",moreObj:v,hasMore:w.hasMore||false,noEntryMsg:"No contributions."})})}else g.loadUser({screenName:l.g_user},function(w,u){if(u==200){h.profile();h.showProfileInfo(w.user)}else u==404&&h.noUser()})}function m(l){for(var v={manager:[],collaborator:[],
viewer:[],unaccessible:[]},w=0;w<l.length;w++)(v[l[w].permission]||[]).push(l[w]);return v.manager.concat(v.collaborator).concat(v.viewer).concat(v.unaccessible)}var g=$cc.api,h=$cc.ui,n=$cc.session;h.bind("redirected",function(){var l=n.location;h.empty();h.updateTitle();if(n.suspended&&l.g_special!=="Admin")h.redirect(n.toHash({g_special:"Admin",action:"AccountBalance"}));else if(l.ws)g.loadWorkspace({name:l.ws},function(v,w){if(w==200){h.updateTitle();if(v.workspace.moved)h.unnormalWorkspace("moved",
v.workspace.name,v.workspace.movedTo);else if(v.workspace.deleted)h.unnormalWorkspace("deleted",l.ws);else{b("#page_title").show();l.action!="edit"&&h.sidebar.nav();h.initSearchText("Search in "+v.workspace.name);h.initSearchBox();if(l.special)c(l);else if(l.tag)d(l);else l.topic&&p(l)}}else if(w==403)h.unnormalWorkspace("unauthorized");else w==404&&h.unnormalWorkspace("notfound",l.ws)});else{h.sidebar.common();h.initSearchText("Search in all workspaces");l.g_special&&f(l);l.g_user&&k(l)}})})(jQuery);
(function(b){function j(){p.account.startsWith("ga_")?d.gaSignIn():d.signIn()}function e(){p.token?c.init():j()}var q=window.__DEBUG,p=$cc.session,c=$cc.api,d=$cc.ui;d.signOut=function(){c.signOut();p.logout()};c.bind("init",function(f,k){switch(k){case 404:location.replace("/doc/404.html");break;case 204:p.admin&&p.isGA()?d.quickActivate():d.welcome();break;case 402:p.admin?d.chrome(function(){d.redirect(d._gs_admin.accountBalance)}):d.dialogAlert("Your account balance is not enough, please contact your administrator.",
function(){d.signOut()});break;case 200:d.chrome();break;case 401:d.dialogAlert("You have been suspended, if you want to sign in to this account, please contact the administrator.",function(){d.signOut()});break;default:j()}}).bind("unauth",function(){q&&console.info("[unauth]");d.dialogAlert("You have been suspended, if you have problem, please contact the administrator.",function(){d.signOut()})}).bind("suspended",function(){q&&console.info("[suspended]");p.admin?d.chrome(function(){d.redirect(d._gs_admin.accountBalance)}):
d.dialogAlert("Your account balance is not enough, please contact your administrator.",function(){d.signOut()})});d.bind("chromeLoaded",function(){b(window).hashchange(p._onHashChanged);var f=b.cookie.erase(p.account+"_hash")||p._default_hash;b.locationHash(f);b(window).triggerHandler("hashchange")});b(function(){p.reload();b.cookie(p.account+"_hash",location.hash||p._default_hash);p.accountName?e():c.getAccountName({account:p.account},function(f,k){if(k==200){p.accountName=f.accName;e()}else k==
404?location.replace("/doc/404.html"):location.replace("/doc/500.html")})})})(jQuery);
