function stripToRows(str)
{
	str = str.replace(/<table>[\S\s]*<tbody>/ig, '');
	str = str.replace(/<\/tbody>[\S\s]*<\/table>/ig, '');
	return str;
}

var newUserFormHTML, addEditEntryFormHTML;
function setup(op)
{
	userFormHTML = "<form name=\"newUser\" action=\"./admin.php\" method=\"post\"  onsubmit=\"return validateNewUser();\"><input type=\"hidden\" name=\"uid\" value=\"\">";
	newUserFormHTML = userFormHTML+"<table width=\"100%\">"+document.getElementById("newUserForm").innerHTML+"</table></form>";
	addEditEntryFormHTML = document.getElementById("addEditEntryForm").innerHTML;
	document.getElementById("newUserForm").innerHTML = "";
	document.getElementById("addEditEntryForm").innerHTML = "";
	if (op == "")
	{
		document.getElementById("interactWin").innerHTML = "";
	}
}

function showHome()
{
	document.getElementById("interactWin").innerHTML = "";
}

function showAddUserForm(userInfo)
{
	document.getElementById("interactWin").innerHTML = newUserFormHTML;
	if (userInfo != null && userInfo != "")
	{
		//alert("edit --> "+document.forms.newUser.uid.value);
		document.getElementById("editNotice").innerHTML = "Leaving password fields blank will retain existing password!";
		info = userInfo.split("&&&");
		document.forms.newUser.uid.value = info[0];
		document.forms.newUser.username.value = info[1];
		document.forms.newUser.fname.value = info[2];
		document.forms.newUser.lname.value = info[3];
		document.forms.newUser.email.value = info[4] != null ? info[4] : "";
		document.forms.newUser.dphone.value = info[5] != null ? info[5] : "";
		document.forms.newUser.ephone.value = info[6] != null ? info[6] : "";
		document.forms.newUser.address.value = info[7] != null ? info[7] : "";
		document.forms.newUser.city.value = info[8] != null ? info[8] : "";
		document.forms.newUser.state.value = info[9] != null ? info[9] : "";
		document.forms.newUser.zip.value = info[10] != null ? info[10] : "";
	}
//	return;
}

function editNote(noteID,note)
{
	document.forms.noteForm.note_id.value = noteID;
	document.forms.noteForm.note.value = note;
	document.forms.noteForm.submitNote.value = "Update Note";
}

/*********** Form utils ************/
function validateOrder()
{
	if (order.fname.value == "")
	{
		alert("Please provide a first name!");
		order.fname.focus();
		return false;
	}
	if (order.lname.value == "")
	{
		alert("Please provide a last name!");
		order.fname.focus();
		return false;
	}
	if (order.address.value == "")
	{
		alert("Please provide a mailing address!");
		order.address.focus();
		return false;
	}
	if (order.city.value == "")
	{
		alert("Please provide a city!");
		order.city.focus();
		return false;
	}
	if (order.state.value == "")
	{
		alert("Please provide a state!");
		order.state.focus();
		return false;
	}
	if (order.zip.value == "")
	{
		alert("Please provide a zip!");
		order.zip.focus();
		return false;
	}
	if (order.email.value == "")
	{
		alert("Please provide an email!");
		order.email.focus();
		return false;
	}
	if (order.dphone.value == "")
	{
		alert("Please provide a day phone!");
		order.dphone.focus();
		return false;
	}
	return true;
}

function validateState(form,element)
{
	value = eval(form+"."+element+".value");
	if (value == "") {return true;}
	if (!isValidState(value))
	{
		alert("Invalid state entry!");
		eval(form+"."+element+".focus();");
		return false;
	}
	else
	{
		eval(form+"."+element+".value = value.toUpperCase();");
		return true;
	}
}

