//Adding for mobile
var HOST_WITH_SSL;
var HOST_WITHOUT_SSL;

var SIGN_UP_PAGETYPE='sign_up_page_type';
var SIGN_UP_ORIGIN='SignupOrigin';
var OAUTH_RESPONSE = 'oauth_response';
var LANDING_PAGE = 'landc';
var USER_REG = 'user_reg';
var LOGO_CONFIRMATION = 'logo_c';
var HP_ONBOARDING_STEP1_STARTED = 'HP Onboarding V4 Step 1 Started'


setCookie(SIGN_UP_PAGETYPE,1,120)
setCookie(SIGN_UP_ORIGIN,'Mobile Signup Popup',120)


function initializeUrls(appUrl) {
	HOST_WITH_SSL = appUrl + "/";
	HOST_WITHOUT_SSL = HOST_WITH_SSL;
}

var urlPrefixRegExPattern = new RegExp("(http|ftp|https):\/\/");
$(function() {
	var SUCCESS_STRING = "1";
	var AUTO_LOGIN_SUCCESS_STRING = "5";
	$("#notRegisteredLink").click(function() {
		$("#registrationDiv").hide();
		$("#social_register").show();
	});
	$("#owlerEmailRegister").click(function() {
		$("#social_register").hide();
		$("#mb_mail_register").show();
	});
	$("#alreadyRegisteredLink").click(function() {
		$("#social_register").hide();
		$("#registrationDiv").show();
	});
	$("#alreadyRegisteredLink2").click(function() {
		$("#mb_mail_register").hide();
		$("#registrationDiv").show();
	});
	$("#signupForm input#password").focus(function() {
		$("#signupForm input#confirmPassword").val('');
	});
	$("#passwordResetSuccess").click(function() {
		$("#resetPasswordRequestDiv").hide();
		$("#registrationDiv").show();
	});

	$("#mobileforgotPasswordLink").click(function() {
		$("#registrationDiv").hide();
		$("#resetPasswordRequestDiv").show();
	});

	$("#linkToHome").click(function() {
		var targetURL1 = HOST_WITHOUT_SSL + "index.htm";
		window.location.href = targetURL1;
	});
	$("#continueLinkToHome").click(function() {
		var targetURL1 = "/index.htm";
		var property = {};
		property["Mode of Closure"] = "Continue to Site";
		mixpanel.track("Mobile Homepage Closed", property);
		mixpanel.people.set({
			'$last_seen' : new Date()
		});
		setTimeout(function() {
			window.location.href = targetURL1;
		}, 500);
	});
	
	$('#owlerEmailRegister').click(function() {
		$('.signup_box').hide();
		$('.registeration_box').show();
	});

	$('.signup_social a').click(function() {
		signupFormValidator.resetForm();
		resetForm($("#signupForm"));
		$('.registeration_box').hide();
		$('.signup_box').show();
	});

	$(document).on(
			'mouseenter',
			'.validate',
			function() {
				$(this).prev(".form_error_message, .form_error_message_right")
						.css('visibility', 'visible');
			});
	$(document).on(
			'mouseleave',
			'.validate',
			function() {
				$(this).prev(".form_error_message, .form_error_message_right")
						.css('visibility', 'hidden');
			});
	var signupFormValidator = $("#signupForm")
			.validate(
					{
						rules : {
							email : {
								required : true,
								emailValidation : true
							}
						},
						messages : {
							email : {
								required : "Please enter a valid email address",
								emailValidation : "Please enter a valid email address"
							}
						},
						errorElement : "span",
						wrapper : "span", // a wrapper around the error
											// message
						errorPlacement : function(error, element) {
							element.before(error);
							error.addClass('form_error_message');
							error.append("<span class='error_arrow'></span>");
							offset = element.offset();
							if (($(element).attr("id") == "fname")
									|| ($(element).attr("id") == "lname")) {
								error.css('left', $(element).position().left
										+ $(element).width() - 260 + 100);
								error.css('top', $(element).position().top
										+ $(element).height() - 55);
							} else {
								error.css('left', $(element).position().left
										+ $(element).width() - 260);
								error.css('top', $(element).position().top
										+ $(element).height() - 55);
							}
						},
						submitHandler : function() {
							var name = $("input#name").val();
							var emailValue = $("input#email").val();
							var dataString = "email="
									+ emailValue;
							$('#signup').attr("disabled", true);
							if(validateDomain(emailValue)){			
								var url = HOST_WITH_SSL + "addSimpleVisitor.htm?";
								$("#TB_window")
									.append(
											"<div class='popup_overlay'><img src='"
													+ CDNImgPATH
													+ "images/loading_new.gif' alt='loading' /></div>");
								$
									.ajax({
										type : "POST",
										url : url,
										data : dataString,
										success : function(data, textStatus,
												jQXHr) {
											/*ISAC = is SignUp Analytics captured*/
											setCookie('ISAC','0',120)
											var response = $.parseJSON(data);
											if (response.result == SUCCESS_STRING) {	
												var targetURL = $("input#targetURL").val();
												if (targetURL == undefined
														|| targetURL == ""
														|| targetURL == 'null') {
													targetURL = HOST_WITHOUT_SSL
															+ "home.htm?showInWebBrowser=true";
												}
												trackMixpanelLoginEvent(response,getCallBckFn(targetURL));
											} else {
												$("#signupError p").html(
														response.message);
												$('#signupError').show();
												$(".popup_overlay").remove();
												$('#signup').attr("disabled",
														false);
											}
										},
										error : function(data, textStatus,
												jQXhr) {
											$("#signupError p").html = data;
											$(".popup_overlay").remove();
											$('#signup')
													.attr("disabled", false);
										}
									});
							} else {
								$("#signupForm #domain_error_message").show();
								$('#signup').attr("disabled", false);
							}
							return false;
						}
					});
	var regSocialSuccessFormValidator = $("#regSocialSuccessForm")
	.validate(
			{
				rules : {
					profilename1 : {
						required : true,
						minlength : 4,
						profileNameExists : true
					}
				},
				messages : {
					profilename1 : {
						required : "Please enter your public profile name",
						minlength : "Must consist of 4 characters and no spaces"
					}
				},
				errorElement: "span",
	             wrapper: "span", // a wrapper around the error message
	 	        errorPlacement: function(error, element) {
		 	        element.before(error);
	 	            error.addClass('form_error_message');
	 	            error.append("<span class='error_arrow'></span>");
	 	            offset = element.offset();
	 	            if (($(element).attr("id") == "fname") || ($(element).attr("id") == "lname")) {
	 	            	error.css('left', $(element).position().left + $(element).width() - 260 + 100); 
		 	            error.css('top', $(element).position().top + $(element).height() - 55);
	 	            } else {
	 	            error.css('left', $(element).position().left + $(element).width() - 155); 
	 	            error.css('top', $(element).position().top + $(element).height() - 55);
	 	            }
	 	        },
				submitHandler : function() {
					var time_Zone_Offset = new Date().getGmtOffset();
					var firstName = "";
					var lastName = "";
					var profileName = $("input#profilename1").val();
					var profilePicture = "";
					var dataString = "firstname=" + firstName
							+ "&lastname=" + lastName+ "&profilename=" + profileName+ "&profilepicture=" + profilePicture+'&timeZone='+time_Zone_Offset
					var url = HOST_WITH_SSL+"/updatePublicProfile.htm?";
					$
							.ajax({
								type : "POST",
								url : url,
								data : dataString,
								success : function(data, textStatus,
										jQXHr) {
									var response = $.parseJSON(data);
									if (response.result == SUCCESS_STRING) {
										$("#registerThanksDivSocial").hide();
										//Now go inside application
										window.location.assign(HOST_WITH_SSL);
									} else {
										$("#regSocialSuccessFormErrorDiv p").html(response.message);
										$('#regSocialSuccessFormErrorDiv').show();	
										$(".popup_overlay").remove();
										$('#continueSocialRegisterThanks').attr("disabled",
												false);
									}
								},
								error : function(data, textStatus,
										jQXhr) {
									$("#regSocialSuccessFormErrorDiv p").html = data;
									$(".popup_overlay").remove();
									$('#continueSocialRegisterThanks').attr("disabled", false);
								}

							});
					return false;
				}
			});
	
	$.validator.addMethod("profileNameExists", function(value, element) {
		var isProfileNameNotExists = true;
		var result = this.optional(element) || /^[0-9a-zA-Z]+$/i.test(value); 
		if(result == false) {
			$.validator.messages.profileNameExists = 'No special characters allowed';
			return result;
		}
		$('#profilename').attr('readonly', true);
		$('#profilename1').attr('readonly', true);
		$.ajax({
			type : "POST",
			url : HOST_WITH_SSL+"/profileNameExists.htm?",
			data : "profilename=" + value,
			async : false,
			success : function(data, textStatus, jQXHr) {
				responseRecevied = true;
				var response = $.parseJSON(data);
				if (response.result == SUCCESS_STRING) {
						$('#profilename').attr('readonly', false);
						$('#profilename1').attr('readonly', false);
						isProfileNameNotExists = true;
				} else {
						$('#profilename').attr('readonly', false);
						$('#profilename1').attr('readonly', false);
						isProfileNameNotExists = false;
						$.validator.messages.profileNameExists = response.message;
				}
				
			},
			error : function(msg) {
				responseRecevied = true;
				isProfileNameNotExists = false;
				$('span.available').remove();
				$('span.notavailable').remove();
			}
		});
		return isProfileNameNotExists;
	}, "profile name already exists...");

	var regSuccessFormValidator = $("#regSuccessForm")
			.validate(
					{
						rules : {
							profilename : {
								required : true,
								minlength : 4,
								profileNameExists : true
							}
						},
						messages : {
							profilename : {
								required : "Please enter your public profile name",
								minlength : "Must consist of 4 characters and no spaces"
							}
						},
						errorElement : "span",
						wrapper : "span", // a wrapper around the error
											// message
						errorPlacement : function(error, element) {
							element.before(error);
							error.addClass('form_error_message');
							error.append("<span class='error_arrow'></span>");
							offset = element.offset();
							if (($(element).attr("id") == "fname")
									|| ($(element).attr("id") == "lname")) {
								error.css('left', $(element).position().left
										+ $(element).width() - 260 + 100);
								error.css('top', $(element).position().top
										+ $(element).height() - 55);
							} else {
								error.css('left', $(element).position().left
										+ $(element).width() - 155);
								error.css('top', $(element).position().top
										+ $(element).height() - 55);
							}
						},
						submitHandler : function() {
							var time_Zone_Offset = new Date().getGmtOffset();
							var firstName = "";
							var lastName = "";
							var profileName = $("input#profilename").val();
							var profilePicture = "";
							var dataString = "firstname=" + firstName
									+ "&lastname=" + lastName + "&profilename="
									+ profileName + "&profilepicture="
									+ profilePicture+'&timeZone='+time_Zone_Offset
							$('#continueRegisterThanks').prop('disabled', true);
							var url = HOST_WITH_SSL + "/updatePublicProfile.htm?";
							$.ajax({
								type : "POST",
								url : url,
								data : dataString,
								success : function(data, textStatus, jQXHr) {
									var response = $.parseJSON(data);
									if (response.result == SUCCESS_STRING) {
										$("#registerThanksDiv").hide();
										// Now go inside application
										var targetURL = $("input#targetURL")
												.val();
										if (targetURL == undefined
												|| targetURL == ""
												|| targetURL == 'null') {
											targetURL = HOST_WITHOUT_SSL
													+ "home.htm?showInWebBrowser=true";
										}
										window.location.href = targetURL;
									} else {
										$("#regSuccessFormErrorDiv p").html(
												response.message);
										$('#regSuccessFormErrorDiv').show();
										$(".popup_overlay").remove();
										$('#continueRegisterThanks').attr(
												"disabled", false);
									}
								},
								error : function(data, textStatus, jQXhr) {
									$("#regSuccessFormErrorDiv p").html = data;
									$(".popup_overlay").remove();
									$('#continueRegisterThanks').attr(
											"disabled", false);
								}
							});
							return false;
						}
					});
	var showMobileSignInErrorMsg = function(data){
		$(".domain_error_message").remove();
		$('#emailSignIn').after("<div class='domain_error_message'><i class='fa fa-exclamation-circle fa-rotate-180'></i><span class='errorMsg'></span></div>");
		$(".domain_error_message span.errorMsg").html(data);
		$(".domain_error_message").show();
		$(".popup_overlay").remove();
	}
	var mobileSignInForm = $("#mobileSignInForm")
			.validate(
					{
						rules : {
							emailSignIn : {
								required : true,
								emailValidation : true
							}
						},
						messages : {
							emailSignIn : {
								required : "Please enter a valid email address",
								emailValidation : "Please enter a valid email address"
							}
						},
						errorElement : "span",
						wrapper : "div", // a wrapper around the error
											// message
						errorPlacement : function(error, element) {
			                $(".domain_error_message").remove();
			                $('#emailSignIn').after(error);
			                error.addClass('domain_error_message');
			                error.prepend("<i class='fa fa-exclamation-circle fa-rotate-180'></i>");
			                offset = element.offset();
			            },
						submitHandler : function(form) {
							var emailValue = $("input#emailSignIn").val();
							var targetURL = window.location.href;
							var dataString = "email=" + emailValue
								+ "&targetURL="
								+ targetURL;
							var url = HOST_WITH_SSL
								+ "requestSignInLink.htm?";

							$
								.ajax({
									type : "POST",
									url : url,
									data : dataString,
									success : function(data, textStatus, jqXhr) {
										var response = $.parseJSON(data);

										if (response.result == SUCCESS_STRING) {
											$("#signInFormDivContainer").hide();
											$("#signInFormResponseDivContainer").show();
											var pageTypeProp={};
											var pageType=document.getElementById("originPage")
											var timeStamp = new Date().toUTCString();
											if( pageType!= undefined &&pageType != null){
												pageTypeProp['Page Type']=pageType.value
											}else{
												pageTypeProp['Page Type']=window.currentPage
											}
											pageTypeProp['Email Id']= $("input#emailSignIn").val();
											pageTypeProp['UserId']=response.memberId;
											pageTypeProp['Timestamp']= timeStamp;
											trackMixpanelEvent('User sign in request',pageTypeProp)										
											
										} else if (response.result == '3') {
											showMobileSignInErrorMsg("Your account has been locked. Please contact <a href='mailto:support@owler.com'>support@owler.com</a> if you feel this has been in error");
											$("#mobileSignInForm input").removeClass("valid");
										} else if(response.result == AUTO_LOGIN_SUCCESS_STRING) {
											trackMixpanelEvent('User sign in request',pageTypeProp, getCallBckFn(undefined))
										} else {
											showMobileSignInErrorMsg(response.message);
											$("#mobileSignInForm input").removeClass("valid");
										}
									},
									error : function(data, textStatus, jqXHr) {
										showMobileSignInErrorMsg(data);
									}
								});
							return false;
						}
					});
	var resetPasswordRequestValidator = $("#resetPasswordRequestForm")
			.validate(
					{
						rules : {
							resetPasswordRequestEmailSignIn : {
								required : true,
								emailValidation : true
							}
						},
						messages : {
							resetPasswordRequestEmailSignIn : {
								required : "Please enter a valid email address",
								emailValidation : "Please enter a valid email address"
							}
						},
						errorElement : "span",
						wrapper : "span", // a wrapper around the error
											// message
						errorPlacement : function(error, element) {
							element.before(error);
							error.addClass('form_error_message');
							error.append("<span class='error_arrow'></span>");
							offset = element.offset();
							error.css('left', $(element).position().left
									+ $(element).width() - 210);
							error.css('top', $(element).position().top
									+ $(element).height() - 55);
						},
						submitHandler : function(form) {
							var forgotEmailValue = $(
									"input#resetPasswordRequestEmailSignIn")
									.val();

							var dataString = "email=" + forgotEmailValue;
							var url = HOST_WITH_SSL
									+ "sendResetPassswordNotify.htm?";
							$("#TB_window")
									.append(
											"<div class='popup_overlay'><img src='"
													+ CDNImgPATH
													+ "images/loading_new.gif' alt='loading' /></div>");
							$.ajax({
								type : "POST",
								url : url,
								data : dataString,
								success : function(data, textStatus, jqXhr) {
									var response = $.parseJSON(data);
									if (response.result == SUCCESS_STRING) {
										$("#resetPasswordRequestSuccessDiv p")
												.html(response.message);
										$("#resetPasswordRequestDivContainer")
												.hide();
										$("#resetPasswordRequestSuccessDiv")
												.show();
										$(".popup_overlay").remove();
									} else {
										$("#resetPasswordError p").html(
												response.message);
										$("#resetPasswordError").show();
										$("span.error").show();
										$(".popup_overlay").remove();
									}
								},
								error : function(data, textStatus, jqXHr) {
									$("#resetPasswordError p").html = data;
									$(".popup_overlay").remove();
								}
							});
							return false;
						}
					});
});

