/* 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, 'getCover': true, 'getRank': true, 'getGroups': true}; 
		return ajaxCall('', params, 'user_get', 'site/marines/modules/profile/read', '', 'modale');
	});
	$('#poll .view_results').click(function(){
		var id = $(this).attr('title');
		var total = $(this).attr('alt');
		var params = {poll_id: id, total_votes: total}; 
		return ajaxCall('', params, 'poll_getOptions', 'site/marines/modules/poll/poll_results', 'poll .display', 'replace');
	});
	$('#calendario .pill_nav .bt').click(function(){
		$('#calendario .pill_nav a').removeClass('active');
		$(this).addClass('active');
		var classe = $(this).attr('href');
		$('#calendario .helm').stop().animate({opacity: 0.1});
		$('#calendario .helm.'+classe).stop().animate({opacity: 1});
		return false;
	});
	$('#calendario .pill_nav .all').click(function(){
		$('#calendario .pill_nav a').removeClass('active');
		$(this).addClass('active');
		$('#calendario .helm').stop().animate({opacity: 1});
		return false;
	});
})

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: 'formCall',
					method: method,
					module: module,
					params: params
			}];
		
		if(target)
			$("#"+target).append('<img src="'+URL_BASE+'graphics/loader.gif" class="loading_ico" alt="loading...">');
		else
			$('<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: false,
			success: function(json) {
				var result = json.formCall.result;
				var message = json.formCall.message;
				if(target) 
					$("#"+target+" .loading_ico").remove();
				else
					$.modal.close();
				if(result==0){
					$('<div id="warning" class="warning"><span>'+message+'</span></div>').modal({overlayClose:true});
					return false;
				}else{
					return performAction(target, action, message);
				}
			},
			error: function(er){
				alert(er);
				if(target) 
					$("#"+target+" .loading_ico").remove();
				else
					$.modal.close();
				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;
	}
}

$(document).ready(function(){
	$('.googlemap').each(function(){
		var address = $(this).text();
		$(this).replaceWith('<iframe width="100%" height="360" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.it/maps?q='+address+'&amp;oe=utf-8&amp;client=firefox-a&amp;ie=UTF8&amp;hq=&amp;hnear='+address+'&amp;gl=it&amp;ei=RTq3TPDOB8LIswbggN2QCQ&amp;ved=0CBsQ8gEwAA&amp;t=h&amp;z=16&amp;output=embed"></iframe><br /><small><a href="http://maps.google.it/maps?q='+address+'&amp;oe=utf-8&amp;client=firefox-a&amp;ie=UTF8&amp;hq=&amp;hnear='+address+'&amp;gl=it&amp;ei=RTq3TPDOB8LIswbggN2QCQ&amp;ved=0CBsQ8gEwAA&amp;t=h&amp;z=16&amp;source=embed" target="_blank">Visualizza la mappa su google maps</a></small>');
	});
	
	$(function() {
		$('.lightbox a, a.cnt_image_ref').lightBox();
	});
	
	$('body').pngFix();
});




