function moveText(text, dispField, defaultText) {
	if (text.length < 2) {
		text = defaultText;
	}
	document.getElementById(dispField).innerHTML = text;
}

// Check Hearts
var featCount= 0;
function checkMust(id) {
	// Un-check the must have box if we are un-checking
	if (document.getElementById(id).checked == false) {
		document.getElementById(id).value = 'no_selection';
		document.getElementById(id + '-must').checked = false;
		document.getElementById('must-' + id).style.backgroundPosition = '0px 0px';
	}

	// Set proper field values for the check mode
	if (document.getElementById(id).checked == true) {
		document.getElementById(id).value = 'Would strongly prefer this feature';
		featCount = featCount + 1;
	} else {
		document.getElementById(id).value = 'no_selection';
		featCount = (featCount > 0) ? featCount - 1 : 0;
	}
	if (featCount > 0) {
		document.getElementById('features').style.border = "";
	}
}

function checkFormEmail(saidEmail, field, allowEmpty) {
	// Email Validation
	var regex = /^([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})(\]?)$/;
	if (saidEmail.length < 1) {
		if (allowEmpty) {
			document.getElementById(field + '-msg').style.display = 'none';
			document.getElementById(field + '-email').style.border = "1px solid #D6D1C9";
			return true;
		}
		document.getElementById(field + '-msg').style.display = '';
		document.getElementById(field + '-msg').innerHTML = '<p class="error-msg">Please enter an email address.</p>';
		document.getElementById(field + '-email').style.border = "2px solid #934545";
		return false;
	}
	if (regex.test(saidEmail) == false) {
		document.getElementById(field + '-msg').style.display = '';
		document.getElementById(field + '-msg').innerHTML = '<p class="error-msg">Please use a valid email.</p>';
		document.getElementById(field + '-email').style.border = "2px solid #934545";
		return false;
	}
	document.getElementById(field + '-msg').style.display = 'none';
	document.getElementById(field + '-email').style.border = "1px solid #D6D1C9";
	return true;
}

function isNumeric(evt) {
	try {
		var pressedChar = (evt.which) ? evt.which : evt.keyCode
		if (pressedChar > 31 && (pressedChar < 48 || pressedChar > 57)) {
			return false;
		}
		return true;
	} catch (evt) {
		// We don't need to display any error, this is the best way to prevent any js errors for older browsers
		return false;
	}
}

function showTip(id) {
	var tipData = document.getElementById(id + '-tip').innerHTML;

	if (tipData == '') {
		return false;
	}

	var spliData = tipData.split('--', 2);
	var newTip = '<h4>' + spliData[0] + '</h4><p>' + spliData[1] + '</p>';

	document.getElementById('disp-tip').innerHTML = newTip;
}

function hideTip(defaultText) {
	document.getElementById('disp-tip').innerHTML = defaultText;
}

var emailPassed = true;
function performMainEmailChecks(value, uid) {
	var result = checkFormEmail(value, 'email', false);

	if (result) {
		var httpxml;
		try
		{
			// Firefox, Opera 8.0+, Safari
			httpxml=new XMLHttpRequest();
		}
		catch (e)
		{
			// Internet Explorer
			try
			{
				httpxml=new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e)
			{
				try
				{
					httpxml=new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e)
				{
					alert("Your browser does not support AJAX!");
					return false;
				}
			}
		}
		function stateck()
		{
			if(httpxml.readyState==4)
			{
				var response = httpxml.responseText;

				if (response != "") {
					document.getElementById('email-msg').style.display = '';
					document.getElementById('email-msg').innerHTML = '<p class="error-msg">'+response+'</p>';
					document.getElementById('email-email').style.border = "2px solid #934545";
					emailPassed = false;
				} else {
					document.getElementById('email-msg').style.display = 'none';
					document.getElementById('email-email').style.border = "1px solid #D6D1C9";
					emailPassed = true;
				}
			}
		}
		var url="/includeForm/validate.php?cm=email&c="+value;
		if (uid > 0) {
			url =url+"&id="+uid;
		}
		httpxml.onreadystatechange=stateck;
		httpxml.open("GET",url,true);
		httpxml.send(null);
	}
}
function performMainEmailChecks2(value) {
	var result = checkFormEmail(value, 'email', false);

	if (result) {
		var httpxml;
		try
		{
			// Firefox, Opera 8.0+, Safari
			httpxml=new XMLHttpRequest();
		}
		catch (e)
		{
			// Internet Explorer
			try
			{
				httpxml=new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e)
			{
				try
				{
					httpxml=new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e)
				{
					alert("Your browser does not support AJAX!");
					return false;
				}
			}
		}
		function stateck()
		{
			if(httpxml.readyState==4)
			{
				var response = httpxml.responseText;

				if (response != "") {
					document.getElementById('email-msg').style.display = '';
					document.getElementById('email-msg').innerHTML = '<p class="error-msg">'+response+'</p>';
					document.getElementById('email-email').style.border = "2px solid #934545";
					emailPassed = false;
				} else {
					document.getElementById('email-msg').style.display = 'none';
					document.getElementById('email-email').style.border = "1px solid #D6D1C9";
					emailPassed = true;
				}
			}
		}
		var url="/includeForm/validate.php?cm=email&c="+value;
		httpxml.onreadystatechange=stateck;
		httpxml.open("GET",url,true);
		httpxml.send(null);
	}
}