/* Form Reset function */

function resetForm($form) {
	$form.find('input:text, input:password, input:file, select').val('');
	$form.find('input:text, input:password, input:file, select').removeClass(
			"error").removeClass("valid").removeClass(
			'form_error_message_right').removeClass('form_error_message');
	$form.find('input:radio, input:checkbox').removeAttr('checked').removeAttr(
			'selected');
}

$(window).bind("load", function() {
	// To set landing page of the user
	if(getCookie(LANDING_PAGE) == null){
		setCookie(LANDING_PAGE, currentPage, 604800); // Expiry time for 7 days
	}
});

var oauth_window;
var OAUTH_STATUS_USER_REGISTERED = "2";
var OAUTH_STATUS_EMAIL_REQD = "3";
var OAUTH_STATUS_COOKIE = 'oauth_status';
var OAUTH_SCREEN_NAME_COOKIE = 'screen_name';
var OAUTH_STATUS_ACCOUNT_BLOCKED = "4";
var OAUTH_STATUS_USER_LOGGED_IN = "5";
var COOKIE_USER_ID = "user_id";

function PopupOAuthWindowCenter(pageURL, title, w, h) {
	if (oauth_window) {
		oauth_window.close();
	}
	var left = (screen.width / 2) - (w / 2);
	var top = (screen.height / 2) - (h / 2);
	oauth_window = window
			.open(
					pageURL,
					title,
					'toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no,width='
							+ w
							+ ',height='
							+ h
							+ ',top='
							+ top
							+ ',left='
							+ left);
	oauth_window.focus();
}

