// Copyright (c) 2003 Net Maintain. All Rights Reserved. Portions copyright Macromedia Inc.
// www.netmaintain.com.au
// v.20030829



function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

function NM_CopyrightYr() {
	document.write(new Date().getFullYear());
}

function NM_ConfirmMed(obj,id1,id2,fld) {
	txt = obj.options[obj.selectedIndex].value;
	if (txt.match(id1)) {
		document.getElementById(fld).style.display = 'block';
		} else {
		document.getElementById(fld).style.display = 'none';
	}
	if (txt.match(id2)) {
		alert("Medical Claims cannot be processed unless they have already been submitted to Medicare. \nIf this claim has not already been submitted to Medicare please do that and return once \nyou have completed your Medicare claim."); 
		return true;
		} else return false;
}

function NM_SetField() {
	document.form1.CheckScript.value = "enabled";
}

function NM_SubmitClose() {
	document.form1.submit();
	setTimeout(self.close(),2000);
}

function NM_openBrWindow(theURL,winName,features) { //Modified version of Macromedia Open Br Win
  if (!document.form1.SameCardFuture.checked) window.open(theURL,winName,features);
}

function NM_Copy() {
	var newdob=document.form1.DepDoy.value+"/"+document.form1.DepMoy.value+"/"+document.form1.DepYob.value
	document.form1.DepDob.value = newdob
}

function NM_CopyCardNo(field,nfield) {
	if(field.value.length >= field.maxLength){
	document.getElementById(nfield).focus();
	var cardno=document.form1.card1.value+document.form1.card2.value+document.form1.card3.value+document.form1.card4.value;
	document.form1.CardNumber.value = cardno;
	}
}

function NM_openItemWin(theURL,winName,features) {
	document.form1.ItemTid.value = document.form1.ItemTid2.value;
	window.open(theURL,winName,features);
}

function CheckCard() 
{
  var isValid = false;
  CardNumber = document.form1.CardNumber.value;
  CardType = document.form1.CardType.value;
  var ccCheckRegExp = /[^\d ]/;
  isValid = !ccCheckRegExp.test(CardNumber);

  if (isValid)
  {
    var cardNumbersOnly = CardNumber.replace(/ /g,"");
    var cardNumberLength = cardNumbersOnly.length;
    var lengthIsValid = false;
    var prefixIsValid = false;
    var prefixRegExp;

    switch(CardType)
    {
      case "Mastercard":
        lengthIsValid = (cardNumberLength == 16);
        prefixRegExp = /^5[1-5]/;
        break;

      case "Visa":
        lengthIsValid = (cardNumberLength == 16 || cardNumberLength == 13);
        prefixRegExp = /^4/;
        break;

      case "Bankcard":
        lengthIsValid = (cardNumberLength == 16);
        prefixRegExp = /^5610/;
        break;

      default:
        prefixRegExp = /^$/;
    }

    prefixIsValid = prefixRegExp.test(cardNumbersOnly);
    isValid = prefixIsValid && lengthIsValid;
  }

  if (isValid)
  {
    var numberProduct;
    var numberProductDigitIndex;
    var checkSumTotal = 0;

    for (digitCounter = cardNumberLength - 1; 
      digitCounter >= 0; 
      digitCounter--)
    {
      checkSumTotal += parseInt (cardNumbersOnly.charAt(digitCounter));
      digitCounter--;
      numberProduct = String((cardNumbersOnly.charAt(digitCounter) * 2));
      for (var productDigitCounter = 0;
        productDigitCounter < numberProduct.length; 
        productDigitCounter++)
      {
        checkSumTotal += 
          parseInt(numberProduct.charAt(productDigitCounter));
      }
    }
    isValid = (checkSumTotal % 10 == 0);
  }
  
  if (isValid) return true; else alert('Please check your card type and number.'); return false;
}

function vCardNo(frm,fld,lVal) {
	d=eval("document."+frm+"."+fld+".value");
	di=d.split(" "); dc=di.join("");
	if (isNaN(dc)==true||dc.length<lVal) return false;
	
	var dcn = d.replace(/ /g,"");
    var dcnl = dcn.length;
    var checkSumTotal = 0;

    for (cn=dcnl-1; cn>= 0; cn--) {
      checkSumTotal += parseInt(dcn.charAt(cn)); cn--;
      d = String((dcn.charAt(cn) * 2));
      	for (var cn2= 0; cn2<d.length; cn2++) {
      	checkSumTotal += parseInt(d.charAt(cn2));
      	}
    }

    if (checkSumTotal % 10 == 0) return true; else return false;
}

function vEmail(frm,fld) {
	 d=eval("document."+frm+"."+fld+".value").search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/);
     if (d!=-1) return true; else return false;
}