function isValidState(input)
{
	var states = new Array("AL","AK","AZ","AR","CA","CO","CT","DC","DE","FL","GA","HI","ID","IL","IN","IA","KS","KN","LA","ME","MD","MA","MI","MN","MS","MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VT","VA","WA","WV","WI","WY");
	for (i = 0; i < states.length; i++)
	{
		if (input.toUpperCase() == states[i]) {return true;}
	}
	return false;
}

function validateZip(form,element)
{
	value = eval(form+"."+element+".value");
	if (value == "") {return true;}
	if (!isValidZip(value))
	{
		alert("Invalid zip code entry!");
		eval(form+"."+element+".focus();");
		return false;
	}
	return true;
}

function isValidZip(value)
{
	if (/^\d{5}$/.test(value)) {return true;}
	else if (/^\d{5}-\d{4}$/.test(value)) {return true;}
	else {return false;}
}

function validatePhone(form,element)
{
	var value;
	value = eval(form+"."+element+".value");
	if (value == "") {return true;}
	var formatted = isValidPhone(value);
	if (formatted == "")
	{
		alert("Invalid phone format!");
		eval(form+"."+element+".focus();");
		return false;
	}
	else
	{
		eval(form+"."+element+".value = formatted;");
		return true;
	}
}

function isValidPhone(input)
{
	var phone = input
	phone = phone.replace(/\D/g, '');
	if (phone.length != 10) {return "";}
	else
	{
		// format
		var c1 = phone.match(/^(\d{3})\d+$/);
		var c2 = phone.match(/^\d{3}(\d{3})\d{4}$/);
		var c3 = phone.match(/^\d+(\d{4})$/);
		return "("+c1[1]+")"+c2[1]+"-"+c3[1];
	}
}

function validateEmail(form,element)
{
	value = eval(form+"."+element+".value");
	if (value == "") {return true;}
	if (!isValidEmail(value))
	{
		alert("Invalid email!");
		eval(form+"."+element+".focus();");
		return false;
	}
	else {return true;}
}

function isValidEmail(input)
{
	var email = input;
	if (email.indexOf('@') < 1 ||
		email.lastIndexOf('.') <= email.indexOf('@') + 1 ||
		email.lastIndexOf('.') == email.length - 1 ||
		email.indexOf(' ') != -1)
	{
		return false;
	}
	else {return true;}
}

function validateNote()
{
	if (noteForm.note.value == "")
	{
		alert("Cannot submit an empty note!");
		noteForm.note.focus();
		return false;
	}
	return true;
}

function validateNewUser()
{
	if (document.forms.newUserForm.username.value == "")
	{
		alert("Please provide a unique username!");
		document.forms.newUserForm.username.focus();
		return false;
	}
	existingUsers = document.forms.newUserForm.existing.value.split("&&&");
	if (document.forms.newUserForm.uid.value == "")
	{
		for (i=0; i<existingUsers.length; i++)
		{
			if (existingUsers[i] == document.forms.newUserForm.username.value)
			{
				alert("Username already exists!");
				document.forms.newUserForm.username.focus();
				i = existingUsers.length;
				return false;
			}
		}
	}
	if (document.forms.newUserForm.uid.value == "")
	{
		if (document.forms.newUserForm.password1.value == "" || document.forms.newUserForm.password2.value == "")
		{
			alert("Please provide a password and verification!");
			document.forms.newUserForm.password1.focus();
			return false;
		}
	}
	if (document.forms.newUserForm.password1.value != document.forms.newUserForm.password2.value)
	{
		alert("Password and verification do not match!");
		document.forms.newUserForm.password1.focus();
		return false;
	}
	if (document.forms.newUserForm.fname.value == "")
	{
		alert("Please provide a first name!");
		document.forms.newUserForm.fname.focus();
		return false;
	}
	if (document.forms.newUserForm.lname.value == "")
	{
		alert("Please provide a last name!");
		document.forms.newUserForm.lname.focus();
		return false;
	}
	if (document.forms.newUserForm.email.value == "")
	{
		alert("Please provide an email!");
		document.forms.newUserForm.email.focus();
		return false;
	}
	return true;
}