//JQuery Submit implementation with redirect url;

function CAJAX(send_data,app_location,redirect_url) {

	if(app_location=='_self') app_location=window.location.href;
	if(redirect_url=='_self') redirect_url=window.location.href;
	
	//checks if data is a form or fiels.
	if(send_data.indexOf("#")==0) {
		//it's a form name
		jQuery.post(app_location,jQuery(send_data).serialize(),function(data){
  			if(data.substr(0,2)=='ok'){
  				if(redirect_url) window.location.href=redirect_url;
			} else jAlert('<br/>'+data+'<br/>', 'Erro');
		});
		
	 } else {
	 	//it's fields with values.
	 	eval("var _result={"+__parseQuery(send_data)+"}");	 		 		 		 
	 	jQuery.post(app_location,_result,function(data){
  			if(data.substr(0,2)=='ok'){
  				if(redirect_url) window.location.href=redirect_url;
			} else jAlert('<br/>'+data+'<br/>', 'Erro');
		});
	 }
}

//JQuery Submit implementation with ok function and fail function.
function CAJAX_EXEC(send_data,submit_location,ok_fn,fail_fn) {
	var resultid='';
	
	if(submit_location=='_self') submit_location=window.location.href;
	
	//checks if data is a form or fiels.
	if(send_data.indexOf("#")==0) {
		//it's a form name
		jQuery.post(submit_location,jQuery(send_data).serialize(),function(data){
  			if(data.response=='ok'){
					eval(ok_fn);
			} else {
				eval(fail_fn);
			}
		},"json");
	 }else{
	 	//it's fields with values.
	 	eval("var _result={"+__parseQuery(send_data)+"}");	 		 		 		 
	 	jQuery.post(submit_location,_result,function(data){
  			if(data.response=='ok') {
					eval(ok_fn);
			} else eval(fail_fn);
		},"json");
	 }
	
}


//Convert query to json format.

function __parseQuery(q) {
	var temp="";
	var i=0;
	var result="";
	
	if (!q) return null;
	
	if(q.length > 1) { 		
		for(i=0; i < q.split("&").length; i++) {
			temp = q.split("&")[i];
			result=result+'\''+temp.split("=")[0]+'\':\''+temp.split("=")[1]+'\'';
			if (i<q.split("&").length-1) result=result+',';
		}
	}				
	return result;
}
