﻿//VALIDATION METHODS
function formThanks (form, status, errors, options) {
	window.location = '/thank-you';
}

function checkZip(field, rules, i, options){
	if (field.val().search(/\D/g) != -1 || field.val().length != 5) {
		return "* Please input a valid 5 digit Zip";
	}
}
function checkPhone(field, rules, i, options){
	if (field.val().length != 10) {
		return "* Please input a valid 10 digit Phone Number (no spaces or hyphens)";
	}
}
function checkMo(field, rules, i, options){
	if (field.val().search(/\D/g) != -1 || field.val().length > 2 || field.val().length < 1 || parseInt(field.val()) < 1) {
		return "* Please input a valid Month (1-12)";
	}
}
function checkDay(field, rules, i, options){
	if (field.val().search(/\D/g) != -1 || field.val().length > 2 || field.val().length < 1 || parseInt(field.val()) < 1) {
		return "* Please input a valid Day (1-31)";
	}
}
function checkYear(field, rules, i, options){
	if (field.val().search(/\D/g) != -1 || field.val().length != 4) {
		return "* Please input a valid 4 digit Year";
	}
	else if (field.val().search(/\D/g) != -1 || field.val().length != 4 || parseInt(field.val()) > 1946) {
		return "* You must be 65 or older to qualify for Medicare Supplemental Insurance";
	}
}



