Subversion Repositories SmartDukaan

Rev

Rev 20207 | Rev 20212 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1831 varun.gupt 1
$(function(){
1842 varun.gupt 2
	$('#frmRegister').submit(function(){
3
		trackEventWithGA('Account', 'New User Register', $('#frmRegister #email').val());
2110 vikas 4
		trackPageWithGA("/register"); // For registration goal.
1842 varun.gupt 5
	});
6
 
1831 varun.gupt 7
	$('#frmLogin').validate({
8
		loginEmail: {
9
			required: true,
10
			email: true
11
		},
12
		loginPassword: {
13
			required: true,
14
			minlength: 6,
15
			maxlength: 20
16
		}
17
	});
18
 
19
	$("#frmRegister").validate({
20
		rules: {
21
			email: {
22
				required: true,
23
				email: true
24
			},
25
			txtPassword: {
26
				required: true,
27
				minlength: 6,
28
				maxlength: 20
29
			}
30
		}
31
	});
7825 amar.kumar 32
 
33
	$('.loginregister').live('click', function(){
34
		if($('input[name=loginregister]:checked').val() == "register") {
35
			$('#signin').hide();
36
			$('#signup').show();
37
		} else {
38
			$('#signin').show();
39
			$('#signup').hide();
40
		}
41
	});
42
 
43
});
44
 
20203 aman.kumar 45
/*function loginToSaholicByFacebook(userDetails, authResponse){
7825 amar.kumar 46
	var longLivedToken = null;
47
 
48
	if(authResponse!==null) {
49
		$.ajax({
50
			type	: "GET",
51
			url		: "https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id="+
52
					   '${in.shop2020.appId}' + "&client_secret="+'${in.shop2020.appSecret}'+
53
					  "&fb_exchange_token="+authResponse.accessToken,
54
 
55
			success	: function(response) {
56
				longLivedToken = response.substring(0,response.indexOf("&expires")).split("=")[1];
57
			},
58
 
59
			complete: function() {
60
				$.ajax({
61
					type : "POST",
62
					url : "/login/?email="+userDetails.email+"&name="+userDetails.name+"&gender="+userDetails.gender+"&isFacebookUser=True&accessToken="+longLivedToken+"&facebookId="+authResponse.userID,
63
					success : function(response) {
64
						window.location = "/";
65
					}
66
				});
67
			}
68
 
69
		});
70
	} else {
71
		$.ajax({
72
			type : "POST",
73
			url : "/login/?email="+userDetails.email+"&name="+userDetails.name+"&gender="+userDetails.gender+"&isFacebookUser=True",
74
			success : function(response) {
75
				window.location = "/";
76
			}
77
		});
78
	}
20203 aman.kumar 79
}*/
80
 
81
var LoginNamespace={};
82
var authDetails=null;
83
var userDetails=null;
20208 aman.kumar 84
var sourceShip=false;
20203 aman.kumar 85
$(document).ready(function() {
86
	  $.ajaxSetup({ cache: true });
87
	  $.getScript('//connect.facebook.net/en_US/sdk.js', function(){
88
	    FB.init({
89
	      appId: '{716370691734306}',
90
	      version: 'v2.7' // or v2.0, v2.1, v2.2, v2.3
91
	    });     
92
	    $('#loginbutton,#feedbutton').removeAttr('disabled');
93
 
94
	  });
95
 
96
	(function(d, s, id) {
97
	  var js, fjs = d.getElementsByTagName(s)[0];
98
	  if (d.getElementById(id)) return;
99
	  js = d.createElement(s); js.id = id;
100
	  js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.7&appId=716370691734306";
101
	  fjs.parentNode.insertBefore(js, fjs);
102
	}(document, 'script', 'facebook-jssdk'));
103
	});
104
 
105
var mode = '';
106
  function checkAndCallFacebookLogin() {
107
	  mode = $('#loginText').html();
20208 aman.kumar 108
 
20203 aman.kumar 109
	  $('#errormessage').hide();
110
	  $('#errormessage').html('');
111
	  	//window.fbAsyncInit();
112
	    FB.getLoginStatus(function(response) {
113
	  	  // Check login status on load, and if the user is
114
	  	  // already logged in, go directly to the welcome message.
115
	    	authDetails = response;
116
	  	  if (authDetails.status == 'connected') {
117
 
118
	  		getCurrentUserInfo();
119
	  	  } else {
120
	  	    // Otherwise, show Login dialog first.
121
	  	    FB.login(function(response) {
122
	  	    	authDetails=response;
123
	  	    	getCurrentUserInfo();
124
	  	    }, {scope: 'user_friends, email'});
125
	  	  }
126
	  	});
127
  }
128
 
