function $(obj)
{
	if (typeof(obj) == 'object')
	{
		return obj;
	}
	else
	{
		return document.getElementById(obj);
	}	
}

/***************************************************
隐藏指定的区域
trName:区域ID
***************************************************/
function HideObj(objID)
{
	if($(objID).style.display=='none')
		$(objID).style.display='';
	else
		$(objID).style.display='none';
}

function ShowMoreInfo(objImg, objID)
{
	if($(objID).style.display=='none')
	{
		$(objID).style.display='';
		objImg.src = '../skin/just/icon/SubImg.gif';
	}
	else
	{
		$(objID).style.display='none';
		objImg.src = '../skin/just/icon/AddImg.gif';
	}
}
/***************************************************
获取对象的当前位置,
反回:x,y坐标数组
***************************************************/
function GetObjLocation(obj)
{
	var a = [];
	for (var lx=0,ly=0; obj!=null; lx+=obj.offsetLeft,ly+=obj.offsetTop,obj=obj.offsetParent);	
	a[0] = lx;
	a[1] = ly;
	return a;
}
/***************************************************
在某个对象底部显示图片
***************************************************/
var _ObjImg;
function ShowObjImg(obj, img, w, h)
{
    if (!_ObjImg)
    {
        _ObjImg = document.createElement('img');
        _ObjImg.style.position = 'absolute';
        document.body.appendChild(_ObjImg);
    }
    _ObjImg.width = w;
    _ObjImg.height = h;
    _ObjImg.src = img;
    var arr = GetObjLocation(obj);
    _ObjImg.style.left = arr[0] + 'px';
    _ObjImg.style.top = arr[1]*1 + obj.offsetHeight + 'px';
    _ObjImg.style.zIndex = 999;
    _ObjImg.style.display = 'block';
}
function HideObjImg()
{
    if (_ObjImg) _ObjImg.style.display = 'none';
}

/***************************************************
往文本框中追加字符串.
***************************************************/
function AppendStrToInput(sStr, sInputID)
{
    if ($(sInputID) != null)
    {
        if (Instr($(sInputID).value, sStr))
        {
            $(sInputID).value = RemoveStr($(sInputID).value, sStr);
        }
        else
        {
            if ($(sInputID).value.length > 0)
                $(sInputID).value += "," + sStr;
            else
                $(sInputID).value = sStr;
        }
    }
}
function SetStrToInput(sStr, sInputID)
{
    if ($(sInputID) != null)
    {
        $(sInputID).value = sStr;
    }
}
/***************************************************
查换子串.
***************************************************/
function Instr(sStr, sSubStr)
{
    var arrCheckedValue = sStr.split(',');
    for (var i=0; i<arrCheckedValue.length; i++)
    {
        if (arrCheckedValue[i] == sSubStr)
        {
            return true;
        }
    }
	return false;
}
function RemoveStr(sStr, sSubStr)
{
	var arrCheckedValue = sStr.split(',');
	var sNewStr = "";
    for (var i=0; i<arrCheckedValue.length; i++)
    {
        if (arrCheckedValue[i] != sSubStr)
        {
            if (sNewStr == "")
            {
				sNewStr = arrCheckedValue[i];
            }
			else
			{
				sNewStr += "," + arrCheckedValue[i];
			}
        }
    }
	return sNewStr;
}
/**********************************************
显示模态窗体
***********************************************/
function showDialog(url,width,height,vArguments)
{
	if (url.indexOf('?') > -1)
	{
		url += "&rnd=" + Math.round(Math.random()*10000);
	}
	else
	{
		url += "?rnd=" + Math.round(Math.random()*10000);
	}
	if (document.all)
	{
		var value = showModalDialog(url, vArguments, "dialogWidth:"+width+"px; dialogHeight:"+height+"px; status:0;help:0;");
		return value;
	}
	else
	{
		window.open(url,'','width=' + width + ',height=' + height + ',scrollbars=yes');	
		window.FFDialogArgument = vArguments;
	}
}
function CopyText(sFromID, sToID)
{
    $(sToID).value = $(sFromID).value;
}
/**********************************************
获取URL-Query
***********************************************/
function Request(sKey)
{
	var url = window.location.href;
	var index = url.lastIndexOf('?');
	if (index != -1)
	{
		url = url.substr(index+1,url.length);
		var arr = url.split('&');
		var arr2
		for (var i=0; i<arr.length; i++)
		{
			arr2 = arr[i].split('=');
			if (arr2[0] == sKey)
				return arr2[1];
		}
	}
	return null;
}


