// <![CDATA[

var FormWidget = Class.create(
{
	initialize: function()
	{
		var form_don     = $('don_amount');
		var radios       = $$('p.radioBtn label');
		var free         = $('free');
		var real         = $('real-amount');
		var btn_cb       = $('don-cb');
		var btn_cheque   = $('don-cheque');
		var btn_regulier = $('don-regulier');

		if(this.getAmount()>0)
		{
			free.disable();
		}

		radios.each(function(r){
			r.observe('click', function()
			{
				if(!r.hasClassName('required'))
				{
					if(r.cleanWhitespace().childElements()[0].value==-1)
					{
						free.enable();
						if(free.value>0)
						{
							real.update(this.getRealValue(free.value));
						}
						else
					 	{
					 		real.update('&nbsp;&nbsp;&nbsp;&nbsp;');
					 	}
					}
					else
					{
						free.disable();
						real.update(this.getRealValue(r.childElements()[0].value));
					}
				}
			}.bind(this));
		}.bind(this));
		
		free.observe('keyup', function(){
			if(free.value>0)
			{
				free.value = parseInt(free.value);
				real.update(this.getRealValue(free.value));
			}
		}.bind(this));
		
		btn_cb.observe('click', function(event){
			event.stop();
			form_don.action = '/Donner/Don_en_ligne';
			form_don.submit();
		}.bind(this));

		btn_cheque.observe('click', function(event){
			event.stop();
			form_don.action = '/Donner/Don_par_cheque';
			form_don.submit();
		});
		btn_regulier.observe('click', function(event){
			event.stop();
			form_don.action = '/Donner/Don_regulier';
			form_don.submit();
		});

		real.update(this.getRealValue(this.getAmount()));
	},
	
	getRealValue: function(amount)
	{
		amount = parseInt(amount);

		var real = amount - (Math.round(amount*66)/100) + '';
		var dot  = real.indexOf('.');

		if(dot>0)
		{
			if(real.length==dot+2)
			{
				real += '0';
			}
			
			if(real.length>dot+3)
			{
				real = real.substr(0, dot+3);
			}
		}
		else
		{
			real += '.00';
		}
		
		return real;
	},
	
	getAmount: function()
	{
		var val = '';

		for(var i=0; i<document.forms[0].amount.length; i++)
		{
			if(document.forms[0].amount[i].checked)
			{
				val = document.forms[0].amount[i].value;
				break;
			}
		}

		return val;
	},
	
	setGiftValue: function()
	{
		var val = this.getAmount();
		if(val<=0)
		{
			val = parseInt($('free').value);
		}
		
		return val;
	}
});

document.observe("dom:loaded", function()
{
	if(scroll)
	{
		scroll.setMaxHeight(320);
	}
	
	new FormWidget();
});

window.onload = function()
{
	if(typeof scroll != 'undefined' && scroll != null)
	{
		scroll.setMaxHeight(320);
	}
};

// ]]>
