/* PAGES */
$(document).ready(function(){
	$('#submit-form-user_new').click(function(){
		$('<div class="loading"><span>&nbsp;</span></div>').modal();
		return true;
		//formCall($("form[name='form-user_new']"), 'fe_registration', '', URL_BASE+'page/success', 'redirect');
	});
	$('#poll_submit').click(function(){
		return ajaxCall($("form[name='poll']"), '', 'poll_setVote', 'site/marines/modules/poll/poll_results', 'poll .display', 'replace');
	});
	$('.profile_link').click(function(){
		var id = $(this).attr('id');
		var params = {id: id, 'getExtra': true, 'getRank': true, 'getGroups': true}; 
		return ajaxCall('', params, 'user_get', 'site/marines/modules/profile/read', '', 'modale');
	});
})

function formCall(form, method, module, target, action){
		var data = form.serializeArray();
		var params = $.requestObject(data);
		var request = [{
					name: 'formCall',
					method: method,
					module: module,
					params: params
			}];
			
		form.find('.error_box').slideUp('slow', function(){$(this).remove()});
		$('<div id="#ajax_res"><img src="'+URL_BASE+'graphics/loading-global.gif" class="loading_ico" alt="loading..."></div>').modal();
		$.ajax({
			type: 'POST',
			cache: false,
			url: window.URL_BASE+"_ajax.php",
			processData: false,
			data: $.toJSON(request),
			dataType: 'json',
			async: false,
			success: function(json) {
				var result = json.formCall.result;
				var message = json.formCall.message;
				if(result==0){
					form.find(".error").removeClass('error');
					form.find(".error_msg").remove();
					var count = 0;
					for(var id in message){
						count++;
						form.find("#"+id).addClass('error');
						form.find("#"+id).append('<span class="error_msg">'+message[id]+'<span>');
					}
					$.modal.close();
					$('<div class="error_box clear marg_bt_20">Ci sono '+count+' errori.</div>').insertBefore($('.form_submit')).hide().slideDown();
				}else{
					$.modal.close();
					performAction(target, action, message);
				}
			},
			error: function(er){
				$.modal.close();
				alert('error');
			}
		});
		return false;
}





function ajaxCall(form, params, method, module, target, action){
		if(form!=''){
			var data = form.serializeArray();
			var params = $.requestObject(data);
		}
		var request = [{
					name: 'ajaxCall',
					method: method,
					module: module,
					params: params
			}];
		
		$('<div id="#ajax_res"><img src="'+URL_BASE+'graphics/loading-global.gif" class="loading_ico" alt="loading..."></div>').modal();
			
		$.ajax({
			type: 'POST',
			cache: false,
			url: window.URL_BASE+"_ajax_fe.php",
			processData: false,
			data: $.toJSON(request),
			dataType: 'json',
			async: true,
			success: function(json) {
				var result = json.ajaxCall.result;
				var message = json.ajaxCall.message;
				if(result==0){
					$.modal.close();
					setTimeout(function(){ $('<div id="warning" class="warning"><span>'+message+'</span></div>').modal({overlayClose:true}) }, 10);
					return false;
				}else{
					return performAction(target, action, message);
				}
			},
			error: function(er){
				$.modal.close()
				alert(er.ajaxCall);
				if(target) 
					$("#"+target+" .loading_ico").remove();
				return false;
			}
		});
		return false;
}



function performAction(target, action, message){
	switch(action){
		default:
		alert("!");
		return false;
		break;
		
		case "return_true":
		return true;
		break;
		
		case "return_false":
		return false;
		break;
		
		case "replace":
		$("#"+target).html(message);
		return false;
		break;
		
		case "modale":
		//$('<div class="warning"><span>CIAO</span></div>').modal({overlayClose:true});
		setTimeout(function(){ $('<div id="ajax_res">'+message+'</div>').modal({overlayClose:true}) }, 10);
		return false;
		break;
		
		case "redirect":
		//alert(target)
		window.location = target;
		return false;
		break;
	}
}

