jiyiri.register_namespace('jiyiri.helper.net');
jiyiri.require('jiyiri.helper.net.Parameter');


(function(){
    /* Codes Start Here */
    var AjaxClass = {};
	
    /**
     * 发送ajax的POST请求
     * 
     * @param {String} url
     * @param {jiyiri.helper.net.Parameter} params
     * @param {Function} callback
     * 
     * @return ajax object
     */
    AjaxClass.post = function(url, params, callback){
    	
    	params = params ? params : new jiyiri.helper.net.Parameter();
        var ajax = new Ajax.Request(url, {
            method: 'post',
            parameters: params.to_query_string(),
            onComplete: callback
        });
        return ajax;
    };
    
	/**
     * 发送ajax的GET请求
     * 
     * @param {String} url
     * @param {jiyiri.helper.net.Parameter} params
     * @param {Function} callback
     * 
     * @return ajax object
     */
    AjaxClass.get = function(url, params, callback){
    	params = params ? params : new jiyiri.helper.net.Parameter();
        var ajax = new Ajax.Request(url, {
            method: 'get',
            parameters: params.to_query_string(),
            onComplete: callback
        });
        return ajax;
    };
    
	/**
	 * 为ThinkPHP定制的ajax的POST请求
	 * 
	 * @param {String} module
	 * @param {String} action
	 * @param {jiyiri.helper.net.Parameter} params
	 * @param {Function} callback
	 * 
	 * @return ajax object
	 */
    AjaxClass.post_tp = function(module, action, params, callback){
        var url = __APP__+'/' + module + '/' + action;
        return this.post(url, params, callback);
    };
    
	/**
	 * 为ThinkPHP定制的ajax的GET请求
	 * 
	 * @param {String} module
	 * @param {String} action
	 * @param {jiyiri.helper.net.Parameter} params
	 * @param {Function} callback
	 * 
	 * @return ajax object
	 */
    AjaxClass.get_tp = function(module, action, params, callback){
        var url = __APP__+'/' + module + '/' + action;
        return this.get(url, params, callback);
    };
	
	/**
	 * 解析ThinkPHP的返回结果
	 * @param {Object} response
	 */
	AjaxClass.parse_tp_return = function(response)
	{
		var response_text = '';
		if('object'== typeof(response) && response.responseText)
		{
			response_text = response.responseText;
		}
		else
		{
			response_text = response;
		}
		
		var rst = null;
		try {
			eval('var rst=' + response_text);
		}
		catch(ex)
		{
			//do nothing
		}
		return rst;		
	}
    /* Codes End Here */
    
    /* Register Start Here */
    jiyiri.helper.net.Ajax = AjaxClass;
    /* Register End Here */

})();