var TwitterConnect = (function() {
	function TwitterConnect(url, width, height) {
		this.url = url;
		this.width = width;
		this.height = height;
	}
	TwitterConnect.prototype.exec = function() {
		var self = this;
		PopupOAuthWindowCenter(this.url, 'OAuth', this.width, this.height);
		this.interval = window
				.setInterval(
						(function() {
							if (oauth_window.closed) {
								window.clearInterval(self.interval);
								var responseStr = $.parseJSON(getCookie(OAUTH_RESPONSE))
								var response = $.parseJSON(responseStr)
								var status = getCookie(OAUTH_STATUS_COOKIE);
								if (status == OAUTH_STATUS_USER_LOGGED_IN) {
									var targetURL = $("input#targetURL").val();
									if (targetURL == undefined
											|| targetURL == ""
											|| targetURL == 'null') {
										targetURL = HOST_WITHOUT_SSL
												+ "home.htm?showInWebBrowser=true";
									}
									trackMixpanelLoginEvent(response, getCallBckFn(targetURL));
								} else if (status == OAUTH_STATUS_EMAIL_REQD) {
									var targetURL = $("input#targetURL").val();
									if (targetURL == undefined
										|| targetURL == ""
										|| targetURL == 'null') {
										targetURL = HOST_WITHOUT_SSL
										+ "home.htm?showInWebBrowser=true";
									}
									window.location.replace(HOST_WITH_SSL + 'signup.htm?targetURL=' + targetURL);
								} else if (status == OAUTH_STATUS_ACCOUNT_BLOCKED) {
									tb_show("Account Blocked",
											"#TB_inline?height=100&amp;width=360&amp;inlineId=accountBlockedDiv");
								}
							}
						}), 1000);

	};
	return TwitterConnect;
})();


