// JavaScript Document
/**
* Labelize 1.0
*
* @class labelize
* @param {Object} css parameters
* 2009 Simon Sarrasin simon@1pixel.ca
* Released under a GNU General Public License v3 (http://creativecommons.org/licenses/by/3.0/)
*/
//$(document).ready(function(){$(FORMID or FORMCLASS or just 'form').labelize();});
(function($) {
	$.fn.labelize = function(options) {
		var opts = $.extend({}, $.fn.labelize.defaults, options);
		var writeLabel = function(input,w){
			if ($('#label_' + input.attr('id')).length<=0) {
				var lbl = '<label for="' + input.attr('id') + '" id="label_' + input.attr('id') + '">' + input.attr('title') + opts.punctuation + '</label>';
				if (!input.hasClass('noLabel')) 
					input.before(lbl);
				if (input.attr('type') == 'password') 
					input.append('<p>' + input.attr('title') + '</p>');
				w=$('#label_' + input.attr('id')).width()>w ? $('#label_' + input.attr('id')).width() : w;
				var iInputHeight=input.height();
				switch(opts.position) {
					case 'top':
						$('#label_' + input.attr('id')).css('padding-top',4);
					break;
					case 'center':
						$('#label_' + input.attr('id')).css('padding-top',parseInt(iInputHeight/2));
					break;
					case 'bottom':
						$('#label_' + input.attr('id')).css('padding-top',parseInt(iInputHeight));
					break;
				}
			}
			return w;
		};
		var iMaxWidth=0;
		$('input, textarea, select, file', this).each(function(){
		    iMaxWidth=writeLabel($(this),iMaxWidth);
		});
		$("label",this).width(iMaxWidth);
	};
	$.fn.labelize.defaults={
		position	:	'center',
		punctuation	:	''
	};
})(jQuery);