(function(){
var	w=window,d=w.document;

var	XHRexec=(function(){
	var	getXHR=(function(){
		if (typeof ActiveXObject!="undefined") {
			var	msXml=['Msxml2.XMLHTTP','Microsoft.XMLHTTP'];
			for (var ci=0,len=msXml.length; ci<len; ci++) with ({msXml:msXml[ci]}) { try {new ActiveXObject(msXml);return function(){return new ActiveXObject(msXml)};} catch(e){} }
			return function(){return null};
		}
		else if (typeof XMLHttpRequest!="undefined") {
			return function(){return new XMLHttpRequest()};
		}
		else {
			return function(){return null};
		}
	})();
	return function(opt){
		var	xh=getXHR();
		if (!xh) return;
		var	async=(opt.async===false)?false:true;
		var	method=opt.method;
		if (!method) method='GET';
		method=method.toUpperCase();
		var	url=opt.url;
		var	headers=opt.headers;
		var	params=opt.params;
		var	data=(opt.data)?opt.data:'';
		if (!data&&params) {
			var	pstrs=[];
			for (var mem in params) {
				if (!params.hasOwnProperty(mem)) continue;
				pstrs[pstrs.length]=mem+'='+encodeURIComponent(params[mem]);
			}
			if (method=='POST') {
				data=pstrs.join('&');
			}
			else {
				url=url+'?'+pstrs.join('&');
			}
		}
		try {xh.open(method,url,async);} catch(e) {if (typeof opt.onerror=='function') opt.onerror(xh);return;}
		if (headers) {
			for (var mem in headers) {
				if (!headers.hasOwnProperty(mem)) continue;
				try {xh.setRequestHeader(mem,headers[mem])} catch(e){};
			}
		}
		if (method=='POST'&&data) xh.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		var	callback=function(timeout){
			if (timeout) {
				if (typeof opt.ontimeout=='function') {
					opt.ontimeout(xh);
				}
				else if (typeof opt.onerror=='function') {
					opt.onerror(xh);
				}
			}
			else if ((200<=xh.status&&xh.status<300)||xh.status==0) {
				if (typeof opt.onload=='function') opt.onload(xh);
			}
			else {
				if (typeof opt.onerror=='function') opt.onerror(xh);
			}
			try {delete xh;} catch(e) {xh=null;}
		};
		if (async) {
			var	tid=null;
			if (opt.timeout) {
				tid=setTimeout(function(){
					xh.onreadystatechange=function(){};
					try {xh.abort();} catch(e) {}
					callback(true);
				},1000*opt.timeout);
			}
			xh.onreadystatechange=function(){
				if (xh.readyState!=4) return;
				if (tid) clearTimeout(tid);
				setTimeout(function(){callback(false)},1);
			};
		}
		xh.send(data);
		if (!async) {
			callback(false);
		}
	};
})();	//	end of XHRexec()
	
var	setEventHandler=(function(){
	if (w.addEventListener) {
		return function(obj,evt,handler){obj.addEventListener(evt,handler,false)};
	}
	else if (w.attachEvent) {
		return function(obj,evt,handler){obj.attachEvent('on'+evt,handler)};
	}
	else {
		return function(obj,evt,handler){var org=obj['on'+evt];obj['on'+evt]=function(){if(typeof org=='function')org();handler()}};
	}
})();	//	end of setEventHandler()

var	getElementsByTagAndClassName=(function(){
	var	splitClassName=function(className){
		return className.replace(/\s+/g,' ').replace(/(^\s|\s$)/g,'').split(' ');
	};
	return function(tagName,className,doc) {
		if (!doc) doc=d;
		var children=doc.getElementsByTagName(tagName);
		if (className) {
			var	chkElms=(typeof className=='string')?splitClassName(className):className;
			var	flgElms=[];
			for (var ci=0,len=chkElms.length; ci<len; ci++) flgElms[chkElms[ci]]=true;
			var elements=[];
			for (var ci=0,leni=children.length; ci<leni; ci++) {
				var child=children[ci];
				var cname=child.className;
				if (!cname) continue;
				var cnameElms=splitClassName(cname);
				for (var cj=0,lenj=cnameElms.length; cj<lenj; cj++) {
					if (flgElms[cnameElms[cj]]) {
						elements[elements.length]=child;
						break;
					}
				}
			}
			return elements;
		}
		else {
			return children;
		}
	};
})();	//	end of getElementsByTagAndClassName()

var	getInputParams=function(form){
	var	params={};
	var	inputs=form.getElementsByTagName('input');
	for (var ci=0,len=inputs.length; ci<len; ci++) {
		var	input=inputs[ci];
		input.disabled='disabled';
		params[input.name]=input.value;
	}
	return params;
};	//	end of getInputParams()

var	resumeInputParames=function(form){
	var	inputs=form.getElementsByTagName('input');
	for (var ci=0,len=inputs.length; ci<len; ci++) {
		var	input=inputs[ci];
		input.disabled='';
		input.blur();
	}
};	//	end of resumeInputParames()

var	work=d.createElement('div');

w.post575=function(form){
	var	onload=function(xh){
		var	html=xh.responseText;
		if (html.match(/<ol [^>]*?id="item-list"[^>]*?>([\s\S]*?)<\/ol/)) {
			work.innerHTML=RegExp.$1;
			var	itemList=d.getElementById('item-list');
			while (work.firstChild) {
				itemList.insertBefore(work.firstChild,itemList.firstChild);
			}
			var	names={'go1':1,'nn1':1,'go2':1,'refurl':1}
			var	inputs=form.getElementsByTagName('input');
			for (var ci=0,len=inputs.length; ci<len; ci++) {
				var	input=inputs[ci];
				if (names[input.name]) input.value='';
			}
			resumeInputParames(form);
		}
	};
	var	onerror=function(xh){
		resumeInputParames(form);
	};
	XHRexec({
		method		:	'POST'
	,	url			:	form.action
	,	params		:	getInputParams(form)
	,	onload		:	onload
	,	onerror		:	onerror
	});
	return false;
};	//	end of post575()

w.post77=function(form){
	var	onload=function(xh){
		var	html=xh.responseText;
		if (html.match(/<ol [^>]*?id="item-list"[^>]*?>([\s\S]*?)<\/ol/)) {
			work.innerHTML=RegExp.$1;
			var	li=work.getElementsByTagName('li')[0];
			if (li) {
				while (li.firstChild) {
					if (li.firstChild.className&&li.firstChild.className.match(/content77/)) break;
					li.removeChild(li.firstChild);
				}
				var	pnode=form.parentNode;
				while (li.firstChild) {
					if (li.firstChild.nodeName&&li.firstChild.nodeName.toUpperCase()=='FORM') break;
					pnode.insertBefore(li.firstChild,form);
				}
				var	names={'nn1':1,'nn2':1}
				var	inputs=form.getElementsByTagName('input');
				for (var ci=0,len=inputs.length; ci<len; ci++) {
					var	input=inputs[ci];
					if (names[input.name]) input.value='';
				}
			}
			resumeInputParames(form);
		}
	};
	var	onerror=function(xh){
		resumeInputParames(form);
	};
	XHRexec({
		method		:	'POST'
	,	url			:	form.action
	,	params		:	getInputParams(form)
	,	onload		:	onload
	,	onerror		:	onerror
	});
	return false;
};	//	end of post77()

var	reg_clap={
	'575'	:	/<div [^>]*?class="content575[^>]*?>[\s\S]*?<span [^>]*?class="clap-counter"[^>]*?>([\s\S]*?)<\/span/
,	'77'	:	/<div [^>]*?class="content77[^>]*?>[\s\S]*?<span [^>]*?class="clap-counter"[^>]*?>([\s\S]*?)<\/span/
};

w.clap=function(form,kind){
	var	span=getElementsByTagAndClassName('span','clap-counter',form)[0];
	if (!span) return false;
	span.innerHTML='*';
	var	onload=function(xh){
		var	html=xh.responseText;
		if (html.match(reg_clap[kind])) {
			span.innerHTML=RegExp.$1;
		}
		else {
			span.innerHTML='?';
		}
		resumeInputParames(form)
	};
	var	onerror=function(xh){
		resumeInputParames(form);
	};
	XHRexec({
		method		:	'POST'
	,	url			:	form.action
	,	params		:	getInputParams(form)
	,	onload		:	onload
	,	onerror		:	onerror
	});
	return false;
};	//	end of clap()

var	lockurls={}

w.nextPage=function(link){
	if (lockurls[link.href]) return false;
	lockurls[link.href]=true;
	var	next_elm=d.getElementById('next');
	next_elm.style.borderStyle='inset';
	var	onload=function(xh){
		lockurls[link.href]=false;
		next_elm.style.borderStyle='outset';
		var	html=xh.responseText;
		if (html.match(/<div [^>]*?id="content"[^>]*?>([\s\S]*?)<\/div><!-- id="content" -->/)) {
			work.innerHTML=RegExp.$1;
			var	itemList=d.getElementById('item-list');
			var	srcList=getElementsByTagAndClassName('ol','item-list',work)[0];
			if (srcList) {
				while (srcList.firstChild) {
					itemList.appendChild(srcList.firstChild);
				}
			}
		}
		if (html.match(/(<a [^>]*?rel="next"[^>]*?>)/)) {
			work.innerHTML=RegExp.$1;
			link.href=work.getElementsByTagName('a')[0].href;
		}
		else {
			link.parentNode.removeChild(link);
		}
	};
	var	onerror=function(xh){
		lockurls[link.href]=false;
	};
	XHRexec({
		method		:	'GET'
	,	url			:	link.href
	,	onload		:	onload
	,	onerror		:	onerror
	});
	return false;
};	//	end of nextPage()


})();
