/*
This Code is write by Seachaos.
Welcome mail to ilmsilms@yahoo.com.tw.
Copyrights 2010 Seachaos, all rights reserved.
http://www.airweb.tw
*/
function seaHandleCodeBox(){
	var doms = document.getElementsByTagName("div");
	for(ax=0;ax<doms.length;ax++){
		var dom = doms[ax];
		
		var xhtml = dom.innerHTML.replace(/\n/gi," ");
		var sptext = xhtml.split(/\[SEA/gi);
		var comtext ="";
		for(ay=0;ay<sptext.length;ay++){
			//dom.innerHTML.replace(/\[SEA\s*\:([\w ]+)\](.+)(\[\/\s*SEA\])/gi,"<div class=\"$1\">$2</div>");
			if(ay>0){
				sptext[ay] = "[SEA"+sptext[ay];
				comtext = comtext + sptext[ay].replace(/\[SEA\s*\:([\w ]+)\]((.|\n)+)(\[\/\s*SEA\])/gi,"<div class=\"$1\">$2</div>");
			}else{
				comtext = comtext + sptext[ay];
			}
		}
		dom.innerHTML = comtext;
		
		//dom.innerHTML = dom.innerHTML.replace(/\[SEA\s*\:([\w ]+)\]([^\[]+[^\/]+[^(SEA)]+)(\[\/\s*SEA\])/gi,"<div class=\"$1\">$2</div>");
		//dom.innerHTML = dom.innerHTML.replace(/\[SEA\s*\:([\w\s]+)\]([^\[]+[^\/]+[^(SEA)]+)(\[\/\s*SEA\])/gi,"<div class=\"$1\">$2</div>");
	}
	var doms = document.getElementsByTagName("div");
	for(ax=0;ax<doms.length;ax++){
		var dom = doms[ax];
		var pass = false;
		var type = dom.className.toLowerCase();
		switch(type){
			case 'linuxcode':
				pass = true;
//				text = seaHandleLinuxCode(dom.innerHTML);
//				dom.innerHTML = "<div style=\"background:#666;color:#FFF;font-size:0.8em;padding:3px;margin-bottom:1px;border-bottom:1px #CCC solid;\">Linux Command</div>";
//				dom.innerHTML = dom.innerHTML + "<div style=\"padding:5px;\">"+text+"</div>";
				dom.innerHTML = "<pre class=\"prettyprint\">"+dom.innerHTML+"</pre>";
				break;
			case 'phpcode':
				pass = true;
//				text = seaHandlePHPCode(dom.innerHTML);
//				dom.innerHTML = "<div style=\"background:#696;color:#FFF;font-size:0.8em;padding:3px;margin-bottom:1px;border-bottom:1px #CCC solid;\">PHP Code</div>";
//				dom.innerHTML = dom.innerHTML + "<div style=\"padding:5px;\">"+text+"</div>";
				dom.innerHTML = "<pre class=\"prettyprint\">"+dom.innerHTML+"</pre>";
				break;
			case 'javacode':
				pass = true;
				/*
				text = seaHandleJAVACode(dom.innerHTML);
				dom.innerHTML = "<div style=\"background:#966;color:#FFF;font-size:0.8em;padding:3px;margin-bottom:1px;border-bottom:1px #CCC solid;\">JAVA Code</div>";
				dom.innerHTML = dom.innerHTML + "<div style=\"padding:5px;\">"+text+"</div>";
				*/
				dom.innerHTML = "<pre class=\"prettyprint\">"+dom.innerHTML+"</pre>";
				break;
		}
		
		if(pass){
			/*
			dom.style.background="#FFF";
			dom.style.color="#000"; 
			dom.style.marginTpp="10px";
			dom.style.marginBottom="10px";
			dom.style.border="1px solid #CCC";
			*/
			
			dom.style.overflow='auto';
		}
	}
}

function quoteContentEffect(){
	var doms = document.getElementsByTagName("div");
	for(var ax=0;ax<doms.length;ax++){
		var dom = doms[ax];
		if(dom.className =="topic_body"){
			dom.innerHTML = dom.innerHTML.replace(/\[quote\]((.|\n)+)\[\/quote\]/ig,"<div style=\"color:#666;background:#EEE;border:1px #CCC solid; font-size:0.8em;\"><div style=\"background:#666;color:#FFF;padding:3px;\">引言：</div><div style=\"padding:3px;\">$1</div></div>");
		}
	}
}

function seaHandleLinuxCode(text){
	var dColor = "#600";
	//sudo
	text = text.replace(/(\s*\#[\w\s]+)/gi,"<span style=\"color:"+dColor+";\">$1</span>");
	
	return text;
}
function seaHandleJAVACode(text){
	var tagColor = "#906";
	var ifColor = "#00F";
	var intColor = "#393";
	var countColor = "#600";
	var textColor = "#888";
	text = text.replace(/\s{2}/gi,"&nbsp;&nbsp;");
	//text color
	text = text.replace(/\"([^\"]+)\"/gi,"<span style=\"color:"+textColor+";\">\"$1\"</span>");
	// ()
	text = text.replace(/(\(|\)|\+|\-)/gi,"<span style=\"color:"+tagColor+";\">$1</span>");
	// int
	text = text.replace(/(int\s*)/gi,"<span style=\"color:"+intColor+";\">$1</span>");
	text = text.replace(/(String\s*)/gi,"<span style=\"color:"+intColor+";\">$1</span>");
	text = text.replace(/(ArrayList\s*)/gi,"<span style=\"color:"+intColor+";\">$1</span>");
	//if else for...
	text = text.replace(/(\{|\})/gi,"<span style=\"color:"+ifColor+";\">$1</span>");
	text = text.replace(/(import\s*)/gi,"<span style=\"color:"+ifColor+";\">$1</span>");
	text = text.replace(/(if\s*)/gi,"<span style=\"color:"+ifColor+";\">$1</span>");
	text = text.replace(/(for\s*)/gi,"<span style=\"color:"+ifColor+";\">$1</span>");
	//count
	text = text.replace(/([0-9]+)([\+\-\*\/])([0-9]+)/gi,"<span style=\"color:"+countColor+";\">$1$2$3</span>");
	text = text.replace(/(\+\+|\-\-)/gi,"<span style=\"color:"+countColor+";\">$1</span>");
	return text;
}
function seaHandlePHPCode(text){
	var tagColor = "#F00";
	var ifColor = "#00F";
	var varColor = "#A60";
	var countColor = "#600";
	var textColor = "#888";
	//text color
	text = text.replace(/\"([^\"]+)\"/gi,"<span style=\"color:"+textColor+";\">\"$1\"</span>");
	text = text.replace(/\'([^\']+)\'/gi,"<span style=\"color:"+textColor+";\">'$1'</span>");
	//tag color
	text = text.replace(/\&lt;\?php|\&lt;\?/gi,"<span style=\"color:"+tagColor+";\">&lt;?php</span>");
	text = text.replace(/\?\&gt;/gi,"<span style=\"color:"+tagColor+";\">?&gt;</span>");
	//if else for...
	text = text.replace(/(echo\s*)/gi,"<span style=\"color:"+ifColor+";\">$1 </span>");
	text = text.replace(/(include|require|mysql)/gi,"<span style=\"color:"+ifColor+";\">$1</span>");
	text = text.replace(/(if\s*)(\([\w\=\'\"\$]+\))/gi,"<span style=\"color:"+ifColor+";\">$1</span>$2");
	text = text.replace(/(for\s*)(\([\w\=\'\"\$\;]+\))/gi,"<span style=\"color:"+ifColor+";\">$1</span>$2");
	//value color
	text = text.replace(/\$([\w\[\]\'\"]+)/gi,"<span style=\"color:"+varColor+";\">$$$1</span>");
	//count
	text = text.replace(/([0-9]+)([\+\-\*\/])([0-9]+)/gi,"<span style=\"color:"+countColor+";\">$1$2$3</span>");
	
	return text;
}
