/*
*	File Name: Common.js
*	Author   : Macky Liu
*	E-mail   : mackyliu@gmail.com
*	Website  : http://www.54caizi.org
*/

//允许IE6缓冲图片
try {document.execCommand('BackgroundImageCache', false, true);}
catch(e) {}

function killErrors() {
	alert("发生错误：\n\n错误描述："+arguments[0]+"\n出错地址："+arguments[1]+"\n出错行数："+arguments[2]);
	window.onerror=null;
	return true;
};
window.onerror = killErrors;

//层的展开/收缩
function viewnone(e){
	var obj = document.getElementById(e);
	obj.style.display=(obj.style.display=="none")?"":"none";
	if (arguments.length == 2) {
		if (arguments[1]=="show") {
			obj.style.display="";
		} else if (arguments[1]=="hide") {
			obj.style.display="none";
		}
	}
};


//重构document.write
function print(s) { document.write(s); };


//重构getElementsById
function $$(element) {
	if (arguments.length > 1) {
		for (var i = 0, elements = [], length = arguments.length; i < length; i++)
			elements.push($(arguments[i]));
		return elements;
	} else {
		return document.getElementById(arguments[0]);
	}
};

//重构getElementsByName
function $N() { return document.getElementsByName(arguments[0]); };

//重构getElementsByTagName
function $T() { // $T('input','box')
	if (arguments.length==1){
		return document.getElementsByTagName(arguments[0]);
	}else if(arguments.length==2){
		if (typeof(arguments[1])=="object"){
			return arguments[1].getElementsByTagName(arguments[0]);
		}else{
			return $(arguments[1]).getElementsByTagName(arguments[0]);
		}
	}
};

//重构getElementsByClassName
function $C(className, parentElement){
	var elems = ($$(parentElement)||document.body).getElementsByTagName("*");
	var result=[];
	var k = elems.length;
	for (i=0; j<k; i++){
		if ((" "+j.className+" ").indexOf(" "+className+" ")!=-1){
			result.push(j);
		}
	}
	return result;
};


//简单编码
String.prototype.encode = function() {
	return this.replace(/\</g, "&lt;").replace(/\>/g, "&gt;").replace(/&/g, "&amp;");
};
//简单反编码
String.prototype.decode = function() {
	return this.replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&amp;/g, "&");
};

//HTMLEncode函数
function HTMLEncode(str){
	if(str=="")return("");
	str = str.replace(/&/ig, "&amp;");			// &
	str = str.replace(/</ig, "&lt;");			// <
	str = str.replace(/>/ig, "&gt;");			// >
	str = str.replace(/'/ig, "&#39;");			// '
	str = str.replace(/"/ig, "&quot;");			// "
	str = str.replace(/\t/ig,"&nbsp;&nbsp;");	//Tab
	str = str.replace(/\r/ig,"");				// 回车
	//str = str.replace(/\n\n/ig,"<p>");		// 换行
	//str = str.replace(/\n/ig,"<br/>");		// 换行
	str = str.replace(/\x20/ig,"&nbsp;");		// 空格
	return str ;
};


//同时加载onload执行的N个函数
function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
};
/*
Example:
addLoadEvent(a);
addLoadEvent(b);
addLoadEvent(c);
*/


//新窗口打开链接处理
function externallinks() {
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i<anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("href") &&
			anchor.getAttribute("rel") == "external")
			anchor.target = "_blank";
	}
};
//window.onload = externallinks;
//Example: <a href="http://www.54caizi.com" rel="external">新窗口打开</a>


//左右两栏等高处理
function contour(a,b) {
	var l = document.getElementById(a).scrollHeight;
	var r = document.getElementById(b).scrollHeight;
	var layoutHeight = Math.max(l,r);
	document.getElementById(a).style.height=layoutHeight+"px";
	document.getElementById(b).style.height=layoutHeight+"px";
};


//无限栏等高处理
function autoHeight() {
	if (arguments.length > 1) {
		var x = arguments.length;
		var elements=[];
		for (i=0; i<x; i++) {
			elements.push(document.getElementById(arguments[i]).scrollHeight);
		}
		var max = elements[0];
		for (i=0; i<x; i++) {
			if (max < elements[i]) {
				max = elements[i];
			}
		}
		for (i=0; i<x; i++) {
			document.getElementById(arguments[i]).style.height = max+"px";
		}
	}
};
//autoHeight('a','b','c','d');


//修正IE6 PNG图片不透明问题
function enablePngImages() {
	var imgArr = document.getElementsByTagName("IMG");
	var version = parseFloat(navigator.appVersion.split("MSIE")[1]);
	if ((version >= 5.5 && version < 7.0) && (document.body.filters)) {
		for(var i=0, j=imgArr.length; i<j; i++){
			if(imgArr[i].src.toLowerCase().lastIndexOf(".png") != -1){
				imgArr[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + imgArr[i].src + "', sizingMethod='auto')";
				imgArr[i].src = "images/none.gif";
			}

			if(imgArr[i].currentStyle.backgroundImage.lastIndexOf(".png") != -1){
				var img = imgArr[i].currentStyle.backgroundImage.substring(5,imgArr[i].currentStyle.backgroundImage.length-2);
				imgArr[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+img+"', sizingMethod='crop')";
				imgArr[i].style.backgroundImage = "url(images/none.gif)";
			}
		}
	}
};


//防垃圾邮件处理
function sendmail(){
	if(window.location.hostname=="") {
		location.href="http://www.estopto.com";
	} else {
		if(navigator.userAgent.indexOf("IE")>0) {
			location.href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#101;&#115;&#116;&#64;&#101;&#115;&#116;&#111;&#112;&#116;&#111;&#46;&#110;&#101;&#116;";
		} else {
			location.href="mailto:est@estopto.net";
		}
	}
};
