function setNote(str) { // 将一些debug信息打出
	window.status = str;
}

var tips_innerHTML = new Array();
var tips_stack = 0;

var tip_str = new Array();
tip_str[1] = "<p>&nbsp;&nbsp; 请您点击图中瞳孔</p>";
tip_str[2] = "test";

function showTipsStep(n) { // 显示某一步预存的tips
	setTips(tip_str[n]);
}

function setTips(str) { // 永久设置一个tip，如果没地方显示tip，将采用弹出窗口提示用户
	if (document.all.tiparea) {
		document.all.tiparea.innerHTML = str;
	} else {
		alert("提示:\r\n" + str);
	}
}

function showTempTips(str) { // 显示一个临时tip，如果没有地方显示tip，将忽略
	if (document.all.tiparea) {
		tips_innerHTML[tips_stack++] = document.all.tiparea.innerHTML;
		document.all.tiparea.innerHTML = str;
	}
}

function restoreTips() { // 还原至上一个tip，如果没有地方显示tip，将忽略
	if (document.all.tiparea) {
		document.all.tiparea.innerHTML = tips_innerHTML[tips_stack - 1];
	}
	tips_stack--;
}

/**
 * 非法词汇过滤
 * 
 * @param str，字符串
 * @return，false表示含非法词汇,true表示无
 */
function filter(text) {
	// 按此规则直接添加需要过滤的词汇即可
	var filterstr = '<script>|javascript|script|alert';
	filterstr += '|法轮|共产党|李洪志|大纪元|真善忍|新唐人|肉棍';
	filterstr += '|淫靡|淫水|六四事件|迷药|昏药|窃听器|六合彩|买卖枪支|退党|三唑仑';
	filterstr += '|麻醉药|麻醉乙醚|短信群发器|帝国之梦|毛一鲜|黎阳平|色情服务';
	filterstr += '|出售枪支|迷药|摇头丸|西藏天葬|鬼村|军长发威|黑社会|枪决女犯';
	filterstr += '|投毒杀人|强硬发言|出售假币|监听王|昏药|侦探设备|麻醉钢枪|反华';
	filterstr += '|官商勾结|升达毕业证|手机复制|戴海静|自杀指南|自杀手册|张小平';
	filterstr += '|佳静安定片|蒙汗药粉|古方迷香|强效失意药|迷奸药|透视眼镜|远程偷拍';
	filterstr += '|自制手枪|小电影|暴乱|骚乱|催情药|拍肩神药|春药|窃听器材';
	filterstr += '|身份证生成器|枪决现场|出售手枪|麻醉枪|办理证件|疆独|藏独|枪支弹药|血腥图片';
	filterstr += '|反政府|禁书|无界浏览器|特码|反共|成人片|成人电影|换妻|三级片|猥亵';
	filterstr += '|毛泽东|邓小平|江泽民|胡锦涛|习近平|温家宝|吴邦国|贾庆林|阿扁|陈水扁|小胡|小温|中华民国|两个中国|台独';
	filterstr += '|开明独裁者|六二五讲话|身份证生成器|教廷|参政党法|观音法门|十世班禅唐山警示录|唐山警世录|真主党|自杀|垂帘听政|六四|八九|党富民贫';
	filterstr += '|党卫军|静坐|绝食|大法|四君子|天安门事件|文革|邪党|一党独大|造反|a片|fuck|屄|强奸|按摩女|处女|春宫|打炮|大阴唇|荡妇';
	filterstr += '|吊袜带|发春|肛交|龟头|激情视频|妓女|叫床|禁片|开房|开房|拉皮条|乱伦|买春|卖春|卖淫|脫衣|毛片|猛插|蜜穴';
	filterstr += '|奶头|奶罩|奶子|皮条|强暴|强奸|青楼|肉欲|煞比|少妇|十八禁|脱光|下体|小穴|小阴唇';
	filterstr += '|性交|阳具|幼女|钟点房|娼';
	filterstr += '|开房|表子|瘪三|吃大粪|刁民|吊人|奶子|手淫|意淫|自慰|猥琐|国民党|罢工|大纪元|东突|独裁|发廊';
	filterstr += '|发楞功|反共|反人|反华|封锁|共匪|九评|口交|乱伦|乱搞|美国之音|民猪|圣战|起义|暴民|镇压|暴乱|政变';
	filterstr += '|土匪|退党|邪教|新唐人|自焚|睾丸|婊子|达赖|倒台|东正教|东乡教|夺权|内定|反动|反共|粉饰太平|昏君|学潮|暴政|苛政';

	var filterstrs = filterstr.split('|');
	for ( var i = 0; i < filterstrs.length; i++) {
		var result = new RegExp(filterstrs[i]);
		var match = text.match(result);
		if (match != null) {
			alert('含非法词汇:' + filterstrs[i]);
			return false;
		}
	}
	/*
	 * var result = new RegExp(filterstr); var match = text.match(result); if
	 * (match != null) { alert('含非法词汇'); return false; }
	 */
	return true;
}

