PageSourceSearch

https://omniparcelreturns.com/assets/js/custom-function.js?v=1791248449

js omniparcelreturns.com collected 2026-10-06 01:01:15 UTC 92,479 bytes, 2,460 lines download raw bytes

1/******************Extend JQuery Validation****************************************/
2$(function() {
3    //Manual Return Product Description Required
4	jQuery.validator.addMethod("checkSubStatus", function(value, element) {
5		if($('input[name="MainStatus"]:checked').val() == '1' && (!$('input[name="SubStatus"]').is(':checked'))) {
6			return false;
7		} else {
8			return true;
9		}	
10	}, "This field is required.");
11	
12	//Custom Suburb Language Check
13	jQuery.validator.addMethod("checksuburblanguage", function(value, element) {
14		var select_country = $('#country-list').find(':selected').val();
15		var country_arr = ["Australia-AU", "New Zealand-NZ", "United States-US", "Hong Kong-HK"]; 
16		var suburb_val = $('input[name="Suburb"]').val();
17		//if (suburb_val.match(/[^A-Za-z0-9]/g)) {
18		if(jQuery.inArray(select_country, country_arr) != -1){
19			if (suburb_val.match(/[^A-Za-zà-úÀ-Ú 0-9 @#$%\`'^*+=._-]/g)) {
20				return false;
21			} else {
22				return true;
23			}	
24		}
25		else{
26			return true;
27		}		
28	}, "Please select a suburb from the drop down");
29	
30	//Custom State Language Check
31	jQuery.validator.addMethod("checkstatelanguage", function(value, element) {
32		var select_country = $('#country-list').find(':selected').val();
33		var country_arr = ["Australia-AU", "New Zealand-NZ", "United States-US", "Hong Kong-HK"]; 
34		var state_val = $('input[name="State"]').val();
35		//if (state_val.match(/[^A-Za-z0-9]/g)) {
36		if(jQuery.inArray(select_country, country_arr) != -1){	
37			if (state_val.match(/[^A-Za-zà-úÀ-Ú 0-9 @#$%\`'^*+=._-]/g)) {
38				return false;
39			} else {
40				return true;
41			}	
42		}
43		else{
44			return true;
45		}		
46	}, "Please select a state from the drop down");
47	
48	//Custom Suburb Length Validation
49	jQuery.validator.addMethod("customSuburbLength", function(value, element) {
50        var selected_country_val = $('select[name="country"]').val();
51        if(selected_country_val) {
52            selected_country_val = selected_country_val.toUpperCase();
53        }
54        //console.log(selected_country_val);
55        if(selected_country_val == 'GREAT BRITAIN-GB') {
56            var suburb_val = $('input[name="Suburb"]').val();
57            //console.log(suburb_val);
58            if(suburb_val.length > 20) {
59                return false;
60            } else {
61                return true;
62            }
63        } else {
64            return true;
65        }
66	}, "Please enter no more than 20 characters.");
67    //Custom State Length Validation
68	jQuery.validator.addMethod("customStateLength", function(value, element) {
69        var selected_country_val = $('select[name="country"]').val();
70        if(selected_country_val) {
71            selected_country_val = selected_country_val.toUpperCase();
72        }
73        //console.log(selected_country_val);
74        if(selected_country_val == 'GREAT BRITAIN-GB') {
75            var state_val = $('input[name="State"]').val();
76            //console.log(state_val);
77            if(state_val.length > 20) {
78                return false;
79            } else {
80                return true;
81            }
82        } else {
83            return true;
84        }
85	}, "Please enter no more than 20 characters.");
86});
87
88function check_restrict_customer_details(){
89	//var customer_email = $('#emaildiv #email').val();
90	var customer_email = $('#email').val();
91	//var customer_email = $('#email').val();
92	var retailer_id = $('#retailer_id').val();
93	//$('.customer_restrict').html("");
94	var ajaxerror = true;
95	if(customer_email!=''){
96		$.ajax({
97			type: "POST",
98			async: false,
99			url: base_url+"bookreturn/check_restrict_customer",
100			data: {'customer_email':customer_email,'retailer_id':retailer_id},
101			//dataType: 'JSON',
102			success: function (data){
103				
104				var customer_data = $.parseJSON(data);
105				//var customer_exist = data;
106				if(customer_data.success=='1'){
107					var custom_rs = $('.customer_restrict').length;
108					if(custom_rs==0){
109						if($('#emaildiv').css('display') == 'block'){
110							$("<p class='customer_restrict' style='color:#FF392E;margin-top:10px;padding:10px;font-size:20px;word-wrap:break-word;'>There is an issue creating a return for this order. Please contact "+customer_data.retailername+" <a href='https://seko.atlassian.net/servicedesk/customer/portal/31/group/95/create/308' target='_new'>Customer Service</a></p>").insertAfter($("#emaildiv"));
111						}
112						else{
113							$("<p class='customer_restrict' style='color:#FF392E;margin-top:10px;padding:10px;font-size:20px;word-wrap:break-word;'>There is an issue creating a return for this order. Please contact "+customer_data.retailername+" <a href='https://seko.atlassian.net/servicedesk/customer/portal/31/group/95/create/308' target='_new'>Customer Service</a></p>").insertAfter($(".package-box"));
114						}
115						
116						//$("<p class='customer_restrict' style='color:#FF392E;margin-top:10px;padding:10px;font-size:20px;word-wrap:break-word;'>There is an issue creating a return for this order. Please contact "+customer_data.retailername+" <a href='https://seko.atlassian.net/servicedesk/customer/portal/31/group/95/create/308' target='_new'>Customer Service</a></p>").insertAfter($(".personaldetailsstech"));
117						//$("<p class='customer_restrict' style='color:#FF392E;margin-top:10px;padding:10px;font-size:20px;word-wrap:break-word;'>There is an issue creating a return for this order. Please contact "+customer_data.retailername+" <a href='https://seko.atlassian.net/servicedesk/customer/portal/31/group/95/create/308' target='_new'>Customer Service</a></p>").insertAfter($("#couponcode"));
118					}
119					ajaxerror = false;
120					//$('#emaildiv').insertAfter();
121					//$( "<p>There is an issue creating a return for this order. Please contact </p>" ).insertAfter( $( ".container" ) );
122					//return false;
123				}
124				else{
125					$('.customer_restrict').remove();
126				}
127			}		
128		});				
129	}
130	return ajaxerror;
131}
132
133/******************Retail form validation****************************************/
134$(function() {
135  // Initialize form validation on the registration form.
136  // It has the name attribute "registration"
137    $("form[name='booking_return_form']").validate({ 
138            
139	   errorClass   : "error-message",
140       errorElement : "p",
141		// Specify validation rules
142		 onfocusout: function (element) {
143        $(element).valid();
144	},
145	  //focusCleanup: true,
146    rules: {
147      // The key name on the left side is the name attribute
148      // of an input field. Validation rules are defined
149      // on the right side	
150		'pUnits[]': {
151			required: true,
152			min: 1 },
153		'Length[]': {
154			required: true,
155			min: 1 },
156		'Width[]': {
157			required: true,
158			min: 1 },
159		'Height[]': {
160			required: true,
161			min: 1 },
162		'Kg[]':{
163			required: true,
164			number: true,
165		min: 0.01 },
166       ordernumber: "required",
167       // ordernumber: {maxlength: 35},
168        email: {
169			required: true,
170			email: true
171        },
172        /*
173        commodities_value: {
174            required: true,
175            number: true,
176            max: 999.99
177        },	
178        */
179        /*
180        "commodities_value[]": {
181            required: true,
182            number: true,
183            max: 999.99
184        },
185        */
186		//commodities_desc:"required",
187        //"commodities_desc[]":"required",
188		//"reason[]":"required",
189        Building: {
190            maxlength: 35
191        },
192        Street: {
193            required: true,
194            maxlength: 35
195        },
196		//Street: "required",
197		country: "required",
198		fullname:"required",
199		//Suburb:"required",
200        Suburb: {
201            required: true,
202            //maxlength: 20
203            customSuburbLength: true,
204			checksuburblanguage: true
205        },
206		//State:"required",
207        State: {
208            required: true,
209            //maxlength: 20
210            customStateLength: true,
211			checkstatelanguage: true
212            
213        },
214		country:"required",
215        
216		contact:{
217			required: true,
218			number:true,
219		}, 
220		flagvis:{
221			required: true,
222			equals: 1,
223		}, 
224		Postcode:"required",
225		email: {
226			required: true,
227			email: true
228		},
229        orderpostcode: {
230			required: true,
231		},
232		couponcode:{
233			maxlength: 18,
234			minlength: 18
235			  },
236		Rtnumber:"required",
237		"p-checkbox[]": {required: true}
238    },
239    // Specify validation error messages
240    messages: {
241        'pUnits[]':{
242            required: return_required_error_br_txt+"*",
243            min: return_minimum_error_br_txt+" 1"
244        },
245		'Length[]':{
246			required: return_required_error_br_txt+"*",
247            min: return_minimum_error_br_txt+" 1"
248        },
249		'Width[]':{
250			required: return_required_error_br_txt+"*",
251            min: return_minimum_error_br_txt+" 1"
252        },
253		'Height[]':{
254            required: return_required_error_br_txt+"*",
255            min: return_minimum_error_br_txt+" 1"
256        },
257        'Kg[]':{
258			required: return_minimum_error_br_txt+" 0.01 gm",
259        },
260        ordernumber:"Order Number Required",
261        reason: return_reason_req_error_br_txt,
262        fullname: global_req_valid_error_glb_txt,
263        //Street: global_req_valid_error_glb_txt,
264		country: global_req_valid_error_glb_txt,		
265		//Suburb: global_req_valid_error_glb_txt,
266		contact: global_req_valid_error_glb_txt,
267		Postcode: global_req_valid_error_glb_txt,
268		email: global_email_valid_error_glb_txt,
269        orderpostcode: "Post code/Zip code Required",
270        commodities_value: {
271            required: return_value_req_error_br_txt,
272             number: return_value_req_error_br_txt,
273             max: "Return Value should be less than 1000."
274        },
275        "p-checkbox[]": "You must select at least one product.",
276        commodities_desc: global_req_valid_error_glb_txt,
277        contact: {
278			required: global_req_valid_error_glb_txt,
279		},
280    },
281    errorPlacement: function(error, element) {
282		$('#errordiv').html('');
283        if (element.attr("name") == "p-checkbox[]")
284        	error.appendTo('#errordiv');
285
286        else if (element.attr("name") == "productcondition[]")
287            error.insertBefore(element);
288
289        else if (element.attr("name") == "p-customerreturnaction[]")
290            error.insertBefore(element);
291        
292            
293        else
294            error.insertAfter(element);
295    },
296    // Make sure the form is submitted to the destination defined
297    // in the "action" attribute of the form when valid
298    submitHandler: function(form) {
299		
300		// trim validation for ordernumber and email
301		$('#ordernumber').val($('#ordernumber').val().trim());
302		$('input#email').val($('input#email').val().trim());
303		
304		//Check restrict customer
305		var restrict_customer = check_restrict_customer_details();
306		if(restrict_customer==false){
307			return false;
308		}
309		
310		//Start: Item reason validation
311		//console.log($('.return-item-select').length + "---" + $('.return-item-select:checked').length);
312        var RestrictFaultyItem = $('#RestrictFaultyItem').val();
313        var RestrictFaultyItemDesc = $('#RestrictFaultyItemDesc').val();
314        var FreeLabelForFaultyItem = $('#FreeLabelForFaultyItem').val();
315		var RestrictIncorrectItem = $('#RestrictIncorrectItem').val();
316		var RestrictIncorrectItemDesc = $('#RestrictIncorrectItemDesc').val();
317        //var CheckFaultyStr = "DAMAGED";
318        var CheckFaultyStrArr = ["FAULTY", "DAMAGED", "04. FAULTY GOODS", "04. FAULTY GOODS (SOILED,FAULTY)", "FAULTY/WARRANTY"];
319       	var CheckIncorrectItemStrArr = ["INCORRECT ITEM","INCORRECT ITEM RECEIVED", "03. DISPATCH ERROR", "INCORRECT ITEM RECEIVED"];
320		
321        //console.log($('input[name="commodities_value[]"]').length, $('input[name="commodities_desc[]"]').length, $('select[name="commodities_desc[]"]').length, $('select[name="reason[]"]').length);
322        if($('.return-item-select').length > 0 && $('.return-item-select:checked').length > 0) {
323            //console.log('if'); return false;
324            var item_reason_error = 0;
325            var is_faulty_reason_available = 0;
326            var is_incorrect_item_available = 0;
327			$('.product-item-blk').each(function(i) {
328				var single_product_item_blk_obj = $(this);
329				if($(this).find('.return-item-select').is(':checked')) {
330					if($(single_product_item_blk_obj).find('.return-item-reason').val() == '') {
331						$([document.documentElement, document.body]).animate({
332							scrollTop: $(single_product_item_blk_obj).find('.return-item-reason').offset().top - 100
333						}, 2000);
334						$(single_product_item_blk_obj).find('.return-item-reason').focus();
335						if($('#errordiv p.error-message').length > 0) {
336							$('#errordiv p.error-message').remove();
337						}
338						$('#errordiv').append('<p id="p-reason[]-error" class="error-message">Please provide a return reason.</p>');
339						item_reason_error = 1;
340						return false;
341                    }
342                    //if($(this).find('.return-item-reason').val().toUpperCase() == CheckFaultyStr.toUpperCase()) {
343                    if(CheckFaultyStrArr.includes($(single_product_item_blk_obj).find('.return-item-reason').val().toUpperCase())) {
344                        is_faulty_reason_available = 1;
345                    }
346					if(CheckIncorrectItemStrArr.includes($(single_product_item_blk_obj).find('.return-item-reason').val().toUpperCase())) {
347                        is_incorrect_item_available = 1;
348                    }
349					
350				}
351            });
352            if(RestrictFaultyItem == 1) {
353                if(is_faulty_reason_available) {
354                    //alert(RestrictFaultyItemDesc);
355                    $('#faulty_reason_validate_modal_message').html(RestrictFaultyItemDesc);
356                    $('#faulty_reason_validate_modal').modal();
357                }
358                if(item_reason_error || is_faulty_reason_available) {
359                    return false;
360                }
361            } else {
362                if(item_reason_error) {
363                    return false;
364                }
365            }
366			 if(RestrictIncorrectItem == 1) {
367                if(is_incorrect_item_available) {
368                    //alert(RestrictFaultyItemDesc);
369                    $('#incorrect_item_validate_modal_message').html(RestrictIncorrectItemDesc);
370                    $('#incorrect_item_validate_modal').modal();
371                }
372                if(item_reason_error || is_incorrect_item_available) {
373                    return false;
374                }
375            } else {
376                if(item_reason_error) {
377                    return false;
378                }
379            }
380        } else if($('input[name="commodities_value[]"]').length > 0 && ($('input[name="commodities_desc[]"]').length > 0 || $('select[name="commodities_desc[]"]').length > 0) && $('select[name="reason[]"]').length > 0) {
381            if(($('#personal_detail').is(':visible'))) {
382                var commodities_value_obj = $('input[name="commodities_value[]"]');
383                if($('select[name="commodities_desc[]"]').length > 0) {
384                    var commodities_desc_obj = $('select[name="commodities_desc[]"]');
385                } else {
386                    var commodities_desc_obj = $('input[name="commodities_desc[]"]');
387                }
388                var reason_obj = $('select[name="reason[]"]');
389                //Start: Validation for restrict faulty item
390                if(RestrictFaultyItem == 1) {
391                    var is_faulty_reason_available = 0;
392                    reason_obj.each(function( i ) {
393                        //alert($('#reasonid').val());
394                        var ReturnReasons = $(reason_obj[i]).val();
395						if(CheckFaultyStrArr.includes(ReturnReasons.toUpperCase())) {
396							is_faulty_reason_available = 1;
397						}
398						/*
399                        //ReturnReasons = ReturnReasons.map(function(x){ return x.toUpperCase() });
400                        //console.log(ReturnReasons);
401                        //var reasonsArr = ReturnReasons.split(',');
402						CheckFaultyStrArr.forEach(function(CheckFaultyStr) {
403                            //console.log(CheckFaultyStr);
404                            if(ReturnReasons.indexOf(CheckFaultyStr) > -1) {
405                                is_faulty_reason_available = 1;
406                            }
407                        });
408						*/
409                    });
410                    if(is_faulty_reason_available) {
411                        $('#faulty_reason_validate_modal_message').html(RestrictFaultyItemDesc);
412                        $('#faulty_reason_validate_modal').modal();
413                        return false;
414                    }
415                }
416				if(RestrictIncorrectItem == 1) {
417                    var is_incorrect_item_available = 0;
418                    reason_obj.each(function( i ) {
419                        //alert($('#reasonid').val());
420                        var ReturnReasons = $(reason_obj[i]).val();
421						if(CheckIncorrectItemStrArr.includes(ReturnReasons.toUpperCase())) {
422							is_incorrect_item_available = 1;
423						}
424						
425                    });
426                    if(is_incorrect_item_available) {
427                        $('#incorrect_item_validate_modal_message').html(RestrictIncorrectItemDesc);
428                        $('#incorrect_item_validate_modal').modal();
429                        return false;
430                    }
431                }
432                //End: Validation for restrict faulty item
433                //Start: Validation for commodity value, commodity description and reason
434                var custom_error = 0;
435                commodities_value_obj.each(function( i ) {
436                    if($(commodities_value_obj[i]).val() == '') {
437                        $(commodities_value_obj[i]).addClass('error-message');
438                        $(commodities_value_obj[i]).next('p.custom-error-message').remove();
439                        $(commodities_value_obj[i]).after('<p class="custom-error-message error-message">This field is required.</p>');
440                        custom_focus_element(custom_error, commodities_value_obj[i]);
441                        custom_error++;
442                    } else if(!$.isNumeric($(commodities_value_obj[i]).val())) {
443                        $(commodities_value_obj[i]).addClass('error-message');
444                        $(commodities_value_obj[i]).next('p.custom-error-message').remove();
445                        $(commodities_value_obj[i]).after('<p class="custom-error-message error-message">Please enter a valid number.</p>');
446                        custom_focus_element(custom_error, commodities_value_obj[i]);
447                        custom_error++;
448                    } else if($(commodities_value_obj[i]).val() > 999.99) {
449                        $(commodities_value_obj[i]).addClass('error-message');
450                        $(commodities_value_obj[i]).next('p.custom-error-message').remove();
451                        $(commodities_value_obj[i]).after('<p class="custom-error-message error-message">Return Value should be less than 1000.</p>');
452                        custom_focus_element(custom_error, commodities_value_obj[i]);
453                        custom_error++;
454                    } else if($(commodities_value_obj[i]).val() != '') {
455                        $(commodities_value_obj[i]).removeClass('error-message');
456                        $(commodities_value_obj[i]).next('p.custom-error-message').remove();
457                    }
458                    if($(commodities_desc_obj[i]).val() == '') {
459                        $(commodities_desc_obj[i]).addClass('error-message');
460                        $(commodities_desc_obj[i]).next('p.custom-error-message').remove();
461                        $(commodities_desc_obj[i]).after('<p class="custom-error-message error-message">This field is required.</p>');
462                        custom_focus_element(custom_error, commodities_desc_obj[i]);
463                        custom_error++;
464                    } else if($(commodities_desc_obj[i]).val() != '') {
465                        $(commodities_desc_obj[i]).removeClass('error-message');
466                        $(commodities_desc_obj[i]).next('p.custom-error-message').remove();
467                    }
468                    if($(reason_obj[i]).val() == '') {
469                        $(reason_obj[i]).addClass('error-message');
470                        $(reason_obj[i]).next('p.custom-error-message').remove();
471                        $(reason_obj[i]).after('<p class="custom-error-message error-message">This field is required.</p>');
472                        custom_focus_element(custom_error, reason_obj[i]);
473                        custom_error++;
474                    } else if($(reason_obj[i]).val() != '') {
475                        $(reason_obj[i]).removeClass('error-message');
476                        $(reason_obj[i]).next('p.custom-error-message').remove();
477                    }
478                });
479                //End: Validation for commodity value, commodity description and reason
480                //alert($('#reasonid').val());
481                if(custom_error != 0) {
482                    //console.log('else if 1'); return false;
483                    return false;
484                }
485                //console.log('else if 1 in'); return false;
486            }
487            //console.log('else if 1 out'); return false;
488        } else if($('#reasonid').length > 0 && $('#reasonid').val()) {
489            //console.log('else if 2'); return false;
490            //alert($('#reasonid').val());
491            if(RestrictFaultyItem == 1) {
492                //alert($('#reasonid').val());
493                var ReturnReasons = $('#reasonid').val();
494                ReturnReasons = ReturnReasons.map(function(x){ return x.toUpperCase() });
495                //console.log(ReturnReasons);
496                //var reasonsArr = ReturnReasons.split(',');
497                var is_faulty_reason_available = 0;
498                CheckFaultyStrArr.forEach(function(CheckFaultyStr) {
499                    //console.log(CheckFaultyStr);
500                    if(ReturnReasons.indexOf(CheckFaultyStr) > -1) {
501                        is_faulty_reason_available = 1;
502                    }
503                });
504                if(is_faulty_reason_available) {
505                    $('#faulty_reason_validate_modal_message').html(RestrictFaultyItemDesc);
506                    $('#faulty_reason_validate_modal').modal();
507                    return false;
508                }
509            }
510			  if(RestrictIncorrectItem == 1) {
511                //alert($('#reasonid').val());
512                var ReturnReasons = $('#reasonid').val();
513                ReturnReasons = ReturnReasons.map(function(x){ return x.toUpperCase() });
514                //console.log(ReturnReasons);
515                //var reasonsArr = ReturnReasons.split(',');
516                var is_incorrect_item_available = 0;
517                CheckIncorrectItemStrArr.forEach(function(CheckIncorrectItemStrArr) {
518                    //console.log(CheckIncorrectItemStrArr);
519                    if(ReturnReasons.indexOf(CheckIncorrectItemStrArr) > -1) {
520                        is_incorrect_item_available = 1;
521                    }
522                });
523                if(is_incorrect_item_available) {
524                  $('#incorrect_item_validate_modal_message').html(RestrictIncorrectItemDesc);
525				  $('#incorrect_item_validate_modal').modal();
526                    return false;
527                }
528            }
529        }
530		//alert($('#personal_detail').is(':visible'));
531		if(!($('#personal_detail').is(':visible'))){
532
533            if($('#customer_return_id').val() !=''){
534				/*Start code for google analytics*/
535				var event_category ='Return Creation'; // event category	
536				var event_action='Click';
537				var event_lable='Product selection';
538				call_google_event(event_category,event_action,event_lable);
539				/*end code for google analytics*/
540                $('.product-type-list').hide("slow");
541                $('#personal_detail').show('slow'); return false;
542            }else{
543                
544                /*if($('#AP21ApiEnable').val() == 1) {
545                    getap21order();
546                    return false;
547                } else {
548                    getorporder();
549                    return false;
550                }
551                */
552                
553                if($('#AP21ApiEnable').val() == 1) {
554                    getap21order();
555                    return false;
556                }
557                else{
558                    var retailerid = $("#retailer_id").val();
559                    
560                    var check_integration = check_shopify_integration(retailerid);
561                    if(check_integration==false){
562                        getorporder();
563                        return false;
564                    }   
565                    else{
566                        getshopifyorder();
567                        return false;
568                    }
569				}
570            }
571
572            
573           /* if($('#AP21ApiEnable').val() == 1) {
574                getap21order();
575                return false;
576            } else {
577                getorporder();
578			    return false;
579            } */
580		}
581        //End: Item reason validation
582        /*
583        //End: Return Review Order
584        var is_review_enable = 0;
585        $('input[name="is_review_enable[]"]').each(function(i) {
586            if($(this).val() == '1') {
587                is_review_enable++;
588            }
589        });
590        console.log('is_review_enable => ' + is_review_enable);
591        if(is_review_enable > 0) {
592            $('#IsReviewEnable').val('1');
593        }
594        //End: Return Review Order
595        */
596        if($('#Building').val() != '') {
597            //console.log('pre -> ',$('#Building').val());
598            $('#Building').val($('#Building').val().trim());
599            //console.log('pre -> ',$('#Building').val());
600            //return false;
601        }
602        //Start: Reason Settings Validations
603        var return_order_review_error = get_return_order_review_error();
604        //alert(return_order_review_error);
605        if(return_order_review_error > 0) {
606            return false;
607        }
608        //End: Reason Settings Validations
609		//console.log('Success');
610		//return false;
611	 /*Start code for google analytics*/
612		var event_category ='Return Creation'; // event category	
613		var event_action='Click';
614		var event_lable='Personal details';
615		call_google_event(event_category,event_action,event_lable);
616		/*end code for google analytics*/
617	  order_return_reg();
618	  //form.submit();
619    }
620  });
621});
622
623function check_shopify_integration(retailerid){
624    if(retailerid != ''){
625        var checkval=true;
626		$.ajax({
627				url: base_url+"bookreturn/check_shopify_retailer_integration",
628				type:'POST',
629                async: false,
630				data:{retailer:retailerid},
631				success:function(result){
632				  var res = $.parseJSON(result);
633                  //console.log(res);return false;
634                   if(res.Success==0){
635                       checkval = false;
636                       //console.log('before',checkval);
637                   }                    
638				}
639		});
640        //console.log('after',checkval);
641        return checkval;
642    }
643}
644
645function custom_focus_element(error, obj) {
646    if(error == 0) {
647        $(obj).focus();
648        /*$([document.documentElement, document.body]).animate({
649            scrollTop: $(obj).offset().top
650        }, 2000);*/
651    }
652}
653
654/****************Get shopify Orders *****************/
655function getshopifyorder(){
656	var ordernumber = $('#ordernumber').val();
657	var email = $('input#email').val();
658    var retailerid  = $('#retailer_id').val();
659    var order_look_up = $('#OrderLookUp').val();
660    var postcode = $('#orderpostcode').val();
661	if(ordernumber !='' && (email!='' || postcode!='')){
662	$.ajax({
663		type: "POST",
664		url: base_url+"bookreturn/get_shopfiy_order_details",
665		data: {'email':email,"ordernumber":ordernumber,'retailerid':retailerid,'order_look_up':order_look_up,'postcode':postcode},
666		beforeSend: function() {
667        // setting a timeout
668			$('#preloader').show();
669		},
670		success: function (data){
671            //console.log(data);
672			/*Start code for google analytics*/
673			var event_category ='Return Creation'; // event category	
674			var event_action='Click';
675			var event_lable='Order look up';
676			call_google_event(event_category,event_action,event_lable);
677			/*end code for google analytics*/
678			$('#orderInfo').html('');
679			$('#flagvis').val(0);
680			var ret_id=$('#retailer_id').val();
681			$("#personal_detail").hide("slow");			
682			$('.product-type-list').show("slow");
683			//// Change innertext of submit button for Hello Molly ////
684			if(ret_id=='193'){
685				nextarrows.innerText = "SUBMIT";
686			}
687			var json = $.parseJSON(data);
688			
689			if(json.html!=''){		
690            $('.product-type-list').html(json.html);
691            
692             /*Disable email and ordernumebr field*/
693             $('#ordernumber').attr('readonly',true);
694             //$('#email').attr('readonly',true);
695             if($('#OrderLookUp').val() == '2') {
696                $('#orderpostcode').attr('readonly',true);
697             } else {
698                $('#email').attr('readonly',true);
699             }
700             
701
702			order_address = json.address;
703			const cname=order_address.CustomerName;
704			var customerName='';
705			if(cname!=''&& cname !== null){
706			var customerName=cname.replace(/[^A-Za-z0-9,\s\/_-]/g, "");
707			}
708			const building=order_address.building;
709			var newBuilding='';
710			if(building!='' && building !== null){
711			var newBuilding=building.replace(/[^A-Za-z0-9,\s\/_-]/g, "");
712			}
713			const street=order_address.street;
714			var newstreet='';
715			if(street!='' && street !== null){
716			var newstreet=street.replace(/[^A-Za-z0-9,\s\/_-]/g, "");
717			}
718			$('#fullname').val(customerName);
719			$('#Building').val(newBuilding);
720			$('#Street').val(newstreet);
721			$('#country-list option:contains('+'-'+order_address.country+')').prop("selected","selected");
722			$('#postalcode').val(order_address.zipcode);
723			$('#city_id').val(order_address.suburb);	
724			$('#state').val(order_address.state);
725			$('#ordernumber').removeClass('inputform ');
726            if($('#OrderLookUp').val() == '2') {
727                $('#email').val(order_address.email);
728                $('#orderpostcode').removeClass('inputform ');
729            } else {
730                $('#email').removeClass('inputform ');
731            }
732			$('#orderdiv').addClass('col-md-6 col-sm-12 col-xs-12');
733			$('#emaildiv').addClass('col-md-6 col-sm-12 col-xs-12');
734				$('input,select').each(function(){
735					if($(this).hasClass( "add_disable" )){
736						$(this).attr('disabled',false);
737					}	
738				});
739
740				$('#commodities-details input').each(function(){
741					$(this).attr('disabled',true);
742				});
743				$('#commodities-details').hide();
744                $('.default-reason-list').hide();
745                $('#add_new_return_item_block').hide();
746				setTimeout(function() {$('#email').focus();}, 10);
747				//$('input[name="commodities_value"]').focus();
748				//$('#commodities_value').focus();
749                /*
750                if($('#IsProofOfPurchase').val() == '1') {
751                    $('.proof_of_purchase').css('margin-top', '20px').show();
752                }
753                */
754			}else{
755                //getorporder();
756				$('.product-type-list').html('');
757				$('input,select').each(function(){
758					if($(this).hasClass( "add_disable" )){
759						$(this).attr('disabled',true);
760						$('#erroprddiv').show("slow");
761                        if($('#OrderLookUp').val() == '2') {
762                            $('#erroprddiv').html('<h3>Please check the Order Number and post code/zip code matches order information.</h3>')
763                        } else {
764                            $('#erroprddiv').html('<h3>No Details found related to your Order number and Email entered. Please correct them and try again.</h3>')
765                        }
766						$('#nextarrows').prop('disabled', true);
767					}
768				});
769
770				$('#fullname').val('');
771				$('#Street').val('');
772				$('#country-list option').prop("selected","");
773				$('#postalcode').val('');
774				$('#city_id').val('');	
775				$('#state').val('');
776				$('#Building').val('');
777                $('.default-reason-list').show("slow");
778                $('#add_new_return_item_block').show('slow');
779				$("#personal_detail").show("slow");
780				$('#orderdiv').addClass('col-md-6 col-sm-12 col-xs-12');
781				$('#emaildiv').addClass('col-md-6 col-sm-12 col-xs-12');
782				$('#ordernumber').removeClass('inputform ');
783				$('#email').removeClass('inputform ');
784                $('#orderpostcode').removeClass('inputform ');
785				$('#flagvis').val(1);
786				$('#preloader').hide();
787				$('#commodities-details').show();
788				setTimeout(function() {$('input[name="commodities_value"]').focus();}, 10);
789				//$('input[name="commodities_value"]').focus();
790				//$('#commodities_value').focus();
791				if($('#IsProofOfPurchase').val() == '1') {
792                    $('.proof_of_purchase').css('margin-top', '20px').show();
793                }
794                if($('#OrderLookUp').val() == '2' && $('#OrderLevel').val() == 'Allow Both') {
795                    $('#orderdiv').removeClass('col-md-6');
796                    $('#orderdiv').addClass('col-md-12');
797			        $('#emaildiv').hide();
798                    $('#postalcode').val( $('#orderpostcode').val() );
799                }
800			}
801			$('#preloader').hide();
802			
803		}	
804        });
805    }
806}
807	
808/****************Get orp Orders *****************/
809function getorporder(){
810	var ordernumber = $('#ordernumber').val();
811	var email = $('input#email').val();
812    var retailerid  = $('#retailer_id').val();
813    var order_look_up = $('#OrderLookUp').val();
814    var postcode = $('#orderpostcode').val();
815	if(ordernumber !='' && (email!='' || postcode!='')){
816
817	$.ajax({
818		type: "POST",
819		url: base_url+"bookreturn/get_orp_ftp_order",
820		data: {'email':email,"ordernumber":ordernumber,'retailerid':retailerid,'order_look_up':order_look_up,'postcode':postcode},
821		beforeSend: function() {
822        // setting a timeout
823			$('#preloader').show();
824		},
825		success: function (data){
826			/*Start code for google analytics*/
827			var event_category ='Return Creation'; // event category	
828			var event_action='Click';
829			var event_lable='Order look up';
830			call_google_event(event_category,event_action,event_lable);
831			/*end code for google analytics*/
832			$('#orderInfo').html('');
833			$('#flagvis').val(0);
834			var ret_id=$('#retailer_id').val();
835			$("#personal_detail").hide("slow");			
836			$('.product-type-list').show("slow");
837			//// Change innertext of submit button for Hello Molly ////
838			if(ret_id=='193'){
839				nextarrows.innerText = "SUBMIT";
840			}
841			var json = $.parseJSON(data);
842			//alert(json.html);
843			if(json.html!=''){		
844            $('.product-type-list').html(json.html);
845            
846             /*Disable email and ordernumebr field*/
847             $('#ordernumber').attr('readonly',true);
848             //$('#email').attr('readonly',true);
849             if($('#OrderLookUp').val() == '2') {
850                $('#orderpostcode').attr('readonly',true);
851             } else {
852                $('#email').attr('readonly',true);
853             }
854             
855
856			order_address = json.address;
857			const cname=order_address.CustomerName;
858			var customerName='';
859			if(cname!=''&& cname !== null){
860			//var customerName=cname.replace(/[^A-Za-z0-9,\s\/_-]/g, "");
861			var customerName=cname.replace(/^[{\p{L}}{0-9}]$[^A-Za-z0-9,\\/_-]/g, "");
862			}
863			const building=order_address.building;
864			var newBuilding='';
865			if(building!='' && building !== null){
866			//var newBuilding=building.replace(/[^A-Za-z0-9,\s\/_-]/g, "");
867			var newBuilding=building.replace(/^[{\p{L}}{0-9}]$[^A-Za-z0-9,\\/_-]/g, "");
868			}
869			const street=order_address.street;
870			var newstreet='';
871			if(street!='' && street !== null){
872			//var newstreet=street.replace(/[^A-Za-z0-9,\s\/_-]/g, "");
873			var newstreet=street.replace(/^[{\p{L}}{0-9}]$[^A-Za-z0-9,\\/_-]/g, "");
874			}
875            const contactno=order_address.contact_number;
876			var cucontactno='';
877			if(contactno!='' && contactno !== null && contactno !== undefined){
878			var cucontactno=contactno.replace(/[^A-Za-z0-9,\s\/_-]/g, "");
879			}
880            $('#contact').val(cucontactno);
881
882			var customerName=customerName.substring(0, 34);
883			$('#fullname').val(customerName);
884			$('#Building').val(newBuilding);
885			$('#Street').val(newstreet);
886			$('#country-list option:contains('+'-'+order_address.country+')').prop("selected","selected");
887			$('#postalcode').val(order_address.zipcode);
888			$('#city_id').val(order_address.suburb);	
889			$('#state').val(order_address.state);
890			$('#ordernumber').removeClass('inputform ');
891            if($('#OrderLookUp').val() == '2') {
892                $('#email').val(order_address.email);
893                $('#orderpostcode').removeClass('inputform ');
894            } else {
895                $('#email').removeClass('inputform ');
896            }
897			$('#orderdiv').addClass('col-md-6 col-sm-12 col-xs-12');
898			$('#emaildiv').addClass('col-md-6 col-sm-12 col-xs-12');
899				$('input,select').each(function(){
900					if($(this).hasClass( "add_disable" )){
901						$(this).attr('disabled',false);
902					}	
903				});
904
905				$('#commodities-details input').each(function(){
906					$(this).attr('disabled',true);
907				});
908				$('#commodities-details').hide();
909                $('.default-reason-list').hide();
910                $('#add_new_return_item_block').hide();
911				setTimeout(function() {$('#email').focus();}, 10);
912				//$('input[name="commodities_value"]').focus();
913				//$('#commodities_value').focus();
914                /*
915                if($('#IsProofOfPurchase').val() == '1') {
916                    $('.proof_of_purchase').css('margin-top', '20px').show();
917                }
918                */
919			}else{
920				$('.product-type-list').html('');
921				$('input,select').each(function(){
922					if($(this).hasClass( "add_disable" )){
923						$(this).attr('disabled',true);
924						$('#erroprddiv').show("slow");
925                        if($('#OrderLookUp').val() == '2') {
926                            $('#erroprddiv').html('<h3>Please check the Order Number and post code/zip code matches order information.</h3>')
927                        } else {
928                            $('#erroprddiv').html('<h3>No Details found related to your Order number and Email entered. Please correct them and try again.</h3>')
929                        }
930						$('#nextarrows').prop('disabled', true);
931					}
932				});
933
934				$('#fullname').val('');
935				$('#Street').val('');
936				$('#country-list option').prop("selected","");
937				$('#postalcode').val('');
938				$('#city_id').val('');	
939				$('#state').val('');
940				$('#Building').val('');
941                $('.default-reason-list').show("slow");
942                $('#add_new_return_item_block').show('slow');
943				$("#personal_detail").show("slow");
944				$('#orderdiv').addClass('col-md-6 col-sm-12 col-xs-12');
945				$('#emaildiv').addClass('col-md-6 col-sm-12 col-xs-12');
946				$('#ordernumber').removeClass('inputform ');
947				$('#email').removeClass('inputform ');
948                $('#orderpostcode').removeClass('inputform ');
949				$('#flagvis').val(1);
950				$('#preloader').hide();
951				$('#commodities-details').show();
952				setTimeout(function() {$('input[name="commodities_value"]').focus();}, 10);
953				//$('input[name="commodities_value"]').focus();
954				//$('#commodities_value').focus();
955				if($('#IsProofOfPurchase').val() == '1') {
956                    $('.proof_of_purchase').css('margin-top', '20px').show();
957                }
958                if($('#OrderLookUp').val() == '2' && $('#OrderLevel').val() == 'Allow Both') {
959                    $('#orderdiv').removeClass('col-md-6');
960                    $('#orderdiv').addClass('col-md-12');
961			        $('#emaildiv').hide();
962                    $('#postalcode').val( $('#orderpostcode').val() );
963                }
964			}
965			$('#preloader').hide();
966			
967		}	
968	});
969}
970
971}
972
973function getap21order() {
974	
975	var ordernumber = $('#ordernumber').val();
976	var email = $('input#email').val();
977    var retailerid  = $('#retailer_id').val();
978    var ap21_api_enable = $('#AP21ApiEnable').val();
979    var ap21_person_id = $('#AP21PersonId').val();
980    var ap21_order_id = $('#AP21OrderId').val();
981	
982	
983		if((ordernumber != '' && email != '') || (ap21_api_enable == '1' && (ap21_person_id != '1' && ap21_person_id != ''))) {
984		
985        $.ajax({
986            type: "POST",
987            url: base_url+"bookreturn/get_ap21_order",
988            data: { 'email':email, "ordernumber":ordernumber, 'retailerid':retailerid, "ap21_api_enable":ap21_api_enable, "ap21_person_id":ap21_person_id, "ap21_order_id":ap21_order_id,'grecaptcharesponse': grecaptcha.getResponse() },
989            beforeSend: function() {
990                // setting a timeout
991                $('#preloader').show();
992            },
993            success: function (data) {
994                $('#orderInfo').html('');
995                $('#flagvis').val(0);
996                var json = $.parseJSON(data);
997                //console.log(json);
998				/*Start code for google analytics*/
999				var event_category ='Return Creation'; // event category	
1000				var event_action='Click';
1001				var event_lable='Order look up';
1002				call_google_event(event_category,event_action,event_lable);
1003				/*end code for google analytics*/
1004                if(json.html != '' && json.method == 'ap21_order_list' && json.success == '1') {
1005
1006                    /*Disable email and ordernumebr field*/
1007                    $('#ordernumber').attr('readonly',true);
1008                    $('#email').attr('readonly',true);
1009
1010
1011					$('#g-recaptcha').css('display','none');
1012                    $('#AP21PersonId').val(json.ap21_person_id);
1013                    $('#AP21OrderId').val(json.ap21_order_id);
1014
1015                    $('#nextarrows').hide();
1016
1017                    $("#personal_detail").hide("slow");
1018                    $('#ap21_person_order_list').show("slow");
1019                    $('.product-type-list').hide("slow");
1020
1021                    $('#ap21_person_order_list').html(json.html);
1022
1023                    $('#ordernumber').removeClass('inputform ');
1024                    $('#email').removeClass('inputform ');
1025                    $('#orderdiv').addClass('col-md-6 col-sm-12 col-xs-12');
1026                    $('#emaildiv').addClass('col-md-6 col-sm-12 col-xs-12');
1027
1028                    $('#add_new_return_item_block').hide();
1029					
1030					$('#erroprddiv').hide("slow");
1031					
1032                    setTimeout(function() { $('#email').focus(); }, 10);
1033                    /*
1034                    if($('#IsProofOfPurchase').val() == '1') {
1035                        $('.proof_of_purchase').css('margin-top', '20px').show();
1036                    }
1037                    */
1038                } else if(json.html != '' && json.method == 'ap21_order_detail'  && json.success == '1') {
1039
1040                      /*Disable email and ordernumebr field*/
1041                      $('#ordernumber').attr('readonly',true);
1042                      $('#email').attr('readonly',true);
1043
1044                      
1045					$('#g-recaptcha').css('display','none');
1046                    $('#AP21PersonId').val(json.ap21_person_id);
1047                    $('#AP21OrderId').val(json.ap21_order_id);
1048
1049                    $('#nextarrows').show();
1050
1051                    $("#personal_detail").hide("slow");
1052                    $('#ap21_person_order_list').hide("slow");
1053                    $('.product-type-list').show("slow");
1054
1055                    $('.product-type-list').html(json.html);
1056                    order_address = json.address;
1057					
1058					const cname=order_address.CustomerName;
1059					var customerName='';
1060					if(cname!=''&& cname !== null){
1061					var customerName=cname.replace(/[^a-zA-Z0-9, ]/g, "");
1062					}
1063					const building=order_address.building;
1064					var newBuilding='';
1065					if(building!='' && building !== null){
1066					var newBuilding=building.replace(/[^a-zA-Z0-9, ]/g, "");
1067					}
1068					const street=order_address.street;
1069					var newstreet='';
1070					if(street!='' && street !== null){
1071					var newstreet=street.replace(/[^a-zA-Z0-9, ]/g, "");
1072					}
1073					var customerName=customerName.substring(0, 34);
1074                    $('#fullname').val(customerName);
1075                    $('#Building').val(newBuilding);
1076                    $('#Street').val(newstreet);
1077                    $('#country-list option:contains('+'-'+order_address.country+')').prop("selected","selected");
1078                    $('#postalcode').val(order_address.zipcode);
1079                    $('#city_id').val(order_address.suburb);	
1080                    $('#state').val(order_address.state);
1081                    $('#contact').val(order_address.contact_number);
1082                    $('#ordernumber').removeClass('inputform ');
1083                    $('input#ordernumber').val(order_address.order_number);
1084                    $('#email').removeClass('inputform ');
1085                    $('input#email').val(order_address.email);
1086                    $('#orderdiv').addClass('col-md-6 col-sm-12 col-xs-12');
1087                    $('#emaildiv').addClass('col-md-6 col-sm-12 col-xs-12');
1088                    $('input,select').each(function() {
1089                        if($(this).hasClass( "add_disable" )) {
1090                            $(this).attr('disabled',false);
1091                        }	
1092                    });
1093
1094                    $('#commodities-details input').each(function() {
1095                        $(this).attr('disabled',true);
1096                    });
1097                    $('#commodities-details').hide();
1098                    $('.default-reason-list').hide();
1099                    $('#add_new_return_item_block').hide();
1100					
1101					$('#erroprddiv').hide("slow");
1102					
1103                    setTimeout(function() { $('#email').focus(); }, 10);
1104                } else if(json.html != '' && json.method == 'recaptcha') {
1105					
1106					 $('#recaptchareasonmsg').css('display','block');
1107					$('#recaptchareasonmsg').html(json.html);
1108				} else {
1109					 $('#g-recaptcha').css('display','none');
1110                    $('#AP21PersonId').val("0");
1111                    $('#AP21OrderId').val("0");
1112
1113                    $('#nextarrows').show();
1114					
1115                    $('.product-type-list').html('');
1116					var error_message = 'No Details found related to your Order number and Email entered or the selected Order. Please correct them and try again.';
1117					if(json.html != '') {
1118						var error_message = json.html;
1119					}
1120                    $('input,select').each(function() {
1121                        if($(this).hasClass( "add_disable" )) {
1122                            $(this).attr('disabled',true);
1123                            $('#erroprddiv').show("slow");
1124                            $('#erroprddiv').html('<h3>' + error_message + '</h3>');
1125							if(json.html != '') {
1126								$('#erroprddiv').find('div.alert').attr('class', '');
1127							}
1128                            $('#nextarrows').prop('disabled', true);
1129                        }
1130                    });
1131
1132                    $('#fullname').val('');
1133                    $('#Street').val('');
1134                    $('#country-list option').prop("selected","");
1135                    $('#postalcode').val('');
1136                    $('#city_id').val('');	
1137                    $('#state').val('');
1138                    $('#contact').val('');
1139                    $('#Building').val('');
1140                    $('.default-reason-list').show("slow");
1141                    $('#add_new_return_item_block').show('slow');
1142                    $("#personal_detail").show("slow");
1143                    $('#orderdiv').addClass('col-md-6 col-sm-12 col-xs-12');
1144                    $('#emaildiv').addClass('col-md-6 col-sm-12 col-xs-12');
1145                    $('#ordernumber').removeClass('inputform ');
1146                    $('#email').removeClass('inputform ');
1147                    $('#flagvis').val(1);
1148                    $('#preloader').hide();
1149                    $('#commodities-details').show();
1150                    setTimeout(function() {$('input[name="commodities_value"]').focus();}, 10);
1151                    //$('input[name="commodities_value"]').focus();
1152                    //$('#commodities_value').focus();
1153                }
1154                $('#preloader').hide();
1155            }
1156        });
1157    }
1158	
1159}
1160
1161/**
1162 * Get AP21 Order Detail
1163 */
1164function get_ap21_order_detail(ap21_person_id, ap21_order_id) {
1165    $('#AP21PersonId').val(ap21_person_id);
1166    $('#AP21OrderId').val(ap21_order_id);
1167    if($('#AP21ApiEnable').val() == 1) {
1168        getap21order();
1169        return false;
1170    } else {
1171        getorporder();
1172        return false;
1173    }
1174}
1175
1176/*********** order_return_reg function *******************/               
1177function order_return_reg() {
1178    if(!validate_address()){
1179        return false;
1180    }
1181	var email = $('#email').val();
1182	var IdUser = $('#IdUser').val();
1183	if(!email || !IdUser){
1184		var status = $("#check_user").val();
1185    }
1186    
1187   
1188	if(IdUser==''){
1189		
1190		$.ajax({
1191			type: "POST",
1192			url: base_url+"bookreturn/check_user",
1193			data: {'email':email},
1194			dataType: 'JSON',
1195			
1196			success: function (data){
1197				//alert(data); return false;
1198			//	var lb = new $.LoadingBox({loadingImageSrc: base_url+"assets/img/loader-img.gif",});
1199			//	lb.close();
1200				if(data.IdUser != ''){					
1201					$("#IdUser").val(data.IdUser);
1202					var IdUser = $('#IdUser').val();
1203                }
1204                BookReturn(email);
1205			}			
1206		});		
1207    }else if(email){
1208        BookReturn(email);
1209    } 
1210//alert(email+' => '+IdUser+' => '+status); //return false;
1211 
1212}
1213
1214
1215
1216function BookReturn(email){
1217    if (email) {
1218        var postData = $("#booking_return_form").serialize();
1219		//alert (postData);
1220        $.ajax({
1221            type: "POST",
1222            url: base_url + "bookreturn/return_registration",
1223            data: postData,
1224            dataType: 'JSON',
1225            beforeSend: function() {
1226                $("#cardSubmitBtn").val('Processing....');
1227                var lb = new $.LoadingBox({
1228                    loadingImageSrc: base_url + "assets/img/loader-img.gif",
1229                });
1230            },
1231            success: function(data) {
1232            	//console.log(data);
1233                var lb = new $.LoadingBox({
1234                    loadingImageSrc: base_url + "assets/img/loader-img.gif",
1235                });
1236                lb.close();
1237                if(!isObject(data)) {
1238                    $("p#ordmsg").text('Oops! Something went wrong.').show();
1239                    $("p#ordmsg").focus();
1240                    event.preventDefault();
1241                }
1242				else if(data.coupons == false){
1243						$("p#ordmsg").text('CouponCode Already Used / Invalid. Please Use Different CouponCode.').show();
1244						$("#couponcode").focus();
1245						event.preventDefault();
1246				}
1247				else if(data.status == 1){
1248						$("p#ordmsg").text('').hide();
1249						location.href = base_url+"bookreturn/payment_gateway/"+data.return_order_id;						
1250				}
1251				else if(data.status == 99){
1252                    $('#addressmodel .modal-body').html('<p>'+data.message+'</p>');
1253                    $('button#addressvalidate').click();
1254                } 
1255				else if(data.status == 0){
1256					$("p#ordmsg").text('').hide();
1257					//alert('Failed to submitted. '+data.message); //return false;
1258					$('#orderInfo').slideDown('slow');
1259					$('#toTop').trigger( "click" );
1260					$('#orderInfo').html('<div class="light-text" style=""><div class="bg-2 padding20"><p class="lead big" style="margin-bottom: 0px;"><i style="color: rgb(255, 21, 21);">'+data.message+'</i></p></div></div>');
1261					/*setTimeout(function(){			// wait for 6 secs						
1262						$('#orderInfo').slideUp('slow');
1263					}, 6000);*/
1264				}
1265            },
1266            error: function(jqXHR, textStatus, errorThrown) {
1267                var lb = new $.LoadingBox({
1268                    loadingImageSrc: base_url + "assets/img/loader-img.gif",
1269                });
1270                lb.close();
1271                $("p#ordmsg").text('Oops! Something went wrong.').show();
1272                $("p#ordmsg").focus();
1273                //event.preventDefault();
1274            },
1275            complete: function(jqXHR, textStatus) {
1276                //$("p#ordmsg").text('').hide();
1277            }
1278		});
1279		return false;
1280	}else{
1281		var lb = new $.LoadingBox({loadingImageSrc: base_url+"assets/img/loader-img.gif",});
1282		lb.close();
1283	}
1284
1285}
1286	
1287/************************************** search country ******************************************************
1288$(function( ) {
1289		var options = {
1290				url: base_url+"general/getCountries",
1291				getValue: "Country",
1292				list: {	
1293		match: {
1294		enabled: true
1295		}
1296	},
1297	theme: "square"
1298			};
1299		$("#country").easyAutocomplete(options); 
1300});
1301*/ 
1302
1303/******************* Search through suburb ****************************/
1304$('#city').on('keypress keyup',function(){
1305  var keyword = $(this).val();
1306    if(keyword){   
1307        var country = $("#country").val();
1308        var url = base_url + "general/get_suburb" + "/" + country;
1309        $.ajax({
1310            url: url,
1311            type: 'post',
1312            data: {
1313                keyword: keyword
1314            },
1315        success:function(res){
1316				if(!res){
1317						$("#suburb-div ul").html('not found');
1318						$("#suburb-div").show();
1319				}else{
1320				var total_record = res.length;
1321				var result = $.parseJSON(res); 
1322				var state = result.stateName;
1323				var Suburb = result.Suburb;
1324				var PostCode = result.PostCode;
1325					var x = 0;
1326					var text  = '';
1327					for(x=0; x < result.length; x++){
1328					if(x==(result.length -1)){
1329						text  += "<li><a id='searchsub'>"+result[x].Suburb+', '+result[x].stateName+', ' +country+', ' +result[x].PostCode+"</a></li>";
1330					}else{
1331						text  += "<li><a id='searchsub'>"+result[x].Suburb+', '+result[x].stateName+', ' +country+', ' +result[x].PostCode+"</a></li>";
1332					}
1333				}
1334				$("#suburb-div ul").html(text);
1335					$("#suburb-div").show();
1336				}
1337            }
1338        });
1339    }else{ 
1340            $("#suburb-div ul").html(''); 
1341            $("#state").val('');
1342            $("#city").val('');
1343            $("#postalcode").val('');
1344    } 
1345});
1346
1347
1348/********************************************** on click suburb   ********************************************/
1349$(function() {
1350    $("div#suburb-div ul").delegate('a', 'click', function() {
1351        $("#suburb").val('');
1352        var subur = $(this).text();
1353        var temp = new Array();
1354        temp = subur.split(", ");
1355        var state = temp[1];
1356        var city = temp[0];
1357        var country = temp[2];
1358        var postcode = temp[3];
1359        $("#country").attr('value', country);
1360        $("#state").val(state);
1361        $("#city").val(city);
1362        $("#postalcode").val(postcode);
1363        $('div#suburb-div').hide('slow');
1364        $('#postalcode').next('p.error-message').css('display', 'none');
1365        $('#postalcode').removeClass("error-message").addClass('valid');
1366    });
1367    $('#country').on('change', function() {
1368        $("#state").val('');
1369        $("#city").val('');
1370        $("#postalcode").val('');
1371    });
1372    $(document).click(function() {
1373        $('div#suburb-div').hide('slow');
1374    });
1375});
1376$(function() {
1377    $(document).on('click', '#add_package', function() {
1378        var package = $('#package-new').html();
1379        $('#package-append').append(package).show(3000);
1380        var DimensionUnit = $("#DimensionUnit").val();
1381        $("input[name='DimensionUnit']").val(DimensionUnit);
1382        var WeightUnit = $("#WeightUnit").val();
1383        $("input[name='WeightUnit']").val(WeightUnit);
1384    });
1385    $(document).on('click', '#remove_package', function() {
1386        $(this).parents('.packages').remove();
1387    });
1388    $(document).on('click', '#add_commodities', function() {
1389        var package = $('#commodities-new').html();
1390        $('#commodities-append').append(package);
1391    });
1392    $(document).on('click', '#remove_commodities', function() {
1393        $(this).parents('.commodities').remove();
1394    });
1395});
1396$(function($) {
1397    var href = window.location.href;
1398    $('#mainmenu li a[href="' + href + '"]').parents('li').addClass('active-menu');
1399});
1400$(function($) {
1401    var href = window.location.href;
1402    $('#submenu li a[href="' + href + '"]').parents('li').addClass('active-menu');
1403});
1404$('#OldPass').keyup(function() {
1405    $('#pass_error').slideUp('slow');
1406    $('#OldPass').removeClass('error_msg');
1407});
1408$(function() {
1409    $("form[name='change_pass_form']").validate({
1410        errorClass: "error-message",
1411        errorElement: "p",
1412        rules: {
1413            OldPass: "required",
1414            NewPass: {
1415                required: true,
1416                minlength: 6
1417            },
1418            cNewPass: {
1419                required: true,
1420                equalTo: '#NewPass'
1421            }
1422        },
1423        messages: {
1424            OldPass: "Please Provide Old Password",
1425            NewPass: {
1426                required: "Please Provide New Password",
1427                minlength: "Please Provide Minimum 6 Character"
1428            },
1429            cNewPass: {
1430                required: "Please Confirm Password",
1431                equalTo: "Password not match"
1432            }
1433        },
1434        submitHandler: function(form) {
1435            change_pass_fun();
1436        }
1437    });
1438});
1439
1440
1441/*********** change_pass_fun function *******************/               
1442function change_pass_fun() {
1443    var postData = $("#change_pass_form").serialize();
1444    $.ajax({
1445        type: "POST",
1446        url: base_url + "general/change_password_fun",
1447        data: postData,
1448        dataType: 'JSON',
1449        success: function(data) {
1450            if (data.status == 1) {
1451                $('#pass_success').slideDown('slow');
1452                $('#pass_success').html('<p id="OldPass-success" style="color:rgb(4, 212, 4);">Password change successfully!</p>');
1453                setTimeout(function() {
1454                    top.location.href = base_url;
1455                }, 2000);
1456            } else if (data.status == 0) {
1457                $('#pass_error').slideDown('slow');
1458                $('#toTop').trigger("click");
1459                $('#pass_error').html('<p id="OldPass-error" class="error-message">Please Provide Correct Password</p>');
1460                $('#OldPass').addClass('error_msg');
1461            }
1462        }
1463    });
1464    return false;
1465}
1466/************** Contact_Us Form Validation **************/
1467$(function() {
1468    $("form[name='ContactUs_form']").validate({
1469        errorClass: "error-message",
1470        errorElement: "p",
1471        rules: {
1472            Name: "required",
1473            //last_name: "required",
1474            Message: "required",
1475            //phone: {
1476            //    required: true,                
1477            //},
1478            Email: {
1479                required: true,
1480                email: true
1481            },
1482            RequestType: "required",
1483            OrderNo: "required",
1484            RetailerId: "required",
1485            Captcha: "required",
1486        },
1487        messages: {
1488            Name: global_req_valid_error_glb_txt,
1489            Message: global_req_valid_error_glb_txt,
1490            Email: {
1491                required: global_req_valid_error_glb_txt,
1492                email: global_email_valid_error_glb_txt,
1493            },
1494            RequestType: global_req_valid_error_glb_txt,
1495            OrderNo: global_req_valid_error_glb_txt,
1496            RetailerId: global_req_valid_error_glb_txt,
1497            Captcha: global_req_valid_error_glb_txt,
1498        },
1499        submitHandler: function(form) {
1500            submit_Contact_Us();
1501        }
1502    });
1503
1504    function submit_Contact_Us() {
1505        var postData = $("#ContactUs_form").serialize();
1506        $.ajax({
1507            type: "POST",
1508            url: base_url + "bookreturn/contactus_insert_data",
1509            data: postData,
1510            dataType: 'JSON',
1511			beforeSend: function() {
1512				$('#preloader').show();
1513			},
1514            success: function(data) {
1515                if (data.status == 1) {
1516                    $('#msg').slideDown('slow');
1517                    $('#toTop').trigger("click");
1518                    $('#msg').html('<div style="margin-bottom: 25px;" class="light-text"><div class="bg-2 padding20"><p style="margin-bottom: 0px;color: rgb(34, 227, 84)!important;" class="lead big">' + data.message + '</p></div></div>');
1519                    $('#ContactUs_form')[0].reset();
1520                    setTimeout(function() {
1521                        $('#msg').slideUp('slow');
1522                    }, 5000);
1523                } else if (data.status == 0) {
1524                    $('#msg').slideDown('slow');
1525                    $('#toTop').trigger("click");
1526                    $('#msg').html('<div style="margin-bottom: 25px;" class="light-text"><div class="bg-2 padding20"><p style="margin-bottom: 0px;color: rgb(255, 21, 21)!important;" class="lead big">' + data.message + '</p></div></div>');
1527                    setTimeout(function() {
1528                        $('#msg').slideUp('slow');
1529                    }, 8000);
1530                }
1531				$('#preloader').hide();
1532            },
1533			complete: function() {
1534				$('#preloader').hide();
1535			},
1536        });
1537        return false;
1538    }
1539});
1540
1541/*function cardFormValidate() {
1542    var cardValid = 0;
1543    $('#card_number').validateCreditCard(function(result) {
1544        var cardType = (result.card_type == null) ? '' : result.card_type.name;
1545        if (cardType == 'Visa') {
1546            var backPosition = result.valid ? '2px -163px, 260px -87px' : '2px -163px, 260px -61px';
1547        } else if (cardType == 'MasterCard') {
1548            var backPosition = result.valid ? '2px -247px, 260px -87px' : '2px -247px, 260px -61px';
1549        } else if (cardType == 'Maestro') {
1550            var backPosition = result.valid ? '2px -289px, 260px -87px' : '2px -289px, 260px -61px';
1551        } else if (cardType == 'Discover') {
1552            var backPosition = result.valid ? '2px -331px, 260px -87px' : '2px -331px, 260px -61px';
1553        } else if (cardType == 'Amex') {
1554            var backPosition = result.valid ? '2px -121px, 260px -87px' : '2px -121px, 260px -61px';
1555        } else {
1556            var backPosition = result.valid ? '2px -121px, 260px -87px' : '2px -121px, 260px -61px';
1557        }
1558        $('#card_number').css("background-position", backPosition);
1559        if (result.valid) {
1560            $("#card_type").val(cardType);
1561            $("#card_number").removeClass('required');
1562            cardValid = 1;
1563        } else {
1564            $("#card_type").val('');
1565            $("#card_number").addClass('required');
1566            cardValid = 0;
1567        }
1568    });
1569    var cardName = $("#name_on_card").val();
1570    var expMonth = $("#expiry_month").val();
1571    var expYear = $("#expiry_year").val();
1572    var cvv = $("#cvv").val();
1573    var regName = /^[a-z ,.'-]+$/i;
1574    var regMonth = /^01|02|03|04|05|06|07|08|09|10|11|12$/;
1575    var regYear = /^2017|2018|2019|2020|2021|2022|2023|2024|2025|2026|2027|2028|2029|2030|2031|2032|2033|2034|2035|2036|2037|2038|2039|2040|2041|2042|2043|2044|2045$/;
1576    var regCVV = /^[0-9]{3,3}$/;
1577    if (cardValid == 0) {
1578        $("#card_number").addClass('required');
1579        $("#card_number").focus();
1580         $('.card-error').text('Please use valid credit card.');
1581        $('.card-error').show();         
1582        return false;
1583    } else if (!regMonth.test(expMonth)) {
1584        $("#card_number").removeClass('required');
1585        $('.card-error').hide();
1586        $("#expiry_month").addClass('required');
1587        $("#expiry_month").focus();
1588        $('.dyc-error').text('Please use correct expiry month.').show();
1589        return false;
1590    } else if (!regYear.test(expYear)) {
1591        $("#card_number").removeClass('required');
1592         $('.card-error').hide();
1593          $('.dyc-error').show();
1594        $("#expiry_month").removeClass('required');
1595        $("#expiry_year").addClass('required');
1596        $("#expiry_year").focus();
1597        $('.dyc-error').text('Please use correct expiry year. ie. : 2050').show();
1598        return false;
1599    } else if (!regCVV.test(cvv)) {
1600        $("#card_number").removeClass('required');
1601         $('.card-error').hide();
1602          $('.dyc-error').show();
1603        $("#expiry_month").removeClass('required');
1604        $("#expiry_year").removeClass('required');
1605        $("#cvv").addClass('required');
1606        $("#cvv").focus();
1607        $('.dyc-error').text('Please use correct cvv number.').show();;
1608        return false;
1609    } else if (!regName.test(cardName)) {
1610        $("#card_number").removeClass('required');
1611         $('.card-error').hide();
1612          $('.dyc-error').show();
1613        $("#expiry_month").removeClass('required');
1614        $("#expiry_year").removeClass('required');
1615        $("#cvv").removeClass('required');
1616        $("#name_on_card").addClass('required');
1617        $("#name_on_card").focus();
1618        return false;
1619    } else {
1620        $("#card_number").removeClass('required');
1621        $("#expiry_month").removeClass('required');
1622        $("#expiry_year").removeClass('required');
1623        $("#cvv").removeClass('required');
1624        $("#name_on_card").removeClass('required');
1625        $('#cardSubmitBtn').prop('disabled', false);
1626        $('.dyc-error').hide();
1627        $('.card-error').hide();
1628        return true;
1629    }
1630}*/
1631$(function() {
1632    var cost = $('input[name=carrier]:checked').attr('cost');
1633	var exchangeshipcharge = $('#exchangeshipcharge').val();
1634	
1635    if (cost != 'Free') {
1636        cost = parseFloat(cost).toFixed(2);
1637    }
1638	if(exchangeshipcharge){
1639		if(cost == 'Free'){
1640			cost = exchangeshipcharge;
1641		}else{
1642			cost = (parseFloat(cost)+parseFloat(exchangeshipcharge)).toFixed(2);
1643		}
1644		
1645	}
1646    var carrier = $('input[name=carrier]:checked').attr('carrier_type');
1647    var carrier_id = $('input[name=carrier]:checked').attr('carrier_id');
1648    var code = $('input[name=carrier]:checked').attr('currency_code');
1649    $('#payment_val').val(cost);
1650    if($('#payment_val_html').length > 0) { $('#payment_val_html').html(cost + ' ' + code); }
1651    $('#Currency').val(code);
1652    $('#payment_carrier').val(carrier);
1653    $('#payment_carrier_id').val(carrier_id);
1654    if ($('#carrier').prop("checked") == true && cost != 'Free') {
1655        $('#payment_text').val(cost + ' ' + code);
1656    }else if(cost == 'Free') {$('#payment_text').val(cost);}
1657});
1658$(function() {
1659    $('#customer_orders').dataTable({
1660        dom: 'Bfrtip',
1661        buttons: [{
1662            extend: 'excel',
1663            text: 'Export to Excel',
1664            exportOptions: {
1665                modifier: {
1666                    search: 'none'
1667                }
1668            }
1669        }],
1670        "ajax": base_url + "user/get_all_orders",
1671        "columns": [{
1672            "data": "SrNo"
1673        }, {
1674            "data": "ordernumber"
1675        }, {
1676            "data": "Date"
1677        }, {
1678            "data": "Cost"
1679        }, {
1680            "data": "Currency"
1681        }, {
1682            "data": "Label"
1683        }, {
1684            "data": "RetailerName"
1685        }, {
1686            "data": "trackorder"
1687        }]
1688    });
1689    $.fn.dataTable.ext.errMode = 'none';
1690});
1691$(function() {
1692    $("form[name='modal_login_form']").validate({
1693        errorClass: "error-message",
1694        errorElement: "p",
1695        rules: {
1696            username: {
1697                required: true,
1698                email: true
1699            },
1700            password: "required"
1701        },
1702        messages: {
1703            username: "Please enter a valid email address",
1704            password: "Please enter a valid password"
1705        },
1706        submitHandler: function(form) {
1707            login_modal_fun();
1708        }
1709    });
1710});
1711
1712
1713
1714/********************** Modal Login Function Start ***************************/
1715
1716$(function() {  
1717	$("form[name='modal_login_form']").validate({            
1718		errorClass   : "error-message",
1719		errorElement : "p",
1720		
1721    rules: {		
1722		username: {
1723			required: true,
1724			email: true
1725		},
1726		password: "required"
1727    },    
1728    messages: {		
1729		username: "Please enter a valid email address",
1730		password: "Please enter a valid password"
1731		
1732    },
1733    submitHandler: function(form) {
1734	  login_modal_fun();
1735	  //form.submit();
1736    }
1737  });
1738});	
1739
1740
1741	/*********** order_return_reg function *******************/               
1742function login_modal_fun() {
1743    var postData = $("#modal_login_form").serialize();
1744    $.ajax({
1745        type: "POST",
1746        url: base_url + "bookreturn/login_process",
1747        data: postData,
1748        dataType: 'JSON',
1749        beforeSend: function() {
1750            var lb = new $.LoadingBox({
1751                loadingImageSrc: base_url + "assets/img/loader-img.gif",
1752            });
1753        },
1754        success: function(data) {
1755            var lb = new $.LoadingBox({
1756                loadingImageSrc: base_url + "assets/img/loader-img.gif",
1757            });
1758            lb.close();
1759            if (data.status == 1) {
1760                $('.close').trigger("click");
1761                window.top.location = window.top.location;
1762                return true;
1763            } else if (data.status == 0) {
1764                $('#err_msg').html('<p style="color:red;">' + data.message + '</p>');
1765                return false;
1766            }
1767        }
1768    });
1769    return false;
1770}
1771$(function() {
1772    var email = $('#email').val();
1773    var IdUser = $('#IdUser').val();
1774    if (email && IdUser) {
1775        $('#email').prop('readonly', true);
1776    } else {
1777        $('#personal_detail input').prop('readonly', false);
1778    }
1779});
1780$(function() {
1781    $("#DimensionUnit").change(function() {
1782        var DimensionUnit = $("#DimensionUnit").val();
1783        $("input[name='DimensionUnit']").val(DimensionUnit);
1784    });
1785    $("#WeightUnit").change(function() {
1786        var WeightUnit = $("#WeightUnit").val();
1787        $("input[name='WeightUnit']").val(WeightUnit);
1788    });
1789});
1790$('#contact').keyup(function() {
1791    var yourInput = $(this).val();
1792    re = /[`~!@#$%^&*_|\-=?;:'",.<>a-zA-Z\{\}\[\]\\ \/]/gi;
1793    var isSplChar = re.test(yourInput);
1794    if (isSplChar) {
1795        var no_spl_char = yourInput.replace(/[`~!@#$%^&*_|\-=?;:'",<>a-zA-Z\{\}\[\]\\ \/]/gi, '');
1796        $(this).val(no_spl_char);
1797    }
1798});
1799
1800$(function() {
1801    var options = {
1802        valueNames: ['name']
1803    };
1804    var userList = new List('custom-country', options);
1805    var noItems = $('<li id="no-items-found">No items found</li>');
1806    userList.on('updated', function(list) {
1807        if (list.matchingItems.length == 0) {
1808            $(list.list).append(noItems);
1809        } else {
1810            noItems.detach();
1811        }
1812    });
1813    $('#country').on('click keypress keyup', function() {
1814        $('#country-div').css('display', 'block');
1815    });
1816    $('#country-div > ul > li > a').on('click', function() {
1817        $('#country').val($(this).text());
1818    });
1819    $('body').on('click', function(evnt) {
1820        if (evnt.target.id == 'country') {
1821            return false;
1822        } else {
1823            $('#country-div').css('display', 'none');
1824        }
1825    });
1826   
1827    /********** booking form subrub list depend on country list 02-03-2017 **********/
1828    var mycountry = $('#country-list').val();
1829    var postcode = $('#postalcode').val();
1830
1831
1832    var options = {
1833      url: function(phrase) {
1834        return base_url+"general/get_suburb_json";
1835      },
1836      getValue: function(element) {
1837    	  if(element.stateName=='Hong Kong'){
1838    		  return element.Suburb+', '+element.stateName+', '+$('#country-list').val();
1839    	  }
1840    	  else{
1841    		  return element.Suburb+', '+element.stateName+', '+$('#country-list').val()+', '+element.PostCode;
1842    	  }
1843      },
1844      ajaxSettings: {
1845        dataType: "json",
1846        method: "POST",
1847    	 beforeSend: function( ) {
1848       			 $('#city_id').addClass('Loading-inputbox');
1849       },
1850       success : function(data){
1851    	   //console.log(data);
1852    		if(data == 0 ){
1853    				$('#city_id').attr('style',' ');				
1854    				$('#city_id').addClass('error-message');
1855    			//	if($('#city_id-errors').length == 0){
1856    			//	$('<p id="city_id-errors" class="error-message"> No result found</p>').insertAfter('#city_id');
1857    			//	$('#city_id').removeClass('valid');
1858    			//	$('#city_id').addClass('error-message');
1859    			//}
1860    			
1861    		}else{
1862    			$('#city_id').attr('style',' ');
1863    			$('#city_id').removeClass('error-message');
1864    			$('#city_id-errors').remove();
1865    			$('#city_id-error').remove();
1866    			$('#city_id').addClass('valid');
1867    		}
1868       },
1869        complete: function(data) {
1870    	//	$('#city_id-errors').remove();
1871    		$('#city_id-error').remove();
1872             $('#city_id').removeClass('Loading-inputbox');
1873        },
1874        data: {
1875          dataType: "json"
1876        }
1877      },
1878      preparePostData: function(data) {
1879        data.country =$('#country-list').val();
1880    	data.keyword = $("#city_id").val();
1881    	data.postcode = $("#postalcode").val(); 
1882        return data;
1883      },
1884       focus: function(e, ui) {
1885                return false; // don't fill input with highlighted value
1886            },
1887    	list: {
1888    		maxNumberOfElements: 100,
1889    		match: {
1890    			enabled: true
1891    		},		
1892    		onSelectItemEvent: function() {
1893    			var subrub = $("#city_id").getSelectedItemData().Suburb;
1894    			var postcode =  $("#city_id").getSelectedItemData().PostCo
1894de;
1895    			var state = $("#city_id").getSelectedItemData().stateName;
1896    			//alert(state);
1897    			if(state!='Hong Kong'){
1898    				$('#postalcode').val(postcode);
1899    			}
1900    			
1901    		   		$('#state').val(state);
1902    				$('#city_id').val(subrub).trigger("change");
1903    				$('#city_id-error').remove();
1904    		},
1905    		onChooseEvent: function() {
1906    				var selectedItemValue = $("#city_id").getSelectedItemData().Suburb;
1907                    //var selectedItemValue2 = $("#autocomplete").getSelectedItemData().airportid;
1908                     $('#city_id').val(selectedItemValue).trigger("change");
1909    				 $('#city_id-error').remove();
1910                },
1911    	}			
1912    };
1913    $("#city_id").easyAutocomplete(options);
1914    
1915    });
1916
1917
1918    $('#state').on('change, blur',function(){
1919        validate_address();
1920    });
1921
1922    function validate_address(){
1923        var validation_add = true;
1924        var countrysel=$('#country-list').val();
1925        console.log(countrysel);
1926        var validation_country=['Australia-AU', 'United States-US', 'New Zealand-NZ','Hong Kong-HK'].includes(countrysel);
1927        console.log(validation_country);
1928        if(validation_country)
1929        	{
1930		        $.ajax({
1931		            url: base_url+"general/validate_address",
1932		            type:"POST",
1933		            async: false,
1934		            data:{
1935		                selectcountry:$('#country-list').val(), 
1936		                selectcity:$('#city_id').val(),
1937		                selectstate: $('#state').val(),
1938		                selectpostcode:$('#postalcode').val() 
1939		            },
1940		            success: function(data){
1941		                /*if(data =='1'){
1942		                    if($('#city_id-error').length == 0){
1943		                            $('#state').val('');
1944		                            $('#city_id').val('').focus();
1945		                        }
1946		                }else{
1947		                    return true;
1948		                }*/
1949		                if(data =='1'){
1950		                    //alert($('#country-list').val());
1951		                    if($('#country-list').val()=='Australia-AU' || $('#country-list').val()=='New Zealand-NZ' || $('#country-list').val()=='United States-US' || $('#country-list').val()=='Hong Kong-HK') {
1952		                        if($('#city_id-error').length == 0){
1953		                                $('#city_id').addClass('error-message');
1954		                                $('#city_id').addClass('suburb_highlight');
1955		                                //$('#suburbvalidate').click();						
1956										$('#suburb_error_model').modal();
1957										$('#city_id').focus();
1958		                                $('#city_id-errors').remove();
1959		                                validation_add= false;
1960		                            }
1961		                    }
1962		                }else{
1963		                    $('#city_id').removeClass('error-message').removeClass('suburb_highlight');
1964		                    $('#city_id-error').remove();
1965		                    $('#city_id-errors').remove();
1966		                    //return true;
1967		                }
1968		            }
1969		        });
1970        	}
1971
1972        return validation_add;
1973      
1974    }
1975
1976$("#clmodal,.suburbvalidate_close").on("click", function (event) {  
1977    $("#city_id").focus();
1978});
1979    
1980/******* Newsletter Subscription insert data in db @ Krushna @ 02/08/2017 ***********/
1981function News_leter(){
1982//$('#News_leter').on('click',function(){
1983	
1984	var emal = $('#newltr_email').val();
1985	$.ajax({
1986	url:base_url+"bookreturn/newsletter_insert_data",
1987	type:"post",
1988	data:{
1989			newsltr:emal
1990	     },
1991	success:function(data){
1992		//alert(data);
1993		if(data=="true")
1994		{
1995			
1996			$("#News_msg").html(news_letter_success_ft_msg);
1997			$('#News_msg').show();
1998			$("#newltr_email").val('');
1999				setTimeout(function()
2000				{ 
2001					$('#News_msg').slideUp('slow');
2002					//$('#News_msg').hide();
2003				}, 4000);
2004		}
2005		else
2006		  {
2007		   
2008		   $("#News_msg").html('<span style="color:red">' + news_letter_fail_ft_msg + '</span>');
2009		   $('#News_msg').show();
2010		   $("#newltr_email").val('');
2011			setTimeout(function()
2012			{ 
2013			 $('#News_msg').slideUp('slow');
2014			 //$('#News_msg').hide();
2015			}, 4000);
2016		  }
2017	}
2018		
2019	})
2020	
2021//});
2022}
2023/*** Validation for News Letter Subscription Form ***/
2024$(function() {
2025    $("form[name='News_letr_form']").validate({
2026        errorClass   : "error-message",
2027        errorElement : "p",
2028		// Specify validation rules
2029		onfocusout: function (element) {
2030        $(element).removeClass('News_leter_css');
2031	},
2032	 //focusCleanup: true,
2033	   rules: {
2034            newltr_email: {
2035                required: true,
2036				   email: true
2037            },
2038        },
2039        messages: {
2040            newltr_email: news_letter_email_req_error_ft_txt,
2041		 },
2042        
2043		highlight: function (element) {
2044            $(element).addClass('News_leter_css')
2045        },
2046		
2047		submitHandler: function(form) {
2048		News_leter();
2049        }
2050    });
2051});
2052
2053/*
2054$('#state').on('focus', function() {
2055    if ($('#city_id-errors').length > 0) {
2056        $('#city_id').css('margin-bottom', '0px');
2057    } else {
2058        $('#city_id').attr('style', ' ');
2059    }
2060}); */
2061
2062/************ On Change in Country the Bookreturn form get package details ***************/ 
2063$('.packgdtl').change(function(){
2064	
2065	var country_name = $(this).val();
2066	var hub_retailer_id = $('#hub_retailer_id').val();
2067	//var pckg_retailer_id = $("#pckg_retailer_id").data('value');
2068	$.ajax({
2069		url: base_url+"bookreturn/hubwise_pacakge_details",
2070		type:"POST",
2071		data:{
2072			country_name:country_name,
2073			hub_retailer_id:hub_retailer_id
2074		},
2075		success: function (res) {	
2076         var package_details =  $.parseJSON(res);
2077			if(package_details == ''){
2078				//$("#package-append").html(package_details);
2079				//$("#select_package_details").show();
2080				//$("#select_package_details1").css('display','block');
2081				//$("#select_package_details1").show();
2082				$("#select_pckg_details").css('display','block');
2083				$(".inner_package_details").css('display','block');
2084				//$("#package-new").css('display','block');
2085				
2086				//var packg = $("#package-append-hub").val();
2087				$("#select_package_details").css('display','block');
2088				$("#package_title").css('display','block');
2089				$("#package-append-hub .inner_package_details #Length").focus();			
2090				
2091			}
2092			else{
2093				//$("#select_package_details").hide();
2094				$("#select_pckg_details").css('display','none');
2095				$(".inner_package_details").css('display','none');
2096				//$("#select_pckg_details").css('display','block');
2097				$("#select_package_details").css('display','none');
2098				$("#package_title").css('display','none');
2099				
2100				
2101			}
2102		}
2103	});
2104});
2105
2106$(function() 
2107{ 
2108	/*$("form[name=booking_return_form] #reasonid").select2(
2109	{
2110		//placeholder: "Return reason"
2111
2112	});*/
2113});
2114/*mohammad 07-11-2017 reason function js*/
2115$(function() 
2116{ 
2117	$("#reasonid").on('change', function()
2118	{
2119		var selected = $(this).val();
2120		//alert(selected);
2121		if(selected)
2122		{
2123			if(selected != 'Other')
2124			{		
2125				//alert(selected);
2126				if(selected.indexOf('Other')>=0)
2127				{
2128					$(this).val('Other').select2();	
2129					$("#Other").css('display','block');
2130				}		
2131			}
2132		}
2133	})
2134});
2135//download pdf label
2136function get_pdf_label(return_id, loading_blk) {
2137	$.ajax({
2138		url: base_url+"bookreturn/get_pdf_label",
2139		type: 'POST',
2140		data: { return_id : return_id, },
2141		beforeSend: function(jqXHR, settings) {
2142			$('#'+loading_blk).show();
2143		},
2144		success: function(data) {
2145			$('#'+loading_blk).hide();
2146			data_obj = $.parseJSON(data);
2147			if(data_obj.Success == '1') {
2148				download(data_obj.Filename, data_obj.Content);					
2149			} else {
2150				alert('Something went wrong while downloading a label!!! Please check back again in 10 minutes.');
2151			}
2152		},
2153		complete: function(jqXHR, textStatus) {
2154			$('#'+loading_blk).hide();
2155		},
2156	});
2157}	
2158//download file
2159function download(filename, content) {
2160	var element = document.createElement('a');
2161	element.setAttribute('href', 'data:application/pdf;base64,' + encodeURIComponent(content));
2162	element.setAttribute('download', filename);
2163	element.style.display = 'none';
2164	document.body.appendChild(element);
2165	element.click();
2166	document.body.removeChild(element);
2167}
2168
2169$( function() {
2170    //faq accordian
2171    $( ".faq-accordion" ).accordion({
2172        heightStyle: "content",
2173        collapsible: true,
2174        active: false,			
2175    });
2176    //for apply select2
2177    $(".apply_select2").select2();
2178});
2179
2180//check is object
2181function isObject(obj) {
2182    return obj !== undefined && obj !== null && obj.constructor == Object;
2183}
2184
2185/*
2186//chech is array
2187function isArray(obj) {
2188    return obj !== undefined && obj !== null && obj.constructor == Array;
2189}
2190
2191//check is boolean
2192function isBoolean(obj) {
2193    return obj !== undefined && obj !== null && obj.constructor == Boolean;
2194}
2195
2196//check is function
2197function isFunction(obj) {
2198    return obj !== undefined && obj !== null && obj.constructor == Function;
2199}
2200
2201//check is number
2202function isNumber(obj) {
2203    return obj !== undefined && obj !== null && obj.constructor == Number;
2204}
2205
2206//check is string
2207function isString(obj) {
2208    return obj !== undefined && obj !== null && obj.constructor == String;
2209}
2210*/
2211
2212//label check ajax
2213function label_check_ajax() {
2214	if($('#label_check_ajax').val() == '0') {
2215		$('#label_check_ajax').val('1');
2216        $('#preloader').hide();
2217        $('#preloader').css('background',' ');
2218        $('#preloader').css('position',' ');
2219        var error_msg = 'Oops! Something went wrong.';
2220        $('#paymentSection').slideUp('slow');
2221        if(mobile < parseInt(767)) {
2222            $('#orderInfo-mobile').slideDown('slow');
2223            $('#orderInfo-mobile').html('<div class="light-text"><div class=""><h2 class="paymentnotih" >Payment Failed !</h2><p class="lead big padding30"><i style="color: rgb(255, 21, 21);">'+error_msg+'</i></p></div></div>');
2224        } else {
2225            $('#orderInfo').slideDown('slow');
2226            $('#orderInfo').html('<div class="light-text"><div class=""><h2 class="paymentnotih">Payment Failed !</h2><p class="lead big padding30"><i style="color: rgb(255, 21, 21);">'+error_msg+'</i></p></div></div>');
2227        }
2228        $('.custom-css').append('<style>.light-text.payment-form::after { opacity: 0;}</style>');
2229        $('#carr-option').addClass('carr-option');
2230        $('#toTop').trigger( "click" );
2231        setTimeout(function() {	// wait for 6 secs
2232            if(mobile < parseInt(767)) {
2233                $('#orderInfo-mobile').slideUp('slow');
2234            } else {
2235                $('#orderInfo').slideUp('slow');
2236            }
2237            $('#paymentSection').slideDown('slow');						
2238            $("#cardSubmitBtn").val('Pay Now');
2239            $('#carr-option').removeClass('carr-option');
2240            $('.custom-css').html('');
2241        }, 6000);
2242	}	
2243}
2244
2245/**
2246 * is number key or not ?
2247 */
2248function isNumberKey(evt, obj) {
2249    obj = obj || null;
2250    var charCode = (evt.which) ? evt.which : evt.keyCode
2251    var value = (obj)?obj.value:'';
2252    var dotcontains = value.indexOf(".") != -1;
2253    if (dotcontains)
2254        if (charCode == 46) return false;
2255    if (charCode == 46) return true;
2256    if (charCode > 31 && (charCode < 48 || charCode > 57))
2257        return false;
2258    return true;
2259}
2260/*auto complate off start*/
2261var iOS = !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform);
2262	//alert(navigator.platform);
2263	if(!iOS) {
2264		$('#city_id').attr('readonly', true);
2265	}
2266function call_onfocus(obj) {
2267		if(!iOS) {
2268			if($(obj).is('[readonly]')) {
2269				$(obj).attr('readonly', false);
2270			}									
2271			
2272		}
2273}
2274function call_onblur(obj) {
2275	if(!iOS) {
2276		$(obj).attr('readonly',true);
2277	}
2278}
2279/*auto complate off end*/
2280
2281$(function() {
2282    //change_review_status_form form validation	
2283    $("form[name='change_review_status_form']").validate({
2284        errorClass   : "error-message",
2285        errorElement : "p",
2286        rules: { 
2287            //ReviewerRemarks: "required", 
2288            MainStatus: "required", 
2289            SubStatus: { checkSubStatus: true },
2290            "Reason[]": "required",
2291            "CustomerReturnAction[]": "required",
2292			"ProductCondition[]": "required"
2293        },
2294        messages: {
2295            ReviewerRemarks: "This field is required.",
2296            "Reason[]": "This field is required.",
2297			"CustomerReturnAction[]": "This field is required.",
2298			"ProductCondition[]": "This field is required."
2299        },    
2300        submitHandler: function(form) {
2301            var exchange_check_error = get_exchange_check_error();
2302			if(exchange_check_error > 0) {
2303				return false;
2304			}
2305            //alert('Success'); return false;
2306            form.submit();
2307            /*
2308			//Start: Sub Reason Validation
2309			custom_error = 0;
2310			$('.sub_reason_blk').each(function(i) {
2311				if(!$(this).is(':hidden')) {
2312					var sub_reason_element_obj = $(this).find('select[name="SubReason[]"]');
2313					var first_error_sub_reason_obj = null;
2314					if($(sub_reason_element_obj).length > 0) {
2315						if($(sub_reason_element_obj).val() == '') { //error-message
2316                            custom_error++;
2317							$(sub_reason_element_obj).addClass('error-message');
2318							if(custom_error == 1) {
2319								$(sub_reason_element_obj).focus();
2320							}
2321						} else {
2322							$(sub_reason_element_obj).removeClass('error-message');
2323						}
2324					}
2325				}
2326			});
2327			if(custom_error == 0) {
2328				//alert('Success'); return false;
2329				form.submit();
2330			} else {
2331				//alert('Fail'); return false;
2332				return false;
2333			}
2334			//End: Sub Reason Validation
2335            //*/
2336        }
2337    });
2338});
2339
2340/**
2341 * Page focus to element
2342 * @param {*} focus_obj 
2343 */
2344function page_focus_to_element(focus_obj) {
2345	$('html, body').animate({
2346	      scrollTop: $(focus_obj).offset().top - 100
2347	}, 1000);
2348}
2349function call_google_event(event_category,event_action,event_lable){
2350		if(event_lable!=''){
2351				$.ajax({
2352					type:'POST',
2353					url: base_url+"bookreturn/send_google_events",
2354					data: {"event_category":event_category,"event_action":event_action,"event_label":event_lable},
2355					success:function(data){
2356					},
2357					complete: function(jqXHR, textStatus) {
2358					}
2359				});
2360				
2361		}		
2362	}
2363/*remove special characters from typeing*/
2364$("#fullname,#Building,#Street").keypress(function (e) {
2365            var keyCode = e.keyCode || e.which;
2366 
2367            $("#specailfullname").html("");
2368 
2369            //Regex for Valid Characters i.e. Alphabets and Numbers.
2370            var regex = /^[A-Za-z0-9,\s\/_-]+$/;
2371 
2372            //Validate TextBox value against the Regex.
2373            var isValid = regex.test(String.fromCharCode(keyCode));
2374            if (!isValid) {
2375                $("#specailfullname").html("Special characters are not allowed.");
2376            }
2377	return isValid;
2378});	
2379function ValidateSingleInput(oInput) {
2380    var _validFileExtensions = [".jpg", ".jpeg", ".bmp", ".gif", ".png", ".ico"]; 
2381    if (oInput.type == "file") {
2382        var sFileName = oInput.value;
2383         if (sFileName.length > 0) {
2384			var mS_totalBytes = (oInput.files[0].size);
2385			var size = Math.floor(mS_totalBytes/1024000);;
2386			if(size >= 11){
2387				alert("Sorry, Maximum File Size is 11 MB ");
2388                oInput.value = "";
2389				return false;
2390			}
2391            var blnValid = false;
2392            for (var j = 0; j < _validFileExtensions.length; j++) {
2393                var sCurExtension = _validFileExtensions[j];
2394                if (sFileName.substr(sFileName.length - sCurExtension.length, sCurExtension.length).toLowerCase() == sCurExtension.toLowerCase()) {
2395                    blnValid = true;
2396                    break;
2397                }
2398			} 
2399			
2400            if (!blnValid) {
2401                alert("Sorry, " + sFileName + " is invalid, allowed extensions are: " + _validFileExtensions.join(", "));
2402                oInput.value = "";
2403                return false;
2404            }
2405        }
2406    }
2407    return true;
2408}
2409$(".fronttxtclinputsc").on('change paste focusout', function () {
2410	var valuetype = this.value;
2411	var valuecon=rmspecialselchara(valuetype);
2412   valuecon=jsclinputsc(valuecon);
2413	this.value=valuecon;		
2414 });
2415$(".txtclinputsc").on('change paste focusout', function () {
2416	var valuetype = this.value;
2417	var valuecon=jsclinputsc(valuetype);
2418	this.value=valuecon;	
2419 });
2420 function rmspecialselchara(str){
2421    var newstr= str.replaceAll('/', "");
2422    newstr= newstr.replaceAll('<', "");
2423    newstr= newstr.replaceAll('>', "");
2424    newstr= newstr.replaceAll('!', "");
2425    newstr= newstr.replaceAll('%', "");
2426    newstr= newstr.replaceAll('^', "");
2427    newstr= newstr.replaceAll('*', "");
2428    newstr= newstr.replaceAll('(', "");
2429    newstr= newstr.replaceAll(')', "");
2430    newstr= newstr.replaceAll('{', "");
2431    newstr= newstr.replaceAll('}', "");
2432    newstr= newstr.replaceAll('[', ""); 
2433    newstr= newstr.replaceAll(']', "");
2434    newstr= newstr.replaceAll('|', "");
2435    newstr= newstr.replaceAll(':', "");
2436    newstr= newstr.replaceAll(';', "");
2437    newstr= newstr.replaceAll('"', "");
2438    newstr= newstr.replaceAll(/'/g, "");
2439    newstr= newstr.replaceAll('?', "");
2440    newstr= newstr.replaceAll('+', "");
2441    newstr= newstr.replaceAll('=', "");
2442    newstr= newstr.replaceAll('`', "");
2443    newstr= newstr.replaceAll('~', "");
2444    newstr= newstr.replaceAll('\\', "");
2445    newstr= newstr.replaceAll(/\\/g, "");
2446    return newstr;
2447}
2448 function jsclinputsc(str){
2449	var newstr= str.replace('/">', "");
2450	var dash= "'";
2451	var newstr2= newstr.replace(dash+'">', "");
2452	var newstr3= newstr2.replace('">', "");
2453    return (newstr2).replace(/(<([^>]+)>)/ig,"");
2454
2455}
2456function dynclninpt(obj){
2457	var valuetype = $(obj).val();
2458	var newstr2= jsclinputsc(valuetype);
2459	$(obj).val(newstr2);
2460}

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.