PageSourceSearch

https://zipsend.com/js/common.js?v=1531381463

js zipsend.com collected 2026-10-02 23:33:27 UTC 51,054 bytes, 1,273 lines download raw bytes

1(function (w, d){
2	var _emailRegex = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
3	var _passwordRegex = /([\w\W\d]{6,})/;
4	var _passwordProtectFileRegex = /([\w\W\d]{8,})/;
5	var _passwordNotValid = 'Minimum 6 characters are required for password';
6	var _headZipshare = 'ZIPSHARE';
7	var _headFetching = 'FETCHING DATA';
8	var _head_deleting = 'DELETING';
9	var _headUploading = 'UPLOADING';
10	var _headRenaming = 'RENAMING';
11	var _headMoving = 'MOVING';
12	var _head_delete = 'DELETE';
13	var _headUnzip = 'UNZIP';
14	var _headRename = 'RENAME';
15	var _headMove = 'MOVE';
16	var _headZip = 'ZIP';
17	var _head_download = 'DOWNLOAD';
18	var _headRenameTo = 'RENAME TO';
19	var _headGraduate = 'ZIPSHARE HAS GRADUATED!';
20	var _headUnverified = 'USER NOT VERIFIED';
21	var _operationSuccess = 'Operation Successful';
22	var _folderDownloadMsg = 'Sorry, we do not support folder download yet. Stay tuned!!';
23	var _alreadyExistMessage = "Hello, you already have a ZipShare account. Please click on the Sign In link, then click on the forgot password? link to recover your account.";
24	var _fileNameRegex = /^[0-9a-zA-Z\^\&\'\@\{\}\[\]\,\$\=\!\-\#\(\)\.\%\+\~\_ ]+$/;
25	var _nameSupportMsg = "ZipShare does not yet support accented characters - stay tuned. Meanwhile, please rename your file using english characters only.";
26	var _errorInUploadMsg = "Unable to upload #no_of_files file(s).";
27
28	var headActivation = 'ACTIVATION CODE';
29	var newUserMessage = "Hello, it seems that you don't yet have a ZipShare account associated with this email address.  To create a new account, return to the main ZipShare page and click on the 'Create Account' link or follow steps 1 through 3.";
30	var loginFailMessage = "The email address and password do not match. Did you <a href='/userprofile/forgotPassword' class='learn-more'>forget your password?</a>";
31	var _signUpFailMessage = 'We are facing some dificulties to create your account. Please try after some time.';
32	var proUpgradeMsg = 'Your Pro account is free during the beta program. Stay tuned !';
33	var signoutUpgradeMsg = 'Please sign in or sign up to upgrade the account !';
34	var ultiUpgradeMsg = 'Comming soon!';
35	var noActiveSubscribedCloud = "It seems you haven't enabled any cloud for uploading. Please click <a href='/settings'>here</a> to enable clouds to upload.";
36	var sentActivationLinkMsg = 'We have sent an activation link to your email address. Please click on that link to activate your ZipShare account.';
37	var unvarifiedMsg_first = "Please verify your account. We have sent an activation link to ";
38	var unvarifiedMsg_last = ". Didn't receive the email? <a href='javascript:void(0)' onclick='common.resendActivationLink();'>Resend</a>";
39	var _bn_heading = "GET NOTIFIED WHEN YOUR FILE IS ACCESSED";
40	var _bn_body_message = "Want to be notified when a person who you share a file with accesses the file? Well good news! We can notify you directly on your system!"
41	var defultErrorMsg = "There is some error. Please try again.";
42
43	// DOM ready calls
44	$(d).ready(function(e){
45        if(common.isUserLoggedIn()){
46            common.initializeOneSignalNotification();
47        }
48
49	    if($('#cloudquota-wrapper').hasClass('require')) {
50            common.getCloudQuota();
51        }
52
53		$('.navigation').click(function(e) {
54			e.stopPropagation();
55			if($('#mobile-settings-wrapper').hasClass('off')) {
56				$('#wrapper').addClass('none');
57				$('#mobile-settings-wrapper').removeClass('off');
58			} else {
59				$('#wrapper').removeClass('none');
60				$('#mobile-settings-wrapper').addClass('off');
61			}
62		});
63		$(d).on('click', '.signin, .signin a', function(e) {
64			e.stopPropagation();
65			if ($('.signin .settingsicon').length > 0) {
66				if($('#mobile_ui').css('display') == 'block'){
67					window.location = $('.signin .settingsicon').attr('href');
68				} else {
69					$('#settings-popup').toggle();
70					return false;
71				}
72			}
73		});
74	    $(d).on('click', '.signin-anchor', function(e) {
75	    	if($('#mobile_ui').css('display')=="none") {
76	    		if(!$('#signup-popup').hasClass('none')){
77	    			$('#signup-popup').addClass('none');
78	    		}
79	    		if($('#signin-popup').hasClass('none')){
80	    			$('#signin-popup input').val('');
81	    			$('#signin-popup').removeClass('none');
82	    			$('#signin-popup input[name="signinEmail"]').focus();
83	    		} else {
84	    			$('#signin-popup').addClass('none');
85	    		}
86	    	} else {
87	    		$('#wrapper').removeClass('none');
88				$('#mobile-settings-wrapper').addClass('off');
89	    		$('section').addClass('none');
90	    		$('section.signin-mobile, section.loader-popup').removeClass('none');
91	    		$('section.signin-mobile input[name="signinEmail"]').focus();
92	    	}
93	    });
94	    $(d).on('click', '.signup-anchor', function(e) {
95	    	if($('#mobile_ui').css('display')=="none") {
96	    		window.location = '/userprofile/signUp';
97//	    		if(!$('#signin-popup').hasClass('none')){
98//	    			$('#signin-popup').addClass('none');
99//	    		}
100//	    		if($('#signup-popup').hasClass('none')){
101//	    			$('#signup-popup input').val('');
102//	    			$('#signup-popup').removeClass('none');
103//	    			$('#signup-popup input[name="signupEmail"]').focus();
104//	    		} else {
105//	    			$('#signup-popup').addClass('none');
106//	    		}
107	    	} else {
108	    		$('#wrapper').removeClass('none');
109	    		$('#mobile-settings-wrapper').addClass('off');
110	    		$('section').addClass('none');
111	    		$('section.signup-mobile, section.loader-popup').removeClass('none');
112	    		$('section.signup-mobile input[name="signinEmail"]').focus();
113	    	}
114	    });
115	    $(d).on('click', '#signin-page .signin-btn, #signin-popup .signin-btn, section.signin-mobile .signin-btn, #signin-zipsend-page .signin-btn', function(e){
116	        var gaAction = "Signin";
117	        var label = null;
118	    	var parentID = '';
119	    	if($(e.target).parents('#signin-popup').length > 0){
120	    	    label = "Web-widget";
121	    		parentID = '#signin-popup';
122	    	} else if($(e.target).parents('#signin-page').length > 0){
123	    	    label = "Web-default";
124	    		parentID = '#signin-page';
125	    	} else if($(e.target).parents('#signin-zipsend-page').length > 0){
126	    	    label = "Web-default"
127	    		parentID = '#signin-zipsend-page';
128	    	} else if($(e.target).parents('section.signin-mobile').length > 0){
129	    	    label = "Web-default"
130	    		parentID = 'section.signin-mobile';
131	    	} else {
132	    		return;
133	    	}
134	    	var email = $(parentID +' input[name="signinEmail"]').val();
135	    	var password = $(parentID +' input[name="signinPassword"]').val();
136	    	if(common.checkEmailPasswordBlank(email,password,$(parentID +' input[name="signinEmail"]'))){
137	    		return;
138	    	} 
139	    	if(!common.validateWithRegex(common.emailRegex, email)){
140				common.showLoaderPopup(common.headZipshare, 'Oops, please check the spelling of your email address', false, 'OK', function(){
141					$('#bkg').hide();
142					$(parentID +' input[name="signinEmail"]').focus();
143				});
144				return;
145    		}
146	    	if(!common.validateWithRegex(common.passwordRegex, password)){
147				common.showLoaderPopup(common.headZipshare, common.passwordNotValid, false, 'OK', function(){
148					$('#bkg').hide();
149					$(parentID +' input[name="signinPassword"]').focus();
150				});
151				return;
152    		}
153	    	common.eventAttempted(gaAction, label);
154	    	common.showLoaderPopup(common.headZipshare,'Logging In...', true);
155	    	var rememberMe = false;
156	    	if(($('#rememberMePopup').is(":checked")) || ($('#rememberMePage').is(":checked")) || ($('#rememberMeMobile').is(":checked"))) {
157	    	    rememberMe = true;
158	    	}
159	    	var data = {"email":email, "password":password, "rememberMe":rememberMe};
160	    	var loginUrl = "/userprofile/login";
161	    	var objTxt = $(parentID +' input[name="signinEmail"]');
162	    	$.ajax({
163				type: "POST",
164				url: "/userprofile/check",
165				data: {email:email},
166				success: function(response){
167					// we have the response
168					if(response.emailCheck){
169						if(parentID == "#signin-page"){
170							common.loginAjax(loginUrl, data, function() {window.location = '/';}, objTxt, null, null,  gaAction, label);
171						} else if(parentID == "#signin-zipsend-page"){
172							common.loginAjax(loginUrl, data, function() {window.location = '/userprofile/zipsendInfo';}, objTxt, null, null, gaAction, label);
173						} else {
174							common.loginAjax(loginUrl, data, null, objTxt, null, null, gaAction, label);
175						}
176					} else {
177					    var newErrMsg = "incorrect email or password";
178					    common.eventFailure(gaAction , label , newErrMsg);
179						common.showLoaderPopup(common.headZipshare, newUserMessage, false, 'OK', function(){
180							$('#bkg').hide();
181							if(objTxt){
182								objTxt.focus();
183							} else {
184								$('#email').focus();
185							}
186						});
187					}
188				},
189				error: function(jqXHR) {
190					common.errorHandler(jqXHR);
191				}
192			});
193	    });
194	    $(d).on('click', '#signup-popup .signup-btn, section.signup-mobile .signup-btn, #signup-page .signup-btn', function(e){
195	    	var parentID = '';
196	    	if($(e.target).parents('#signup-popup').length > 0){
197	    		parentID = '#signup-popup';
198	    	} else if($(e.target).parents('#signup-page').length > 0){
199                parentID = '#signup-page';
200            } else if($(e.target).parents('section.signup-mobile').length > 0){
201	    		parentID = 'section.signup-mobile';
202	    	} else {
203	    		return;
204	    	}
205	    	var email = $(parentID +' input[name="signupEmail"]').val();
206	    	var password = $(parentID +' input[name="signupPassword"]').val();
207	    	var repassword = $(parentID +' input[name="signupRePassword"]').val();
208	    	if(common.checkEmailPasswordBlank(email,password,repassword,$(parentID +' input[name="signupEmail"]'))){
209	    		return;
210	    	} 
211	    	if(!common.validateWithRegex(common.emailRegex, email)){
212				common.showLoaderPopup(common.headZipshare, 'Oops, please check the spelling of your email address', false, 'OK', function(){
213					$('#bkg').hide();
214					$(parentID +' input[name="signupEmail"]').focus();
215				});
216				return;
217    		}
218	    	if(!common.validateWithRegex(common.passwordRegex, password)){
219				common.showLoaderPopup(common.headZipshare, common.passwordNotValid, false, 'OK', function(){
220					$('#bkg').hide();
221					$(parentID +' input[name="signupPassword"]').focus();
222				});
223				return;
224    		}
225	    	if(!common.equalTo(password, repassword)){
226				common.showLoaderPopup(common.headZipshare, 'Please enter the same password in both fields', false, 'OK', function(){
227					$('#bkg').hide();
228					$(parentID +' input[name="signupRePassword"]').focus();
229				});
230				return;
231    		}
232
233	        // GA tracking
234	    	var label = "Web-default";
235	    	var gaAction = "Signup";
236	    	common.eventAttempted(gaAction, label);
237
238	    	common.showLoaderPopup(common.headZipshare,'Checking Your Email...', true);
239	    	var data = {email:email, password:password, sendActivation:'true'};
240	    	var createUserUrl = "/userprofile/create";
241	    	var objTxt = $(parentID +' input[name="signupEmail"]');
242	    	$.ajax({
243				type: "POST",
244				url: "/userprofile/check",
245				data: {email:email},
246				success: function(response){
247					// we have the response
248					if(response.emailCheck){
249					    var newErrMsg = "account exist";
250					    common.eventFailure(gaAction , label , newErrMsg);
251						common.showLoaderPopup(common.headZipshare, _alreadyExistMessage, false, 'OK', function(){
252							$('#bkg').hide();
253							if(objTxt){
254								objTxt.focus();
255							} else {
256								$('#email').focus();
257							}
258						});
259					} else if(parentID == "#signup-page"){
260						common.loginAjax(createUserUrl, data, function() {window.location = '/';}, objTxt, null , null , gaAction , label);
261					} else {
262						common.loginAjax(createUserUrl, data, null, objTxt, 'Creating Your Account...', common.signUpFailMessage , gaAction , label);
263					}
264				},
265				error: function(jqXHR) {
266					common.errorHandler(jqXHR);
267				}
268			});
269	    });
270	    $(d).on('keyup', '#signin-popup input[name="signinPassword"], #signin-page input[name="signinPassword"], #signin-zipsend-page input[name="signinPassword"], section.signin-mobile input[name="signinPassword"], #signup-popup input[name="signupRePassword"], section.signup-mobile input[name="signupRePassword"]', function(e){
271	    	if(e.keyCode == 13){
272		    	var parentID = '';
273		    	var buttonClass = '';
274		    	if($(e.target).parents('#signin-popup').length > 0){
275		    		parentID = '#signin-popup';
276		    		buttonClass = '.signin-btn';
277		    	} else if($(e.target).parents('#signin-page').length > 0){
278		    		parentID = '#signin-page';
279		    		buttonClass = '.signin-btn';
280		    	} else if($(e.target).parents('#signin-zipsend-page').length > 0){
281		    		parentID = '#signin-zipsend-page';
282		    		buttonClass = '.signin-btn';
283		    	} else if($(e.target).parents('section.signin-mobile').length > 0){
284		    		parentID = 'section.signin-mobile';
285		    		buttonClass = '.signin-btn';
286		    	} else if($(e.target).parents('#signup-popup').length > 0){
287		    		parentID = '#signup-popup';
288		    		buttonClass = '.signup-btn';
289		    	} else if($(e.target).parents('section.signup-mobile').length > 0){
290		    		parentID = 'section.signup-mobile';
291		    		buttonClass = '.signup-btn';
292		    	} else {
293		    		return;
294		    	}
295	    		$(parentID + ' ' + buttonClass).trigger('click');
296	    	}
297	    });
298		$(d).on('click', '.btnsettings', function(e) {
299			e.stopPropagation();
300			if($('#mobile_ui').css('display') == 'none'){
301				window.location = $('.signin .settingsicon').attr('href');
302			}
303		});
304		$(d).on('click', function(e) {
305//			e.stopPropagation();
306			$('.comboboxholder').hide();
307			if($('#mobile_ui').css('display') == 'block'){
308    			$('#mainholder .contentholderarrow, #mainholder .contentholder').hide();
309    			$('.shareactex320').removeClass('none');
310			} else {
311				if(!$(e.target).is($('#signin-popup')) && $(e.target).parents('#signin-popup').length < 1 && $(e.target).parents('#bkg').length < 1){
312					$('#signin-popup').addClass('none');
313				}
314				if(!$(e.target).is($('#signup-popup')) && $(e.target).parents('#signup-popup').length < 1 && $(e.target).parents('#bkg').length < 1){
315					$('#signup-popup').addClass('none');
316				}
317			}
318			$('#more_li').removeClass('active');
319			$('.contentholder .more_clouds_contentholder, .contentholder .more_clouds_arrow, #settings-popup').hide();
320			$('#myfiles-popup, .shareactex320-menu, .upgrade-info').addClass('none');
321            if(!$(e.target).is('#myfiles input.file-name, .option-popup li, .option-popup li div')){
322                var input;
323                $('#myfiles input.file-name').each(function(index) {
324                    if(!$(this).hasClass('none')) {
325                        input = $(this);
326                    }
327                });
328                if(input) {
329                    var e = jQuery.Event("keyup");
330                    e.keyCode = 27; // # ESC key code value
331                    input.trigger(e);            
332                }
333            }
334		});
335		$(d).on('click', '#settings-popup .btnupgrade, .accountseting .btnupgrade, #cloud-account-info .zipancher, .upgrade-link', function(e) {
336			window.location = '/aboutus';
337//			common.showUpgradePopup(true);
338		});
339		$(d).on('click', '#upgrade-bkg a.whiteclose, #upgrade-bkg a.cancel', function(e) {
340			common.showUpgradePopup(false);
341		});
342		$(d).on('click','#endBeta-bkg a.whiteclose, #endBeta-bkg a.endBeta_up_btn_continue.btnsave.btnactive',function(e){
343			common.openUpgradeBetaPopup(false);
344		});
345//		$(d).on('click','#endBeta-bkg a.endBeta_up_btn.btnsave.btnactive',function(e){
346//			common.openUpgradeBetaPopup(false);
347//	    	$.ajax({
348//				type: "Get",
349//				url: "/proUpgrade",
350//				data: {},
351//				success: function(response){
352//					// we have the response
353//					window.open(response.url, '', 'height='+screen.height+',width='+screen.width+',fullscreen=yes');
354//					//w.location = response.url;
355//					//common.showLoaderPopup(common.headZipshare, ultiUpgradeMsg, false, 'OK', common.hideBkg);
356//				},
357//				error: function(jqXHR) {
358//					common.errorHandler(jqXHR);
359//				}
360//			});
361////		    location.href = "http://www.winzip.com/wzgate.cgi?lang=EN&url=zipshare/upgrade"
362////			common.showLoaderPopup(common.headZipshare, ultiUpgradeMsg, false, 'OK', common.hideBkg);
363//		});	
364		$(d).on('click', '#upgrade-bkg .upgradeiicon', function(e) {
365			e.stopPropagation();
366			if($('#upgrade-bkg .upgrade-info').hasClass('none')) {
367				$('#upgrade-bkg .upgrade-info').removeClass('none');
368			} else {
369				$('#upgrade-bkg .upgrade-info').addClass('none');
370			}
371		});
372		$(d).on('click', '.plus', function(e) {
373			w.location = "/aboutus";
374		});
375		$(d).on('click', '#my_files', function(e){
376			e.stopPropagation();
377			if(!common.isUserLoggedIn()){
378				$('.signin-anchor').trigger('click');
379			} else if($('#isVerified').html() == 'true') {
380				window.location.href=$(e.target).attr('href');
381			} else {
382				common.isUserVerified(function(){
383					window.location.href=$(e.target).attr('href');
384				},function(){
385					var unvarifiedMsg_mid = "<a href='javascript:void(0)'>" + $('.signin.mailid').text().trim() + "</a>";
386					var unvarifiedMsg = unvarifiedMsg_first + unvarifiedMsg_mid + unvarifiedMsg_last;
387					common.showLoaderPopup(common.headUnverified, unvarifiedMsg, false, 'OK', common.hideBkg);
388				});
389			}
390			return false;
391		});
392
393		$(d).on('click', '#trackingDownload', function(e) {
394	        var timeStamp = $(this).attr('data-ts');
395
396	        $.ajax({
397	            type: "POST",
398	            url: "/trackingDownloadInfo",
399	            data: {timeStamp:timeStamp}
400	        });
401	    });
402	});
403	
404	/** Methods for this file **/
405	
406	var isRedirected = function(){
407		var pathName = window.location.pathname;
408		if(pathName.indexOf("/forgotPassword") != -1 || pathName.indexOf("/error") != -1){
409			window.location = "/";
410		}
411		return false;
412	};
413	
414	/** Common Methods to serve for all pages. **/
415	
416	// common pop-up method
417	var _showLoaderPopup = function(heading, bodyMessage, isLoader, buttonText, callbackMethod, callbackMethodParam, cancelButtonText) {
418		$('#bkg').show();
419		$('#bkg .popupholder').css({left:'0', top:'0', margin:'0px'});
420		$('#bkg .heading').html(heading);
421		$('#bkg p').hide();
422		$('#bkg span.loader').hide();
423		$('#bkg div.cancelsave').hide();
424		$('#bkg div.savecancel').hide();
425		if(!_isEmpty(bodyMessage)) {
426			$('#bkg p').show();
427			$('#bkg p').html(bodyMessage);
428		}
429		if(!_isEmpty(isLoader)) {
430			$('#bkg span.loader').show();
431		}
432		if(!_isEmpty(buttonText) && !_isEmpty(callbackMethod)) {
433			if(!_isEmpty(cancelButtonText)) {
434				$('#bkg div.savecancel').css({display:'block', width:'50%'});
435			} else {
436				$('#bkg div.savecancel').css({display:'block', width:'100%'});
437			}
438			var btnOK = $('#bkg div.savecancel a.btnsave'); 
439			btnOK.off();
440			btnOK.on('click', function(){
441				callbackMethod(callbackMethodParam);
442			});
443			btnOK.html(buttonText);
444			if(buttonText.toLowerCase() == 'delete') {
445				$('#bkg a.cancel, #bkg span.or').removeClass('none');
446				$('#bkg div.savecancel').css({textAlign:''});
447			} else {
448				$('#bkg a.cancel, #bkg span.or').addClass('none');
449				$('#bkg div.savecancel').css({textAlign:'center'});
450			}
451			if(!_isEmpty(cancelButtonText)) {
452				$('#bkg div.savecancel').css({textAlign:''});
453				btnOK.css('width','52%');
454			} else {
455				btnOK.css('width','26%');
456			}
457			btnOK.focus();
458		}
459		if(!_isEmpty(cancelButtonText)) {
460			$('#bkg div.cancelsave').css({float: 'left', display:'block', width:'50%'});
461			var btnCANCEL = $('#bkg div.cancelsave a.btncancel'); 
462			btnCANCEL.off();
463			btnCANCEL.on('click', function(){
464				common.hideBkg();
465			});
466			btnCANCEL.html(cancelButtonText);
467//			if(buttonText.toLowerCase() == 'delete') {
468//				$('#bkg a.cancel, #bkg span.or').removeClass('none');
469//				$('#bkg div.savecancel').css({textAlign:''});
470//			} else {
471//				$('#bkg a.cancel, #bkg span.or').addClass('none');
472//				$('#bkg div.savecancel').css({textAlign:'center'});
473//			}
474			btnCANCEL.css('width','65%');
475		}
476		var left = parseInt($('#bkg .popupholder').outerWidth() / 2);
477		var old_left = $('#bkg .popupholder').css('marginLeft');
478		if(old_left == 0 || '-'+left+'px' != old_left){
479			var top = parseInt($('#bkg div.popupholder').outerHeight() / 2);
480			$('#bkg .popupholder').css({left:'50%', top:'50%',margin:'-'+top+'px 0 0 -'+left+'px'});
481		}
482	};
483
484	var _openUpgradeBetaPopup = function(display){
485		if($('#mobile_ui').css('display')=="none") {
486			if(display) {
487				$('#trans-bkg').removeClass('none');
488				$('section.endBeta-popup').removeClass('none');
489				$('section.endBeta-popup').css({float:'none'});
490				$('#endBeta-bkg').show();
491				$('#endBeta-bkg').css({position:'absolute'});
492				$('#endBeta-bkg .popupholder').center();
493				$('#endBeta-bkg .popupholder').css({top:'10%'});
494				$.ajax({
495					type:"POST",
496					data : {notificationVal:"1"},
497					url: "/userprofile/updateNotification",
498				});
499			} else {
500				$('#trans-bkg').addClass('none');
501				$('#endBeta-bkg').hide();
502			}
503		}
504		else{
505			if(display){
506				$('#mobile-settings-wrapper').addClass('off');
507	    		$('#shareForm section').addClass('none');
508	    		$('section.endBeta-popup').removeClass('none');
509	    		$('#endBeta-bkg') .show();
510	    		$('#endBeta-bkg')[0].setAttribute('value','shown');
511				$.ajax({
512					type:"POST",
513					data : {notificationVal:"1"},
514					url: "/userprofile/updateNotification",
515				});
516			}
517			else{
518				$('#endBeta-bkg').hide();
519				$('#shareForm section').removeClass('none');
520				$('section.endBeta-popup').addClass('none');
521			}
522		}
523    };
524	var _validateWithRegex = function(sRegex, sValue){
525		return sRegex.test(sValue);
526	};
527
528	var _isEmpty = function(sValue){
529		if(sValue == null || sValue == 'undefined' || sValue == ""){
530			return true;
531		}
532		return false;
533	};
534	
535	var _equalTo = function(sValue1, sValue2){
536		if(sValue1 != 'undefined' && sValue1 != null && sValue2 != 'undefined' && sValue2 != null && sValue1 == sValue2){
537			return true;
538		}
539		return false;
540	};
541
542	var _fileSizeString = function(fileSizeStr) {
543		var fileSize;
544		try{
545			fileSize = parseInt(fileSizeStr);
546		} catch(ex) {
547			return "0bytes";
548		}
549		if(fileSize < 0) {
550			return "NA";
551		}
552		if((fileSize / (1024 * 1024)) > 1) {
553			return parseInt(fileSize / (1024 * 1024)) + "MB";
554		} else if((fileSize / 1024) > 1) {
555			return parseInt(fileSize / 1024) + "kB";
556		} else {
557			return fileSize + "bytes";
558		}
559
560	};
561	
562	var _convParamsToQueryStr = function(params) {
563		var str = "";
564		if (params) {
565			for (var obj in params) {
566				str = str + obj + "=" + params[obj] + "&";
567			}
568		}
569		if (str.length > 0) {
570			str = "?" + str;
571		}
572		return str;
573	};
574	
575	var _errorHandler = function(jqXHR) {
576		$('#pro-bkg').hide();
577		$('#trans-bkg').addClass('none');
578		var msg = 'There is some error!';
579		if(jqXHR) {
580			if(jqXHR.status != 500) {
581				msg = jqXHR.responseText;
582				if (msg == null || msg=='') {
583					msg = defultErrorMsg;
584				}
585			}
586		}
587		_showLoaderPopup(_headZipshare, msg, false, 'OK', _hideBkg);
588	};
589
590	var _checkEmailPasswordBlank = function(email,password, objTxt){
591		if(_isEmpty(email) || _isEmpty(password)) {
592			_showLoaderPopup(common.headZipshare, 'Please enter a valid email and password.', false, 'OK', function(){
593				$('#bkg').hide();
594				if(objTxt){
595					objTxt.focus();
596				} else {
597					$('#email').focus();
598				}
599			});
600			return true;
601		}
602		return false;
603	};
604	
605	var _afterSuccessfulLogin = function(response) {
606		if($('#mobile_ui').css('display') == 'block'){
607			$('section').removeClass('none');
608			$('section.signin-mobile, section.signup-mobile').addClass('none');
609		}
610
611		var user = response.user;
612		var verified = "false";
613		var lastSharedAt = "never";
614		if (user.verified) {
615			verified ="true"
616		}
617		if (!common.isEmpty(user.lastSharedAt)) {
618			lastSharedAt = user.lastSharedAt;
619		}
620		$('div.signin').html(user.email + '<span class="donesettings"><a href="/settings" class="settingsicon"></a></span>'
621			+ '<input type="hidden" name="u_e" id="u_e" value="' +user.email+ '">'
622			+ '<input type="hidden" name="u_id" id="u_id" value="' +user.userId+ '">'
623			+ '<input type="hidden" name="u_t" id="u_t" value="' +user.userType+ '">'
624			+ '<input type="hidden" name="u_cd" id="u_cd" value="' +user.createDate+ '">'
625			+ '<input type="hidden" name="u_v" id="u_v" value="' +verified+ '">'
626			+ '<input type="hidden" name="u_ls" id="u_ls" value="' +lastSharedAt+ '">'
627		);
628		$('.signin-email-li').html('<a href="/settings"><span class="settingsicon"></span>' + user.email + '</a>');
629		$('.signup-email-li').addClass('none');
630		if(user.userType != 0) {
631			$('.upgradecol input.up_btn').addClass('none');
632			$('.wrapperholder form#shareForm .heading h1').html('Welcome to ZipShare Pro');
633			$('.wrapperholder form#shareForm .heading .learnholder').html('');
634			$('.protect .plus').hide();
635			$('li.Pro div.upgradecol').remove();
636		} else if(user.userType == 0) {
637			$('.wrapperholder form#shareForm .heading .zipshare-mediafire-add').removeClass('none');
638			$('.wrapperholder form#shareForm .maincontent .zipshare-mediafire-add-mob').removeClass('none');
639			$('.mobile-info .mediafire-pro-anchor').removeClass('none');
640			$('.wrapperholder form#shareForm .heading h1').remove();
641		}
642		$('#isVerified').html(user.verified.toString());
643		$('#from').remove();
644		$('.mailChimpTermTextPadding').remove();
645		$('div.sharewithblock').css('margin-top','0px');
646		$('div.sharewithblock span.three').removeClass('three').addClass('two');
647		if($('#shareForm').length > 0){
648			var shareForm = $('#shareForm')[0];
649			//populating social media form fields
650			$.each(user.socialMediaInfos, function(index, info) {
651				if (info.socialMediaName == "facebook" && common.isEmpty(shareForm.fbA
651ccessToken.value)) {
652					if (!common.isEmpty(info.accessToken)) {
653						shareForm.fbAccessToken.value = info.accessToken;
654						shareForm.fbAccessTokenExpires.value = info.expiryTime;
655					} else {
656						shareForm.fbAccessToken.value = "";
657						shareForm.fbAccessTokenExpires.value = "";
658					}
659				} else if (info.socialMediaName == "twitter" && common.isEmpty(shareForm.twitterAccessToken.value) && common.isEmpty(shareForm.twitterAccessTokenSecret.value)) {
660					if (!common.isEmpty(info.accessToken) && !common.isEmpty(info.accessTokenSecret)) {
661						shareForm.twitterAccessToken.value = info.accessToken;
662						shareForm.twitterAccessTokenSecret.value = info.accessTokenSecret;
663					} else {
664						shareForm.twitterAccessToken.value = "";
665						shareForm.twitterAccessTokenSecret.value = "";
666					}
667				} else if (info.socialMediaName == "linkedin" && common.isEmpty(shareForm.linkedinAccessToken.value) && common.isEmpty(shareForm.linkedinAccessTokenSecret.value)) {
668					if (!common.isEmpty(info.accessToken) && !common.isEmpty(info.accessTokenSecret)) {
669						shareForm.linkedinAccessToken.value = info.accessToken;
670						shareForm.linkedinAccessTokenSecret.value = info.accessTokenSecret;
671						shareForm.linkedinAccessTokenExpires.value = info.expiryTime;
672					} else {
673						shareForm.linkedinAccessToken.value = "";
674						shareForm.linkedinAccessTokenSecret.value = "";
675						shareForm.linkedinAccessTokenExpires.value = "";
676					}
677				}
678			});
679		}
680        //updating cloud info
681		common.getCloudQuota();
682		common.getUserSharedEmails();
683		
684        //updating user infos
685        if(user.userType == 0) {
686        	$('#Passwordprotectfiles').addClass("u_fr");
687        } else {
688        	$('.myaccountinfo .btnupgrade').remove();
689        	$('#Passwordprotectfiles').addClass("u_pr");
690        }
691        
692        //hiding legal links
693        $('.footnote').addClass('none');
694        
695        //open end beta message
696        if( !common.isBetaEnabled() && user.notification == 0 && $('#endBeta-bkg').length !=0)
697        	common.openUpgradeBetaPopup(true);
698	};
699	
700	var _getCloudQuota = function(page) {
701		$.ajax({
702			type: "POST",
703			url: "/userprofile/getUserCloudQuota",
704			data: {page:page},
705			beforeSend: function() {
706				$('#cloudquota-wrapper').html('Calculating quota...');
707			},
708			success: function(response) {
709				var doc = $(response);
710				$('#cloudquota-wrapper').html($('#cloudquota-wrapper', doc).html());
711				$('#cloudquota-wrapper').removeClass('require');
712				if(page && page == 'myfiles') {
713					$('#cloud-account-info').html($('#cloud-account-info', doc).html());
714					var cloudName = $('#mainholder li.active').attr('id').split('_')[0];
715					if(cloudName == 'shared') {
716						cloudName = 'zipshare';
717					}
718					$('#cloud-account-info .account-info').addClass('none');
719					$('#cloud-account-info .account-info.' + cloudName).removeClass('none');
720				}
721			}
722		});
723	};
724	jQuery.fn.center = function(parent) {
725	    if (parent) {
726	        parent = this.parent();
727	    } else {
728	        parent = window;
729	    }
730	    this.css({
731	        "position": "absolute",
732	        "top": ((($(parent).height() - this.outerHeight()) / 2) + $(parent).scrollTop() + "px"),
733	        "left": ((($(parent).width() - this.outerWidth()) / 2) + $(parent).scrollLeft() + "px")
734	    });
735	return this;
736	};
737	
738	var _getUserSharedEmails = function() {
739		if($('.sharewithblock, .add-share').length > 0) {
740			$.ajax({
741				type: "GET",
742				url: "/userprofile/getUserSharedEmails",
743				success: function(response) {
744					if(!_isEmpty(response) && response.length > 0) {
745						$('#recipentEmailDiv .recipent_email_input').autocomplete({
746			                minLength: 0,
747			                source: response,
748			                focus: function (event, ui) {
749			                    $("#recipentEmailDiv .recipent_email_input").val(ui.item.label);
750			                    return false;
751			                },
752			                select: function (event, ui) {
753			                	var e = jQuery.Event( 'keyup', { which: $.ui.keyCode.ENTER } );
754			                	$('input[name="recipent_email_input"]').trigger(e);
755			                	$(this).val('');
756			                	return false;
757			                }
758			            }).autocomplete( "widget" ).addClass( "recipentEmailAutoCompleteUL" );
759					}
760				}
761			});
762		}
763	};
764	
765	var _loginAjax = function(url, data, success, objTxt, loadingMsg, errMsg, gaAction, label) {
766		$.ajax({
767			type: "POST",
768			url: url,
769			data: data,
770			beforeSend: function() {
771				if(_isEmpty(loadingMsg)) {
772					loadingMsg = 'Logging In...';
773				}
774				common.showLoaderPopup(common.headZipshare,loadingMsg, true);
775			},
776			success: function(response, status, xhr) {
777
778				common.eventSuccessful(gaAction, label , response.user.userId);
779
780				if(isRedirected()) {return;}
781				$('#signin-popup, #signup-popup').addClass('none');
782				common.afterSuccessfulLogin(response);
783				$('#bkg').hide();
784
785				// Initialize OneSignal notification
786				common.initializeOneSignalNotification();
787
788				if(response.sentActivation){
789					common.showLoaderPopup(common.headZipshare, sentActivationLinkMsg, false, 'OK', function(){
790						$('#bkg').hide();
791						if (success) {
792							success();
793						}
794					});
795				}
796				else if (success) {
797					success();
798				}
799			},
800			error: function() {
801				var newErrMsg = null;
802				if (gaAction == 'Signin') {
803					newErrMsg = 'incorrect email or password';
804				} else if (gaAction == 'Signup') {
805					newErrMsg = 'unable to create account';
806				}
807				common.eventFailure(gaAction , label , newErrMsg);
808
809				if(_isEmpty(errMsg)) {
810					errHead = 'INCORRECT EMAIL OR PASSWORD';
811					errMsg = loginFailMessage;
812				} else {
813					errHead = 'UNABLE TO CREATE USER';
814				}
815
816				common.showLoaderPopup('<span class="incorrect-email">'+errHead+'</span>', errMsg, false, 'OK', function(){
817					$('#bkg').hide();
818					if(objTxt){
819						objTxt.focus();
820					} else {
821						$('#email').focus();
822					}
823				});
824			}
825		});
826	};
827	
828	var _hideBkg = function() {
829		$('#bkg').hide();
830	};
831	
832	var _showUpgradePopup = function(display) {
833		if(display) {
834			$('#trans-bkg').removeClass('none');
835			$('#upgrade-bkg').show();
836			var left = parseInt($('#upgrade-bkg .popupholder').outerWidth() / 2);
837			var old_left = $('#upgrade-bkg .popupholder').css('marginLeft');
838			if(old_left == 0 || '-'+left+'px' != old_left){
839				var top = parseInt($('#upgrade-bkg div.popupholder').outerHeight() / 2);
840				$('#upgrade-bkg .popupholder').css({left:'50%', top:'50%',margin:'-'+top+'px 0 0 -'+left+'px'});
841			}
842		} else {
843			$('#trans-bkg').addClass('none');
844			$('#upgrade-bkg').hide();
845		}
846	};
847	var _getCloudDisplayName = function(cloudName) {
848		var cloudDisplayName = "";
849		switch(cloudName) {
850			case 'zipshare': cloudDisplayName = "ZipShare";break;
851			case 'dropbox': cloudDisplayName = "Dropbox";break;
852			case 'drive': cloudDisplayName = "Google Drive";break;
853			case 'skydrive': cloudDisplayName = "SkyDrive";break;
854			case 'box': cloudDisplayName = "Box";break;
855			case 'hightail': cloudDisplayName = "Hightail";break;
856			case 'cloudme': cloudDisplayName = "CloudMe";break;
857			case 'sugarsync': cloudDisplayName = "SugarSync";break;
858		}
859		return cloudDisplayName;
860	};
861	var _getSocialMediaDisplayName = function(socialMedia) {
862		var socialMediaDisplayName = "";
863		switch(socialMedia) {
864			case 'facebook': socialMediaDisplayName = "Facebook";break;
865			case 'twitter': socialMediaDisplayName = "Twitter";break;
866			case 'linkedin': socialMediaDisplayName = "LinkedIn";break;
867		}
868		return socialMediaDisplayName;
869	};
870	var _checkFileAndLimits = function(data, success) {
871		$.ajax({
872			type: "POST",
873			url: "/share",
874			data: data,
875			beforeSend: function() {
876				common.showLoaderPopup(common.headZipshare,'Checking file size with your subscription limit and sharing your contents..', true);
877				$('#share').removeClass('btncommon').addClass('btndeactive');
878			},
879			success: function(response) {
880				$('#bkg').hide();
881				if(response.statusCode == 200) {
882					if (success) {
883						w.location = response.redirectLink;
884					}
885				}else if(response.statusCode == 507) {
886					common.showLoaderPopup(common.headZipshare, noActiveSubscribedCloud, false, 'OK', common.hideBkg);
887				}else if(response.statusCode == 406) {
888				    var limitExeedMsg = response.statusMsg;
889					common.showLoaderPopup(common.headZipshare, limitExeedMsg, false, 'OK', common.hideBkg);
890				}
891			},
892			error: function(jqXHR) {
893				common.errorHandler(jqXHR);
894			}
895		});
896	};
897	var _isUserLoggedIn = function(){
898		if($('.donesettings').length != 0){
899			return true;
900		}
901		else
902			return false;
903	};
904
905	var _isUserVerified = function(callbackVerified, callbackNonVerified){
906		$.ajax({
907			type : 'GET',
908			url : '/userprofile/isUserVerified',
909			data : {},
910			beforeSend : function() {
911				common.showLoaderPopup(common.headZipshare,'Checking verification...', true);
912			},
913			success : function(response) {
914				$('#bkg').hide();
915				if(response) {
916					callbackVerified();
917				} else {
918					callbackNonVerified();
919				}
920			},
921			error : function(jqXHR) {
922				common.errorHandler(jqXHR);
923			}
924		});
925	};
926
927	var _isBetaEnabled = function(){
928		if($('#isBetaEnabledDiv').length == 1){
929			return true;
930		}
931		else
932			return false;
933	};
934	var _checkCloudAuthorization = function(cloudName, success) {
935		$.ajax({
936			type: "POST",
937			url: "/myfiles/checkCloudAuthorization",
938			data: {cloudName:cloudName},
939			beforeSend: function() {
940				common.showLoaderPopup(common.headZipshare, 'Checking cloud authorization.', true);
941			},
942			success: function(response) {
943				$('#pro-bkg').hide();
944				$('#trans-bkg').addClass('none');
945				if(success) {
946					success(response, cloudName);
947				}
948			},
949			error: function(jqXHR) {
950				if(jqXHR.statusText != 'abort') {
951					common.errorHandler(jqXHR);
952				}
953			}
954		});
955	};
956
957	var _infiniteScrollEvenBind = function(obj) {
958		var scrollDiv = $(obj.scrollDiv);
959		var padding = obj.padding;
960		var nextSelector = $(obj.nextSelector);
961		var callback = obj.callback;
962		var isFetching = false;
963		
964		if(common.isEmpty(scrollDiv)){
965			scrollDiv = d;
966		}
967		
968		$(d).on('scroll', function(e) {
969			if (isFetching) {
970				return;
971			}
972			isFetching = true;
973			var selectorPosition = nextSelector.offset().top + nextSelector.height() + padding;
974			var scrollPosition = scrollDiv.scrollTop() + scrollDiv.height();
975			if(selectorPosition < scrollPosition) {
976				callback(function(){
977					isFetching = false;
978				});
979			} else {
980				isFetching = false;
981			}
982		});
983	};
984
985	var _resendActivationLink = function() {
986		common.hideBkg();
987		var headActivation = 'ACTIVATION CODE';
988		$.ajax({
989			type: "POST",
990			url: "/userprofile/resendactivation",
991			beforeSend: function(){
992				common.showLoaderPopup(headActivation, 'Sending Activation Code', true);
993			},
994			success: function(response){
995				common.showLoaderPopup(headActivation, 'Sent', true);
996				$('#bkg').fadeOut('slow');
997			},
998			error: function(jqXHR) {
999				common.errorHandler(jqXHR);
1000			}
1001		});
1002	};
1003
1004    var _eventAttempted = function(gaAction, label) {
1005        var dataArray = {
1006            "gaAction" : gaAction,
1007            "label" : label
1008        };
1009        var attempted = gaAction + " attempted";
1010
1011        if(gaAction == "Signup"){
1012            ga('send', 'event', 'Signins and Signups', attempted, label, {
1013                'dimension2' : label,
1014                'metric3' : '1',
1015            });
1016        } else if ((gaAction == "Signin")){
1017            ga('send', 'event', 'Signins and Signups', attempted, label, {
1018                'dimension3' : label,
1019                'metric6' : '1',
1020            });
1021        }
1022    }
1023
1024    var _eventSuccessful = function(gaAction, label , userId) {
1025        var dataArray = {
1026            "gaAction": gaAction, 
1027            "label": label , 
1028            "userId": userId
1029        };
1030        var successful = gaAction + " successful";
1031
1032        ga('set', '&uid', userId);
1033        if(gaAction == "Signup"){
1034            ga('send', 'event', 'Signins and Signups', successful , label, {
1035                'dimension1': 'Yes',
1036                'dimension2' : label,
1037                'dimension4': userId,
1038                'metric1': '1',
1039            });
1040        } else if ((gaAction == "Signin")){
1041            ga('send', 'event', 'Signins and Signups', successful , label, {
1042                'dimension1': 'Yes',
1043                'dimension3' : label,
1044                'dimension4': userId,
1045                'metric4': '1',
1046            });
1047        }
1048    }
1049
1050    var _eventFailure = function(gaAction , label , errorMsg) {
1051        var dataArray = {
1052            "gaAction": gaAction, 
1053            "errorMsg": errorMsg
1054        };
1055        var failed = gaAction + " failed";
1056        var showErrorMsg = label + ": " + errorMsg;
1057
1058        if(gaAction == "Signup"){
1059            ga('send', 'event', 'Signins and Signups', failed, showErrorMsg, {
1060                'dimension2': label,
1061                'metric2': 1,
1062            });
1063        } else if ((gaAction == "Signin")){
1064            ga('send', 'event', 'Signins and Signups', failed, showErrorMsg, {
1065                'dimension3': label,
1066                'metric5': 1,
1067            });
1068        }
1069    }
1070
1071    var _initializeOneSignalNotification = function(){
1072        var browse_id = $('#b_id').val();
1073        var saf_id = $('#s_id').val();
1074        OneSignal.push(["init", {
1075            appId: browse_id,
1076            safari_web_id: saf_id,
1077            autoRegister: false,    //Default true. Automatically show browser prompt to accept notifications.
1078            notifyButton: {
1079                enable: true,       // Set to false to hide
1080                showCredit: false,  // hide the 'Powered by OneSignal' text
1081                colors: {           // Customize the colors of the main button and dialog popup button
1082                    'circle.background': '#1b6494',
1083                    'dialog.button.background': '#1b6494'
1084                }
1085            },
1086
1087            promptOptions: {
1088                showCredit: false // Hide Powered by OneSignal
1089//                siteName: "ZipShare" // Change the large URL on top
1090            }
1091        }]);
1092
1093        //OneSignal.push(["sendTags", {"userId": $('#u_id').val(), "email": $('#u_e').val(), "userType": $('#u_t').val(), "verified": $('#u_v').val(), "createdAt": $('#u_cd').val().toString(), "lastSharedAt": $('#u_ls').val()}, function() {
1094            // Callback called when tags have finished sending  
1095        //}]);
1096
1097        OneSignal.push(function() {
1098            // Occurs when the user's subscription changes to a new value.
1099            OneSignal.on('subscriptionChange', function (isSubscribed) {
1100                if (isSubscribed) {
1101                    OneSignal.push(["sendTags", {"userId": $('#u_id').val(), "email": $('#u_e').val(), "userType": $('#u_t').val(), "verified": $('#u_v').val(), "createdAt": $('#u_cd').val().toString(), "lastSharedAt": $('#u_ls').val()}, function() {
1102                        // Callback called when tags have finished sending  
1103                    }]);
1104                }
1105            });
1106        });
1107
1108     // Is user subcribed or not
1109        OneSignal.push(function() {
1110            OneSignal.isPushNotificationsEnabled(function(isEnabled) {
1111                if (isEnabled) {
1112                    OneSignal.push(["sendTags", {"userId": $('#u_id').val(), "email": $('#u_e').val(), "userType": $('#u_t').val(), "verified": $('#u_v').val(), "createdAt": $('#u_cd').val().toString(), "lastSharedAt": $('#u_ls').val()}, function() {
1113                        // Callback called when tags have finished sending  
1114                    }]);
1115                }
1116            });
1117        });
1118    };
1119
1120    var _fileShareNotification = function() {
1121        common.showLoaderPopup(_bn_heading,_bn_body_message, false, "Yes, Enable Notifications", function(){
1122            $('#bkg').hide();
1123            OneSignal.push(function() {
1124                OneSignal.registerForPushNotifications();
1125                OneSignal.setSubscription(true);
1126            });
1127        },
1128        null, "No, Thank You");
1129
1130        var bnButtonSpan = '<span class="iconbell"></span><span style="display: inline-block;">Yes, Enable Notifications</span>';
1131        var cancleBtnDiv = "<div class='savecancel bnCancleBtn' style='display: block; margin-bottom: 15px;'><a class='btnsave btnactive' href='javascript:void(0);' style='width: 80%;'>No, Thank You</a></div>";
1132        $('#bkg .popupholder').css({ 'width': '270px', 'margin': '-225px 0 0 -149px'});
1133        $('#bkg .heading').css({'text-align':'center', 'width':'270px'});
1134        $('#bkg .popupcontent').css({'width': '270px', 'font-family': 'opensans-regular', 'font-size': '14px'});
1135        $('#bkg .popupcontent p').after("<p>Want to turn on these notifications?</p>");
1136        $('#bkg .savecancel a').html('');
1137        $('#bkg .savecancel a').append(bnButtonSpan);
1138        $('#bkg .savecancel').after(cancleBtnDiv);
1139        $('#bkg .savecancel').css({'width': '100%', 'text-align': 'center', 'margin-top': '10px'});
1140        $('#bkg .savecancel a').css({'width': '80%'});
1141    }
1142
1143    var _getSharedEmails = function(success) {
1144        $('#share').removeClass('btncommon').addClass('btndeactive');
1145        $.ajax({
1146            type: "GET",
1147            url: "/userprofile/sharedEmails",
1148            success: function(response) {
1149                var userType = JSON.parse(response).userType;
1150
1151				var isBlockedToShare = JSON.parse(response).isBlockedToShare;
1152  				var userEmail = JSON.parse(response).userEmail;
1153              	if(isBlockedToShare) {
1154                   common.showLoaderPopup(common.headZipshare, "<p style='text-align:left;'>Dear <span class='bold'>"+userEmail+"</span>, <br><br> We have detected unusual activity with your account. To safeguard our service your account has been temporarily blocked. You will not be able to share new files. <br><br> For help please contact  <a href='mailto:[email protected]' target='_blank'>[email protected]</a><br><br> Kind Regards,<br> ZipShare Team</p>", false, 'OK', function(){
1155                      $('#bkg .popupholder').removeClass('emailrestrictPopup');
1156                      $('#bkg .popupholder .heading').removeClass('emailrestrictbody');
1157                      $('#bkg .popupholder .popupcontent').removeClass('emailrestrictbody');
1158                      $('#bkg').hide();
1159                      $('#share').removeClass('btncommon').addClass('btndeactive');
1160                  });
1161                  $('#bkg .popupholder').addClass('emailrestrictPopup');
1162                  $('#bkg .popupholder .heading').addClass('emailrestrictbody');
1163                  $('#bkg .popupholder .popupcontent').addClass('emailrestrictbody');
1164                  return;
1165 	            }
1166                if (userType == 0) {
1167                    var emailCount = JSON.parse(response).sharedEmails;
1168                    var quotaLimit = JSON.parse(response).emailQuota;
1169
1170                    if (emailCount >= quotaLimit) {
1171                        var renewalDate = JSON.parse(response).renewalDate;
1172                        var localDate = new Date(renewalDate);
1173                        localDate = localDate.toString().slice(0, 24);
1174                        common.showLoaderPopup(common.headZipshare, "You have reached your maximum daily limit (<span class='bold'>"+quotaLimit+"</span> emails) for email file sharing. This limit will reset <span class='bold'>"+localDate+"</span>, or you can upgrade to ZipShare <a href='/aboutus#aboutpage' class='plus'>Pro</a> to remove this restriction.", false, 'OK', function(){
1175                            $('#bkg .popupholder').removeClass('emailrestrictPopup');
1176                            $('#bkg .popupholder .heading').removeClass('emailrestrictbody');
1177                            $('#bkg .popupholder .popupcontent').removeClass('emailrestrictbody');
1178                            $('#bkg').hide();
1179                            $('#share').removeClass('btncommon').addClass('btndeactive');
1180                        });
1181                        $('#bkg .popupholder').addClass('emailrestrictPopup');
1182                        $('#bkg .popupholder .heading').addClass('emailrestrictbody');
1183                        $('#bkg .popupholder .popupcontent').addClass('emailrestrictbody');
1184                        return;
1185                    }
1186
1187                    var resNo = $('#recipentEmailDiv input[name=recipientEmail]').length;
1188                    var remainigEmails = quotaLimit - emailCount;
1189                    if(resNo > remainigEmails) {
1190                        common.showLoaderPopup(common.headZipshare, "You are trying to share your file(s) with <span class='bold'>"+resNo+"</span> email recipients, but there are only <span class='bold'>"+remainigEmails+"</span> emails remaining in your daily limit. Please remove <span class='bold'>"+(resNo-remainigEmails)+"</span> email recipient(s) to complete sharing of your file(s), or you can upgrade to ZipShare <a href='/aboutus#aboutpage' class='plus'>Pro</a> to remove this restriction.", false, 'OK', function(){
1191                            $('#bkg .popupholder').removeClass('emailrestrictPopup');
1192                            $('#bkg .popupholder .heading').removeClass('emailrestrictbody');
1193                            $('#bkg .popupholder .popupcontent').removeClass('emailrestrictbody');
1194                            $('#bkg').hide();
1195                            $('#share').removeClass('btncommon').addClass('btndeactive');
1196                        });
1197                        $('#bkg .popupholder').addClass('emailrestrictPopup');
1198                        $('#bkg .popupholder .heading').addClass('emailrestrictbody');
1199                        $('#bkg .popupholder .popupcontent').addClass('emailrestrictbody');
1200                        return;
1201                    }
1202                }
1203                success();
1204
1205            },
1206            error: function(jqXHR) {
1207                common.errorHandler(jqXHR);
1208            }
1209        });
1210    }
1211
1212    common = {
1213		emailRegex: _emailRegex,
1214		passwordRegex: _passwordRegex,
1215		passwordProtectFileRegex: _passwordProtectFileRegex,
1216		headZipshare: _headZipshare,
1217		headFetching: _headFetching,
1218		head_deleting: _head_deleting,
1219		headUploading: _headUploading,
1220		headRenaming: _headRenaming,
1221		headMoving: _headMoving,
1222		head_delete: _head_delete,
1223		headUnzip: _headUnzip,
1224		headRename: _headRename,
1225		headMove: _headMove,
1226		headZip: _headZip,
1227		head_download: _head_download,
1228		headRenameTo: _headRenameTo,
1229		headGraduate: _headGraduate,
1230		headUnverified: _headUnverified,
1231		operationSuccess: _operationSuccess,
1232		showLoaderPopup: _showLoaderPopup,
1233		openUpgradeBetaPopup: _openUpgradeBetaPopup,
1234        validateWithRegex: _validateWithRegex,
1235		isEmpty: _isEmpty,
1236		equalTo: _equalTo,
1237        fileSizeString: _fileSizeString,
1238        convParamsToQueryStr: _convParamsToQueryStr,
1239        errorHandler: _errorHandler,
1240        checkEmailPasswordBlank: _checkEmailPasswordBlank,
1241        loginAjax: _loginAjax,
1242        afterSuccessfulLogin: _afterSuccessfulLogin,
1243        hideBkg: _hideBkg,
1244        showUpgradePopup: _showUpgradePopup,
1245        getCloudDisplayName: _getCloudDisplayName,
1246        getSocialMediaDisplayName: _getSocialMediaDisplayName,
1247        folderDownloadMsg: _folderDownloadMsg,
1248        checkFileAndLimits: _checkFileAndLimits,
1249        checkCloudAuthorization: _checkCloudAuthorization,
1250        getCloudQuota: _getCloudQuota,
1251        getUserSharedEmails: _getUserSharedEmails,
1252        isUserLoggedIn:_isUserLoggedIn,
1253        isUserVerified:_isUserVerified,
1254        isBetaEnabled:_isBetaEnabled,
1255        signUpFailMessage: _signUpFailMessage,
1256        infiniteScrollEvenBind: _infiniteScrollEvenBind,
1257        resendActivationLink: _resendActivationLink,
1258        alreadyExistMessage: _alreadyExistMessage,
1259        fileNameRegex: _fileNameRegex,
1260        nameSupportMsg: _nameSupportMsg,
1261        errorInUploadMsg: _errorInUploadMsg,
1262        passwordNotValid: _passwordNotValid,
1263        eventSuccessful: _eventSuccessful,
1264        eventAttempted: _eventAttempted,
1265        eventFailure: _eventFailure,
1266        initializeOneSignalNotification: _initializeOneSignalNotification,
1267        bn_heading: _bn_heading,
1268        bn_body_message: _bn_body_message,
1269        fileShareNotification: _fileShareNotification,
1270        getSharedEmails: _getSharedEmails
1271    };
1272	return common;
1273}(window, document));

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.