/**
 * 判断字符串长度是否符合需要
 * 
 * @param str，字符串
 * @param min，最小长度
 * @param max，最大长度
 * @return
 */
function lengthCheck(str, min, max) {
	if (str.length < 1 || str.length > max)
		return false;
	else
		return true;
}

function textCounter(field, maxlimit) {
	if (field.value.length > maxlimit) {
		field.value = field.value.substring(0, maxlimit);
		alert(maxlimit + "字数内");
	}
}

function co_createXMLHttpRequest() {
	return createXMLHttpRequest();
}

// 返回Ajax对象
function createXMLHttpRequest() {
	var xmlHttp = null;
	if (window.ActiveXObject) {
		try {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {
			xmlHttp = null;
		}

		if (xmlHttp == null) {
			try {
				xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				xmlHttp = null;
			}
		}
	} else if (window.XMLHttpRequest) {
		xmlHttp = new XMLHttpRequest();
	}

	return xmlHttp;
}

function co_sendXMLHttpRequest(url, method, content) {
	var xmlobj = co_createXMLHttpRequest();
	xmlobj.open(method, url, false);
	xmlobj.send(content);
	return xmlobj;
}

function co_addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		};
	}// endif
}

/**
 * 自动调整iframe的高度
 * 
 * @param {}
 *            frameId
 */
function co_setCwinHeight(frameId) {
	var datainfo = document.getElementById(frameId); // iframe id
	if (document.getElementById) {
		if (datainfo && !window.opera) {
			if (datainfo.contentDocument
					&& datainfo.contentDocument.body.offsetHeight) {
				datainfo.height = datainfo.contentDocument.body.offsetHeight + 40;
			} else if (datainfo.Document && datainfo.Document.body.scrollHeight) {
				datainfo.height = datainfo.Document.body.scrollHeight + 40;
			}
		}
	}
}

/* BEGIN: extract from prototype.js ********** */
function $(id) {
	return document.getElementById(id);
}

/*
 * BEGIN: adjust the height of the given iframe
 * ****************************************
 */
/**
 * arg0: _iframeId arg1: _nMinHeight
 */
function co_setIFrameHeight(_iframeId, _nMinHeight) {
	var iframeObj = document.getElementById(_iframeId);
	if (document.getElementById) {
		if (iframeObj && !window.opera) {
			if (iframeObj.contentDocument
					&& iframeObj.contentDocument.body.offsetHeight) {
				iframeObj.height = iframeObj.contentDocument.body.offsetHeight;
			} else if (iframeObj.Document
					&& iframeObj.Document.body.scrollHeight) {
				iframeObj.height = iframeObj.Document.body.scrollHeight;
			}
			if (_nMinHeight != 0) {
				if (iframeObj.height < _nMinHeight) {
					iframeObj.height = _nMinHeight;
				}
			}
		}
	}
}
/*
 * END: adjust the height of the given iframe
 * ****************************************
 */

/* BEGIN: adjust the browser type **************************************** */
function co_getExplorer() {
	if (navigator.userAgent.indexOf("MSIE") > 0) {
		return "MSIE";
	}
	if (navigator.userAgent.indexOf("Firefox") > 0) {
		return "Firefox";
	}
	if (navigator.userAgent.indexOf("Safari") > 0) {
		return "Safari";
	}
	if (navigator.userAgent.indexOf("Camino") > 0) {
		return "Camino";
	}
	if (navigator.userAgent.indexOf("Gecko/") > 0) {
		return "Gecko";
	}
	return "UNKOWN";
}

function co_isIE() {
	return co_getExplorer() == "MSIE";
}

function co_isFF() {
	return co_getExplorer() == "Firefox";
}
/* END: adjust the browser type **************************************** */

/* BEGIN: stop event **************************************** */
function co_eventStopHandler(event) {
	if (event.preventDefault)
		event.preventDefault();
	else
		event.returnValue = false;
	return false;
}
/* END: stop event **************************************** */

function co_alert(_sMsg) {
	alert(_sMsg);
}

// 字符串相等判断
function co_isStrEqual(firstStr, secondeStr) {
	return firstStr == secondeStr;
}