var SocialConnect = (function() {
	function SocialConnect(url, width, height) {
		this.url = url;
		this.width = width;
		this.height = height;
	}

	SocialConnect.prototype.exec = function() {
		setCookie('t_z', new Date().getGmtOffset(), 300);
		var self = this;
		PopupOAuthWindowCenter(this.url, 'OAuth', this.width, this.height);

		this.interval = window
			.setInterval(
			(function() {
				if (oauth_window.closed) {
					window.clearInterval(self.interval);
					var responseStr = $.parseJSON(getCookie(OAUTH_RESPONSE))
					var response = $.parseJSON(responseStr)
					var status = getCookie(OAUTH_STATUS_COOKIE);
					var userId=response.memberId
					if (status == OAUTH_STATUS_USER_REGISTERED) {
						if(response.employerURL != undefined){
							setCookie(LOGO_CONFIRMATION, 0, 300);
							trackMixpanelLoginEvent(response,getSignUpCallBckFn(response.employerURL+"?onBoardingComplete=true"));
						} else {
							$("#mobileHomeRegisterForm").hide();
							$("#mobile_home").hide();
							$("#registrationFlowSteps").show();
							$("#competitveGraphImage").css({"opacity":"0.3","margin-top":"0px"});
							$("#userEmail").val(response.userEmail);
							var property={};
							property['User role']=response.userRole;
							property['UserId']=response.memberId;
							trackMixpanelLoginEvent(response,function(){
								trackMixpanelEvent(HP_ONBOARDING_STEP1_STARTED,property)
							});							}
						setCookie(USER_REG, 0, 300);
					} else if (status == OAUTH_STATUS_USER_LOGGED_IN) {
						var targetURL = $("input#targetURL").val();
						if (targetURL == undefined
							|| targetURL == ""
							|| targetURL == 'null') {
							targetURL = HOST_WITHOUT_SSL
							+ "home.htm?showInWebBrowser=true";
						}
						trackMixpanelLoginEvent(response, getCallBckFn(targetURL));
					} else if(status == OAUTH_STATUS_EMAIL_REQD) {
						var targetURL = $("input#targetURL").val();
						if (targetURL == undefined
							|| targetURL == ""
							|| targetURL == 'null') {
							targetURL = HOST_WITHOUT_SSL
							+ "home.htm?showInWebBrowser=true";
						}
						window.location.replace(HOST_WITH_SSL + 'signup.htm?targetURL=' + targetURL);
					} else if (status == OAUTH_STATUS_ACCOUNT_BLOCKED) {
						tb_show("Account Blocked",
							"#TB_inline?height=100&amp;width=360&amp;inlineId=accountBlockedDiv");
					}
				}
			}), 1000);

	};

	return SocialConnect;
})();
$(function() {
	$(".twitter-register-connect").click(
			function() {
				var dataString = "register";
				$.ajax({
					url : HOST_WITHOUT_SSL + "twitterlogin.htm?",
					async : false,
					data : "url=" + dataString,
					success : function(data, textStatus, jQXHr) {
						var response = $.parseJSON(data);
						var authUrl = response.authorizationUrl;
						if (authUrl) {
							var twitter_connect = new TwitterConnect(authUrl,
									900, 600);
							twitter_connect.exec();
						}
					},
					error : function(data, textStatus, jQXHr) {
						alert(textStatus);
					}
				});
				return false;
			});
	$(".twitter-login-connect").click(
			function() {
				var dataString = "register";
				$.ajax({
					url : HOST_WITHOUT_SSL + "twitterlogin.htm?",
					async : false,
					data : "url=" + dataString,
					success : function(data, textStatus, jQXHr) {
						var response = $.parseJSON(data);
						var authUrl = response.authorizationUrl;
						if (authUrl) {
							var twitter_connect = new TwitterConnect(authUrl,
									900, 600);
							twitter_connect.exec();
						}
					},
					error : function(data, textStatus, jQXHr) {
						alert(textStatus);
					}
				});
				return false;
			});

	$(".google-connect").click(function() {

		$.ajax({
			url : HOST_WITHOUT_SSL + "googlelogin.htm",
			async : false,
			success : function(data, textStatus, jQXHr) {
				var authUrl = data;
				if (authUrl) {
					var social_connect = new SocialConnect(authUrl, 900, 600);
					social_connect.exec();
				}
			},
			error : function(data, textStatus, jQXHr) {
				alert(textStatus);
			}
		});
		return false;
	});

	$(".facebook-connect").click(function() {
		$.ajax({
			url : HOST_WITHOUT_SSL + "facebooklogin.htm",
			async : false,
			success : function(data, textStatus, jQXHr) {
				// var response = $.parseJSON(data);
				var authUrl = data;
				if (authUrl) {
					var social_connect = new SocialConnect(authUrl, 900, 600);
					social_connect.exec();
				}
			},
			error : function(data, textStatus, jQXHr) {
				alert(textStatus);
			}
		});
		return false;
	});

	$(".linkedin-connect").click(function() {
		$.ajax({
			url : HOST_WITHOUT_SSL + "linkedinlogin.htm",
			async : false,
			success : function(data, textStatus, jQXHr) {
				var response = $.parseJSON(data);
				var authUrl = response.authorizationUrl;
				if (authUrl) {
					var social_connect = new SocialConnect(authUrl, 900, 600);
					social_connect.exec();
				}
			},
			error : function(data, textStatus, jQXHr) {
				alert(textStatus);
			}
		});
		return false;
	});
	$(".signUpLink").click(function(){
		$("#mobile_container h2").hide();
		$(".linkedInLink_text").hide();
		$("#linkedInLink").hide();
		$(".signUpLink").hide();
		$(".login_link").hide();
		$("#mobileHomeRegisterForm").show();
		$("#competitveGraphImage").css({"opacity":"0.3","margin-top":"0px"});
	});
});

