/**************************************************************
 * <p>网站表单处理JavaScript Document</p>
 *  @Author:刘志坚(LzjLiu307@163.com)2008-2009
 **************************************************************/
/**
 * 全选中与全不选中checkbox资料(selChkBox(this.form,this,'selID'))
 * @param objForm 	表单form
 * @param objSel	选中所有资料的checkbox
 * @param objEle	点击objSel后要选中的checkbox
 * @return no 		无返回值
 */
function selChkBox(objForm,objSel,objEle)
{
	if (objSel.checked===true)
	{
		for (var i=0;i<objForm.elements.length;i++)
		{
			var e = objForm.elements[i];
			if (e.name == objEle)
			{
				e.checked=true;
			}
		}
	}
	else
	{
		for (var j=0;j<objForm.elements.length;j++)
		{
			var f = objForm.elements[j];
			if (f.name == objEle)
			{
				f.checked=false;
			}
		}
	}
}
//search hot key
function searchHot(keyword){
	var indexKey=document.getElementById("indexKey");
	indexKey.value=keyword;
	var indexKeyType=document.getElementById("indexKeyType");
	indexKeyType.value=0;
	indexSearch();
}
// search job
function indexSearch()
{
	var indexKey=document.getElementById("indexKey");
	if(indexKey.value=="职位关键字...")
		indexKey.value="";
	var m=document.IndexSearchForm;
	m.target="_blank";
	m.action="/Commons/ListPosition!list.shtml";
	m.submit();
}
function indexKeyFocus()
{
	var indexKey=document.getElementById("indexKey");
	var key=trim(indexKey.value);
	if(isNull(key) || key=="职位关键字...")
	{
		indexKey.value="";
		indexKey.className="input_keyfocus";
	}
}
function indexKeyBlur()
{
	var indexKey=document.getElementById("indexKey");
	if(isNull(indexKey.value))
	{
		indexKey.value='职位关键字...';
		indexKey.className='input_keyword';
	}
}
/**
 * 判断判断是否有选中一组checkbox中的一个或多个
 * @param obj 一组checkbox对象
 * @return bool true：最少选中了一个，false：一个都没有选中
 */
function isSelCheck(obj)
{
	var flag=false;
	if(obj)
	{
		if(obj[0])
		{
			for(var i = 0; i < obj.length; i++)
			{
				if(obj[i].checked)	//只要有选中一个就返回true
				{
					flag = true;
					break;
				}
			}
		}
		else
		{
			if(obj.checked)
			{
				flag = true;
			}
		}
	}
	return flag;
}
/**
 * 当反选一个checkbox时将全选的checkbox置为没有选中的状态
 * 当选中一个checkbox时检查是否objEle已全选中,是的话选中objSel
 * @param objForm 	表单form
 * @param objSel	选中所有资料的checkbox
 * @param objEle	点击objSel后要选中的checkbox
 */
function selChkAll(objForm,objEle,objSel)
{
	var flag=isAllCheck(objForm,objEle);
	if(flag)
	{
		if(objSel)
		{
			objSel.checked=true;
		}
	}
	else
	{
		if(objSel)
		{
			objSel.checked=false;
		}
	}
}
/**
 * 检查一组checkbox是否全部选中
 * @param objEle checkbox对象
 * @return boolean true:已全选中;false:没有全选中
 */
function isAllCheck(objForm,objEle)
{
	var allLen=0;
	var selLen=0;
	for(var i=0;i<objForm.elements.length;i++)
	{
		var ele = objForm.elements[i];
		if (ele.name == objEle)
		{
			allLen++;
		}
	}
	for(var j=0;j<objForm.elements.length;j++)
	{
		var elf = objForm.elements[j];
		if (elf.name == objEle && elf.checked===true)
		{
			selLen++;
		}
	}
	if(allLen==selLen)
	{
		return true;
	}
	else
	{
		return false;
	}
}
/**
 *返回一个form中选中的checkbox的以","连接的value值
 *@param form 表单对象
 *@param eName checkbox的名称
 */
function choose(form,eName)
{
	var s="";
	for(var i=0;i<form.elements.length;i++)
	{
		var e=form.elements[i];
		if(e.name==eName)
		{
			if (e.checked)
			{
				if(s=="")
					s=e.value;
				else
					s=s+","+e.value;
			}
		}
	}
	return s;
}
/**
 * 返回选中值
 * objCollection checkbox集合
 */
function chooseValue(objCollection)
{
	var s="";
	for(var i=0;i<objCollection.length;i++)
	{
		var ele=objCollection[i];
		if (ele.checked)
		{
			if(s=="")
				s=ele.value;
			else
				s=s+","+ele.value;
		}
	}
	return s;
}
/**
 *返回一个form中选中的checkbox的以","连接的ID值
 *@param form 表单对象
 *@param eName checkbox的名称
 */
function chooseID(form)
{
	var s="";
	if(form)
	{
		for(var i=0;i<form.elements.length;i++)
		{
			var e=form.elements[i];
			if(e.type=='checkbox' && e.checked && e.id!="")
			{
				s=s+e.id+",";
			}
		}
		if(s!=="")
		{
			s=s.substring(0,s.length-1);
		}
	}
	return s;
}
/**选中一组radio按钮中的一项
 *@param obj 单选按钮dom对象
 *@param val 当前得到的值
 */
function chkRadio(obj,val)
{
	var rLen=obj.length;
	for(var i=0;i<rLen;i++)
	{
		if(val==obj[i].value)
		{
	   		obj[i].checked=true;
			break;
		}
	}
}