function vEmailNonComp(frm,fld) {
	 d=eval("document."+frm+"."+fld+".value").search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/);
	 d2=eval("document."+frm+"."+fld);
     if (d!=-1||d2.value.length==0) return true; else d2.select(); return false;
}

function vCheckbox(frm,fld) {
	d=eval("document."+frm+"."+fld).checked;
	if (!d) return false; else return true;
} 

function vBlank(frm,fld,lVal) {
	d="document."+frm+"."+fld+".value.length";
	if (eval(d)<lVal) return false; else return true;
}

function vBlank2() {
	fld2 = document.form1.DescriptionOfService;
	val2 = "Other";
	selVal = fld2.options[fld2.selectedIndex].value;
	if (selVal.match(val2)) {
		d=document.form1.otservicet;
		if (d.value.length<4)
		return false;
	} return true;
} 

function vTextArea(frm,fld,lVal) {
	d="document."+frm+"."+fld+".value.length";
	if (eval(d)<lVal) return false; else return true;
}

function vList(frm,fld) {
	d=eval("document."+frm+"."+fld+".options[0].selected");
	if (d) return false; else return true;
}

function vRadio(frm,fld) {
	d=eval("document."+frm+"."+fld+".length"); n=0;
	for (m=0; m<d; m=m+1) {
	if (eval("document."+frm+"."+fld+"[m].checked")) {n=1;}} {
	if (n>0) return true; else return false;}
} 

function NM_CheckCard(frm,fld) {  // only used to check card if ccard paymt option chosen
	d=eval("document."+frm+"."+fld+".length"); n=0;
	for (m=0; m<d; m=m+1) {
		if (eval("document."+frm+"."+fld+"[m].checked")) {n=1; o=eval("document."+frm+"."+fld+"[m].value");}} 
		{if (n>0&&o=="Credit Card"){if (!CheckCard()||(!vList('form1','CardExpMo'))||(!vList('form1','CardExpYr'))||(!vBlank('form1','CardName','3'))) return false}
		return true;}
}

function vCreditCard(frm,fld,lVal,uVal) {
	if (!CheckCard()||(!vList(frm,lVal))||(!vList(frm,uVal))||(!vBlank(frm,fld,'3'))) return false; else return true;
}

function vMultiFields(frm,fld) {
	d=eval("document."+frm+"."+fld+".options[0].selected");
	if (!d) {if (!vNoRange('form1','Year2','1900','1994')||(!vList('form1','Day2')))
	return false} return true;
}

function vTwinFields(frm,fld,lVal) {
	d=eval("document."+frm+"."+fld).checked;
	if (d&&(!vList(frm,lVal))) return false; else return true;
} 

function vNumber(frm,fld,lVal) {
	d=eval("document."+frm+"."+fld+".value");
	di=d.split(" "); dc=di.join("");
	if (isNaN(dc)==true||dc.length<lVal) return false; else return true;
}

function vSize(frm,fld,lVal,uVal) {
	d="document."+frm+"."+fld+".value.length";
	if (eval(d)<lVal||eval(d)>uVal) return false; else return true;
} 

function vNoRange(frm,fld,lVal,uVal) {
	d=eval("document."+frm+"."+fld+".value");
	di=d.split(" "); dc=di.join("");
	if (isNaN(d)==true||dc<lVal||dc>uVal) return false; else return true;
}

function vPCode(frm,fld,lVal,uVal) {
	d=eval("document."+frm+"."+fld+".value");
	if (isNaN(d)==true||d.length<lVal||d.length>uVal) return false; else return true;
}

function vDate(frm,fld) {
	d=eval("document."+frm+"."+fld+".value");
    if (d.search(/^((\d{1,2}\/{1}){2})(\d{4})$/)==-1) return false; else return true;
}

function vRadio2(frm,fld,lVal,uVal) {
	n = -1;
	d = eval("document."+frm+"."+fld);
	for (s=d.length-1; s > -1; s--) {
		if (d[s].checked) {
		n = s; s = -1;
		}
	}
	if (n == -1) {
	return false;
	} else {
		if(d[n].value!='Other') return true;
		}
	if (d[n].value=='Other') {
		if (!vBlank(frm,lVal,uVal)) {
			return false;
		} else { 
		return true;
		}
	}
}

function NM_CheckItemNo(frm,fld,lVal) {
	d=eval("document."+frm+"."+fld+".value.length");
	di=eval("document."+frm+"."+lVal+".options.value");
	if ((d<1)&&(di=='Medical'||di=='Ordinary Dental')) return false; else return true;
}

