﻿/*
LWM(Luin Web Model) 是基于 AJAX 的一个网络模型。以增强易用性和减轻服务器压力为目的。
作者:Luin(http://hi.baidu.com/luin)
*/

/** 
* download url lite 
* 
* @author: legend(legendsky@hotmail.com) 
* @link: http://www.ugia.cn/?p=122 
* @version: 1.0 
* 
* @param string   url      
* @param string   callback  回调函数 
* @param string  data      post数据 
* 
* @return void 
*/ 
function initUrl(url){
	url += url.indexOf("?") >= 0 ? "&" : "?"; 
	url += "random_download_url=" + Math.random(); 
	return url;
}
function downloadUrl(url, callback, data) 
{ 
	// init 
	url = initUrl(url); 
	
	if (typeof data == 'undefined') 
		var data = null; 
	method = data ? 'POST' : 'GET'; 
	// create XMLHttpRequest object 
	if (window.XMLHttpRequest) 
		var objXMLHttpRequest = new XMLHttpRequest(); 
	else 
	{
		var MSXML = ['MSXML2.XMLHTTP.6.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP']; 
		for(var n = 0; n < MSXML.length; n ++) 
		{ 
			try 
			{ 
				var objXMLHttpRequest = new ActiveXObject(MSXML[n]);        
				break; 
			}catch(e){} 
		} 
	}
	// send request 
	with(objXMLHttpRequest) 
	{ 
		try 
		{ 
			open(method, url, true); 
			if (method == 'POST') 
				setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');  
			send(data);            
		}catch(e){}
		// on ready 
		onreadystatechange = function() 
		{ 
			if (objXMLHttpRequest.readyState == 4) 
			{ 
				callback(objXMLHttpRequest.responseText, objXMLHttpRequest.status); 
				Scroller.load();
				delete(objXMLHttpRequest); 
			}
		}
	} 
}
var CDefURL="catalog.doo?l=1&p=1!catalog.doo?l=2&p=1";
var LeftURL="",RightURL="",GuestbookURL="";
//左面的地址，右面的地址
var LeftPageNum=1,RightPageNum=1;GuestPageNum=1;
//左面当前的页码，右面当前的页码,留言板当前页码

