$(document).ready(function() { 
    var validator = $("#joinform").validate({
        rules: {
		        u_username: {required: true, minlength: 4, alphanumeric: true},
		        u_password: {required: true, minlength: 6, password: true},
			    u_password_2: { equalTo: "#u_password" },
				c_cvv: { required:true, digits:true },
				c_number: { required:true, digits:true, creditcard: true, valid_cc: true },
				a_email: { required: true, email: true },
				a_first_name: {required: true, minlength: 2, alpha: true},
				a_last_name: {required: true, minlength: 2, alpha: true},
				a_address: "required",
				a_city: "required",
				a_country: "required",
				a_state: { required: function(element) { return ($("#a_country").val() == "US" || $("#a_country").val() == "CA" ) }},
				a_zip: { required: function(element) { return ($("#a_country").val() == "US" || $("#a_country").val() == "CA" ) }},
				a_altstate: { required: function(element) { return ($("#a_country").val() != "US" && $("#a_country").val() != "CA" ) }},
				a_altzip: { required: function(element) {	return ($("#a_country").val() != "US" && $("#a_country").val() != "CA" ) }},
				a_phone: "required",
				a_dob_ts_yr: { age_verification:true, required: true },
				a_dob_ts_mo: { age_verification:true, required: true },
				a_dob_ts_da: { age_verification:true, required: true }
		},
		groups: {
	    	fullname: "a_first_name a_last_name",
			dob: "a_dob_ts_yr a_dob_ts_mo a_dob_ts_da"
		},
		messages: {},
        errorPlacement: function(error, element) {
			if (element.attr("name") == "a_first_name" || element.attr("name") == "a_last_name" )
				error.insertAfter("#a_last_name");
			else if	(element.attr("name") == "a_dob_ts_yr" || element.attr("name") == "a_dob_ts_mo" || element.attr("name") == "a_dob_ts_da" )
				error.insertAfter("#a_dob_ts_yr");
			else if	(element.attr("name") == "cc_type")
				error.insertBefore("#cards ul");
			else
				error.insertAfter(element);
        },
		success: function(label) {
			label.remove();
		},
		submitHandler: function() {
			if($('#agreement').is(':checked')){
				if (ccCheck({popup:true})) {
					document.getElementById("joinform").submit();
				}
			} else {
				$("#agreement").focus();
				alert('You must agree with the site Terms and Conditions to continue');
				return false;
			}
		}		
    });
	
	epoch_link = CCLink + '&y_username='+$("#u_username").val() + '&y_password='+$("#u_password").val() + '&y_zip='+$("#a_zip").val() +'&y_email='+$("#a_email").val()+'&y_country='+$("#a_country").val()+'&y_name='+$("#a_first_name").val()+'%20'+$("#a_last_name").val();

	card_warning_text_en = "This card type is not eligible for a trial membership, you'll receive a lifetime membership instead.<br /><br /><strong>A one time credit card validation charge of $1.00 is required</strong>";
	switch_text_en = '<span class="warning_card_logo"><img src="http://join-st.webcams.com/images/generic_form/credit_card_logos/switch_50.png" alt="Switch" /></span><span class="warning_text">'+card_warning_text_en+'</span>';
	solo_text_en = '<span class="warning_card_logo"><img src="http://join-st.webcams.com/images/generic_form/credit_card_logos/solo_50.png" alt="Solo" /></span><span class="warning_text">'+card_warning_text_en+'</span>';
	maestro_text_en = '<span class="warning_card_logo"><img src="http://join-st.webcams.com/images/generic_form/credit_card_logos/maestro_50.png" alt="Maestro" /></span><span class="warning_text">'+card_warning_text_en+'</span>';
	electron_text_en = '<span class="warning_card_logo"><img src="http://join-st.webcams.com/images/generic_form/credit_card_logos/visa_electron_50.png" alt="Visa Electron" /></span><span class="warning_text">'+card_warning_text_en+'</span>';
	discover_text_en = '<span class="warning_card_logo"><img src="http://join-st.webcams.com/images/generic_form/credit_card_logos/discover_50.png" alt="Discover" /></span><span class="warning_text">If you are a Discover card user, please <a href="'+epoch_link+'">click here</a> to visit the join form we prepared for you!</span>';
	jcb_text_en = '<span class="warning_card_logo"><img src="http://join-st.webcams.com/images/generic_form/credit_card_logos/jcb_50.png" alt="JCB" /></span><span class="warning_text">If you are a JCB card user, please <a href="'+epoch_link+'">click here</a> to visit the join form we prepared for you!</span>';
	amex_text_en = '<span class="warning_card_logo"><img src="http://join-st.webcams.com/images/generic_form/credit_card_logos/amex_50.png" alt="American Express" /></span><span class="warning_text">We dont accept American Express as payment method, please try with another card.</span>';
	generic_text_en = '<span class="warning_text">We dont accept this card as payment method, please try with another card.</span>';
	title_problem_en = "There's a problem with the card that you selected";

	card_warning_text_es = "Esta tarjeta no es eligible para una membresía de prueba, en vez usted recibirá una membresía de por vida.<br /><br /><strong>Es requerido un único cargo de $1.00 para validar su tarjeta de credito</strong>";
	switch_text_es = '<span class="warning_card_logo"><img src="http://join-st.webcams.com/images/generic_form/credit_card_logos/switch_50.png" alt="Switch" /></span><span class="warning_text">'+card_warning_text_es+'</span>';
	solo_text_es = '<span class="warning_card_logo"><img src="http://join-st.webcams.com/images/generic_form/credit_card_logos/solo_50.png" alt="Solo" /></span><span class="warning_text">'+card_warning_text_es+'</span>';
	maestro_text_es = '<span class="warning_card_logo"><img src="http://join-st.webcams.com/images/generic_form/credit_card_logos/maestro_50.png" alt="Maestro" /></span><span class="warning_text">'+card_warning_text_es+'</span>';
	electron_text_es = '<span class="warning_card_logo"><img src="http://join-st.webcams.com/images/generic_form/credit_card_logos/visa_electron_50.png" alt="Visa Electron" /></span><span class="warning_text">'+card_warning_text_es+'</span>';
	discover_text_es = '<span class="warning_card_logo"><img src="http://join-st.webcams.com/images/generic_form/credit_card_logos/discover_50.png" alt="Discover" /></span><span class="warning_text">Si usted es un usuario de la tarjeta Discover, por favor <a href="'+epoch_link+'">haga clic aquí</a> para visitar un formulario que preparamos para usted</span>';
	jcb_text_es = '<span class="warning_card_logo"><img src="http://join-st.webcams.com/images/generic_form/credit_card_logos/jcb_50.png" alt="JCB" /></span><span class="warning_text">Si usted es un usuario de la tarjeta JCB, por favor <a href="'+epoch_link+'">haga clic aquí</a> para visitar un formulario que preparamos para usted</span>';
	amex_text_es = '<span class="warning_card_logo"><img src="http://join-st.webcams.com/images/generic_form/credit_card_logos/amex_50.png" alt="American Express" /></span><span class="warning_text">No aceptamos American Express como metodo de pago, por favor intente con otra tarjeta.</span>';
	generic_text_es = '<span class="warning_text">Esta tarjeta no es aceptada como metodo de pago, por favor intente con otro tipo de tarjeta.</span>';
	title_problem_es = "Hay un problema con la tarjeta que usted ha seleccionado";

	if ($('input[name="lang_id"]').val()=='1') {
		language = "en";
	} else if ($('input[name="lang_id"]').val()=='2') {
		language = "es";
	} else {
		language = "en";
	}

	non_recurring_code = $("#pi_code_non_recurring_temp").val();
	recurring_code = $("#pi_code_temp").val();
});

