function blur_field(f) {
	if ($('#'+f).val()=='') {
		$('#'+f).val($('#'+f).get(0).old_value);		
	}
}

function focus_field(f) {
	if (!$('#'+f).get(0).old_value) 
		$('#'+f).get(0).old_value = $('#'+f).val();
	if ($('#'+f).val() == $('#'+f).get(0).old_value) { 
		$('#'+f).val('');
	}
}


function check_card() {
	var c = $('#payment_card_no').val();
	$('#payment_card_no').css('background-position', 'right 0px');									
	if (c.length>1) {
		if (c.substr(0,2)=='34'||c.substr(0,2)=='37') {
			//amex
			$('#payment_card_no').css('background-position', 'right -75px');
		} else {
			if (c.substr(0,1)=='4') {		
				//visa
				$('#payment_card_no').css('background-position', 'right -25px');
			}
			else {
				if (c.substr(0,2)=='51'||c.substr(0,2)=='52'||c.substr(0,2)=='53'||c.substr(0,2)=='54'||c.substr(0,2)=='55') {
					//mc
					$('#payment_card_no').css('background-position', 'right -50px');
				} 
			}
		}
	}
}

function field_set(f) {
	if (!$(f).get(0).old_value || $(f).val() == '' || $(f).val() == $(f).get(0).old_value) {
		$(f).addClass('error');
		return false;
	} else {
		$(f).removeClass('error');
		return true;
	}
}

function field_email(f) {
	var emailFilter=/^.+@.+\..{2,3}$/;
	if (!(emailFilter.test($(f).val()))) { 
		$(f).addClass('error');
		return false;
	} else {
		$(f).removeClass('error');
		return true;
	}
}

function fields_set(a) {
	var r = true;
	var t;
	
	for(var i=0; i<a.length; i++) {
		t = field_set(a[i]);
		if (t == false)
			r = false; 
	}
	return r;
}


function submitHandler_step1() {
	var error_thrown = false;
	var error_anchor = '';

	if (!fields_set(['#first_name', '#last_name', '#email'])) {
		error_thrown = true;
	} 
	
	if (!field_email('#email')) {
		error_thrown = true;
	}
	
	if (currentPaymentOption == 0) {
		error_thrown = true;
	}
	
	/* by credit card */
	if (currentPaymentOption == 1) {
		if (!fields_set(['#payment_card_no', '#payment_card_name', '#payment_card_expiration_month', '#payment_card_expiration_year'])) {
			error_thrown = true;
		}
	} 

	/* by direct deposit */
	if (currentPaymentOption == 2) {
		if (!fields_set(['#dd_account', '#dd_aba', '#dd_name', '#dd_bank'])) {
			error_thrown = true;
		}
	}

	if (error_thrown) {
		$('#error_message').show();
		return false;	
	} else {
		$('input[type=text]').each(function() {
			if (!this.old_value||this.old_value==$(this).val()) {
				$(this).val('');
			}
		})
	}
	
}
 
