<!--
//*===========================================================================
//* (c)copyright 2000 liqwei
//* Email: liqwei(at)liqwei.com
//*  Site: http://www.liqwei.com/
//*===========================================================================
//* 功能：基本函数；
//* 版本：v1.0；
//*===========================================================================
 
//===========================================================================【系统常量】
//功能：系统常量定义 Google Analytics 帐号；
//window.google_analytics_uacct = "UA-55923-14";
//===========================================================================【基本功能】
//功能：添加到收藏夹；
function addFavorite(url, name){
	var argLength = addFavorite.arguments.length;
	var theUrl = (argLength==0)?document.domain:url;
	var theName = (argLength==2)?name:document.title;
	try{
		if (document.all) { window.external.addFavorite(theUrl, theName);
		}else if (window.sidebar){ window.sidebar.addPanel(theName, theUrl, "");
		}else{ alert("您的浏览器不支持此设置，请手动设置！"); }
	}catch(e){ alert("您的浏览器不支持此设置，请手动设置！"); }
}
//功能：设置主页；
function setHomePage(url){
	var argLength = setHomePage.arguments.length;
	var theUrl = (argLength==0)?document.domain:url;
	try{
		document.body.style.behavior='url(#default#homepage)';
		document.body.setHomePage(theUrl);
	}catch(e){ alert("您的浏览器不支持此设置，请手动设置！"); }
}
//功能：打印页面；
function doPrint(){ print(document); }
//功能：关闭窗口；
function doClose(){ self.opener=null; self.close(); }
//功能：推荐页面；
function doSelect(objHandle){
	try{objHandle.select();
	}catch(e){ alert("您的浏览器不支持此设置，请手动设置！"); }
}
//功能：复制指定内容到剪贴板中；
function doCopy(objHandle) {
	try{
		objHandle.select();
		window.clipboardData.clearData();
		window.clipboardData.setData("Text", objHandle.value);
		alert("复制成功！");
	}catch(e){ alert("您的浏览器不支持此设置，请手动设置！"); }
}
//===========================================================================【窗口】
//功能：在新窗口中显示一个文件，并指定窗口的宽度和高度；
function showFile(path, width, height){
	 var len = showFile.arguments.length;
	 var theWidth = (len>1)?width:800;
	 var theHeight = (len>2)?height:400;
	 
	if(path==null || path.length==0){
		alert("没有任何文件，请先上传！");
		return false;
	}else{
		openWindow(path, "showFileWindow", theWidth, theHeight, "scrollbars=1,status=1,resizable=1");
	}
}
//功能：新窗口自动居中；
function openWindow(url, name, width, height, style) {
  var left = (window.screen.availWidth-10-width)/2;
  var top = (window.screen.availHeight-30-height)/2;
  var win_style = "height="+height+",innerHeight="+height+",width="+width+",innerWidth="+width+",top="+top+",left="+left;
  if(style != null && style != ""){ win_style += "," + style; }
  window.open(url, name, win_style).focus();
}
//功能：窗口自动最大化；
function maxWindow(hWin){
	hWin.moveTo(0,0); hWin.resizeTo(screen.availWidth,screen.availHeight);
}
//功能：自动缩放图片在指定大小范围之内，针对 img 标签；
function zoomImage(imageHaddle, maxWidth, maxHeight){
	if(imageHaddle.width>0 && imageHaddle.height>0){
		var rate, isSelectWidth;
		if(maxWidth>0 && maxHeight>0){		
			isSelectWidth = (maxWidth/imageHaddle.width > maxHeight/imageHaddle.height);
			rate = isSelectWidth?(maxHeight/imageHaddle.height):(maxWidth/imageHaddle.width);			
		}else if(maxWidth < 0){
			isSelectWidth = false;
			rate = (maxHeight-imageHaddle.height)>0?1:maxHeight/imageHaddle.height;
		}else if(maxHeight < 0){
			isSelectWidth = false;
			rate = (maxWidth-imageHaddle.width)>0?1:maxWidth/imageHaddle.width;
		}
		if(rate<1){
			if(isSelectWidth){ imageHaddle.width = imageHaddle.width*rate;}
			else{ imageHaddle.height = imageHaddle.height*rate; }
		}
	}
}
//===========================================================================【Cookie读写】
//功能：获取指定名称的 Cookie 值；
function getCookie(name) {
  var value = "";
  if(document.cookie.length > 0){
	  var prefix = name + "="; 
	  var begin = document.cookie.indexOf(prefix);
	  if (begin != -1) {
			begin += prefix.length;
			var end = document.cookie.indexOf(";", begin);
			if (end == -1)	end = document.cookie.length;
			value = unescape(document.cookie.substring(begin, end));
	  }
  }
  return value;
}
//功能：设置指定名称的 Cookie 值；
function setCookie(name, value, days){
	var argv = setCookie.arguments;
	var argc = setCookie.arguments.length;
	var days = (argc>2)?argv[2]:null;
	if(days!=null){
		var expireDate = new Date();
		expireDate.setTime(expireDate.getTime() + (days*1000*3600*24));
	}
	document.cookie = name+"="+escape(value) + ((days==null)?"":("; expires=" +expireDate.toGMTString())) +"; path=/";
}
//===========================================================================【获取指定对象】
//功能：获取指定名称的控件对象；
function getById(fieldName){ return document.getElementById(fieldName); }
//功能：获取指定名称的控件对象数组；
function getByName(fieldName){ return document.getElementsByName(fieldName); }
//功能：获取指定表单，指定名称的控件对象或对象数组；
function getByForm(formName, fieldName){ return eval("document."+ formName +"."+ fieldName); }
//功能：获取列表的文字；
function getText(objHaddle){ return objHaddle.options[objHaddle.selectedIndex].text; }
//功能：获取指定控件对象的值；
function getValue(objHaddle){ return objHaddle.value; }
//功能：获取指定的单选框控件对象的值；
function getValueByRadio(objHaddle){
	for(var i=0; i<objHaddle.length; i++){
		if(objHaddle[i].checked) return objHaddle[i].value;
	}
}
//功能：设置单选框的值；
function setValueByRadio(objHaddle, value){
	for(var i=0; i<objHaddle.length; i++) {
		if (objHaddle[i].value==value) { objHaddle[i].checked = true; }
	}
}
//功能：获取指定的多选框控件对象的值；
function getValueByCheck(objHaddle, splitor){
	var value = new Array();
	for(var i=0,j=0; i<objHaddle.length; i++){
		if(objHaddle[i].checked){ value[j++]=objHaddle[i].value; }
	}
	return value.join(splitor);
}
//功能：设置多选框的值；
function setValueByCheck(objHaddle, value, splitor){
	var aryValue = value.split(splitor);
	for(var i=0; i<objHaddle.length; i++){
		for(var j=0; j<aryValue.length; j++){
			if(objHaddle[i].value==aryValue[j]){ objHaddle[i].checked=true; }
		}
	}
}
//===========================================================================【字符操作】
// 功能：检测指定值是否为空；
function isEmpty(value){ return (value == null)||(trim(value).length == 0); }
// 功能：检测两个值是否相同；
function isSame(value1, value2){ return (trim(value1) == trim(value2)); }
// 功能：去处空格(包括空格，tab，form feed，换行符，等价于[ \f\n\r\t\v])；
function trim(value){
	if(value==null) return null;
	return value.replace(/(^\s*)|(\s*$)/g,"");
}
//功能：获取随机数字；
function getRandomNumber(base, maxNumber){	return Math.floor(Math.random()*maxNumber-base+1)+base; }
// 功能：去除指定文本中的HTML标记；
function abstractText(html){
	if(isEmpty(html)) return "";
	html = trim(html.replace(/<[^>]*>/g,"").replace(/&nbsp;/ig," ")).replace(/&quot;/ig,"\"");
	html = html.replace(/&ldquo;/ig,"“").replace(/&rdquo;/ig,"”").replace(/&mdash;/ig,"—");
	html = html.replace(/&hellip;/ig,"…").replace(/&#160;/ig,"");
	return html;
}
// 功能：去除指定文本中的空白行；
function stripBlankLine(text){
	if(isEmpty(text)) return "";
	return text.replace(/\n[\s| ]*\r/g,"");
}
//===========================================================================【级联列表】
//功能：回调并装载数据，用于多级分类或关联数据初始化的时候；
function initLevelData(aimObj,defaultId,url,splitor,isHaveDefaultOption){
	var argLength = initLevelData.arguments.length;
	var theSplitor = (argLength>=4)?splitor:",";
	var isHaveOption = (argLength>=5)?isHaveDefaultOption:true;
	var beginIndex = (isHaveOption)?1:0;
	
	with(aimObj){
		while(length>beginIndex)
			remove(beginIndex);			
		var content = getUrlContent(url, false);
		if(content==null) 
			return;
		content = content.replace(/(^\s*)|(\s*$)/g,""); 
		if(content.length==0)
			return;
		var ary = content.split(theSplitor);
		var index = 0;
		for(var i=0,j=0; i<ary.length; i+=2,j++){
			if(isHaveOption){
				options[j+1]=new Option(ary[i+1], ary[i], false, (ary[i]==defaultId));
			}else{
				options[j]=new Option(ary[i+1], ary[i], false, (ary[i]==defaultId));
			}
		}
	}
}
//功能：回调并装载数据，用于级联调用的时候；
function changeRelationData(srcObj,srcErrorValue,relationObj,url,splitor,isHaveDefaultOption){
	var argLength = changeRelationData.arguments.length;
	var theSplitor = (argLength>=5)?splitor:",";
	var isHaveOption = (argLength>=6)?isHaveDefaultOption:true;
	var beginIndex = (isHaveOption)?1:0;
	
	with(relationObj){
		while(length>beginIndex)
			remove(beginIndex);	
		if(srcObj.value==srcErrorValue){
			return;
		}
		var content = getUrlContent(url, false);
		if(content==null) 
			return;
		content = content.replace(/(^\s*)|(\s*$)/g,""); 
		if(content.length==0)
			return;
		var ary = content.split(theSplitor);
		for(var i=0,j=0; i<ary.length; i+=2,j++){
			if(isHaveOption){
				options[j+1]=new Option(ary[i+1], ary[i]);
			}else{
				options[j]=new Option(ary[i+1], ary[i]);
			}
		}
	}
}
//功能：回调并装载数据，用于多级分类调用的时候，控制同一个隐藏字段；
//调用：01、没有级联变化，第一级：changeLevelData(srcObj,srcErrorValue,aimObj,null,childObj,url);
//      02、带有级联变化，第二级：changeLevelData(srcObj,srcErrorValue,aimObj,parentObj,childObj,url);
//      03、没有级联变化，第三级：changeLevelData(srcObj,srcErrorValue,aimObj,parentObj);
function changeLevelData(srcObj,srcErrorValue,aimObj,parentObj,childObj,url,splitor,isHaveDefaultOption){
	var argLength = changeLevelData.arguments.length;
	var isEnabledParentControl = (parentObj!=null);
	var isEnableRelatedControl = (argLength>4);
	var theSplitor = (argLength==7)?splitor:",";
	var isHaveOption = (argLength==8)?isHaveDefaultOption:true;
	var beginIndex = (isHaveOption)?1:0;
	
	if(!isEnableRelatedControl){
		if(isEnabledParentControl){
			if(srcObj.value==srcErrorValue){
				aimObj.value = parentObj.value;
			}else{
				aimObj.value = srcObj.value;	
			}
		}else{
			aimObj.value = srcObj.value;
		}
		return;
	}
	
	with(childObj){
		while(length>beginIndex)
			remove(beginIndex);	
		if(srcObj.value==srcErrorValue){
			aimObj.value = ""
			return;
		}else{
			aimObj.value = srcObj.value;
		}
		var content = getUrlContent(url, false);
		if(content==null) 
			return;
		content = content.replace(/(^\s*)|(\s*$)/g,""); 
		if(content.length==0)
			return;
		var ary = content.split(theSplitor);
		for(var i=0,j=0; i<ary.length; i+=2,j++){
			if(isHaveOption)
				options[j+1]=new Option(ary[i+1], ary[i]);
			else
				options[j]=new Option(ary[i+1], ary[i]);
		}
	}
}
function changeGradeData(srcObj,srcErrorValue,aimObj,aryObj,url,splitor,isHaveDefaultOption){
	var argLength = changeGradeData.arguments.length;
	var isEnabledParentControl = (aryObj[0]!=srcObj);
	var parentObj,childObj;
	var i = 0;
	if(isEnabledParentControl){
		for(; i<aryObj.length; i++){
			if(aryObj[i]==srcObj){	parentObj = aryObj[i-1]; break; }
		}
	}
	var isEnableRelatedControl = (aryObj.length>(i+1));
	if(isEnableRelatedControl){ childObj=aryObj[i+1]; }
	var theSplitor = (argLength==6)?splitor:",";
	var isHaveOption = (argLength==7)?isHaveDefaultOption:true;
	var beginIndex = (isHaveOption)?1:0;
	
	if(!isEnableRelatedControl){
		if(isEnabledParentControl){
			if(srcObj.value==srcErrorValue){
				aimObj.value = parentObj.value;
			}else{
				aimObj.value = srcObj.value;	
			}
		}else{
			aimObj.value = srcObj.value;
		}
		return;
	}
	
	with(childObj){
		while(length>beginIndex)
			remove(beginIndex);	
		if(srcObj.value==srcErrorValue){
			aimObj.value = ""
			return;
		}else{
			aimObj.value = srcObj.value;
		}
		var content = getUrlContent(url, false);
		if(content==null) 
			return;
		content = content.replace(/(^\s*)|(\s*$)/g,""); 
		if(content.length==0)
			return;
		var ary = content.split(theSplitor);
		for(var i=0,j=0; i<ary.length; i+=2,j++){
			if(isHaveOption)
				options[j+1]=new Option(ary[i+1], ary[i]);
			else
				options[j]=new Option(ary[i+1], ary[i]);
		}
	}
}
//===========================================================================【Ajax调用函数】
//功能：发送 Get 请求，可指定是否以异步方式发送，同步方式有返回值，异步方式无返回值；
function getUrlContent(url, isAsynchronous){
	isAsynchronous = (getUrlContent.arguments.length==2)?isAsynchronous:false;
	var xmlHttp = getXmlHttp();
	
	if (!xmlHttp) return false;
    xmlHttp.open("GET", url, isAsynchronous);
	xmlHttp.setRequestHeader("Cache-Control", "no-cache");
    xmlHttp.send(null);
	
	if(!isAsynchronous){ // 同步方式；
		return xmlHttp.responseText;
	}
}
//功能：以异步方式，发送 Get 请求，同时指定回调函数，并返回 xmlHttp 对象以供回调函数使用；
function getUrlContentWithCallback(url, callback){	
	var xmlHttp = getXmlHttp();
	
	if (!xmlHttp) return false;
	xmlHttp.onreadystatechange = eval(callback);
	xmlHttp.open("GET", url, true);   // 异步方式；
	xmlHttp.setRequestHeader("Cache-Control", "no-cache");
	xmlHttp.send(null);
	
	return xmlHttp;
}
//功能：创建 xmlHttp 对象；
function getXmlHttp(){	
	var xmlHttp = false;
	
	if(window.XMLHttpRequest) { // Mozilla 浏览器
		xmlHttp = new XMLHttpRequest();
	}else if(window.ActiveXObject) { // IE浏览器
		var aVersions = ["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"];
		for(var i=0; i<aVersions.length && !xmlHttp; i++) {
			try { 
				xmlHttp = new ActiveXObject(aVersions[i]);
			}catch(e) {
				xmlHttp = false;
			}
		}
	}
	
	return xmlHttp;
}
-->
