// JQuery Plugin - sets default text on form elements.
jQuery.fn.inputDefault = function(options) {
	
	// Our options.
	options = jQuery.extend({
		defaultText				: "",
		activeClass	 			: ""
	}, options);
	
    if ($(this).val() != options.defaultText && $(this).val() == "") { 
		$(this).val(options.defaultText)
	} else {
		if ($(this).val() != options.defaultText && $(this).val().length > 0) {
			$(this).addClass(options.activeClass);
		}
	}

    $(this).focus(function() {
        if ($(this).val() == options.defaultText) {
            $(this).addClass(options.activeClass);
            $(this).val("");
        } else {
            if ($(this).val() != "") {
                $(this).addClass(options.activeClass);
            }
        }
    });

    $(this).blur(function() {
        if ($(this).val() == "") {
            $(this).removeClass(options.activeClass);
            $(this).val(options.defaultText);
        } else {
            if ($(this).val() != "") {
				//$(this).removeClass("fnid_defaultValue");
            }
        }
    });
    return this;
};



jQuery.fn.getValidationErrorArray = function(errorMessage,errorArray,bRequired,additionalValidationMethod) {
	
	// Name
	
	if ($(this).length > 0) {
	
		$(this).each(function(){
		
			var valField = $(this);		
		
			// trim any white space from the field
			var t1 = valField.val();
			var t2 = t1.replace(/^\s+/, '').replace(/\s+$/, '');
			
			if (t1 != t2) 
				valField.val(t2);
			
			var additionalError = false;
			
			if (additionalValidationMethod != null) 
				additionalError = !additionalValidationMethod(valField.val());
			
			// fail if this field isn't filled in (required field)
			if (bRequired) {
			
				if (additionalError || (valField.hasClass("fnid_defaultValue")) || (valField.val() == '') || (valField == undefined)) {
					valField.addClass("formFieldError");
					errorArray.push(errorMessage);
				}
				else {
					valField.removeClass("formFieldError");
				}
				
			// fail if this field fails additional validation (non required field)	
			}
			else {
			
				if ((!valField.hasClass("fnid_defaultValue")) && (valField.val().length > 0)) {
					if (!isEmail(valField.val())) {
						valField.addClass("formFieldError");
						errorArray.push(errorMessage);
					}
					else {
						valField.removeClass("formFieldError");
					}
				}
				else {
					valField.removeClass("formFieldError");
				}
				
			}
		
		})
		
	}
		
	return errorArray;
};


jQuery.fn.centerAgainst = function(oParent) {
	
	// Name
	var h1 = $(oParent).height();
	
	if ($(this).length > 0) {
	
		$(this).each(function(){				
		var h2 = $(this).height();
								
		if (h1 > h2) {			
			var strMargin = (h1 - h2) / 2;
			var existingMargin = $(this).css('margin-top').match(/\d+/);
			
			if (existingMargin.length) strMargin += parseInt(existingMargin);				
				
			strMargin = strMargin.toString() + 'px';
			$(this).css('margin-top', strMargin);
		}			

		
		});		
	}
		
	return this;
}; 
