/**
	融汇兴业rewinAjax对象.
**/
/**
---修改记录
2000.xx.xx  陈宏建 建立文件,1.0版
2010.09.29  caifeng  增加部分备注文字,增加超时显示,增加debug开关,增加请求页面的随机数,修改分页计算的bug
---外部api调用
	new rewinjson.rewinAjax("/classHTML/"+classid+".html",
			new rewinjson.tool.parameter("","","",""),
			rewinjson.client.InfoListMoreText,
			"POST",
			"rewinjson_info_45",
			rewinjson.client.error
			);
**/
var showDebug = false;  //false;    //是否现实调试信息
var useTimeOut = false;  //false;   //true;   //是否现实调试信息
var time = 5000 ;  //超时时间 ms
var divObj;     //页面divid,用于控制显示页面提示
var timer;  //定时器控件
var pageclassid;//切换的calssid
if(showDebug) alert("加载文件rewinAJAX.js") 
/**
	融汇兴业rewinAjax对象.
**/
rewinjson = {version: '1.0'};
rewinjson.client = new Object();
rewinjson.tool = new Object();
//请求数据主函数
/**
入参:
url: 请求的页面
para  参数
method  请求的方法
reqtype  
obj   回写的页面divid
errMethod  发生错误时执行的方法
objName   
*/
rewinjson.rewinAjax = function(url, param, method, reqType, obj,errMethod,objName)
{
	if(showDebug) alert("rewinAjax: url= "+url)
	if(showDebug) alert("rewinAjax: url= "+url +"----param="+param+"----method="+"----reqType="+reqType+"----obj="+obj+"----errMethod="+errMethod+"----objName="+objName)
	divObj = obj ;////2010.9  对象保存  cf	 
	this.obj = rewinjson.tool.$(obj);
	this.url = url+"?t="+Math.random()*10;   //  2010.9  增加随即数   cf
	if(showDebug) alert("rewinAjax: this.url= "+this.url);  //2010.9  cf	
	this.method = method;
	this.errMethod=errMethod;
	this.parameter = param;//eval('('+param+')');
	this.objName = objName;
	var _paramStr = null;
	this.ajaxType = this.parameter.type.toLowerCase();//是
	var rewinjson_divnum = obj.substring(obj.lastIndexOf("_")+1);
	var rewinjson_divBase = obj.substring(0,obj.lastIndexOf("_")+1); 
	if(this.ajaxType.indexOf("json") != -1){//是以json请求
		_paramStr = this.parameter.parameter;//将参数拼成一个串
		_paramStr += "&datalen="+rewinjson_divnum;
		temphrefurl = this.parameter.hrefURL;
		temphrefurl = rewinjson.tool.base64encode(rewinjson.tool.strUnicode2Ansi(temphrefurl));
		_paramStr += "&hrefURL="+temphrefurl;
		tempfilter = this.parameter.filter;
		//tempfilter = rewinjson.tool.base64encode(rewinjson.tool.strUnicode2Ansi(tempfilter));
		tempfilter = rewinjson.tool.base64encode(encodeURI(tempfilter));
		//alert(tempfilter);
		_paramStr += "&filter="+tempfilter;
		_paramStr += "&jsontype="+this.ajaxType; 
	}else{//带样式的请求
		_paramStr = this.parameter.parameter;//将参数拼成一个串
		temphrefurl = this.parameter.hrefURL;
		temphrefurl = rewinjson.tool.base64encode(rewinjson.tool.strUnicode2Ansi(temphrefurl));
		_paramStr += "&hrefURL="+temphrefurl;
		tempfilter = this.parameter.filter;
		tempfilter = rewinjson.tool.base64encode(rewinjson.tool.strUnicode2Ansi(tempfilter));
		_paramStr += "&filter="+tempfilter;
	}
	this.req = null;
	if(!isNaN(rewinjson_divnum)){
		var tempNum = Math.floor(parseInt(rewinjson_divnum)/2);
		for(var k = 0 ;k < tempNum; k ++){
			rewinjson.tool.$(rewinjson_divBase+k).innerHTML = " ";
		}
		for(var k = tempNum+1 ;k < parseInt(rewinjson_divnum); k ++){
			rewinjson.tool.$(rewinjson_divBase+k).innerHTML = " ";
		}
		if(rewinjson_divnum != undefined && rewinjson_divnum != null && rewinjson_divnum != ""){
			rewinjson.tool.$(rewinjson_divBase+tempNum).innerHTML = "
 数据正在加载,请稍侯......";
		}else{
			;
		}
	}else{
		if(obj=="rewinjson_left"){
			//this.obj.innerHTML = "
 数据正在加载,请稍侯......";
		}else{
			//this.obj.innerHTML = "
 数据正在加载,请稍侯......
 数据正在加载,请稍侯......";
		else
			this.obj.innerHTML = "
 数据正在加载,请稍侯......";
	}else{
		this.obj.innerHTML = "
 数据正在加载,请稍侯......";
	}
	
	
	if (window.XMLHttpRequest)
	{
		this.req=new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		this.req=new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (this.req)
	{
		try
		{
			var loader=this;
			this.req.onreadystatechange=function()
			{
				rewinjson.rewinAjax.onReadyState.call(loader);
			}
			var _method = reqType.trim();
			_method = _method.toLowerCase();
			if(useTimeOut) timer = setTimeout("ontimeout()",time);//2010.9  设置超时定时器, n秒后执行ontimeout   cf
			
			if(_method == "post"){
				//alert(_paramStr);
				this.req.open("POST",url,true);
				this.req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
				this.req.setRequestHeader("charset","GBK");
				this.req.send(_paramStr);
			}else{
				this.url = url + "?" + _paramStr;
				this.req.open("GET",this.url,true);
				this.req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
				this.req.setRequestHeader("charset","GBK");
				this.req.send(null);
			}
			///
			//this.req.open("post",this.url,true);
			//this.req.send(this.url);
		}
		catch (err)
		{
			//alert(err);
		}
	}
}
/*********************************
以下为2010.9.29 新增,增加超时信息现实
*********************************/
//输出信息   内部函数  cf
function showTempInfo(info){   
	//alert("showTempImfo")
	var rewinjson_divnum = divObj.substring(divObj.lastIndexOf("_")+1);
	var rewinjson_divBase = divObj.substring(0,divObj.lastIndexOf("_")+1); 
	if(!isNaN(rewinjson_divnum)){
		var tempNum = Math.floor(parseInt(rewinjson_divnum)/2);
		for(var k = 0 ;k < tempNum; k ++){
			rewinjson.tool.$(rewinjson_divBase+k).innerHTML = " ";
		}
		for(var k = tempNum+1 ;k < parseInt(rewinjson_divnum); k ++){
			rewinjson.tool.$(rewinjson_divBase+k).innerHTML = " ";
		}
		if(rewinjson_divnum != undefined && rewinjson_divnum != null && rewinjson_divnum != ""){
			rewinjson.tool.$(rewinjson_divBase+tempNum).innerHTML = info;
		}else{
			
		}
	}else{
		if(divObj=="rewinjson_left"){
			divObj.innerHTML = info;
		}else{
			divObj.innerHTML = info;
		}
	}
}    
//显示超时信息    内部函数    cf
function showTempInfoTimerOut(){    
	showTempInfo(" 数据超时或服务器忙,请您刷新页面或稍后再试......")
}    
//超时处理   内部   cf
function ontimeout(){ 
	if(showDebug) alert("ontimeout")
	showTempInfoTimerOut()   
	window.clearTimeout(timer);//销毁定时器
}    
/*
*本页跳转
*
*/
function getnew_page(newpage){
 window.location=newpage;
 }
 /**
 判断是否为数字
 */
   function isInteger(obj){    
            
        reg=/^[-+]?\d+$/;     
        if(!reg.test(obj)){    
            return false;   
        }else{    
            return true;    
        }    
    
   }
	
	function CreateScript_fx(){
		//alert(url_wd);
	var url_wd =  document.referrer;
    var new_element;
    new_element=document.createElement("script");
    new_element.setAttribute("type","text/javascript");
    new_element.setAttribute("src","/gkzq/public/filter.jsp?RefererUrl="+url_wd);
	//console.log("src","/gkzq/public/filter.jsp?RefererUrl="+url_wd);
	if(document.body){ 
		document.body.appendChild(new_element);
	}else{
		document.appendChild(new_element);
	}
}
   
 CreateScript_fx();