// for debug
var G_DEBUG_ON = true;

function $d(txt) {
	if (!G_DEBUG_ON) return;
	if (!txt) txt = 'null';
	txt = txt.toString();
	var el = document.getElementById('debug_div');
	if (el) el.innerHTML = '<div style="margin-bottom:5px">&gt;&gt; '+txt.replace('<','&lt;')+'</div>'+el.innerHTML;
}

// StringBuffer
function StringBuffer() {
	this.clear();
	if (arguments.length > 0) {
		arguments.join = this.buffer.join;
		this.buffer[this.buffer.length] = arguments.join("");
	}
}
StringBuffer.prototype = {	
	toString: function () {
		return this.buffer.join("");
	},
	
	join: function (delim) {
		if (delim == null) delim = "";
		return this.buffer.join(delim);
	},
	
	/*
	join: function (str) {
		return this.buffer.join(str);
	},
	*/
	
	append: function () {
		arguments.join = this.buffer.join;
		this.buffer[this.buffer.length] = arguments.join("");
		return this;
	},
	
	set: function(str) {
		this.buffer = [str];
	},
	
	clear: function() {
		this.buffer = [];
	}
}
StringBuffer.concat = function() {
	arguments.join = Array.prototype.join;
	return arguments.join("");
}
StringBuffer.append = StringBuffer.concat;

// methods delegates
function delegate(obj, func) {
	if (Function.prototype.bind) {
		return func.bind(obj);
	}
	var __method = func;
	return function() {
		return __method.apply(obj, arguments);
	}
}

function delegateAsEventListener(obj, func) {
	if (Function.prototype.bindAsEventListener) {
		return func.bindAsEventListener(obj);
	}
	var __method = func;
	return function(event) {
		return __method.call(obj, event || window.event);
  	}
}

String.prototype.nl2br = function() {
	return this.split('\n').join('<br \/>\n');
}

function hyperlink(txt) {
	if (txt.indexOf('http://') > -1) {
		var txtA = txt.split('\n');
		for (var y=0; y<txtA.length; y++) {
			var subtxtA = txtA[y].split(' ');
			for (var t=0; t<subtxtA.length; t++) {
				var openParen = '';
				if (subtxtA[t].substr(0,1) == '(') {
					// remove open Paren
					subtxtA[t] = subtxtA[t].replace('(', '')
					openParen = '(';
				}
				if (subtxtA[t].substr(0,7) == 'http://') {
					var url = subtxtA[t];
					var paren = '';
					if (url.substr(url.length-1, 1) == ')') {
						url = url.substr(0,url.length-1);
						paren = ')';
					}
					var period = '';
					if (url.substr(url.length-1, 1) == '.') {
						url = url.substr(0,url.length-1);
						period = '.';
					}
					subtxtA[t] = '<a href="'+url+'" onclick="">' + url + '<\/a>'+paren+period;
					
				}
				// add open Paren back in
				subtxtA[t] = openParen+subtxtA[t]
			}
			txtA[y] = subtxtA.join(' ');
			//txtA[y] = txtA[y].replace('> <', '>&nbsp;<');
		}
		txt = txtA.join('<br \/>');
	}

	return txt;
}


