/* -- 快捷方式方法 -- */
// 根据id获取DOM节点的快捷方式
function $(id) {
	return document.getElementById(id);
}

// 根据id获取输入组件值的快捷方式
function $V(id) {
	try{
		return document.getElementById(id).value;
	} catch(e) {
		return "";
	}
}

// 根据id设置输入组件值的快捷方式
function $SV(id, value) {
	try{
		document.getElementById(id).value = value;
	} catch(e) {
	}
}

// 根据id获取DOM节点的innerHTML的快捷方式
function $H(id) {
	try {
		return document.getElementById(id).innerHTML;
	} catch(e) {
		return "";
	}
}

// 根据id设置DOM节点的innerHTML的快捷方式
function $SH(id, html) {
	try{
		document.getElementById(id).innerHTML = html;
	} catch(e) {
	}
}

// 获取指定节点下指定标签名字子节点的快捷方式
function $C(father, tagName) {
	try{
		return father.getElementsByTagName(tagName);
	} catch(e) {
		return new Array(0);
	}
}

/* -- 基础类扩展 -- */
// String类扩展 剔除字符串前后空白的操作
String.prototype["trim"] = function() {
	var startSpace = /^\s*/;
	var endSpace = /\s$/;
	var textTemp = this;
	textTemp = textTemp.replace(startSpace, "");
	textTemp = textTemp.replace(endSpace, "");
	return textTemp;
}

// 按照指定模式将字符串转化成对应的日期
String.prototype.toDate = function(style) {
	var parseIntEx = function(text) {
		var result = parseInt(text);
		if(result == 0 && text.length != 1) {
			result = parseInt(text.substring(1));
		}
		return result;
	}

	// 截取指定的日期字段值
	var y = this.substring(style.indexOf("y"), style.lastIndexOf("y") + 1);
	var m = this.substring(style.indexOf("M"), style.lastIndexOf("M") + 1);
	var d = this.substring(style.indexOf("d"), style.lastIndexOf("d") + 1);

	// 字段处理
	y = parseIntEx(y);
	if(y < 100) {
		y += 2000;
	}
	m = parseIntEx(m);
	d = parseIntEx(d);

	// 返回结果
	return new Date(y, (m-1), d);
};

// 将当前日期对象的值按照指定格式格式化
Date.prototype.format = function(style) {
	var o ={
		"M+": this.getMonth() + 1,
		"d+": this.getDate(),
		"w+": "7123456".charAt(this.getDay())
	};
	// 年份处理
	if(/(y+)/.test(style)) {
		style = style.replace(RegExp.$1,
		(this.getFullYear() + "").substr(4 - RegExp.$1.length));
	}
	// 其他字段处理
	for(var k in o){
		if(new RegExp("(" + k + ")").test(style)) {
			style = style.replace(RegExp.$1,
			RegExp.$1.length == 1 ? o[k] :
			("00" + o[k]).substr(("" + o[k]).length));
		}
  	}
  	return style;
};