$(document).ready(function() {
	$(function() {
		$('#signupForm .input_field').focus(function() {
			$('label.label-hide[for="' + $(this)[0].id + '"]').hide();
			window.setInterval(timeout, 1000);
		}).blur(function() {
			if ($("#password").val().length > 0)
				$('label.label-hide[for="password"]').hide();
			if ($(this).val() == '')
				$('label.label-hide[for="' + $(this)[0].id + '"]').show();
		});
	});

	
	$(function() {
		$('#mobileSignInForm .input_field').focus(function() {
			$('label.label-hide[for="' + $(this)[0].id + '"]').hide();
			window.setInterval(timeout, 1000);
		}).blur(function() {
			if ($(this).val() == '')
				$('label.label-hide[for="' + $(this)[0].id + '"]').show();
		});
	});
});
function ajaxResponseHandler(response) {
	if (response.result == 1) {
		successMessage(response.message);
	} else if (response.result == 0) {
		errorMessage(response.message);
	} else if (response.result == 2) {
		informationMessage(response.message);
	}
}

$('[placeholder]').focus(function() {
	var input = $(this);
	if (input.val() == input.attr('placeholder')) {
		input.val('');
		input.removeClass('placeholder');
	}
}).blur(function() {
	var input = $(this);
	if (input.val() == '' || input.val() == input.attr('placeholder')) {
		input.addClass('placeholder');
		input.val(input.attr('placeholder'));
	}
}).blur();

