/************************************/
/******打开一个居中的子窗口******/
//参数说明： titlename 标题
//		  url 打开的新窗口URL 
//			h 新窗口的高度
//			w 新窗口的宽度
/************************************/
function centerWindow(titlename,url,h,w)
{
	if(!document.getElementById('GB_window'))
		GB_showCenter(titlename,url,h,w);
}

/**
 * 弹出有窗体名的窗口
 */
function centerByNameWindow(url,winName,h,w)
{
	var  x=((window.screen.width-w)/2);  
	var  y=((window.screen.height-h)/2);  	
	var subWin = window.open(url,winName,'height='+h+',width='+w+',left='+x+',top='+y+',toolbar=no,scrollbars=yes');
	return subWin;
}

function centerDLLTree(url,h,w)
{
	//var p = getElementPos(elementId);
	
	var  x=((window.screen.width-w)/2);  
	var  y=((window.screen.height-h)/2); 
	//toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no
	window.open(url,'dlltree','height='+h+',width='+w+',left='+x+',top='+y+',menubar=no,toolbar=no,location=no,resizable=no,toolbar=no,scrollbars=yes');
}

//清空输入框的函数
function ClearInput(strs)
{
	var eleObjs = null;
	if(null == strs || ""==strs) return;
	if(strs.indexOf(",")<0) return [strs];
	
	if(strs.indexOf(",")>0) eleObjs = strs.split(",");
	for(var i=0;i<eleObjs.length;i++)
	{
		var objname = "document.theForm."+eleObjs[i];
		var obj = eval(objname);
		if(obj!=null)
		{
			if(obj.type=="select-one" || obj.type=="hidden")
			{
				obj.selectedIndex=0;
			}
			else
			{
				obj.value="";
			}
		}
	}
}

/***********重写： 清空输入框的函数
** 适合Form name 不是"theForm"的其它所有表单
*	param: FormName 表单名
*	param: strs	要清空的文本框和下拉框的name属性。多个用“,”隔开
*/
function ClearFormInput(FormName,strs)
{
	var eleObjs = null;
	if(null == strs || ""==strs) return;
	if(strs.indexOf(",")<0) return [strs];
	
	if(strs.indexOf(",")>0) eleObjs = strs.split(",");
	for(var i=0;i<eleObjs.length;i++)
	{
		var objname = "document."+FormName+"."+eleObjs[i];
		var obj = eval(objname);
		if(obj!=null)
		{
			if(obj.type=="select-one")
			{
			obj.selectedIndex=0;
			}
			else
			{
				obj.value="";
			}
		}
	}
}

/**
 *  禁用按钮
 *  @param startbtnName 数字型.说明:第一个按钮的名字
 *  @param endbtnName 数字型.说明:最后一个按钮的名字
 */
function disabled_btn(startbtnName,endbtnName)
{
	var btn = null;
	for(var startbtnName=61001;startbtnName<=endbtnName;startbtnName++)
	{
		btn = document.getElementsByName(startbtnName);
		if(btn) btn.disabled = "disabled";
	}
}

/************************************/
/******取得一个元素的left和Top坐标******/
/************************************/
function getElementPos(elementId) {
	var ua = navigator.userAgent.toLowerCase();
	var isOpera = (ua.indexOf('opera') != -1);
	var isIE = (ua.indexOf('msie') != -1 && !isOpera); // not opera spoof
	var el = document.getElementById(elementId);
	if(el.parentNode === null || el.style.display == 'none') {
		return false;
	}	  
	var parent = null;
	var pos = [];	 
	var box;	 
	if(el.getBoundingClientRect)//IE
	{		 
		box = el.getBoundingClientRect();
		var scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
		var scrollLeft = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
		return {x:box.left + scrollLeft, y:box.top + scrollTop};
	}else if(document.getBoxObjectFor){// gecko		
		box = document.getBoxObjectFor(el); 
		var borderLeft = (el.style.borderLeftWidth)?parseInt(el.style.borderLeftWidth):0; 
		var borderTop = (el.style.borderTopWidth)?parseInt(el.style.borderTopWidth):0; 
		pos = [box.x - borderLeft, box.y - borderTop];
	}else{// safari & opera	
		pos = [el.offsetLeft, el.offsetTop];  
		parent = el.offsetParent;	 
		if (parent != el) { 
			while (parent){ 
				pos[0] += parent.offsetLeft; 
				pos[1] += parent.offsetTop; 
				parent = parent.offsetParent;
			}  
		}   
		if (ua.indexOf('opera') != -1 || ( ua.indexOf('safari') != -1 && el.style.position == 'absolute' )) { 
			pos[0] -= document.body.offsetLeft;
			pos[1] -= document.body.offsetTop;		 
		}	
	}			  
	if (el.parentNode){ 
		parent = el.parentNode;
	}else{
		parent = null;
	}
	while(parent && parent.tagName != 'BODY' && parent.tagName != 'HTML'){ // account for any scrolled ancestors
		pos[0] -= parent.scrollLeft;
		pos[1] -= parent.scrollTop;
		if(parent.parentNode){
			parent = parent.parentNode;
		}else{
			parent = null;
		}
	}
	return {x:pos[0], y:pos[1]};
}