//pageName是文件后缀名
function genJumpbar(pageCount,recordCount,pagesize,pageName,pageNumSplitChar,pClass){
	if (pageNumSplitChar!="" && top.document.location.pathname.lastIndexOf(pageNumSplitChar)>=1){		
		filename = document.location.href.toString();
		if (pageName !=""){
			currentPage = filename.substring(filename.lastIndexOf(pageNumSplitChar)+1,filename.indexOf(pageName));
		}else{
			currentPage = filename.substr(filename.lastIndexOf(pageNumSplitChar)+1);
		}
		filename = filename.substring(0,filename.lastIndexOf(pageNumSplitChar));
	}else{
		filename = top.document.location.href.toString();
		filename = filename.substring(0,filename.lastIndexOf(pageName));
		currentPage=1;
	}
	if (currentPage=="" || isNaN(currentPage) ){
		currentPage=1;
	}else{
		currentPage = parseInt(currentPage);
	}
	pageCount = parseInt(pageCount);
	Pcount=pageCount;
	if (currentPage>Pcount){
		currentPage=Pcount;
	}
//	alert(pageCount);
	HttpGetStr = "";
	if (pageNumSplitChar!=""){		
		JumpbarStr="<table width=90% border=\"0\" cellpadding=\"0\" cellspacing=3  align=center style=\"table-layout:fixed\">"+
		"<tr>";
		JumpbarStr+="<td valign=middle align=center  class=\""+pClass+"\" nowrap >";
		
		pageRank= parseInt(parseFloat(currentPage)/10);
//	alert(currentPage)
		if(pageRank==0){
			JumpbarStr+="<img src='http://img.joycity.cc/images/prev_btn11.gif' title='上十页' border=0 width=18 height=17 align=absmiddle>&nbsp;";
			if (currentPage>1){				
				JumpbarStr+="<a href=\""+filename+pageNumSplitChar+(currentPage-1)+pageName+"\" class=\""+pClass+"\"  style='font-size:9px;'><img src='http://img.joycity.cc/images/prev_btn1.gif' title='上一页' border=0 width=18 height=17 align=absmiddle></a>";
			}else{
				JumpbarStr+="<img src='http://img.joycity.cc/images/prev_btn1.gif' title='上一页' border=0 width=18 height=17 align=absmiddle>";
			}
			JumpbarStr+="&nbsp;|&nbsp;";
			for (i=1;i<currentPage;i++){
				JumpbarStr+="<a href=\""+filename+pageNumSplitChar+i+pageName+"\" class=\""+pClass+"\"  style='font-size:9px;'>"+i+"</a> | ";
			}
			
			
		}else{
			JumpbarStr+="<a href=\""+filename+pageNumSplitChar+(currentPage-10)+pageName+"\" class=\""+pClass+"\"  style='font-size:9px;'><img src='http://img.joycity.cc/images/prev_btn11.gif' border=0 width=18 height=17 align=absmiddle  title='上十页'></a>&nbsp;";
			if (currentPage>1){
				JumpbarStr+="<a href=\""+filename+pageNumSplitChar+(currentPage-1)+pageName+"\" class=\""+pClass+"\"  style='font-size:9px;'><img src='http://img.joycity.cc/images/prev_btn1.gif' title='上一页' border=0 width=18 height=17 align=absmiddle></a>";
			}else{
				JumpbarStr+="<img src='http://img.joycity.cc/images/prev_btn1.gif' title='上一页' border=0 width=18 height=17 align=absmiddle>";
			}
			JumpbarStr+="&nbsp;| ";
			
			for (i=pageRank*10;i<currentPage;i++){
				JumpbarStr+="<a href=\""+filename+pageNumSplitChar+i+pageName+"\" class=\""+pClass+"\"  style='font-size:9px;'>"+i+"</a> | ";
			}
			
		}
		
		if((pageRank+1)*10>=pageCount){
			tmpMaxPage=pageCount;
		}else{
			tmpMaxPage=(pageRank+1)*10;
		}
		//alert(currentPage);
		JumpbarStr+="<span style='color:#cc6600' ><b>"+i+"</b></span> | ";
		for(i=currentPage+1;i<=tmpMaxPage;i++){
			JumpbarStr+="<a href=\""+filename+pageNumSplitChar+i.toString()+pageName+"\" class=\""+pClass+"\"  style='font-size:9px;'>"+i+"</a> | ";
		}
		if (currentPage>=pageCount){
			JumpbarStr+="<img src='http://img.joycity.cc/images/next_btn1.gif' title='下一页' border=0 width=18 height=17 align=absmiddle>";
		}else{
			JumpbarStr+="<a href=\""+filename+pageNumSplitChar+(parseInt(currentPage+1))+pageName+"\" class=\""+pClass+"\"  style='font-size:9px;'><img src='http://img.joycity.cc/images/next_btn1.gif' title='下一页' border=0 width=18 height=17 align=absmiddle></a>";					
		}
		JumpbarStr+="&nbsp;";
			
		if((pageRank+1)*10>=pageCount){
			JumpbarStr+="<img src='http://img.joycity.cc/images/next_btn11.gif' border=0 width=18 height=17 align=absmiddle  title='下十页'>";
		}else{
			JumpbarStr+="<a href=\""+filename+pageNumSplitChar+(currentPage+10)+pageName+"\" class=\""+pClass+"\"  style='font-size:9px;'><img src='http://img.joycity.cc/images/next_btn11.gif' border=0 width=18 height=17 align=absmiddle  title='下十页'></a>";
		}
	
	
		JumpbarStr+=  "</td></tr></table>";
	}
	return JumpbarStr;
}