/*

function submitHandler_step1() {
	
	var error_thrown = false;

	var error_anchor = '';
	var errors = [];
		
	if (!$('#first_name').get(0).old_value || $('#first_name').val() == '' || $('#first_name').val() == $('#first_name').get(0).old_value) {
		$('#first_name').addClass('error');
		error_thrown = true;
		errors.push('first_name');
	} else {
		$('#first_name').removeClass('error');
	}

	if (!$('#last_name').get(0).old_value || $('#last_name').val() == '' || $('#last_name').val() == $('#last_name').get(0).old_value) {
		$('#last_name').addClass('error');
		error_thrown = true;
		errors.push('last_name');
	} else {
		$('#last_name').removeClass('error');
	}

	if (!$('#email').get(0).old_value || $('#email').val() == '' || $('#email').val() == $('#email').get(0).old_value) {
		$('#email').addClass('error');
		error_thrown = true;
		errors.push('email');
	} else {
		var emailFilter=/^.+@.+\..{2,3}$/;
		if (!(emailFilter.test($('#email').val()))) { 
			$('#email').addClass('error');
			error_thrown = true;
			errors.push('email');
		} else {
			$('#email').removeClass('error');
		}
	}

	if (!$('#address').get(0).old_value || $('#address').val() == '' || $('#address').val() == $('#address').get(0).old_value) {
		$('#address').addClass('error');
		errors.push('address');
		error_thrown = true;
	} else {
		$('#address').removeClass('error');
	}

	if (!$('#city').get(0).old_value || $('#city').val() == '' || $('#city').val() == $('#city').get(0).old_value) {
		$('#city').addClass('error');
		errors.push('city');
		error_thrown = true;
	} else {
		$('#city').removeClass('error');
	}	
	
	if (!checkLuhns($('#payment_card_no').val())) {
		$('#payment_card_no').addClass('error');
		errors.push('card_no');
		error_thrown = true;
	} else {
		$('#payment_card_no').removeClass('error');
	}
	
	if (!$('#payment_card_name').get(0).old_value || $('#payment_card_name').val() == '' || $('#payment_card_name').val() == $('#payment_card_name').get(0).old_value) {
		$('#payment_card_name').addClass('error');
		errors.push('card_name');
		error_thrown = true;
	} else {
		$('#payment_card_name').removeClass('error');
	}
	
	if (!$('#payment_card_expiration_month').get(0).old_value || $('#payment_card_expiration_month').val() == '' || $('#payment_card_expiration_month').val() == $('#payment_card_expiration_month').get(0).old_value) {
		errors.push('card_month');
		$('#payment_card_expiration_month').addClass('error');
		error_thrown = true;
	} else {
		$('#payment_card_expiration_month').removeClass('error');
	}
		
	if (!$('#payment_card_expiration_year').get(0).old_value || $('#payment_card_expiration_year').val() == '' || $('#payment_card_expiration_year').val() == $('#payment_card_expiration_year').get(0).old_value) {
		$('#payment_card_expiration_year').addClass('error');
		error_thrown = true;
		errors.push('card_year');
	} else {
		$('#payment_card_expiration_year').removeClass('error');
	}
		
	if (error_thrown) {
		$('#error_message').show();
		return false;	
	} else {
		$('input').each(function() {
			if (!this.old_value||this.old_value==$(this).val()) {
				$(this).val('');
			}
		})
	}
	
}
*/

function checkLuhns(digits)
 {
   if (digits.length<3)
   	return false;
   	
   	digits = digits.replace(/ /g, '');
   	
   var sum = 0;
   var alt = false;
   var numvar = 0;
   for(var i = digits.length - 1; i >= 0; i--)
   {
     numvar = parseInt(digits.charAt(i));
     if(alt)
     {
       numvar *= 2;
       if(numvar > 9)
       {
         numvar -= 9;
       }
     }
     sum += numvar;
     alt = !alt;
   }
   
   return sum % 10 == 0;
 }
 

$(document).ready(function () {
});

var fd_key_store;

function string_filter(s) {
	var filtered_values = "0123456789+";    
	var return_string = "";
	for (var i = 0; i < s.length; i++) {  // Search through string and append to unfiltered values to returnString.
	var c = s.charAt(i);
	if (filtered_values.indexOf(c) > -1) return_string += c;
	}
	return return_string;
}

function clickPaymentType(t) {
	$('#payment_type_'+t).get(0).click();
}

var currentPaymentOption = 0;

function checkPaymentType() {
	var c = $('input[name=payment_type]:checked').val();
	if (c != currentPaymentOption) {
		if (currentPaymentOption != 0) {
			$('#payment_type_'+currentPaymentOption+'_span').hide();
		}
		currentPaymentOption = c;
				
		$('#payment_type_'+currentPaymentOption+'_span').show();
	}
	
	$('#submit_button').show();
}


