//使指定IFrame自适应高度
function M$()
{
	var frame = arguments[0];
	if (frame == null)
	{
		frame = window.frameElement;
	}
	else
	{
		frame = $(frame);
	}
	if (frame == null)
	{
		return;
	}
	try
	{
		if (frame instanceof Array)
		{
			for (var i = 0, maxI = frame.length; i < maxI; i++)
			{
				try
				{
					frame[i].width = document.body.scrollWidth;
					frame[i].height = document.body.scrollHeight;
				}
				catch(err)
				{
				}
			}
		}
		else
		{
			frame.width = document.body.scrollWidth;
			frame.height = document.body.scrollHeight;
		}
	}
	catch(err)
	{
	}
}
//设置或者获取指定元素值
function C$()
{
	var control = arguments[0];
	var controls = new Array();
	if (typeof(control) == "string")
	{
		control = $(control);
	}
	if (control == null)
	{
		return null;
	}
	if (control.constructor == Array)
	{
		controls = control;
	}
	else
	{
		controls.push(control);
	}
	switch(arguments.length)
	{
		case 0:
			return;
		case 1://获取值
			var val = "";
			for (var i = 0, maxI = controls.length; i < maxI; i++)
			{
				var item = controls[i];
				if (item.form != null && item.value != null && item.value != "")
				{
					if (item.checked == false)
					{
						continue;
					}
					if (val != "")
					{
						val += ", ";
					}
					val += item.value;
				}
			}
			return val;
			break;
		default:
			for (var i = 1, maxI = controls.length; i < maxI; i++)
			{
				var control = controls[i];
				if (control.form != null)
				{
					if (typeof(control.checked) != "undefined")
					{
						control.checked = false;
						for (var j = 1, maxJ = arguments.length; j < maxJ; j++)
						{
							var val = arguments[i];
							if (control.value == val)
							{
								control.checked = true;
								break;
							}
						}
					}
					else if (typeof(control.selectedIndex) != "undefined")
					{
						control.selectedIndex = 0;
						for (var j = 0, maxJ = control.options.length; j < maxJ; j++)
						{
							var option = control.options[i];
							if (option != null)
							{
								option.selected = false;
								for (var k = 1, maxK = arguments.length; k < maxK; k++)
								{
									var val = arguments[i];
									if (option.value == val)
									{
										option.selected = true;
										break;
									}
								}
								if (option.selected == true)
								{
									break;
								}
							}
						}
					}
					else
					{
						control.value = "";
						for (var j = 1, maxJ = arguments.length; j < maxJ; j++)
						{
							var val = arguments[i];
							if (val != null)
							{
								control.value = val;
								break;
							}
						}
					}
				}
			}
			break;
	}
}
//设置或者获取指定属性
function S$()
{
	var control = arguments[0];
	var prop = arguments[1];
	var controls = new Array();
	if (typeof(control) == "string")
	{
		control = $(control);
	}
	if (control == null || prop == null)
	{
		return null;
	}
	if (control.constructor == Array)
	{
		controls = control;
	}
	else
	{
		controls.push(control);
	}
	switch(arguments.length)
	{
		case 0:
		case 1:
			return;
		case 2://获取值
			var val = "";
			for (var i = 0, maxI = controls.length; i < maxI; i++)
			{
				var item = controls[i][prop];
				if (item != null)
				{
					if (val != "")
					{
						val += ", ";
					}
					val += item;
				}
			}
			return val;
			break;
		default:
			for (var i = 1, maxI = arguments.length; i + 1 < maxI; i+=2)
			{
				prop = arguments[i];
				var val = arguments[i + 1];
				for (var j = 0, maxJ = controls.length; j < maxJ; j++)
				{
					try
					{
						eval("controls[j]." + prop + " = val");
					}
					catch(err)
					{
					}
				}
			}
			break;
	}
}
//清除控件数据
function D$()
{
	var startIndex = null;
	var endIndex = null;
	var controls = new Array();
	for (var i = 0, maxI = arguments.length; i < maxI; i++)
	{
		var control = arguments[i];
		if (control == null)
		{
			continue;
		}
		if (typeof(control) == "string")
		{
			control = $(control);
		}
		if (control.constructor == Array)
		{
			controls = control;
		}
		else if(control.tagName != null)
		{
			controls.push(control);
		}
		else if(typeof(control) == "number" || /[0-9]+/i.test(control + ""))
		{
			if (startIndex == null)
			{
				startIndex = parseInt(control + "");
			}
			else
			{
				endIndex = parseInt(control + "");
			}
		}
	}
	if (startIndex == null)
	{
		startIndex = 0;
	}
	if (endIndex == null)
	{
		endIndex = 0;
		for (var i = 0, maxI = controls.length; i < maxI; i++)
		{
			try
			{
				if (endIndex < controls[i].children.length)
				{
					endIndex = controls[i].children.length;
				}
			}
			catch(err)
			{
			}
		}
	}
	endIndex = parseInt(endIndex);
	for (var i = startIndex; i < endIndex; i++)
	{
		for (var j = 0, maxJ = controls.length; j < maxJ; j++)
		{
			control = controls[j];
			try
			{
				control.removeChild(control.children[startIndex]);
			}
			catch(err)
			{
			}
		}
	}
}
//将数据绑定到控件
function B$()
{
	if (arguments.length < 2)
	{
		return;
	}
	var ds = arguments[0];
	var control = arguments[1];
	var element = arguments[2];
	startIndex = 3;
	if (ds == null || control == null)
	{
		return;
	}
	if (typeof(control) == "string")
	{
		control = $(control);
	}
	if (control.constructor == Array)
	{
		control = control[0];
	}
	if (typeof(control.tagName) == "undefined" || typeof(control.appendChild) == "undefined")
	{
		return;
	}
	if (typeof(ds.length) == "undefined" || ds.length == null || isNaN(parseInt(ds.length)))
	{
		return;
	}
	try
	{
		if (element == null)
		{
			switch(control.tagName.toLowerCase())
			{
				case "select":
					element = "option";
					break;
				case "td":
					element = "span";
					break;
				case "tr":
					element = "td";
					break;
				case "table":
					element = "tr";
					break;
				case "p":
					element = "span";
					break;
				case "div":
					element = "div";
					break;
				default:
					element = control.tagName;
			}
		}
		if (element != null)
		{
			if (typeof(element) == "string" || typeof(element.tagName) == "undefined")
			{
				element = document.createElement(element + "");
			}
		}
		if (element == null)
		{
			return;
		}
	}
	catch(err)
	{
		return;
	}
	var src = new Array();
	var dst = new Array();
	var srcField = null;
	var dstField = null;
	for (var i = startIndex, maxI = arguments.length; i < maxI; i++)
	{
		var arg = arguments[i];
		if (typeof(element[arg]) != "undefined")
		{
			srcField = arg;
		}
		if (typeof(ds[0][arg]) != "undefined")
		{
			dstField = arg;
		}
		if (srcField != null && dstField != null)
		{
			src.push(srcField);
			dst.push(dstField);
			srcField = null;
			dstField = null;
		}
	}
	if (src.length == 0)
	{
		for(var dstProp in ds[0])
		{
			for (var srcProp in element)
			{
				if (dstProp.toLowerCase() == srcProp.toLowerCase())
				{
					src.push(srcProp);
					dst.push(dstProp);
				}
			}
		}
	}
	for (var i = 0, maxI = ds.length; i < maxI; i++)
	{
		var row = ds[i];
		if (row != null)
		{
			try
			{
				element = element.cloneNode(true);
				for(var j = 0, maxJ = src.length; j < maxJ; j++)
				{
					element[src[j]] = ds[i][dst[j]];
				}
				if (control.options)
				{
					try
					{
						control.options.add(element);
					}
					catch(err)
					{
						control.appendChild(element);
					}
				}
				else
				{
					control.appendChild(element);
				}
			}
			catch(err)
			{
				//window.alert(err.description);
			}
		}
	}
}
//聚焦指定元素
function O$()
{
	for (var i = 0, maxI = arguments.length; i < maxI; i++)
	{
		var arg = arguments[i];
		if (arg != null)
		{
			if (typeof(arg) == "string" || typeof(arg) == "number")
			{
				arg = $(arg);
			}
			if (arg.constrauctor == Array)
			{
				for (var j = 0, maxJ = arg.length; j < maxJ; j++)
				{
					try
					{
						arg[j].focus();
					}
					catch(err)
					{
					}
				}
			}
			else
			{
				try
				{
					arg.focus();
				}
				catch(err)
				{
				}
			}
		}
	}
}
function TT$()
{
	for (var i = 0, maxI = arguments.length; i < maxI; i++)
	{
		var fun = arguments[i];
		if (fun != null)
		{
			try
			{
				if (typeof(fun) == "string")
				{
					var res = eval(fun);
					return res;
				}
				if (typeof(fun) == "function")
				{
					var res = fun();
					return res;
				}
			}
			catch(err)
			{
			}
		}
	}
}
function T$()
{
	for (var i = 0, maxI = arguments.length; i < maxI; i++)
	{
		var fun = arguments[i];
		if (fun != null)
		{
			try
			{
				if (typeof(fun) == "string")
				{
					fun = eval(fun);
				}
				if (typeof(fun) == "function")
				{
					fun();
				}
			}
			catch(err)
			{
			}
		}
	}
}
//获取请求参数
function R$()
{
	var queryString = window.location + "";
	if (queryString.indexOf("?") == -1)
	{
		return "";
	}
	queryString = queryString.substring(queryString.indexOf("?") + 1, queryString.length);
	var blocks = queryString.split(/\&/gi);
	var param = "";
	for (var i = 0; i < blocks.length; i++)
	{
		var block = blocks[i];
		var name = block;
		var value = "";
		if (block.indexOf("=") > 0)
		{
			name = name.substring(0, name.indexOf("="));
			value = block.substring(block.indexOf("=") + 1, block.length);
		}
		else
		{
			continue;
		}
		name = name.toLowerCase();
		for (var j = 0; j < arguments.length; j++)
		{
			var compare = arguments[j] + "";
			compare = compare.toLowerCase();
			if (compare == name)
			{
				if (param != "")
				{
					param += ", ";
				}
				param += value;
				break;
			}
		}
	}
	return param;
}
//利用Post方法获取数据
function P$()
{
	if (arguments.length < 1)
	{
		return null;
	}
	var url = arguments[0];
	if (url == null)
	{
		url = "";
	}
	else
	{
		url += "";
	}
	var data = "";
	var name = null;
	for (var i = 1, maxI = arguments.length; i < maxI; i++)
	{
		var item = arguments[i];
		if (typeof(item) != "string")
		{
			for(var prop in item)
			{
				var propValue = item[prop];
				if (propValue != null)
				{
					if (propValue.constructor == Array)
					{
						for (var j = 0, maxJ = propValue.length; j < maxJ; j++)
						{
							if (data != "")
							{
								data += "&";
							}
							data += prop + "=" + escape(propValue[j]);
						}
					}
					else
					{
						if (data != "")
						{
							data += "&";
						}
						data += prop + "=" + escape(propValue);
					}
				}
			}
		}
		else
		{
			if (name == null)
			{
				name = item;
			}
			else
			{
				if (data != "")
				{
					data += "&";
				}
				data += name + "=" + escape(item);
				name = null;
			}
		}
	}
	var request;
	if (ActiveXObject)
	{
		request = new ActiveXObject("Msxml2.XMLHTTP");
	}
	else
	{
		request = new XMLHttpRequest();
	}
	request.open("POST", url, false);
	request.setRequestHeader("X-Requested-With", "XMLHttpRequest");
	request.setRequestHeader("X-PoweredBy", "P$");
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	request.send(data);
	return request.responseText;
}
//利用Get方法获取数据
function G$()
{
	if (arguments.length < 1)
	{
		return null;
	}
	var url = arguments[0];
	if (url == null)
	{
		url = "";
	}
	else
	{
		url += "";
	}
	var data = "";
	var name = null;
	for (var i = 1, maxI = arguments.length; i < maxI; i++)
	{
		var item = arguments[i];
		if (typeof(item) != "string")
		{
			for(var prop in item)
			{
				var propValue = item[prop];
				if (propValue != null)
				{
					if (propValue.constructor == Array)
					{
						for (var j = 0, maxJ = propValue.length; j < maxJ; j++)
						{
							if (data != "")
							{
								data += "&";
							}
							data += prop + "=" + escape(propValue[j]);
						}
					}
					else
					{
						if (data != "")
						{
							data += "&";
						}
						data += prop + "=" + escape(propValue);
					}
				}
			}
		}
		else
		{
			if (name == null)
			{
				name = item;
			}
			else
			{
				if (data != "")
				{
					data += "&";
				}
				data += name + "=" + escape(item);
				name = null;
			}
		}
	}
	var request;
	if (ActiveXObject)
	{
		request = new ActiveXObject("Msxml2.XMLHTTP");
	}
	else
	{
		request = new XMLHttpRequest();
	}
	if (url.indexOf("?") >= 0)
	{
		url += "&" + data;
	}
	else
	{
		url += "?" + data;
	}
	request.open("GET", url, false);
	request.setRequestHeader("X-Requested-With", "XMLHttpRequest");
	request.setRequestHeader("X-PoweredBy", "G$");
	request.send();
	return request.responseText;
}
//获取表单
function F$()
{
	var args = Array();
	var exp = "";
	var resF = new Array();
	for (var i = 0, maxI = arguments.length; i < maxI; i++)
	{
		var arg = arguments[i];
		if (arg == null)
		{
			continue;
		}
		if (arg.constructor == Array)
		{
			for (var i = 0, maxI = arg.length; i < maxI; i++)
			{
				if (typeof(arg[i].form) != "undefined")
				{
					resF.push(arg[i]);
				}
			}
		}
		else
		{
			if (exp != "")
			{
				exp += ",";
			}
			exp += "args[" + i + "]";
			args[i] = arguments[i];
		}
	}
	var res = null;
	if (exp != "")
	{
		exp = "$(" + exp + ")";
		var res = eval(exp);
	}
	if (res == null)
	{
	}
	else if (res.constructor == Array)
	{
		for (var i = 0, maxI = res.length; i < maxI; i++)
		{
			if (typeof(res[i].form) != "undefined")
			{
				resF.push(res[i]);
			}
		}
	}
	else if (typeof(res.form) != "undefined")
	{
		resF.push(res);
	}
	if (resF.length > 1)
	{
		return resF;
	}
	else if (resF.length > 0)
	{
		return resF[0];
	}
	return null;
}
//获取指定元素
function $()
{
	var res = new Array();
	for (var i = 0, maxI = arguments.length; i < maxI; i++)
	{
		var arg = arguments[i];
		var element;
		if (arg == null)
		{
			continue;
		}
		else if (typeof(arg.tagName) != "undefined")
		{
			element = new Array();
			element.push(arg);
		}
		else
		{
			element = document.getElementsByName(arg);
		}
		if (element.length == 0)
		{
			element = document.getElementById(arg);
			if (element != null)
			{
				if (res.I$(element) == -1)
				{
					res.push(element);
				}
			}
		}
		else
		{
			for (var j = 0, maxJ = element.length; j < maxJ; j++)
			{
				if (res.I$(element[j]) == -1)
				{
					res.push(element[j]);
				}
			}
		}
	}
	switch(res.length)
	{
		case 0:
			return null;
		case 1:
			return res[0];
		default:
			return res;
	}
}
//根据指定属性获取元素 但是不区分大小写
function NN$()
{
	var minLen = 2;
	var elements = null;
	if (arguments.length > 2 && arguments[0] != null)
	{
		elements = arguments[0];
		if (elements.constructor == Array)
		{
			minLen++;
		}
		else
		{
			elements = null;
		}
	}
	if (arguments.length < minLen)
	{
		return elements;
	}
	if (elements == null)
	{
		elements = document.all;
	}
	var resNN = new Array();
	var name = arguments[minLen - 2] + "";
	name = name.toLowerCase();
	for (var i = 0, maxI = elements.length; i < maxI; i++)
	{
		var prop = null;
		for (var propName in elements[i])
		{
			if (propName.toLowerCase() == name)
			{
				prop = propName;
				break;
			}
		}
		if (prop == null)
		{
			continue;
		}
		prop = elements[i][prop];
		prop += "";
		prop = prop.toLowerCase();
		for (var j = 1, maxJ = arguments.length; j < maxJ; j++)
		{
			var propCompare = arguments[j] + "";
			propCompare = propCompare.toLowerCase();
			if (prop == propCompare)
			{
				resNN.push(elements[i]);
				break;
			}
		}
	}
	return resNN;
}
//根据指定属性获取元素
function N$()
{
	var minLen = 2;
	var elements = null;
	if (arguments.length > 2 && arguments[0] != null)
	{
		elements = arguments[0];
		if (elements.constructor == Array)
		{
			minLen++;
		}
		else
		{
			elements = null;
		}
	}
	if (arguments.length < minLen)
	{
		return elements;
	}
	if (elements == null)
	{
		elements = document.all;
	}
	var resN = new Array();
	for (var i = 0, maxI = elements.length; i < maxI; i++)
	{
		var prop = elements[i][arguments[minLen - 2]];
		for (var j = 1, maxJ = arguments.length; j < maxJ; j++)
		{
			if (prop == arguments[j])
			{
				resN.push(elements[i]);
				break;
			}
		}
	}
	return resN;
}
function I$()
{
	if (arguments.length < 2)
	{
		return -1;
	}
	var array = arguments[0];
	if (array == null)
	{
		return -1;
	}
	if (typeof(array.length) != "undefined")
	{
		for (var i = 0, maxI = array.length; i < maxI; i++)
		{
			var item = array[i];
			for (var j = 1, maxJ = arguments.length; j < maxJ; j++)
			{
				if (arguments[j] == item)
				{
					return i;
				}
			}
		}
	}
	else
	{
		var index = 0;
		for (var prop in array)
		{
			var value = array[prop];
			for (var i = 1, maxI = arguments.length; i < maxI; i++)
			{
				if (arguments[i] == value)
				{
					return index;
				}
			}
			index++;
		}
	}
	return -1;
}
Array.prototype.I$=function()
{
	var exp = "I$(this";
	var args = new Array();
	for (var i = 0, maxI = arguments.length; i < maxI; i++)
	{
		args[i] = arguments[i];
		exp += ", args[" + i + "]";
	}
	exp += ")";
	var index = eval(exp);
	return index;
}