/* Email - validation */
$.validator
		.addMethod(
				"emailValidation",
				function(value, element) {
					return this.optional(element)
							|| /^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$/i
									.test(value);
				}, "Please enter a valid email address");

function hideErrorMsg(){
	$(".domain_error_message").hide();
}

function validateDomain(emailValue) {	
	var email = emailValue;
	var domain = email.replace(/.*@/, "").toLowerCase();
	for (var i = 0; i < listOfBlackListedDomains.length; i++) {		
		if (listOfBlackListedDomains[i] == domain) {
			return false;
		}
	}	
	return true;
}

function trackMixpanelLoginEvent(response,callBckFun){
	var event=response.event
	var memberId=response.memberId
	var mode=response.mode
	var memberRole=response.userRole
	var employerDeduction=response.employerURL
	var screenName=response.screenName


	var property={};
	property['Mode']=mode+'';
	if(event=='Login'){
		mixpanel.identify(memberId);
		mixpanel.people.set({'$last_seen':new Date()});
	}else{
		var emailId=response.userEmail
		property['Employer Detected'] = (employerDeduction!=undefined)?true:false
		property['Page Type'] = 'Mobile Homepage'
		property['Email'] = emailId
		mixpanel.alias(memberId);
		mixpanel.people.set('$last_seen',new Date());
		mixpanel.people.set_once('$SignUpDate', new Date());
		mixpanel.people.set_once('$email',emailId);
		mixpanel.people.set_once('$name',screenName);
	}

	setUtmParams();

	deleteCookie(SIGN_UP_PAGETYPE);
	deleteCookie(SIGN_UP_ORIGIN);
	deleteCookie(OAUTH_STATUS_COOKIE);
	deleteCookie(OAUTH_RESPONSE);

	// initate Mixpanel calls
	mixpanel.register({'User role':memberRole+'','UserId':memberId+''});

	mixpanel.track(event+'',property,function(response) {
		if (response['status'] == 0) {
			var dataString= 'payLoadString={error:'+response['error']+', event:'+event+', email:'+emailId+', memberId'+memberId+'}';
			$.ajax({
				url: HOST_WITH_SSL + "reportMixpanelFailure.htm?",
				type: "POST",
				data: dataString
			});
		}
	});
	var activeUserProperty={};
	activeUserProperty['Platform']='Web';
	mixpanel.track('Overall Active User',activeUserProperty,function(){
		if(callBckFun!=undefined){
			callBckFun()
		}
	});

}

