/**
	融汇兴业rewinAjax对象.
**/
rewinjson = {version: '1.0'};

rewinjson.rewinAjax = function(url, param, method, reqType, obj)
{
	this.obj = rewinjson.tool.$(obj);
	this.url = url;
	this.method = method;
	this.parameter = param;//eval('('+param+')');
	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));
		_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 = "&nbsp;";
		}
		for(var k = tempNum+1 ;k < parseInt(rewinjson_divnum); k ++){
			rewinjson.tool.$(rewinjson_divBase+k).innerHTML = "&nbsp;";
		}
		rewinjson.tool.$(rewinjson_divBase+tempNum).innerHTML = "<img src='/JSONService/indicator.gif'/> 数据正在加载，请稍侯......";
	}else{
		//try{
			//this.obj.innerHTML = "<img src='/JSONService/indicator.gif'/> 数据正在加载，请稍侯......";
		//}catch (err){}
	}
	
	
	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(_method == "post"){
				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);
		}
	}
}

//无加载信息提示的Ajax
rewinjson.rewinAjaxNoneLoad = function(url, param, method, reqType, obj)
{
	this.obj = rewinjson.tool.$(obj);
	this.url = url;
	this.method = method;
	this.parameter = param;//eval('('+param+')');
	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));
		_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 = "&nbsp;";
		}
		for(var k = tempNum+1 ;k < parseInt(rewinjson_divnum); k ++){
			rewinjson.tool.$(rewinjson_divBase+k).innerHTML = "&nbsp;";
		}
		//rewinjson.tool.$(rewinjson_divBase+tempNum).innerHTML = "<img src='/JSONService/indicator.gif'/> 数据正在加载，请稍侯......";
	}else{
		//try{
			//this.obj.innerHTML = "<img src='/JSONService/indicator.gif'/> 数据正在加载，请稍侯......";
		//}catch (err){}
	}
	
	
	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(_method == "post"){
				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);
		}
	}
}

rewinjson.rewinAjax.onReadyState = function()
{
	if (this.req.readyState==4)
	{	
		var httpStatus=this.req.status;
		if (httpStatus==200 || httpStatus==0)
		{
			if (this.method)
			{
				this.method(this.req.responseText, this.obj);
			}
		}
	}
}

//脱离AJAX组件直接使用AJAX的函数getXMLHttpRequest
rewinjson.getXMLHttpRequest = function()
{
	if (window.XMLHttpRequest)
	{
		return new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
}
//使用AJAX实现插入数据的功能
rewinjson.rewinAjaxEx = function(url, param,method,reqType,obj)
{
	this.method = method;
	this.obj = rewinjson.tool.$(obj);
	if(this.obj){
		this.obj.innerHTML = "<img src='/JSONService/indicator.gif'/>请稍侯...";
	}
	this.req = null;
	this.url = url;
	this.req = new rewinjson.getXMLHttpRequest();
	try
		{
			var loader=this;
			this.req.onreadystatechange=function()
			{
				rewinjson.rewinAjax.onReadyState1.call(loader);
			}
			if(reqType == "post"){
				this.req.open("POST",this.url,true);
				this.req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
				this.req.setRequestHeader("charset","GBK");
				this.req.send(param);
			}else{
				this.url = url + "?" + param;
				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);
			}
		}
		catch (err)
		{
			alert(err);
		}
}
//第二种ajax主要用于带选项卡的
rewinjson.rewinAjax = function(url, param, method, reqType, obj,tabName)
{
	this.obj = rewinjson.tool.$(obj);
	this.url = url;
	this.method = method;
	this.tabName = tabName;
	this.parameter = param;//eval('('+param+')');
	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));
		_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 ++){
			if(rewinjson.tool.$(rewinjson_divBase+k)!=undefined){
			rewinjson.tool.$(rewinjson_divBase+k).innerHTML = "&nbsp;";
			}
		}
		for(var k = tempNum+1 ;k < parseInt(rewinjson_divnum); k ++){
			if(rewinjson.tool.$(rewinjson_divBase+k)!=undefined){
			rewinjson.tool.$(rewinjson_divBase+k).innerHTML = "&nbsp;";
			}
		}
		if(rewinjson.tool.$(rewinjson_divBase+tempNum)!=undefined){
		rewinjson.tool.$(rewinjson_divBase+tempNum).innerHTML = "<img src='/JSONService/indicator.gif'/> 数据正在加载，请稍侯......";
		}
	}else{
		try{
			this.obj.innerHTML = "<img src='/JSONService/indicator.gif'/> 数据正在加载，请稍侯......";
		}catch(e){}
	}
	
	
	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(_method == "post"){
				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);
		}
	}
}

rewinjson.rewinAjax.onReadyState = function()
{
	if (this.req.readyState==4)
	{	
		var httpStatus=this.req.status;
		if (httpStatus==200 || httpStatus==0)
		{
			if (this.method)
			{
				this.method(this.req.responseText, this.obj,this.tabName);
			}
		}
	}
}

rewinjson.rewinAjax.onReadyState1 = function()
{
	if (this.req.readyState==4)
	{	
		var httpStatus=this.req.status;
		if (httpStatus==200 || httpStatus==0)
		{
			if (this.method)
			{
				this.method(this.req.responseText, this.obj);
			}
		}
	}
}

