
var loadingimg = new Image();
loadingimg.src = "/images/loading.gif";

var old_bg = "";
function inStyle(obj)
{
    old_bg = obj.style.background;
	if(!old_bg)old_bg = obj.getAttribute("bgcolor");
	obj.style.background = "#C9DFFE";
}
function outStyle(obj)
{
	try{
		obj.style.background = old_bg;
	}catch(e){}
}

function GetScrollTop(){
	var diffY = 0;
	if (document.documentElement && document.documentElement.scrollTop){
		diffY = document.documentElement.scrollTop;
	}else if (document.body){
		diffY = document.body.scrollTop;
	}
	return diffY;
}

function GetBodyHeight(){
	var h = 0;
	if (document.documentElement && document.documentElement.clientHeight){
		h = document.documentElement.clientHeight;
	}else if (document.body){
		h = document.body.clientHeight;
	}
	return h;
}

function GetBodyOffsetHeight(){
	var h = 0;
	if (document.documentElement && document.documentElement.offsetHeight){
		h = document.documentElement.offsetHeight;
	}else if (document.body){
		h = document.body.offsetHeight;
	}
	return h;
}

function GetBodyWidth(){
	var w = 0;
	if (document.documentElement && document.documentElement.clientWidth){
		w = document.documentElement.clientWidth;
	}else if (document.body){
		w = document.body.clientWidth;
	}
	return w;
}

function GetScrollLeft(){
	var diffX = 0;
	if (document.documentElement && document.documentElement.scrollLeft){
		diffX = document.documentElement.scrollLeft;
	}else if (document.body){
		diffX = document.body.scrollLeft;
	}
	return diffX;
}

function selectAll(form,obj,targetName){
  for(i=0;i<form.length;i++){
	   if(form[i].name.indexOf(targetName)!=-1){
		   if(obj.checked) form[i].checked=true;
		   else form[i].checked=false;
	   } 
  }
}

function $e() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string') element = document.getElementById(element);		
		if (arguments.length == 1) return element;
		elements.push(element);
	}
	
	return elements;
}

function checkDomain(str){
  if(/^[0-9a-z\.]+[0-9a-z\-0-9a-z]+[\.]+[0-9a-z]+$/.test(str)==false) return false;
  else return true;
}

function trimString(str)
{
   str=str.replace(/^ /g,"");
   str=str.replace(/ $/g,"");
   return str;
}

function hasChinese(str){
	str=trimString(str);
	for(i=0;i<str.length;i++){
		if(str.charCodeAt(i)>127) return true;
	}
	return false;
}

function checkMail(email)
{
	var pattern = /\S+@\S+/;
	return pattern.test(email);
}
function checkzip(str)
{
    var reg = /^[0-9]{6}$/;
    return (reg.test(str));
}

//* 为对象绑定事件
function AttachEventEx(eid,env,action)
{
	var object = typeof(eid) == 'object' ? eid : document.getElementById(eid);
	if (object && object.addEventListener){
		if(/^(on)/i.test(env)) env = env.substring(2);
		object.addEventListener(env,action,true);
	}else if(object){
		object.attachEvent(env,action);
	}
}

//** Tips
function AddTips(s){
	try{
	clearTimeout(RemoveTipsTimer);
	}catch(e){}
	//if( s == '') return;
	var args = arguments;
	var id,position,width,height;
	if(args[1]) id = args[1];
	if(args[2]) position = args[2]; //显示位置,有 top bottom left right mouse(鼠标跟随) 等多种属性
	if(args[3]) width = args[3];
	if(args[4]) height = args[4];
	if(!id) id = 'dvTips';
	var dvTips = document.getElementById(id);
	if(!dvTips){
		dvTips = document.createElement("DIV");
		dvTips.id = id;
        dvTips.style.border = '1px solid #F2BB6F';
		dvTips.style.background = '#FDF7E7';
		dvTips.style.position = 'absolute';
		dvTips.style.padding = '5px';
		if(width) dvTips.style.width = width;
		if(height) dvTips.style.height = height;
		document.body.appendChild(dvTips);
	}
	dvTips.onmouseover = function(){clearTimeout(RemoveTipsTimer);}
	dvTips.onmouseout = function(){RemoveTips(id,true);}
	if(s != '') dvTips.innerHTML = s;
	try{
	if(position == 'top'){
		dvTips.style.top = getOffsetTop(event.srcElement) - ( dvTips.clientHeight + 5 );
		dvTips.style.left = getOffsetLeft(event.srcElement);
	}else if(position == 'bottom'){
		dvTips.style.top = getOffsetTop(event.srcElement) + ( event.srcElement.clientHeight + 5 );
		dvTips.style.left = getOffsetLeft(event.srcElement);
	}else if(position == 'left'){
		dvTips.style.top = getOffsetTop(event.srcElement);
		dvTips.style.left = getOffsetLeft(event.srcElement) - ( dvTips.clientWidth + 5 );
	}else if(position == 'right'){
		dvTips.style.top = getOffsetTop(event.srcElement);
		dvTips.style.left = getOffsetLeft(event.srcElement) + ( event.srcElement.clientWidth + 5 );
	}else{
		var left = event.x + 5 + document.body.scrollLeft;
		//alert(left+parseInt(width));
		if (left+parseInt(width)>document.body.scrollWidth)	left=event.x - 5 - width;		
			dvTips.style.left = left;	
		dvTips.style.top = event.y + 5 + document.body.scrollTop;
	}
	dvTips.style.display = '';
	} catch(e){}
}

