

function showRecaptcha(element) {            
	Recaptcha.create("6Ld7lL8SAAAAAKHVgYWOb0YR__c3-4OOhL7r5OM0", element, { theme: "red", callback: Recaptcha.focus_response_field});
} 


function lookupEmail(email){
	new Ajax.Request( "/ajax.php", {
		method: "get",
		parameters: 'ajaxAction=lookupUserByEmail&email=' + email,
		onSuccess: function(transport) {
			var respText = transport.responseText;
			respText = (respText).replace(/^\s*|\s*$/g,'');
			
			if (respText != 0) {
				document.getElementById('emailError').innerHTML = 'email is alreay in use. login or allow user to post';
				alert('email is in use');
				return respText;
			} else {
				alert('register user');
				return false;
			}
		alert('lookup user by email response end');
		}
	} );
}


function verifyComment() {
	if (document.getElementById('mbAuthComment').value.length <= 3) {
		return false;
	} 
}

function verifyEmail() {
	var email =  document.getElementById('email').value;
	var emailRegEx = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	return emailRegEx.test(email);
} 

function verifyUserName() {
	var status = false;
	if (document.getElementById('user_name').value.length >= 4) {
		status = true;
	}
	return status;
}


function verifyOpenReg() {
	var status = false;
	var emailStatus = true;
	var nameStatus = true;
	var commentStatus = true;
	
	if (document.getElementById('useCaptia')) {
		var useCaptia = 1;
		
	} else {
		var useCaptia = 0;
	}
	
	if (verifyComment() == false) {
		document.getElementById('labelComment').style.color = 'red';
		document.getElementById('mbAuthComment').style.border = "solid red 1px";
		document.getElementById('mbAuthComment').style.backgroundColor = "#ffcccc";
		var commentStatus = false;
	} else {
		document.getElementById('labelComment').style.color = '';
		document.getElementById('mbAuthComment').style.border = "";
		document.getElementById('mbAuthComment').style.backgroundColor = "";
	}
	
	if (verifyEmail() == false) {
		document.getElementById('labelEmail').style.color = 'red';
		document.getElementById('descEmail').style.color = 'red';
		document.getElementById('descEmail').innerHTML = 'Please enter a valid email address.';
		document.getElementById('email').style.border = "solid red 1px";
		document.getElementById('email').style.backgroundColor = "#ffcccc";
		emailStatus = false;
	} else {
		document.getElementById('labelEmail').style.color = '';
		document.getElementById('descEmail').style.color = '';
		document.getElementById('email').style.border = "";
		document.getElementById('email').style.backgroundColor = "";
	}
	
	if (verifyUserName() == false) {
		document.getElementById('labelName').style.color = 'red';
		document.getElementById('descName').style.color = 'red';
		document.getElementById('user_name').style.border = "solid red 1px";
		document.getElementById('user_name').style.backgroundColor = "#ffcccc";
		nameStatus = false;
	} else {
		document.getElementById('labelName').style.color = '';
		document.getElementById('descName').style.color = '';
		document.getElementById('user_name').style.border = "";
		document.getElementById('user_name').style.backgroundColor = "";
	}
	
	if ( (emailStatus == true) && (nameStatus == true) &&  (commentStatus == true)  ) {
		
		if (useCaptia == 1) {
			
			//if (validateRecaptcha() == false) {
			if (validateRecaptcha() == 0) {
				document.getElementById('recaptcha_div').innerHTML = showRecaptcha('recaptcha_div');
				document.getElementById('descRecap').style.color = 'red';
				document.getElementById('descRecap').innerHTML = 'You entered incorrectly.';
				document.getElementById('recaptcha_div').innerHTML = showRecaptcha('recaptcha_div');
			} else {
				isUserRegistered();
			}
		} else {
			isUserRegistered();
		}
	}
	
}


function validateRecaptcha() {
	var recaptcha_challenge_field = document.getElementById('recaptcha_challenge_field').value;
	var recaptcha_response_field = document.getElementById('recaptcha_response_field').value;
	var recaptchaFlag;
	
	new Ajax.Request( "/ajax.php", {
		method: "get",
		parameters: 'ajaxAction=validateRecaptcha&recaptcha_challenge_field=' + recaptcha_challenge_field + '&recaptcha_response_field=' + recaptcha_response_field,
		asynchronous: false,
		onSuccess: function(transport) {
			var respText = transport.responseText;
			respText = (respText).replace(/^\s*|\s*$/g,'');
			
				if (respText == 1) {
					 recaptchaFlag = 1;
				} else {
					recaptchaFlag = 0;
				}
			
			}
	} );
	
	return recaptchaFlag;
}


