/**
 * 这个文件整个站点都会用到的各种处理方法
 */

<!--
/**
 * 根据参数的ID值得到对象
 * @param 1. 对象id
 */
function getObjById( _id )
{
	return document.getElementById(_id) ;
}

/**
 * 根据参数的NAME值得到对象数组
 * @param 1. 对象name
 */
function getObjsByName( _name )
{
	return document.getElementsByName(_name) ;
}

/**
 * 根据参数的ID值释放对象
 * @param 1. 对象id
 */
function releaseObj( _obj )
{
	if (typeof(_obj) == "object")
	{
		try
		{
			delete _obj ;
			_obj = null ;
		}
		catch(e)
		{}
	}
}


/**
 * 得到XMLHTTP对象
 */
function getXMLRequester()
{
	xmlhttp_request = false ;
	try
	{
		//开始初始化XMLHttpRequest 对象
		if(window.XMLHttpRequest)	//Mozilla 浏览器
		{
			xmlhttp_request = new XMLHttpRequest() ;
			if (xmlhttp_request.overrideMimeType)	//设置MiME 类别
			{
				xmlhttp_request.overrideMimeType("text/xml") ;
			}
		}
		else if(window.ActiveXObject)	// IE 浏览器
		{
			try
			{
				xmlhttp_request = new ActiveXObject("Msxml2.XMLHTTP") ;
			} 
			catch(e)
			{
				try
				{
					xmlhttp_request = new ActiveXObject("Microsoft.XMLHTTP") ;
				}
				catch(e)
				{}
			}
		}
	}
	catch(e)
	{
		xmlhttp_request = false;
	}
	
	return xmlhttp_request ;
}


/**: 执行页面然后把页面返回结果传说到参数中的函数
 * 打开执行页面 getContentToFunc()
 * @param 1 -- 要传递执行的页面url
 * @param 2 -- 要传递的参数串
 * @param 3 -- 函数名称
 * @param 4 -- XML对象的内容以何种方式写入参数3指定的函数的参数
 * @param 	4.1 -- "text"代表"responseText" 默认
 * @param 	4.2 -- "xml"代表"responseXML";
 *
 * 对于以上参数3的函数说明
 * @param 参数说明
 * @param 1 -- 根据 getContentToFunc() 的参数4返回的结果
 * @param 2 -- 返回当前XML对象的状态值
 */
function getContentToFunc()
{
	var url = null ;
	var arg = null ;
	var innerFunction = null ;
	var innerType = "text" ;
	
	try
	{
		var argLen = getContentToFunc.arguments.length ;
		for( var i = 0 ; i < argLen ; i++ )
		{
			if(i == 0)
				url = getContentToFunc.arguments[i] ;
			if(i == 1)
				arg = getContentToFunc.arguments[i] ;
			if(i == 2)
				innerFunction = getContentToFunc.arguments[i] ;
			if(i == 3)
				innerType = getContentToFunc.arguments[i].toLowerCase() ;
		}
	}
	catch(e)
	{
	}

	//没有执行页面路径和函数返回名 不执行操作
	if( url == null || typeof(innerFunction) != "function" )
		return false ;

	//页面路径长度为0 不执行操作
	if( url.length <= 0 )
		return false ;
	
	if( innerType != "xml" )
		innerType = "text" ;
	
	var xmlhttp_request = getXMLRequester() ;
	if( !xmlhttp_request )
	{
		alert("浏览器不支持XML对象") ;
		return false ;
	}

	try
	{
		xmlhttp_request.open('POST', url, true);
		xmlhttp_request.setRequestHeader('Content-Type','application/x-www-form-urlencoded') ;
		xmlhttp_request.send(arg); 
		releaseObj(url) ;
		releaseObj(arg) ;

		xmlhttp_request.onreadystatechange = function()
		{
			var strContent = "" ;
			var iReadyState = xmlhttp_request.readyState ;
			if ( 4 == iReadyState )
			{
				if( xmlhttp_request.status == 200 )
				{
					if( innerType == "xml" )
						strContent = xmlhttp_request.responseXML ;
					else
						strContent = xmlhttp_request.responseText ;
				}
				else
				{
					strContent = "访问的页面代码发生错误, 错误代码为: " + xmlhttp_request.status ;
				}
				
				delete xmlhttp_request ; 
				xmlhttp_request = null;
			}
			else
			{
				strContent = "" ;
			}

			//调用参数中的函数
			innerFunction( strContent, iReadyState ) ;
		}
	}
	catch(e)
	{}
}