var RemoveTipsTimer;
function RemoveTips(){
	var args = arguments;
	var id,delay;
	if(args[0]) id = args[0];
	if(typeof(args[1]) != 'undefined') delay = args[1];
	if(!id) id = 'dvTips';
	var dvTips = document.getElementById(id);
	if(dvTips){
		if(typeof(delay) == 'undefined' || delay == true) RemoveTipsTimer = setTimeout(function(){dvTips.style.display = 'none'},200);
		else dvTips.style.display = 'none';
	}
}

function DelDoc(id) {
	//alert(id+"*****");		
	url = "/72ad/common/DelDoc.aspx?TraceDocID=" + id + "&a=" + Math.round(100);
	var initobj = new Object();
	initobj['url'] = url;
	initobj['title'] = '删除证件';
	initobj['width'] = 350;
	initobj['height'] = 180;
	initobj['ishide']=1;
	ShowFrameWindow(initobj);
	RemoveTips(null,true);
}

function LoadImg(url,isshow)
{
	if (isshow==0) return;
	var initobj = new Object();
    initobj['url'] = url;
	initobj['title'] = "显示图片";
	initobj['ishide']=0;
	initobj['isimg']=true;
	//initobj['DivId']="LoadImg";
	//alert(isshow);
	//+"ajax:";
	ShowFrameWindow(initobj);
	RemoveTips(null,true);	
}