// 查询操作，如输入信息，失去光标，查询框显示message
function co_writeOrighValueForQuery(queryObj, msg) {
	if (queryObj) {
		if (queryObj.value == "") {
			queryObj.value = msg;
		}
	}
}

// obj的值为空，则将msg赋给obj.value
// 若obj的值等于msg，则将obj.value置空
// 适合查询：选中输入框
function co_setSepecialObjValues(obj, msg) {
	if (obj.value == "") {
		obj.value = msg;
	} else {
		if (co_isStrEqual(obj.value, msg)) {
			obj.value = "";
		}
	}
}

/**
 * 从URL中查询参数_sParamName的值
 * 
 * @param _sParamName:
 *            参数名称
 */
function co_queryString(_sParamName) {
	var LocString = String(window.document.location.href);
	var rs = new RegExp("(^|)" + _sParamName + "=([^\&]*)(\&|$)", "gi")
			.exec(LocString), tmp;
	if (tmp = rs)
		return tmp[2];
	return null;
}

/**
 * 复制内容到剪贴板
 * 
 * @param _sValue:复制的内容
 */
function co_copy(_sValue) {
	if (window.clipboardData) { // IE
		window.clipboardData.setData("Text", _sValue);
	} else { // FF,使用adobe flash player插件
		var flashcopier = 'flashcopier';
		if (!document.getElementById(flashcopier)) {
			var divholder = document.createElement('div');
			divholder.id = flashcopier;
			document.body.appendChild(divholder);
		}
		document.getElementById(flashcopier).innerHTML = '';
		var divinfo = '<embed src="_clipboard.swf" FlashVars="clipboard=' + _sValue + '" width="0" height="0" type="application/x-shockwave-flash"></embed>';
		document.getElementById(flashcopier).innerHTML = divinfo;
	}
	/*
	 * else if (window.netscape) { // dit is belangrijk maar staat nergens
	 * duidelijk vermeld: // you have to sign the code to enable this, or see
	 * notes below
	 * netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
	 * alert('---------'); // maak een interface naar het clipboard var clip =
	 * Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(Components.interfaces.nsIClipboard);
	 * alert(clip); if (!clip) return; // maak een transferable var trans =
	 * Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
	 * if (!trans) return; // specificeer wat voor soort data we op willen
	 * halen; text in dit geval trans.addDataFlavor( "text/unicode "); // om de
	 * data uit de transferable te halen hebben we 2 nieuwe objecten // nodig om
	 * het in op te slaan var str = new Object(); var len = new Object();
	 * 
	 * var str =
	 * Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
	 * var copytext=_sValue; str.data=copytext;
	 * trans.setTransferData("text/unicode",str,copytext.length*2); var
	 * clipid=Components.interfaces.nsIClipboard; if (!clip) return false;
	 * clip.setData(trans,null,clipid.kGlobalClipboard); } alert("Following info
	 * was copied to your clipboard:\n\n" + _sValue); return false;
	 */
}

/* 复制链接 */
function co_copyUrl(obj) {
	var url = document.getElementById(obj).innerHTML;
	// alert(url);
	pb_copy2Clipboard(url);
}

/* 拷贝内容到剪贴板 */
function co_copy2Clipboard(txt) {
	// ie
	if (window.clipboardData) {
		window.clipboardData.clearData();
		window.clipboardData.setData("Text", txt);
	}
	// opera
	else if (navigator.userAgent.indexOf("Opera") != -1) {
		window.location = txt;
	}
	// firefox
	else if (window.netscape) {
		try {
			netscape.security.PrivilegeManager
					.enablePrivilege("UniversalXPConnect");
		} catch (e) {
			alert("您的firefox安全限制限制您进行剪贴板操作, 请打开about:config, 将signed.applets.codebase_principal_support设置为true之后重试, 相对路径为firefox根目录/greprefs/all.js");
			return false;
		}
		var clip = Components.classes['@mozilla.org/widget/clipboard;1']
				.createInstance(Components.interfaces.nsIClipboard);
		if (!clip)
			return;
		var trans = Components.classes['@mozilla.org/widget/transferable;1']
				.createInstance(Components.interfaces.nsITransferable);
		if (!trans)
			return;
		trans.addDataFlavor('text/unicode');
		var str = new Object();
		var len = new Object();
		var str = Components.classes["@mozilla.org/supports-string;1"]
				.createInstance(Components.interfaces.nsISupportsString);
		var copytext = txt;
		str.data = copytext;
		trans.setTransferData("text/unicode", str, copytext.length * 2);
		var clipid = Components.interfaces.nsIClipboard;
		if (!clip)
			return false;
		clip.setData(trans, null, clipid.kGlobalClipboard);
	}
	alert("已复制到剪切板");
}

