// ppa@emarketingexperts.pl

jQuery.fn.customFileInput = function(options){
	var settings = {
			buttonWidth: 90,
			filenamePaddingLeft: 4
		};
		
	if (options) {
		$.extend(settings, options);
	}

	var input = $(this);
	var wrapper = $("<div></div>");
	var placeholder = null;
	var filename = $("<span></span>");
	
	function replace(){
		input.replaceWith(wrapper);
		filename.appendTo(wrapper).addClass('filename');
		input.appendTo(wrapper);
		wrapper.attr('class', input.attr('class'));
		wrapper.addClass('fakeInput');
		input.attr('class', 'customInput');
		wrapper.css({
			'text-align': 'right',
			'position': 'relative',
			'height': input.height()
		});
		filename.css({
			'position': 'absolute',
			'top': '0',
			'right': settings.buttonWidth + 'px',
			'line-height': wrapper.height()+'px',
			'width': wrapper.width()- settings.buttonWidth - settings.filenamePaddingLeft + 'px',
			'padding-left': settings.filenamePaddingLeft + 'px',
			'text-align': 'left',
			'overflow': 'hidden',
			'font-weight': 'bold',
			'white-space': 'nowrap'
		});
		input.css({
			'opacity': '0',
			'-moz-opacity': '0',
			'filter': 'progid:DXImageTransform.Microsoft.Alpha(opacity=0)'
		});
		
		placeholder = wrapper.parent().find('span:first');
		placeholder.hide();	
		filename.text(placeholder.text());
				
		
		
	}
	

	
	replace();
	input.bind('keyup mouseup change',function(e){
		var val = $(this).val();
	    filename.text(val);
	});

	
	return this
}

