function OpenWindow(URL, Width, Height) 
		{
			var w = Width;
			var h = Height;
			var l = (screen.width / 2) - (w / 2);
			var t = (screen.height / 2) - (h / 2);
			var NewWindow;
	
			NewWindow = window.open(URL, NewWindow, 'width=' + w + ', height=' + h + ', left=' + l + ', top=' + t + ', toolbar=no, resizable=yes, menubar=no, location=no, scrollbars=yes');
		}

function FormatDate(Date, Century)
{
	Date+= "";
	Century+= "";
	
	if(Century == "") Century = 20;
	
	var n = Date.replace(/[^\d]/g,"");
	if(n.length < 6) return Date; 
	else 
	{
		n = n.substring(0,2) + "/" + n.substring(2,4) + "/" + n.substring(4);
		if(n.length == 8) n = n.substring(0,6) + Century + n.substring(6);
		return n;
	}
}

function FormatPhone(Phone)
{
	Phone+= "";
	var n = Phone.replace(/[^\d]/g,"");
	if(n.length!=10) return Phone; 
	else return n.substring(0,3) + "-" + n.substring(3,6) + "-" + n.substring(6);
}

function FormatSSN(SSN)
{
	SSN+= "";
	var n = SSN.replace(/[^\d]/g,"");
	if(n.length!=9) return SSN; 
	else return n.substring(0,3) + "-" + n.substring(3,5) + "-" + n.substring(5);
}

function FormatMedicareID(MedicareID)
{
	MedicareID+= "";
	var n = MedicareID.replace(/[\W]/g,"");
	return n; 
}

function validRequired(formField,fieldLabel)
{
	var result = true;
 
	if (formField.value == "")
	{
		alert('Please enter a value for the "' + fieldLabel +'" field.');
		formField.focus();
		result = false;
	}
	return result;
}

function allDigits(str)
{
	return inValidCharSet(str,"0123456789");
}

function inValidCharSet(str,charset)
{
	var result = true;
 
	for (var i=0;i<str.length;i++)
	if (charset.indexOf(str.substr(i,1))<0)
	{
		result = false;
		break;
	}
 	return result;
}

function isValidExpDate(formField,fieldLabel,required)
{
	var result = true;
	var formValue = formField.value;

	if (required && !validRequired(formField,fieldLabel)) result = false;
  
	if (result && (formField.value.length>0))
	{
		var elems = formValue.split("/");
   
		result = (elems.length == 2); // should be two components
		var expired = false;
   
		if (result)
		{
			var month = parseInt(elems[0]);
			var year = parseInt(elems[1]);
    
			if (elems[1].length == 2) year += 2000;
    
			var now = new Date();
    
			var nowMonth = now.getMonth() + 1;
			var nowYear = now.getFullYear();
    
			expired = (nowYear > year) || ((nowYear == year ) && (nowMonth > month));
    
			result = allDigits(elems[0]) && (month > 0) && (month < 13) && allDigits(elems[1]) && ((elems[1].length == 2) || (elems[1].length == 4));
		}
   
		if (!result)
		{
			alert('Please enter a date in the format MM/YY for the "' + fieldLabel +'" field.'); 
			formField.focus();
		}
		else if (expired)
		{
			result = false;
			alert('The date for "' + fieldLabel +'" has expired.');
			formField.focus();
		}
	} 
	return result;
}

function isValidCreditCardNumber(formField,ccType,fieldLabel,required)
{
	var result = true;
	var ccNum = formField.value;

	if (required && !validRequired(formField,fieldLabel)) result = false;
 
   if (result && (formField.value.length>0))
	{ 
		if (!allDigits(ccNum))
		{
			alert('Please enter only numbers (no dashes or spaces) for the "' + fieldLabel +'" field.');
			formField.focus();
			result = false;
		} 
		if (result)
		{ 
			if (!LuhnCheck(ccNum) || !validateCCNum(ccType,ccNum))
			{
				alert('Please enter a valid card number for the "' + fieldLabel +'" field.');
				formField.focus();
				result = false;
			} 
		}  
	} 
	return result;
}

function LuhnCheck(str) 
{
	var result = true;

	var sum = 0; 
	var mul = 1; 
	var strLen = str.length;
  
	for (i = 0; i < strLen; i++) 
	{
		var digit = str.substring(strLen-i-1,strLen-i);
		var tproduct = parseInt(digit ,10)*mul;
		if (tproduct >= 10) sum += (tproduct % 10) + 1;
		else sum += tproduct;
		if (mul == 1) mul++;
		else mul--;
	}
	if ((sum % 10) != 0) result = false;
	return result;
}

function GetRadioValue(rArray)
{
	for (var i=0;i<rArray.length;i++)
	{
		if (rArray[i].checked) return rArray[i].value;
	}
	return null;
}


function validateCCNum(cardType,cardNum)
{
	var result = false;
	cardType = cardType.toUpperCase();
 
	var cardLen = cardNum.length;
	var firstdig = cardNum.substring(0,1);
	var seconddig = cardNum.substring(1,2);
	var first4digs = cardNum.substring(0,4);

	switch (cardType)
	{
		case "VISA":
			result = ((cardLen == 16) || (cardLen == 13)) && (firstdig == "4");
			break;
		case "AMEX":
			var validNums = "47";
			result = (cardLen == 15) && (firstdig == "3") && (validNums.indexOf(seconddig)>=0);
			break;
		case "MASTERCARD":
			var validNums = "12345";
			result = (cardLen == 16) && (firstdig == "5") && (validNums.indexOf(seconddig)>=0);
			break;
		case "DISCOVER":
			result = (cardLen == 16) && (first4digs == "6011");
			break;
		case "DINERS":
			var validNums = "068"; 
			result = (cardLen == 14) && (firstdig == "3") && (validNums.indexOf(seconddig)>=0);
			break;
		} 
	return result;
}

function validCCForm(ccTypeField,ccNumField,ccExpField)
{
	var result = isValidCreditCardNumber(ccNumField,ccTypeField,"Credit Card Number",true) && isValidExpDate(ccExpField,"Expiration Date",true);
	return result;
}

function fnTrapKD(btn) 
{
    if (document.all) 
    {
        if (event.keyCode == 13) {
            event.returnValue = false;
            event.cancel = true;
            btn.click();
        }
    }
}
function autoComplete_itemSelected(sender, e) 
{
    var text = e.get_text();
    var targetElement = sender.get_element();
    targetElement.value = text;
}

function fnScroll() 
{
    window.scrollTo(0, 350);
}

function printdiv(printsection) 
{
    var headstr = "<html><head><title></title><link href='include/styles.css' type='text/css' rel='stylesheet' /><link href='../include/tables.css' type='text/css' rel='stylesheet' /></head><body>";
    var footstr = "</body>";
    var prtContent = document.getElementById(printsection).innerHTML;
    var WinPrint = window.open('print.html,left=0,top=0,width=280pt,height=260pt,toolbar=0,scrollbars=0,status=0');
    WinPrint.document.write(headstr + prtContent + footstr );
    WinPrint.document.close();
    WinPrint.focus();
    WinPrint.print();
    WinPrint.close();
}



