jQuery.fn.setDefText = function(options){
	var settings = {txt: ""};
	settings = jQuery.extend(settings, options);
	var val=$j.trim(this.val());
	if (!val || val==settings.txt){
		this.addClass("f_deftxt").val(settings.txt);
	}
};
jQuery.fn.defaultText = function (){
	this.find(":text").setDefText({txt: this.attr("title")});
	this.find(":text").focus(function(){
		if ($j(this).is(".f_deftxt"))
			$j(this).removeClass("f_deftxt").val("");
	});
	var title=this.attr("title");
	this.find(":text").blur(function(){
		$j(this).setDefText({txt: title});
	});
};

$j(".f_defaultText:has(:text)").map(function(){$j(this).defaultText()});

(function($){
	$.fn.numval = function(options){
		var settings = $.extend({allow:"int"}, options);
		return this.each(function(){
			switch (settings.allow){
				case "float":
					$(this).bind("keyup change", function(){
						var val = $.trim($(this).val());
						if (!val){ $(this).val(""); return; };
						val = val.replace(',','.')
						var point = (val.indexOf('.')==val.length-1)?('.'):('');
						val = parseFloat($.trim($(this).val()));
						if (isNaN(val)) val="";
						$(this).val(val+point);
					});
				break;
				case "int":
				default:
					$(this).bind("keyup change", function(){
						var val = parseInt($.trim($(this).val()));
						if (!val){ $(this).val(""); return; };
						if (isNaN(val)) val="";
						$(this).val(val);
					});
				
				/*case "float":
					$(this).bind("keyup change", function(event){
						var val = $.trim($(this).val());
						if (!val){ $(this).val(""); return; };
						val = val.replace(',','.')
						var point = (val.indexOf('.')==val.length-1)?('.'):('');
						val = parseFloat($.trim($(this).val()));
						if (isNaN(val)) val="";
						$(this).val(val+point);
						alert(event);
						//if ($(this).val()==val)
						//e.preventDefault();	
					});
				break;
				case "int":
				default:
					$(this).bind("keypress", function(e){
						if (!e.charCode) k = String.fromCharCode(e.which);
							else k = String.fromCharCode(e.charCode);
						var val = parseInt($.trim($(this).val()+k));
						if (!val){ $(this).val(""); return; };
						if (isNaN(val)) val="";
						$(this).val(val);
						//alert(event);
						if ($(this).val()+k != val)
						//alert(e.preventDefault);
						e.preventDefault();
					});
				*/
			};					  
		});
	};
})(jQuery);

//$j('.f_num input').numval({allow:"int"});
//$j('.f_float input').numval({allow:"float"});
$j('.f_num input').numeric({allow:""});
$j('.f_float input').numeric({allow:".,"});
$j('.f_float input').bind("keyup change", function(){
	$j(this).val(($j(this).val()).replace(',','.'));	
});
$j('.f_login input').numeric({allow:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_"});

$j('.f_slashdate input').numeric({allow:"/"});
$j('.f_phone input').numeric({allow:""}); //allow:" -"
$j('.f_tires input').numeric({allow:"RD/."});

jQuery(function($){
   $j.mask.definitions['1']='[01]';
   $j.mask.definitions['2']='[12]';
   $j(".f_mm-yyyy input").mask("19/2999");
});
