// JavaScript Document
function getHTTPObject(){
	var xmlhttp = false;
	if(window.XMLHttpRequest){
		xmlhttp = new XMLHttpRequest();
		if(xmlhttp.overrideMimeType){
			xmlhttp.overrideMimeType('text/xml');
		}
	}
	else{
		try{ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");	}
		catch(e){
			try{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
			catch(E){	xmlhttp = false;	}
		}
	}
	return xmlhttp;
}

function getTimeValue(){
		now=new Date();
		timeStr=Date.parse(now);
		return timeStr;
}

function strEncode(str){
	var re = / /gim;       // 创建正则表达式样式。
	var re0 = /\'/gim;       // 创建正则表达式样式。
	var re1 = /\"/gim;       // 创建正则表达式样式。
	var encodeStr= str.replace(re,"%20").replace(re0,"").replace(re1,"");   // 用一个单词替代两个单词。
	return encodeStr;
}

function URLEncode(encodeStr){
	var re = / /gim;       // 创建正则表达式样式。
	var re0 = /\'/gim;       // 创建正则表达式样式。
	var re1 = /\"/gim;       // 创建正则表达式样式。
	var re2 = /%/gim;       // 创建正则表达式样式。
	var re3 = /#/gim;       // 创建正则表达式样式。
	var re4 = /&/gim;       // 创建正则表达式样式。
	var re5 = /\+/gim;       // 创建正则表达式样式。
	var re6 = /\\/gim;       // 创建正则表达式样式。
	var re7 = /\//gim;       // 创建正则表达式样式。
	var re8 = /\=/gim;       // 创建正则表达式样式。
	var re9 = /\?/gim;       // 创建正则表达式样式。
	if(typeof(encodeStr)!="string")
		return encodeStr;
	var encodeStr= encodeStr.replace(re,"&nbsp;").replace(re0,"&#39;").replace(re1,"&quot;").replace(re2,"%25").replace(re3,"%23").replace(re4,"%26");   // 用一个单词替代两个单词。
	encodeStr =encodeStr.replace(re5,"%2B").replace(re6,"%5C%5C").replace(re7,"%2F").replace(re8,"%3D").replace(re9,"%3F");   // 用一个单词替代两个单词。
	return encodeStr;
}

/*动态更新
table:更新的表
defaultValue:更新失败时应恢复的值
checkField:用于判断的列属性（用于取出相应的记录）
checkValue:用于判断的值（用于取出相应的记录）
changeField:更新的列
changeValue：更新的值
valueType:更新的值类型 1为字符型（SQL语句中值上需加隐号），0为非字符型（SQL语句中值上不需加隐号）
obj:更新失败时恢复的对象
method:更新方法，0: .innerHTML,其它：.value
*/

function update(table,defaultValue,checkField,checkValue,changeField,changeValue,valueType,obj,dealWithFunction,updateMethod){
	//document.all.result.innerText=changeValue;
	//document.all.result.innerText=table+"&"+defaultValue+"&"+checkField+"&"+checkValue+"&"+changeField+"&"+changeValue+"&"+valueType+"&"+obj+"&"+method;
	urlStr="/inc/Update.asp";
	parameterStr="time="+getTimeValue()+"&table="+table+"&checkField="+checkField+"&checkValue="+checkValue+"&changeField="+changeField+"&changeValue="+URLEncode(changeValue)+"&valueType="+valueType;
	dynamicGetDate(urlStr,parameterStr,dealWithFunction,updateMethod,defaultValue,obj,"cn");
}

//bstrMethod:数据传送方式，即GET或POST,  goalUrl:目标地址， varAsync:是否同步执行。缺省为True:同步执行，但只能在DOM中实施同步执行。一般将其置为False。
//queryString：URL参数字符串或源表单名(也可为Id)，fromForm：queryString的来源(1:来自表单,0:直接使用queryString),transfer:是否进行编码转换（1:转换,0:不转换.不转换可能有些中文会显示成乱码）.
//updateMethod更新指定对象的内容的方式。0：更改innerHTML,其它：直接改变其内容
//dealWithFunc:调用处理函数的字符串，该函数的参数必须含有一个名为：showDate的参数，用来接收
//取到的数据。如：dynamicGetDate('POST','http://www.chengyu.biz/flux/showflux.asp',true,'form1',1,1,'showValue(showDate)');
function dynamicGetDate(goalUrl,parameter,dealWithFunc,updateMethod,defaultValue,obj,language){
	var req =getHTTPObject();
	//goalUrl+="?value=123";
	req.open("POST",goalUrl,1);
	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	req.send(parameter);
	req.onreadystatechange=function(){
		if (req.readyState == 4) { // 判断对象状态
			if (req.status == 200) { // 信息已经成功返回，开始处理信息
				reqvalue=req.responseText;
				dealWithRessult(1,reqvalue,defaultValue,obj,updateMethod,dealWithFunc,language)
			} else { //页面不正常
				dealWithRessult(0,req.status,defaultValue,obj,updateMethod,dealWithFunc,language)
			}
		}
	}
}

function dealWithRessult(status,showDate,defaultValue,obj,updateMethod,dealWithFunc,language){
	var updateToDefault=1;
	var reason = new Array;
	if(language=="cn"){
		errorCode="错误代码："+showDate+"\n\n状态：更新不成功！\n原因：";
		reason[0]="你没有权限请登陆后再试！\n如果登陆后还提示该问题，请与管理员联系！！";
		reason[1]="网络已断开或找不到相关页面,请稍后再试！\n如果多次提示该问题，请与管理员联系！！";
		reason[2]="端口错误！\n如果多次提示该问题，请与管理员联系！！";
		reason[3]="数据类型不对或数据过多或其它程序错误！\n如果多次提示该问题，请与管理员联系！！";
		reason[4]="未知程序错误，请与管理员联系！！";
	}else{
		errorCode="Error Number:"+showDate+"\n\nStatu:Failed!!\ncause:";
		reason[0]="You haven't Login,\n      please Login!";
		reason[1]="NetWork Error or can't find the webpage,please try again later.";
		reason[2]="Port Error,Please try again later.";
		reason[3]="Date Type Error Or there have more date,Please try again later.";
		reason[4]="Unknow Error,Please contact with manager！！";
	}
	if(status==1){
		switch(showDate){
			case "1001":{
				alert(errorCode+reason[0]);
				if(document.all.username)
					document.all.username.focus();
					document.all.username.select();
				break;
			}
			default:{
				if(dealWithFunc!="")  eval(dealWithFunc);
				updateToDefault=0;
				break;
			}
		}
	}else{
		switch(showDate){
			case 404:{
				alert(errorCode+reason[1]);
				break;
			}
			case 12029:{
				alert(errorCode+reason[2]);
				break;
			}
			case 500:{
				alert(errorCode+reason[3]);
				break;
			}
			default:{
				alert(errorCode+reason[4]);
				break;
			}
		}
	}
	if(updateToDefault==1){
		if(updateMethod==0) obj.innerHTML=defaultValue;
		else obj.value=defaultValue;
	}
}

///////////////////以下为公共代码部分////////////////////////////
function countFlux(){
	document.write("<scr"+"ipt language=\"javascript\" src=\"/flux/flux.asp?referer="+escape(document.referrer)+"&urlstring="+escape(document.location.href)+"\"></scr"+"ipt>");
	document.write("<scr"+"ipt language=\"javascript\" src=\"http://www.53kf.com/kf.php?arg=cytech&style=1&keyword="+escape(document.referrer)+"\"></scr"+"ipt>");
}

function turnUrl(lang){
	var localHref=document.location.href;
	if(lang=="EN"){
		if(localHref.indexOf("://cn.")>0){
			localHref=localHref.replace("http://cn.","http://www.");
			document.location=localHref;
		}
	}else if(lang=="CN"){
		if(localHref.indexOf("://cn.")<0){
			localHref=localHref.replace("http://www.","http://");
			localHref=localHref.replace("http://","http://cn.");
			document.location=localHref;
		}
	}
}