function J_ActiveTab(obj)
{
	var objTabMenu = obj.parentNode.parentNode;
	var iCurrTabIndex;
	var objpageList;
	if (document.all)
	{
		objpageList = objTabMenu.parentNode.lastChild;
	}
	else
	{
		objpageList = objTabMenu.parentNode.childNodes[3];
	}
	for (var i=0; i<objTabMenu.childNodes.length; i++)
	{
		if (objTabMenu.childNodes[i].firstChild == obj)
		{
			iCurrTabIndex = i;
		}
		if (objTabMenu.childNodes[i].tagName)
		{
			objTabMenu.childNodes[i].className = 'tabButton';
			objpageList.childNodes[i].style.display = 'none';
		}
	}
	
	obj.parentNode.className = 'tabButtonActive';
	objpageList.childNodes[iCurrTabIndex].style.display = 'block';
	obj.blur();
}
/**********************************************
Ajax类
***********************************************/
function Ajax() {
	var xmlObj = false;
	var CBfunc,ObjSelf;
	ObjSelf=this;
	try { xmlObj=new XMLHttpRequest; }
	catch(e) {
		try { xmlObj=new ActiveXObject("MSXML2.XMLHTTP"); }
		catch(e2) {
			try { xmlObj=new ActiveXObject("Microsoft.XMLHTTP"); }
			catch(e3) { xmlObj=false; }
		}
	}
	if (!xmlObj) return false;
	if(arguments[0]) this.url=arguments[0]; else this.url="";
	if(arguments[1]) this.callback=arguments[1]; else this.callback=function(obj){return};
	if(arguments[2]) this.content=arguments[2]; else this.content="";
	if(arguments[3]) this.method=arguments[3]; else this.method="POST";
	if(arguments[4]) this.async=arguments[4]; else this.async=true;
	this.send=function() {
		var purl,pcbf,pc,pm,pa;
		if(arguments[0]) purl=arguments[0]; else purl=this.url;
		if(arguments[1]) pc=arguments[1]; else pc=this.content;
		if(arguments[2]) pcbf=arguments[2]; else pcbf=this.callback;
		if(arguments[3]) pm=arguments[3]; else pm=this.method;
		if(arguments[4]) pa=arguments[4]; else pa=this.async;
		if(!pm||!purl||!pa) return false;
		xmlObj.open (pm, purl, pa);
		if(pm=="POST") xmlObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		xmlObj.onreadystatechange=function() {
			if(xmlObj.readyState==4) {
				if(xmlObj.status==200) {
					pcbf(xmlObj);
				}
				else {
					pcbf(null);
				}
			}
		}
		if(pm=="POST")
			xmlObj.send(pc);
		else
			xmlObj.send("");
	}
	this.get=function() {
		var purl,pcbf;
		if(arguments[0]) purl=arguments[0]; else purl=this.url;
		if(arguments[1]) pcbf=arguments[1]; else pcbf=this.callback;
		if(!purl&&!pcbf) return false;
		this.send(purl,"",pcbf,"GET",true);
	}
	this.post=function() {
		var fo,pcbf,purl,pc,pm;
		if(arguments[0]) fo=arguments[0]; else return false;
		if(arguments[1]) pcbf=arguments[1]; else pcbf=this.callback;
		if(arguments[2])
			purl=arguments[2];
		else if(fo.action)
			purl=fo.action;
		else
			purl=this.url;
		if(arguments[3])
			pm=arguments[3];
		else if(fo.method)
			pm=fo.method.toLowerCase();
		else
			pm="post";
		if(!pcbf&&!purl) return false;
		pc=this.formToStr(fo);
		if(!pc) return false;
		if(pm) {
			if(pm=="post")
				this.send(purl,pc,pcbf,"POST",true);
			else
				if(purl.indexOf("?")>0)
					this.send(purl+"&"+pc,"",pcbf,"GET",true);
				else
					this.send(purl+"?"+pc,"",pcbf,"GET",true);
		}
		else
			this.send(purl,pc,pcbf,"POST",true);
	}

	this.formToStr=function(fc) {
		var i,query_string="",and="";
		for(i=0;i<fc.length;i++) {
			e=fc[i];
			if (e.name!='') {
				if (e.type=='select-one') {
					element_value=e.options[e.selectedIndex].value;
				}
				else if (e.type=='checkbox' || e.type=='radio') {
					if (e.checked==false) {
						continue;	
					}
					element_value=e.value;
				}
				else {
					element_value=e.value;
				}
				element_value=encodeURIComponent(element_value);
				query_string+=and+e.name+'='+element_value;
				and="&";
			}
		}
		return query_string;
	}
}