Subversion Repositories SmartDukaan

Rev

Rev 7825 | Rev 20206 | 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;
84
 
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();
108
	  $('#errormessage').hide();
109
	  $('#errormessage').html('');
110
	  	//window.fbAsyncInit();
111
	    FB.getLoginStatus(function(response) {
112
	  	  // Check login status on load, and if the user is
113
	  	  // already logged in, go directly to the welcome message.
114
	    	authDetails = response;
115
	  	  if (authDetails.status == 'connected') {
116
 
117
	  		getCurrentUserInfo();
118
	  	  } else {
119
	  	    // Otherwise, show Login dialog first.
120
	  	    FB.login(function(response) {
121
	  	    	authDetails=response;
122
	  	    	getCurrentUserInfo();
123
	  	    }, {scope: 'user_friends, email'});
124
	  	  }
125
	  	});
126
  }
127
 
128
  function loginregister(){
129
	  mode = $('#loginText').html();
130
	  $('#errormessage').hide();
131
	  $('#errormessage').html('');
132
	  if(mode =='Login'){
133
		  $.ajax({
134
				type : "POST",
135
				url : "/login?email="+$('#email').val()+"&password="+$('#password').val(),
136
				success : function(response) {
137
					response = JSON.parse(response);
138
					if(response.status=='success'){
139
						window.location.reload();
140
					}else{
141
						$('#errormessage').html(response.message);
142
					$('#errormessage').show();
143
					}
144
 
145
				}
146
			});
147
	  }else{
148
		  $.ajax({
149
				type : "POST",
150
				url : "/register?redirectUrl=/&email="+$('#email').val()+"&password="+$('#password').val(),
151
				success : function(response) {
152
					response = JSON.parse(response);
153
					if(response.status=='success'){
154
						window.location.reload();
155
					}else{
156
						$('#errormessage').html(response.message);
157
					$('#errormessage').show();
158
					}
159
				}
160
			});
161
	  }
162
  }
163
 
164
 
165
	function getCurrentUserInfo() {
166
	      FB.api('/me?fields=id,name,email,permissions', function(userInfo) {
167
	    	  userDetails = userInfo;
168
	    	  if(authDetails && authDetails.status=='connected' && userDetails && userDetails.email){
169
	  			if(mode=='Login'){
170
	    		  $.ajax({
171
	  				type : "POST",
172
	  				url : "/login!verifyFbUser?accessToken="+authDetails.authResponse.accessToken+"&email="+userDetails.email,
173
	  				success : function(response) {
174
	  					response = JSON.parse(response);
175
	  					if(response.status=='success'){
176
	  						window.location.reload();
177
	  					}else{
178
	  						$('#errormessage').html(response.message);
179
	  						$('#errormessage').show();
180
	  					}
181
	  				}
182
	  			});
183
	  			}else{
184
	  				$.ajax({
185
		  				type : "POST",
186
		  				url : "/login!signupFacebookUser?accessToken="+authDetails.authResponse.accessToken+"&email="+userDetails.email,
187
		  				success : function(response) {
188
		  					response = JSON.parse(response);
189
		  					if(response.status=='success'){
190
		  						window.location.reload();
191
		  					}else{
192
		  						$('#errormessage').html(response.message);
193
		  						$('#errormessage').show();
194
		  					}
195
		  				}
196
 
197
		  			});
198
	  			}
199
 
200
 
201
	  	  }else{
202
	  		  //retry
203
	  		  //login unsuccessful
204
	  	  }
205
	      });
206
	    }
207
 
208
 
209
 
210
		function openpopup(){
211
			$('#register-login-popup').show();
212
			toggleLoginRegisterView('login');
213
		}
214
 
215
		function closepopup(){
216
		$('#register-login-popup').hide();
217
		toggleLoginRegisterView('login');
218
		}
219
 
220
		function toggleLoginRegisterView(view){
221
			$('#errormessage').hide();
222
			$('#email').html('');
223
			$('#password').html('');
224
			$('#errormessage').html('');
225
 
226
		if(view=='register'){
227
		$('#registerlogin').html('REGISTER');
228
		$('#loginText').html('Register');
229
		$('#loginregistertext').html('Already a member? <a href="javascript: void(0);" style="color:#069" onclick="toggleLoginRegisterView(\'login\')">Login</a></div>');
230
		$('#forgotPassword').hide();
231
		}else{
232
		$('#registerlogin').html('LOGIN');
233
		$('#loginText').html('Login');
234
		$('#loginregistertext').html('Do not have an account?<a href="javascript: void(0);" style="color:#069" onclick="toggleLoginRegisterView(\'register\')">Register</a></div>');
235
		$('#forgotPassword').show();
236
		}
237
		}
238
 
239
	function loginsignup(){
240
		if($('#register-login-popup').length==0){
241
			$('<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(\'images/facebookconnect.png\');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');
242
			$(document).ready(function(){
243
				$('input').focusin( function() {
244
				  $(this).parent().find('label').addClass('active');
245
 
246
				});
247
 
248
				$('input').focusout( function() {
249
				  if (!this.value) {
250
				    $(this).parent().find('label').removeClass('active');
251
 
252
				  }
253
				});
254
 
255
				});
256
 
257
			openpopup();
258
 
259
		}
260
	}
261