PageSourceSearch

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

js zipsend.com collected 2026-10-02 23:33:35 UTC 56,386 bytes, 1,362 lines download raw bytes

1(function (w, d){
2	"use strict";
3	//Global to page
4	var checkBoxCounter = 0;
5	var messageLength = 0;
6	var maxMsgLimit = 1000;
7	var twitterMsgLimit = 120;
8	var linkedinMsgLimit = 700;
9	var emailTimeOutId = false;
10	var uploadMsg = 'Uploading your file(s) to ZipShare';
11	var noFileWarningMsg = 'Please add a file first.';
12	var noLoginWarningMsg = 'Please login to use this feature.';
13	var blankFileMsg = 'One or more files were not uploaded because their file sizes are 0 bytes.';
14	var unsupportedIEMsg = "ZipShare currently does not support your browser. Please upgrade to a more recent version or use another browser such as Internet Explorer 11, Firefox, or Google Chrome.";
15	var passwordCheckAjax = false;
16	var emailCheckAjax = false;
17	var passwordSupportMsg = "This password may cause compatibility problems under MS-DOS or other operating systems.  Please use only the English language letters A-Z, numerals, and standard punctuation marks such as #, *, and !.";
18	var fileNameLengthSupportMsg = "Because of file name size limitations in certain cloud services, ZipShare supports files names containing up to " + fileNameLimit + " characters. Please use a shorter name for this operation.";
19	
20    // On-Ready calls
21	$(d).ready(function(e){
22		if(common.isUserLoggedIn() && $('#endBeta-bkg').length !=0){
23			common.openUpgradeBetaPopup(true);
24		}
25		if($('#cloudquota-wrapper').hasClass('require')) {
26			common.getUserSharedEmails();
27		}
28		
29		// Method to show error message for not supported browser usage
30	    if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
31			var ieversion=new Number(RegExp.$1); // capture x.x portion and store as a number
32			if (ieversion<=9) {
33				$('#bkg').show();
34				$('#bkg .popupholder').css({left:'0', top:'0', margin:'0px'});
35				$('#bkg .heading').html("ZIPSHARE");
36				$('#bkg p').hide();
37				$('#bkg span.loader').hide();
38				$('#bkg div.savecancel').hide();
39				$('#bkg p').show();
40				$('#bkg p').html(unsupportedIEMsg);
41				$('#bkg div.savecancel').css({display:'block', width:'100%'});
42				var btnOK = $('#bkg div.savecancel a.btnsave'); 
43				btnOK.off();
44				btnOK.on('click', function() {
45					$('#bkg').hide();
46				});
47				btnOK.html("OK");
48				$('#bkg a.cancel, #bkg span.or').addClass('none');
49				$('#bkg div.savecancel').css({textAlign:'center'});
50				btnOK.css('width','26%');
51				btnOK.focus();
52				var left = parseInt($('#bkg .popupholder').outerWidth() / 2);
53				var top = parseInt($('#bkg div.popupholder').outerHeight() / 2);
54				$('#bkg .popupholder').css({left:'50%', top:'50%',margin:'-'+top+'px 0 0 -'+left+'px'});
55			}
56		}
57
58
59        $('#recipentEmail').attr('checked', false);
60        $('#Facebook').attr('checked', false);
61        $('#Twitter').attr('checked', false);
62        $('#linkedin').attr('checked', false);
63        $('#message_box textarea').val('');
64
65//        $.removeCookie("twitterAccessToken");
66//        $.removeCookie("twitterAccessTokenSecret");
67
68//        $('#shareForm')[0].FBAccessToken.value = "";
69//        $('#shareForm')[0].linkedinAccessToken.value = "";
70//        $('#shareForm input:hidden[name=FBGroupValue]').val('');
71//        $('#shareForm input:hidden[name=INGroupValue]').val('');
72
73        
74        var showUploadErrorPopup = function(response, emptyFiles) {
75        	if(response.length == 0 && emptyFiles) {
76        		common.showLoaderPopup(common.headZipshare, 'Empty folder(s) and size 0 file(s) cannot be uploaded.', false, 'OK', common.hideBkg);
77        	} else if(response.length != 0 && emptyFiles) {
78        		common.showLoaderPopup(common.headZipshare, blankFileMsg, false, 'OK', common.hideBkg);
79        	} else if(response.length == 0 && !emptyFiles) {
80        		common.showLoaderPopup(common.headZipshare, 'Empty folder(s) cannot be uploaded.', false, 'OK', common.hideBkg);
81        	} else {
82        		common.hideBkg();
83        	}
84        };
85        var showFilenameErrorPopup = function(foriegnFileName, emptyFile, fileNameLengthSupport) {
86			if(foriegnFileName) {
87				common.showLoaderPopup(common.headZipshare, common.nameSupportMsg, false, 'OK', function() {
88    				if(emptyFile) {
89    					common.showLoaderPopup(common.headZipshare, blankFileMsg, false, 'OK', function() {
90    	    				if(fileNameLengthSupport) {
91    	    					common.showLoaderPopup(common.headZipshare, fileNameLengthSupportMsg, false, 'OK', common.hideBkg);
92    	    				} else {
93    	    					common.hideBkg();
94    	    				}
95    					});
96    				} else if(fileNameLengthSupport) {
97    					common.showLoaderPopup(common.headZipshare, fileNameLengthSupportMsg, false, 'OK', common.hideBkg);
98    				} else {
99    					common.hideBkg();
100    				}
101				});
102				return true;
103			} else if(emptyFile) {
104				common.showLoaderPopup(common.headZipshare, blankFileMsg, false, 'OK', function() {
105    				if(fileNameLengthSupport) {
106    					common.showLoaderPopup(common.headZipshare, fileNameLengthSupportMsg, false, 'OK', common.hideBkg);
107    				} else {
108    					common.hideBkg();
109    				}
110				});
111				return true;
112			} else if(fileNameLengthSupport) {
113				common.showLoaderPopup(common.headZipshare, fileNameLengthSupportMsg, false, 'OK', common.hideBkg);
114				return true;
115			}
116			return false;
117        };
118		var typewatch = (function(){
119			  var timer = 0;
120			  return function(callback, ms){
121			    clearTimeout (timer);
122			    timer = setTimeout(callback, ms);
123			  };
124		})();
125		var isValidEmailChar = function(keyCode) {
126			if(keyCode == 8 || keyCode == 46 || keyCode == 173 || keyCode == 190 || (keyCode >= 48 && keyCode <= 90)){
127				return true;
128			}
129			return false;
130		};
131		var isNotValidEmailChar = function(keyCode) {
132			if(keyCode == 32 || keyCode == 188 || keyCode == 191 || keyCode == 192){
133				return true;
134			}
135			return false;
136		};
137		var checkArrow = function(keyCode){
138			if(keyCode >= 37 && keyCode <= 40){
139				return true;
140			}
141			return false;
142		};
143		var checkShareEnabled = function(){
144			var isDone = $('span.one').hasClass('active');
145			if($('.sharewithblock span.two').length < 1){
146				isDone = isDone && $('#from span.two').hasClass('active') && $('.sharewithblock span.three').hasClass('active');
147			} else {
148				isDone = isDone && $('.sharewithblock span.two').hasClass('active');
149			}
150			if(isDone){
151				$('#share').removeClass('btndeactive').addClass('btncommon');
152			} else {
153				$('#share').removeClass('btncommon').addClass('btndeactive');
154			}
155		};
156		var clearState = function(containerId){
157			$('#' + containerId + ' input:password').each(function(){
158				$(this).val('');
159				$('#' + this.name).removeClass('redcross');
160				$('#' + this.name).removeClass('greencheck');
161				$('#from span.two').removeClass('active');
162			});
163			checkShareEnabled();
164		};
165		var checkProNewUserRePassword = function(testResult){
166			if(testResult){
167				var password = $('input:password[name=pro_new_user_password]').val();
168				var rePassword = $('input:password[name=pro_new_user_re_password]').val();
169				if(common.isEmpty(rePassword)){
170					$('#pro_new_user_re_password').removeClass('redcross');
171					$('#pro_new_user_re_password').removeClass('greencheck');
172					$('span.one').removeClass('active');
173				} else {
174					if(password === rePassword){
175						$('#pro_new_user_re_password').removeClass('redcross').addClass('greencheck');
176						$('span.one').addClass('active');
177					} else {
178						$('#pro_new_user_re_password').removeClass('greencheck').addClass('redcross');
179						$('span.one').removeClass('active');
180					}
181				}
182			} else {
183				$('#pro_new_user_re_password').removeClass('redcross');
184				$('#pro_new_user_re_password').removeClass('greencheck');
185				$('span.one').removeClass('active');
186			}
187			checkShareEnabled();
188		};
189		var checkProNewUserPassword = function() {
190			var sPassword = $('input:password[name=pro_new_user_password]').val();
191			var testResult = false;
192			if(common.isEmpty(sPassword)) {
193				$('#pro_new_user_password').removeClass('redcross');
194				$('#pro_new_user_password').removeClass('greencheck');
195			} else {
196				if(common.validateWithRegex(common.fileNameRegex, sPassword)) {
197					if(common.validateWithRegex(common.passwordProtectFileRegex, sPassword)) {
198						$('#pro_new_user_password').removeClass('redcross').addClass('greencheck');
199						testResult = true;
200					} else {
201						$('#pro_new_user_password').removeClass('greencheck').addClass('redcross');
202					}
203				} else {
204					common.showLoaderPopup(common.headZipshare, passwordSupportMsg, false, 'OK', common.hideBkg);
205					$('#pro_new_user_password').removeClass('greencheck').addClass('redcross');
206				}
207			}
208			return testResult;
209		};
210		var checkNewUserRePassword = function(testResult){
211			if(testResult){
212				var password = $('input:password[name=new_user_password]').val();
213				var rePassword = $('input:password[name=new_user_re_password]').val();
214				if(common.isEmpty(rePassword)){
215					$('#new_user_re_password').removeClass('redcross');
216					$('#new_user_re_password').removeClass('greencheck');
217					$('#from span.two').removeClass('active');
218				} else {
219					if(password === rePassword){
220						$('#new_user_re_password').removeClass('redcross').addClass('greencheck');
221						$('#from span.two').addClass('active');
222					} else {
223						$('#new_user_re_password').removeClass('greencheck').addClass('redcross');
224						$('#from span.two').removeClass('active');
225					}
226				}
227			} else {
228				$('#new_user_re_password').removeClass('redcross');
229				$('#new_user_re_password').removeClass('greencheck');
230				$('#from span.two').removeClass('active');
231			}
232			checkShareEnabled();
233		};
234		var checkNewUserPassword = function(){
235			var sPassword = $('input:password[name=new_user_password]').val();
236			var testResult = false;
237			if(common.isEmpty(sPassword)){
238				$('#new_user_password').removeClass('redcross');
239				$('#new_user_password').removeClass('greencheck');
240			} else {
241				if(common.validateWithRegex(common.passwordRegex, sPassword)){
242					$('#new_user_password').removeClass('redcross').addClass('greencheck');
243					testResult = true;
244				} else {
245					$('#new_user_password').removeClass('greencheck').addClass('redcross');
246				}
247			}
248			return testResult;
249		};
250		var checkReturningUserPassword = function(){
251			if(passwordCheckAjax && passwordCheckAjax.readyState != 4){
252				passwordCheckAjax.abort();
253				passwordCheckAjax = false;
254	        }
255			var sPassword = $('input:password[name=returning_user_password]').val();
256			if(common.isEmpty(sPassword)){
257				$('#returning_user_password').removeClass('redcross');
258				$('#returning_user_password').removeClass('greencheck');
259				$('#from span.two').removeClass('active');
260			} else {
261				if(common.validateWithRegex(common.passwordRegex, sPassword)){
262					passwordCheckAjax = $.ajax({
263						type: "POST",
264						url: "/userprofile/checkPassword",
265						data: {email:$('#email').val(),password:sPassword},
266						beforeSend: function() {
267							$('#returning_user_password').removeClass('redcross').removeClass('greencheck');
268							$('#returning_user_password').addClass('loader');
269						},
270						success: function(response){
271							// we have the response
272							if(response.emailCheck){
273								$('#returning_user_password').removeClass('loader').addClass('greencheck');
274								$('#from span.two').addClass('active');
275								loginUser(function() {
276									checkShareEnabled();
277								});
278								checkShareEnabled();
279							} else {
280								$('#returning_user_password').removeClass('loader').addClass('redcross');
281								$('#from span.two').removeClass('active');
282								checkShareEnabled();
283							}
284						},
285						error: function(jqXHR) {
286							$('#returning_user_password').removeClass('loader').addClass('redcross');
287							$('#from span.two').removeClass('active');
288							if(jqXHR.statusText != 'abort') {
289								common.errorHandler(jqXHR);
290							}
291							checkShareEnabled();
292						}
293					});
294				} else {
295					$('#returning_user_password').removeClass('greencheck').addClass('redcross');
296					$('#from span.two').removeClass('active');
297				}
298			}
299			checkShareEnabled();
300		};
301		var clearAllForEmail = function(){
302			$('#new_user').css("display","none");
303			$('#mailChimpTermText').css("display","none");
304			$('#returning_user').css("display","none");
305			clearState('new_user');
306			clearState('returning_user');
307		};
308		var emailValidation = function() {
309			if(emailCheckAjax && emailCheckAjax.readyState != 4){
310				emailCheckAjax.abort();
311				emailCheckAjax = false;
312	        }
313			var sEmail = $('#email').val();
314			if(sEmail == "") {
315				$("#email_error").css("display","none");
316				clearAllForEmail();
317			} else if (common.validateWithRegex(common.emailRegex, sEmail)) {
318				$('#email_error').css("display","none");
319				emailCheckAjax = $.ajax({
320					type: "POST",
321					url: "/userprofile/check",
322					data: "email=" + sEmail,
323					success: function(response){
324						// we have the response
325						if(response.emailCheck){
326							$('#new_user').css("display","none");
327							$('#mailChimpTermText').css("display","none");
328							$('#returning_user').css("display","block");
329							clearState('new_user');
330						} else {
331							$('#returning_user').css("display","none");
332							$('#new_user').css("display","block");
333							$('#mailChimpTermText').css("display","block");
334							clearState('returning_user');
335						}
336					},
337					error: function(jqXHR) {
338						if(jqXHR.statusText != 'abort') {
339							common.errorHandler(jqXHR);
340						}
341					}
342				});
343			} else {
344				emailTimeOutId = w.setTimeout(function() {
345					$("#email_error").fadeIn('fast');
346					$('#email_error').css('opacity', 1);
347				},2000);
348				clearAllForEmail();
349			}
350		};
351		var getFileUploadLi = function(fileData) {
352			var allLi = "";
353			$.each(fileData, function(index, file) {
354				allLi = allLi +  '<li ts="'+ file.timeStamp + '" name="' + file.renamedFileName + '" class="none">'
355				+ '<input type="hidden" name="fileId" value="' + file.fileId + '">'
356				+ '<input type="hidden" name="renamedFileName" value="' + file.renamedFileName + '">'
357				+ '<div class="fileicon ico' + file.fileType + '"></div><div class="inlineblock"><div class="filename">'
358				+ file.originalFileName
359				+ '</div><div class="fileweight">'
360				+ common.fileSizeString(file.fileSize)
361				+ '</div></div><div class="closeicon"></div></li>';
362			});
363			return allLi;
364		};
365		var clearMessageBox = function(){
366			var countValue = isNaN(parseInt($('#message_box label').text())) ? 0 : parseInt($('#message_box label').text());
367			var currentMessageLength = $('#message_box textarea').val().length;
368			countValue = countValue + currentMessageLength;
369			changeCountWithColor(countValue);
370			$('#message_box textarea').val('');
371			messageLength = 0;
372		};
373		var showMessageBox = function(valueToCheck){
374			if(valueToCheck <= 0){
375				$('#message_box').css('display','none');
376				clearMessageBox();
377			} else {
378				$('#message_box').css('display','block');
379			} 
380		};
381		var changeCountWithColor = function(countValue){
382			if(countValue < 0 ) {
383				$('#message_box label').removeClass('normal').addClass('red');
384			} else {
385				$('#message_box label').removeClass('red').addClass('normal');
386			}
387			$('#message_box label').text(countValue);
388		};
389		var manageLimitCounter = function(newLimit){
390			var countValue = newLimit - messageLength;
391			changeCountWithColor(countValue);
392		};
393		var checkShareWithActive = function(){
394			var isDone = false;
395			if(checkBoxCounter > 0){
396				if(checkBoxCounter == 1 && $('#recipentEmail')[0].checked){
397					isDone = $('#recipentEmailDiv input[name=recipientEmail]').length > 0;
398				} else if($('#recipentEmail')[0].checked) {
399					isDone = ($('#recipentEmailDiv input[name=recipientEmail]').length > 0) && ($.trim($('#message_box textarea').val()).length > 0) ;
400				} else {
401					isDone = $.trim($('#message_box textarea').val()).length > 0;
402				}
403			} else {
404				return;
405			}
406			var spanObj = ($('.sharewithblock span.two').length < 1) ? $('.sharewithblock span.three') : $('.sharewithblock span.two');
407			if(isDone){
408				spanObj.addClass('active');
409			} else {
410				spanObj.removeClass('active');
411			}
412			checkShareEnabled();
413		};
414		var loginUser = function (success, sendActivation) {
415			var url, password, data, loadingMsg, errMsg, gaAction;
416			var rememberMe = false;
417			var label = "Web-sharing";
418			var email = $('input#email').val();
419			if ($('div#new_user').css('display') === 'block') {
420				gaAction = "Signup";
421				common.eventAttempted(gaAction, label);
422				url = "/userprofile/create";
423				password = $('input[name="new_user_password"]').val();
424				if(common.isEmpty(sendActivation)){sendActivation = "true";}
425				data = {email:email, password:password, sendActivation:sendActivation};
426				if(common.checkEmailPasswordBlank(email,password)){return;}
427			} else if ($('div#returning_user').css('display') === 'block') {
428				gaAction = "Signin";
429				common.eventAttempted(gaAction, label);
430				url = "/userprofile/login";
431				password = $('input[name="returning_user_password"]').val();
432				data = {email:email, password:password, rememberMe:rememberMe};
433				if(common.checkEmailPasswordBlank(email,password)){return;}
434			} else if ($('.sharewithblock span.two').length >= 1){
435				success();
436				return;
437			} else {
438				if(common.checkEmailPasswordBlank(email,password)){return;}
439			}
440			if(common.equalTo(url, '/userprofile/create')){
441				loadingMsg = 'Creating Your Account...';
442				errMsg = 'account creation difficulties';
443			}
444			common.loginAjax(url, data, success, null, loadingMsg, errMsg, gaAction, label);
445		};
446		var getCloudStrip = function() {
447			$.ajax({
448				type: "POST",
449				url: "/cloud/cloudStrip",
450				beforeSend: function(){
451					common.showLoaderPopup(common.headFetching,'', true);
452				},
453				success: function(response){
454					$('#cloud_flip #mainholder .contentholder').html(response);
455					$('#cloud_flip #mainholder .contentholder li').removeClass('active');
456					var cloudName = $('#cloud_flip .addcloud ul').attr('cloudName');
457					$('#cloud_flip #'+cloudName+'_li').addClass('active');
458					showCloudFlip(false);
459				},
460				error: function(jqXHR) {
461					common.errorHandler(jqXHR);
462				}
463			});
464		};
465		var getCloudFileLi = function(response, cloudName) {
466			var allLi = "";
467			var iconClass;
468			$.each(response, function(index, file){
469				var id = file.id;
470				if(cloudName == 'zipshare') {
471					id = file.id + "_" + (file.parent?file.parent:'');
472				}
473				iconClass = (file.type.toLowerCase() == "folder")?"icofolder":"icofile";
474				allLi = allLi +'<li><p>'
475						+ '<input type="checkbox" value="' + file.id + '" id="' + id 
476						+ '" name="addFromCloudCheckbox" fileName="' + file.name + '" parent="' + (file.parent?file.parent:'') 
477						+ '" size="' + file.size + '" filetype="' + file.type + '"/>'
478						+ '<label for="'+ id + '"> </label></p>'
479						+ '<div class="descholder">'
480						+ '<div class="' + iconClass + ' ico' + file.type + '"> </div>'
481						+ '<span class="file">'
482						+ file.name 
483						+ '</span><span class="kind">'
484						+ file.type
485						+ '</span><span class="date">'
486						+ file.formattedDate
487						+ '</span> </div></li>';
488			});
489			return allLi;
490		};
491		var updateCloudFileUL = function(response, cloudName){
492			$('#cloud_flip .addcloud ul').attr('cloudName', cloudName);
493			if(response.length > 0) {
494				var directoryPath = "/";
495				if($('#cloud_flip .filebreadcrumb a').length > 0){
496					directoryPath = $('#cloud_flip .filebreadcrumb a:last').attr('directoryPath');
497				}
498				$('#cloud_flip .addcloud ul').html('');
499				$('#cloud_flip .addcloud ul').attr('directoryPath', directoryPath);
500				$('#cloud_flip .addcloud ul').append(getCloudFileLi(response, cloudName));
501				$('#cloud_flip .addcloud ul').removeClass('none');
502				$('#cloud_flip .addcloud .emptyList').addClass('none');
503			} else {
504				$('#cloud_flip .addcloud ul').addClass('none');
505				$('#cloud_flip .addcloud .emptyList').removeClass('none');
506				
507			}
508		};
509		var getCloudFileList = function(cloudName, postData, object, successCallback, errorCallback) {
510			$.ajax({
511				type: "POST",
512				url: "/cloud/files",
513				data: "cloudName="+cloudName+(postData?postData:""),
514				beforeSend: function(){
515					common.showLoaderPopup(common.headFetching,'', true);
516				},
517				success: function(response, status, xhr){
518					if($('#mobile_ui').css('display')=="block") {
519						$('section.maincontent, footer').addClass('none');
520					} 
521					if(successCallback){
522						successCallback(response, cloudName);
523					} else {
524						updateCloudFileUL(response, cloudName);
525					}
526					updateFileBreadCrumb(object, cloudName);
527					$('#bkg').hide();
528				},
529				error: function(jqXHR){
530					var cloudName = $('#cloud_flip .addcloud ul').attr('cloudName');
531    				$('#cloud_flip #mainholder .contentholder li').removeClass('active');
532    				$('#cloud_flip #'+cloudName+'_li').addClass('active');
533					if(errorCallback){
534						errorCallback();
535					} else {
536						common.errorHandler(jqXHR);
537					}
538				}
539			});		
540		};
541		var showCloudFlip = function(isHidden) {
542			if(isHidden){
543				if($('#mobile_ui').css('display')=="block") {
544					$('section.maincontent, footer').addClass('none');
545				} else {
546					$('#trans-bkg').removeClass('none');
547				}
548				$('#cloud_flip .addfromcloud').hide();
549				$('#cloud_flip').fadeIn('slow');
550				$('#cloud_flip').css('opacity', 1);
551				var left = parseInt($('#cloud_flip .addfromcloud').outerWidth() / 2);
552				var top = parseInt($('#cloud_flip .addfromcloud').outerHeight() / 2);
553				$('#cloud_flip .addfromcloud').css({left:'50%', top:'50%',margin:'-'+top+'px 0 0 -'+left+'px'});
554				$('#cloud_flip .addfromcloud').fadeIn('fast');
555				$('#cloud_flip .addfromcloud').css('opacity', 1);
556			} else {
557				var cloudName = $('#cloud_flip .addcloud ul').attr('cloudName');
558				getCloudFileList(cloudName, null, null,
559					function(response, cloudName){
560						$('#cloud_flip .addcloud ul').removeClass('none');
561						$('#cloud_flip .addcloud .emptyList').addClass('none');
562						$('#cloud_flip').fadeIn('slow');
563						$('#cloud_flip').css('opacity', 1);
564						updateCloudFileUL(response, cloudName);
565						var left = parseInt($('#cloud_flip .addfromcloud').outerWidth() / 2);
566						var top = parseInt($('#cloud_flip .addfromcloud').outerHeight() / 2);
567						$('#cloud_flip .addfromcloud').css({left:'50%', top:'50%',margin:'-'+top+'px 0 0 -'+left+'px'});
568						$('#cloud_flip .addfromcloud').fadeIn('fast');
569						$('#cloud_flip .addfromcloud').css('opacity', 1);
570						if($('#mobile_ui').css('display')=="none") {
571							$('#trans-bkg').removeClass('none');
572						}
573					}
574				);
575			}
576		};
577		var getCloudUploadPostData = function(checkbox, cloudName) {
578			var id = $(checkbox).attr('id');
579			if(cloudName == 'zipshare') {
580				id = id.substring(0,id.lastIndexOf('_'));
581			}
582			return '"id":"' + id + '","fileName":"' + $(checkbox).attr('fileName')
583					+ '","parentId":"' + $(checkbox).attr('parent') + '","size":"' + $(checkbox).attr('size') 
584					+ '","filetype":"' + $(checkbox).attr('filetype') + '"';
585		};
586		var fbGroupCallback = function (groups) {
587            $('#fb-groups-select').css('display','block');
588            if(groups.length > 0) {
589                $('#fb-groups-select ul').empty();
590                for (var i = 0; i < groups.length; i++) {
591                    $('#fb-groups-select ul').append('<li grpId="' + groups[i].id + '">'+ groups[i].name +'</li>');
592                }
593                $('#Facebook').attr('hasgroups', true);
594                $('#fb-groups-select div.comboboxint').html(groups[0].name).attr('grpId', groups[0].id);
595                $('#shareForm input:hidden[name=FBGroupValue]').val(groups[0].id);
596                $('#shareForm input:hidden[name=FBGroupName]').val(groups[0].name);
597            }
598            $('#Facebook')[0].checked = true;
599        };
600		
601		var inGroupCallback = function (groups) {
602            $('#in-groups-select').css('display','block');
603            if(groups.length > 0) {
604                $('#in-groups-select ul').empty();
605                for (var i = 0; i < groups.length; i++) {
606                    $('#in-groups-select ul').append('<li grpId="'+ groups[i].id +'">'+ groups[i].name +'</li>');
607                }
608                $('#linkedin').attr('hasgroups', true);
609                $('#in-groups-select div.comboboxint').html(groups[0].name).attr('grpId', groups[0].id);
610                $('#shareForm input:hidden[name=INGroupValue]').val(groups[0].id);
611                $('#shareForm input:hidden[name=INGroupName]').val(groups[0].name);
612            }
613            $('#linkedin')[0].checked = true;
614        };
615		var resetCloudFlipCheckbox = function() {
616    		$.each($('#cloud_flip input[name=addFromCloudCheckbox]:checked'), function(index, checkBox) {
617    			$(checkBox).trigger('click');
618    		});
619		};
620		var checkCloudFlipAddButton = function() {
621    		if($('#cloud_flip input[name=addFromCloudCheckbox]:checked').length > 0){
622    			$('#cloud_flip a.btnsave').addClass('btnactive');
623    		} else {
624    			$('#cloud_flip a.btnsave').removeClass('btnactive');
625    		}
626		};
627		var updateFileBreadCrumb = function(object, cloudName) {
628			$('#cloud_flip #mainholder #cloudIcon').removeClass().addClass('ico' + cloudName);
629			$('#cloud_flip .filebreadcrumb #cloudIcon').removeClass().addClass('ico' + cloudName);
630			$('#cloud_flip #selectedCloud').html($('#cloud_flip #'+cloudName+'_li span.displayblock').html());
631			if(object && object.is('input')){
632				$('#cloud_flip .filebreadcrumb .cloudName').addClass('none');
633				var folderName = object.attr('filename');
634				$('#cloud_flip .filebreadcrumb .clear').before(
635						'<span class="arrowblue"></span><a href="javascript:void(0);"' +
636						'fileId="' + object.attr('id') + '"' +
637						'parent="' + object.attr('parent') + '"' +
638						'title="' + folderName + '">' +	folderName + '</a>');
639				$('#cloud_flip .filebreadcrumb a').removeClass('inactiveAnchor');
640				$('#cloud_flip .filebreadcrumb a:last').addClass('inactiveAnchor');
641				$('#cloud_flip .filebreadcrumb span.arrowblue').removeClass('spanArrowBlue');
642				$('#cloud_flip .filebreadcrumb span.arrowblue:last').addClass('spanArrowBlue');
643				$('#cloud_flip .addcloud ul').attr('directoryPath', object.attr('parent'));
644			} else if(object && object.is('a')){
645				$('#cloud_flip .filebreadcrumb .cloudName').addClass('none');
646				object.nextAll('span, a').remove();
647				object.addClass('inactiveAnchor');			
648				$('#cloud_flip .addcloud ul').attr('directoryPath', object.attr('parent'));
649			} else {
650				$('#cloud_flip .filebreadcrumb a').remove();
651				$('#cloud_flip .filebreadcrumb .arrowblue').remove();
652				$('#cloud_flip .filebreadcrumb .cloudName').html($('#cloud_flip #'+cloudName+'_li span.displayblock').html());
653				$('#cloud_flip .filebreadcrumb .cloudName').removeClass('none');
654			}
655		};
656		var isShareEnabled = function() {
657			checkShareEnabled();
658			if($('#share').hasClass('btncommon')) {
659				return true;
660			} else {
661				return false;
662			}
663		};
664		var changeScrollPosition = function() {
665			if($('#mobile_ui').css('display')=="none"){
666				$(document).scrollTop($('.maincontent').offset().top - 20);
667			} else {
668				if($('#fileUploadShow li').length > 1){
669					$(document).scrollTop($('#fileUploadShow li:first').offset().top + 65);
670				} else {
671					$(document).scrollTop($('#fileUploadShow li:first').offset().top + 20);
672				}
673			}
674		};
675		var hasCompleted = false;
676		var sameStatusCount = 0;
677		var lastTotalUploads = 0;
678		var updateStatusChecker = function(archiveId, cts) {
679            $.ajax({
680                type: "POST",
681                url: "/uploadStatus",
682                aysnc: false,
683                data: {archiveId: archiveId, timeStamp: cts}
684            }).done(function(response) {
685                if (response) {
686                    $("#bkg .loader").hide();
687                }
688                $("#bkg .progress-info").html(response);
689
690                if ($('#uploaded_item_status').length == 1) {
691                    var totalUploads = $('#uploaded_item_size').html();
692                    if ((lastTotalUploads == totalUploads && ++sameStatusCount > 100) 
693                            || (totalUploads == $('#fileUploadShow li.none[ts=' + cts + ']').length)) {
694                        successUploadHandler(cts);
695                        return;
696                    }
697                    lastTotalUploads = totalUploads;
698                }
699
700                if (hasCompleted) {
701                    return;
702                }
703
704                setTimeout(function() {
705                    updateStatusChecker(archiveId, cts);
706                }, 3000);
707            }).fail(function(jqXhr, status, error) {
708                
709                setTimeout(function() {
710                    updateStatusChecker(archiveId, cts);
711                }, 1000);
712            });
713        }
714		
715		var successUploadHandler = function(cts) {
716		    var successFileList = $("#uploaded_success_list").html();
717            var successFiles = successFileList.split('|,|');
718            for (var i = 0; i < successFiles.length; i++) {
719                var successFile = successFiles[i];
720                if (successFile) {
721                    $('#fileUploadShow li.none[ts=' + cts + '][name="' + successFile + '"]').removeClass('none');
722                }
723            }
724            var noOfError = $('#fileUploadShow li.none[ts=' + cts + ']').length;
725            $('#fileUploadShow li.none[ts=' + cts + ']').remove();
726
727            if($('#fileUploadShow li:not([class*="none"])').length > 0) {
728                $('#fileUploadShow').addClass('fileuploaded');
729                $('span.one').addClass('active');
730                changeScrollPosition();
731            }
732			checkShareEnabled();
733
734            $('#bkg').hide();
735            $("#bkg .progress-info").hide();
736            $("#bkg .progress-info").html("");
737
738            hasCompleted = true;
739            sameStatusCount = 0;
740            lastTotalUploads = 0;
741            if (noOfError > 0) {
742                common.showLoaderPopup(common.headZipshare, common.errorInUploadMsg.replace("#no_of_files", noOfError), false, 'OK', function() {
743                    common.hideBkg();
744                });
745            }
746		}
747		// bind events
748		$(d).on('keyup change', '#email', function (e) {
749			if(isValidEmailChar(e.keyCode) || isNotValidEmailChar(e.keyCode) || e.type === "change") {
750				typewatch(function(){
751					w.clearTimeout(emailTimeOutId);
752					$("#email_error").css("display","none");
753					emailValidation();
754				}, 200);
755			}
756		});
757		$(d).on('click', '#recipentEmail', function(e){
758			if($('#recipentEmail')[0].checked){
759				$('#recipentEmailDiv').show();
760				$('#recipentEmailDiv').trigger('click');
761				showMessageBox(++checkBoxCounter);
762			} else {
763				$('#recipentEmailDiv').hide();
764				showMessageBox(--checkBoxCounter);
765			}
766			checkShareWithActive();
767		});
768		$(d).on('click', '#Twitter', function(e){
769			if($(this)[0].checked){
770				$(this)[0].checked = false;
771				var accessToken = $('#shareForm')[0].twitterAccessToken.value;
772                var accessTokenSecret = $('#shareForm')[0].twitterAccessTokenSecret.value;
773                if(accessToken == null || accessToken == "" || accessTokenSecret == null || accessTokenSecret == "") {
774                	sm.twa();
775                } else {
776                	$(this)[0].checked = true;
777                    showMessageBox(++checkBoxCounter);
778                    manageLimitCounter(twitterMsgLimit);
779                }
780			} else {
781				showMessageBox(--checkBoxCounter);
782				var limitCounter = maxMsgLimit;
783            	if($('#linkedin')[0].checked) {
784            		limitCounter = linkedinMsgLimit;
785            	}
786            	manageLimitCounter(limitCounter);
787			}
788			checkShareWithActive();
789		});
790		$(d).on('click', '#Facebook', function(e) {
791			if($(this)[0].checked) {
792				$(this)[0].checked = false;
793				var accessToken = $('#shareForm')[0].fbAccessToken.value;
794                if(accessToken == null || accessToken == "") {
795                	sm.fba();
796                } else {
797                	$(this)[0].checked = true;
798                	//if we already have groups just toggle it .. 
799                	if (!$(this).attr('hasgroups')) {
800                		sm.fbg(accessToken, 
801                				fbGroupCallback, 
802                				common.errorHandler
803                		);
804                	} else {
805                		$('#fb-groups-select').show();
806                	}
807                    showMessageBox(++checkBoxCounter);
808                }
809			} else {
810				$('#fb-groups-select').hide();
811				showMessageBox(--checkBoxCounter);
812			}
813			checkShareWithActive();
814		});
815		$(d).on('click', '#linkedin', function(e) {
816			if($(this)[0].checked) {
817				$(this)[0].checked = false;
818				var accessToken = $('#shareForm')[0].linkedinAccessToken.value;
819				var accessTokenSecret = $('#shareForm')[0].linkedinAccessTokenSecret.value;
820				if(accessToken == null || accessToken == "" || accessTokenSecret == null || accessTokenSecret == "") {
821                	sm.ina();
822                } else {
823                	$(this)[0].checked = true;
824                	//if we already have groups just toggle it .. 
825                	if (!$(this).attr('hasgroups')) {
826                		sm.ing(accessToken,
827                				accessTokenSecret, 
828                				inGroupCallback, 
829                				common.errorHandler
830                		);
831                	} else {
832                		$('#in-groups-select').show();
833                	}
834                	showMessageBox(++checkBoxCounter);
835                	var limitCounter = linkedinMsgLimit;
836                	if($('#Twitter')[0].checked) {
837                		limitCounter = twitterMsgLimit;
838                	}
839                	manageLimitCounter(limitCounter);
840                }
841			} else {
842				$('#in-groups-select').hide();
843				showMessageBox(--checkBoxCounter);
844            	var limitCounter = maxMsgLimit;
845            	if($('#Twitter')[0].checked) {
846            		limitCounter = twitterMsgLimit;
847            	}
848            	manageLimitCounter(limitCounter);
849			}
850			checkShareWithActive();
851		});
852        $(d).on('click', '#fb-groups-select', function(e) {
853        	e.stopPropagation();
854            $('#fb-groups-holder').toggle();
855        });
856        $(d).on('click', '#in-groups-select', function(e) {
857        	e.stopPropagation();
858            $('#in-groups-holder').toggle();
859        });
860
861		if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) {
862			$('#file_dialog').addClass('file_dialog_safari');
863		} else {
864			$(d).on('click', '#add_from_computer', function(e){
865				e.preventDefault();
866				$('#file_dialog').trigger('click');
867			});
868		}
869
870		$(d).on('click', '#share', function(e) {
871			e.preventDefault();
872			if($('#share').hasClass('btncommon') && isShareEnabled()) {
873
874				common.getSharedEmails(function() {
875					loginUser(function() {
876						var data = {archiveId: $('#shareForm input[name="archiveId"]').val(),pro_new_user_password: $('#shareForm input[name="pro_new_user_password"]').val(),pro_new_user_re_password: $('#shareForm input[name="pro_new_user_re_password"]').val()};
877						$('#share').removeClass('btncommon').addClass('btndeactive');
878						var data = $('#shareForm').serialize();
879						
880						common.checkFileAndLimits(data, function() {
881						});
882					}, "false");
883				});
884			}
885		});
886
887		$(d).on('click', '#Passwordprotectfiles', function(e) {
888			if($('#Passwordprotectfiles').is(':checked')) {
889				$('#Passwordprotectfiles').prop('checked', false);
890				if($('ul#fileUploadShow li').length < 1) {
891					common.showLoaderPopup(common.headZipshare, noFileWarningMsg, false, 'OK', common.hideBkg);
892				} else if($('.donesettings').length == 0) {
893					common.showLoaderPopup(common.headZipshare, noLoginWarningMsg, false, 'OK', common.hideBkg);
894				} else if($(this).hasClass('u_pr')) {
895						$('#Passwordprotectfiles').prop('checked', true);
896						$('#pro_new_user input[type="password"]').val('');
897						$('#pro_new_user span.sprite').removeClass('redcross').removeClass('greencheck');
898                    	$('span.one').removeClass('active');
899						$('#pro_new_user').show();
900				} else {
901					common.showUpgradePopup(true);
902				}
903			} else {
904				$('#pro_new_user input[type="text"]').val('');
905				$('#pro_new_user').hide();
906                if($('#fileUploadShow li').length > 0){
907                	$('span.one').addClass('active');
908                }
909			}
910			checkShareEnabled();
911		});
912		$(d).on('keyup', 'input:password[name=pro_new_user_password], input:password[name=pro_new_user_re_password]', function (e) {
913			if(!checkArrow(e.keyCode)){
914				typewatch(function(){
915					checkProNewUserRePassword(checkProNewUserPassword());
916				}, 200);
917			}
918		});
919		$(d).on('keyup', 'input:password[name=new_user_password]', function (e) {
920			if(!checkArrow(e.keyCode)){
921				typewatch(function(){
922					checkNewUserRePassword(checkNewUserPassword());
923				}, 200);
924			}
925		});
926		$(d).on('keyup', 'input:password[name=new_user_re_password]', function (e) {
927			if(e.keyCode == 13){
928				if($('#from span.two').hasClass('active')){
929					loginUser();
930				}
931				return;
932			}
933			if(!checkArrow(e.keyCode)){
934				typewatch(function(){
935					checkNewUserRePassword(checkNewUserPassword());
936				}, 200);
937			}
938		});
939		$(d).on('keyup', 'input:password[name=returning_user_password]', function (e) {
940			if(!checkArrow(e.keyCode)){
941				typewatch(function(){
942					checkReturningUserPassword();
943				}, 500);
944			}
945		});
946		$(d).on('drop dragover', function (e) {
947			e.preventDefault();
948		});
949
950		var jqXHR;
951		$('#file_dialog').fileupload({
952	        dataType: 'json',
953	        singleFileUploads: false,
954//	        forceIframeTransport: true,
955	        pasteZone: $('aside.leftp'),
956	        submit : function (e, data) {
957	            var archiveId = $('#shareForm input:hidden[name=archiveId]').val();
958	            var cts = new Date().getTime();
959	            data.formData = {archiveId: archiveId, timeStamp: cts};
960	            $("#bkg .progress-info").html("");
961	            common.showLoaderPopup(common.headUploading, uploadMsg, true);
962                updateStatusChecker(archiveId, cts);
963	        },
964	        add: function(e, data) {
965	            hasCompleted = false;
966	            $("#bkg .progress-info").show();
967	        	var filteredFiles = Array();
968	        	var emptyFile = false;
969	        	var foriegnFileName = false;
970	        	var fileNameLengthSupport = false;
971
972	        	var uploadFileNumberLimit= parseInt($('#shareForm input[name="uploadFileNumberLimit"]').val());  //50
973 	        	if ((data.files.length) > uploadFileNumberLimit) {
974          			var uploaMaxFileLimitMsg = "Number of files you are trying to upload is too large. The maximum supported number of files per upload is: " + uploadFileNumberLimit + ".";
975          			common.showLoaderPopup(common.headZipshare, uploaMaxFileLimitMsg, false, 'OK', common.hideBkg);
976          			return;
977         		}
978 
979  	        	var totalFilesize = 0;
980  	        	var uploadFileSizeLimit= parseInt($('#shareForm input[name="uploadFileSizeLimit"]').val());  //2147483648 (2GB)
981  	        	var uploadFileSizeLimitStr= $('#shareForm input[name="uploadFileSizeLimitStr"]').val();
982
983	        	$.each(data.files, function(index, file) {
984	        		totalFilesize = totalFilesize + file.size;
985	        		if(common.validateWithRegex(common.fileNameRegex, file.name)) {
986		        		if(file.size != 0) {
987		        			if(file.name.length <= fileNameLimit) {
988		        				filteredFiles.push(file);
989		        			} else {
990		        				fileNameLengthSupport = true;
991		        			}
992	                    } else {
993	                    	emptyFile = true;
994	                    }
995        			} else {
996        				foriegnFileName = true;
997        			}
998	        	});
999
1000	        	if (totalFilesize > uploadFileSizeLimit){
1001         			var uploadMaxFileMsg = "Files you are trying to upload are too large. The maximum supported file size is: " + uploadFileSizeLimitStr+ ".";
1002         			common.showLoaderPopup(common.headZipshare, uploadMaxFileMsg, false, 'OK', common.hideBkg);
1003         			return;
1004	        	}
1005
1006	        	if(filteredFiles.length > 0) {
1007	        	    if (showFilenameErrorPopup(foriegnFileName, emptyFile, fileNameLengthSupport)) {
1008	        	        return;
1009	        	    }
1010	        		data.files = filteredFiles;
1011	        		data.submit();
1012	        		
1013	        	} else {
1014	        		showFilenameErrorPopup(foriegnFileName, emptyFile, fileNameLengthSupport);
1015	        	}
1016	        },
1017	        done : function (e, data) {
1018                //console.log(data);
1019                $('#fileUploadShow').append(getFileUploadLi(data.result));
1020            },
1021            fail : function (e, data) {
1022                //console.log(data);
1023                hasCompleted = true;
1024                $('#bkg').hide();
1025                $('#bkg .progress-info').hide();
1026                if(data.jqXHR.statusText == 'abort') {
1027                    common.showLoaderPopup(common.headZipshare, 'Upload cancelled', false, 'OK', common.hideBkg);
1028                } else {
1029                    common.showLoaderPopup(common.headZipshare, 'Unable to upload file.', false, 'OK', common.hideBkg);
1030                }
1031            }
1032		});
1033	    $(d).on('click', '#fileUploadShow div.closeicon', function(e){
1034	    	var li = this.parentNode;
1035	    	var sTimeStamp = $(li).attr('ts');
1036	    	var sArchiveId = $('#shareForm input:hidden[name=archiveId]').val();
1037	    	var sRenamedFileName = $(li).find('input[name=renamedFileName]').val();
1038	    	$.ajax({
1039				type: "POST",
1040				url: "/deleteFile",
1041				data: {timeStamp:sTimeStamp,archiveId:sArchiveId,renamedFileName:sRenamedFileName},
1042				beforeSend: function(){
1043					common.showLoaderPopup(common.head_delete, 'Deleting your file from ZipShare.', true);
1044				},
1045				success: function(response){
1046					// we have the response
1047                    $(li).remove();
1048                    if($('#fileUploadShow li').length == 0){
1049                    	$('#fileUploadShow').removeClass('fileuploaded');
1050                    	$('span.one').removeClass('active');
1051                    	if($('#Passwordprotectfiles').is(':checked')) {
1052                    		$('#Passwordprotectfiles').trigger('click');
1053                    	}
1054                    	checkShareEnabled();
1055                    }
1056                    $('#bkg').fadeOut('slow');
1057				},
1058				error: function(jqXHR) {
1059					common.errorHandler(jqXHR);
1060				}
1061			}); 
1062	    });
1063	    $(d).on('keyup', '#message_box textarea', function(e) {
1064	    	if(!checkArrow(e.keyCode)){
1065	    		var currentMessageLength = $(this).val().length;
1066	    		var countValue = isNaN(parseInt($('#message_box label').text())) ? 0 : parseInt($('#message_box label').text());
1067	    		if(currentMessageLength != null && !isNaN(currentMessageLength)){
1068	    			var diff = messageLength - currentMessageLength;
1069	    			countValue = countValue + diff;
1070		    		if(currentMessageLength > maxMsgLimit) {
1071		    			common.showLoaderPopup(common.headZipshare, 'You cannot enter more than ' + maxMsgLimit + ' characters in the Message box.', false, 'OK', common.hideBkg);
1072		    			$(this).val($(this).val().substring(0, maxMsgLimit));
1073                        countValue = 0;
1074                        currentMessageLength = maxMsgLimit;
1075		    		}
1076	    			changeCountWithColor(countValue);
1077	    			messageLength = currentMessageLength;
1078	    		}
1079	    		checkShareWithActive();
1080	    	}
1081	    });
1082	    $(d).on('click', '#message_box textarea', function(e) {
1083	    	var msgBox = $(e.target); 
1084	    	if(msgBox.val().length == 0) {
1085	    		msgBox.focus();
1086	    		return;
1087	    	}
1088	    });
1089	    $(d).on('keyup', '.sharewith input:text[name=recipentEmail]', function(e) {
1090	    	checkShareWithActive();
1091	    });
1092	    $(d).on('click', '.comboboxblockborder li', function(e) {
1093	    	var parentId = $($(this).parents()[3]).attr('id');
1094	    	$('#' + parentId + ' div.comboboxint').html($(this).text());
1095	    	if(parentId.indexOf('fb') == 0){
1096	    		$('#shareForm input:hidden[name=FBGroupValue]').val($(this).attr('grpId'));
1097	    		$('#shareForm input:hidden[name=FBGroupName]').val($(this).text());
1098	    	} else if (parentId.indexOf('in') == 0){
1099	    		$('#shareForm input:hidden[name=INGroupValue]').val($(this).attr('grpId'));
1100	    		$('#shareForm input:hidden[name=INGroupName]').val($(this).text());
1101	    	}
1102	    });
1103	    $(d).on('click', '#add_from_cloud', function(e) {
1104	        hasCompleted = false;
1105	        $("#bkg .progress-info").html("");
1106	        $("#bkg .progress-info").show();
1107	    	if($('#mobile_ui').css('display')=="none") {
1108	    		$('#cloud_flip #mainholder .contentholder').show();
1109	    	}
1110	    	var uid = $.cookie('uid');
1111	    	if(uid == null || uid == 'undefined' || uid == '') {
1112		    	loginUser(function() {
1113		    		getCloudStrip();
1114				});
1115	    	} else {
1116	    		if($('#cloud_flip #mainholder .contentholder .firstblock').length > 0) { 
1117	    			showCloudFlip(true);
1118	    		} else {
1119	    			getCloudStrip();
1120	    		}
1121	    	}
1122	    });
1123	    $(d).on('click', '#cloud_flip a.cancel, #cloud_flip a.whiteclose', function(e){
1124			if($('#mobile_ui').css('display')=="block") {
1125				$('section.maincontent, footer').removeClass('none');
1126			} 
1127	    	resetCloudFlipCheckbox();
1128	    	checkCloudFlipAddButton();
1129	    	$('#cloud_flip').fadeOut('slow');
1130			$('#trans-bkg').addClass('none');
1131	    });
1132	    $(d).on('click', '#cloud_flip .addcloud li .descholder', function(e){
1133	    	var checkBox = $(this).parent().find('input[name=addFromCloudCheckbox]');
1134	    	if(checkBox.attr('filetype').toLowerCase() == 'folder') {
1135	    		var postData = "&folderId=" + checkBox.attr('id') + "&parentPath=" + checkBox.attr('parent');
1136	    		resetCloudFlipCheckbox();
1137	    		getCloudFileList($('#cloud_flip .addcloud ul').attr('cloudName'), postData, checkBox);
1138	    	} else {
1139	    		checkBox.trigger('click');
1140	    	}
1141    		checkCloudFlipAddButton();
1142	    });
1143	    $(d).on('click', 'input[name=addFromCloudCheckbox]', function(e){
1144	    	checkCloudFlipAddButton();
1145	    });
1146	    $(d).on('click', '#cloud_flip a.btnsave', function(e){
1147	    	if($(this).hasClass('btnactive')) {
1148	    	    var archiveId = $('#shareForm input[name="archiveId"]').val();
1149	    	    var cts = new Date().getTime();
1150				if($('#mobile_ui').css('display')=="block") {
1151					$('section.maincontent, footer').removeClass('none');
1152				} 
1153				var emptyFiles = false;
1154				var foriegnFileName = false;
1155				var fileNameLengthSupport = false;
1156	    		var cloudName = $('#cloud_flip .addcloud ul').attr('cloudName');
1157	    		var postData = "[";
1158
1159	    		var uploadFileNumberLimit= parseInt($('#shareForm input[name="uploadFileNumberLimit"]').val());
1160 	    		var noOfCheckedFile = $('#cloud_flip input[name=addFromCloudCheckbox]:checked').length;
1161 	    		if(noOfCheckedFile > uploadFileNumberLimit) {
1162  	        		var uploaMaxFileMsg = "Number of files you are trying to upload is too large. The maximum supported number of files per upload is: " + uploadFileNumberLimit + ".";
1163  	        		common.showLoaderPopup(common.headZipshare, uploaMaxFileMsg, false, 'OK', common.hideBkg);
1164  	        		return;
1165 	        	}
1166
1167 	        	var totalFilesize = 0;
1168  	        	var uploadFileSizeLimit= parseInt($('#shareForm input[name="uploadFileSizeLimit"]').val());  //2147483648 (2GB)
1169  	        	var uploadFileSizeLimitStr= $('#shareForm input[name="uploadFileSizeLimitStr"]').val();
1170	 
1171	    		$.each($('#cloud_flip input[name=addFromCloudCheckbox]:checked'), function(index, checkbox){
1172	    			totalFilesize = totalFilesize + checkbox.size;
1173	    			if(!common.validateWithRegex(common.fileNameRegex, $(checkbox).attr('fileName'))) {
1174	    				foriegnFileName = true;
1175	    				return;
1176	    			} else if($(checkbox).attr('fileName').length <= fileNameLimit) {
1177	    				if($(checkbox).attr('size') != 0) {
1178	    					postData = postData + "{" + getCloudUploadPostData(checkbox, cloudName) + "},";
1179	    				} else if($(checkbox).attr('filetype').toLowerCase() == 'folder') {
1180	    					postData = postData + "{" + getCloudUploadPostData(checkbox, cloudName) + "},";
1181	    				} else {
1182	    					emptyFiles = true;
1183	    					return;
1184	    				}
1185	    			} else {
1186	    				fileNameLengthSupport = true;
1187	    				return;
1188	    			}
1189	    		});
1190
1191	    		if (totalFilesize > uploadFileSizeLimit){
1192         			var uploadMaxFileMsg = "Files you are trying to upload are too large. The maximum supported file size is: " + uploadFileSizeLimitStr+ ".";
1193         			common.showLoaderPopup(common.headZipshare, uploadMaxFileMsg, false, 'OK', common.hideBkg);
1194 	        		return;
1195 	        	}
1196
1197	    		if (showFilenameErrorPopup(foriegnFileName, emptyFiles, fileNameLengthSupport)) {
1198                    return;
1199                }
1200
1201	    		postData = postData.length > 1 ? postData.substring(0, postData.length - 1) + "]" : postData + "]";
1202
1203	    		if(postData.length > 2) {
1204			    	jqXHR = $.ajax({
1205						type: "POST",
1206						url: "/uploadFromCloud",
1207						data: {
1208							cloudName:cloudName,
1209							filesData:postData,archiveId:archiveId,timeStamp:cts
1210						},
1211						beforeSend: function(){
1212							$('#cloud_flip').fadeOut('slow');
1213			    			resetCloudFlipCheckbox();
1214			    			checkCloudFlipAddButton();
1215			    			$('#trans-bkg').addClass('none');
1216			    			$("#bkg .progress-info").html("");
1217				        	common.showLoaderPopup(common.headUploading, uploadMsg, true);
1218				        	updateStatusChecker(archiveId, cts);
1219						},
1220						success: function(response){
1221				        	$('#fileUploadShow').append(getFileUploadLi(response));
1222						},
1223						error : function (jqXHR, textStatus, errorThrown) {
1224	                        hasCompleted = true;
1225	                        $('#bkg').hide();
1226	                        $('#bkg .progress-info').hide();
1227	                        if(jqXHR.statusText == 'abort') {
1228	                            common.showLoaderPopup(common.headZipshare, 'Upload cancelled', false, 'OK', common.hideBkg);
1229	                        } else {
1230	                            common.showLoaderPopup(common.headZipshare, 'Unable to upload file.', false, 'OK', common.hideBkg);
1231	                        }
1232	                    }
1233					}); 
1234	    		} else {
1235	    			$('#cloud_flip').fadeOut('slow');
1236	    			resetCloudFlipCheckbox();
1237	    			checkCloudFlipAddButton();
1238	    			$('#trans-bkg').addClass('none');
1239	    			setTimeout(function(){
1240	    				showFilenameErrorPopup(foriegnFileName, emptyFiles, fileNameLengthSupport);
1241	    			}, 200);
1242	    		}
1243	    	}
1244	    });
1245	    $('input[name="recipent_email_input"]').keyup(function(event){
1246	    	var keynum = (event.keycode ? event.keycode : event.which);
1247	    	var value = $.trim(this.value);
1248	    	if (keynum == 32 || keynum == 13) {
1249	    		if (common.validateWithRegex(common.emailRegex, value)) {
1250	    			var elem = $('<span/>', {'class': 'emailcontainer'});
1251	    			elem.append($('<span/>', {'class': 'emailholder','title': value}).html(value));
1252	    			elem.append($('<span/>', {'class': 'close'}).html('X'));
1253	    			elem.append($('<input/>', {id: value, type: 'hidden', name: 'recipientEmail'}).val(value));
1254	    			$(this).before(elem).val("").focus();
1255	    			checkShareWithActive();
1256	    		}
1257	    	}
1258	    }).focusout(function(e) {
1259	    	var value = $.trim(this.value);
1260	    	var isValidEmail = common.validateWithRegex(common.emailRegex, value);
1261    		if (isValidEmail) {
1262    			var elem = $('<span/>', {'class': 'emailcontainer'});
1263    			elem.append($('<span/>', {'class': 'emailholder','title': value}).html(value));
1264    			elem.append($('<span/>', {'class': 'close'}).html('X'));
1265    			elem.append($('<input/>', {id: value, type: 'hidden', name: 'recipientEmail'}).val(value));
1266    			value = "";
1267    			$(this).before(elem).val(value).focus();
1268    			checkShareWithActive();
1269    		}
1270    		if (value == "") {
1271    			if ($(this).prev().length > 0) {
1272    				$(this).hide();
1273    				$('#recipentEmailDiv').css('padding-bottom', '3px');
1274    			}
1275    		}
1276	    }).keydown(function(event) {
1277	    	var value = $.trim(this.value);
1278	    	var keynum = (event.keycode ? event.keycode : event.which);
1279	    	if (keynum == 8 && value == "") {
1280	    		$(this).prev().remove();
1281	    		checkShareWithActive();
1282	    	}
1283	    }).focus(function(e) {
1284	    	$('#recipentEmailDiv').css('padding-bottom', '');
1285	    });
1286	    $('#recipentEmailDiv').click(function(e) {
1287	    	$('input[name="recipent_email_input"]').show();
1288	    	$('input[name="recipent_email_input"]').focus();
1289	    });
1290	    $(d).on( "click", "#recipentEmailDiv span.close", function(e) {
1291	    	$(this).parent().remove();
1292	    	checkShareWithActive();
1293	    });
1294	    $(d).on('click', '#cloud_flip .contentholder li', function(e) {
1295	    	var cloudName = $(this).attr('id').split('_')[0];
1296	    	if(cloudName == 'more' && $('#mobile_ui').css('display')=="none"){
1297    			e.stopPropagation();
1298	    		if($('#cloud_flip .more_clouds_contentholder').css('display')=='none'){
1299	    			$(this).addClass('active');
1300	    			$('#cloud_flip .more_clouds_contentholder').show();
1301	    			$('#cloud_flip .more_clouds_arrow').show();
1302	    		} else {
1303	    			$(this).removeClass('active');
1304	    			$('#cloud_flip .more_clouds_contentholder').hide();
1305	    			$('#cloud_flip .more_clouds_arrow').hide();
1306	    		}
1307	    	} else if(!$(this).hasClass('active')){
1308    			resetCloudFlipCheckbox();
1309    			checkCloudFlipAddButton();
1310    			if($(this).attr('hasAuthenticated')){
1311    				$('#cloud_flip #mainholder .contentholder li').removeClass('active');
1312    				$(this).addClass('active');
1313    				getCloudFileList(cloudName);
1314    			} else if($(this).attr('id') != 'zipshare_li'){
1315    				cloud.authCloud(cloudName);
1316    			}
1317			}
1318	    });
1319	    $(d).on('click', '#cloud_flip .cloud_drop_down', function(e){
1320			e.stopPropagation();
1321	    	if($('#mobile_ui').css('display')=="block") {
1322	    		if($('#cloud_flip #mainholder .contentholderarrow').css('display') == 'block') {	    			
1323	    			$('#cloud_flip #mainholder .contentholderarrow').hide();
1324	    			$('#cloud_flip #mainholder .contentholder').hide();
1325	    		} else {
1326	    			if($('#cloud_flip .more_clouds_contentholder').css('display') == 'none'){
1327	    				$('#cloud_flip .more_clouds_contentholder').show();
1328	    			}
1329	    			$('#cloud_flip #mainholder .contentholderarrow').show();
1330	    			$('#cloud_flip #mainholder .contentholder').show();
1331	    		}
1332	    	}
1333	    });
1334	    $(d).on('click', '#cloud_flip .filebreadcrumb #cloudIcon', function(e){
1335			if($('#cloud_flip .filebreadcrumb a').length > 0){
1336	    		resetCloudFlipCheckbox();
1337	    		checkCloudFlipAddButton();
1338				getCloudFileList($('#cloud_flip .addcloud ul').attr('cloudName'));
1339			}
1340	    });
1341	    $(d).on('click', '#cloud_flip .filebreadcrumb a', function(e){
1342	    	if(!$(this).hasClass('inactiveAnchor')){
1343	    		resetCloudFlipCheckbox();
1344	    		checkCloudFlipAddButton();
1345	    		var postData = "&folderId=" + $(this).attr('fileId') + "&parentPath=" + $(this).attr('parent');
1346	    		getCloudFileList($('#cloud_flip .addcloud ul').attr('cloudName'), postData, $(this));
1347	    	}
1348	    });
1349	    $(d).on('click', '#cloudtriggerhidden', function(e) {
1350			var cloudName = $(this).attr('cn');
1351			$('#mainholder .contentholder li').removeClass('active');
1352			$('#'+cloudName+'_li').addClass('active');
1353			$(this).attr("cn", "");
1354			resetCloudFlipCheckbox();
1355			checkCloudFlipAddButton();
1356	    	getCloudStrip();
1357	    });
1358	    $(d).on('click', '#returning_user .forgotpass, .learn-more, .signin-forgot', function(e) {
1359	    	$('#email').val('');
1360	    });
1361	});
1362}(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.