Subversion Repositories SmartDukaan

Rev

Rev 20208 | Rev 20222 | 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
 
20212 aman.kumar 81
 
20203 aman.kumar 82
var LoginNamespace={};
83
var authDetails=null;
84
var userDetails=null;
20208 aman.kumar 85
var sourceShip=false;
20203 aman.kumar 86
$(document).ready(function() {
87
	  $.ajaxSetup({ cache: true });
88
	  $.getScript('//connect.facebook.net/en_US/sdk.js', function(){
89
	    FB.init({
90
	      appId: '{716370691734306}',
91
	      version: 'v2.7' // or v2.0, v2.1, v2.2, v2.3
92
	    });     
93
	    $('#loginbutton,#feedbutton').removeAttr('disabled');
94
 
95
	  });
96
 
97
	(function(d, s, id) {
98
	  var js, fjs = d.getElementsByTagName(s)[0];
99
	  if (d.getElementById(id)) return;
100
	  js = d.createElement(s); js.id = id;
101
	  js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.7&appId=716370691734306";
102
	  fjs.parentNode.insertBefore(js, fjs);
103
	}(document, 'script', 'facebook-jssdk'));
104
	});
105
 
106
var mode = '';
107
  function checkAndCallFacebookLogin() {
108
	  mode = $('#loginText').html();
20208 aman.kumar 109
 
20203 aman.kumar 110
	  $('#errormessage').hide();
111
	  $('#errormessage').html('');
112
	  	//window.fbAsyncInit();
113
	    FB.getLoginStatus(function(response) {
114
	  	  // Check login status on load, and if the user is
115
	  	  // already logged in, go directly to the welcome message.
116
	    	authDetails = response;
117
	  	  if (authDetails.status == 'connected') {
118
 
119
	  		getCurrentUserInfo();
120
	  	  } else {
121
	  	    // Otherwise, show Login dialog first.
122
	  	    FB.login(function(response) {
123
	  	    	authDetails=response;
124
	  	    	getCurrentUserInfo();
125
	  	    }, {scope: 'user_friends, email'});
126
	  	  }
127
	  	});
128
  }
129
 
130
  function loginregister(){
131
	  mode = $('#loginText').html();
132
	  $('#errormessage').hide();
133
	  $('#errormessage').html('');
134
	  if(mode =='Login'){
20208 aman.kumar 135
		  trackEventWithGA('Account', 'Login from '+window.location.pathname, $('#email').val());
20203 aman.kumar 136
		  $.ajax({
137
				type : "POST",
138
				url : "/login?email="+$('#email').val()+"&password="+$('#password').val(),
139
				success : function(response) {
140
					response = JSON.parse(response);
141
					if(response.status=='success'){
20208 aman.kumar 142
						if(sourceShip)
143
  							window.location.href='/shipping';
144
  						else
145
  							window.location.reload();
20203 aman.kumar 146
					}else{
147
						$('#errormessage').html(response.message);
148
					$('#errormessage').show();
149
					}
150
 
151
				}
152
			});
153
	  }else{
20208 aman.kumar 154
		  trackEventWithGA('Account', 'Register from '+window.location.pathname, $('#email').val());
20203 aman.kumar 155
		  $.ajax({
156
				type : "POST",
157
				url : "/register?redirectUrl=/&email="+$('#email').val()+"&password="+$('#password').val(),
158
				success : function(response) {
159
					response = JSON.parse(response);
160
					if(response.status=='success'){
20208 aman.kumar 161
						if(sourceShip)
162
  							window.location.href='/shipping';
163
  						else
164
  							window.location.reload();
20203 aman.kumar 165
					}else{
166
						$('#errormessage').html(response.message);
167
					$('#errormessage').show();
168
					}
169
				}
170
			});
171
	  }
172
  }
173
 
20208 aman.kumar 174
	$('#poplogin').click(function(){
175
		loginsignup('ship');
176
	});
177
 
178
 
179
 
20203 aman.kumar 180
 