function isUserRegistered(topicId) {
	
	var email = document.getElementById('email').value;
	var name = document.getElementById('user_name').value;
	var comment = document.getElementById('mbAuthComment').value;
	var rememberme = document.getElementById('rememberme').value;
	var redirect = document.location.href;
	var topicId = document.getElementById('topicId').value;
	
	new Ajax.Request( "/ajax.php", {
		method: "get",
		parameters: 'ajaxAction=isRegisteredUser&email=' + email + '&name=' + name + '&comment=' + comment + '&rememberme=' + rememberme + '&topicId=' + topicId,
		asynchronous: false,
		onSuccess: function(transport) {
			var respText = transport.responseText;
			respText = (respText).replace(/^\s*|\s*$/g,'');
			
			if (respText == 0) {
				//var subid = getSubId();
				document.getElementById('descEmail').innerHTML = 'Contact <a href="mailto:sdnadmin@ewaydirect.com">support></a>.';
				window.location = redirect;
				
			} else if (respText == 1) {
				document.getElementById('labelEmail').style.color = 'red';
				document.getElementById('descEmail').style.color = 'red';
				document.getElementById('descEmail').innerHTML = 'This account is already used. Please <a onClick="buildLoginForm()">sign in</a>.';
				document.getElementById('email').style.border = "solid red 1px";
				document.getElementById('email').style.backgroundColor = "#ffcccc";
			} else {
				window.location = redirect;
			}
			return respText;
		}
	} );
}


function getSubId() {
	var email = document.getElementById('email').value
	alert('get sub id');
	new Ajax.Request( "/ajax.php", {
		method: "get",
		parameters: 'ajaxAction=getSubscriberId&email=' + email,
		//asynchronous: false,
		onSuccess: function(transport) {
			var respText = transport.responseText;
			respText = (respText).replace(/^\s*|\s*$/g,'');
			var subId = respText;
			alert('email sub id = ' + respText);
			if (respText > 1000) {
				// signup user
				alert('signup user');
				addCommunityUser(subId);
			} else if (!respText) {
				alert('failed request... Signup user anyway');
				addCommunityUser();
			 } else if (respText < 1000) {
				alert('fail');
				document.getElementById('labelEmail').style.color = 'red';
				document.getElementById('descEmail').style.color = 'red';
				document.getElementById('descEmail').innerHTML = 'Your email address is invalid.';
				document.getElementById('email').style.border = "solid red 1px";
				document.getElementById('email').style.backgroundColor = "#ffcccc";
			} else {
				alert('failed request... Signup user anyway');
				addCommunityUser();
			}
		},
		onFailure: function(ajaxFailed) {
			alert('failed request... Signup user anyway');
			addCommunityUser();
		}
		
	} );
}


	
function addCommunityUser(subId) {
	var email = document.getElementById('email').value;
	var user_name = document.getElementById('user_name').value;;
	var subid;

	new Ajax.Request( "/ajax.php", {
		method: "get",
		parameters: 'ajaxAction=signUpOpenCommunityUser&email=' + email + '&subId=' + subId + '&userName=' + user_name,
		onSuccess: function(transport) {
			var respText = transport.responseText;
			
			respText = (respText).replace(/^\s*|\s*$/g,'');
			
			if (respText != 1) {
				document.getElementById('recaptchaResponse').innerHTML = 'Wrong captcha, please try again';
				document.getElementById('recaptcha_div').innerHTML = showRecaptcha('recaptcha_div');
				return false;
			} else {
				return true;

			}
		}
	} );
}


function mbComment() {
	buildOpenComForm();
}


function displayLoginSignupOption() {	
	new Ajax.Request( "/ajax.php", {
		method: "get",
		parameters: "ajaxAction=displayLoginSignupOption",
		onSuccess: function(transport) {
			var respText = transport.responseText;
			
			respText = (respText).replace(/^\s*|\s*$/g,'');
			document.getElementById('authContent').innerHTML = respText;
			showPopup('authPopUp');
		}
	} );
}


function buildOpenComForm() {
	new Ajax.Request( "/ajax.php", {
		method: "get",
		parameters: "ajaxAction=buildOpenComForm",
		asynchronous: false,
		onSuccess: function(transport) {
			var respText = transport.responseText;
			respText = (respText).replace(/^\s*|\s*$/g,'');
			document.getElementById('authContent').innerHTML = respText;

			showPopup('authPopUp');
			var useCaptia = document.getElementById('useCaptia').value;
			
			if ( document.getElementById('useCaptia').value == 1) {
				document.getElementById('recaptcha_div').innerHTML = showRecaptcha('recaptcha_div');	
			}
		}
	} );
	
	
}


