You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by er...@apache.org on 2012/10/25 07:04:29 UTC

svn commit: r1401975 [9/29] - in /ofbiz/branches/20120329_portletWidget: ./ applications/accounting/config/ applications/accounting/data/ applications/accounting/script/org/ofbiz/accounting/invoice/ applications/accounting/script/org/ofbiz/accounting/t...

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/lib/jquery.form.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/lib/jquery.form.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/lib/jquery.form.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/lib/jquery.form.js Thu Oct 25 05:04:09 2012
@@ -1,7 +1,7 @@
-/*
+/*!
  * jQuery Form Plugin
- * version: 2.36 (07-NOV-2009)
- * @requires jQuery v1.2.6 or later
+ * version: 2.87 (20-OCT-2011)
+ * @requires jQuery v1.3.2 or later
  *
  * Examples and documentation at: http://malsup.com/jquery/form/
  * Dual licensed under the MIT and GPL licenses:
@@ -18,11 +18,11 @@
 	to bind your own submit handler to the form.  For example,
 
 	$(document).ready(function() {
-		$('#myForm').bind('submit', function() {
+		$('#myForm').bind('submit', function(e) {
+			e.preventDefault(); // <-- important
 			$(this).ajaxSubmit({
 				target: '#output'
 			});
-			return false; // <-- important!
 		});
 	});
 
@@ -50,21 +50,27 @@ $.fn.ajaxSubmit = function(options) {
 		return this;
 	}
 
-	if (typeof options == 'function')
+	var method, action, url, $form = this;
+
+	if (typeof options == 'function') {
 		options = { success: options };
+	}
 
-	var url = $.trim(this.attr('action'));
+	method = this.attr('method');
+	action = this.attr('action');
+	url = (typeof action === 'string') ? $.trim(action) : '';
+	url = url || window.location.href || '';
 	if (url) {
 		// clean url (don't include hash vaue)
 		url = (url.match(/^([^#]+)/)||[])[1];
-   	}
-   	url = url || window.location.href || '';
+	}
 
-	options = $.extend({
+	options = $.extend(true, {
 		url:  url,
-		type: this.attr('method') || 'GET',
+		success: $.ajaxSettings.success,
+		type: method || 'GET',
 		iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank'
-	}, options || {});
+	}, options);
 
 	// hook for manipulating the form data before it is extracted;
 	// convenient for use with rich editors like tinyMCE or FCKEditor
@@ -81,17 +87,15 @@ $.fn.ajaxSubmit = function(options) {
 		return this;
 	}
 
-	var a = this.formToArray(options.semantic);
+   var traditional = options.traditional;
+   if ( traditional === undefined ) {
+      traditional = $.ajaxSettings.traditional;
+   }
+
+	var qx,n,v,a = this.formToArray(options.semantic);
 	if (options.data) {
 		options.extraData = options.data;
-		for (var n in options.data) {
-		  if(options.data[n] instanceof Array) {
-			for (var k in options.data[n])
-			  a.push( { name: n, value: options.data[n][k] } );
-		  }
-		  else
-			 a.push( { name: n, value: options.data[n] } );
-		}
+      qx = $.param(options.data, traditional);
 	}
 
 	// give pre-submit callback an opportunity to abort the submit
@@ -107,57 +111,71 @@ $.fn.ajaxSubmit = function(options) {
 		return this;
 	}
 
-	var q = $.param(a);
+	var q = $.param(a, traditional);
+   if (qx)
+      q = ( q ? (q + '&' + qx) : qx );
 
 	if (options.type.toUpperCase() == 'GET') {
 		options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q;
 		options.data = null;  // data is null for 'get'
 	}
-	else
+	else {
 		options.data = q; // data is the query string for 'post'
+	}
 
-	var $form = this, callbacks = [];
-	if (options.resetForm) callbacks.push(function() { $form.resetForm(); });
-	if (options.clearForm) callbacks.push(function() { $form.clearForm(); });
+	var callbacks = [];
+	if (options.resetForm) {
+		callbacks.push(function() { $form.resetForm(); });
+	}
+	if (options.clearForm) {
+		callbacks.push(function() { $form.clearForm(options.includeHidden); });
+	}
 
 	// perform a load on the target only if dataType is not provided
 	if (!options.dataType && options.target) {
 		var oldSuccess = options.success || function(){};
 		callbacks.push(function(data) {
-			$(options.target).html(data).each(oldSuccess, arguments);
+			var fn = options.replaceTarget ? 'replaceWith' : 'html';
+			$(options.target)[fn](data).each(oldSuccess, arguments);
 		});
 	}
-	else if (options.success)
+	else if (options.success) {
 		callbacks.push(options.success);
+	}
 
-	options.success = function(data, status) {
-		for (var i=0, max=callbacks.length; i < max; i++)
-			callbacks[i].apply(options, [data, status, $form]);
+	options.success = function(data, status, xhr) { // jQuery 1.4+ passes xhr as 3rd arg
+		var context = options.context || options;   // jQuery 1.4+ supports scope context
+		for (var i=0, max=callbacks.length; i < max; i++) {
+			callbacks[i].apply(context, [data, status, xhr || $form, $form]);
+		}
 	};
 
 	// are there files to upload?
-	var files = $('input:file', this).fieldValue();
-	var found = false;
-	for (var j=0; j < files.length; j++)
-		if (files[j])
-			found = true;
-
-	var multipart = false;
-//	var mp = 'multipart/form-data';
-//	multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp);
+	var fileInputs = $('input:file', this).length > 0;
+	var mp = 'multipart/form-data';
+	var multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp);
 
 	// options.iframe allows user to force iframe mode
 	// 06-NOV-09: now defaulting to iframe mode if file input is detected
-   if ((files.length && options.iframe !== false) || options.iframe || found || multipart) {
+   if (options.iframe !== false && (fileInputs || options.iframe || multipart)) {
 	   // hack to fix Safari hang (thanks to Tim Molendijk for this)
 	   // see:  http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d
-	   if (options.closeKeepAlive)
-		   $.get(options.closeKeepAlive, fileUpload);
-	   else
-		   fileUpload();
-	   }
-   else
-	   $.ajax(options);
+	   if (options.closeKeepAlive) {
+		   $.get(options.closeKeepAlive, function() { fileUpload(a); });
+		}
+	   else {
+		   fileUpload(a);
+		}
+   }
+   else {
+		// IE7 massage (see issue 57)
+		if ($.browser.msie && method == 'get' && typeof options.type === "undefined") {
+			var ieMeth = $form[0].getAttribute('method');
+			if (typeof ieMeth === 'string')
+				options.type = ieMeth;
+		}
+		$.ajax(options);
+   }
 
 	// fire 'notify' event
 	this.trigger('form-submit-notify', [this, options]);
@@ -165,24 +183,51 @@ $.fn.ajaxSubmit = function(options) {
 
 
 	// private function for handling file uploads (hat tip to YAHOO!)
-	function fileUpload() {
-		var form = $form[0];
-
-		if ($(':input[name=submit]', form).length) {
-			alert('Error: Form elements must not be named "submit".');
+	function fileUpload(a) {
+		var form = $form[0], el, i, s, g, id, $io, io, xhr, sub, n, timedOut, timeoutHandle;
+        var useProp = !!$.fn.prop;
+
+        if (a) {
+            if ( useProp ) {
+            	// ensure that every serialized input is still enabled
+              	for (i=0; i < a.length; i++) {
+                    el = $(form[a[i].name]);
+                    el.prop('disabled', false);
+              	}
+            } else {
+              	for (i=0; i < a.length; i++) {
+                    el = $(form[a[i].name]);
+                    el.removeAttr('disabled');
+              	}
+            };
+        }
+
+		if ($(':input[name=submit],:input[id=submit]', form).length) {
+			// if there is an input with a name or id of 'submit' then we won't be
+			// able to invoke the submit fn on the form (at least not x-browser)
+			alert('Error: Form elements must not have name or id of "submit".');
 			return;
 		}
 
-		var opts = $.extend({}, $.ajaxSettings, options);
-		var s = $.extend(true, {}, $.extend(true, {}, $.ajaxSettings), opts);
-
-		var id = 'jqFormIO' + (new Date().getTime());
-		var $io = $('<iframe id="' + id + '" name="' + id + '" src="'+ opts.iframeSrc +'" />');
-		var io = $io[0];
+		s = $.extend(true, {}, $.ajaxSettings, options);
+		s.context = s.context || s;
+		id = 'jqFormIO' + (new Date().getTime());
+		if (s.iframeTarget) {
+			$io = $(s.iframeTarget);
+			n = $io.attr('name');
+			if (n == null)
+			 	$io.attr('name', id);
+			else
+				id = n;
+		}
+		else {
+			$io = $('<iframe name="' + id + '" src="'+ s.iframeSrc +'" />');
+			$io.css({ position: 'absolute', top: '-1000px', left: '-1000px' });
+		}
+		io = $io[0];
 
-		$io.css({ position: 'absolute', top: '-1000px', left: '-1000px' });
 
-		var xhr = { // mock object
+		xhr = { // mock object
 			aborted: 0,
 			responseText: null,
 			responseXML: null,
@@ -191,55 +236,75 @@ $.fn.ajaxSubmit = function(options) {
 			getAllResponseHeaders: function() {},
 			getResponseHeader: function() {},
 			setRequestHeader: function() {},
-			abort: function() {
+			abort: function(status) {
+				var e = (status === 'timeout' ? 'timeout' : 'aborted');
+				log('aborting upload... ' + e);
 				this.aborted = 1;
-				$io.attr('src', opts.iframeSrc); // abort op in progress
+				$io.attr('src', s.iframeSrc); // abort op in progress
+				xhr.error = e;
+				s.error && s.error.call(s.context, xhr, e, status);
+				g && $.event.trigger("ajaxError", [xhr, s, e]);
+				s.complete && s.complete.call(s.context, xhr, e);
 			}
 		};
 
-		var g = opts.global;
+		g = s.global;
 		// trigger ajax global events so that activity/block indicators work like normal
-		if (g && ! $.active++) $.event.trigger("ajaxStart");
-		if (g) $.event.trigger("ajaxSend", [xhr, opts]);
+		if (g && ! $.active++) {
+			$.event.trigger("ajaxStart");
+		}
+		if (g) {
+			$.event.trigger("ajaxSend", [xhr, s]);
+		}
 
-		if (s.beforeSend && s.beforeSend(xhr, s) === false) {
-			s.global && $.active--;
+		if (s.beforeSend && s.beforeSend.call(s.context, xhr, s) === false) {
+			if (s.global) {
+				$.active--;
+			}
 			return;
 		}
-		if (xhr.aborted)
+		if (xhr.aborted) {
 			return;
-
-		var cbInvoked = 0;
-		var timedOut = 0;
+		}
 
 		// add submitting element to data if we know it
-		var sub = form.clk;
+		sub = form.clk;
 		if (sub) {
-			var n = sub.name;
+			n = sub.name;
 			if (n && !sub.disabled) {
-				options.extraData = options.extraData || {};
-				options.extraData[n] = sub.value;
+				s.extraData = s.extraData || {};
+				s.extraData[n] = sub.value;
 				if (sub.type == "image") {
-					options.extraData[name+'.x'] = form.clk_x;
-					options.extraData[name+'.y'] = form.clk_y;
+					s.extraData[n+'.x'] = form.clk_x;
+					s.extraData[n+'.y'] = form.clk_y;
 				}
 			}
 		}
 
+		var CLIENT_TIMEOUT_ABORT = 1;
+		var SERVER_ABORT = 2;
+
+		function getDoc(frame) {
+			var doc = frame.contentWindow ? frame.contentWindow.document : frame.contentDocument ? frame.contentDocument : frame.document;
+			return doc;
+		}
+
 		// take a breath so that pending repaints get some cpu time before the upload starts
-		setTimeout(function() {
+		function doSubmit() {
 			// make sure form attrs are set
 			var t = $form.attr('target'), a = $form.attr('action');
 
 			// update form attrs in IE friendly way
 			form.setAttribute('target',id);
-			if (form.getAttribute('method') != 'POST')
+			if (!method) {
 				form.setAttribute('method', 'POST');
-			if (form.getAttribute('action') != opts.url)
-				form.setAttribute('action', opts.url);
+			}
+			if (a != s.url) {
+				form.setAttribute('action', s.url);
+			}
 
 			// ie borks in some cases when setting encoding
-			if (! options.skipEncodingOverride) {
+			if (! s.skipEncodingOverride && (!method || /post/i.test(method))) {
 				$form.attr({
 					encoding: 'multipart/form-data',
 					enctype:  'multipart/form-data'
@@ -247,116 +312,249 @@ $.fn.ajaxSubmit = function(options) {
 			}
 
 			// support timout
-			if (opts.timeout)
-				setTimeout(function() { timedOut = true; cb(); }, opts.timeout);
+			if (s.timeout) {
+				timeoutHandle = setTimeout(function() { timedOut = true; cb(CLIENT_TIMEOUT_ABORT); }, s.timeout);
+			}
+
+			// look for server aborts
+			function checkState() {
+				try {
+					var state = getDoc(io).readyState;
+					log('state = ' + state);
+					if (state.toLowerCase() == 'uninitialized')
+						setTimeout(checkState,50);
+				}
+				catch(e) {
+					log('Server abort: ' , e, ' (', e.name, ')');
+					cb(SERVER_ABORT);
+					timeoutHandle && clearTimeout(timeoutHandle);
+					timeoutHandle = undefined;
+				}
+			}
 
 			// add "extra" data to form if provided in options
 			var extraInputs = [];
 			try {
-				if (options.extraData)
-					for (var n in options.extraData)
+				if (s.extraData) {
+					for (var n in s.extraData) {
 						extraInputs.push(
-							$('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />')
+							$('<input type="hidden" name="'+n+'" />').attr('value',s.extraData[n])
 								.appendTo(form)[0]);
+					}
+				}
 
-				// add iframe to doc and submit the form
-				$io.appendTo('body');
-				io.attachEvent ? io.attachEvent('onload', cb) : io.addEventListener('load', cb, false);
+				if (!s.iframeTarget) {
+					// add iframe to doc and submit the form
+					$io.appendTo('body');
+	                io.attachEvent ? io.attachEvent('onload', cb) : io.addEventListener('load', cb, false);
+				}
+				setTimeout(checkState,15);
 				form.submit();
 			}
 			finally {
 				// reset attrs and remove "extra" input elements
 				form.setAttribute('action',a);
-				t ? form.setAttribute('target', t) : $form.removeAttr('target');
+				if(t) {
+					form.setAttribute('target', t);
+				} else {
+					$form.removeAttr('target');
+				}
 				$(extraInputs).remove();
 			}
-		}, 10);
+		}
 
-		var domCheckCount = 50;
+		if (s.forceSync) {
+			doSubmit();
+		}
+		else {
+			setTimeout(doSubmit, 10); // this lets dom updates render
+		}
 
-		function cb() {
-			if (cbInvoked++) return;
+		var data, doc, domCheckCount = 50, callbackProcessed;
 
-			io.detachEvent ? io.detachEvent('onload', cb) : io.removeEventListener('load', cb, false);
+		function cb(e) {
+			if (xhr.aborted || callbackProcessed) {
+				return;
+			}
+			try {
+				doc = getDoc(io);
+			}
+			catch(ex) {
+				log('cannot access response document: ', ex);
+				e = SERVER_ABORT;
+			}
+			if (e === CLIENT_TIMEOUT_ABORT && xhr) {
+				xhr.abort('timeout');
+				return;
+			}
+			else if (e == SERVER_ABORT && xhr) {
+				xhr.abort('server abort');
+				return;
+			}
+
+			if (!doc || doc.location.href == s.iframeSrc) {
+				// response not received yet
+				if (!timedOut)
+					return;
+			}
+            io.detachEvent ? io.detachEvent('onload', cb) : io.removeEventListener('load', cb, false);
 
-			var ok = true;
+			var status = 'success', errMsg;
 			try {
-				if (timedOut) throw 'timeout';
-				// extract the server response from the iframe
-				var data, doc;
-
-				doc = io.contentWindow ? io.contentWindow.document : io.contentDocument ? io.contentDocument : io.document;
-				
-				var isXml = opts.dataType == 'xml' || doc.XMLDocument || $.isXMLDoc(doc);
+				if (timedOut) {
+					throw 'timeout';
+				}
+
+				var isXml = s.dataType == 'xml' || doc.XMLDocument || $.isXMLDoc(doc);
 				log('isXml='+isXml);
-				if (!isXml && (doc.body == null || doc.body.innerHTML == '')) {
-				 	if (--domCheckCount) {
+				if (!isXml && window.opera && (doc.body == null || doc.body.innerHTML == '')) {
+					if (--domCheckCount) {
 						// in some browsers (Opera) the iframe DOM is not always traversable when
 						// the onload callback fires, so we loop a bit to accommodate
-						cbInvoked = 0;
-						setTimeout(cb, 100);
+						log('requeing onLoad callback, DOM not available');
+						setTimeout(cb, 250);
 						return;
 					}
-					log('Could not access iframe DOM after 50 tries.');
-					return;
+					// let this fall through because server response could be an empty document
+					//log('Could not access iframe DOM after mutiple tries.');
+					//throw 'DOMException: not available';
 				}
 
-				xhr.responseText = doc.body ? doc.body.innerHTML : null;
+				//log('response detected');
+                var docRoot = doc.body ? doc.body : doc.documentElement;
+                xhr.responseText = docRoot ? docRoot.innerHTML : null;
 				xhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc;
+				if (isXml)
+					s.dataType = 'xml';
 				xhr.getResponseHeader = function(header){
-					var headers = {'content-type': opts.dataType};
+					var headers = {'content-type': s.dataType};
 					return headers[header];
 				};
-
-				if (opts.dataType == 'json' || opts.dataType == 'script') {
+                // support for XHR 'status' & 'statusText' emulation :
+                if (docRoot) {
+                    xhr.status = Number( docRoot.getAttribute('status') ) || xhr.status;
+                    xhr.statusText = docRoot.getAttribute('statusText') || xhr.statusText;
+                }
+
+				var dt = (s.dataType || '').toLowerCase();
+				var scr = /(json|script|text)/.test(dt);
+				if (scr || s.textarea) {
 					// see if user embedded response in textarea
 					var ta = doc.getElementsByTagName('textarea')[0];
-					if (ta)
+					if (ta) {
 						xhr.responseText = ta.value;
-					else {
+                        // support for XHR 'status' & 'statusText' emulation :
+                        xhr.status = Number( ta.getAttribute('status') ) || xhr.status;
+                        xhr.statusText = ta.getAttribute('statusText') || xhr.statusText;
+					}
+					else if (scr) {
 						// account for browsers injecting pre around json response
 						var pre = doc.getElementsByTagName('pre')[0];
-						if (pre)
-							xhr.responseText = pre.innerHTML;
-					}			  
+						var b = doc.getElementsByTagName('body')[0];
+						if (pre) {
+							xhr.responseText = pre.textContent ? pre.textContent : pre.innerText;
+						}
+						else if (b) {
+							xhr.responseText = b.textContent ? b.textContent : b.innerText;
+						}
+					}
 				}
-				else if (opts.dataType == 'xml' && !xhr.responseXML && xhr.responseText != null) {
+				else if (dt == 'xml' && !xhr.responseXML && xhr.responseText != null) {
 					xhr.responseXML = toXml(xhr.responseText);
 				}
-				data = $.httpData(xhr, opts.dataType);
+
+                try {
+                    data = httpData(xhr, dt, s);
+                }
+                catch (e) {
+                    status = 'parsererror';
+                    xhr.error = errMsg = (e || status);
+                }
+			}
+			catch (e) {
+				log('error caught: ',e);
+				status = 'error';
+                xhr.error = errMsg = (e || status);
+			}
+
+			if (xhr.aborted) {
+				log('upload aborted');
+				status = null;
+			}
+
+            if (xhr.status) { // we've set xhr.status
+                status = (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) ? 'success' : 'error';
+            }
+
+			// ordering of these callbacks/triggers is odd, but that's how $.ajax does it
+			if (status === 'success') {
+				s.success && s.success.call(s.context, data, 'success', xhr);
+				g && $.event.trigger("ajaxSuccess", [xhr, s]);
 			}
-			catch(e){
-				ok = false;
-				$.handleError(opts, xhr, 'error', e);
+            else if (status) {
+				if (errMsg == undefined)
+					errMsg = xhr.statusText;
+				s.error && s.error.call(s.context, xhr, status, errMsg);
+				g && $.event.trigger("ajaxError", [xhr, s, errMsg]);
+            }
+
+			g && $.event.trigger("ajaxComplete", [xhr, s]);
+
+			if (g && ! --$.active) {
+				$.event.trigger("ajaxStop");
 			}
 
-			// ordering of these callbacks/triggers is odd, but that's how $.ajax does it
-			if (ok) {
-				opts.success(data, 'success');
-				if (g) $.event.trigger("ajaxSuccess", [xhr, opts]);
-			}
-			if (g) $.event.trigger("ajaxComplete", [xhr, opts]);
-			if (g && ! --$.active) $.event.trigger("ajaxStop");
-			if (opts.complete) opts.complete(xhr, ok ? 'success' : 'error');
+			s.complete && s.complete.call(s.context, xhr, status);
+
+			callbackProcessed = true;
+			if (s.timeout)
+				clearTimeout(timeoutHandle);
 
 			// clean up
 			setTimeout(function() {
-				$io.remove();
+				if (!s.iframeTarget)
+					$io.remove();
 				xhr.responseXML = null;
 			}, 100);
-		};
+		}
 
-		function toXml(s, doc) {
+		var toXml = $.parseXML || function(s, doc) { // use parseXML if available (jQuery 1.5+)
 			if (window.ActiveXObject) {
 				doc = new ActiveXObject('Microsoft.XMLDOM');
 				doc.async = 'false';
 				doc.loadXML(s);
 			}
-			else
+			else {
 				doc = (new DOMParser()).parseFromString(s, 'text/xml');
-			return (doc && doc.documentElement && doc.documentElement.tagName != 'parsererror') ? doc : null;
+			}
+			return (doc && doc.documentElement && doc.documentElement.nodeName != 'parsererror') ? doc : null;
 		};
-	};
+		var parseJSON = $.parseJSON || function(s) {
+			return window['eval']('(' + s + ')');
+		};
+
+		var httpData = function( xhr, type, s ) { // mostly lifted from jq1.4.4
+
+			var ct = xhr.getResponseHeader('content-type') || '',
+				xml = type === 'xml' || !type && ct.indexOf('xml') >= 0,
+				data = xml ? xhr.responseXML : xhr.responseText;
+
+			if (xml && data.documentElement.nodeName === 'parsererror') {
+				$.error && $.error('parsererror');
+			}
+			if (s && s.dataFilter) {
+				data = s.dataFilter(data, type);
+			}
+			if (typeof data === 'string') {
+				if (type === 'json' || !type && ct.indexOf('json') >= 0) {
+					data = parseJSON(data);
+				} else if (type === "script" || !type && ct.indexOf("javascript") >= 0) {
+					$.globalEval(data);
+				}
+			}
+			return data;
+		};
+	}
 };
 
 /**
@@ -375,17 +573,35 @@ $.fn.ajaxSubmit = function(options) {
  * the form itself.
  */
 $.fn.ajaxForm = function(options) {
-	return this.ajaxFormUnbind().bind('submit.form-plugin', function() {
-		$(this).ajaxSubmit(options);
-		return false;
+	// in jQuery 1.3+ we can fix mistakes with the ready state
+	if (this.length === 0) {
+		var o = { s: this.selector, c: this.context };
+		if (!$.isReady && o.s) {
+			log('DOM not ready, queuing ajaxForm');
+			$(function() {
+				$(o.s,o.c).ajaxForm(options);
+			});
+			return this;
+		}
+		// is your DOM ready?  http://docs.jquery.com/Tutorials:Introducing_$(document).ready()
+		log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)'));
+		return this;
+	}
+
+	return this.ajaxFormUnbind().bind('submit.form-plugin', function(e) {
+		if (!e.isDefaultPrevented()) { // if event has been canceled, don't proceed
+			e.preventDefault();
+			$(this).ajaxSubmit(options);
+		}
 	}).bind('click.form-plugin', function(e) {
 		var target = e.target;
 		var $el = $(target);
 		if (!($el.is(":submit,input:image"))) {
 			// is this a child element of the submit el?  (ex: a span within a button)
 			var t = $el.closest(':submit');
-			if (t.length == 0)
+			if (t.length == 0) {
 				return;
+			}
 			target = t[0];
 		}
 		var form = this;
@@ -426,15 +642,23 @@ $.fn.ajaxFormUnbind = function() {
  */
 $.fn.formToArray = function(semantic) {
 	var a = [];
-	if (this.length == 0) return a;
+	if (this.length === 0) {
+		return a;
+	}
 
 	var form = this[0];
 	var els = semantic ? form.getElementsByTagName('*') : form.elements;
-	if (!els) return a;
-	for(var i=0, max=els.length; i < max; i++) {
-		var el = els[i];
-		var n = el.name;
-		if (!n) continue;
+	if (!els) {
+		return a;
+	}
+
+	var i,j,n,v,el,max,jmax;
+	for(i=0, max=els.length; i < max; i++) {
+		el = els[i];
+		n = el.name;
+		if (!n) {
+			continue;
+		}
 
 		if (semantic && form.clk && el.type == "image") {
 			// handle image inputs on the fly when semantic == true
@@ -445,18 +669,21 @@ $.fn.formToArray = function(semantic) {
 			continue;
 		}
 
-		var v = $.fieldValue(el, true);
+		v = $.fieldValue(el, true);
 		if (v && v.constructor == Array) {
-			for(var j=0, jmax=v.length; j < jmax; j++)
+			for(j=0, jmax=v.length; j < jmax; j++) {
 				a.push({name: n, value: v[j]});
+			}
 		}
-		else if (v !== null && typeof v != 'undefined')
+		else if (v !== null && typeof v != 'undefined') {
 			a.push({name: n, value: v});
+		}
 	}
 
 	if (!semantic && form.clk) {
 		// input type=='image' are not found in elements array! handle it here
-		var $input = $(form.clk), input = $input[0], n = input.name;
+		var $input = $(form.clk), input = $input[0];
+		n = input.name;
 		if (n && !input.disabled && input.type == 'image') {
 			a.push({name: n, value: $input.val()});
 			a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
@@ -482,14 +709,18 @@ $.fn.fieldSerialize = function(successfu
 	var a = [];
 	this.each(function() {
 		var n = this.name;
-		if (!n) return;
+		if (!n) {
+			return;
+		}
 		var v = $.fieldValue(this, successful);
 		if (v && v.constructor == Array) {
-			for (var i=0,max=v.length; i < max; i++)
+			for (var i=0,max=v.length; i < max; i++) {
 				a.push({name: n, value: v[i]});
+			}
 		}
-		else if (v !== null && typeof v != 'undefined')
+		else if (v !== null && typeof v != 'undefined') {
 			a.push({name: this.name, value: v});
+		}
 	});
 	//hand off to jQuery.param for proper encoding
 	return $.param(a);
@@ -537,8 +768,9 @@ $.fn.fieldValue = function(successful) {
 	for (var val=[], i=0, max=this.length; i < max; i++) {
 		var el = this[i];
 		var v = $.fieldValue(el, successful);
-		if (v === null || typeof v == 'undefined' || (v.constructor == Array && !v.length))
+		if (v === null || typeof v == 'undefined' || (v.constructor == Array && !v.length)) {
 			continue;
+		}
 		v.constructor == Array ? $.merge(val, v) : val.push(v);
 	}
 	return val;
@@ -549,17 +781,22 @@ $.fn.fieldValue = function(successful) {
  */
 $.fieldValue = function(el, successful) {
 	var n = el.name, t = el.type, tag = el.tagName.toLowerCase();
-	if (typeof successful == 'undefined') successful = true;
+	if (successful === undefined) {
+		successful = true;
+	}
 
 	if (successful && (!n || el.disabled || t == 'reset' || t == 'button' ||
 		(t == 'checkbox' || t == 'radio') && !el.checked ||
 		(t == 'submit' || t == 'image') && el.form && el.form.clk != el ||
-		tag == 'select' && el.selectedIndex == -1))
+		tag == 'select' && el.selectedIndex == -1)) {
 			return null;
+	}
 
 	if (tag == 'select') {
 		var index = el.selectedIndex;
-		if (index < 0) return null;
+		if (index < 0) {
+			return null;
+		}
 		var a = [], ops = el.options;
 		var one = (t == 'select-one');
 		var max = (one ? index+1 : ops.length);
@@ -567,15 +804,18 @@ $.fieldValue = function(el, successful) 
 			var op = ops[i];
 			if (op.selected) {
 				var v = op.value;
-				if (!v) // extra pain for IE...
+				if (!v) { // extra pain for IE...
 					v = (op.attributes && op.attributes['value'] && !(op.attributes['value'].specified)) ? op.text : op.value;
-				if (one) return v;
+				}
+				if (one) {
+					return v;
+				}
 				a.push(v);
 			}
 		}
 		return a;
 	}
-	return el.value;
+	return $(el).val();
 };
 
 /**
@@ -586,24 +826,28 @@ $.fieldValue = function(el, successful) 
  *  - inputs of type submit, button, reset, and hidden will *not* be effected
  *  - button elements will *not* be effected
  */
-$.fn.clearForm = function() {
+$.fn.clearForm = function(includeHidden) {
 	return this.each(function() {
-		$('input,select,textarea', this).clearFields();
+		$('input,select,textarea', this).clearFields(includeHidden);
 	});
 };
 
 /**
  * Clears the selected form elements.
  */
-$.fn.clearFields = $.fn.clearInputs = function() {
+$.fn.clearFields = $.fn.clearInputs = function(includeHidden) {
+	var re = /^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i; // 'hidden' is not in this list
 	return this.each(function() {
 		var t = this.type, tag = this.tagName.toLowerCase();
-		if (t == 'text' || t == 'password' || tag == 'textarea')
+		if (re.test(t) || tag == 'textarea' || (includeHidden && /hidden/.test(t)) ) {
 			this.value = '';
-		else if (t == 'checkbox' || t == 'radio')
+		}
+		else if (t == 'checkbox' || t == 'radio') {
 			this.checked = false;
-		else if (tag == 'select')
+		}
+		else if (tag == 'select') {
 			this.selectedIndex = -1;
+		}
 	});
 };
 
@@ -614,8 +858,9 @@ $.fn.resetForm = function() {
 	return this.each(function() {
 		// guard against an input with the name of 'reset'
 		// note that IE reports the reset function as an 'object'
-		if (typeof this.reset == 'function' || (typeof this.reset == 'object' && !this.reset.nodeType))
+		if (typeof this.reset == 'function' || (typeof this.reset == 'object' && !this.reset.nodeType)) {
 			this.reset();
+		}
 	});
 };
 
@@ -623,7 +868,9 @@ $.fn.resetForm = function() {
  * Enables or disables any matching elements.
  */
 $.fn.enable = function(b) {
-	if (b == undefined) b = true;
+	if (b === undefined) {
+		b = true;
+	}
 	return this.each(function() {
 		this.disabled = !b;
 	});
@@ -634,11 +881,14 @@ $.fn.enable = function(b) {
  * selects/deselects and matching option elements.
  */
 $.fn.selected = function(select) {
-	if (select == undefined) select = true;
+	if (select === undefined) {
+		select = true;
+	}
 	return this.each(function() {
 		var t = this.type;
-		if (t == 'checkbox' || t == 'radio')
+		if (t == 'checkbox' || t == 'radio') {
 			this.checked = select;
+		}
 		else if (this.tagName.toLowerCase() == 'option') {
 			var $sel = $(this).parent('select');
 			if (select && $sel[0] && $sel[0].type == 'select-one') {
@@ -650,11 +900,20 @@ $.fn.selected = function(select) {
 	});
 };
 
+// expose debug var
+$.fn.ajaxSubmit.debug = false;
+
 // helper fn for console logging
-// set $.fn.ajaxSubmit.debug to true to enable debug logging
 function log() {
-	if ($.fn.ajaxSubmit.debug && window.console && window.console.log)
-		window.console.log('[jquery.form] ' + Array.prototype.join.call(arguments,''));
+	if (!$.fn.ajaxSubmit.debug)
+		return;
+	var msg = '[jquery.form] ' + Array.prototype.join.call(arguments,'');
+	if (window.console && window.console.log) {
+		window.console.log(msg);
+	}
+	else if (window.opera && window.opera.postError) {
+		window.opera.postError(msg);
+	}
 };
 
 })(jQuery);

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_ar.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_ar.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_ar.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_ar.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
- * Translated default messages for the jQuery validation plugin into arabic.
- * Locale: AR
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: AR (Arabic; العربية)
  */
 jQuery.extend(jQuery.validator.messages, {
         required: "هذا الحقل إلزامي",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_bg.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_bg.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_bg.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_bg.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: BG
+ * Locale: BG (Bulgarian; български език)
  */
 jQuery.extend(jQuery.validator.messages, {
 		 required: "Полето е задължително.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_ca.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_ca.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_ca.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_ca.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: CA
+ * Locale: CA (Catalan; català)
  */
 jQuery.extend(jQuery.validator.messages, {
   required: "Aquest camp és obligatori.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_cs.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_cs.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_cs.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_cs.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: CS
+ * Locale: CS (Czech; čeština, český jazyk)
  */
 jQuery.extend(jQuery.validator.messages, {
 	required: "Tento údaj je povinný.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_da.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_da.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_da.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_da.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: DA
+ * Locale: DA (Danish; dansk)
  */
 jQuery.extend(jQuery.validator.messages, {
 	required: "Dette felt er påkrævet.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_de.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_de.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_de.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_de.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: DE
+ * Locale: DE (German, Deutsch)
  */
 jQuery.extend(jQuery.validator.messages, {
 	required: "Dieses Feld ist ein Pflichtfeld.",
@@ -13,8 +13,8 @@ jQuery.extend(jQuery.validator.messages,
 	number: "Geben Sie bitte eine Nummer ein.",
 	digits: "Geben Sie bitte nur Ziffern ein.",
 	equalTo: "Bitte denselben Wert wiederholen.",
-	range: jQuery.validator.format("Geben Sie bitten einen Wert zwischen {0} und {1}."),
+	range: jQuery.validator.format("Geben Sie bitte einen Wert zwischen {0} und {1} ein."),
 	max: jQuery.validator.format("Geben Sie bitte einen Wert kleiner oder gleich {0} ein."),
 	min: jQuery.validator.format("Geben Sie bitte einen Wert größer oder gleich {0} ein."),
-	creditcard: "Geben Sie bitte ein gültige Kreditkarten-Nummer ein."
-});
\ No newline at end of file
+	creditcard: "Geben Sie bitte eine gültige Kreditkarten-Nummer ein."
+});

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_el.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_el.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_el.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_el.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: EL
+ * Locale: EL (Greek; ελληνικά)
  */
 jQuery.extend(jQuery.validator.messages, {
 	required: "Αυτό το πεδίο είναι υποχρεωτικό.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_es.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_es.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_es.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_es.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: ES
+ * Locale: ES (Spanish; Español)
  */
 jQuery.extend(jQuery.validator.messages, {
   required: "Este campo es obligatorio.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_eu.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_eu.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_eu.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_eu.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: EU (Basque)
+ * Locale: EU (Basque; euskara, euskera)
  */
 jQuery.extend(jQuery.validator.messages, {
   required: "Eremu hau beharrezkoa da.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_fa.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_fa.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_fa.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_fa.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: FA
+ * Locale: FA (Persian; فارسی)
  */
 jQuery.extend(jQuery.validator.messages, {
        required: "تکمیل این فیلد اجباری است.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_fi.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_fi.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_fi.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_fi.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: FI
+ * Locale: FI (Finnish; suomi, suomen kieli)
  */
 jQuery.extend(jQuery.validator.messages, {
 	required: "T&auml;m&auml; kentt&auml; on pakollinen.",
@@ -15,7 +15,7 @@ jQuery.extend(jQuery.validator.messages,
 	digits: "Sy&ouml;t&auml; pelk&auml;st&auml;&auml;n numeroita.",
 	equalTo: "Sy&ouml;t&auml; sama arvo uudestaan.",
 	range: jQuery.validator.format("Sy&ouml;t&auml; arvo {0} ja {1} v&auml;lilt&auml;."),
-	max: jQuery.validator.format("Sy&ouml;t&auml; arvo joka on yht&auml; suuri tai suurempi kuin {0}."),
-	min: jQuery.validator.format("Sy&ouml;t&auml; arvo joka on pienempi tai yht&auml; suuri kuin {0}."),
+	max: jQuery.validator.format("Sy&ouml;t&auml; arvo joka on pienempi tai yht&auml; suuri kuin {0}."),
+	min: jQuery.validator.format("Sy&ouml;t&auml; arvo joka on yht&auml; suuri tai suurempi kuin {0}."),
 	creditcard: "Sy&ouml;t&auml; voimassa oleva luottokorttinumero."
 });

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_fr.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_fr.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_fr.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_fr.js Thu Oct 25 05:04:09 2012
@@ -1,23 +1,44 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: FR
+ * Locale: FR (French; français)
  */
 jQuery.extend(jQuery.validator.messages, {
-        required: "Ce champ est requis.",
-        remote: "Veuillez remplir ce champ pour continuer.",
-        email: "Veuillez entrer une adresse email valide.",
-        url: "Veuillez entrer une URL valide.",
-        date: "Veuillez entrer une date valide.",
-        dateISO: "Veuillez entrer une date valide (ISO).",
-        number: "Veuillez entrer un nombre valide.",
-        digits: "Veuillez entrer (seulement) une valeur numérique.",
-        creditcard: "Veuillez entrer un numéro de carte de crédit valide.",
-        equalTo: "Veuillez entrer une nouvelle fois la même valeur.",
-        accept: "Veuillez entrer une valeur avec une extension valide.",
-        maxlength: jQuery.validator.format("Veuillez ne pas entrer plus de {0} caractères."),
-        minlength: jQuery.validator.format("Veuillez entrer au moins {0} caractères."),
-        rangelength: jQuery.validator.format("Veuillez entrer entre {0} et {1} caractères."),
-        range: jQuery.validator.format("Veuillez entrer une valeur entre {0} et {1}."),
-        max: jQuery.validator.format("Veuillez entrer une valeur inférieure ou égale à {0}."),
-        min: jQuery.validator.format("Veuillez entrer une valeur supérieure ou égale à {0}.")
+	required: "Ce champ est obligatoire.",
+	remote: "Veuillez corriger ce champ.",
+	email: "Veuillez fournir une adresse électronique valide.",
+	url: "Veuillez fournir une adresse URL valide.",
+	date: "Veuillez fournir une date valide.",
+	dateISO: "Veuillez fournir une date valide (ISO).",
+	number: "Veuillez fournir un numéro valide.",
+	digits: "Veuillez fournir seulement des chiffres.",
+	creditcard: "Veuillez fournir un numéro de carte de crédit valide.",
+	equalTo: "Veuillez fournir encore la même valeur.",
+	accept: "Veuillez fournir une valeur avec une extension valide.",
+	maxlength: $.validator.format("Veuillez fournir au plus {0} caractères."),
+	minlength: $.validator.format("Veuillez fournir au moins {0} caractères."),
+	rangelength: $.validator.format("Veuillez fournir une valeur qui contient entre {0} et {1} caractères."),
+	range: $.validator.format("Veuillez fournir une valeur entre {0} et {1}."),
+	max: $.validator.format("Veuillez fournir une valeur inférieur ou égal à {0}."),
+	min: $.validator.format("Veuillez fournir une valeur supérieur ou égal à {0}."),
+	maxWords: $.validator.format("Veuillez fournir au plus {0} mots."),
+	minWords: $.validator.format("Veuillez fournir au moins {0} mots."),
+	rangeWords: $.validator.format("Veuillez fournir entre {0} et {1} mots."),
+	letterswithbasicpunc: "Veuillez fournir seulement des lettres et des signes de ponctuation.",
+	alphanumeric: "Veuillez fournir seulement des lettres, nombres, espaces et soulignages",
+	lettersonly: "Veuillez fournir seulement des lettres.",
+	nowhitespace: "Veuillez ne pas inscrire d'espaces blancs.",
+	ziprange: "Veuillez fournir un code postal entre 902xx-xxxx et 905-xx-xxxx.",
+	integer: "Veuillez fournir un nombre non décimal qui est positif ou négatif.",
+	vinUS: "Veuillez fournir un numéro d'identification du véhicule (VIN).",
+	dateITA: "Veuillez fournir une date valide.",
+	time: "Veuillez fournir une heure valide entre 00:00 et 23:59.",
+	phoneUS: "Veuillez fournir un numéro de téléphone valide.",
+	phoneUK: "Veuillez fournir un numéro de téléphone valide.",
+	mobileUK: "Veuillez fournir un numéro de téléphone mobile valide.",
+	strippedminlength: jQuery.validator.format("Veuillez fournir au moins {0} caractères."),
+	email2: "Veuillez fournir une adresse électronique valide.",
+	url2: "Veuillez fournir une adresse URL valide.",
+	creditcardtypes: "Veuillez fournir un numéro de carte de crédit valide.",
+	ipv4: "Veuillez fournir une adresse IP v4 valide.",
+	ipv6: "Veuillez fournir une adresse IP v6 valide."
 });
\ No newline at end of file

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_he.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_he.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_he.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_he.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: HE
+ * Locale: HE (Hebrew; עברית)
  */
 jQuery.extend(jQuery.validator.messages, {
 	required: ".השדה הזה הינו שדה חובה",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_hu.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_hu.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_hu.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_hu.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: HU
+ * Locale: HU (Hungarian; Magyar)
  */
 jQuery.extend(jQuery.validator.messages, {
 	required: "Kötelező megadni.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_it.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_it.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_it.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_it.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: IT
+ * Locale: IT (Italian; Italiano)
  */
 jQuery.extend(jQuery.validator.messages, {
        required: "Campo obbligatorio.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_ja.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_ja.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_ja.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_ja.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: JA (Japanese)
+ * Locale: JA (Japanese; 日本語)
  */
 jQuery.extend(jQuery.validator.messages, {
   required: "このフィールドは必須です。",
@@ -14,10 +14,10 @@ jQuery.extend(jQuery.validator.messages,
   creditcard: "有効なクレジットカード番号を入力してください。",
   equalTo: "同じ値をもう一度入力してください。",
   accept: "有効な拡張子を含む値を入力してください。",
-  maxlength: jQuery.format("{0} 文字以内で入力してください。"),
+  maxlength: jQuery.format("{0} 文字以内で入力してください。"),
   minlength: jQuery.format("{0} 文字以上で入力してください。"),
   rangelength: jQuery.format("{0} 文字から {1} 文字までの値を入力してください。"),
   range: jQuery.format("{0} から {1} までの値を入力してください。"),
   max: jQuery.format("{0} 以下の値を入力してください。"),
-  min: jQuery.format("{1} 以上の値を入力してください。")
+  min: jQuery.format("{0} 以上の値を入力してください。")
 });
\ No newline at end of file

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_kk.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_kk.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_kk.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_kk.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: KK
+ * Locale: KK (Kazakh; қазақ тілі)
  */
 jQuery.extend(jQuery.validator.messages, {
         required: "Бұл өрісті міндетті түрде толтырыңыз.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_lt.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_lt.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_lt.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_lt.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
- * Translated default messages for the jQuery validation plugin in lithuanian.
- * Locale: LT
+ * Translated default messages for the jQuery validation plugin.
+ * Locale: LT (Lithuanian; lietuvių kalba)
  */
 jQuery.extend(jQuery.validator.messages, {
        required: "Å is laukas yra privalomas.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_lv.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_lv.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_lv.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_lv.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: LV
+ * Locale: LV (Latvian; latviešu valoda)
  */
 jQuery.extend(jQuery.validator.messages, {
         required: "Šis lauks ir obligāts.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_nl.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_nl.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_nl.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_nl.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: NL
+ * Locale: NL (Dutch; Nederlands, Vlaams)
  */
 jQuery.extend(jQuery.validator.messages, {
         required: "Dit is een verplicht veld.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_no.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_no.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_no.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_no.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: NO (Norwegian)
+ * Locale: NO (Norwegian; Norsk)
  */
 jQuery.extend(jQuery.validator.messages, {
        required: "Dette feltet er obligatorisk.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_pl.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_pl.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_pl.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_pl.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: PL
+ * Locale: PL (Polish; język polski, polszczyzna)
  */
 jQuery.extend(jQuery.validator.messages, {
 	required: "To pole jest wymagane.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_ro.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_ro.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_ro.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_ro.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: RO
+ * Locale: RO (Romanian, limba română)
  */
 jQuery.extend(jQuery.validator.messages, {
   required: "Acest câmp este obligatoriu.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_ru.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_ru.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_ru.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_ru.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: RU
+ * Locale: RU (Russian; русский язык)
  */
 jQuery.extend(jQuery.validator.messages, {
         required: "Это поле необходимо заполнить.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_sk.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_sk.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_sk.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_sk.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: SK
+ * Locale: SK (Slovak; slovenčina, slovenský jazyk)
  */
 jQuery.extend(jQuery.validator.messages, {
 	required: "Povinné zadať.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_sl.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_sl.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_sl.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_sl.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Language: SL
+ * Language: SL (Slovenian; slovenski jezik)
  */
 jQuery.extend(jQuery.validator.messages, {
 	required: "To polje je obvezno.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_sr.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_sr.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_sr.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_sr.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: SR
+ * Locale: SR (Serbian; српски језик)
  */
 jQuery.extend(jQuery.validator.messages, {
     required: "Поље је обавезно.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_th.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_th.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_th.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_th.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: TH (Thai)
+ * Locale: TH (Thai; ไทย)
  */
 jQuery.extend(jQuery.validator.messages, {
 	required: "โปรดระบุ",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_tr.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_tr.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_tr.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_tr.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: TR
+ * Locale: TR (Turkish; Türkçe)
  */
 jQuery.extend(jQuery.validator.messages, {
 	required: "Bu alanın doldurulması zorunludur.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_vi.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_vi.js?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_vi.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/plugins/validate/localization/messages_vi.js Thu Oct 25 05:04:09 2012
@@ -1,6 +1,6 @@
 /*
  * Translated default messages for the jQuery validation plugin.
- * Locale: VI (Vietnamese)
+ * Locale: VI (Vietnamese; Tiếng Việt)
  */
 jQuery.extend(jQuery.validator.messages, {
  required: "Hãy nhập.",

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/ui/development-bundle/AUTHORS.txt
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/ui/development-bundle/AUTHORS.txt?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/ui/development-bundle/AUTHORS.txt (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/ui/development-bundle/AUTHORS.txt Thu Oct 25 05:04:09 2012
@@ -1,30 +1,210 @@
-jQuery UI Authors (http://jqueryui.com/about)
+Authors ordered by first contribution
+A list of current team members is available at http://jqueryui.com/about
 
-This software consists of voluntary contributions made by many
-individuals. For exact contribution history, see the revision history
-and logs, available at http://github.com/jquery/jquery-ui
-
-Brandon Aaron
-Paul Bakaus (paulbakaus.com)
-David Bolter
-Rich Caloggero
-Chi Cheng (cloudream@gmail.com)
-Colin Clark (http://colin.atrc.utoronto.ca/)
-Michelle D'Souza
-Aaron Eisenberger (aaronchi@gmail.com)
-Ariel Flesler
-Bohdan Ganicky
-Scott González
-Marc Grabanski (m@marcgrabanski.com)
-Klaus Hartl (stilbuero.de)
-Scott Jehl
-Cody Lindley
-Eduardo Lundgren (eduardolundgren@gmail.com)
-Todd Parker
-John Resig
-Patty Toland
-Ca-Phun Ung (yelotofu.com)
-Keith Wood (kbwood@virginbroadband.com.au)
-Maggie Costello Wachs
-Richard D. Worth (rdworth.org)
-Jörn Zaefferer (bassistance.de)
+Paul Bakaus <pa...@googlemail.com>
+Richard Worth <rd...@gmail.com>
+Yehuda Katz <wy...@gmail.com>
+Sean Catchpole <li...@gmail.com>
+John Resig <je...@gmail.com>
+Tane Piper <ta...@tanepiper.com>
+Dmitri Gaskin <dm...@gmail.com>
+Klaus Hartl <kl...@googlemail.com>
+Stefan Petre <st...@gmail.com>
+Gilles van den Hoven <gi...@webunity.nl>
+Micheil Smith <mi...@brandedcode.com>
+Jörn Zaefferer <jo...@gmail.com>
+Marc Grabanski <m...@marcgrabanski.com>
+Keith Wood <kb...@gmail.com>
+Brandon Aaron <br...@gmail.com>
+Scott González <sc...@gmail.com>
+Eduardo Lundgren <ed...@gmail.com>
+Aaron Eisenberger <aa...@gmail.com>
+Joan Piedra <th...@gmail.com>
+Bruno Basto <b....@gmail.com>
+Remy Sharp <re...@leftlogic.com>
+Bohdan Ganicky <bo...@gmail.com>
+David Bolter <da...@gmail.com>
+Chi Cheng <cl...@gmail.com>
+Ca-Phun Ung <pa...@gmail.com>
+Ariel Flesler <af...@gmail.com>
+Maggie Costello Wachs <fg...@gmail.com>
+Scott Jehl <sc...@scottjehl.com>
+Todd Parker <fg...@gmail.com>
+Andrew Powell <po...@gmail.com>
+Brant Burnett <bt...@gmail.com>
+Douglas Neiner <do...@pixelgraphics.us>
+Paul Irish <pa...@gmail.com>
+Ralph Whitbeck <ra...@gmail.com>
+Thibault Duplessis <th...@gmail.com>
+Dominique Vincent <do...@toitl.com>
+Jack Hsu <ja...@gmail.com>
+Adam Sontag <aj...@ajpiano.com>
+Carl Fürstenberg <ca...@excito.com>
+Kevin Dalman <de...@allpro.net>
+Alberto Fernández Capel <af...@gmail.com>
+Jacek Jędrzejewski (http://jacek.jedrzejewski.name)
+Ting Kuei <ti...@kuei.com>
+Samuel Cormier-Iijima <sa...@chide.it>
+Jon Palmer <jo...@gmail.com>
+Ben Hollis <bh...@amazon.com>
+Justin MacCarthy <Ju...@Rubystars.biz>
+Eyal Kobrigo <ko...@hotmail.com>
+Tiago Freire <ti...@gmail.com>
+Diego Tres <di...@gmail.com>
+Holger Rüprich <ho...@rueprich.de>
+Ziling Zhao <zi...@cisco.com>
+Mike Alsup <ma...@gmail.com>
+Robson Braga Araujo <ro...@gmail.com>
+Pierre-Henri Ausseil <ph...@gmail.com>
+Christopher McCulloh <cm...@gmail.com>
+Andrew Newcomb <ex...@preceptsoftware.co.uk>
+Lim Chee Aun <ch...@gmail.com>
+Jorge Barreiro <yo...@gmail.com>
+Daniel Steigerwald <da...@steigerwald.cz>
+John Firebaugh <jo...@bigfix.com>
+John Enters <gi...@darkdark.net>
+Andrey Kapitcyn <ru...@gmail.com>
+Dmitry Petrov <dp...@gmail.com>
+Eric Hynds <er...@hynds.net>
+Chairat Sunthornwiphat <pi...@sixhead.com>
+Josh Varner <jo...@gmail.com>
+Stéphane Raimbault <st...@gmail.com>
+Jay Merrifield <fr...@gmail.com>
+J. Ryan Stinnett <jr...@gmail.com>
+Peter Heiberg <pe...@heiberg.se>
+Alex Dovenmuehle <ad...@gmail.com>
+Jamie Gegerson <gi...@jamiegegerson.com>
+Raymond Schwartz <sk...@gmail.com>
+Phillip Barnes <ph...@gmail.com>
+Kyle Wilkinson <ka...@wikyd.org>
+Khaled AlHourani <me...@khaledalhourani.com>
+Marian Rudzynski <mr...@impaled.org>
+Jean-Francois Remy <jf...@virtuoz.com>
+Doug Blood <do...@gmail.com>
+Filippo Cavallarin <po...@papuasia.org>
+Heiko Henning <h....@educa.ch>
+Aliaxandr Rahalevich <sa...@gmail.com>
+Mario Visic <ma...@mariovisic.com>
+Xavi Ramirez <xa...@gmail.com>
+Max Schnur <ma...@gmail.com>
+Saji Nediyanchath <sa...@gmail.com>
+Corey Frang <gn...@gnarf.net>
+Aaron Peterson <aa...@yahoo.com>
+Ivan Peters <iv...@ivanpeters.com>
+Mohamed Cherif Bouchelaghem <ch...@yahoo.fr>
+Marcos Sousa <ma...@corp.globo.com>
+Michael DellaNoce <md...@mailtrust.com>
+George Marshall <ec...@gmail.com>
+Tobias Brunner <to...@strongswan.org>
+Martin Solli <ms...@gmail.com>
+David Petersen <pu...@petersendidit.com>
+Dan Heberden <da...@gmail.com>
+William Kevin Manire <wi...@gmail.com>
+Gilmore Davidson <gi...@gmail.com>
+Michael Wu <mi...@gmail.com>
+Adam Parod <my...@gmail.com>
+Guillaume Gautreau <gu...@ghusse.com>
+Marcel Toele <El...@gmail.com>
+Dan Streetman <dd...@ieee.org>
+Matt Hoskins <fu...@cat-basket.org>
+Giovanni Giacobbi <gi...@giacobbi.net>
+Kyle Florence <ky...@gmail.com>
+Pavol Hluchý <lo...@losys.sk>
+Hans Hillen <ha...@gmail.com>
+Mark Johnson <vi...@live.com>
+Trey Hunner <tr...@gmail.com>
+Shane Whittet <wh...@gmail.com>
+Edward Faulkner <ef...@alum.mit.edu>
+Adam Baratz <ad...@gmail.com>
+Kato Kazuyoshi <ka...@gmail.com>
+Eike Send <ei...@gmail.com>
+Kris Borchers <kr...@gmail.com>
+Eddie Monge <ed...@eddiemonge.com>
+Israel Tsadok <it...@gmail.com>
+Carson McDonald <ca...@ioncannon.net>
+Jason Davies <ja...@jasondavies.com>
+Garrison Locke <gp...@gmail.com>
+David Murdoch <mu...@yahoo.com>
+Ben Boyle <be...@gmail.com>
+Jesse Baird <je...@gmail.com>
+Jonathan Vingiano <jv...@gmail.com>
+Dylan Just <de...@ephox.com>
+Tomy Kaira <to...@gmail.com>
+Glenn Goodrich <gl...@gmail.com>
+Ashek Elahi <ma...@gmail.com>
+Ryan Neufeld <ry...@neufeldmail.com>
+Marc Neuwirth <ma...@gmail.com>
+Philip Graham <ph...@gmail.com>
+Benjamin Sterling <be...@kenzomedia.com>
+Wesley Walser <ww...@atlassian.com>
+Kouhei Sutou <ko...@clear-code.com>
+Karl Kirch <ka...@faa.gov>
+Chris Kelly <ck...@ckdake.com>
+Jay Oster <ja...@loyalize.com>
+Alex Polomoshnov <al...@gmail.com>
+David Leal <dg...@gmail.com>
+igor milla <ig...@gmail.com>
+Dave Methvin <da...@gmail.com>
+Florian Gutmann <bl...@gmx.at>
+Marwan Al Jubeh <ma...@gmail.com>
+Milan Broum <mi...@googlemail.com>
+Sebastian Sauer <in...@dynpages.de>
+Gaëtan Muller <m....@gmail.com>
+Michel Weimerskirch <mi...@weimerskirch.net>
+William Griffiths <wi...@ycymro.com>
+Stojce Slavkovski <st...@gmail.com>
+David Soms <da...@gmail.com>
+David De Sloovere <da...@hotmail.com>
+Michael P. Jung <mi...@terreon.de>
+Shannon Pekary <sp...@gmail.com>
+Matthew Hutton <me...@corefiling.co.uk>
+James Khoury <ja...@jameskhoury.com>
+Rob Loach <ro...@gmail.com>
+Alberto Monteiro <be...@gmail.com>
+Alex Rhea <al...@gmail.com>
+Krzysztof Rosiński <ro...@gmail.com>
+Ryan Olton <ol...@gmail.com>
+Genie <38...@mail.com>
+Rick Waldron <wa...@gmail.com>
+Ian Simpson <sp...@gmail.com>
+Lev Kitsis <sp...@gmail.com>
+TJ VanToll <tj...@gmail.com>
+Justin Domnitz <jd...@gmail.com>
+Douglas Cerna <do...@yahoo.com>
+Bert ter Heide <be...@hotmail.com>
+Jasvir Nagra <ja...@gmail.com>
+Petr Hromadko <yu...@tokyoscale.com>
+Harri Kilpiö <ha...@gmail.com>
+Lado Lomidze <la...@gmail.com>
+Amir E. Aharoni <am...@mail.huji.ac.il>
+Simon Sattes <si...@gmail.com>
+Jo Liss <jo...@gmail.com>
+Guntupalli Karunakar <ka...@yahoo.com>
+Shahyar Ghobadpour <sh...@gmail.com>
+Lukasz Lipinski <uz...@gmail.com>
+Timo Tijhof <kr...@gmail.com>
+Jason Moon <jm...@socialcast.com>
+Martin Frost <ma...@hotmail.com>
+Eneko Illarramendi <en...@illarra.com>
+EungJun Yi <se...@gmail.com>
+Courtland Allen <co...@gmail.com>
+Viktar Varvanovich <no...@gmail.com>
+Danny Trunk <dt...@googlemail.com>
+Pavel Stetina <pa...@nangu.tv>
+Mike Stay <me...@gmail.com>
+Steven Roussey <sr...@gmail.com>
+Mike Hollis <ho...@gmail.com>
+Lee Rowlands <le...@previousnext.com.au>
+Timmy Willison <ti...@gmail.com>
+Karl Swedberg <ks...@gmail.com>
+Baoju Yuan <th...@hotmail.com>
+Maciej Mroziński <mr...@gmail.com>
+Luis Dalmolin <lu...@gmail.com>
+Mark Aaron Shirley <ma...@gmail.com>
+Martin Hoch <ma...@fidion.de>
+Jiayi Yang <tr...@gmail.com>
+Philipp Benjamin Köppchen <xg...@gws.ms>
+Sindre Sorhus <si...@gmail.com>
+Bernhard Sirlinger <be...@tele2.de>
+Jared A. Scheel <ja...@jaredscheel.com>
+Rafael Xavier de Souza <rx...@gmail.com>

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/ui/development-bundle/MIT-LICENSE.txt
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/ui/development-bundle/MIT-LICENSE.txt?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/ui/development-bundle/MIT-LICENSE.txt (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/ui/development-bundle/MIT-LICENSE.txt Thu Oct 25 05:04:09 2012
@@ -1,4 +1,5 @@
-Copyright (c) 2011 Paul Bakaus, http://jqueryui.com/
+Copyright 2012 jQuery Foundation and other contributors,
+http://jqueryui.com/
 
 This software consists of voluntary contributions made by many
 individuals (AUTHORS.txt, http://jqueryui.com/about) For exact

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/ui/development-bundle/external/qunit.css
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/ui/development-bundle/external/qunit.css?rev=1401975&r1=1401974&r2=1401975&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/ui/development-bundle/external/qunit.css (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/jquery/ui/development-bundle/external/qunit.css Thu Oct 25 05:04:09 2012
@@ -1,11 +1,11 @@
 /**
- * QUnit - A JavaScript Unit Testing Framework
+ * QUnit v1.10.0 - A JavaScript Unit Testing Framework
  *
- * http://docs.jquery.com/QUnit
+ * http://qunitjs.com
  *
- * Copyright (c) 2011 John Resig, Jörn Zaefferer
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * or GPL (GPL-LICENSE.txt) licenses.
+ * Copyright 2012 jQuery Foundation and other contributors
+ * Released under the MIT license.
+ * http://jquery.org/license
  */
 
 /** Font Family and Sizes */
@@ -20,7 +20,7 @@
 
 /** Resets */
 
-#qunit-tests, #qunit-tests ol, #qunit-header, #qunit-banner, #qunit-userAgent, #qunit-testresult {
+#qunit-tests, #qunit-tests ol, #qunit-header, #qunit-banner, #qunit-userAgent, #qunit-testresult, #qunit-modulefilter {
 	margin: 0;
 	padding: 0;
 }
@@ -38,10 +38,10 @@
 	line-height: 1em;
 	font-weight: normal;
 
-	border-radius: 15px 15px 0 0;
-	-moz-border-radius: 15px 15px 0 0;
-	-webkit-border-top-right-radius: 15px;
-	-webkit-border-top-left-radius: 15px;
+	border-radius: 5px 5px 0 0;
+	-moz-border-radius: 5px 5px 0 0;
+	-webkit-border-top-right-radius: 5px;
+	-webkit-border-top-left-radius: 5px;
 }
 
 #qunit-header a {
@@ -54,6 +54,11 @@
 	color: #fff;
 }
 
+#qunit-testrunner-toolbar label {
+	display: inline-block;
+	padding: 0 .5em 0 .1em;
+}
+
 #qunit-banner {
 	height: 5px;
 }
@@ -62,6 +67,7 @@
 	padding: 0.5em 0 0.5em 2em;
 	color: #5E740B;
 	background-color: #eee;
+	overflow: hidden;
 }
 
 #qunit-userAgent {
@@ -71,6 +77,9 @@
 	text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 1px;
 }
 
+#qunit-modulefilter-container {
+	float: right;
+}
 
 /** Tests: Pass/Fail */
 
@@ -108,13 +117,9 @@
 
 	background-color: #fff;
 
-	border-radius: 15px;
-	-moz-border-radius: 15px;
-	-webkit-border-radius: 15px;
-
-	box-shadow: inset 0px 2px 13px #999;
-	-moz-box-shadow: inset 0px 2px 13px #999;
-	-webkit-box-shadow: inset 0px 2px 13px #999;
+	border-radius: 5px;
+	-moz-border-radius: 5px;
+	-webkit-border-radius: 5px;
 }
 
 #qunit-tests table {
@@ -157,8 +162,7 @@
 #qunit-tests b.failed                       { color: #710909; }
 
 #qunit-tests li li {
-	margin: 0.5em;
-	padding: 0.4em 0.5em 0.4em 0.5em;
+	padding: 5px;
 	background-color: #fff;
 	border-bottom: none;
 	list-style-position: inside;
@@ -167,9 +171,9 @@
 /*** Passing Styles */
 
 #qunit-tests li li.pass {
-	color: #5E740B;
+	color: #3c510c;
 	background-color: #fff;
-	border-left: 26px solid #C6E746;
+	border-left: 10px solid #C6E746;
 }
 
 #qunit-tests .pass                          { color: #528CE0; background-color: #D2E0E6; }
@@ -185,14 +189,15 @@
 #qunit-tests li li.fail {
 	color: #710909;
 	background-color: #fff;
-	border-left: 26px solid #EE5757;
+	border-left: 10px solid #EE5757;
+	white-space: pre;
 }
 
 #qunit-tests > li:last-child {
-	border-radius: 0 0 15px 15px;
-	-moz-border-radius: 0 0 15px 15px;
-	-webkit-border-bottom-right-radius: 15px;
-	-webkit-border-bottom-left-radius: 15px;
+	border-radius: 0 0 5px 5px;
+	-moz-border-radius: 0 0 5px 5px;
+	-webkit-border-bottom-right-radius: 5px;
+	-webkit-border-bottom-left-radius: 5px;
 }
 
 #qunit-tests .fail                          { color: #000000; background-color: #EE5757; }
@@ -215,6 +220,9 @@
 
 	border-bottom: 1px solid white;
 }
+#qunit-testresult .module-name {
+	font-weight: bold;
+}
 
 /** Fixture */
 
@@ -222,4 +230,6 @@
 	position: absolute;
 	top: -10000px;
 	left: -10000px;
-}
\ No newline at end of file
+	width: 1000px;
+	height: 1000px;
+}