/*
ExtractURL("#"后面的全部内容（包括!）)
将全部网站分解成左右两个网址(定义在全局变量)
*/
function ExtractURL(FullURL){
	LeftURL="";	RightURL=""; GuestbookURL="";
	var guestbookPageName="guestbook.doo?p=";
	var pagep="&p="
	if (FullURL.indexOf("!")==-1){
		if(isNaN(FullURL.substr(guestbookPageName.length))==false){//guestbook
			GuestbookURL=FullURL;
			//更新当前页数
			if(isNaN(GuestbookURL.substr(guestbookPageName.length))==false){GuestPageNum=GuestbookURL.substr(guestbookPageName.length)};
		}
	}else{
		var tmpstr=FullURL.split("!");
		LeftURL=tmpstr[0];
		RightURL=tmpstr[1];
		//更新当前页数
		if(LeftURL.indexOf(pagep)!=-1){
			LeftPageNum=LeftURL.substr(LeftURL.indexOf(pagep)+pagep.length);
		}
		if(RightURL.indexOf(pagep)!=-1){
			RightPageNum=RightURL.substr(RightURL.indexOf(pagep)+pagep.length);
		}
	}
}
/*
AnalyzeURL(单独的网址)
返回给定网址的真实地址并更新页码
*/
function AnalyzeURL(URL,tag){
	if (URL.indexOf(".doo")!=-1){
		SetPagesList(1,tag);
		return URL.replace(".doo",".php");
	}else{
		SetPagesList(0,tag);
		return initUrl("read.php")+"&i="+URL;
	}
}
/*
GotoWeb("#"后面的全部内容（包括!）)
前进到给定网址
*/
function GotoWeb(FullURL) {
	if(FullURL=="") FullURL=CDefURL;
	ExtractURL(FullURL);
	if(LeftURL!=""){
		var content="", boht = document.getElementById(LeftURL);
		if(boht!=null)	content=document.getElementById(LeftURL).innerHTML;
		else	content="";
		// 给出提示，正在载入
    	ShowLoading(content,"LWM1"); 
		downloadUrl(AnalyzeURL(LeftURL,"LWM1"), function (data, responseCode) {
				document.getElementById("LWM1").innerHTML=data;
				});
	}
	if(RightURL!=""){
		var content="", boht = document.getElementById(RightURL);
		if(boht!=null)	content=document.getElementById(RightURL).innerHTML;
		else	content="";
		// 给出提示，正在载入
    	ShowLoading(content,"LWM2"); 
		downloadUrl(AnalyzeURL(RightURL,"LWM2"), function (data, responseCode) {
				document.getElementById("LWM2").innerHTML=data;
				});
	}
	if(GuestbookURL!=""){
		var content="";
		hidetoolbar('Blog');showtoolbar('Guestbook');
		// 给出提示，正在载入
    	ShowLoading(content,"LWMGuestbook"); 
		downloadUrl(AnalyzeURL(GuestbookURL,"LWMGuestbook"), function (data, responseCode) {
				document.getElementById("LWMGuestbook").innerHTML=data;
				});
	}
	//更新地址栏
	if(GuestbookURL!=""){
		document.location.hash=GuestbookURL;	
		document.title="留言板 - pIg & cAt's blog ";
	}else{
		LeftCurrentURL=LeftURL;
		RightCurrentURL=RightURL;
		if ((document.location.hash!=null)&&(document.location.hash!=""))
		{
			ExtractURL(document.location.hash.slice(1));
			if(LeftCurrentURL=="") LeftCurrentURL=LeftURL;
			if(RightCurrentURL=="") RightCurrentURL=RightURL;
		}
		if ((LeftCurrentURL+"!"+RightCurrentURL)==CDefURL)
			document.location.hash="";
		else
			document.location.hash=LeftCurrentURL+"!"+RightCurrentURL;
		
		document.title=" pIg & cAt's blog ";
	}
}
/*
GotoURL(单独的网址，框架编号)
令给定框架前进到给定网址，并更新当前浏览网址
*/
function GotoURL(URL,tag){
    // 给出提示，正在搜索
    ShowLoading("",tag);   
	downloadUrl(AnalyzeURL(URL,tag), function (data, responseCode) {
			document.getElementById(tag).innerHTML=data;
			});
}
/*
ShowLoading(初始内容,框架编号)
令给定框架显示载入状态
*/
function ShowLoading(content,tag){
	var boht = document.getElementById(tag);    
	if ((tag=="LWM1")||(tag=="LWM2")){
		boht.innerHTML='<div class="post">'+content+'<div class="WarnInfo">内容正在加载，请稍候片刻...<br />'+
			'<img src="../image/ajax-loader.gif" width="209" height="13" alt="" /><br />'+
			'*若长时间不能载入，请<span style="cursor:pointer" onclick="window.location.reload(true);">刷新本页面</span>。</div></div>'; 
	}else{
		boht.innerHTML='<br /><br /><br /><br /><div class="post">'+content+'<div class="WarnInfo">内容正在加载，请稍候片刻...<br />'+
			'<img src="../image/ajax-loader.gif" width="209" height="13" alt="" /><br />'+
			'*若长时间不能载入，请<span style="cursor:pointer" onclick="window.location.reload(true);">刷新本页面</span>。</div></div>'; 	}
}
/*
获得页码
mode:0:返回，1页面
*/
function SetPagesList(mode,tag){
	//tag只能是LWM1和LWM2
	if((tag=="LWM1")||(tag=="LWM2")){
		var MaxPageNum,PageResult="";
		var ThisPage=(tag=="LWM1") ? parseInt(LeftPageNum) : parseInt(RightPageNum); 
		MaxPageNum=(tag=="LWM1") ? document.getElementById("MaxPage1").innerHTML : document.getElementById("MaxPage2").innerHTML;
		if((mode==1)&&(MaxPageNum>0)){
			if(MaxPageNum>6){
				iBegin=1;iEnd=MaxPageNum;
				if((ThisPage-2)>0) iBegin=(ThisPage-2)
				if((iBegin+5)<MaxPageNum) iEnd=(iBegin+5);
				for(var i=iBegin;i<=iEnd;i++) {
					if(i==ThisPage){
						PageResult=PageResult+'<span class="this-page">&nbsp;'+i+'&nbsp;</span>';
					}else{
						PageResult=(tag=="LWM1") ? PageResult+'<span onclick="GotoWeb(&#39;catalog.doo?l=1&p='+i+'!&#39;);">&nbsp;'+i+'&nbsp;</span>&nbsp;' : PageResult+'&nbsp;<span onclick="GotoWeb(&#39;!catalog.doo?l=2&p='+i+'&#39;);">&nbsp;'+i+'&nbsp;</span>';
					}
				}
			}else{
				for(var i=1;i<=MaxPageNum;i++) {
					if(i==ThisPage){
						PageResult=PageResult+'<span class="this-page">&nbsp;'+i+'&nbsp;</span>';
					}else{
						PageResult=(tag=="LWM1") ? PageResult+'<span onclick="GotoWeb(&#39;catalog.doo?l=1&p='+i+'!&#39;);">&nbsp;'+i+'&nbsp;</span>' : PageResult+'<span onclick="GotoWeb(&#39;!catalog.doo?l=2&p='+i+'&#39;);">&nbsp;'+i+'&nbsp;</span>';
					}
				}
			}
			//alert(ThisPage);
			if(ThisPage>1) PageResult=(tag=="LWM1") ? '<span onclick="GotoWeb(&#39;catalog.doo?l=1&p='+(ThisPage-1)+'!&#39;);">&nbsp;Prev&nbsp;</span>&nbsp;'+PageResult : '<span onclick="GotoWeb(&#39;!catalog.doo?l=2&p='+(ThisPage-1)+'&#39;);">&nbsp;Prev&nbsp;</span>'+PageResult;
			if(ThisPage<MaxPageNum) PageResult=(tag=="LWM1") ? PageResult+'<span onclick="GotoWeb(&#39;catalog.doo?l=1&p='+(ThisPage+1)+'!&#39;);">&nbsp;Next&nbsp;</span>' : PageResult+'<span onclick="GotoWeb(&#39;!catalog.doo?l=2&p='+(ThisPage+1)+'&#39;);">&nbsp;Next&nbsp;</span>';
			PageResult="Pages:"+PageResult;	
		}else{//显示返回列表
			PageResult=(tag=="LWM1") ? '<span onclick="GotoWeb(&#39;catalog.doo?l=1&p='+ThisPage+'!&#39;);">&nbsp;&lt;&lt;&nbsp;返回目录&nbsp; &nbsp;Back To The Contents&nbsp;</span>' : '<span onclick="GotoWeb(&#39;!catalog.doo?l=2&p='+ThisPage+'&#39;);">&nbsp;&lt;&lt;&nbsp;返回目录&nbsp; &nbsp;Back To The Contents&nbsp;</span>';	
		}
		if(tag=="LWM1"){
			document.getElementById("leftbarTOP").innerHTML	= PageResult;
			document.getElementById("leftbarBOTTOM").innerHTML	= PageResult;
		}else{
			document.getElementById("rightbarTOP").innerHTML = PageResult;
			document.getElementById("rightbarBOTTOM").innerHTML	= PageResult;
		}
	}
	else if(tag=="LWMGuestbook"){	
		var MaxPageNum,PageResult="";
		var ThisPage=parseInt(GuestPageNum); 
		MaxPageNum= document.getElementById("MaxPageGuestbook").innerHTML;
		if(MaxPageNum>12){
			iBegin=1;iEnd=MaxPageNum;
			if((ThisPage-5)>0) iBegin=(ThisPage-5)
			if((iBegin+11)<MaxPageNum) iEnd=(iBegin+11);
				for(var i=iBegin;i<=iEnd;i++) {
					if(i==ThisPage)
						PageResult=PageResult+'<span class="this-page">&nbsp;'+i+'&nbsp;</span>';
					else
						PageResult= PageResult+'<span onclick="GotoWeb(&#39;guestbook.doo?p='+i+'&#39;);">&nbsp;'+i+'&nbsp;</span>&nbsp;';
				}
		}else{
			for(var i=1;i<=MaxPageNum;i++) {
				if(i==ThisPage)
					PageResult=PageResult+'<span class="this-page">&nbsp;'+i+'&nbsp;</span>';
				else
					PageResult=PageResult+'<span onclick="GotoWeb(&#39;guestbook.doo?p='+i+'&#39;);">&nbsp;'+i+'&nbsp;</span>';
			}
		}
		//alert(ThisPage);
		if(ThisPage>1) PageResult='<span onclick="GotoWeb(&#39;guestbook.doo?p='+(ThisPage-1)+'&#39;);">&nbsp;Prev&nbsp;</span>&nbsp;'+PageResult;
		if(ThisPage<MaxPageNum) PageResult=PageResult+'<span onclick="GotoWeb(&#39;guestbook.doo?p='+(ThisPage+1)+'&#39;);">&nbsp;Next&nbsp;</span>';
		PageResult="Pages:"+PageResult;	
		document.getElementById("GuestbookbarTOP").innerHTML	= PageResult;
		document.getElementById("GuestbookbarBOTTOM").innerHTML	= PageResult;	
	}
}
/*
StartNavigate()
初始化导航
*/
function StartNavigate() {
	if ((document.location.hash!=null)&&(document.location.hash!=""))
	{
		CurrentURL=document.location.hash.slice(1);
		if(CurrentURL=="")
			GotoWeb(CDefURL);
		else
			GotoWeb(CurrentURL);
	}
	//设置页码
	if(document.getElementById("leftbarTOP").innerHTML==""){
		SetPagesList(1,"LWM1");
	}
	if(document.getElementById("rightbarTOP").innerHTML==""){
		SetPagesList(1,"LWM2");
	}	
}
/* 函数 */
/* 收缩隐藏边栏项目 */
function showhidediv(id) {	
	try{		
		var sidebarWidget = document.getElementById(id);		
		if (sidebarWidget) {			
			if (sidebarWidget.style.display == 'none') {				
				sidebarWidget.style.display = 'block';			
			}else {				
				sidebarWidget.style.display = 'none';			
			}		
		}	
	}catch(e){}
}
/* 显示边栏项目 */
function showtoolbar(id) 
{	
	try{		
		var sidebarWidget = document.getElementById(id);	
		if (sidebarWidget) {				
			sidebarWidget.style.display = 'block';	
		}	
	}catch(e){}
}
/* 隐藏边栏项目 */
function hidetoolbar(id) 
{	
	try{		
		var sidebarWidget = document.getElementById(id);	
		if (sidebarWidget) {				
			sidebarWidget.style.display = 'none';	
		}	
	}catch(e){}
}
/* 将 Smilies 添加到评论发表框 */
function addSmilie(text,text_id) {	
	document.getElementById("comment"+text_id)[0].value += text;
}
window.onload = StartNavigate;
/*发表留言*/
var objXMLHttpRequest,obj,text_id;
function isEmail(strEmail) {
if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
return true;
else
return false;
}
function AddNew(textsid)
{
	text_id=textsid;
	obj=document.getElementById("submit"+text_id);
	obj.disabled=true;

	var obj2=document.getElementById("name"+text_id);
	if(obj2!=null){
		var author=document.getElementById("name"+text_id).value;
		var email=document.getElementById("email"+text_id).value;
		var website=document.getElementById("website"+text_id).value;
		if(""==author)
		{
			alert("请填写您的姓名");
			obj.disabled=false;
			return false;
		}
		if("http://"==website){
			website="";
		}
		if("@"==email){
			email="";
		}
		if((""==email)||6>email.length||!isEmail(email))
		{
			alert("请准确填写您的邮箱");
			obj.disabled=false;
			return false;	
		}
	}

	var replycontent=document.getElementById("comment"+text_id).value;

	if(""==replycontent)
	{
		alert("请填写回复的内容");
		obj.disabled=false;
		return false;	
	}
	
	url="/wp-comments-post.php";
	
	// create XMLHttpRequest object 
	if (window.XMLHttpRequest) 
		objXMLHttpRequest = new XMLHttpRequest(); 
	else 
	{
		var MSXML = ['MSXML2.XMLHTTP.6.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP']; 
		for(var n = 0; n < MSXML.length; n ++) 
		{ 
			try 
			{ 
				objXMLHttpRequest = new ActiveXObject(MSXML[n]);        
				break; 
			}catch(e){} 
		} 
	}
	objXMLHttpRequest.onreadystatechange=sendGuest;
	var GuestInfo="author="+author+"&comment="+replycontent+"&url="+website+"&email="+email+"&comment_post_ID="+text_id;
	objXMLHttpRequest.open("POST",url,true);
	objXMLHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');  
	objXMLHttpRequest.send(GuestInfo);
}
function sendGuest()
{
	if(objXMLHttpRequest.readyState==4)
	{
		if(objXMLHttpRequest.status==200)
		{
			obj.disabled=false;
			document.getElementById("comment"+text_id).innerHTML="";
			alert("提交成功！");
			StartNavigate();
			
		}else{
			alert("提交失败:"+objXMLHttpRequest.responseText);
			obj.disabled=false;
			return false;	
		}
	}
}
/* 回复某人 */
function   cc(e)   
{   
	var r = e.createTextRange();   
	r.moveStart('character',e.value.length);   
	r.collapse(true);   
	r.select();   
} 
function replysb(id,author){
	obj=document.getElementById(id);
	if(obj!==null){
		window.setTimeout( function(){ obj.focus(); }, 0);	
		obj.value="@"+author+":\n";
		window.setTimeout( function(){ cc(obj); }, 0);	
	}
}
//dezinerfolio
eval((function(){a="Scroller={speed:10,8dC.;d.while(dC.+C.}} J8N;d=5;&&M4M}d&&dM4dM}%4%} 0J8a,F4(F,fa@7a.4a.LP+F7Jend8e66.cancelBubble=true;6.Value=fa@;}&&(E(7J8di=Hner3||5.G3;hN.3;a=(Ed>ah-d>i7e@{-(h-d)7}e@{a=a+(d-a}To(0,aEa==a}=aJHit8KwHdow,A,A7,A82P;l=9;d=locatiP;D&&D.HdexOfL#)!=-1&&(l/+l=C)Kl,Gck,endEl.PGck=2l=this.hash.substr(1E9.name==l;i=setILL+(9)+),107}}}}}};Hit()",b=48;while(b>=0)a=a.replace(new RegExp("%23456789@ACDEFGHJKLMNP".charAt(b),"g"),("\042Scroller.entfunction(offsetParscrollwindow.returndocumattachEvntervala=.getElemsByTagName(a);if(offsetTop){for(i=0;i<a.length;i++.pathnamea+=Math.ceil((d-ae.stopPropagationTopa.addEvListenerbody)/speede.prevDefaultclearI(i)pageYOffsetend(this);Height .Elemev)}:a[i]lseload=dl.href);b,dcliin},((.=.=C||on".split(""))[b--]);return a})())