181
	function getCurrentUserInfo() {
182
	      FB.api('/me?fields=id,name,email,permissions', function(userInfo) {
183
	    	  userDetails = userInfo;
184
	    	  if(authDetails && authDetails.status=='connected' && userDetails && userDetails.email){
185
	  			if(mode=='Login'){
20208 aman.kumar 186
	  				trackEventWithGA('Account', 'Facebook Login from '+window.location.pathname, $('#email').val());
20203 aman.kumar 187
	    		  $.ajax({
188
	  				type : "POST",
189
	  				url : "/login!verifyFbUser?accessToken="+authDetails.authResponse.accessToken+"&email="+userDetails.email,
190
	  				success : function(response) {
191
	  					response = JSON.parse(response);
192
	  					if(response.status=='success'){
20208 aman.kumar 193
	  						if(sourceShip)
194
	  							window.location.href='/shipping';
195
	  						else
196
	  							window.location.reload();
197
 
20203 aman.kumar 198
	  					}else{
199
	  						$('#errormessage').html(response.message);
200
	  						$('#errormessage').show();
201
	  					}
202
	  				}
203
	  			});
204
	  			}else{
20208 aman.kumar 205
	  				trackEventWithGA('Account', 'Facebook Register from '+window.location.pathname, $('#email').val());
20203 aman.kumar 206
	  				$.ajax({
207
		  				type : "POST",
208
		  				url : "/login!signupFacebookUser?accessToken="+authDetails.authResponse.accessToken+"&email="+userDetails.email,
209
		  				success : function(response) {
210
		  					response = JSON.parse(response);
211
		  					if(response.status=='success'){
20208 aman.kumar 212
		  						if(sourceShip)
213
		  							window.location.href='/shipping';
214
		  						else
215
		  							window.location.reload();
20203 aman.kumar 216
		  					}else{
217
		  						$('#errormessage').html(response.message);
218
		  						$('#errormessage').show();
219
		  					}
220
		  				}
221
 
222
		  			});
223
	  			}
224
 
225
 
226
	  	  }else{
227
	  		  //retry
228
	  		  //login unsuccessful
229
	  	  }
230
	      });
231
	    }
232
 
233
 
234
 
235
		function openpopup(){
236
			$('#register-login-popup').show();
237
			toggleLoginRegisterView('login');
238
		}
239
 
240
		function closepopup(){
241
		$('#register-login-popup').hide();
242
		toggleLoginRegisterView('login');
243
		}
244
 
245
		function toggleLoginRegisterView(view){
246
			$('#errormessage').hide();
247
			$('#email').html('');
248
			$('#password').html('');
249
			$('#errormessage').html('');
250
 
251
		if(view=='register'){
252
		$('#registerlogin').html('REGISTER');
253
		$('#loginText').html('Register');
254
		$('#loginregistertext').html('Already a member? <a href="javascript: void(0);" style="color:#069" onclick="toggleLoginRegisterView(\'login\')">Login</a></div>');
255
		$('#forgotPassword').hide();
256
		}else{
257
		$('#registerlogin').html('LOGIN');
258
		$('#loginText').html('Login');
259
		$('#loginregistertext').html('Do not have an account?<a href="javascript: void(0);" style="color:#069" onclick="toggleLoginRegisterView(\'register\')">Register</a></div>');
260
		$('#forgotPassword').show();
261
		}
262
		}
263
 
20208 aman.kumar 264
	function loginsignup(source){
265
		if(source) 
266
			sourceShip=true;
267
		else 
268
			sourceShip = false;
20203 aman.kumar 269
		if($('#register-login-popup').length==0){
20212 aman.kumar 270
			$('<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" value=""/> </div><div> <label class="label" >Password</label> <input id="password" name="password" autocomplete="off" type="password" class="cool" value=""/> </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 271
			$(document).ready(function(){
272
				$('input').focusin( function() {
273
				  $(this).parent().find('label').addClass('active');
274
 
275
				});
276
 
277
				$('input').focusout( function() {
278
				  if (!this.value) {
279
				    $(this).parent().find('label').removeClass('active');
280
				  }
281
				});
282
 
283
				});
284
 
285
 
20206 aman.kumar 286
 
20203 aman.kumar 287
		}
20206 aman.kumar 288
		openpopup();
20203 aman.kumar 289
	}
290