﻿var customLeft=null;
//通用的tr背景颜色
var openTableSelectedColor = '#E1EAFB';
/* 
* instead of "document.getElementById" by $
*/
function $(s){return document.getElementById(s);}

/**
* ajax commit method
*/
function ajaxAnyWhereCommit(formName,url)
{
	ajaxAnywhere.formName=formName;
 	document.forms[formName].action=url;
	ajaxAnywhere.submitAJAX();
}
/**
 * ajax not show loadMessage
 * add by hongpeng_dong
 * @param flag true: not show loadMessage other:show loadMessage
 * @return 
 */
function hiddenLoadMessage(flag)
{
	ajaxAnywhere.setHiddenLoadMessage((flag=='true')?'true':'false');
}


/**
 * remove obj from the Array
 */
Array.prototype.remove = function(index){
 if(isNaN(index)||(index>=this.length)||(index<0)) return false;
    this.splice(index,1);
 return true;
}

/**
 * clear all obj from the Array
 */
Array.prototype.clear = function(){
 while(this.length>0) this.remove(this.length-1);
}


/**
 * 得到当前对象所在的form
 */
function getCurForm(evt)
{	
	var srcElement=null;
	 if(evt==null)evt=window.event;//IE
	 srcElement=evt.target||evt.srcElement;
	while(srcElement.tagName != "FORM")
	{
		srcElement = srcElement.parentNode;
	}

	if(srcElement.tagName != "FORM") return;
		return srcElement;
}


/*
 *获得event的通用方法，适用目前常用浏览器 ie6 ie7 firefox mozilla 
 * @param e ----> event
 */
function getEvent(e){
	if (window.Event) 
		return e;
	else
		return event;
}
/*
 * 获得子元素的通用方法
 * @param object 当前操作对象
 * @param child  取得第几个元素 下标从0开始
 */
function getChild(object,child,code){

	if (window.Event)
	{
			if(null == object)return;
			if(object.tagName=="TABLE"){
				if(null != object.childNodes[parseInt(0)]&&object.childNodes[parseInt(0)].nodeName=="#text" && trim(object.childNodes[parseInt(0)].nodeValue)=="")				
					object=object.childNodes[1];
			}
			if(object.tagName=="TBODY"){
				if(null !=object.childNodes[parseInt(0)]&&object.childNodes[parseInt(0)].nodeName=="#text" && trim(object.childNodes[parseInt(0)].nodeValue)=="")
					child = parseInt(child,"10")+parseInt(child,"10");
			}else if(object.tagName=="TR"){
				if(null !=object.childNodes[parseInt(0)]&&object.childNodes[parseInt(0)].nodeName=="#text" && trim(object.childNodes[parseInt(0)].nodeValue)=="")
					child = parseInt(child,"10")+parseInt(child,"10")+1;
			}else if(object.tagName=="TD"){
				if(null !=object.childNodes[parseInt(0)]&&object.childNodes[parseInt(0)].nodeName=="#text" && trim(object.childNodes[parseInt(0)].nodeValue)=="")
					child = parseInt(child,"10")+1;
			}
			return object.childNodes[parseInt(child)];
	}
	else
	{	
		if(null != code){
			var reg = /\s*</g;
			object.innerHTML=object.innerHTML.replace(reg,'<');
			var reg = />\s*/g;
			object.innerHTML=object.innerHTML.replace(reg,'>');
			return object.childNodes[parseInt(child)];
		}
		return object.children[parseInt(child)];
	}
}


/*
 * 获得table子元素的数组
 * @param object 当前操作对象
 */
function getChildNodes(tableId){
	var object = $(tableId);
	if (window.Event)
	{
			if(null == object)return;
			if(object.tagName=="TABLE"){
				if(null != object.childNodes[parseInt(0)]&&object.childNodes[parseInt(0)].nodeName=="#text" && trim(object.childNodes[parseInt(0)].nodeValue)=="")				
					object=object.childNodes[1];
			}
			var childNum = 0;
			for(var i=0;i<object.childNodes.length;i++){
				if(null != object.childNodes[parseInt(i)]&&object.childNodes[parseInt(i)].nodeName=="#text" && trim(object.childNodes[parseInt(i)].nodeValue)=="")
					continue;
				childNum++;
			}
			return childNum;
	}
	else
	{
		return object.children[0].children.length;
	}
	
}

/**
 * 取得指定节点的孩子的个数
 * add by hongpeng_dong
 * @param object 指定节点
 * @return 指定节点孩子个数
 */
function getChildLength(object){
	var childNum=0;
	for(var i=0;i<object.childNodes.length;i++){
		if(null != object.childNodes[parseInt(i)]&&object.childNodes[parseInt(i)].nodeName=="#text" && trim(object.childNodes[parseInt(i)].nodeValue)=="")
			continue;
		childNum++;
	}
	return childNum;
}

/**
 * 覆盖window.alert对象，
 */

//function alert(message){
	//setMessage(message);
//}

/**
 * 替代alert的弹出窗口 instead of alert method by setMessage method
 * @param message 弹出窗口上要显示的消息
 * @return 弹出窗口
 */