/**
 * 取得一组radio中选中项的值
 * @param obj radio对象
 */
function retRadioValue(obj)
{
	var val="";
	var rLen=obj.length;
	for(var i=0;i<rLen;i++)
	{
		if(obj[i].checked==true)
		{
			val = obj[i].value;
			break;
		}
	}
	return val;
}
/**
 * 选中一个下拉菜单的所有项
 * @param objSelect 要选中的下拉菜单
 */
function selAllOption(objSelect)
{
    for(var i = 0; i < objSelect.length; i++)
        objSelect.options[i].selected = true;
}

/**
 * <p>根据指定值选定下拉列表</p>
 * @param varObj 要处理的下拉列表
 * @param varValue 要选中的值
 */
function selOption(varObj,varValue)
{
	if(typeof(varObj)=="object")
	{
		for(var i=0;i<varObj.length;i++)
		{
			if(varObj.options[i].value==varValue)
			{
				varObj.selectedIndex=i;
				break;
			}
		}
	}
}

/**
 * <p>从下拉菜单中删除选择的项</p>
 * @param sour 要处理的下拉列表
 */
function moveOption(sour)
{
    for(var i=sour.length-1;i>=0;i--)
    {
    	if(sour.options[i].selected===true)
    	{
			sour.remove(i);
		}
    }
}

/**
 * 往一个下拉列表中增加一项
 * @param objSelect 要增加的下拉对象
 * @param value option的值
 * @param text option的text
 */
function putOption(objSelect,value,text)
{
    var objOpt = document.createElement("option");
    objOpt.value = value;
    objOpt.text = text;
    try
    {
        objSelect.add(objOpt);
    }
    catch(e)
    {
        objSelect.add(objOpt, null);
    }
}
/**
 * 添加下拉菜单项之前的资料检查，主要针对岗位和地区
 * @param value 要添加的值value
 * @param obj 要添加下拉项的对象
 * @return String 资源文件key值
 */
function checkOption(value,obj)
{
	if(value=="")
		return "-1";//"sys.fun.sel.emp";
	//val分两种情况
	var preVal=value.substr(0,2);
	var latVal=value.substr(2,2);
	var iLen=obj.length;
	var sFlag="00";
	if(iLen<=2)
	{
		for(var i=0;i<iLen;i++)
		{
			var objValue=obj.options[i].value;
			var preObjValue=objValue.substr(0,2);
			var latObjValue=objValue.substr(2,2);
			if(latVal!=sFlag)		//选择的是子项，需要判断子项是否存在以及是否已经选择了该子项的父项
			{
				if(value==objValue)
				{
					return "-2";//"sys.fun.sel.exi";
					break;
				}
				if(latObjValue==sFlag && preVal==preObjValue)
				{
					return "-3";//"sys.fun.sel.lim";
					break;
				}
			}
			else					//选择的是父项，需要判断该父项是否存在以及是否已经选择该父项的子项
			{
				if(value==objValue)
				{
					return "-4";//"sys.fun.sel.exi";
					break;
				}
				if(preVal==preObjValue && latObjValue!=sFlag)
				{
					return "-5";//"sys.fun.sel.son";
					break;
				}
			}
		}
	}
	else
	{
		return "-6";//"sys.fun.sel.msg";
	}
	return "";
}

//当form中只有一个input text表单时，回车会自动提交到form的action，
//导致权限丢失，因此要更改它的onkeydown事件，同时增加一个display为none的text
/**key search*/
function keySearch(e,keyObj)
{
	if(null != keyObj && !isNull(keyObj.value))
	{
		var keyCode=getKeyCode(e);
		if(keyCode == 13)
		{
			search();
		}
	}
}

//当点中左导航页面加载完后直接回车会让action又运行一次
//该方法就是为了防止这种情况的发生，在页面init方法中调用
function frameFocus()
{
	var frameObj=window.parent.document.getElementById("mainFrame");
	if(null != frameObj)
		window.parent.document.getElementById("mainFrame").focus();
}

/**
 * 下拉菜单大小值检查
 * @param obj1 下拉菜单一
 * @param obj2 下拉菜单二
 */
function checkSelect(object1, object2)
{
	var obj1=document.getElementById(object1);
	var obj2=document.getElementById(object2);
	if(typeof(obj1.options[obj1.selectedIndex])=="undefined" || typeof(obj2.options[obj2.selectedIndex])=="undefined")
	{
		retrun ;
	}
	var idx1 = obj1.selectedIndex;
	var idx2 = obj2.selectedIndex;
	if (parseInt(obj1.value) > parseInt(obj2.value))
	{
		obj2.selectedIndex = idx1;
	}
}

/**
 * 检查一个下拉菜单中是否存在值为value的项
 * @param obj 要检查的下拉菜单
 * @param value 要检查的值
 * @return boolean 是否存在，true：存在，false：不存在
 */
function checkSelectValue(obj,value)
{
	var find=false;
	if(null != obj)
	{
		for (var i=0; i<obj.options.length; i++)
		{
			if (obj.options[i].value == value)
			{
				find = true;
				break;
			}
		}
	}
	return find;
}

/**
 * 选中下拉菜单最后一项
 * @param obj 要选中的下拉菜单
 */
function selLastIndex(obj)
{
	if(null != obj)
	{
		var iLen=obj.options.length;
		if(iLen-1>=0)
			obj.selectedIndex=iLen-1;
	}
}
