function popup(pagename, width, height)
{
	var pagestyle = 'width=' + width + ',height=' + height + ',scrollbars=yes';
	window.open(pagename,'Pop_up',pagestyle);
}

function sumpayor(field)
{
	noblank(field);
	var commercial = parseFloat(document.getElementById('commercial').value);
	var medicaid = parseFloat(document.getElementById('medicaid').value);
	var medicare = parseFloat(document.getElementById('medicare').value);
	var selfpay = parseFloat(document.getElementById('selfpay').value);
	var summedvalues = commercial + medicaid + medicare + selfpay;
	document.getElementById('total').value = summedvalues;
}

function checkfield(field)
{
	if (field.value == '') field.value = 0;
	if(!IsNumeric(field)) {
		field.value = 0;
		alert("You can only use numeric values.");
	}
	if (field.name == 'zip')
	{
		if (field.value.length != 5) 
		{
			alert("Zip Code must contain five digits.");
			field.value = 0;
		}
	}
	if (field.name == 'length' || field.name == 'collections')
	{
		if (field.value == '') 
		{
			field.value = 0;
		}
		else if (field.value != 0) 
		{
			field.value = round(field,2);
		}
	}
	if (field.name == 'length' || field.name == 'collections' || field.name == 'readmission' || field.name == 'hcahps' || field.name == 'discharge')
	{
		if (field.value == '')
		{
			field.value = 0;
		}
		else if (field.value != 0)
		{
			field.value = isNeg(field);
		}
	}
	if (field.name == 'readmission' || field.name == 'hcahps' || field.name == 'discharge')
	{
		greaterThan(field, 100)
	}
}

function IsNumeric(field)
{
	var ValidChars = "0123456789";
	if (field.name != 'zip')
	{
		ValidChars += ".";
	}
  var IsNumber=true;
  var Char;
	for (i = 0; i < field.value.length && IsNumber == true; i++) 
		{ 
		Char = field.value.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
			{
			IsNumber = false;
			}
		}
	return IsNumber;
}

function clearvalue(field)
{
	if (field.defaultValue == field.value) field.value = '';
}

function noblank(field)
{
	if (field.value == '') field.value = 0;
	checkValue(field);
}

function validate(f)
{
	//All field required except address1, address2, city
	var valid = true;
	var count = 0;
	var fields = new Array();
	//var formobject = document.forms('profile');
	//var test = formobject.childNodes.length;
	//alert("FIELD COUNT: " + formobject.elements.length);
	//return;
	for (i=0; i<document.forms[f].elements.length; i++)
	{
		if (document.forms[f].elements[i].name != 'address1' && document.forms[f].elements[i].name != 'address2' && document.forms[f].elements[i].name != 'city')
		{
			if (document.forms[f].elements[i].value == '')
			{
				fields.push(document.forms[f].elements[i].name);
				count++;
			}
			if (document.forms[f].elements[i].name == 'zip')
			{
				if (document.forms[f].elements[i].value.length != 5 && document.forms[f].elements[i].value != '')
				{
					fields.push(document.forms[f].elements[i].name);
					count++;
				}
			}
		}
	}
	if (count > 0)
	{
		valid = false;
		var missing = "";
		for (j=0; j<fields.length; j++)
		{
				missing += fields[j] + ", ";
		}
		missing = missing.substring(0,missing.length-2) + " ";
		if (count > 1)
		{
			var message = missing + "are required fields.";
		}
		else
		{
			var message = missing + "is a required field.";
		}
		alert (message);
	}
	var email = document.getElementById("email");
	if (!email)
	{
		valid = false;
	}
	else if (!isEmail(email.value))
	{
		valid = false;
		alert("You have entered an invalid email address.");
	}
	
	var total = document.getElementById("total").value;
	if (total != 100)
	{
		valid = false;
		alert("Payor Total MUST sum to 100%");
	}
	
	if (valid)
	{
		document.forms[f].submit();
	}
	else return;
}

function round(field, num)
{
	if (field.value != 0 && typeof(field.value) != "undefined")
	{
		var result = Math.round(field.value*(Math.pow(10,num)))/(Math.pow(10,num));
		return result;
	}
}

function isNeg(field)
{
	if (field.value < 0)
	{
		return field.value * -1;
	}
	return field.value;
}

function greaterThan(field, num)
{
	if (field.value > num)
	{
		var message = "The value for " + field.name + " cannot be greater than " + num + ".";
		field.value = 0;
		alert(message);
	}
}

function isEmail(Mail) {
Mail=Mail.toLowerCase();
return (Mail.search(/^[a-zA-Z]+([_\.-]?[a-zA-Z0-9]+)*@[a-zA-Z0-9]+([\.-]?[a-zA-Z0-9]+)*(\.[a-zA-Z]{2,4})+$/) != -1);
}

function giveWarningAndFixValue(field) {
	alert("You can only use whole numeric values.");
	var value = parseInt(field.value);
	if(!isNaN(value)) field.value = value;
	else field.value = "";
	if(document.layers) field.select();
	if (field.value == '') field.value = 0;
}

function isNumericValue(str) {
	var isValid = true;
	if(str.search(/^[0-9]+$/) == -1) {
		isValid = false;
	}
	return isValid;
}

function checkValue(field) {
	if(!isNumericValue(field.value)) {
		giveWarningAndFixValue(field);
	}
}

function checkselection(field)
{
	if (field.checked == true)
	{
		SetAllCheckBoxes('profile', field.name, true);
	}
	else
	{
		SetAllCheckBoxes('profile', field.name, false);
	}
}

function SetAllCheckBoxes(FormName, FieldName, CheckValue)
{
	if(!document.forms[FormName])
		return;
	var objCheckBoxes = document.forms[FormName].elements[FieldName];
	if(!objCheckBoxes)
		return;
	var countCheckBoxes = objCheckBoxes.length;
	if(!countCheckBoxes)
		objCheckBoxes.checked = CheckValue;
	else
		for(var i = 0; i < countCheckBoxes; i++)
			objCheckBoxes[i].checked = CheckValue;
}

function submitForm(form)
{
	document.forms[form].submit();
}

function printandredisplay(r,l,f,a,d,h,c,n,t,i)
{
	var path = "3results.php?print=true&r=" + r + "&l=" + l + "&f=" + f + "&a=" + a + "&d=" + d + "&h=" + h + "&c=" + c + "&n=" + n + "&t=" + t + "&i=" + i;
	popup(path,'745','600');
}

