//calculo IR 2009
jQuery(function($){

	var inp = $('#inputValor').val(''),
		valor,
		aliquota = $('#aliquota span'),
		imposto = $('#imposto span'),
		inss = deducao = 0;
		
		
	$('#drag').mousedown(function(e){
		var start = e.pageX,
		slider = $('#slider'), left = slider.offset().left,
		drag = $('#drag'),
		q = 100000 / 300;
		
		slider.mousemove(function(e){
			var o = parseInt( drag.css('left') ),
			l = (e.pageX - left);
			if (l<0) l = 0;
			if (l>290) l = 300;
			drag.css('left', l+'px');
			valor = new Number(l*q -((l*q)%100)).toFixed(2);
			
			if (valor>999 && valor<10000) {
				valor = valor.replace(/(\d)(\d+)(\.)(\d\d)/,  '$1.$2,$4')
			}else	if (valor>9999 && valor<99999) {
				valor = valor.replace(/(\d\d)(\d+)(\.)(\d\d)/,  '$1.$2,$4')
			}else	if (valor>10000) {
				valor = valor.replace(/(\d\d\d)(\d+)(\.)(\d\d)/,  '$1.$2,$4')
			}else {
				valor = valor.replace('.',',');
			}

			inp.val( valor );
			
			slider.data('moving',true);
		})
		
		$(document).one('mouseup', function(){
			slider.unbind('mousemove');
			calcula();
		});
		
	});
	
	inp.bind('keypress', function(e){
	if (e.which == 13) {
		if (!/^\d+[.,]?\d+[,.]?\d+$/.test($(this).val()) ) {
			alert('Valor inválido.');
			inp.focus();
		}
		valor = $(this).val();
		calcula();
		return true;
		};

		});
		
	$('#okValor').mousedown(function() {

		if (!/^\d+[.,]?\d+[,.]?\d+$/.test($('#inputValor').val()) ) {
			alert('Valor inválido.');
			inp.focus();
		}
		valor = $('#inputValor').val();
		calcula();



	});
	

	
	function calcula(){
		valor = new Number( valor.toString().replace(/(\d+)\.?(\d+)?(\,|\.)?(\d+)/, '$1$2.$4') );
		var ali;
		
		//descontar INSS
		var q = valor/100;
		if (valor <= 911.70) inss = 8;
		else if (valor > 911.70 && valor <= 1519.50) inss = 9;
		else inss = 11;
		inss = q*inss;
		if (inss > 334.28) inss = 334.28;
		valor -= inss;
		
		if (valor <= 1434) {
			ali = 0;
			deducao = 0;
		} else if (valor > 1434 && valor <= 2150) {
			ali = 7.5;
			deducao = 107.55;
		} else if (valor > 2150 && valor <= 2866) {
			ali = 15;
			deducao = 268.80;
		} else if (valor > 2866 && valor  <= 3582) {
			ali = 22.5;
			deducao = 483.75;
		} else {
			ali = 27.5;
			deducao = 662.85;
		}
		aliquota.text( ali.toString().replace('.',',') );
		
		var total = (valor/100)*ali; //desconta % da faixa salarial
		total -= deducao; //desconta deduÃ§Ã£o da faixa
		total = total.toFixed(2).toString().replace('.',','); //formataÃ§Ã£o
		imposto.text( total );
	};
	
	if ($.browser.msie) { $('#slider, #drag').bind('selectstart',function(){return false});}
	else { $('#slider, #drag').css('MozUserSelect','none'); };

});