function ShowFrameWindow(initobj)
{
	var url = initobj['url'];
	var title = initobj['title'];
	var width = initobj['width'];
	var height = initobj['height'];
	var callback = initobj['callback'];
	
	var callbackargs = initobj['callbackargs'];
	var onloadcallback = initobj['onloadcallback'];
	var showloading = initobj['showloading'];
	var loadingtext = initobj['loadingtext'];
	var loadingimg = initobj['loadingimg'];
	var focal = initobj['focal'];
	var DivId = initobj['DivId'];
	var ishide = initobj['ishide'];
	var isimg=initobj['isimg'];
	if (DivId==null)
	 DivId = GetRandomLetters(3);
	if(!loadingtext) loadingtext = "数据加载中，请稍候...";
	if(!loadingimg) loadingimg = "/images/wait.gif";

	var mask = null;
	if(initobj['showmask']) mask = showMaskDiv("append");
	var pannel = document.getElementById(DivId+"_content");
	if(!pannel)
	{
		 pannel = document.createElement("DIV");
		width = width ? width : 750;
		height = height ? height : 500;
		var isAjax = url.substr(0,5) == 'ajax:';
		var pageWidth = GetBodyWidth();
		var pageHeight = document.body.clientHeight;
		
		pannel.id = DivId;
		pannel.style.width = width;
		//pannel.style.height = height;
		pannel.style.background = "#F7F7F7";
		pannel.style.position = "absolute";
	}
	if(focal){
		pannel.style.left = getOffsetLeft(event.srcElement);
		pannel.style.top = getOffsetTop(event.srcElement) + event.srcElement.clientHeight+20;
		pannel.style.background = "white";
		/*
		document.onclick = function(e) //要兼容FF的话，这个参数一定要写上   
		{
			e = window.event || e;
			var srcElement = e.srcElement || e.target;
			pannel.style.left = getOffsetLeft(e.srcElement );
			pannel.style.top = getOffsetTop(e.srcElement ) + e.srcElement .clientHeight+20;
			pannel.style.background = "white";
		}*/
	}else{
		pannel.style.left = pageWidth/2 - (width/2);
		pannel.style.top = pageHeight/2 + document.body.scrollTop - (height/2);
	}
	
	pannel.style.border = "2px solid #0062A1";
	pannel.style.zIndex = 100;
	pannel.handleid = pannel.id + '_close';

	var titlebg = "#E7F5FF";
	var titlecolor = "black";
	var html = "<table width='100%' cellspacing='0' border='0'>";
		html += "<tr height='25' bgcolor='"+ titlebg +"'><td style='color:"+ titlecolor +";font-size:14px;font-weight:bold;' nowrap>&nbsp;" + title + "</td>";
		html += "<td align='right'>";
		html += "<font color='black' id='"+ pannel.handleid +"' style='font-size:14px;font-weight:bold;cursor:pointer'>[关闭]</font>&nbsp;";
		html += "</td><tr>";
		html += "<tr><td colspan='2' valign='top' height='"+ height +"'>";
	if(isAjax)
	{
		html += "<div id='" + DivId + "_content' style='height:"+ height +";overflow:auto'>";
		if(showloading){
			html += "<div style='padding:10px'><img src='"+ loadingimg +"'>&nbsp;" + loadingtext + "</div>";
		}
		html += "</div>";

		urlcontent = webRequest(url.substr(5),"","GET",true,function(){
			var xmlhttp = arguments[0];
			var args = new Array();
			if (xmlhttp.readyState == 4){
				var content = xmlhttp.responseText;
				$e(DivId + "_content").innerHTML = content;
				
				if(focal){
					pannel.style.left = pannel.style.left;
					pannel.style.top = pannel.style.top;
				}else{
					pannel.style.left = pageWidth/2 - (width/2);
					pannel.style.top = pageHeight/2 + document.body.scrollTop - (height/2);
				}
				hideControl("SELECT,OBJECT",pannel);

				if(onloadcallback) onloadcallback.apply(null,new Array());
			}
		},new Array());
		
	}else{
		if(isimg)
		{
			var   image=new  Image();  
			image.src=url;
			if (image.height>height)
				html += "<img src='"+ url +"' border='0' height='"+ height +"' />";
			else
				html += "<img src='"+ url +"' border='0' height='"+ image.height +"' />";
		}
		else		
		html += "<iframe src='"+ url +"' frameborder='0' scrolling='auto' border='0' width='100%' height='"+ (height) +"'></iframe>";		
	}
	html += "</td><tr>";
	html += "</table>";
	pannel.innerHTML = html;
	document.body.appendChild(pannel);
	var handle = $e(pannel.handleid).onclick = function(){
		showControl(pannel);
		if(mask) removeElement(mask.id);
		removeElement(pannel.id);
		if(callback){
			//callbackargs 是一个数组
			var args = new Array();
			if(typeof(callbackargs) == 'object'){
				args = args.concat(callbackargs);
			}
			callback.apply(null,args);
		}
	}
	if (ishide==1)
		pannel.onmouseout=$e(pannel.handleid).onclick;
	hideControl("SELECT,OBJECT",pannel);
	return pannel;
}

function showMaskDiv(showType){
	var pannel = document.createElement("DIV");
	var maskid = GetRandomLetters(3);
	pannel.id = maskid;
	pannel.style.width = GetBodyWidth();
	pannel.style.height = document.body.scrollHeight > GetBodyHeight() ? document.body.scrollHeight : GetBodyHeight();
	pannel.style.background = "#999999";
	pannel.style.position = "absolute";
	pannel.style.left = "0px";
	pannel.style.top = "0px";
	pannel.style.zIndex = 10;
	pannel.style.opacity = 0.5;
	pannel.style.filter = "alpha(enabled=true,opacity=50)";

	if(showType == 'append') document.body.appendChild(pannel);
	else document.write(pannel.outerHTML);
	return pannel;
}