/* BEGIN: stop event **************************************** */
function co_eventStopHandler(event) {
	if (event.preventDefault)
		event.preventDefault();
	else
		event.returnValue = false;
	return false;
}
/* END: stop event **************************************** */

function co_addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		};
	}// endif
}

/* BEGIN: cookie util **************************************** */
// add a cookie
function addCookie(name, value, expireHours) {
	var cookieString = name + '=' + escape(value);
	// 判断是否设置过期时间
	if (expireHours > 0) {
		var date = new Date();
		date.setTime(date.getTime + expireHours * 3600 * 1000);
		cookieString = cookieString + '; expire=' + date.toGMTString();
	}
	document.cookie = cookieString;
}

// get a cookie
function getCookie(name) {
	var strCookie = document.cookie;
	var arrCookie = strCookie.split('; ');
	for ( var i = 0; i < arrCookie.length; i++) {
		var arr = arrCookie[i].split('=');
		if (arr[0] == name)
			return arr[1];
	}
	return '';
}

// delete a cookie
function deleteCookie(name) {
	var date = new Date();
	date.setTime(date.getTime() - 10000);
	document.cookie = name + '=v; expire=' + date.toGMTString();
}

/* BEGIN: xml util **************************************** */
// 加载xml文档
function loadXML(_xmlFile) {
	var xmlDoc;
	if (window.ActiveXObject) {
		xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
		xmlDoc.async = false;
		xmlDoc.load(_xmlFile);
	} else if (document.implementation
			&& document.implementation.createDocument) {
		xmlDoc = document.implementation.createDocument('', '', null);
		xmlDoc.load(_xmlFile);
	} else {
		return null;
	}
	return xmlDoc;
}
// create an xml from a string
function createXML(_str) {
	if (document.all) {
		var xmlDom = new ActiveXObject('Microsoft.XMLDOM');
		xmlDom.loadXML(_str);
		return xmlDom;
	} else {
		return new DOMParser().parseFromString(_str, 'text/xml');
	}
}
// 对xml对象进行判断
function checkXMLDocObj(_xmlFile) {
	var xmlDoc = loadXML(_xmlFile);
	if (xmlDoc == null) {
		alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!');
	}
	return xmlDoc;
}
// //----------resize iframe
function resizeIframe(_ifrm) {
	if (_ifrm && !window.opera) {
		if (_ifrm.contentDocument
				&& _ifrm.contentDocument.documentElement.scrollHeight) {
			// FF中_ifrm.contentDocument.body.clientHeight 有时为0 改用documentElement
			var h = Math.min(
					_ifrm.contentDocument.documentElement.scrollHeight,
					_ifrm.contentDocument.body.scrollHeight)
			if (_ifrm.contentDocument.body.offsetWidth > 800)
				return;
			_ifrm.style.width = _ifrm.contentDocument.body.offsetWidth + "px";
			_ifrm.style.height = h + "px";
		} else if (_ifrm.Document) {
			if (_ifrm.Document.body.scrollHeight) {
				if (_ifrm.Document.body.scrollWidth > 800)
					return;
				_ifrm.style.width = _ifrm.Document.body.scrollWidth;
				_ifrm.style.height = _ifrm.Document.body.scrollHeight;
			} else {
				if (_ifrm.Document.documentElement.scrollWidth > 800)
					return;
				_ifrm.style.width = _ifrm.Document.documentElement.scrollWidth;
				_ifrm.style.height = _ifrm.Document.documentElement.scrollHeight;
			}
		}
	}
	if (parseInt(_ifrm.style.height) < 238) {
		_ifrm.style.height = 238 + "px";
	}
	/*
	 * try { if(window.parent == window) { return; }
	 * 
	 * var parentIframe = window.parent.document.getElementById("index_right");
	 * if(parent.resizeIframe){ parent.resizeIframe(parentIframe); } }catch(ex)
	 * {return;}
	 */
}

// 自动调整iframe高度
function co_autoIFrameHeight(_iframeId) {
	var iframe = document.getElementById(_iframeId);
	if (iframe && !window.opera) {
		if (iframe.contentDocument) {
			var h = Math.min( iframe.contentDocument.documentElement.scrollHeight, iframe.contentDocument.body.scrollHeight)
			iframe.style.height = h + 'px';
		} else if (iframe.Document) {
			iframe.style.height = iframe.Document.body.scrollHeight + 'px';
		} else{
			iframe.style.height = iframe.Document.documentElement.scrollHeight + 'px';
		}
	}
}