function navigateToAlternateURL() {
	window.location = epoch_link;
}

function change_pi_code(cc_type) {
	if(cc_type == "switch" || cc_type == "solo" || cc_type == "maestro" || cc_type == "electron") {
		$('input[name="pi_code"]').val(non_recurring_code);
	} else {
		$('input[name="pi_code"]').val(recurring_code);
	}
}

function change_card(options) {
	var cc_type = $(options.field).val();
	if (options.cc_type) {
		var cc_type = options.cc_type;			
		$("#cc_type").val(cc_type);
	}
	var non_recurring_code = $("#pi_code_non_recurring_temp").val();
	var recurring_code = $("#pi_code_temp").val();
	var title_problem = window['title_problem_' + language];
	
	if (options.non_recurring==false && options.accepted==true) {
		change_pi_code(cc_type);
		$('#header h3.default').show();
		$('#header h3.alt').hide();
		$('#suscription_type').val("recurring");
		return true;
	} else if (options.non_recurring==true && options.accepted==true) {
		if(cc_type == "switch" || cc_type == "solo" || cc_type == "maestro" || cc_type == "electron") {
			var content = window[cc_type + '_text_' + language];
			if(options.popup) {
				if ($("#suscription_type").val()=="non_recurring") {
					return true;
				} else {
					if (Boxy.isModalVisible()==false) {
						Boxy.confirm(content, function() {
							change_pi_code(cc_type);
							$('#header h3.default').hide();
							$('#header h3.alt').show();
							$('#suscription_type').val("non_recurring");
						},
						{ title: title_problem });
					}
					return false;
				}
			} else {
				return true;
			}
		}
	} else if (options.accepted==false) {
		if (cc_type == "amex") {
			var content = window[cc_type + '_text_' + language];
			if (Boxy.isModalVisible()==false) {
				Boxy.alert(content, function() {  }, { title: title_problem });
			}
			return false;
		} else if (cc_type == "discover" || cc_type == "jcb") {
			var content = window[cc_type + '_text_' + language];
			if (Boxy.isModalVisible()==false) {
				Boxy.confirm(content, function() { window.location = CCLink; }, { title: title_problem });
			}
			return false;
		} else {
			var content = window['generic_text_' + language];
			if (Boxy.isModalVisible()==false) {
				Boxy.alert(content, function() {  }, { title: title_problem });
			}
			return false;		
		}
	}
}