(function($){

	$.fn.disable = function(){
		return $(this).attr('disabled', 'disabled').parents('DL').css('opacity', 0.5);
	}
	
	$.fn.enable = function(){
		return $(this).removeAttr('disabled').parents('DL').css('opacity', 1);
	}
	
})(jQuery)

jQuery(function( $ ){

$('#vo')
	.change(function(){
		var $fuel = $('DL:has(input[name^=fid])');
		var $sum = $('.num').parents('DL:first');
		var $not_talon = $('.not_talon');
		
		$('input[name^=fid], .num').unbind('keyup');
		switch($(this).val())
		{
			case 'tr':
				$fuel.not($not_talon).show().find(':input').enable().val('');
				$not_talon.hide();
			break;
			
			case 'ng':
				$sum.show().find(':input').val('');
				$fuel.show().find(':input').val('');
				
				$('input[name^=fid]')
					.keyup(function(){
						var allEmpty = true;
						$('input[name^=fid]')
							.each(function(){
								if($(this).val() == '') return;
								else allEmpty = false;

							});

						if(allEmpty)
							$('input[name=sum]').enable();
						else if($('input[name=sum]').attr('disabled') != 'disabled')
								$('input[name=sum]').disable();
					});
					
				$('input[name=sum]')
					.keyup(function(){
						if($(this).val() == '')
							$('input[name^=fid]').enable();
						else if($('input[name^=fid]').attr('disabled') != 'disabled')
								$('input[name^=fid]').disable();
					});
			break;
			
			case 'sm':
				$sum.show().find(':input').enable().val('');
				$fuel.hide();
			break;
		}
	}).change();
	
$('#bill_form')
	.submit(function(){
		$('P.error').empty();
		var result = false;
		$('#bill_form button').attr('disabled', 'disabled');
		$.ajax({type: 'post',
			   url: '?module=bill&action=validate',
			   async: false,	
			   dataType: 'json',
			   data: $('#bill_form :input').serializeArray(),
			   success: function(data){
				    $('#bill_form button').removeAttr('disabled');
					if(data == '') 
				   	{
						window.open('', 'bill', 'toolbar=0,width=650,height='+screen.height+',menubar=0').moveTo(screen.width-650, 0);	
						$('#bill_form').attr('target', 'bill');
						result = true;
						return null;
					}
					
					var errors = '';
					$.each(data, function(i, v){ errors += v+'<br />'; });
					if($('P.error').length)
						$('P.error').html(errors);
					else $('#bill_form').before('<p class="error">'+errors+'</p>');
					$('P.error').fadeIn();
				}});
		
		return result;	
	});

if($('.contract_date').length)
	$('.contract_date').datepicker({
								changeMonth: true,
								changeYear: true
							});

});