function showTips(icon,text,nosure){
	var pannel=document.createElement("DIV");
	var width=300;
	var height=150;
	var pageWidth=document.body.clientWidth;
	var pageHeight=document.body.clientHeight;
	var DivId=GetRandomLetters(3);
	pannel.id=DivId;
	pannel.style.width=width;
	pannel.style.height=height;
	pannel.style.background="#EEEEEE";
	pannel.style.position="absolute";
	pannel.style.pixelLeft=pageWidth/2-(width/2);
	pannel.style.pixelTop=pageHeight/2+document.body.scrollTop-(height/2);
	pannel.style.border="2px solid #999999";
	var html="<table width='100%' height='100%'><tr>";
		if(icon)html+="<td align='center'><img src='"+icon+"'></td>";
		html+="<td align='center' style='font-size:10pt'><font color='blue'>"+text+"</font></td><tr>";
		if(!nosure){
		html+="<tr height='20'><td colspan='2' align='center' style='font-size:10pt'>";
		html+="<b><a href='javascript:void(document.body.removeChild(document.getElementById(\""+DivId+"\")))'><font size=3>确 定</font></a></b>";
		html+="</td>";
		html+="</tr>";
		}
		html+="</table>";
	pannel.innerHTML=html;
	document.body.appendChild(pannel);
	return pannel;
}

function webRequest(url,xmlstr,method,isAsync,callback,callbackargs)
{
    var xmlhttp = null;
	if (window.ActiveXObject) {
       xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }else if (window.XMLHttpRequest) {
       xmlhttp = new XMLHttpRequest();
    }
	if(!method) method = "GET";
	if(!isAsync) isAsync = false;
	if(isAsync && callback){
		var args = new Array();
		args.push(xmlhttp);
		if(typeof(callbackargs) == 'object'){
			args = args.concat(callbackargs);
		}
		xmlhttp.onreadystatechange = function(){callback.apply(null,args);}
	}
	xmlhttp.open(method,url,isAsync);
    if(method.toLowerCase() == 'post'){
		xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	}
    xmlhttp.send(xmlstr);
	if(!isAsync){
		return xmlhttp.responseText;
	}
}

function LoadTipsFromUrl(url,width,loadingtext)
{
	if(url.indexOf("?") > -1) url += "&72erandomstr=" + Math.random(500);
	else url += "?72erandomstr=" + Math.random(500);
	if(!loadingtext) loadingtext = "正在加载备注...";
	AddTips(loadingtext,null,'mouse',width,null);
	webRequest(url,"","GET",true,function(){
			var xmlhttp = arguments[0];
			var args = new Array();
			if (xmlhttp.readyState == 4){
				var content = xmlhttp.responseText;
				AddTips(content,null,'mouse',width,null);
			}
		},new Array(event));
}

function LoadUrl(eid,url)
{
	var e = $e(eid);
	if(!e){ alert("找不到显示对象");return;}
	if(url.indexOf("?") > -1) url += "&72erandomstr=" + Math.random(500);
	else url += "?72erandomstr=" + Math.random(500);
	
	var loadingtext = arguments[2];
	var callback = arguments[3]; //这个应该是一个函数的名称
	var callbackargs = arguments[4]; //这个应该是一个数组

	if(!loadingtext) loadingtext = "正在加载数据...";
	e.innerHTML = loadingtext;
	webRequest(url,"","GET",true,function(){
			var xmlhttp = arguments[0];
			if (xmlhttp.readyState == 4){
				var content = xmlhttp.responseText;
				e.innerHTML = content;
				if(callback) callback.apply(null,callbackargs);
			}
		},new Array());
}

function GetRandomLetters(length)
{
	var str="";
	for(i=0;i<length;i++){
		var rnd=parseInt((122-97+1)*Math.random()+97);
	    var s=String.fromCharCode(rnd);
		str+=s;
	}
	return str;
}

function removeElement(elementId){
    var element = document.getElementById(elementId);
	if(element && element.parentElement) element.parentElement.removeChild(element);
	if(element && element.parentNode) element.parentNode.removeChild(element);
}

//重载 setTimeout
var _st = window.setTimeout;
window.setTimeout = function(fRef, mDelay) 
{ 
	if(typeof(fRef) == 'function')
	{ 
		var argu = Array.prototype.slice.call(arguments,2);
		var f = (function(){ fRef.apply(null, argu);});
		return _st(f, mDelay);
	}
	return _st(fRef,mDelay);
}
// end of 重载 setTimeout

//重载 setInterval
var _setInterval = window.setInterval;
window.setInterval = function(fRef, mDelay) 
{ 
	if(typeof(fRef) == 'function')
	{ 
		var argu = Array.prototype.slice.call(arguments,2);
		var f = (function(){ fRef.apply(null, argu);});
		return _setInterval(f, mDelay);
	}
	return _setInterval(fRef,mDelay);
}
// end of 重载 setInterval

