var request = null;

function createRequest() {
	try {
		request = new XMLHttpRequest();
	} catch (trymicrosoft) {
		try {
			request = new ActiveXObject("Msxm12.XMLHTTP");
		} catch (othermicrosoft) {
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (failed) {
				request = null;
			}
		}
	}

	if (request == null) {
		alert("Error creating request object!");
	}
	
	return request;
}

/*****************************************************************************/
/*                            RESET PASSWORD                                 */
/*****************************************************************************/

function resetPassword() {
	// We want to get all the info to pass along to the script
	var username        = document.getElementById('empUsername').value;
	var email           = document.getElementById('empEmail').value;
	var password        = document.getElementById('empPassword').value;
	var confirmPassword = document.getElementById('confirmPassword').value;
	var cliID 			= document.getElementById('cliID').value;
	var cliValCode 		= document.getElementById('v').value;
	
	if (username == '' || email == '' || password == '' || confirmPassword == '') {
		document.getElementById('password_reset_response').innerHTML = 'All fields are required to reset your password. Please try again.';
		document.getElementById('password_reset_response').style.display = "block";
		//alert('All fields are required to reset your password. Please try again.');
		return false;
	}
		 
	var params = "empUsername=" + username + "&empEmail=" + email + "&empPasword=" + password + "&confirmPassword=" + confirmPassword;
	params += "&cliID=" + cliID + "&v=" + cliValCode;
	createRequest();
	 
	var url = "/ajax/resetPassword/";
	request.open("POST", url, true);
	
	//Send the proper header information along with the request
	request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	request.setRequestHeader("Content-length", params.length);
	
	request.onreadystatechange = update_reset_password;
	request.send(params);
	
	return false;
}

function update_reset_password() {
	if (request.readyState == 4) {
		var updatedInfo = request.responseText;

		//alert(updatedInfo)
		aUpdated = updatedInfo.split('|');
		if (aUpdated[0] == "SUCCESS") {
			document.getElementById('password_reset_response').innerHTML = "Your password has been successfully reset. <a href=\"/dashboard/login/?c="+aUpdated[1]+"&v="+aUpdated[2]+"\">Click here</a> to log into your dashboard.";
			document.getElementById('password_reset_response').style.display = "block";
			return false;
		} else if (aUpdated[0] == "FAILED") {
			document.getElementById('password_reset_response').innerHTML = aUpdated[1];
			document.getElementById('password_reset_response').style.display = "block";
			return false;
		} else {
			alert(updatedInfo);
		}
	}
}

/*****************************************************************************/
/*                            **************                                 */
/*****************************************************************************/

/* ***** LOGIN FUNCTIONS ***** */
/*******************************/
function processLogin() {
	
	// First off we need to get the form fields
	var un 			= getInputValue('empUsername');
	var pw 			= getInputValue('empPassword');
	var submitted 	= getInputValue('submitted');
	var cliID 		= getInputValue('cliID');
	var v 			= getInputValue('v');
	
	var url = "/ajax/processLogin/";
	var params ='empUsername='+escape(un)+'&empPassword='+escape(pw)+'&submitted='+escape(submitted)+'&cliID='+escape(cliID)+'&v='+escape(v);
	
	createRequest();
	request.open("POST",url,true);
	
	request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	request.setRequestHeader("Content-length", params.length);
	
	request.onreadystatechange = updateLogin;
	request.send(params);	
	return false;
}

function updateLogin() {
	if (request.readyState == 4) {
		var updatedInfo = request.responseText;

		//alert(updatedInfo);

		aUpdated = updatedInfo.split('|');
		if (aUpdated[0] == "SUCCESS") {
			location.href = "/dashboard/";
		} else if (aUpdated[0] == "FAILED") {
			switch (aUpdated[1]) {
		        case '1':
		            var errMessage = "You have entered an invalid username and/or password.";
		            break;
		        case '2':
		            var errMessage = "You do not have the correct permissions to log into this dashboard.";
		            break;
		        case '3':
		            var errMessage = "Their is no user to mimic. You must create at least one user for this client within the CNS Admin system.";
		            break;
				default:
					var errMessage = "There was an error processing the form. Please try again.";
		    }
			document.getElementById('LOGIN_ErrorMessage').innerHTML = errMessage;
			document.getElementById('LOGIN_ErrorWrapper').style.display = 'block';
			new Effect.Highlight('LOGIN_ErrorWrapper', { startcolor: '#ffff99', endcolor: '#ffffff' });
			return false;
		} else {
			alert(updatedInfo);
			return false;
		}
	}
}