function checkfield(id) {
	switch (id) {
		case 'fname':
		var fname = document.getElementById('fname').value;
		if (fname.length > 1) {
			document.getElementById('fname').style.border = "1px solid #d6d1c9";
		}
		moveText(fname, 'result', 'First Name')
		break;

		case 'lname':
		var lname = document.getElementById('lname').value;
		if (lname.length > 1) {
			document.getElementById('lname').style.border = "1px solid #d6d1c9";
		}
		moveText(lname, 'result2', 'Last Name')
		break;

		case 'specialty-select':
		var checkfield = document.getElementById(id).value;
		if (checkfield.length > 1) {
			document.getElementById('specialty-span').style.border = "";
		}
		break;

		case '18121-select':
		var checkfield = document.getElementById(id).value;
		if (checkfield.length > 1) {
			document.getElementById('18121-span').className = "select-span";
		}
		showPrice(checkfield);
		break;

		case 'physicians':
		case 'physicians':
		var checkfield = document.getElementById(id).value;
		if (checkfield.length > 0) {
			document.getElementById(id).style.border = "1px solid #d6d1c9";
		}
		break;

		case 'office-phone':
		case 'zip':
		var checkfield = document.getElementById(id).value;
		if (checkfield.length > 1) {
			document.getElementById(id).style.border = "1px solid #d6d1c9";
		}
		break;

	}
}

function changeFormAction(page) {
	document.public_form.action = page;
}

function isArray(obj) {
	if (obj == 'undefined' || obj.constructor.toString().indexOf("Array") == -1) {
		return false;
	} else {
		return true;
	}
}

function submitLoginForm(version) {
	var d = document.login_form;

	var _dispErrors = ''
	var errFlag = new Array();

	// Do lite form checks
	if (d.user_name.value.length < 1 && !errFlag['username']) {
		errFlag['user_name'] = true;
		_dispErrors = _dispErrors + '\n    - Please enter a User Name.'
	}

	if (d.passwd.value.length < 1 && !errFlag['passwd']) {
		errFlag['passwd'] = true;
		_dispErrors = _dispErrors + '\n    - Please enter a Password.'
	}

	// If we have any errors lets notify them
	if (_dispErrors != '') {
		_dispErrors = 'Invalid information entered:' + _dispErrors;
		_dispErrors = _dispErrors + '\n\nPlease correct these fields.';
		alert(_dispErrors);
		return false;
	}
	// If we made it this far we are good to go!
	if (version == 'v3') {
		document.getElementById('pass').value = md5('ozrictentacles'+document.getElementById('pass').value);
	}
	return true;
}

function performLandingChecks() {
	var value = '';
	var _dispErrors = '';
	var errFlag = new Array();

	/**
	* Do lite form checks
	*/
	// Check first name
	if (document.getElementById('fname').value.length < 1 && !errFlag['fname']) {
		errFlag['fname'] = true;
		_dispErrors = _dispErrors + '\n    - First Name';
		document.getElementById('fname').style.border = "2px solid #934545";
	}
	if (!errFlag['fname']) {
		document.getElementById('fname').style.border = "";
	}

	// Check last name
	if (document.getElementById('lname').value.length < 1 && !errFlag['lname']) {
		errFlag['lname'] = true;
		_dispErrors = _dispErrors + '\n    - Last Name';
		document.getElementById('lname').style.border = "2px solid #934545";
	}
	if (!errFlag['lname']) {
		document.getElementById('lname').style.border = "";
	}

	// Check office phone
	if (document.getElementById('office-phone').value.length < 14 && !errFlag['office-phone']) {
		errFlag['office-phone'] = true;
		_dispErrors = _dispErrors + '\n    - Office Phone';
		document.getElementById('office-phone').style.border = "2px solid #934545";
	}
	if (!errFlag['office-phone']) {
		document.getElementById('office-phone').style.border = "";
	}

	// Check email validation
	var regex = /^([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})(\]?)$/;
	saidEmail = document.getElementById('email-email').value;
	if (saidEmail.length < 4 && !errFlag['email']) {
		errFlag['email'] = true;
		_dispErrors = _dispErrors + '\n    - Email address';
		document.getElementById('email-email').style.border = "2px solid #934545";
	} else if (!errFlag['email']) {
		if (regex.test(saidEmail) == false) {
			errFlag['email'] = true;
			_dispErrors = _dispErrors + '\n    - Invalid Email. Email must be in a valid format.';
		}
	}

	if (emailPassed == false) {
		errFlag['email'] = true;
		_dispErrors = _dispErrors + '\n    - Please fix provided email.';
	}

	if (!errFlag['email']) {
		document.getElementById('email-email').style.border = "";
		emailFailed = false;
	}

	// Make sure we have a specialty selected
	if (document.getElementById('specialty-select').value == 0 && !errFlag['specialty']) {
		errFlag['specialty'] = true;
		_dispErrors = _dispErrors + '\n    - Your Specialty';
		document.getElementById('specialty-span').className = "specialty-span-error";
	}
	if (!errFlag['specialty']) {
		document.getElementById('specialty-span').className = "specialty-span";
	}

	// If we have any errors lets notify them
	if (_dispErrors != '') {
		// _dispErrors = 'Invalid information entered.' + _dispErrors;
		_dispErrors = 'Some fields are required.\nPlease enter:' + _dispErrors;
		_dispErrors = _dispErrors + '\n\nPlease correct these fields.';
		alert(_dispErrors);
		return false;
	}
	return true;
}