function NM_Validate() {
     var myArgs=NM_Validate.arguments;var ErrMess='';var MyVal=true;nmErrMess='Your request could not be completed:-\t\t\n\n';
	 for (i=1; i<myArgs.length; i=i+5) {
	 var myArgsC=myArgs[i].charAt(0);
	 if (myArgsC=='j') {if(!vEmail(myArgs[0],myArgs[i+1])) {ErrMess=(ErrMess+=myArgs[i+4])+'\n';MyVal=false;}}
	 if (myArgsC=='l') {if(!vEmailNonComp(myArgs[0],myArgs[i+1])) {ErrMess=(ErrMess+=myArgs[i+4])+'\n';MyVal=false;}}
	 if (myArgsC=='c') {if(!vCheckbox(myArgs[0],myArgs[i+1])) {ErrMess=(ErrMess+=myArgs[i+4])+'\n';MyVal=false;}}
	 if (myArgsC=='r') {if(!NM_CheckCard(myArgs[0],myArgs[i+1])) {ErrMess=(ErrMess+=myArgs[i+4])+'\n';MyVal=false;}}
	 if (myArgsC=='s') {if(!vMultiFields(myArgs[0],myArgs[i+1])) {ErrMess=(ErrMess+=myArgs[i+4])+'\n';MyVal=false;}}
	 if (myArgsC=='a') {if(!vBlank(myArgs[0],myArgs[i+1],myArgs[i+2])) {ErrMess=(ErrMess+=myArgs[i+4])+'\n';MyVal=false;}}
	 if (myArgsC=='w') {if(!vBlank2(myArgs[0],myArgs[i+1],myArgs[i+2])) {ErrMess=(ErrMess+=myArgs[i+4])+'\n';MyVal=false;}}
	 if (myArgsC=='b') {if(!vTextArea(myArgs[0],myArgs[i+1],myArgs[i+2])) {ErrMess=(ErrMess+=myArgs[i+4])+'\n';MyVal=false;}}
	 if (myArgsC=='e') {if(!vList(myArgs[0],myArgs[i+1])) {ErrMess=(ErrMess+=myArgs[i+4])+'\n';MyVal=false;}}
	 if (myArgsC=='d') {if(!vRadio(myArgs[0],myArgs[i+1])) {ErrMess=(ErrMess+=myArgs[i+4])+'\n';MyVal=false;}}
	 if (myArgsC=='f') {if(!vNumber(myArgs[0],myArgs[i+1],myArgs[i+2])) {ErrMess=(ErrMess+=myArgs[i+4])+'\n';MyVal=false;}}
	 if (myArgsC=='g') {if(!vSize(myArgs[0],myArgs[i+1],myArgs[i+2],myArgs[i+3])) {ErrMess=(ErrMess+=myArgs[i+4])+'\n';MyVal=false;}}
	 if (myArgsC=='m') {if(!vNoRange(myArgs[0],myArgs[i+1],myArgs[i+2],myArgs[i+3])) {ErrMess=(ErrMess+=myArgs[i+4])+'\n';MyVal=false;}}
	 if (myArgsC=='k') {if(!vPCode(myArgs[0],myArgs[i+1],myArgs[i+2],myArgs[i+3])) {ErrMess=(ErrMess+=myArgs[i+4])+'\n';MyVal=false;}}
	 if (myArgsC=='p') {if(!vDate(myArgs[0],myArgs[i+1])) {ErrMess=(ErrMess+=myArgs[i+4])+'\n';MyVal=false;}}
	 if (myArgsC=='q') {if(!vCardNo(myArgs[0],myArgs[i+1],myArgs[i+2])) {ErrMess=(ErrMess+=myArgs[i+4])+'\n';MyVal=false;}}
	 if (myArgsC=='t') {if(!vCreditCard(myArgs[0],myArgs[i+1],myArgs[i+2],myArgs[i+3])) {ErrMess=(ErrMess+=myArgs[i+4])+'\n';MyVal=false;}}
	 if (myArgsC=='v') {if(!vTwinFields(myArgs[0],myArgs[i+1],myArgs[i+2])) {ErrMess=(ErrMess+=myArgs[i+4])+'\n';MyVal=false;}}
	 if (myArgsC=='x') {if(!vRadio2(myArgs[0],myArgs[i+1],myArgs[i+2],myArgs[i+3])) {ErrMess=(ErrMess+=myArgs[i+4])+'\n';MyVal=false;}}
	 if (myArgsC=='z') {if(!NM_CheckItemNo(myArgs[0],myArgs[i+1],myArgs[i+2],myArgs[i+3])) {ErrMess=(ErrMess+=myArgs[i+4])+'\n';MyVal=false;}}
	 }
	 if (ErrMess!='') {alert(nmErrMess+ErrMess);ErrMess=''}	
	 document.MM_returnValue = MyVal; 
}