var setMessageHandle = null;//公用弹出窗口的handle
function setMessage(message){
	if('undefined' != message && null != message && '' != message){
		if(message.substring(message.length -1,message.length) != '!' && message.substring(message.length -1,message.length) != '！' && message.substring(message.length -1,message.length) != '。'){
			message += '！';
		}
	}
	var url = prjContextPath+'/common/errorMessage.jsp?message='+escape(escape(message));
	setMessageHandle = parent.openMessageWindow(url,295,130,'【系统提示信息】');
}
function closeSetMessage(){
	try{
		setMessageHandle.reset();
	}catch(e){
		history.go(-1);
	}
}

/**
 * 获得当前的系统时间
 */
function getCurrentDateTime(){
	var date = new Date();
	if(document.all)
		return date.getYear()+'-'+(parseInt(date.getMonth(),"10")+1)+'-'+date.getDate();
	else
		return (parseInt(date.getYear(),"10")+1900)+'-'+(parseInt(date.getMonth(),"10")+1)+'-'+date.getDate();
}


/**
 * 根据节点对象和其孩子节点数组的下标索引取得对应节点
 * add by hongpeng_dong
 * @param obj 节点对象 num 孩子数组索引
 * @return 对应的孩子节点
 */

function getObjChild(obj,num){
	var j = -1;
	if(null == obj.childNodes){return false;}
	for(var i=0;i<obj.childNodes.length;i++){
		if(obj.childNodes[i].nodeName == "#text"){
			continue;
		}
		j++;
		if(j == num){
			return obj.childNodes[i];
			break;
		}
	}
	return false;
}

/**
 * Ext刷新消息区域
 * add by hongpeng_dong
 * @param msg 要显示的消息
 * @return 
 */
function extMessage(msg){
	if(msg.length > 0){
		if(msg.substring(msg.length -1,msg.length) != '!' && msg.substring(msg.length -1,msg.length) != '！'){
			msg += '！';
		}
		parent.setMsg(msg);
	}
}


/**
 * 点击tr 改变样式(一般用于弹出窗口 table对象)
 * add by hongpeng_dong
 * @param obj 要操作的tr对象
 * @return 对应的孩子节点
 */
 //去掉离开的tr的样式
function cancleSelectd(obj){
	for(var i=0;i<obj.childNodes.length;i++){
		if(obj.childNodes[i].style.border != '0px'){
			obj.childNodes[i].style.border = '1px solid #EDEDED';
			obj.childNodes[i].style.borderLeft = 'none';
			obj.childNodes[i].style.borderRight = 'none';
			}
		}
}
//给点击选中的tr加样式
function trSelected(obj){
	obj.style.backgroundColor = openTableSelectedColor;
	for(var i=0;i<obj.childNodes.length;i++){
		if(obj.childNodes[i].style.border != '0px'){
			obj.childNodes[i].style.border = 'thin dotted #A3BAE9';
		obj.childNodes[i].style.borderLeft = 'none';
		obj.childNodes[i].style.borderRight = 'none';
		}
	}
}

/**
 * Ext刷新验证是否返回错误信息
 * add by hongpeng_dong
 * @param src = result.responseText
 * @return 有错误信息 弹出错误信息 返回true 否则返回false
 */
function isScript(src)
{	
	if (src.indexOf("setMessage(") != -1)  
 	{
 		if(src.indexOf("error:") != -1){
 			src = src.substring(0,src.indexOf("error:")) + src.substring(src.indexOf("error:")+6,src.length)
 		}
 		eval(src);
 		return true;
 	}
 	if (src.indexOf("error:") != -1)
 	{
 		setMessage(src.substring(src.indexOf("error:")+6,src.indexOf("<!-")));
 		return true;
 	}
 	return false;
}


/**
 * 为ext模糊查询和删除加loading信息
 * add by hongpeng_dong
 */
 
 function loadingMessage(dsName){
	this.ds = dsName;
	if(document.all)
		parent.ajaxAnywhere.showLoadingMessage();
	this.ds.on('load',function(){
		if(document.all){
   			parent.ajaxAnywhere.hideLoadingMessage();
   			//处理可编辑的grid在刷新后还存有编辑数据的情况
			if(ds.modified)
				ds.modified = [];   			
   		}
    }); 
}



/*
 * 设置页面上字典项的显示名称 需要在回调函数当中调用
 * 
 * @param pageDicInnerCode 传入参数 页面上需要设置字典项的隐含域的name属性
 * @param pageType         1主页面  2 弹出窗口  默认为1
 * @param replaceType        1表示需要把td中的内容全部替换
 */
function setPageDictionaryName(pageDicInnerCode,pageType,replaceType){
	var dicCodeArray = document.getElementsByName(pageDicInnerCode);
	for(var i = 0 ; i < dicCodeArray.length ; i++){
		if(dicCodeArray[i].value!="-1"&&dicCodeArray[i].value!=""){
			if(null != replaceType && "undefined" != replaceType && 1 == replaceType){
				if(null == pageType || "undefined" == pageType || 1 == pageType){
					dicCodeArray[i].parentNode.innerHTML = dicNameContainer[trim(dicCodeArray[i].value)];
				}else{
					dicCodeArray[i].parentNode.innerHTML = dicNameContainer[trim(dicCodeArray[i].value)];	
				}					
			}else{
				if(null == pageType || "undefined" == pageType || 1 == pageType){
					dicCodeArray[i].parentNode.innerHTML += dicNameContainer[trim(dicCodeArray[i].value)];
				}else{
					dicCodeArray[i].parentNode.innerHTML += parent.parent.dicNameContainer[trim(dicCodeArray[i].value)];	
				}				
			}
		}
	}
}