129
  function loginregister(){
130
	  mode = $('#loginText').html();
131
	  $('#errormessage').hide();
132
	  $('#errormessage').html('');
133
	  if(mode =='Login'){
20208 aman.kumar 134
		  trackEventWithGA('Account', 'Login from '+window.location.pathname, $('#email').val());
20203 aman.kumar 135
		  $.ajax({
136
				type : "POST",
137
				url : "/login?email="+$('#email').val()+"&password="+$('#password').val(),
138
				success : function(response) {
139
					response = JSON.parse(response);
140
					if(response.status=='success'){
20208 aman.kumar 141
						if(sourceShip)
142
  							window.location.href='/shipping';
143
  						else
144
  							window.location.reload();
20203 aman.kumar 145
					}else{
146
						$('#errormessage').html(response.message);
147
					$('#errormessage').show();
148
					}
149
 
150
				}
151
			});
152
	  }else{
20208 aman.kumar 153
		  trackEventWithGA('Account', 'Register from '+window.location.pathname, $('#email').val());
20203 aman.kumar 154
		  $.ajax({
155
				type : "POST",
156
				url : "/register?redirectUrl=/&email="+$('#email').val()+"&password="+$('#password').val(),
157
				success : function(response) {
158
					response = JSON.parse(response);
159
					if(response.status=='success'){
20208 aman.kumar 160
						if(sourceShip)
161
  							window.location.href='/shipping';
162
  						else
163
  							window.location.reload();
20203 aman.kumar 164
					}else{
165
						$('#errormessage').html(response.message);
166
					$('#errormessage').show();
167
					}
168
				}
169
			});
170
	  }
171
  }
172
 
20208 aman.kumar 173
	$('#poplogin').click(function(){
174
		loginsignup('ship');
175
	});
176
 
177
 
178
 
20203 aman.kumar 179
 
180
	function getCurrentUserInfo() {
181
	      FB.api('/me?fields=id,name,email,permissions', function(userInfo) {
182
	    	  userDetails = userInfo;
183
	    	  if(authDetails && authDetails.status=='connected' && userDetails && userDetails.email){
184
	  			if(mode=='Login'){
20208 aman.kumar 185
	  				trackEventWithGA('Account', 'Facebook Login from '+window.location.pathname, $('#email').val());
20203 aman.kumar 186
	    		  $.ajax({
187
	  				type : "POST",
188
	  				url : "/login!verifyFbUser?accessToken="+authDetails.authResponse.accessToken+"&email="+userDetails.email,
189
	  				success : function(response) {
190
	  					response = JSON.parse(response);
191
	  					if(response.status=='success'){
20208 aman.kumar 192
	  						if(sourceShip)
193
	  							window.location.href='/shipping';
194
	  						else
195
	  							window.location.reload();
196
 
20203 aman.kumar 197
	  					}else{
198
	  						$('#errormessage').html(response.message);
199
	  						$('#errormessage').show();
200
	  					}
201
	  				}
202
	  			});
203
	  			}else{
20208 aman.kumar 204
	  				trackEventWithGA('Account', 'Facebook Register from '+window.location.pathname, $('#email').val());
20203 aman.kumar 205
	  				$.ajax({
206
		  				type : "POST",
207
		  				url : "/login!signupFacebookUser?accessToken="+authDetails.authResponse.accessToken+"&email="+userDetails.email,
208
		  				success : function(response) {
209
		  					response = JSON.parse(response);
210
		  					if(response.status=='success'){
20208 aman.kumar 211
		  						if(sourceShip)
212
		  							window.location.href='/shipping';
213
		  						else
214
		  							window.location.reload();
20203 aman.kumar 215
		  					}else{
216
		  						$('#errormessage').html(response.message);
217
		  						$('#errormessage').show();
218
		  					}
219
		  				}
220
 
221
		  			});
222
	  			}
223
 
224
 
225
	  	  }else{
226
	  		  //retry
227
	  		  //login unsuccessful
228
	  	  }
229
	      });
230
	    }
231
 
232
 
233
 
234
		function openpopup(){
235
			$('#register-login-popup').show();
236
			toggleLoginRegisterView('login');
237
		}
238
 
239
		function closepopup(){
240
		$('#register-login-popup').hide();
241
		toggleLoginRegisterView('login');
242
		}
243
 
244
		function toggleLoginRegisterView(view){
245
			$('#errormessage').hide();
246
			$('#email').html('');
247
			$('#password').html('');
248
			$('#errormessage').html('');
249
 
250
		if(view=='register'){
251
		$('#registerlogin').html('REGISTER');
252
		$('#loginText').html('Register');
253
		$('#loginregistertext').html('Already a member? <a href="javascript: void(0);" style="color:#069" onclick="toggleLoginRegisterView(\'login\')">Login</a></div>');
254
		$('#forgotPassword').hide();
255
		}else{
256
		$('#registerlogin').html('LOGIN');
257
		$('#loginText').html('Login');
258
		$('#loginregistertext').html('Do not have an account?<a href="javascript: void(0);" style="color:#069" onclick="toggleLoginRegisterView(\'register\')">Register</a></div>');
259
		$('#forgotPassword').show();
260
		}
261
		}
262
 