/**
 * 根据 Form 对象得到这个 form 元素的结果串
 * @param _form_obj -- 要获取的表单对象
 */
function getFormString( _form_obj )
{
	var query_string = '' ;
	var and = '' ;
	var obj_form_element ;
	var element_value ;

	try
	{
		if( _form_obj != null )
		{
			for( var j = 0 ; j < _form_obj.length ; j++ )
			{
				obj_form_element=_form_obj[j] ;
				if( obj_form_element.name != '' )
				{
					if( obj_form_element.type == 'select-one' )
					{
						element_value = obj_form_element.options[obj_form_element.selectedIndex].value ;
					}
					else if( obj_form_element.type == 'checkbox' || obj_form_element.type == 'radio' )
					{
						if( obj_form_element.checked == false )
						{
							continue ;
						}
						element_value = obj_form_element.value ;
					}
					else
					{
						element_value = obj_form_element.value ;
					}
					
					query_string += and + encodeURIComponent(obj_form_element.name) + '=' + encodeURIComponent(element_value) ;
					and = "&" ;
					element_value = "" ;
				}
			}
		}
	}
	catch(e)
	{
	}

	query_string = encodeURI(query_string) ;
	return query_string;
}

/**:
 * 检查某个对象的值是否为参数给定的值 如果是显示信息并返回true 如果不是返回false
 * @param 1. 要检查的对象ID
 * @param 2. 要显示提示信息的ID
 * @param 3. 要检查的内容
 * @param 4. 要显示的提示信息
 */
function checkOne( _objId, _showTipId, _checkContent, _TipContent )
{
	var isSuccess = false ;
	var objId = getObjById(_objId) ;
	var objShowTip = getObjById(_showTipId) ;
	if( objId != null && objShowTip!= null )
	{
		if( objId.value == _checkContent )
		{
			isSuccess = true ;
			objShowTip.innerHTML = _TipContent ;
		//	objId.focus() ;
		}
		else
		{
			objShowTip.innerHTML = "" ;
		}
	}

	return isSuccess ;
}


/**
 * 打开对话框
 * @param 1. 对话框目标链接
 * @param 2. 打开的对话框宽度
 * @param 3. 打开的对话框高度
 */
function openDialog()
{
	var new_url = null ;
	var width = 450 ;
	var height = 300 ;

	try
	{
		var argLen = openDialog.arguments.length ;
		for( var i = 0 ; i < argLen ; i++ )
		{
			if(i == 0)
				new_url = openDialog.arguments[i] ;
			if(i == 1)
				width = openDialog.arguments[i] ;
			if(i == 2)
				height = openDialog.arguments[i] ;
		}
	}
	catch(e)
	{}

	if( new_url != null )
	{
		//计算窗口的位置
		var x = eval( screen.availWidth - width )/2 ;
		var y = eval( screen.availHeight - height )/2 ;

		if( document.all )
			window.showModalDialog(new_url,window,"dialogWidth="+width+"px;dialogHeight="+height+"px;dialogLeft="+x+"px;dialogTop="+y+"px") ;
		else
			window.open(new_url,'', 'width='+width+',height='+height+',top='+y+',left='+x+',resizable=no,scrollbars=yes,toolbar=no,location=no,menubar=no,status=no') ;
	}
}

/**
 * 打开新窗口
 * @param 1. 新窗口目标链接
 * @param 2. 打开的新窗口宽度
 * @param 3. 打开的新窗口高度
 */
