 
function handleRegistrationResponse (responseText)
{
	hideLoading();
	$('#registra_invia').attr({disabled:false});
	$('#registra_invia').css({cursor:'pointer'});
	
	response = jQuery.parseJSON(responseText);
	if(response['success'])
	{
		fillLoggedUser(response['nome']);
		makeEdit(response['id']);
		$('#registrazione').slideUp(1300,'easeInOutCirc');
		$('#imgcaptcha').attr({src: '/captcha/image?' + Math.round(Math.random(0)*1000)+1});
	}
	else
	{
		$('#imgcaptcha').attr({src: '/captcha/image?' + Math.round(Math.random(0)*1000)+1});
		$('#UtenteVerification').attr({value: ''});
		
		$('.asyncerror').remove();
		errors = response['errors'];
		for (key in errors)
		{
			field=key;
			if(key.indexOf('_') > -1)
			{
				pre = key.substring(0,key.indexOf('_'));
				post = key.substr(key.indexOf('_')+1);
				field = pre+post.charAt(0).toUpperCase()+post.substr(1);
			}	
			
			var fieldName = 'Utente'+field.charAt(0).toUpperCase()+field.substr(1);
			var parent = $('#'+fieldName).parent();
			var error = $('<div class="asyncerror"><div></div></div>');
			error.wTooltip({
				content: errors[key],
				style:false,
				className:'feTip',
				offsetX: 10,
				offsetY:-20,
				fadeIn:400,
				fadeOut:100
			});
			parent.append(error);
			$('.asyncerror').click(function(e){
				$(this).parent().children('input').focus();
				$(this).remove();
			});
		}
	}
}

function handleLoginResponse(responseText)
{
	hideLoading();
	response = jQuery.parseJSON(responseText);
	if (response['success'])
	{
		fillLoggedUser(response['nome']);
		makeEdit(response['id']);
		$('#registrazione').slideUp(1300,'easeInOutCirc');
		$('#imgcaptcha').attr({src: '/captcha/image?' + Math.round(Math.random(0)*1000)+1});
	}
	else
	{
		$('.asyncerror').remove();
		
		var parent = $('#LoginUsername').parent();
		usernameError = $('<div class="asyncerror"><div></div></div>');
		usernameError.wTooltip({
			content: 'Nome utente o password non validi',
			className:'feTip',
			style:false,
			offsetX: 10,
			offsetY:-20,
			fadeIn:400,
			fadeOut:100
		});
		parent.append(usernameError);
		
		parent = $('#LoginPassword').parent();
		passwordError = usernameError.clone();
		passwordError.wTooltip({
			content: 'Nome utente o password non validi',
			className:'feTip',
			style:false,
			offsetX: 10,
			offsetY:-20,
			fadeIn:400,
			fadeOut:100
		});
		parent.append(passwordError);
		
		$('.asyncerror').click(function(e){
			$(this).parent().children('input').focus();
			$(this).remove();
		});
	}
}

function fillLoggedUser(name)
{
	var content = name;
	content += '<a href="javascript:void(0);" id="btnEdit"><span>Modifica dati</span></a>';
	content += '<a href="javascript:void(0);" id="btnLogout"><span>Logout</span></a>';
	
	$('#loginLink').html(content);
	
	$('#btnLogout').click(function(e){
		$('#registrazione').slideUp(1300,'easeInOutCirc');
		userLogout();
	});
	
	// edit
	$('#btnEdit').click(function(){
		$.ajax({ 
			url: "/utente/getasyncinfo",
			success: function(responseText){
				populateFields(responseText);
       	$('#registrazione').slideDown(1300,'easeInOutCirc');
      }
    });
  });
}

function userLogout()
{
	$.ajax({url: "/utente/publogout"});
	var content = '<a href="javascript:void(0);" id="openLogin"><span>Login / Registrazione</span></a>';
	$('#loginLink').html(content);
	
	$('#openLogin').click(function(){
    $('#registrazione').slideToggle(1300,'easeInOutCirc');
  });
  makeAdd();
}

function populateFields(responseText)
{
	var utente = jQuery.parseJSON(responseText);
	for (var key in utente['Utente'])
	{
		field=key;
		if(key.indexOf('_') > -1)
		{
			pre = key.substring(0,key.indexOf('_'));
			post = key.substr(key.indexOf('_')+1);
			field = pre+post.charAt(0).toUpperCase()+post.substr(1);
		}	
		
		var fieldName = 'Utente'+field.charAt(0).toUpperCase()+field.substr(1);
		$('#'+fieldName).attr({value: utente['Utente'][key]});
	}
	
	$("select").bind("load", function(e){
    var str = e.currentTarget.id;
    var value = e.currentTarget.value;
    var valueString = e.currentTarget.options[e.currentTarget.selectedIndex].text;
    $("input#input"+str).attr({value: valueString});
  });
	$("select").load();
}

function makeEdit(utente_id)
{	
	$('#UtentePubAdd').attr({action: '/utente/pubedit'});
	$('#UtentePubAdd').append('<input id="UtenteId" type="hidden" name="data[Utente][id]" value="'+utente_id+'"');
	$('#login_utente').hide();
	$('#login').css({height: '534px'});
	$('#UtenteEmail').attr({disabled: 'disabled'});
	$('#UtenteConfermaPassword').attr({value: ''});
	$('#UtenteVerification').attr({value: ''});
}

function makeAdd()
{
	$('#login_utente').show();
	$('#UtentePubAdd').attr({action: '/utente/pubadd'});
	$('#UtenteId').remove();
	$('#UtenteLogin input').attr({value: ''});
	$('#UtentePubAdd input').attr({value: ''});
	$('#UtentePubAdd select').attr({selectedIndex: 0});
	$('#login').css({height: '680px'});
	$('#UtenteEmail').attr({disabled: false});
}

//CARRELLO

function adjustTotal()
{
	totale = 0;
	for (each in productQuantity)
	{
		totale += productQuantity[each]['prezzo'] * productQuantity[each]['quantita'];
	}
	$('#tot_carrello span').html(totale.toFixed(2));
}


function handleBasketResponse(responseText)
{
	response = jQuery.parseJSON(responseText);
	for (key in response['deleted'])
	{
		$("#formato_"+response['deleted'][key]).remove();
		productQuantity.splice(response['deleted'][key],1);
	}
	$('#prodotti_carrello a span').html(response['productCount']);
	adjustTotal();
}

function showLoading()
{
	$('#overLoading').fadeIn(400);
	$('#attesa').fadeIn(400);
}
function hideLoading()
{
	$('#overLoading').fadeOut(400);
	$('#attesa').fadeOut(400);
}