20208 aman.kumar 263
	function loginsignup(source){
264
		if(source) 
265
			sourceShip=true;
266
		else 
267
			sourceShip = false;
20203 aman.kumar 268
		if($('#register-login-popup').length==0){
20207 aman.kumar 269
			$('<html><style>#register-login-popup{width:100%;height:100%;position:fixed;top:0;left:0;background:rgba(102,102,102,.55)}.login-container{margin:0 auto;width:740px;z-index:10;height:auto;top:40px;position:relative;background:0 0}.login-inner-container{z-index:95;width:660px;min-height:400px;left:0;right:0;top:0;margin:auto;height:auto;background:#fff;position:relative}div.wrap{width:250px;margin-left:45px}div.wrap div{position:relative;margin:20px 0}.label{position:absolute;top:0;font-size:16px;margin:25px 25px 25px -5px;color:grey;padding:0 10px;background-color:#fff;-webkit-transition:top .2s ease-in-out,font-size .2s ease-in-out;transition:top .2s ease-in-out,font-size .2s ease-in-out}.active{top:-30px;font-size:20px;color:#069}div.wrap input{width:100%;padding:20px 20px 5px 5px;border:none;border-bottom:1px solid grey;font-size:20px;background-color:transparent;color:grey;position:relative;outline:0}div.wrap input:focus{border-color:#069;font-size:16px;-webkit-transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s}#loginBtn{cursor:pointer;border-radius:5px;width:250px;background-color:#069;padding:5 0;border:2px solid #069;text-align:center;margin-top:40px}#loginBtn:hover{border-color:grey;-webkit-transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s;transition:border-color .15s ease-in-out 0s,box-shadow .15s ease-in-out 0s}#loginText{font-size:24px;color:#fff;margin:10px 0}</style><script src="http://code.jquery.com/jquery-2.1.1.min.js" ></script><div id="register-login-popup" style="display:none"> <div id="iframeContainer" class="login-container"> <div class="login-inner-container"> <div onclick="closepopup()" id="closepopup" style="background-color: #333232;color: #fff;font-size: 24px;padding: 8px;position: absolute;right: -33px;cursor: pointer;">X</div><div style="height:10px;width:100%;margin:0 auto;padding:5px"></div><div id="registerlogin" style="width:100%;margin:0 auto;text-align: center;color:#069;float:left;padding-bottom:5px;font-size:26px;"> LOGIN </div><div style="width:100%;margin:0 auto;text-align: center;float: left;margin-top: 2px;"> <div style="width: 50%;height:auto;background-color: white;float:left;"> <div id="loginCreate" class="register-login" > <div id="errormessage" style="width:100%;text-align:center;font-size:12px;color:red;display:none"> email/password is wrong</div><div class="wrap"> <div> <label class="label" >Email</label> <input id="email" name="email" type="text" autocomplete = "off" class="cool"/> </div><div> <label class="label" >Password</label> <input id="password" name="password" autocomplete="off" type="password" class="cool"/> </div><div id="forgotPassword" style="margin: 0px;margin-top: -19px;margin-right: -162px;font-size: 12px;font-style: italic;"> <a href="/forgot-password" style="color:#069">forgot password?</a></div><div class="loginBtn" id="loginBtn" onclick="loginregister()"> <div id="loginText" > Login </div></div><div id="loginregistertext" style="width:100%;text-align:center;font-size:14px;font-weight:bold;"> Do not have an account? <a href="javascript: void(0);" style="color:#069" onclick="toggleLoginRegisterView(\'register\')">Register</a></div></div></div></div><div style="width:1px;height:300px;background-color: white;float: left;border-left: 1px solid grey;margin-top: 7px;margin-left: 3px;"></div><div style="width: 48%;height:300px;background-color: white;float:right;text-align:center;"><div style="width: 100%;font-size: 23px;color: #069;margin-top: 17px;"> Or Try </div><div onclick="checkAndCallFacebookLogin()" style="text-align:right;background: url(\'/unversioned/images/facebookconnect.png\');cursor:pointer;background-repeat: no-repeat;height: 42px;background-size: 250px 43px;margin-top: 162px;border-radius: 5px;width: 250px;margin-left: 29px;"><div id="fbloginbtn" style="color:white;font-weight:bold;font-size: 16px;padding: 8px;padding-top: 12px;">Connect with Facebook</div></div></div></div></div></div></div></div></html>').insertAfter('#footer');
20203 aman.kumar 270
			$(document).ready(function(){
271
				$('input').focusin( function() {
272
				  $(this).parent().find('label').addClass('active');
273
 
274
				});
275
 
276
				$('input').focusout( function() {
277
				  if (!this.value) {
278
				    $(this).parent().find('label').removeClass('active');
279
				  }
280
				});
281
 
282
				});
283
 
284
 
20206 aman.kumar 285
 
20203 aman.kumar 286
		}
20206 aman.kumar 287
		openpopup();
20203 aman.kumar 288
	}
289