//INTERACTION METHODS
(function( $ ){

	$.fn.formSetup = function() {
		
		var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
		
		$.each(months, function(i, month) {
			var o = $('<option value="' + (i+1) + '">' + month + '</option>');
			$('#affiliate-form #month').append(o);
		});
		for (var i=1; i < 32; i++) {
			var o = $('<option value="' + i + '">' + i + '</option>');
			$('#affiliate-form #day').append(o);
		}
		for (var i=1960; i > 1901; i--) {
			var o = $('<option value="' + i + '"' + ((i == 1946) ? 'selected="selected"' : '') + '>' + i + '</option>');
			$('#affiliate-form #year').append(o);
		}
		$('#affiliate-form').submit(function (e) {
			e.preventDefault();
			$('#phone').val($('#phone').val().replace(/\D/g, ''));
			
			if ($(this).validationEngine('validate')) {
				$('#dob').val($('#month option:selected').val() + '/' + $('#day option:selected').val() + '/' + $('#year option:selected').val()); 
				$.ajax({
					url: '/includes/usmedicare/form-submit.php',
					type: 'POST',
					data: $(this).serialize(),
					success: function(data){
						if(data == '1')
							window.location = '/thank-you';
					}
				});                
			}
		});
	};
	
	$.fn.stateSelect  = function() {
		$(this).bind('change', function() {
			var loc = $(this).children('option:selected').val();
			window.location = loc;
		});
	};
	
	$.fn.powerPlans = function() {
		var curCol, columns;
		columns = $('#plans-table .column');
		$('.button').click(function () {
			if ($(this).hasClass('close')) {
				$('#plans-info').stop().animate({'right' : '-670px'}, 'fast', function () {
					$('.plan').hide();
				});
				$.each(columns, function (i, col) {
					if($(col).attr('id') != $(curCol).attr('id') && $(col).attr('id') != 'benefits')
						$(col).show();
				});
				$(curButton).fadeIn('fast');
				$('#plans-table .bar p').fadeOut('fast');
				curCol, curButton = null;
			}
			else {
				curCol = $(this).parents('.column');
				curButton = $(curCol).find('.button');
				$('.plan.' + $(curCol).attr('id')).stop().show();
				$('#plans-info').stop().animate({'right' : '3px'}, 'fast', function () {
					$.each(columns, function (i, col) {
						if($(col).attr('id') != $(curCol).attr('id') && $(col).attr('id') != 'benefits')
							$(col).hide();
					});
					$(curButton).hide();
				});
				$('#plans-table .bar p').fadeIn('fast');
			}
		});
	};
	
	$.fn.powerProviders = function() {
		var panels = $('#provider-content .panel');
		$.each(panels, function(i, panel) {
			$(panel).hide();
		});
		var providerInfo = 
				[{
					"provider" : "Aetna",
					"copy-class" : "aetna"
				},
				{
					"provider" : "American Continental",
					"copy-class" : "continental-life"
				},
				{
					"provider" : "Columbian Mutual",
					"copy-class" : "columbian-mutual"
				},
				{
					"provider" : "Columbian Life",
					"copy-class" : "columbian-life"
				},
				{
					"provider" : "Family Life",
					"copy-class" : "family-life"
				},
				{
					"provider" : "Genworth",
					"copy-class" : "genworth"
				},
				{
					"provider" : "Gerber Life",
					"copy-class" : "gerber-life"
				},
				{
					"provider" : "Humana",
					"copy-class" : "humana"
				},
				{
					"provider" : "Mutual of Omaha",
					"copy-class" : "mutual-of-omaha"
				},
				{
					"provider" : "Sentinel Life",
					"copy-class" : "sentinel"
				},
				{
					"provider" : "Sentinel-Security",
					"copy-class" : "sentinel-security"
				},
				{
					"provider" : "United of Omaha",
					"copy-class" : "united-of-omaha"
				},
				{
					"provider" : "United World Life",
					"copy-class" : "united-world-life"
				},
				{
					"provider" : "Sterling",
					"copy-class" : "sterling"
				},
				{
					"provider" : "KSKJ",
					"copy-class" : "kskj"
				},
				{
					"provider" : "Royal Neighbors",
					"copy-class" : "royal-neighbors"
				},
				{
					"provider" : "Assured Woodmen",
					"copy-class" : "woodmen"
				},
				{
					"provider" : "Marquette",
					"copy-class" : "marquette"
				},
				{
					"provider" : "Forethought Life Insurance",
					"copy-class" : "forethought"
				}];
		$('#provider-content h2 select').append('<option value="clear" disabled="disabled" selected="selected"></option>');
		$.each(providerInfo, function(i, provider) {
			var e = $('<option class="' + provider['provider'].toLowerCase().replace(/\s/g, '-') + '" value="' + i + '">' + provider['provider'] + '</option>');
			$('#provider-content h2 select').append(e);
		});
		$('#provider-content h2 select').bind('change', function () {
			$('#provider-buttons .button').removeClass('active');
			//$('#provider-content .content').html(providerInfo[$('#provider-content h2 select option:selected').val()]['copy']);
			$('#provider-content .panel.active').removeClass('active').hide();
			$('#provider-content .' + providerInfo[$('#provider-content h2 select option:selected').val()]['copy-class']).show().addClass('active');
			$.each($('#provider-buttons .button'), function(i, button) {
				if ($(button).hasClass(providerInfo[$('#provider-content h2 select option:selected').val()]['provider'].toLowerCase().replace(/\s/g, '-')))
					$(button).addClass('active');
			});
		});
		$('#provider-buttons .button').click(function () {
			var btnClass = $(this).attr('class').split(' ')[1];
			$.each($('#provider-content h2 select option'), function(i, option) {
				if ($(option).hasClass(btnClass)) {
					$('#provider-content h2 select').val(i-1);
					$('#provider-content h2 select').change();
					return false;
				}
			});
		});
	};
	
	$.fn.powerMedicare = function() {
		$('#medicare-info .button').click(function () {
			if ($(this).hasClass('close')) {
				$('#options').fadeOut('fast').removeClass('active');
				$('#options .option').hide();
			}
			else {
				var opt = $(this).attr('class').split(' ')[1];
				$('#options .option').hide();
				$('#options .' + opt).show();
				if ($('#options').hasClass('active') == false) {
					$('#options').fadeIn('fast');
				}
			}
		});	
	};
	
	$.fn.powerFAQ = function () {
		var container, questions, answers;
		container = this;
		questions = $(container).find('.question');
		answers = $(container).find('.answer');
		$.each(questions, function(i, question) {
			$(answers[i]).hide();
			$(this).find('.button').addClass('off');
			$(this).bind('click', function() {
				var button = $(this).find('.button');
				if($(button).hasClass('on')) {
					$(button).removeClass('on');
					$(button).addClass('off');
				}
				else {					
					$(button).removeClass('off');
					$(button).addClass('on');
				}
				$(answers[i]).slideToggle();
			});
		});
	};
})( jQuery );