function getOffsetLeft(src){
	var set=0;
	if(src)
	{
		if (src.offsetParent)
			set+=src.offsetLeft+getOffsetLeft(src.offsetParent);
		
		if(src.tagName!="BODY")
		{
			var x=parseInt(src.scrollLeft,10);
			if(!isNaN(x))
				set-=x;
		}
	}
	return set;
}
function getOffsetTop(src){
	var set=0;
	if(src)
	{
		if (src.offsetParent)
			set+=src.offsetTop+getOffsetTop(src.offsetParent);
		
		if(src.tagName!="BODY")
		{
			var y=parseInt(src.scrollTop,10);
			if(!isNaN(y))
				set-=y;
		}
	}
	return set;
}

function IfNumber(iV) //每次输入都要检查是否合法的数字
{
	var newPar=/^(-|\+)?\d+(\.\d+)?$/;
	aa=iV+String.fromCharCode(event.keyCode)+'0';
	event.returnValue =newPar.test(aa);
}
function IfNumber2(iV) //每次输入都要检查是否合法的数字
{
	var newPar=/^(-|\+)?\d+?$/;
	aa=iV+String.fromCharCode(event.keyCode)
	event.returnValue =newPar.test(aa);
}

//** 隐藏指定控件
function hideControl(tagName, overCtrl)
{
	if(typeof(overCtrl) == 'string') overCtrl = $e(overCtrl);
	var x = getOffsetLeft(overCtrl);
	var y = getOffsetTop(overCtrl);
	var w = overCtrl.offsetWidth;
	var h = overCtrl.offsetHeight;
	if (!overCtrl.overlap) overCtrl.overlap = new Array ();
	var arTags = tagName.split(",");
	for(var j = 0;j < arTags.length;j++){
		var hideTags = document.getElementsByTagName(arTags[j]);
		for (var i = 0; i < hideTags.length; ++i)
		{
			var obj = hideTags[i];
			if (!obj || !obj.offsetParent)
				continue;

			var ox = getOffsetLeft(obj);
			var oy = getOffsetTop(obj);
			var ow = obj.offsetWidth;
			var oh = obj.offsetHeight;

			if (ox > (x + w) || (ox + ow) < x)
				continue;
			if (oy > (y + h) || (oy + oh) < y)
				continue;

			if(obj.style.visibility == "hidden")
				continue;

			overCtrl.overlap[overCtrl.overlap.length] = obj;
			obj.style.visibility = "hidden";
		}
	}
}

function showControl(overCtrl)
{
	if(typeof(overCtrl) == 'string') overCtrl = $e(overCtrl);
	if (overCtrl.overlap)
	{
		var i;
		for (i = 0; i < overCtrl.overlap.length; ++i)
			overCtrl.overlap[i].style.visibility = "";
	}
	overCtrl.overlap = null;
}

//** end of 隐藏指定控件

//---------------------------------------------------
//	功能：
//		对齐两个表的各列，主要用于实现分开表头和表体的对齐
//	参数：
//		oHeader		用作表头的表对象
//		oBody		用作表体的表对象
//		iNums		如果一次不能对齐，则循环对齐循环次数
//
//	返回：
//		无
//---------------------------------------------------
function AlignTHeaderTBody(oHeader,oBody,iNums)
{	
	if(iNums<1 || iNums>5) iNums = 5;
	if(oHeader == null || oBody == null)return;
	
	if(oHeader.rows.length<1 || oBody.rows.length<1)return;
	if(oHeader.rows(0).cells.length<1 || oBody.rows(0).cells.length<1)return;
	
	var iCount = 0;
	var pRowHeader = oHeader.rows(0);
	var pRowBody = oBody.rows(0);	
	var iLen = pRowHeader.cells.length;
	if(iLen > pRowBody.cells.length)iLen = pRowBody.cells.length;
	
	var bExit = false;
	while(iCount++ < iNums && !bExit)
	{
		bExit = true
		for(var i=iLen-1;i>-1;i--)
			pRowHeader.cells(i).style.width = pRowBody.cells(i).offsetWidth;
		for(var i=0;i<iLen;i++)
			pRowBody.cells(i).style.width = pRowHeader.cells(i).offsetWidth;
		for(var i=iLen-1;i>-1;i--)
			if(pRowHeader.cells(i).offsetWidth != pRowBody.cells(i).offsetWidth)
				bExit = false;									
	}	
	oHeader.style.left = oBody.offsetLeft;
	oBody.style.left = oHeader.offsetLeft;
	if(oHeader.offsetWidth > oBody.offsetWidth)
		oBody.style.width = oHeader.offsetLeft;
	else
		oHeader.style.width = oBody.offsetLeft;
}