function toggleRemeberMe(affiliateId){
	var affiliateId;
	var remeberMeStatus = document.getElementById('rememberme').checked;
	
	if (remeberMeStatus.checked == true) {
		remeberMeStatus.checked = false;
		document.getElementById('rememberme').value='';
		document.cookie = "affid"+affiliateId+"; ''; expires=";
	} else {
		remeberMeStatus.checked = true;
		document.getElementById('rememberme').value='on';
	}
}



function buildLoginForm() {
	new Ajax.Request( "/ajax.php", {
		method: "get",
		parameters: "ajaxAction=logIn",
		asynchronous: false,
		onSuccess: function(transport) {
			var respText = transport.responseText;
			respText = (respText).replace(/^\s*|\s*$/g,'');
			
			var loginDiv = document.createElement("div");
			loginDiv.id = "loginSignupPopUp";              
			loginDiv.className ="loginSignupPopUp";                
			loginDiv.innerHTML = "<div id=\"loginSignupContent\" class=\"loginSignupContent\"></div>";
			document.body.appendChild(loginDiv);
			document.getElementById('loginSignupContent').innerHTML = respText;
			showPopup('loginSignupPopUp');
			document.getElementById('username').focus();
		}
	} );
	
	if (document.getElementById('username').value == '' || document.getElementById('password').value == '' ) {
		document.getElementById('rememberme').checked = false;
	}
}


function buildSignupForm() {			
	new Ajax.Request( "/ajax.php", {
		method: "get",
		parameters: "ajaxAction=signUp",
		onSuccess: function(transport) {
			var respText = transport.responseText;
			respText = (respText).replace(/^\s*|\s*$/g,'');
			
			var loginDiv = document.createElement("div");
			loginDiv.id = "loginSignupPopUp";              
			loginDiv.className ="loginSignupPopUp";                
			loginDiv.innerHTML = "<div id=\"loginSignupContent\" class=\"loginSignupContent\"></div>";                
			document.body.appendChild(loginDiv);
			document.getElementById('loginSignupContent').innerHTML = respText;
			showPopup('loginSignupPopUp');
		}
	} );
}


function submitSignUp() {
	var go = document.getElementById('go').value;
	var username = document.getElementById('username').value;
	var password = document.getElementById('password').value;
	var confirm_password = document.getElementById('confirm_password').value;
	
	new Ajax.Request( "/ajax.php", {
		method: "get",
		parameters: "ajaxAction=trySignUp&username=" + username + "&password=" + password + "&confirm_password=" + confirm_password,
		onSuccess: function(transport) {
			var respText = transport.responseText;
			respText = (respText).replace(/^\s*|\s*$/g,'');
			document.getElementById('authContent').innerHTML = respText;
		}
	} );
}



function tryLogIn() {
	var phpSessionName = document.getElementById('phpsessionname').value;
	var phpSessionId = document.getElementById('phpsessionid').value;
	var userName = document.getElementById('username').value;
	var password = document.getElementById('password').value;
	var fromLoginPage = document.getElementById('fromLoginPage').value;
	var inviteId = document.getElementById('inviteid').value;
	var rememberme = document.getElementById('rememberme').checked;
	var redirect = document.location.href;
	
	new Ajax.Request( "/ajax.php", {
		method: "get",
		parameters: "ajaxAction=tryLogin&username=" + userName  + "&password=" + password + "&fromLoginPage=" + fromLoginPage + "&inviteid=" + inviteId + "&" + phpSessionName + "=" + phpSessionId + "&rememberme=" + rememberme,
		asynchronous: false,
		onSuccess: function(transport) {
			var respText = transport.responseText;
			respText = (respText).replace(/^\s*|\s*$/g,'');
			
			if (respText == 1) {
				hidePopup('loginSignupPopUp');
				window.location = redirect;
				/*
				if (pageRedirect) {
					//alert(redirectUser);
					//toggleTopicPost('150');
				} else {
					//alert ('no redirect');
					window.location = redirect;
				}
				*/
				
			} else if (respText == 2) {
				window.location='/message_center.php';
			} else if (respText == 3) {
				window.location='/default.php';
			} else {
				
				document.getElementById('loginSignupContent').innerHTML = respText;
				document.getElementById('usernameLabel').style.color = 'red';
				document.getElementById('passwordLabel').style.color = 'red';
				document.getElementById('username').style.border = "solid red 1px";
				document.getElementById('username').style.backgroundColor = "#ffcccc";
				document.getElementById('password').style.border = "solid red 1px";
				document.getElementById('password').style.backgroundColor = "#ffcccc";
			}
			
		}
	} );
}