function openWin()
{
	var new_url = null ;
	var width = 450 ;
	var height = 300 ;

	try
	{
		var argLen = openWin.arguments.length ;
		for( var i = 0 ; i < argLen ; i++ )
		{
			if(i == 0)
				new_url = openWin.arguments[i] ;
			if(i == 1)
				width = openWin.arguments[i] ;
			if(i == 2)
				height = openWin.arguments[i] ;
		}
	}
	catch(e)
	{}

	if( new_url != null )
	{
		//计算窗口的位置
		var x = eval( screen.availWidth - width )/2 ;
		var y = eval( screen.availHeight - height )/2 ;

		window.open(new_url,'', 'width='+width+',height='+height+',top='+y+',left='+x+',resizable=no,scrollbars=yes,toolbar=no,location=no,menubar=no,status=no') ;
	}
}

/**
 * 页面跳转
 * @param 1. 要跳转的页面
 */
function goPage()
{
	var new_url = null ;

	try
	{
		var argLen = goPage.arguments.length ;
		for( var i = 0 ; i < argLen ; i++ )
		{
			if(i == 0)
				new_url = goPage.arguments[i] ;
		}
	}
	catch(e)
	{}
	
	if( new_url != null )
		window.location = new_url ;
}

/**
 * 根据ID显示某个元素
 * 
 * @param _id 元素的ID
 */
function show(_id)
{
	if (_id != null)
	{
		var obj_target = getObjById(_id) ;
		if (obj_target != null)
		{
			obj_target.style.display = "inline" ;
		}
		releaseObj(obj_target) ;
	}
}

/**
 * 根据ID隐藏某个元素
 * 
 * @param _id 元素的ID
 */
function hide(_id)
{
	if (_id != null)
	{
		var obj_target = getObjById(_id) ;
		if (obj_target != null)
		{
			obj_target.style.display = "none" ;
		}
		releaseObj(obj_target) ;
	}
}

/**
 * 根绝div的id，把div显示在当前窗口的中间
 * @param id 要显示对象
 * @param div_width 要显示对象宽度
 * @param div_height 要显示对象高度
 */
function showDivToMid()
{
	var obj_id = null ;
	var div_width = null ;
	var div_height = null ;
	for (var i = 0 ; i < showDivToMid.arguments.length ; i++) {
		if( i == 0 )
			obj_id = showDivToMid.arguments[i] ;
		if( i == 1 )
			div_width = showDivToMid.arguments[i] ;
		if( i == 2 )
			div_height = showDivToMid.arguments[i] ;
	}

	if (obj_id != null) {
		var obj_div = getObjById(obj_id) ;
		if (obj_div != null) {
			//设置默认的高度和宽度
			if (div_width == null)
				div_width = 600 ;
			if (div_height == null)
				div_height = 400 ;

			var clientWidth = document.documentElement.clientWidth ;		//网页可见区域宽
			var clientHeight = document.documentElement.clientHeight ;		//网页可见区域高
			var scrollTop = document.documentElement.scrollTop ;	//网页被卷去的高
			var scrollLeft = document.documentElement.scrollLeft ;	//网页被卷去的左
			
			//计算div的各个坐标
			//div在可见区域的top相对坐标
			var client_top = (clientHeight-div_height)/2>0?(clientHeight-div_height)/2:0 ;
			//div在可见区域的left相对坐标
			var client_left = (clientWidth-div_width)/2>0?(clientWidth-div_width)/2:0 ;

			var div_top = scrollTop + client_top ;
			var div_left = scrollLeft + client_left ;
				
			//给div对象赋值
			obj_div.style.left= div_left + "px" ;
			obj_div.style.top = div_top + "px" ;
			obj_div.style.width = div_width + "px" ;
			obj_div.style.height = div_height + "px" ;

			obj_div.style.display = "inline" ;
		}

		releaseObj(obj_id) ;
		releaseObj(obj_div) ;
	}
}

/**
 * 检查当前值是否邮件格式
 * 
 * @param _strEmail 要检查的值
 * @return 返回ture或者false
 */
