jQuery.noConflict();

jQuery(function()
{
	FindForm.init();
	SelectTarget.init();
	PartnerBoxes.init();
});

var PartnerBoxes =
{
	init:function()
	{
		this.validate_zip();
	},
	
	validate_zip:function()
	{
		var $zip_inputs = jQuery('input[name="zipcode"]'); // Get all zip inputs
		
		$zip_inputs.each(function() // Loop them
		{
			var $this = jQuery(this); // Store current iteration obj
			

						
			var $form = $this.parents('form'); // current form
			
			$form.attr('autocomplete','off');
						
			$this.keyup(function() // on keyup
			{
				var input_value = $this.val(); // Get value
				
				if( PartnerBoxes.run_validation(input_value) ) // Validate it
				{
					$this.removeClass('error'); // If ok - remove error (if any)
				}
			});
			
			$form.submit(function() // On submit
			{	
							
				var input_value = $this.val(); // Get value
				
				if ($this.hasClass('error')) // If a user tries to submit when an error is already present..
				{
					$this.fadeOut(75).fadeIn(75).fadeOut(75).fadeIn(75); // make box blink/flash a few times
					
					$this.focus();
					
					return false;
				}
				
				if( ! PartnerBoxes.run_validation(input_value) ) // if not validate
				{
					$this.addClass('error'); // Add error class to input
					
					$this.focus();
					
					return false;
				}

				//Track the selected product in SiteCatalyst
				var product = $form.find('select :selected').text();
				var zip = input_value;

				trackFormSubmit(product,zip);
				
				return true;
				
			});
		});
	},
	
	run_validation:function(input_value) // Checks input value from zipcode against a regex. 12345, 12345-1234, 123456789 is fine
	{
		var zip_regex = /^[0-9]{5}([ -])?([0-9]{4})?$/;
		
		return input_value.match( zip_regex );
	}
};

var SelectTarget =
{
	init:function()
	{		
		var $select = jQuery('select.Type');
				
		$select.each(function()
		{
			var $this = jQuery(this);
			
			SelectTarget.set_attribs($this);
			
			$this.change(function()
			{
				SelectTarget.set_attribs($this);
			});
		});
	},
	
	set_attribs:function($this)
	{	
		var select_class = $this.find('option:selected').attr('class');

		var $form = $this.parents('form');
				
		if (select_class == 'sureHits')
		{
			$this.attr('name','src');
			$form.attr('action','/results');
		}
		else if (select_class == 'insureMe')
		{
			$this.attr('name','Type');
			$form.attr('action','http://www.247quoteus.com/insureme/Common/Landing.php');
		}
		else if (select_class == 'sureHitsForm')
		{
			$this.attr('name','Type');
			$form.attr('action','/free-life-insurance-quotes');
		}
		else if (select_class == 'insureMyTrip') 
		{
			console.log('value');
			$this.attr('name','Type');
			$form.attr('action','http://www1.insuremytrip.com/myquote-6991-0-0-0.html');
		}
	}
};

var FindForm =
{
	init:function()
	{
		this.main_col.init();
		this.side_col.init();
	},
	
	main_col:
	{
		init:function()
		{
			this.toggle();
			
			var $select = jQuery('#article-find-insurance select');
			
			$select.change(function()
			{
				FindForm.main_col.toggle();
			});
		},
		
		toggle:function()
		{
			var $module = jQuery('#article-find-insurance');
			
			var select_value = $module.find('select[name="Type"]').val();
			
			var $toggle_obj = jQuery('#article-find-insurance li.auto-insurance');

			if (select_value == 'Auto')
			{
				$toggle_obj.show();
			}	
			else
			{
				$toggle_obj.hide();
			}
		}
	},
	
	side_col:
	{
		init:function()
		{
			this.toggle();
			
			var $select = jQuery('#find-insurance select');
			
			$select.change(function()
			{
				FindForm.side_col.toggle();
			});
		},
		
		toggle:function()
		{
			var $module = jQuery('#find-insurance');
			
			var select_value = $module.find('select[name="Type"]').val();
			
			var $toggle_obj = jQuery('#find-insurance li#auto');

			if (select_value == 'Auto')
			{
				$toggle_obj.show();
			}	
			else
			{
				$toggle_obj.hide();
			}
			
			var li_names = new Array('first','scnd','third','last');
			
			$module.find('li:visible').each(function(i)
			{
				jQuery(this).removeAttr('class').addClass(li_names[i] + ' clearfix');
			});
		}
	}		
}