

/**
	融汇兴业rewinAjax对象.
**/
rewinjson = {version: '1.0'};
rewinjson.client = new Object();
rewinjson.tool = new Object();
/**
url       请求的url
param     参数
method    回调的方法
reqType   post or get
obj       回填的对象
errMethod 返回404 调用的方法
objName   可用来做缓存 
**/
rewinjson.rewinAjax = function(url, param, method, reqType, obj,errMethod,objName)
{
	this.obj = rewinjson.tool.$(obj);
	this.url = url;
	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 = "&nbsp;";
		}
		for(var k = tempNum+1 ;k < parseInt(rewinjson_divnum); k ++){
			rewinjson.tool.$(rewinjson_divBase+k).innerHTML = "&nbsp;";
		}
		if(rewinjson_divnum != undefined && rewinjson_divnum != null && rewinjson_divnum != ""){
			rewinjson.tool.$(rewinjson_divBase+tempNum).innerHTML = "<img src='/JSONService/indicator.gif'/> 数据正在加载，请稍侯......";
		}else{
			;
		}
	}else{
		
		this.obj.innerHTML = "<center><img src='/JSONService/indicator.gif'/> 数据正在加载，请稍侯......</center>";
	}
	
	 
	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","UTF-8");
				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","UTF-8");
				this.req.send(null);
			} 
			///
			//this.req.open("post",this.url,true);
			//this.req.send(this.url);
		}
		catch (err)
		{
			//alert(err+"ssss");
			throw err;
		}
	}
}

rewinjson.rewinAjax.onReadyState = function()
{
	
	if (this.req.readyState==4)
	{	
		var httpStatus=this.req.status;
		
		if (httpStatus==200 || httpStatus==0)
		{
			if (this.method)
			{
				if(this.objName){
					this.method(this.req.responseText, this.obj,this.objName);
				}else{
					
					this.method(this.req.responseText, this.obj);
				}
				
			}
			/*try{
				eval(this.errMethod)();
			}catch(err){}*/
		}else if(httpStatus == 404){
			
			try{
				if(this.errMethod){
					this.errMethod(this.obj,this.method,this.parameter);
				}
			}catch(err){}
		} 
	} 
}

//第二种ajax主要用于带选项卡的
rewinjson.rewinAjax_tab = 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
			this.obj.innerHTML = "<img src='/JSONService/indicator.gif'/> 数据正在加载，请稍侯......";
	}else{
		this.obj.innerHTML = "<img src='/JSONService/indicator.gif'/> 数据正在加载，请稍侯......";
	}
	
	
	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"){
				//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);
		}
	}
}
 //js 键盘
/*function CreateScript_jp(){
	var url_wd =  document.referrer;
    var new_element;
    new_element=document.createElement("script");
    new_element.setAttribute("type","text/javascript");
    new_element.setAttribute("src","/jdw/js/softkeyboard.js");
	if(document.body){
		document.body.appendChild(new_element);
	}else{
		document.appendChild(new_element);
	}
}
 CreateScript_jp();*/

