(function(){var self=this;var client={ie6:!!(window.ActiveXObject&&!window.XMLHttpRequest),ie:!!(window.attachEvent&&navigator.userAgent.indexOf("Opera")===-1),gecko:navigator.userAgent.indexOf("Gecko")>-1&&navigator.userAgent.indexOf("KHTML")===-1,webkit:navigator.userAgent.indexOf("AppleWebKit/")>-1,opera:navigator.userAgent.indexOf("Opera")>-1};function $id(str_id){return document.getElementById(str_id);}function $tags(str_tag,elem){return(elem||document).getElementsByTagName(str_tag);}function $class(arr_elems,str_class){result=[];for(var l=arr_elems.length,i=0;i<l;++i){if(className.has(arr_elems[i],str_class)){result.push(arr_elems[i]);}}return result;}function $prev(elem,str_tag){var node=elem,tag=(str_tag||"").toUpperCase();while((node=node.previousSibling)){if(node.nodeType==1&&(!str_tag||node.nodeName==tag)){return node;}}return null;}function $next(elem,str_tag){var node=elem,tag=(str_tag||"").toUpperCase();while((node=node.nextSibling)){if(node.nodeType==1&&(!str_tag||node.nodeName==tag)){return node;}}return null;}function $up(elem,str_tag,str_class){var node=elem,tag=(str_tag||"").toUpperCase();while((node=node.parentNode)){if((!str_tag||node.nodeName==tag)&&(!str_class||className.has(node,str_class))){return node;}}return null;}function $down(elem,str_tag){var node=elem,tag=(str_tag||"").toUpperCase();if(str_tag){return $tags(str_tag,elem)[0]||null;}else{while((node=node.firstChild)){while(node.nodeType!=1&&(node=node.nextSibling)){}return node||null;}return null;}}function $elem(str_html){var elem=document.createElement("div");elem.innerHTML=str_html;return elem.firstChild;}function $arr(nodeList){var i=nodeList.length||0,arr=new Array(i);while(i--){arr[i]=nodeList[i];}return arr;}var className=new function(){this.add=function(elem,str_class){if(!this.has(elem,str_class)){elem.className+=(elem.className?" ":"")+str_class;}return elem;};this.remove=function(elem,str_class){elem.className=elem.className.replace(new RegExp("^(.+ )?"+str_class+"(?: (.+))?$"),"$1$2");return elem;};this.has=function(elem,str_class){return(str_class==="")||elem.className&&new RegExp("^(?:.+ )?"+str_class+"(?: .+)?$").test(elem.className);};this.toggle=function(elem,str_class){if(this.has(elem,str_class)){this.remove(elem,str_class);return false;}else{this.add(elem,str_class);return true;}};this.invoke=function(str_class,arr_elems,fn_callback){for(var l=arr_elems.length,i=0;i<l;++i){if(className.has(arr_elems[i],str_class)){fn_callback(arr_elems[i]);}}};};var getStyle=function(elem,str_prop){return(document.defaultView)?document.defaultView.getComputedStyle(elem,null).getPropertyValue(str_prop):elem.currentStyle[str_prop.replace(/-(\w)/g,function(){return arguments[1].toUpperCase();})];};var setStyle=function(elem,str_prop,value){elem.style[str_prop]=value;};var findPos=function(obj){var pos={x:0,y:0};if(obj.offsetParent){do{pos.x+=obj.offsetLeft+(parseInt(getStyle(obj,"border-left-width"))||0);pos.y+=obj.offsetTop+(parseInt(getStyle(obj,"border-top-width"))||0);}while((obj=obj.offsetParent));}return pos;};var ns=new function(){var isValid=function(str_namespace){return str_namespace&&str_namespace.search(/^\w+(\.\w+)*$/)!=-1;};this.set=function(obj,str_namespace,value,str_mode){if(obj&&isValid(str_namespace)){var names=str_namespace.split("."),lastIdx=names.length-1;for(var i=0;i<lastIdx;++i){obj=obj[names[i]]=obj[names[i]]||{};}if(value===undefined){value={};}switch(str_mode){case"no_replace":if(!(names[lastIdx] in obj)){obj[names[lastIdx]]=value;}break;case"merge_under":obj[names[lastIdx]]=(new Hash(value)).clone().merge(obj[names[lastIdx]]).obj;break;case"merge_over":obj[names[lastIdx]]=(new Hash(obj[names[lastIdx]]||undefined)).merge(value).obj;break;default:obj[names[lastIdx]]=value;break;}return obj[names[lastIdx]];}return undefined;};this.get=function(obj,str_namespace){if(obj&&isValid(str_namespace)){for(var names=str_namespace.split("."),l=names.length,i=0;i<l;++i){if(undefined===(obj=obj[names[i]])){return undefined;}}return obj;}return undefined;};};var event=new function(){var id=0,odrHandler=[];var handle=function(){var e=window.event;handlers=this.events[e.type],returnValue=undefined;for(var i in handlers){if(!(i in Object.prototype)){if(handlers[i].call(this,e)===false&&i==0){returnValue=false;}}}return returnValue;};this.add=(document.addEventListener)?function(elem,str_type,fn_handler){elem.addEventListener(str_type,fn_handler,false);return elem;}:function(elem,str_type,fn_handler){var handlers=ns.get(elem,"events."+str_type);if(!fn_handler._id){fn_handler._id=++id;}if(handlers===undefined){handlers=ns.set(elem,"events."+str_type);if(elem["on"+str_type]){handlers[0]=elem["on"+str_type];}elem["on"+str_type]=handle;}handlers[fn_handler._id]=fn_handler;return elem;};this.remove=(document.removeEventListener)?function(elem,str_type,fn_handler){elem.removeEventListener(str_type,fn_handler,false);return elem;}:function(elem,str_type,fn_handler){if(elem.events&&elem.events[str_type]){delete elem.events[str_type][fn_handler._id];}return elem;};this.elem=function(e,str_tagname){var elem=e.target||e.srcElement;if(elem.nodeType==3){elem=elem.parentNode;}if(str_tagname&&elem.nodeName!=str_tagname.toUpperCase()){elem=$up(elem,str_tagname);}return elem;};this.stop=(!client.ie)?function(e){e.preventDefault();e.stopPropagation();}:function(e){e.returnValue=false;e.cancelBubble=true;};this.addDomReady=function(fn_handler){var timer=null;odrHandler[odrHandler.length++]=fn_handler;if(odrHandler.length==1){function ready(){if(arguments.callee.done){return;}arguments.callee.done=true;if(timer){clearInterval(timer);}for(var i=0;i<odrHandler.length;++i){odrHandler[i].apply(self);}}if(document.addEventListener){document.addEventListener("DOMContentLoaded",ready,false);
/*@cc_on @*/
/*@if (@_win32)
document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
var script = $id("__ie_onload");
script.onreadystatechange = function()
{
	if (this.readyState == "complete")
	{
		ready();
	}
};
/*@end @*/
}if(client.webkit){timer=setInterval(function(){if(/loaded|complete/.test(document.readyState)){ready();}},10);}window.onload=ready;}};};function Hash(obj){this.obj=(typeof obj=="object")?obj:{};}Hash.prototype.merge=function(obj){for(var pairs=(new Hash(obj)).pairs(),l=pairs.length,i=0;i<l;++i){this.obj[pairs[i].key]=pairs[i].value;}return this;};Hash.prototype.clone=function(){return(new Hash()).merge(this.obj);};Hash.prototype.pairs=function(){var pairs=[];for(var prop in this.obj){if(!(prop in Object.prototype)){pairs[pairs.length]={key:prop,value:this.obj[prop]};}}return pairs;};Hash.prototype.toQueryString=function(){var result="";for(var prop in this.obj){if(!(prop in Object.prototype)){result+="&"+encodeURIComponent(prop)+"="+encodeURIComponent(this.obj[prop]);}}return result.slice(1);};Hash.prototype.toString=function(){var result="";for(var prop in this.obj){if(!(prop in Object.prototype)){result+=prop+": "+this.obj[prop]+"\n";}}return result;};var ajax=new function(){var XMLHttpFactories=[function(){return new XMLHttpRequest();},function(){return new ActiveXObject("Msxml2.XMLHTTP");},function(){return new ActiveXObject("Msxml3.XMLHTTP");},function(){return new ActiveXObject("Microsoft.XMLHTTP");}];this.send=function(str_url,obj_options){var req,options=new Hash({method:"get",data:{},callback:function(){}}).merge(obj_options).obj;options.method=options.method.toUpperCase();options.data=new Hash(options.data).toQueryString();if("GET"==options.method){if(options.data){str_url+="?"+options.data;}options.data=null;}if((req=createXMLHTTPObject())){req.open(options.method,str_url,true);if("POST"==options.method){req.setRequestHeader("Content-type","application/x-www-form-urlencoded");}req.onreadystatechange=function(){if(req.readyState==4){if(req.status==200||req.status==304){options.callback(req);}else{}}};if(req.readyState!=4){req.send(options.data);}}};function createXMLHTTPObject(){var xmlhttp=false;for(var i=0;i<XMLHttpFactories.length;i++){try{xmlhttp=XMLHttpFactories[i]();}catch(e){continue;}break;}return xmlhttp;}};var CSSColor=function(str_color){str_color=str_color.toLowerCase();if(/^#[\da-f]{3}$/.test(str_color)){str_color=str_color.charAt(0)+str_color.charAt(1)+str_color.charAt(1)+str_color.charAt(2)+str_color.charAt(2)+str_color.charAt(3)+str_color.charAt(3);}if(/^#[\da-f]{6}$/.test(str_color)){this.rgb=[parseInt(str_color.substr(1,2),16),parseInt(str_color.substr(3,2),16),parseInt(str_color.substr(5,2),16)];}else{if(/^rgb\(\d{1,3},\s*\d{1,3},\s*\d{1,3}\)$/.test(str_color)){str_color=str_color.replace(/rgb\(|\s|\)/g,"").split(",");this.rgb=[parseInt(str_color[0]),parseInt(str_color[1]),parseInt(str_color[2])];}else{if(/^rgba\(\d{1,3},\s*\d{1,3},\s*\d{1,3},\s*[\.\d]+\)$/.test(str_color)){str_color=str_color.replace(/rgba\(|\s|\)/g,"").split(",");this.rgb=[parseInt(str_color[0]),parseInt(str_color[1]),parseInt(str_color[2]),parseFloat(str_color[3])];}else{if(str_color in this.keywords){this.rgb=this.keywords[str_color].slice(0);}else{this.rgb=this.keywords["white"].slice(0);}}}}};CSSColor.prototype={toString:function(){return"rgb("+Math.round(this.rgb[0])+", "+Math.round(this.rgb[1])+", "+Math.round(this.rgb[2])+")";},equals:function(cssColor){return this.rgb[0]==cssColor.rgb[0]&&this.rgb[1]==cssColor.rgb[1]&&this.rgb[2]==cssColor.rgb[2];},clone:function(){var result=new CSSColor("");result.rgb=this.rgb.slice(0);return result;},getBrightness:function(){return Math.sqrt(0.241*Math.pow(this.rgb[0],2)+0.691*Math.pow(this.rgb[1],2)+0.068*Math.pow(this.rgb[2],2));},getShading:function(cssColor_complement,int_offset){function spread(idx,value){result.rgb[idx]+=value;if(result.rgb[idx]<0||result.rgb[idx]>255){var x=(result.rgb[idx]%255);result.rgb[idx]-=x;return x;}return 0;}var result=this.clone();var offset=int_offset!=null?int_offset:25;var complementBrightness=cssColor_complement?cssColor_complement.getBrightness():-130;if(this.equals(new CSSColor("white"))||(this.getBrightness()<complementBrightness&&!this.equals(new CSSColor("black")))){offset*=-1;}for(var i=0;i<3;++i){result.rgb[i]+=offset;}var overflow=[spread(0,0),spread(1,0),spread(2,0)];var order=[0,1,2].sort(function(a,b){return overflow[b]-overflow[a];});if(offset<0){order.reverse();}overflow[order[1]]+=spread(order[1],overflow[order[0]]/2);overflow[order[2]]+=spread(order[2],overflow[order[0]]/2);overflow[order[0]]=0;spread(order[1],overflow[order[2]]);spread(order[2],overflow[order[1]]);return result;},keywords:{"black":[0,0,0],"green":[0,128,0],"silver":[192,192,192],"lime":[0,255,0],"gray":[128,128,128],"olive":[128,128,0],"white":[255,255,255],"yellow":[255,255,0],"maroon":[128,0,0],"navy":[0,0,128],"red":[255,0,0],"blue":[0,0,255],"purple":[128,0,128],"teal":[0,128,128],"fuchsia":[255,0,255],"aqua":[0,255,255]}};var text=this.text,vars=this.vars;this.linkHeaderImage=function(){var header=$id("header"),image=$id("header-image");if(header&&image){event.add(header,"click",function(e){elem=event.elem(e);if(elem==image||(elem.className&&-1!="bTL bT bTR bL bR bBL bB bBR".search(new RegExp("\b"+elem.className+"\b")))){location.href=vars.blogUrl;}});image.title=vars.homeTitle;}};this.comments=new function(){var toggle;this.setToggleLink=function(str_linkId){if(!toggle&&$id(str_linkId)){toggle=$id(str_linkId);vars.postData.hideSubcommentsUrl=toggle.href;}if(toggle&&vars.pageView=="postPermalinkurl"){toggle.onclick=function(){if(className.toggle(document.body,"hiddenSubComments")){this.innerHTML=text.showSubComments;this.href=vars.postData.commentsUrl;}else{this.innerHTML=text.hideSubComments;this.href=vars.postData.hideSubcommentsUrl;}return false;};}};this.enableThreads=function(){var container=$id("comments"),root,commentsBackup;function showThread(e){var trigger=event.elem(e);if(className.has(trigger,"thread")){var comment=$up(trigger,"li","comment");if(comment){if(!root){root=(function findRoot(elem){var parent=$up(elem,"li","comment");return parent?findRoot(parent):elem;})(comment).parentNode;commentsBackup=root.innerHTML;}if(toggle){toggle.innerHTML=text.showAllComments;toggle.onclick=function(){root.innerHTML=commentsBackup;self.comments.setToggleLink(toggle.id);toggle.innerHTML=text.hideSubComments;toggle.href=vars.postData.hideSubcommentsUrl;container.scrollIntoView();return false;};toggle.href=vars.postData.commentsUrl;className.remove(document.body,"hiddenSubComments");}if(comment.outerHTML){root.innerHTML=comment.outerHTML;}else{root.innerHTML="";root.appendChild(comment);}container.scrollIntoView();}event.stop(e);}}if(container&&vars.pageView=="postPermalinkurl"){event.add(container,"click",showThread);}};};this.captcha=new function(){this.reload=function(str_name){ajax.send("/",{data:{ajax:"getNewCaptcha"},callback:function(t){$id(str_name+"_random").value=t.responseText;$id(str_name).src=$id(str_name).src.replace(/random=([^&]+)/,"random="+t.responseText);$id(str_name+"_audio").href=$id(str_name+"_audio").href.replace(/random=([^&]+)/,"random="+t.responseText);}});return false;};};this.commentForm=new function(){this.showPreview=function(elem_prevButton){var form=elem_prevButton.form,result={},elems=[].concat($arr($tags("input",form)),$arr($tags("textarea",form)),$arr($tags("select",form)));elem_prevButton.disabled=true;for(var i=0;i<elems.length;++i){if(!elems[i].disabled&&elems[i].name&&elems[i].value!==undefined){result[elems[i].name]=elems[i].value;}}new ajax.send("/?ajax=validateComment",{method:"post",data:result,callback:function(t){var json=t.responseText?eval("("+t.responseText+")"):{},result="";if(json.errors){for(var i=0;i<json.errors.length;++i){result+=vars.commentErrors.replace("{ERROR}",json.errors[i]);}result=vars.commentError.replace("{ERRORS}",result);}else{if(json.comment){result=vars.commentPreview.replace("{COMMENT}",json.comment);}}$id("commentForm_preview_content").innerHTML=result;$id("commentForm_preview").style.display="block";elem_prevButton.disabled=false;}});};};this.addTag=function(elem_submit){if(elem_submit&&elem_submit.form){ajax.send("/?ajax=addTag",{method:"post",data:MOKONO.form.serialize(elem_submit.form,elem_submit),callback:function(t){var json=t.responseText?eval("("+t.responseText+")"):"";elem_submit.disabled=false;if(json){alert(json);}else{elem_submit.form.elements["70941c3ca504f23998c175d22c10ddd5[posts_tagsystem_form_tags]"].value="";location.reload();}}});elem_submit.disabled=true;}};this.removeTag=function(elem_trigger){if(elem_trigger){var tagLink=$prev(elem_trigger,"a"),triggerUrl=elem_trigger.href;elem_trigger.parentNode.removeChild(elem_trigger);ajax.send("/?ajax=removeTag",{method:"post",data:{url:triggerUrl},callback:function(t){var json=t.responseText?eval("("+t.responseText+")"):"";if(json){alert(json);}else{var node=(tagLink.parentNode.nodeName=="LI")?tagLink.parentNode:tagLink;node.parentNode.removeChild(node);}}});}};this.form=new function(){this.serialize=function(elem_form,elem_submit){var result=null;if(elem_form){var elements=elem_form.elements,elem,key,value;result={};for(var i=0,l=elements.length;i<l;++i){elem=elements[i];key=elem.name;value=self.form.value(elem);if(key&&value!==null){if(key in result){if(!/array/i.test(Object.prototype.toString.call(result[key]))){result[key]=[result[key]];}result[key].push(value);}else{result[key]=value;}}}if(elem_submit){result[elem_submit.name]=elem_submit.value;}}return result;};this.value=function(elem){return(elem.name&&!elem.disabled&&(!/checkbox|radio|submit/i.test(elem.type)||elem.checked))?elem.value:null;};};this.recommend=new function(){if(vars.recommendLayer){var layer,bookmarksContainer,bookmarksContent,linkContainer,linkContent,tabs,targets=[];this.show=function(elem,str_id){if(!layer){layer=$elem(vars.recommendLayer);document.body.appendChild(layer);bookmarksContent=vars.recommendLayer.match(/<div id="rL_bookmarks">(.*?)<\/div>/)[1];bookmarksContainer=$id("rL_bookmarks");linkContent=vars.recommendLayer.match(/<div id="rL_link">(.*?)<\/div>/)[1];linkContainer=$id("rL_link");sendContent=vars.recommendLayer.match(/<div id="rL_send_out">(.*?)<\/div>/)[1];sendContainer=$id("rL_send_out");tabs=$tags("a",$id("rL_tabs"));for(var i=0;i<tabs.length;++i){var anchor=tabs[i].href.match(/#([^#]*)$/);if(anchor&&anchor[1]&&$id(anchor[1])){targets.push($id(anchor[1]));}tabs[i].onclick=function(){self.recommend.setTab(this);return false;};}this.setTab(tabs[0]);$id("rL_close").onclick=this.hide;if($id("rL_send_cancel")&&$id("rL_send_send")){$id("rL_send_cancel").onclick=this.hide;$id("rL_send_send").onclick=function(){$id("rL_close").onclick();};}}var position=findPos(elem),postData=vars.postData[str_id];if(postData){bookmarksContainer.innerHTML=bookmarksContent.replace(/{URL}/g,postData.url).replace(/{TITLE}/g,encodeURIComponent(postData.title));linkContainer.innerHTML=linkContent.replace(/{URL}/g,postData.url).replace(/{TITLE}/g,postData.title);sendContainer.innerHTML=sendContent.replace(/{URL}/g,postData.url).replace(/{POST_ID}/g,str_id);if($id("rL_send_postId")){$id("rL_send_postId").value=str_id;}layer.style.top=(position.y)+"px";layer.style.left=(position.x)+"px";layer.style.display="block";}};this.hide=function(){layer.style.display="none";return false;};this.setTab=function(elem){for(var i=0;i<tabs.length;++i){if(tabs[i]==elem){className.add($up(tabs[i]),"active");targets[i].style.display="block";}else{className.remove($up(tabs[i]),"active");targets[i].style.display="none";}}};}};this.notify=new function(){if(vars.msgNotify){var layer,content;function show(str_class,str_content){if(str_content!="undefined"){if(!layer){layer=$elem('<div id="messageLayer" style="display:none;"><div class="content"></div>'+($id("IE6")?'<iframe style="filter:mask();"></iframe>':'<span class="bTL"></span><span class="bTR"></span><span class="bT"></span><span class="bL"></span><span class="bR"></span><span class="bBL"></span><span class="bBR"></span><span class="bB"></span>')+"</div>");content=layer.firstChild;document.body.appendChild(layer);className.add(document.body,vars.msgNotify);}content.innerHTML=str_content;layer.className=str_class;layer.style.display="block";if($id("IE6")){$down(layer,"iframe").style.height=layer.offsetHeight+"px";}}}this.close=function(bool_read){if(layer){layer.style.display="none";}ajax.send(vars.blogUrl,{data:{AjaxRequest:true,clean:true,time:new Date().getTime()},callback:function(){if(bool_read){$id("notifyForm").submit();}}});};function checkMsg(){ajax.send(vars.blogUrl,{data:{AjaxRequest:true,date:new Date().getTime()},callback:function(t){var json=eval("("+t.responseText+")");if(json!=0){show(json.css_class,json.string);}else{if(layer){layer.style.display="none";}}}});}}this.enable=function(){if(vars.msgNotify){checkMsg();setInterval(checkMsg,30000);}};};this.centerLayer=function(elem,int_height){className.add(elem,"centerLayer");if(client.ie6){setStyle(elem,"top",(document.documentElement.scrollTop+(document.documentElement.clientHeight-int_height)/2)+"px");}else{setStyle(elem,"margin-top",-int_height/2+"px");}};this.client=client;this.dom={"$id":$id,"$tags":$tags,"$class":$class,"$up":$up,"$down":$down,"$next":$next,"$prev":$prev,"className":className,"getStyle":getStyle,"setStyle":setStyle};this.ns=ns;this.event=event;this.Hash=Hash;this.CSSColor=CSSColor;this.ajax=ajax;}).apply(MOKONO);if(MOKONO.init){MOKONO.event.addDomReady(function(){this.linkHeaderImage();this.comments.setToggleLink("showHideSubCommentsLink");this.comments.enableThreads();this.notify.enable();});}if(MOKONO.callbackQueue){for(var i=0,queue=MOKONO.callbackQueue;i<queue.length;++i){MOKONO.event.addDomReady(queue[i]);}}