//pageCount,recordCount,pagesize,pageName,pageNumSplitChar,pClass
function Jumpbar_blog(pageCount,recordCount,pagesize,currentPage,pageName,pageNumSplitChar,pClass){
		if (pageNumSplitChar!="" && top.document.location.pathname.lastIndexOf(pageNumSplitChar)>=1){		
			filename = top.document.location.href.toString();
			if (pageName !=""){
				currentPage = filename.substring(filename.lastIndexOf(pageNumSplitChar)+1,filename.indexOf(pageName));
			}else{
				currentPage = filename.substr(filename.lastIndexOf(pageNumSplitChar)+1);
			}
			//alert(currentPage);
			if (isNaN(currentPage) && filename.lastIndexOf(pageName)>=0){
				filename = filename.substring(0,filename.lastIndexOf(pageNumSplitChar))+"/"+currentPage;
			}else{
				filename = filename.substring(0,filename.lastIndexOf(pageNumSplitChar));
			}
		}else{
			filename = top.document.location.href.toString();
			filename = filename.substring(0,filename.lastIndexOf(pageName));
			currentPage=1;
		}
		//alert(filename);
		if (currentPage=="" || isNaN(currentPage) ){
			currentPage=1;
		}else{
			currentPage = parseInt(currentPage);
		}
		pageCount = parseInt(pageCount);
		Pcount=pageCount;
		if (currentPage>Pcount){
			currentPage=Pcount;
		}
			JumpbarStr="<table width=100% border=\"0\" cellpadding=\"0\" cellspacing=3  align=center style=\"table-layout:fixed\">"+"<tr>";
				JumpbarStr+="<td valign=middle align=left   nowrap >";
				
				if (currentPage>1){
					JumpbarStr+="<a href=\""+filename+pageNumSplitChar+(parseInt(currentPage-1))+pageName+"\" class=\""+pClass+"\"  style='font-size:11px;color:#000000'><font style='font-family:Webdings;font-size:12px'>3</font> Page "+(currentPage-1)+"</a>";
				}else{
					JumpbarStr+="<font style='font-size:11px;font-family:Verdana;color:#999999'>This is the first page.</font>";
				}
				JumpbarStr+="</td><td valign=middle align=right   nowrap >";
				
				if (currentPage+1<=Pcount){
					JumpbarStr+="<a href=\""+filename+pageNumSplitChar+(parseInt(currentPage+1))+pageName+"\" class=\""+pClass+"\"  style='font-size:11px;color:#000000'>Page "+(currentPage+1)+" <font style='font-family:Webdings;font-size:12px'>4</font></a>";
				}else{
					JumpbarStr+="<font style='font-size:11px;font-family:Verdana;color:#999999'>This is the last page.</font>";
				}
				
				
			
			JumpbarStr+=  "</td></tr></table>";
			
				return JumpbarStr;
		
	}