/**
 * 根据id获取对象
 */
function $(id) {
	return document.getElementById(id);
}

/**
 * 添加页面加载完毕后要执行的方法
 */
function addLoadEvent(func){
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function(){
			oldonload();
			func();
		}
	}
}

/**
 * 添加页面加载完毕后要执行的方法
 */
function addOnLoadEvent(invoker, func){
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = function() {
			func.apply(invoker);
		}
	} else {
		window.onload = function(){
			oldonload();
			func.apply(invoker);
		}
	}
}

/**
 * 扩展Array, 为原型增加一个判断是否包含传入的值的方法
 */
Array.prototype.contains = function(_val) {
	for (var i = 0; i < this.length; i++) {
		if (this[i] == _val) {
			return true;
		}
	}
	return false;
}

/**
 * 增加一个扩展window.setTimeout的函数
 */
var cusSetTimeout = function(invoker, fRef, mDelay) {
	if (typeof fRef == "function") {
		var argu = Array.prototype.slice.call(arguments, 3);
		var f = (function() {
			fRef.apply(invoker, argu);
		});
		return setTimeout(f, mDelay); // window.setTimeout原来有返回值，这里重写也应该返回
	}
	return setTimeout(fRef, mDelay); // 相当于setTimeout("test()", timeout);
}

/**
 * 增加一个扩展window.setInterval的函数
 */
var cusSetInterval = function(invoker, fRef, mDelay) {
	if (typeof fRef == "function") {
		var argu = Array.prototype.slice.call(arguments, 3);
		var f = (function() {
			fRef.apply(invoker, argu);
		});
		return setInterval(f, mDelay); // window.setInterval原来有返回值，这里重写也应该返回
	}
	return setInterval(fRef, mDelay); // 相当于setInterval("test()", timeout);
}