// ==UserScript==
// @name           Baidu Tieba Harmonizer for GM
// @namespace      scottxp@126.com
// @description    www.xiaohexie.com
// @include        http://tieba.baidu.com/*
// ==/UserScript==
var Harmonizer = {

	// COMMON/GLOBAL UTILITIES
	$ : function (id) {
		return document.getElementById(id); 
	},
	
	// FUNCTIONS SPECIFIC TO MAKE PLUGIN WORK
	checkPage : function () {
		// make sure we're on a postable tieba page
		if (/^http:\/\/tieba\.baidu\.com\//.exec(location.href) && Harmonizer.$("ti") && !(Harmonizer.$("harmonizerButtonDiv"))) {
			var resultParentDiv = Harmonizer.$("subMsg") || Harmonizer.$("post");
			var x = document.createElement('div');
			x.id = "harmonizerButtonDiv";
			var b1 = document.createElement('a');
			var b1text = '和谐测试';
			
			b1.appendChild(document.createTextNode(b1text));
			b1.id = "hexieTestLink";
			b1.href = "javascript:void";
			b1.attachEvent("onclick", Harmonizer.hello);
			b1.style.marginLeft = ((Harmonizer.$("Submit3") || Harmonizer.$("add_post_submit")).parentNode.parentNode.cells[0].offsetWidth + 5) + "px";
			b1.style.color = "#6CCC66";
			b1.style.fontSize = "10pt";
			x.appendChild(b1);
			resultParentDiv.insertBefore(x, resultParentDiv.childNodes[0]);
		}
	},
	
	ajaxAddress : "http://www.xiaohexie.com/ff_test.php",
	
	hello : function(){
		var title = Harmonizer.$("ti").value;
		var content;
		var contentDiv = Harmonizer.$("co");
		if(contentDiv) {
			content = encodeURIComponent(contentDiv.value);
		} else {
			content = encodeURIComponent(Harmonizer.$("bdeTextArea").innerHTML.replace(/\t/g, '').replace(/<br>/g,"\t"));
		}
		
		var params = 'co=' + title + '|_|_|_|' + content;
		
		Harmonizer.$("hexieTestLink").innerHTML = "测试中，请稍候……";
		var xmlHttp = PRO_xmlhttpRequest(); 
		xmlHttp.onreadystatechange=function()
		{
			if(xmlHttp.readyState==4) {
				if(xmlHttp.status == 200) {
					var t = xmlHttp.responseText;
					var ts = t.split('|_|_|_|');
					
					Harmonizer.$("ti").value = ts[0];
					
					if(contentDiv) {
						contentDiv.value = ts[1];
					} else {
						Harmonizer.$("bdeTextArea").innerHTML = ts[1].replace(/\t/g, "<br>");
					}
					Harmonizer.$("hexieTestLink").innerHTML = "和谐测试";
				}
			}
		}
		xmlHttp.open("POST",Harmonizer.ajaxAddress,true);
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", params.length);
		xmlHttp.setRequestHeader("Connection", "close");
		xmlHttp.send(params);
	}
}
Harmonizer.checkPage();