function trackLastSeen() {
	mixpanel.people.set({
		'$last_seen' : new Date()
	});
}
function getCookie(c_name) {
	var c_value = document.cookie;
	var c_start = c_value.indexOf(" " + c_name + "=");
	if (c_start == -1) {
		c_start = c_value.indexOf(c_name + "=");
	}
	if (c_start == -1) {
		c_value = null;
	} else {
		c_start = c_value.indexOf("=", c_start) + 1;
		var c_end = c_value.indexOf(";", c_start);
		if (c_end == -1) {
			c_end = c_value.length;
		}
		c_value = unescape(c_value.substring(c_start, c_end));
	}
	return c_value;
}


function trackSignupStep2Event(userid) {
	var userIdProp = {};
	userIdProp['UserId'] = userid
	trackMixpanelEvent('Homepage Signup Step 2 Viewed', userIdProp)
}

function deleteCookie(c_name){
	document.cookie = c_name+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/";
}

function setCookie(cname, cvalue, exsecs) {
	var d = new Date();
	d.setTime(d.getTime() + (exsecs*1000));
	var expires = "expires="+d.toGMTString();
	document.cookie = cname + "=" + cvalue + "; " + expires +"; path=/";
}

// Method returns the gmt timezone offset without the daylight savings
// @see https://infoarmy.jira.com/wiki/display/MKT/Timezone+conversions+for+snapshot
Date.prototype.getGmtOffset = function() {
	var jan = new Date(this.getFullYear(), 0, 1)
	var jul = new Date(this.getFullYear(), 6, 1)
	var stdOffSet=Math.max(jan.getTimezoneOffset(), jul.getTimezoneOffset())
	return (stdOffSet/60)*(-1)
}
function getCallBckFn(targetURL){
    if(targetURL!=undefined){
        return function() {
            window.location.assign(targetURL);
        }
    }else {
        return function() {
            window.location.reload();
        }
    }
}
function getSignUpCallBckFn(targetURL){
	return function(){
		if(targetURL){
			window.location.assign(targetURL);
		}
	}
}
// URL Param manipulation, exclusively for Mixpanel Last Touch UTM operations
function getQueryParam(url, param) {
// Expects a raw URL
	param = param.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
	var regexS = "[\\?&]" + param + "=([^&#]*)",
		regex = new RegExp( regexS ),
		results = regex.exec(url);
	if (results === null || (results && typeof(results[1]) !== 'string' && results[1].length)) {
		return '';
	} else {
		return decodeURIComponent(results[1]).replace(/\+/g, ' ');
	}
};

function setUtmParams() {
	var campaign_keywords = ['utm_source','utm_medium','utm_campaign','utm_content','utm_term']
		, kw = ''
		, params = {}
		, first_params = {};

	var index;
	for (index = 0; index < campaign_keywords.length; ++index) {
		kw = getQueryParam(document.URL, campaign_keywords[index]);
		if (kw.length) {
			params[campaign_keywords[index] + ' [last touch]'] = kw;
			first_params[campaign_keywords[index] + ' [first touch]'] = kw;
		}
	}
	mixpanel.register(params);
};

function getTargetURL() {
	var targetURL = $(
		"input#targetURL")
		.val();
	var hashParam = window.location.hash
		.substr(1);
	if (targetURL == ""
		|| targetURL == 'null') {
		targetURL = HOST_WITHOUT_SSL
			+ "home.htm";
	}
	if (hashParam != undefined
		&& targetURL != undefined
		&& hashParam != "") {
		targetURL = targetURL + "#"
			+ hashParam;
	}
	return targetURL;
}

function setPageTypeCookie(){
	setCookie(SIGN_UP_PAGETYPE,1,120);
}
// mobile ends