function trySignUp() {
	//var phpSessionName = document.getElementById('phpsessionname').value;
	//var phpSessionId = document.getElementById('phpsessionid').value;
	var username = document.getElementById('username').value;
	var name = document.getElementById('name').value;
	var password = document.getElementById('password').value;
	var confirmPassword = document.getElementById('confirm_password').value;
	var inviteId = document.getElementById('inviteid').value;
	var rememberme = document.getElementById('rememberme').checked;
	var redirect = document.location.href;
	//var redirect = "/ajaxLoginController.php?username=" + userName  + "&password=" + password + "&fromLoginPage=" + fromLoginPage + "&inviteid=" + inviteId;
	//"&" + phpSessionName + "=" + phpSessionId +
	
	//RESET INPUTS
	document.getElementById('error').innerHTML = "";
	document.getElementById('username').style.border = "";
	document.getElementById('username').style.backgroundColor = "";
	document.getElementById('emailLabel').style.color = "";
	document.getElementById('name').style.border = "";
	document.getElementById('name').style.backgroundColor = "";
	document.getElementById('nameLabel').style.color = "";
	
					
	new Ajax.Request( "/ajax.php", {
		method: "get",
		parameters: "ajaxAction=trySignup&email=" + username + "&name=" + name  + "&password=" + password + "&confirm_password=" + confirmPassword + "&inviteid=" + inviteId + "&rememberme=" + rememberme,
		asynchronous: false,
		onSuccess: function(transport) {
			var respText = transport.responseText;
			respText = (respText).replace(/^\s*|\s*$/g,'');
			
			switch (respText) 
			{
				case '1':
					document.getElementById('error').innerHTML = "Please privide a valid email address.";
					document.getElementById('username').style.border = "solid red 1px";
					document.getElementById('username').style.backgroundColor = "#ffcccc";
					document.getElementById('emailLabel').style.color = "red";
					break;
					
				case '6':
					document.getElementById('error').innerHTML = "This email address is already in use. If this is your email address you can login <a onclick=\"\">here</a>.";
					document.getElementById('username').style.border = "solid red 1px";
					document.getElementById('username').style.backgroundColor = "#ffcccc";
					document.getElementById('emailLabel').style.color = "red";
					break;
					
				case '7':
					document.getElementById('error').innerHTML = "This email address is already in use. If this is your email address you can login <a onClick=\"buildLoginForm();\">here</a>.";
					document.getElementById('username').style.border = "solid red 1px";
					document.getElementById('username').style.backgroundColor = "#ffcccc";
					document.getElementById('emailLabel').style.color = "red";
					break;
					
				case '9':
					document.getElementById('error').innerHTML = "This email address has been blocked on our system. Please contact <a href=\"mailto:sdnadmin@ewaydirect.com?subject="+email+" - Email has been blocked.\">support</a> for further assistance.</span>";
					document.getElementById('username').style.border = "solid red 1px";
					document.getElementById('username').style.backgroundColor = "#ffcccc";
					document.getElementById('emailLabel').style.color = "red";
					break;
				
				case '5':
					document.getElementById('name').style.border = "solid red 1px";
					document.getElementById('name').style.backgroundColor = "#ffcccc";
					document.getElementById('error').innerHTML = "Please provide a name that is at least three charaters in length.";
					document.getElementById('nameLabel').style.color = "red";
					break;
					
				case '2':
					document.getElementById('error').innerHTML = "Please create a password.";
					document.getElementById('password').style.border = "solid red 1px";
					document.getElementById('password').style.backgroundColor = "#ffcccc";
					document.getElementById('passwordLabel').style.color = "red";
					break;
				
				case '3':
					document.getElementById('error').innerHTML = "Your password must be 6-20 characters and can only contain alphanumeric values.";
					document.getElementById('password').style.border = "solid red 1px";
					document.getElementById('password').style.backgroundColor = "#ffcccc";
					document.getElementById('passwordLabel').style.color = "red";
					break;
					
				case '4':
					document.getElementById('error').innerHTML = "Your password does not equal your confirm pass. Please try again.";
					document.getElementById('password').style.border = "solid red 1px";
					document.getElementById('password').style.backgroundColor = "#ffcccc";
					document.getElementById('passwordLabel').style.color = "red";
					document.getElementById('confirm_password').style.border = "solid red 1px";
					document.getElementById('confirm_password').style.backgroundColor = "#ffcccc";
					document.getElementById('confirmPasswordLabel').style.color = "red";
					break;
				
				case '8':
					document.getElementById('error').innerHTML = "There is not enough informtion to sign you up at this time. Please try again shortly or contact <a href=\"malito:sdnadmin@ewaydirect.com\">support</a>.";
					break;
				
				case '20':
					
					tryLogIn();
					
					break;
				
				default:
					document.getElementById('error').innerHTML = "There is not enough informtion to sign you up at this time. Please try again shortly or contact <a href=\"malito:sdnadmin@ewaydirect.com\">support</a>.";
		
			}
			
		}
	} );
}






