//START: form
// Example: $('#myForm1').form().url('http://localhost/test/jqform/jqform.php').get();
(function($){
$.fn.form = function(){
    var d={method:"post",success:function(data){alert(data);},error:function(a,b,c){this;},data:"html"};
	var id=this.attr("id");
	var qs = function(){
	    var q = new Array();
	    $('#'+id).find('*').each(
		    function(){
			    if(this.value){
				    if(this.name){
					    if(this.tagName=='SELECT'&&$(this).attr("multiple")){
						    var values = new Array();
						    $(this).find('option').each(function(){if(this.selected)values[values.length]=this.value;});
							for(var i=0;i<values.length;i++){q[q.length]=escape(this.name)+"[]="+escape(values[i]);}
						}else if(this.type=='checkbox'){
						    if(this.checked){
						    var is_array = 0; var all = $('#'+id).find("[name='"+this.name+"']");
							if(all.size()>0){all.each(function(){if(this.checked){is_array+=1;}});}
							(is_array>0)?q[q.length]=escape(this.name)+"[]="+escape(this.value):q[q.length]=escape(this.name)+"="+escape(this.value);
							}
						}else if(this.type=='radio'){
						    if(this.checked)q[q.length]=escape(this.name)+"="+escape(this.value);
						}else{
					        q[q.length]=escape(this.name)+"="+escape(this.value);
						}
					}
				}
			}			
		);
		return q.join("&");
	};
	this.post=function(){
	    var data = qs(); $.ajax({type: "POST", data:data,url: d.url,dataType: d.data,error:d.error,success:d.success})
	};
	this.get=function(){
	    var data = qs(); $.ajax({type: "GET", data:data,url: d.url,dataType: d.data,error:d.error,success:d.success})
	};
	this.url=function(url){d.url=url;return this;};
	this.data=function(type){d.data=type;return this;};
	this.success=function(fn){d.success=fn;return this;};
	this.error=function(fn){d.error=fn;return this;};
	return this;
};
//END:form
})(jQuery);
