function toggleVisible(element, visible) {
	var elem = document.getElementById(element);
	if(elem != null) {
		elem.style.display = visible ? "" : "none";
		elem.style.visibility = visible ? "" : "visible";
	}
}

function ensurePercentage(output, boxes) {
	var total = 0;
	for(var i in boxes) {
		var elem = document.getElementById(boxes[i]);
		if(elem != null && elem.value != '')
			total += Number(elem.value);
	}
	var resultbox = document.getElementById(output);
	if(resultbox != null) {
		if (total < 100)
			resultbox.style.color = "#000000";
		else if(total > 100)
			resultbox.style.color = "#FF0000";
		else
			resultbox.style.color = "#00BB00";
		resultbox.value = total;
	}
}

function openCheckSample()
{
	var newWindow = window.open("../images/checksample.gif","popTip","height=300, width=500,location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no");
	newWindow.focus();
}

function cartPopTip(tid){
	var popTip = window.open("../tip.aspx?tid="+tid,"popTip","height=220, width=520,location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no")
	popTip.focus()
}
function GetPosition(textbox)
{
	var position = textbox.value.length;
	if (textbox.selectionStart != null)
	{
		position = textbox.selectionStart;
	}
	else if (document.selection)
	{
		position = Math.abs(document.selection.createRange().moveStart("character", -1000000));
	}
	return position;
}

function CheckSSN(e, textbox)
{
    var keynum;
	if (window.event)
	{
		keynum = e.keyCode;
	}
	else if (e.which)
	{
		keynum = e.which;
	}
	if (keynum <= 31 || keynum == null)
	{
		return true;
	}
	if (keynum == 45 || (keynum >= 48 && keynum <= 57))
	{
		var position = GetPosition(textbox);
		if (keynum == 45 && position != 3 && position != 5)
		{
			return false;
		}
		if (position == 2 || position == 5)
		{
			setTimeout("AddKey('" + textbox.id + "', '-')", 1);
		}
		return true;
	}
	else
	{
		return false;
	}
}

function CheckFedTax(e, textbox)
{
	var keynum;
	if (window.event)
	{
		keynum = e.keyCode;
	}
	else if (e.which)
	{
		keynum = e.which;
	}
	if (keynum <= 31 || keynum == null)
	{
		return true;
	}
	if (keynum == 45 || (keynum >= 48 && keynum <= 57))
	{
		var position = GetPosition(textbox);
		
		if (position == 1)
		{
			setTimeout("AddKey('" + textbox.id + "', '-')", 1);
		}
		if (keynum != 45 && position == 2)
		{
			return false;
		}
		return true;
	}
	else
	{
		return false;
	}
}
function AddKey(textbox, key)
{
	document.getElementById(textbox).value += key;
}
function AddKeyAt(textbox, key, at)
{
	var value = document.getElementById(textbox).value;
	document.getElementById(textbox).value = value.substring(0, at) + key + value.substring(at, value.length);
}
function CheckNumber(e)
{
	var keynum;
	if (window.event)
	{
		keynum = e.keyCode;
	}
	else if (e.which)
	{
		keynum = e.which;
	}
	if (keynum <= 31 || keynum == null)
	{
		return true;
	}
	if (keynum >= 48 && keynum <= 57)
	{
		return true;
	}
	else
	{
		e.returnValue = false;
		return false;
	}
}

function CheckPhoneNumber(e, textbox)
{
	var keynum;
	if (window.event)
	{
		keynum = e.keyCode;
	}
	else if (e.which)
	{
		keynum = e.which;
	}
	if (keynum <= 31 || keynum == null)
	{
		return true;
	}
	if (keynum == 45 || (keynum >= 48 && keynum <= 57))
	{
		var position = GetPosition(textbox);
		
		if (position == 2 || position == 6)
		{
			setTimeout("AddKey('" + textbox.id + "', '-')", 1);
		}
		if (keynum != 45 && (position == 3 || position == 7))
		{
			e.returnValue = false;
			return false;
		}
		else if (keynum == 45 && !(position == 3 || position == 7))
		{
			e.returnValue = false;
			return false;
		}
		return true;
	}
	else
	{
		return false;
	}
}


function CheckSSN(e, textbox)
{
	var keynum;
	if (window.event)
	{
		keynum = e.keyCode;
	}
	else if (e.which)
	{
		keynum = e.which;
	}

	if ((keynum >= 48 && keynum <= 57) || keynum == null)
	{
		return true;
	}
	else
	{
	    e.returnValue = false;
		return false;
	}
	
}



function CheckDate(e, textbox)
{
	var keynum;
	if (window.event)
	{
		keynum = e.keyCode;
	}
	else if (e.which)
	{
		keynum = e.which;
	}
	if (keynum <= 31 || keynum == null)
	{
		return true;
	}
	if (keynum >= 47 && keynum <= 57)
	{
		var position = GetPosition(textbox);
		var tblength = textbox.value.length;
		if ((position == 1 && tblength <= 2) || (position == 4 && tblength <= 5))
		{
			if (keynum == 47)
			{
				setTimeout("AddKeyAt('" + textbox.id + "', '0', " + (textbox.value.length - 1) + ")", 1);
				return true;
			}
			else
			{
				setTimeout("AddKey('" + textbox.id + "', '/')", 1);
			}
		}
		
		if (keynum != 47 && (position == 2 || position == 5))
		{
			e.returnValue = false;
			return false;
		}
		if ((keynum == 47) && !(position == 2 || position == 5))
		{
			e.returnValue = false;
			return false;
		}
		return true;
	}
	else
	{
		e.returnValue = false;
		return false;
	}
}

var maxDescriptionFieldLength = 500;

function checkFieldLength(e, textbox)
{
    return validateFieldLength(textbox.value, maxDescriptionFieldLength);
}

function checkDescriptionField(source, arguments)
{
    arguments.IsValid = validateFieldLength(arguments.Value, maxDescriptionFieldLength);
}

function validateFieldLength(value, maxLength)
{
    return value.length < maxLength;
}