/******根据文本框来设置层的Top和Left*******/
function getP(divId,txtId)
{
	//要定位的层的ID
	var sug =document.getElementById(divId);
	//文本框对象的ID
	var obj = document.getElementById(txtId);
	//实例化取元素Top,Left的对象
	var p =  getElementPos(txtId) ;
	//取得文本框的宽度
	var w = obj.style.width;
	//取得文本框的高度
	var h = obj.style.height;
	//取得文本框去掉'px'后的整数宽和高
	var tmpW = w.substr(0,w.indexOf('px'));
	var tmpY = h.substr(0,h.indexOf('px'));
	//通过文本框的宽来设置DIV的宽
	sug.style.width = w;
	//通过文本框的宽width+文本框的Top来定位层的top位置
	sug.style.top = p.y+parseInt(tmpY);
	//定位层的left为文本框的left
	sug.style.left = p.x;
}
/**
 * 全局文本替换
 * str.replaceAll("oldstr","newstr")
 */
String.prototype.replaceAll = function(s1,s2){   
	return this.replace(new RegExp(s1,"gm"),s2);
}
function getObj(objectId){ 
	if(document.getElementById && document.getElementById(objectId)){ 
		return document.getElementById(objectId) 
	}else if(document.all && document.all(objectId)){ 
		return document.all(objectId) 
	}else if(document.layers && document.layers[objectId]){ 
		return document.layers[objectId] 
	}else{
		return false;
	}
}
/**
 * 按iframe内容高度动态调节iframe高度
 * 使用时在页面设置全局变量 var iframeids=["FrameId"] 数组形式，可设置多个iframe
 * iframe onload="dyniframesize()"
 */
function dyniframesize(){
	var dyniframe=new Array()
	for (i=0; i<iframeids.length; i++)
	{
		if (document.getElementById)
		{
			dyniframe[dyniframe.length] = document.getElementById(iframeids[i]);
			if (dyniframe[i] && !window.opera)
			{
				dyniframe[i].style.display="block"
				if (dyniframe[i].contentDocument && dyniframe[i].contentDocument.body.offsetHeight)
				{
					dyniframe[i].height = dyniframe[i].contentDocument.body.offsetHeight + 5;
					//测试时高度稍有偏差，需增加5像素。
				}
				else if (dyniframe[i].Document && dyniframe[i].Document.body.scrollHeight)
				{
					dyniframe[i].height = dyniframe[i].Document.body.scrollHeight + 5;
					//同上
				}
			}
		}
		//if ((document.all || document.getElementById) && iframehide=="no")
		//{
		//	var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i])
		//	tempobj.style.display="block"
		//}
	}
}
function getTop(e){    
	var offset=e.offsetTop;
	if(e.offsetParent!=null) offset+=getTop(e.offsetParent);
	return offset;
}
function getScrollTop(){
	var scrollTop = 0; 
	if(document.documentElement && document.documentElement.scrollTop) { 
		scrollTop = document.documentElement.scrollTop;
	}else if(document.body) { 
		scrollTop = document.body.scrollTop;
	}
	return scrollTop;
}
function getClientHeight(){
	var clientHeight = 0; 
	if(document.documentElement && document.documentElement.clientHeight) { 
		clientHeight = document.documentElement.clientHeight;
	}else if(document.body) { 
		clientHeight = document.body.clientHeight;
	}
	return clientHeight;
}
function getOffsetHeight(){
	var offsetHeight = 0; 
	if(document.documentElement && document.documentElement.offsetHeight) { 
		offsetHeight = document.documentElement.offsetHeight;
	}else if(document.body) { 
		offsetHeight = document.body.offsetHeight;
	}
	return offsetHeight;
}
/**
 *  获取鼠标指针坐标
 *  @param e:window.event
 *  @return x,y
 */
function mousePos(e){   
	var x,y;
	e = e || window.event;
	return{
		x:e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,
		y:e.clientY+document.body.scrollTop+document.documentElement.scrollTop
	};   
}
/**
 *  简易模拟视窗
 *  @param e:window.event
 *  @return x,y
 */
var miniWin = function(){
	var bg_iframe,divWin,win_content;
}
miniWin.prototype.open = function(e){
	//获取鼠标位置(窗体弹出位置)
	var winPos = "";
	//绝对居中或在鼠标位置弹出
	if(e.center){
		winPos = "top:50%;left:50%;margin-top:"+(document.documentElement.scrollTop-e.height/2+20)+"px;margin-left:-"+(e.width/2+20)+"px;";
	}else{
		winPos = "top:"+(mousePos().y-e.height)+"px;left:"+mousePos().x+"px";
	}
	if(document.getElementById("divWin")!=null){
		this.bg_iframe=document.getElementById("bg_iframe");
		this.divWin=document.getElementById("divWin");
		this.divWin.style.display = "block";
		this.bg_iframe.style.display = "block";
	}else {
		//解决IE6下弹出层无法遮盖下拉框
		this.bg_iframe = document.createElement("iframe");
		this.bg_iframe.id="bg_iframe";
		this.bg_iframe.style.cssText = "width:"+(e.width+24)+"px;height:"+(e.height+24)+"px;position:absolute;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;"+winPos;
		document.body.appendChild(this.bg_iframe);
		
		var content = (e.html) ? e.html: '<iframe id="contentFrame" frameborder="0" marginheight="0" marginwidth="0" width="100%" height="100%" ></iframe>';
		
		this.divWin = document.createElement("DIV");
		this.divWin.id = "divWin";
		this.divWin.style.cssText = winPos;
		this.divWin.style.border = "#3369a7 5px solid";
		this.divWin.style.width = e.width+10;
		this.divWin.style.height = e.height+10;
		this.divWin.innerHTML = content;
		document.body.appendChild(this.divWin);
	}
	if(e.src)
		getObj("contentFrame").src = e.src;
}
miniWin.prototype.close = function(){
	document.body.removeChild(this.divWin);
	document.body.removeChild(this.bg_iframe);
}
