//matches - asmith@mactec.com, foo12@foo.edu, bob.smith@foo.tv
var emailExp = new RegExp(/([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/);

//matches - <b>,  </b>,  <p><b>some text</b></p>
var htmlExp = new RegExp(/<\/?[a-z][a-z0-9]*[^<>]*>/);
var codeReplace = / /;

//matches - #FFFFFF, #FF3421, #00FF00
var colorCodeExp = new RegExp(/(#){1}([a-fA-F0-9]){3,6}/);

/*matches - <script language=javascript>document.write("one");</script>*/
var jsExp = new RegExp(/(<script[^>]*>[\w|\t|\r|\W]*<\/script>)/);

//matches - 
var usernameExp = new RegExp(/^[a-zA-Z0-9]+$/);

var formName = "";

function submitForgotForm(name, forgot) {
	var allFields = $("form[name=" + name + "]").children('input').not('input[type="submit"]')
	var ok = validateLogin(allFields);
	var str = $("form[name=" + name + "]").serialize();
	if(ok) {
		jQuery.ajax({
			type: "POST",
			url: "forgotInfo.php",
			dataType: "html",
			data: str + "&forgot=" + forgot,
			success: function(response){
				/*$("div.contactForm").remove();
				$('div.width50C p')
					.empty()
					.append(response);
					resize();*/
			},
			error: function(){
				alert("Error occured while sending your information");
			}
		});
		return true;
	} else {
		return false;
	}
}

function validateLogin(field) {
	var count = field.length;
	for(var i = 0; i < count; i++) {
		var id = $(field[i]).attr("id");
		var value = $(field[i]).val();
		//key = id;
		
		if (!value) {
			//errList[key]++;
			//return invalid(id, true);
			alert(id + " is empty");
			return false;
			break;
		}
		if( !(htmlExp.test(value)) && !(colorCodeExp.test(value)) && !(jsExp.test(value)) ) {
			if(id == 'email') {
				if(!emailExp.test(value)) {
					//errList[key]++;
					//return invalid(id, false);
					alert(id + " is not valid");
					return false;
					break;
				}
			} else if(id == 'username') {
				if(!usernameExp.test(value)) {
					//errList[key]++;
					//return invalid(id, false);
					alert(id + " is not valid");
					return false;
					break;
				}
			}
		}
	}
	return true;
}

function setForm(whichForm) {
	if(whichForm == "forgotUser") {
		return $('#forgotUserForm');
	} else if(whichForm == "forgotPassword") {
		return $('#forgotPasswordForm');
	}
}

function formSubmittable(formToSubmit, forgotten) {
	if(forgotten == "username") {
		var formName = "forgotUserForm";
	} else if(forgotten == "password") {
		var formName = "forgotPasswordForm";
	}
	   formToSubmit.submit(function(event) {
		event.preventDefault();
		//alert("submitting " + formToSubmit.attr('id'));
		return submitForgotForm(formName, forgotten);
	});
}
$(function() {
	var forgot = "";
	var form = "";
	
	$('#forgotUser').hide();
	$('#forgotPassword').hide();
	
	$('.forgotUser').click(function() {
		$('#forgotUser').toggle('slow');
		formName = 'forgotUser';
		form = setForm(formName);
		//alert(form.attr('id'));
		forgot = "username";
		formSubmittable(form, forgot);
	});
	
	$('.forgotPassword').click(function() {
		$('#forgotPassword').toggle('slow');
		formName = 'forgotPassword';
		form = setForm(formName);
		forgot = "password";
		
		formSubmittable(form, forgot);
	});
});