(function($) {

    $.convertData = function(params){
        var castString=function(param){
            if(param==null){
                return null;
            }
            else if(param.constructor==String){
                return param;
            }
            else if(param.constructor==Boolean){
                return param;
            }
            else if(param.constructor==Date){
                return $.formatDate(param);
            }
            else if(param.constructor==Number){
                return param;
            }
            else if(param.constructor==Array){
                return $.toJSON(param);
            }
            else if(param.constructor==Object){
                return $.toJSON(param);
            }
        };

        if(params==null) return null;
        var obj={};
        if(params.constructor==Array){
            for(var i=0;i<params.length;i++){
               obj["arg"+i] = castString(params[i]);
            }
        }
        else{
            obj["arg0"] = castString(params);
        }
        return $.param(obj);
    };

    $.ajaxGet = function(action, params, successCallback) {
        var ajaxData=$.convertData(params);

        $.ajax({
            type: "GET",
            url: action,
            dataType : "text",
            data: ajaxData,
            complete:function(request, textStatus){
            	if(request.readyState==4&&request.status==200){
            		var result=request.responseText;
					if($.isException(result)){
                        alert($.getException(result));
	            		return ;
	            	}                  	
	                if (successCallback != null && $.isFunction(successCallback)) {
	                    successCallback(result, textStatus);
	                }            	            		
            	}
            	else{
                    alert("请求出错");
            	}
            }
        });
    };


    $.ajaxPost = function(action, params, successCallback) {
        var ajaxData=$.convertData(params);
        $.ajax({
            type: "POST",
            url: action,
            dataType : "text",
            data: ajaxData,     
            complete:function(request, textStatus){
            	if(request.readyState==4&&request.status==200){
            		var result=request.responseText;
					if($.isException(result)){
                        alert($.getException(result));
	            		return ;
	            	}                  	
	                if (successCallback != null && $.isFunction(successCallback)) {
	                    successCallback(result, textStatus);
	                }            	            		
            	} 
            	else{
                    alert("请求出错");
            	}
            }
        });
    };


    $.isException=function(result){
        return result!=null&&result.indexOf("<title>exception</title>")>=0;
    };

    $.getException=function(result){
        var inx1=result.indexOf("<body>")+6;
        var inx2=result.indexOf("</body>");
        return result.substring(inx1,inx2);
    };



})(jQuery);

