PageSourceSearch

https://www.hobbyfarms.com/wp-content/plugins/custom-payment/bluesnap.js?ver=1790241561

js hobbyfarms.com collected 2026-09-24 09:19:52 UTC 16,520 bytes, 429 lines download raw bytes

1jQuery(function($){
2	
3    
4	jQuery.validator.addMethod("customemail", 
5            function(value, element) {
6                 var pattern = new RegExp(/^[+a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i);
7                return pattern.test(value);
8            }, 
9            "Please enter valid email"
10        );
11	jQuery( 'body' ).on( 'keydown', '#creditCard',function() {
12		jQuery('#creditCard').payform('formatCardNumber');
13		var tmpval = $(this).val();
14		if(tmpval.trim().length == 1) {
15			jQuery("#card_type").removeClass();
16			jQuery("#card_type").addClass('card-icons');
17		}
18		if($.payform.parseCardType(jQuery('#creditCard').val()) && tmpval.trim().length > 1)
19		{
20			jQuery("#card_type").addClass($.payform.parseCardType(jQuery('#creditCard').val())+ '-card');
21		}
22		
23	});
24	
25	jQuery( 'body' ).on( 'focusout','#creditCard', function() {
26		var tmpval = $(this).val();
27		if(tmpval.trim().length == 0) {
28			jQuery("#card_type").removeClass();
29			jQuery("#card_type").addClass('card-icons');
30		}
31		if($.payform.parseCardType(jQuery('#creditCard').val()) && tmpval.trim().length > 1)
32		{
33			jQuery("#card_type").addClass($.payform.parseCardType(jQuery('#creditCard').val())+ '-card');
34		}
35		
36	});
37
38
39	
40	jQuery( 'body' ).on( 'keydown', '#expdate',function() {
41		jQuery('#expdate').payform('formatCardExpiry');
42	});
43	jQuery( 'body' ).on( 'keydown', '#cvv',function() {
44		jQuery('#cvv').payform('formatCardCVC');
45	});
46	
47	
48
49	var checkout_form = $( 'form.woocommerce-checkout' );
50	
51	// jQuery.validator.methods.matches = function( value, element, params ) { 
52		// console.log(value);
53		// const regex = /^[0-9()+. -]{10,16}$/;
54		// return regex.exec(value);
55	// }
56	
57	 jQuery.validator.addMethod("expiry_mm_yy", function(value, element) {
58            var sections = value.split('/');
59            if (sections.length !== 2) {
60               return false;
61            }
62            var year         = parseInt(sections[1], 10),
63                month        = parseInt(sections[0], 10),
64                currentMonth = new Date().getMonth() + 1,
65                currentYear  = new Date().getFullYear().toString().substr(-2);
66            if (month <= 0 || month > 12 || year > currentYear + 10) {
67                 console.log('Not valid');
68                return false
69            }
70
71            if (year < currentYear || (year == currentYear && month < currentMonth)) {
72                console.log('Expired');
73                // The date is expired
74                return false;
75            }
76
77            return true;
78        }, "The expiration date is not valid");
79	jQuery( 'form.checkout' ).on( 'checkout_place_order', function() {
80		
81		$( 'form.woocommerce-checkout' ).validate({
82		   rules: {
83			 billing_first_name: "required",
84			 term: "required",
85			 billing_last_name: "required",
86			 billing_address_1 : "required",
87			 billing_city : "required",
88			 billing_country: {
89                            required: true
90                        },
91                        billing_state: { required: true },
92                        billing_postcode : "required",
93                        billing_phone : {required: true, maxlength: 12,minlength: 10},
94                        order_comments : {maxlength: 1000},
95                        billing_email : {required: true,email: true},
96                        friend_shipping_email: 
97                        {
98                            required:function(element)
99                            {
100                                if(is_digital.is_digital || buy_and_gift.buy_and_gift > 0)
101                                {
102                                   return true; 
103                                }
104                                    //return true;
105                            },
106                            customemail: {
107                            depends: function(element) {
108                                return jQuery("input[name=friend_shipping_email]").length;
109                              }
110                            }
111                        },
112                        shipping_first_name: 
113                        {
114                            required:function(element)
115                            {
116                                    return ((jQuery('#ship-to-different-address-checkbox').is(':checked') || jQuery('#gift_to_subs').is(':checked')) || buy_and_gift.buy_and_gift > 0)
117                            }
118                        },
119                        shipping_last_name: 
120                        {
121                            required:function(element)
122                            {
123                                    return ((jQuery('#ship-to-different-address-checkbox').is(':checked') || jQuery('#gift_to_subs').is(':checked')) || buy_and_gift.buy_and_gift > 0 )
124                            }
125                        },
126                        shipping_address_1:
127                        {
128                            required:function(element)
129                            {
130                                    return ((jQuery('#ship-to-different-address-checkbox').is(':checked') || jQuery('#gift_to_subs').is(':checked')) || buy_and_gift.buy_and_gift > 0 )
131                            }
132                        },
133                        shipping_city:
134                        {
135                                required:function(element)
136                                {
137                                        return ((jQuery('#ship-to-different-address-checkbox').is(':checked') || jQuery('#gift_to_subs').is(':checked')) || buy_and_gift.buy_and_gift > 0 )
138                                }
139                        },
140                        shipping_state:
141                        {
142                                required:function(element)
143                                {
144                                        return ((jQuery('#ship-to-different-address-checkbox').is(':checked') || jQuery('#gift_to_subs').is(':checked')) || buy_and_gift.buy_and_gift > 0 )
145                                }
146                        },
147                        shipping_country:
148                        {
149                                required:function(element)
150                                {
151                                        return ((jQuery('#ship-to-different-address-checkbox').is(':checked') || jQuery('#gift_to_subs').is(':checked')) || buy_and_gift.buy_and_gift > 0 )
152                                }
153                        },
154                        shipping_postcode: 
155                        {
156                            required:function(element)
157                            {
158                                    return ((jQuery('#ship-to-different-address-checkbox').is(':checked') || jQuery('#gift_to_subs').is(':checked')) || buy_and_gift.buy_and_gift > 0 )
159                            }
160                        },
161			 creditCard :{
162				required : {
163				depends: function(element)
164				{
165					if(!jQuery('#payment_method_eh_paypal_express').is(':checked')){
166						if ($('input[name=added_card]').length)
167						{
168							var value = jQuery( 'input[name=added_card]:checked' ).val();
169							if(value == 'new_pay')
170							{
171								return true;
172							}
173							else
174							{
175								return false;
176							}
177						}
178						else
179						{
180							return true;
181						}
182					}else{
183						return false;
184					}
185				}
186				}
187			 },
188			  expdate :{
189				required : {
190				depends: function(element) {
191					if(jQuery('#payment_method_eh_paypal_express').is(':checked')){
192						if ($('input[name=added_card]').length) {
193						var value = jQuery( 'input[name=added_card]:checked' ).val();
194					  
195						if(value == 'new_pay')
196						{
197							return true;
198						}
199						else
200						{
201							return false;
202						}
203						}
204						else
205						{
206							return true;
207						}
208				    }else{
209				    	return false;
210				    }
211				}
212				},
213				expiry_mm_yy : {
214				depends: function(element) {
215					  	if(!jQuery('#payment_method_eh_paypal_express').is(':checked')){
216							if ($('input[name=added_card]').length) {
217								var value = jQuery( 'input[name=added_card]:checked' ).val();
218							  
219								if(value == 'new_pay')
220								{
221									return true;
222								}
223								else
224								{
225									return false;
226								}
227							}
228							else
229							{
230								return true;
231							}
232						}else{
233							return false;
234						}
235					}
236				}
237				
238			 },
239			  cvv :{
240				required : {
241				depends: function(element) {
242					var value = jQuery('#payment_method_eh_paypal_express').is(':checked');
243					if(value)
244					{
245						return false;
246					}
247					else
248					{
249						return true; 
250					}
251					
252				}
253				},
254				minlength: 3,
255			 }
256		   },
257		   messages: {
258			 billing_first_name: "Please enter first name", 
259			 billing_last_name: "Please enter last name",
260			 term : "Please accept Terms and Conditions to continue",
261			 billing_address_1 : "Please enter address",
262			 billing_city : "Please enter city",
263			 billing_postcode : "Please enter Zip",
264			 billing_country : { required: "Please select country" },
265			 billing_phone : {required: "Please enter phone",maxlength: "Please enter valid phone",minlength: "Please enter valid phone"},
266			 billing_email : {required: "Please enter email",email: "Please enter valid email"},
267			 shipping_first_name: "Please enter first name",
268			 shipping_last_name: "Please enter last name",
269			 shipping_address_1: "Please enter address",
270			 shipping_city:  "Please enter city",
271			 shipping_postcode: "Please enter Zip",
272                         
273			 creditCard: {required: "Please enter card number"},
274			 expdate: {required: "Please enter expiry date"},
275                        friend_shipping_email :
276                        {
277                            required: "Please enter recipient’s email",
278                            email : "Please enter valid email",
279                        },
280                        cvv: {required: "Please enter CVV", minlength : "Please enter valid cvv"},
281
282		   },
283			errorPlacement: function (error, element) {
284			if (element.attr("name") == "term") {
285				error.appendTo($('.term_error'));
286				//error.insertAfter($(element).parents('div').prev($('.question')));
287			}
288			else if(element.attr("name") == "billing_country")
289			{
290				error.appendTo($(element).parent('span'));
291			}
292			else {
293				// something else if it's not a checkbox
294				error.insertAfter(element);
295			}
296			},
297			invalidHandler: function(form, validator) {
298				var errors = validator.numberOfInvalids();
299				if (errors) {                    
300					validator.errorList[0].element.focus();
301				}
302			}
303		});
304		if(!checkout_form.valid())
305		{
306			if(!jQuery('#payment_method_eh_paypal_express').is(':checked')){
307                    if(jQuery('#card-element').hasClass('StripeElement--empty'))
308                   {
309                        jQuery("#card-element").next(".error").remove();
310                        jQuery( "<div class=\"error\">Please enter Card Number</div>" ).insertAfter( "#card-element");
311                   }
312                   if(jQuery('#card_expiry').hasClass('StripeElement--empty'))
313                   {
314                        jQuery("#card_expiry").next(".error").remove();
315                        jQuery( "<div class=\"error\">Please enter expiry date</div>" ).insertAfter( "#card_expiry");
316                   }
317                   if(jQuery('#card_cvc').hasClass('StripeElement--empty'))
318                   {
319                        jQuery("#card_cvc").next(".error").remove();
320                        jQuery( "<div class=\"error\">Please enter CVV</div>" ).insertAfter( "#card_cvc");
321                   }
322			 return false;
323			}else{
324				return checkout_form.valid();
325			}
326		}
327		else
328		{
329			if(jQuery('input[type=radio][name=added_card]').length == 0)
330			{
331				if(!jQuery('#payment_method_eh_paypal_express').is(':checked')){
332					if(jQuery('#card-element').hasClass('StripeElement--empty'))
333                                {
334                                     jQuery("#card-element").next(".error").remove();
335                                     jQuery( "<div class=\"error\">Please enter Card Number</div>" ).insertAfter( "#card-element");
336                                     return false;
337                                }
338                                if(jQuery('#card_expiry').hasClass('StripeElement--empty'))
339                                {
340                                     jQuery("#card_expiry").next(".error").remove();
341                                     jQuery( "<div class=\"error\">Please enter expiry date</div>" ).insertAfter( "#card_expiry");
342                                     return false;
343                                }
344                                if(jQuery('#card_cvc').hasClass('StripeElement--empty'))
345                                {
346                                     jQuery("#card_cvc").next(".error").remove();
347                                     jQuery( "<div class=\"error\">Please enter CVV</div>" ).insertAfter( "#card_cvc");
348                                     return false;
349                                }
350                                if(jQuery('#card-element').hasClass('StripeElement--invalid') || jQuery('#card_expiry').hasClass('StripeElement--invalid') || jQuery('#card_cvc').hasClass('StripeElement--invalid'))
351								{
352                                    return false;
353                                }
354                                if (jQuery('#isSubmit').length > 0) {
355                                    jQuery("#isSubmit").remove();
356                                    return true;
357                                }
358                                else
359                                {
360                                    createToken();
361                                    return false;
362                                }
363                            }
364                                
365				
366			}
367			else
368			{
369				var value = jQuery( 'input[name=added_card]:checked' ).val();
370				if(value == 'new_pay')
371				{
372					    if(!jQuery('#payment_method_eh_paypal_express').is(':checked')){
373                                    if(jQuery('#card-element').hasClass('StripeElement--empty'))
374                                    {
375                                         jQuery("#card-element").next(".error").remove();
376                                         jQuery( "<div class=\"error\">Please enter Card Number</div>" ).insertAfter( "#card-element");
377                                         return false;
378                                    }
379                                    if(jQuery('#card_expiry').hasClass('StripeElement--empty'))
380                                    {
381                                         jQuery("#card_expiry").next(".error").remove();
382                                         jQuery( "<div class=\"error\">Please enter expiry date</div>" ).insertAfter( "#card_expiry");
383                                         return false;
384                                    }
385                                    if(jQuery('#card_cvc').hasClass('StripeElement--empty'))
386                                    {
387                                         jQuery("#card_cvc").next(".error").remove();
388                                         jQuery( "<div class=\"error\">Please enter CVV</div>" ).insertAfter( "#card_cvc");
389                                         return false;
390                                    }
391                                    if(jQuery('#card-element').hasClass('StripeElement--invalid') || jQuery('#card_expiry').hasClass('StripeElement--invalid') || jQuery('#card_cvc').hasClass('StripeElement--invalid'))
392                                    {
393                                        return false;
394                                    }
395                                    if (jQuery('#isSubmit').length > 0) {
396                                        jQuery("#isSubmit").remove();
397                                        return true;
398                                    }
399                                    else
400                                    {
401                                        createToken();
402                                        return false;
403                                    }
404                                }
405				}
406				return true;
407			}
408			
409			
410		}
411		
412	});
413	
414	jQuery( document ).on( "click", ".sum", function() {
415	var value = $( 'input[name=added_card]:checked' ).val();
416	if(value == 'new_pay')
417	{
418		document.getElementById('card_details').style.display = 'block';	
419	}
420	else
421	{
422		 document.getElementById('card_details').style.display = 'none'
423	}
424	 
425	});
426	
427});
428	
429

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.