/**
 * jQuery-Plugin "clearField"
 * 
 * @version: 1.1, 04.12.2010
 * 
 * @author: Stijn Van Minnebruggen
 *          stijn@donotfold.be
 *          http://www.donotfold.be
 * 
 * @example: $('selector').clearField();
 * @example: $('selector').clearField({ blurClass: 'myBlurredClass', activeClass: 'myActiveClass' });
 * 
 */

(function($) {
	
	/* 
				DEFAULTS SETTINGS ARE IN CARTPLUGIN
				
				<cfset This.default_fname = "First Name" >
				<cfset This.default_lname = "Last Name" />
				<cfset This.default_midini = "M Initial" />
				<cfset This.default_address1 = "Street Address" />
				<cfset This.default_address2 = "Apt ##, Suite ##, Bldg (optional)" />
				<cfset This.default_city = "City" />
				<cfset This.default_state = "-" />
				<cfset This.default_zip = "Postal Code" />
				<cfset This.default_phone = "Phone (e.g. 702-689-4077)" />
				<cfset This.default_country = "-" />
				<cfset This.default_company = "Company (optional)" />
				<cfset This.default_province = "" />
				<cfset This.default_email = "e-mail" />
				
				<cfset This.default_password = "Password" />
				<cfset This.default_password2 = "Confirm Password" />
				<cfset This.default_usercomment = "GIFT MESSAGE" />
				<cfset This.default_ccnumber = "CREDIT CARD NUMBER" />
				
	*/
	
	var defaults_fields = new Array("First Name","Last Name","M Initial",
									"Street Address","Apt #, Suite #, Bldg (optional)",
									"City","-","Postal Code","Phone (e.g. 702-689-4077)",
									"-", "Company","e-mail","E-mail", "Password", "Confirm Password",
									"GIFT MESSAGE","CREDIT CARD NUMBER");
	
	
	$.fn.clearField = function(settings) {
		
		/**
		 * Settings
		 * 
		 */
		
		settings = jQuery.extend({
			blurClass: 'clearFieldBlurred',
			activeClass: 'clearFieldActive',
			attribute: 'rel',
			value: ''
		}, settings);
		
		
		/**
		 * loop each element
		 * 
		 */
		
		return $(this).each(function() {
			
			/**
			 * Set element
			 * 
			 */
			
			var el = $(this);
			
			
			/**
			 * Get starting value
			 * 
			 */
			
			settings.value = el.val();
			
			//alert('['+settings.value);
			/**
			 * Add or get attribute
			 * 
			 */
			
			if(el.attr(settings.attribute) == undefined) {
				el.attr(settings.attribute, el.val()).addClass(settings.blurClass);
				
				var len=defaults_fields.length;
				for(var i=0; i<len; i++) 
				{
					var value = defaults_fields[i];
					var phonenumber_found = false;
					
					if(el.val().replace("-", "").length > 0 && value == '-')
						{
							phonenumber_found = true;
						}	
					
					if(el.val().indexOf(value) != -1 && phonenumber_found == false)
					{
						el.css('color','#CCCCCC');
					}
					
					
					
				}
				
				
				//if(color_found){el.css('color','#000000');}
				
								   
			} else {
				settings.value = el.attr(settings.attribute);
				
				//el.css('color','#000000');
			}
			
			
			/**
			 * Set focus action
			 * 
			 */
			
			el.focus(function() {
				
				if(el.val() == el.attr(settings.attribute)) {
					el.val('').removeClass(settings.blurClass).addClass(settings.activeClass);
					el.css('color','#000000');
				}
				
			});
			
			
			/**
			 * Set blur action
			 * 
			 */
			
			el.blur(function() {
				
				if(el.val() == '') {
					el.val(el.attr(settings.attribute)).removeClass(settings.activeClass).addClass(settings.blurClass);
					
					var len=defaults_fields.length;
					for(var i=0; i<len; i++) 
					{
						var value = defaults_fields[i];
						
						if(el.val().indexOf(value) != -1)
						{
							el.css('color','#CCCCCC');
						}
					}
				
				}
				
			});
			
			
		});
		
	};
	
})(jQuery);
