//piccola estensione: aggiunge il metodo "enabled" per abilitare / disabilitare rapidamente un elemento jQuery
jQuery.fn.enable = function(en) {
	return this.each(function() {
		if (en)
			$(this).removeAttr('disabled');
		else
			$(this).attr('disabled', 'disabled');
	});
};


$(document).ready(function() {
/*
	//il box supporto flottante
	try {
		$("#infobox").draggable({handle: "h2"});
		$("#infobox a#close").click(function() {
			$("#infobox").fadeOut(500);
		});
	}
	catch(err){
	}
*/
	
	//box ricarica sms
	/*
	placeRechargeBox(0);
	$('#recharge')
		.fadeTo(0, 0.5)
		.show()
		.hover(
			function(){$(this).fadeTo(500, 1);},
			function(){$(this).fadeTo(500, 0.5);}
		);
		
	$(window).scroll(function(){placeRechargeBox(500);});
	$(window).resize(function(){placeRechargeBox(0);});
	*/
	

	var rechargeOptions = {
		success : function(responseText, statusText, xhr, $form) {
			var parts = responseText.split('|');
			
			if (statusText != 'success') {
				$.modaldialog.error('Errore durante l\'invio della richiesta.', {width: 500, timeout: 5});
			}
			else if (parts[0] == '0') {
				$.modaldialog.error(parts[1], {width: 500, timeout: 5});
			}
			else if (parts[0] == '-1') {
				$.modaldialog.warning(parts[1], {width: 500, timeout: 5});
			}
			else if ($form.attr('action') == '/ajax.recharge.do.asp') {
				//se l'azione e la ricarica giro direttamente al pagamento
				document.location = '/carrello/pagamento';
			}
			else {
				//se l'azione e il login risetto l'azione sulla ricarica e sottometto nuovamente il form
				$form
					.attr('action', '/ajax.recharge.do.asp')
					.ajaxSubmit(rechargeOptions);
			}
		},
		error: function(){
			$.modaldialog.error('Errore durante l\'invio della richiesta.', {width: 500, timeout: 5});
		}
	}
	
	//purtroppo jixedbar fa delle vaccate che duplicano gli ID il che mi impedisce di bindare correttamente gli eventi
	//ai vari elementi del form col risultato che questi non vengono lanciati.
	//ho ovviato di seguito assegnando gli eventi non direttamente alla fine del caricamento del form stesso (callback function)
	//ma tramite 'live' che di fatto riesce ad assegnare correttamente gli eventi a dispetto di quando gli elementi
	//DOM vengono creati/modificati
	$('#recharge').load('/ajax.recharge.asp', function() {
//queste erano utilizzate quando c'era il box giallo per la ricarica; tenute per archivio
/*
		$('#recharge form input, #recharge form select')
			.focus(function(){$('#recharge').addClass('keepopen')})
			.blur(function(){$('#recharge').removeClass('keepopen')});
		
		$('#recharge form input:button').click(function() {
			var h;
			
			if ($('#recharge #prices').css('display') == 'none') {
				$('#recharge #prices').css('display', 'block');
				h = 270;
			}
			else {
				$('#recharge #prices').css('display', 'none');
				h = 190;
			}
			
			$('#recharge').animate({height: h}, 500);
		});
		
		$('#recharge').hover(
			function(){
				var h = $('#recharge #prices').css('display') == 'none' ? 190 : 270;
				$(this).animate({height: h}, 500);
			},
			function(){
				if (!$(this).hasClass('keepopen'))
					$(this).animate({height: 22}, 500);
			}
		);

		$('#recharge form').ajaxForm(rechargeOptions);
*/

		//la barra sotto
		$("#jixedbar").jixedbar();
		
		//queste sono le nuove assegnazioni agli eventi degli oggetti del form
		//utilizzo il percorso agli oggetti creato dalla jixedbar
		//utilizzo live e non il normale bind perche non so se a questo punto jixedbar ha finito
		//tutte le sue trasformazioni
		$('#jx-menu-con-id form select').live('change', function() {
			$('#jx-menu-con-id form :hidden[name=goto]').val(
				$('#jx-menu-con-id form select option:selected').val()
			);
		});
		$('#jx-menu-con-id form').live('submit', function() {
			$('#jx-menu-con-id form').ajaxSubmit(rechargeOptions);
			return false;
		});
	});
});

$(window).bind('load resize', function() {
	//mantengo il div principale alto come tutto il documento per via dello sfondo bianco
	$("#main").height($(document).height() - 1);
});