function isEmail(_strEmail)
{
   if (_strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
       return true ;
   else
       return false ;
}

/**
 * 检查当前值是否电话格式
 * 
 * @param _strTel 要检查的值
 * @return 返回ture或者false
 */
function isTel(_strTel)
{
   if (_strTel.search("[()0-9-]+") != -1)
       return true ;
   else
       return false ;
}

/**
 * 把给定格式的内容插入到给定ID的元素内
 * 
 * @param id 元素ID
 * @param content 内容
 * @param type 插入格式，默认是html： "html" -- html格式，"text" -- text格式
 */
function innerDataToObj()
{
	var objId = null ;
	var content = null ;
	var innerType = "html" ;
	try
	{
		for( var i = 0 ; i < innerDataToObj.arguments.length ; i++ )
		{
			if(i == 0)
				objId = innerDataToObj.arguments[i] ;
			if(i == 1)
				content = innerDataToObj.arguments[i] ;
			if(i == 2)
				innerType = innerDataToObj.arguments[i].toLowerCase() ;
		}
	}
	catch(e)
	{}
	
	if (objId != null && content != null)
	{
		var objElement = getObjById(objId) ;
		if (objElement != null)
		{
			if (innerType == "html")
				objElement.innerHTML = content ;
			if (innerType == "text")
				objElement.innerText = content ;
		}
		releaseObj(objElement) ;
	}

	releaseObj(objId) ;
	releaseObj(content) ;
	releaseObj(innerType) ;
}

/**
 * 根绝参数的路径值检查此路径下的文件是否符合要求
 * @param 文件路径
 * @param 文件的上限大小
 * @returen true or false
 */
function checkUploadFile()
{
	var re_status = true ;
	var obj_path = null ;
	var obj_length = 10 ;	//设置上传的文件最大值（单位：M），超过此值则不上传。默认是10M
	for( var i = 0 ; i < checkUploadFile.arguments.length ; i++ )
	{
		if( i == 0 )
			obj_path = checkUploadFile.arguments[i] ;
		if( i == 1 )
			obj_length = checkUploadFile.arguments[i] ;
	}

	if (obj_path != null)
	{
		try
		{
			obj_length = parseInt(obj_length) ;

			var fso, f, fsize ;
			fso = new ActiveXObject("Scripting.FileSystemObject") ;
			f = fso.GetFile(obj_path);		//文件的物理路径
			fsize = f.Size ;				//文件大小（bit）
			fsize = parseInt(fsize/1024/1024) ;

			if (fsize > obj_length)
				re_status = false ;
		}
		catch(e) 
		{}
	}
	else
		re_status = false ;

	return re_status ;
}

/**
 * 得到星期
 * @returen 显示串
 */
function getWeek()
{
	var myweekday = "" ;
	mydate = new Date() ;
	myweekday = mydate.getDay() ;
	if (myweekday == 0)
		weekday = " 星期日" ;
	else if (myweekday == 1)
		weekday = " 星期一" ;
	else if (myweekday == 2)
		weekday = " 星期二" ;
	else if (myweekday == 3)
		weekday = " 星期三" ;
	else if (myweekday == 4)
		weekday = " 星期四" ;
	else if (myweekday == 5)
		weekday = " 星期五" ;
	else if (myweekday == 6)
		weekday = " 星期六" ;
	
	return weekday ;
}

/**
 * 显示详细的日期+时间
 * @returen 显示串
 */
function showTime()
{
	var now=new Date() ;
	return now.getYear()+"年"+(now.getMonth()+1)+"月"+now.getDate()+"日 "+now.getHours()+":"+now.getMinutes()+" " ;
}

/**
 * 得到日期
 * @returen 显示串
 */
function getDate()
{
	var now=new Date() ;
	return now.getYear()+"年"+(now.getMonth()+1)+"月"+now.getDate()+"日" ;
}

/**
 * 得到当前时间
 * @returen 显示串
 */
/* 这个函数有重复，不能使用
function getTime()
{
	var now=new Date() ;
	return now.getHours()+":"+now.getMinutes()+" " ;
}
*/

/**
 * 根据对象id把某个对象浮动，并返回循环的id值用于结束
 * 这是一个通用函数，根据id区分不同的浮动元素
 * @param clearId 对象id值
 * @param startX 对象左上角的x坐标值，默认为0
 * @param startY 对象左上角的y坐标值，默认为0
 * @param verticalpos 上边的x，y左边是从上到下还是从下到上取：fromtop，frombottom
 * @param oftime 循环监控的时间间隔，默认是10ms
 * @param scrolltime 浮动的快慢，数值越小，浮动越快，大于0，默认：8
 * @return 返回setInterval当前函数的id值
 */
function JSFX_FloatObj()
{
	var clearId = null ;
	var execStr = "" ;
	var objId = null ;
	var startX = null ;
	var startY = null ;
	var verticalpos = null ;
	var oftime = null ;
	var scrolltime = null ;
	for (var i = 0 ; i < JSFX_FloatObj.arguments.length ; i++) {
		if (i == 0)
			objId = JSFX_FloatObj.arguments[i] ;
		if (i == 1)
			startX = JSFX_FloatObj.arguments[i] ;
		if (i == 2)
			startY = JSFX_FloatObj.arguments[i] ;
		if (i == 3)
			verticalpos = JSFX_FloatObj.arguments[i] ;
		if (i == 4)
			oftime = JSFX_FloatObj.arguments[i] ;
		if (i == 5)
			scrolltime = JSFX_FloatObj.arguments[i] ;
	}
	execStr += "if (objId != null) {" ;
	execStr += "	if (startX == null)" ;
	execStr += "		startX = 0 ;" ;
	execStr += "	if (startY == null)" ;
	execStr += "		startY = 0 ;" ;
	execStr += "	if (verticalpos == null)" ;
	execStr += "		verticalpos = \"fromtop\" ;" ;
	execStr += "	if (oftime == null)" ;
	execStr += "		oftime = 10 ;" ;
	execStr += "	if (scrolltime == null)" ;
	execStr += "		scrolltime = 8 ;" ;
	execStr += "	var ns = (navigator.appName.indexOf(\"Netscape\") != -1) ;" ;
	execStr += "	var d = document ;" ;
	execStr += "	function ml"+objId+"(id) {" ;
	execStr += "		var el = d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id] ;" ;
	execStr += "		if(d.layers)" ;
	execStr += "			el.style = el ;" ;
	execStr += "		el.sP=function(x,y) {" ;
	execStr += "			this.style.left = x ;" ;
	execStr += "			this.style.top = y ;" ;
	execStr += "		} ;" ;
	execStr += "		el.x = startX ;" ;
	execStr += "		if (verticalpos==\"fromtop\")" ;
	execStr += "			el.y = startY ;" ;
	execStr += "		else {" ;
	execStr += "			el.y = ns ? pageYOffset + innerHeight : document.body.scrollTop + document.body.clientHeight ;" ;
	execStr += "			el.y -= startY ;" ;
	execStr += "		}" ;
	execStr += "		return el ;" ;
	execStr += "	}" ;
	execStr += "	window.stayToXY"+objId+" = function() {" ;
	execStr += "		if (verticalpos==\"fromtop\") {" ;
	execStr += "			var pY = ns ? pageYOffset : document.body.scrollTop ;" ;
	execStr += "			ftlObj"+objId+".y += (pY + startY - ftlObj"+objId+".y)/scrolltime ;" ;
	execStr += "		} else {" ;
	execStr += "			var pY = ns ? pageYOffset + innerHeight : document.body.scrollTop + document.body.clientHeight ;" ;
	execStr += "			ftlObj"+objId+".y += (pY - startY - ftlObj"+objId+".y)/scrolltime ;" ;
	execStr += "		}" ;
	execStr += "		ftlObj"+objId+".sP(ftlObj"+objId+".x, ftlObj"+objId+".y) ;" ;
	execStr += "	}; " ;
	execStr += "	ftlObj"+objId+" = ml"+objId+"(objId) ;" ;
	execStr += "	clearId = setInterval(\"stayToXY"+objId+"()\", oftime) ;" ;	//循环
	execStr += "}" ;
	
	try{
		eval(execStr) ;
		return clearId ;
	} catch(e) {
	} finally {
		//释放内存
		releaseObj(execStr) ;
		releaseObj(objId) ;
		releaseObj(startX) ;
		releaseObj(startY) ;
		releaseObj(verticalpos) ;
		releaseObj(oftime) ;
		releaseObj(scrolltime) ;
	}
}


//获取元素的纵坐标
function getTop(e){ 
	var offset = e.offsetTop ; 
	if(e.offsetParent != null)
		offset += getTop(e.offsetParent) ; 
	return offset ; 
} 

//获取元素的横坐标 
function getLeft(e){ 
	var offset = e.offsetLeft; 
	if(e.offsetParent != null)
		offset += getLeft(e.offsetParent) ; 
	return offset ; 
}


//BEGIN:
//页签切换
function showMyDiv( _divId, _imgId, _imgPath, _order, _total )
{
	for ( var i = 1 ; i <= _total ; i++ )
	{
		var divObj = document.getElementById(_divId+"_"+i) ;
		var imgObj = document.getElementById(_imgId+"_"+i) ;
		
		if ( i == _order )
		{
			divObj.style.display = "block" ;
			imgObj.src= _imgPath + "_" + i + "_on.gif" ;
		}
		
		if ( i != _order )
		{
			divObj.style.display = "none" ;
			imgObj.src= _imgPath + "_" + i + "_off.gif" ;
		}
	}
}

function showMyType( _divId, _order, _total )
{
	for ( var i = 1 ; i <= _total ; i++ )
	{
		var divObj_1 = document.getElementById(_divId+"_"+i) ;
		var divObj_2 = document.getElementById(_divId+"_"+i+"_"+i) ;
		var divObj_3 = document.getElementById(_divId+"_"+i+"_"+i+"_"+i) ;
		
		if ( i == _order )
		{
			divObj_1.style.display = "block" ;
			divObj_2.style.display = "block" ;
			divObj_3.style.display = "block" ;
		}
	
		if ( i != _order )
		{
			divObj_1.style.display = "none" ;
			divObj_2.style.display = "none" ;
			divObj_3.style.display = "none" ;
		}
	}
}
//END

//下拉菜单
//BEGIN:
function menuControl(show,order)
{
	if(show==1)
	{		
		eval("showMenu("+"menu_"+order+")");
	}
	else
	{		
		eval("hideMenu("+"menu_"+order+")");
	}
}

function showMenu(obj)
{
	obj.style.display = "block" ;
	obj.style.clip = "rect(0 100% 100% 0)" ;
	
	mgSelect(1) ;
}

function hideMenu(obj)
{
	obj.style.display = "none" ;
	
	mgSelect(-1) ;
}

function keepMenu(obj)
{
	obj.style.display = "block" ;
	
	mgSelect(1) ;
}

function mgSelect(_str)
{
	var allselect = document.getElementsByTagName("select") ;
	
	if ( _str == 1 )
	{
		for ( var i = 0 ; i < allselect.length ; i++ )
		{
			allselect[i].style.visibility = "hidden" ;
		}
	}
	else
	{
		for ( var i = 0 ; i < allselect.length ; i++ )
		{
			allselect[i].style.visibility = "visible" ;
		}
	}	
}
//END

/**
 * 图片按比例缩放
 * @param ImgD 图片对象
 * @param iwidth 允许的宽度
 * @param iheight 允许的高度
 */
function drawImage(ImgD, iwidth, iheight)
{
	var image = new Image() ;
	image.src = ImgD.src ;
	if (image.width > 0 && image.height > 0) {
		if (image.width/image.height >= iwidth/iheight) {
			if (image.width > iwidth) {
				ImgD.width = iwidth ;
				ImgD.height = (image.height*iwidth)/image.width ;
			} else {
				ImgD.width = image.width ;
				ImgD.height = image.height ;
			}
			ImgD.alt = image.width+"×"+image.height ;
		} else {
			if (image.height > iheight) {
				ImgD.height = iheight ;
				ImgD.width = (image.width*iheight)/image.height ;
			} else {
				ImgD.width = image.width ;
				ImgD.height = image.height ;
			}
			ImgD.alt = image.width+"×"+image.height ;
		}
	}
} 

/**
 * 检查参数的radio对象是否被选上，true：有值被选上，false：没有选择
 *
 * @param 1. 对象objRadio
 * @return 返回ture或者false
 */
function checkRadio(objRadio)
{
	var obj_return = false ;
	try {
		for (var j = 0 ; j < objRadio.legnth ; j++) {
			if (typeof(objRadio[j]) != "undefined" && objRadio[j].checked)
				obj_return = true ;
		}
	} catch(E) {}

	return obj_return ;
}


//-->
