/***************************************************************************************
Project Name			:	GTEDS-E5
Module Name	   			:	Common file
Program Name			:	CommonEdits.js	
Program Version			:	1.0.0	
Program Description		:	This program has all the common methods for validations
Called From				:	This program is called by all the entry forms
Calling				:	None
Modification History:
-----------------------------------------------------------------------------------------------
Author   	Date(MM/DD/CCYY)	Version   Modification Details  		        Change Request Reference
-----------------------------------------------------------------------------------------------
Jipson Jose   06/24/2000      1.0.0     NA                                      NA
Jipson Jose   05/18/2000      1.1.0     Changed to move validations             CHG-001
						                            from onBlur to onSubmit
Sandeep B     08/21/2000      1.2.0     Added function LoadSend                 TPR-57						    
Charles       09/12/2000      1.2.1     Renamed fun trysubmit to pageNavigate 
                                        and loadfunc to loadform.               TPR 260
Anand         10/23/2000      1.2.2     Changed the message for no files to     TPR-329
                                        download  
Sandeep       04/17/2001	    1.3.0     Fixed the floating point error          TPR-374                                      
Mark.P				05/15/2002			1.1.1			Added submitBaseAction and submit-
																				AltAction for PE
Karthik.K	03/24/2003	2.0.0   Changes were made accoridng to specs 
						Component 1b 1.4 Internet.doc  				HIPAA                 
Rukmani Priya 09/02/2003	2.01		Changes made to the loadForm().Do not set focus to the drop down box in the NHSummaryWindow.jsp
**************************************************************************************************/

var lastField;
var previousField;
var blankMsg="";
var alertMsg="Please enter date in mm/dd/yy format";
var alertMonthMsg="Please enter a valid month.";
var noFileMessage="No file available at this time.";

//*****************************************************************
//************added for provider enrollment************************

/***************************submitBaseAction********************************/
//This function will call the submit the pe form to determin the prov type
//.if all the function in 
//validate form return true;
//Returns    : none 
/************************************************************************/
function submitBaseAction(sourceForm){
	if(validateForm(sourceForm)){
		var subUrl = sourceForm.providerType.value.substring(0,2);
		
		url="QuestionaireWindow.jsp";
		sourceForm.action=url;
		sourceForm.submit();
	}
}

/***************************submitAltAction********************************/
//This function will call the submit the form.if all the function in 
//validate form return true;
//Returns    : none 
/************************************************************************/
function submitAltAction(sourceForm){
	if(validateForm(sourceForm)){
		sourceForm.submit();
	}
}

//***************************focusFirst***********************************
//This function is called whenever the Admin form is loaded  NEW MARK
//Parameter:formName,firstElement,
//Returns    :null
//************************************************************************
function focusFirst(formName,firstElement){
	try
	{
		if(firstElement != "")	
			formName.elements[firstElement].focus();
	}
	catch(ex){}
}


//******************* end provider enrollment section ****************



/***************************fieldExists******************************/
//This function is used to by other functions to check if the field exists //on the form
//Parameters : FieldName,FormName
//Returns    : Boolean exist
/************************************************************************/
function fieldExists(fieldName,formName){
	for(var i=0;i<formName.elements.length;i++){
		if(fieldName==formName.elements[i].name){ 
			return true;
		}//end of if 
	}//end of for 
	alert("Field not in the form:"+fieldName);
	return false;
}//end of fieldExists

//***************************printPage()******************************
//This function is used to print the current window being displayed.
//Parameters : Void
//Returns    : Void
//************************************************************************
//The function is invoked by onClick event of a Button
function printPage(){
	self.print();
  return true
}//end of function printPage

//***************************reFocus**************************************
//This function is to remove the focus from a read only field
//Parameters : currentField,previousField,NextField
//Returns    : Void
//************************************************************************
function reFocus(thisField,prevField,nextField){

  if(lastField!=nextField.name){
  	nextField.focus();
  }
  else {
  	if(lastField!=prevField.name)
  		prevField.focus();   
  }
}


//***************************getMessage***********************************
//This function is to display a help messgae in the status bar
//Parameters : currentField,HelpMessage
//Returns    : Void
//************************************************************************
function getMessage(lsf,HelpMessage){
	window.status=HelpMessage;
  lastField=lsf.name;
}

/***************************checkRangeInt********************************/
//This function is to check if an Integer field is between the min and max //values
//Parameters : currentField,minRange,maxRange
//Returns    : void
/************************************************************************/
function checkRangeInt(intField,intFieldName,minVal,maxVal){
	if(parseInt(intField.value)==0)
		return;
	if(checkNum(intField,intFieldName)){
		if((parseInt(intField.value)<minVal)||(parseInt(intField.value)>maxVal)){
			alert(intFieldName+ " must be between " + minVal + "and "+maxVal);
			intField.focus();
			intField.select();
		}//inner if
	}//outer if
}

/***************************compareDates********************************/
//This function is to compare two dates
//Parameter:formName,Monthfield1,dayField1,YearField1,Monthfield2,
//dayField2,YearField2
//Returns    : boolean - true if date1<date2 false if date1>date2
/************************************************************************/
function compareDates(formName,inMonth1,inDay1,inYear1,inMonth2,inDay2,inYear2,errorMsg){
	if(!validateDateMsg(formName,inMonth1,inDay1,inYear1)){
		return false;
	}
	if(!validateDateMsg(formName,inMonth2,inDay2,inYear2)){
		return false;
	}
	var inMonth11 = trimZeroesValue(formName.elements[inMonth1].value);
	var inDay11 = trimZeroesValue(formName.elements[inDay1].value);
  var inYear11= formName.elements[inYear1].value;
  var inMonth21 = trimZeroesValue(formName.elements[inMonth2].value);
	var inDay21 = trimZeroesValue(formName.elements[inDay2].value);
  var inYear21= formName.elements[inYear2].value;
  
  //Y2k window starts here
     
  if(inYear11 <50)
  	inYear11= "20" + inYear11 ;
  else
  	inYear11= "19" + inYear11 ;
  	
  if(inYear21 <50)
  	inYear21= "20" + inYear21 ;
  else
  	inYear21= "19" + inYear21 ;
  	
  if(parseInt(inYear11)<parseInt(inYear21))
  	return true; 
  if(parseInt(inYear11)>parseInt(inYear21)){
  	alert(errorMsg);
  	formName.elements[inYear2].focus();
  	formName.elements[inYear2].select();
  	return false; 
  }
  
if(parseInt(inMonth11)<parseInt(inMonth21))
	return true; 
if(parseInt(inMonth11)>parseInt(inMonth21)){
	alert(errorMsg);
  formName.elements[inMonth2].focus();
  formName.elements[inMonth2].select();
  return false; 
}

if(parseInt(inDay11)<parseInt(inDay21))
	return true; 
if(parseInt(inDay11)>parseInt(inDay21)){
	alert(errorMsg);
	formName.elements[inDay2].focus();
	formName.elements[inDay2].select();

	return false; 
}
return true;
}//end of the function compareDates

/***************************submitAction********************************/
//This function will call the submit the form.if all the function in 
//validate form return true;
//Returns    : none 
/************************************************************************/
function submitAction(sourceForm){
	if(validateForm(sourceForm)){
		sourceForm.submit();
	}
}

/***************************trim*****************************************/
//This function will trim the extra spaces for a object
//Returns    : boolean 
/************************************************************************/
function trim(Str){
	StrVal=Str.value; 
  Str.value=trimValue(StrVal);
}//end of trim

/***************************trim*****************************************/
//This function will trim the extra spaces for a value
//Returns    : String
/************************************************************************/
	function trimValue(StrVal){
		if((StrVal != "") && (StrVal.indexOf(" ",0)!=-1)){
			var iMax = StrVal.length;
			var end = StrVal.length;
			var c;
			for(i=0;1<iMax;i++){
				c = StrVal.substring(0,1);
				if (c == " "){
					StrVal=StrVal.substring(1,end);
					end = StrVal.length;
				}
				else
					break;
			}
			iMax = StrVal.length;
			end = StrVal.length;
			for(var i=iMax;i>0;i--){
				c = StrVal.substring(end-1,end)
				if (c == " "){				
					StrVal=StrVal.substring(0,end-1);
					end = StrVal.length;
				}
				else
					break;
			}
		}
		return StrVal;
	}//end of trimValue

/***************************trimZeroes*****************************************/
//This function will trim the extra zeros
//Returns    : boolean 
/******************************************************************************/
function trimZeroes(Str){
	StrVal=Str.value; 
	if((StrVal != "") && (StrVal.indexOf("0",0)!=-1)){
		var iMax = StrVal.length;
		var end = StrVal.length;
		var c;
		for(i=0;i<iMax;i++){
			if(StrVal.substring(i,i+1)!= "0")
				break
		}//for   
		if(end!=i){
			iMax = StrVal.length;
			end = StrVal.length;
			for(i=0;1<iMax;i++){
				c = StrVal.substring(0,1);
				if (c == "0"){
					StrVal=StrVal.substring(1,end);
					end = StrVal.length;
				}//if
				else
				  break;
			}//for
			Str.value=StrVal;
		}//if
		else 
		  Str.value="0";
	}//if
 return;
}//funn


/***************************trimZeroes*****************************************/
//Integer function (by passing values) will trim the extra zeros
//Returns    : boolean 
/******************************************************************************/
function trimZeroesValue(StrVal){
	if((StrVal != "") && (StrVal.indexOf("0",0)!=-1)){
		var iMax = StrVal.length;
		var end = StrVal.length;
		var c;
		for(i=0;i<iMax;i++){
			if(StrVal.substring(i,i+1)!= "0")
				break
		}//for   
		if(end!=i){
			iMax = StrVal.length;
			end = StrVal.length;
			for(var i=0;1<iMax;i++){
				c = StrVal.substring(0,1);
				if (c == "0"){
					StrVal=StrVal.substring(1,end);
					end = StrVal.length;
				}//if
				else
				  break;
			}//for
		}//if
		else 
		  StrVal="0";
	}//if
	return StrVal;
}//end of fn


//***************************loadForm***********************************************************************
//This function is called whenever the form is loaded
//Parameter:formName,providerId,firstElement,
//Returns    :null
//*********************************************************************************************************
function loadForm(formName,selectedProvider,firstElement) {
	if (formName.name=="MedicalNecessityWindow"||formName.name=="MedicalJustificationWindow") {
		copySelect(formName,formName.elements['provMedicaidNo'],formName.elements['providerId1']);
	}
	var indexSel;
	var maxOptions=formName.provMedicaidNo.options.length;
	for(indexSel = 0;indexSel<maxOptions;indexSel++){
		if(formName.provMedicaidNo.options[indexSel].value==selectedProvider)
			break;
	}
	if(indexSel>=maxOptions) indexSel=0;
	formName.provMedicaidNo.options.selectedIndex=indexSel;
	if (formName.name !="frmRecipientSummary")
	{
		formName.elements[firstElement].focus();
	}

}

//***************************loadAdminForm***********************************************************************
//This function is called whenever the Admin form is loaded
//Parameter:formName,firstElement,
//Returns    :null
//*********************************************************************************************************
function loadAdminForm(formName,firstElement){

	formName.elements[firstElement].focus();
}

//***************************copySelect*********************************************************************
//This function is called from the loadFunc whenever we have to copy a value of a select box to a text field
//Parameter:formName,source,destination
//Returns    :null
//***********************************************************************************************************/
function copySelect(formName,fromObj,copyObj){
	if(formName.name=="MedicalJustificationWindow"){
		var selectValue=fromObj.options[fromObj.selectedIndex].text;
		var len=selectValue.length;
		var numberValue=trimValue(selectValue.substring(0,9));
		var nameValue=trimValue(selectValue.substring(10,len));
		formName.elements['providerId1'].value=numberValue;
		formName.elements['providerName1'].value=nameValue;
	}
	else{
		copyObj.value=fromObj.options[fromObj.selectedIndex].value;
	}
}
 
/***************************isEmpty**************************************/
//This function is used check if the mandatory fields are filled in.
// Newly added on 05/05/2000.
//Parameters : formField.
//Returns    : True if field is empty ,else false.
/************************************************************************/
function isEmpty(formField){
	if (formField.value.length == 0) 
		return true;
	return false;
}//end of isEmpty

/******************************isSelectEmpty************************************/
//	   this is to check whether the mandatory select field is selected or not
//    Author: 
//   Date Created: 5/10/00
/*******************************************************************/
function isSelectEmpty(formField){
	if(formField.selectedIndex==0)
		return true;
	return false;
}

/***************************isNum***********************************/
//This function is to validate Numeric Integers.
//newly added on 05/05/2000
//Parameters : formfield
//Returns    : True if numeric , else false.
/************************************************************************/
function isNum(formField){
	lenField=formField.value.length;
  if(lenField != 0){
  	for(i=0;i<lenField;i++){
  		x=formField.value.charAt(i);
  		if((x<'0') || (x>'9')) 
  			return false;
  	}//end of for
  }//end of if 
  window.status=''; 
  return true;
}//end of checkNum


/***************************isAlphaNum***********************************/
//This function is to validate Alpha Numeric Integers.
//newly added on 06/11/2003
//Parameters : formfield
//Returns    : True if AlphaNumeric , else false.
/************************************************************************/
function isAlphaNum(formField){
  lenField=formField.value.length;
  if(lenField != 0){
  	for(i=0;i<lenField;i++){
  		x=formField.value.charAt(i);
  		if(((x<'0') || (x>'9')) && ((x<'a') || (x>'z')) && ((x<'A') || (x>'Z'))) 
  		  return false;
  	}//end of for
  }//end of if
  window.status=''; 
  return true;


}//end of checkAlphaNumeric

/***************************isAlphaSpecial***********************************/
function isAlphaSpecial(formField){
  lenField=formField.value.length;
  if(lenField != 0){
  	for(i=0;i<lenField;i++){
  		x=formField.value.charAt(i);
		if ((x>='0') && (x<='9')) 
			return false
  	}//end of for
  }//end of if
  window.status=''; 
  return true;
}//isAlphaSpecial

/***************************isAlpha***********************************/
function isAlpha(formField){
  lenField=formField.value.length;
  if(lenField != 0){
  	for(i=0;i<lenField;i++){
  		x=formField.value.charAt(i);
  		if (((x<'a') || (x>'z')) && ((x<'A') || (x>'Z')))
			return false
  	}//end of for
  }//end of if
  window.status=''; 
  return true;
}//isAlphaSpecial

/***************************isNumNull***********************************/
//This function is to validate Numeric Integers.
//newly added on 03/26/2003
//Parameters : formfield
//Returns    : True if null , else false.
/************************************************************************/
function isNumNull(formField){
   if(formField.value.length!=0){
	if(parseInt(trimZeroesValue(formField.value)) == 0)
           return false;
   }
   return true;
}


/*************************autojump_keyDown*******************************/
//This function is to set Auto Focus Jump BETWEEN Fields.
//newly added on 03/26/2003
//Parameters : currfield
/************************************************************************/
var downStrokeField;

function autojump_keyDown(currField)
{
currField.beforeLength=currField.value.length;
downStrokeField=currField;
}


/************************autojump_keyUp***********************************/
//This function is to set Auto Focus Jump BETWEEN Fields.
//newly added on 03/26/2003
//Parameters : currField, nextField, cursorLength
/************************************************************************/
function autojump_keyUp(currField, nextField, cursorLength)
{
if (
   (currField == downStrokeField) && 
   (currField.value.length > currField.beforeLength) && 
   (currField.value.length >= cursorLength)
   )
   nextField.focus();
downStrokeField=null;
}



//***************************isRangeLen***********************************
//This function is to check the proper length of the fields	
//Parameters : formField,mininum length, maximum Length
//Returns    : Boolean
//************************************************************************
function isRangeLen(formField,minLen,maxLen){
	if (formField.value.length==0) 
		return true;   
	if ((formField.value.length<minLen)||(formField.value.length>maxLen))
		return false;
	return true;
}//end of the function


/***************************validateDateMsg********************************/
//This function is to check if the date passed is valid.
//Parameters : formName,Monthfield,dayField,YearField
//Returns    : boolean
/************************************************************************/
function validateDateMsg(formName,inMonth,inDay,inYear,errMsg){
	var noOfArgs=arguments.length;
	if((formName.elements[inMonth].value.length==0)&&
		 (formName.elements[inDay].value.length==0)&&
		 (formName.elements[inYear].value.length==0) ) {
			//If control comes here that means it is a non mandatory-blank        
			//date field.So just return back without validating;
			return true;
	}//end of if
	 
	else if	(	(formName.elements[inMonth].value.length==0)||
						(formName.elements[inDay].value.length==0)||
						(formName.elements[inYear].value.length==0)){
		if(noOfArgs==4)
    	alert(alertMsg);
 		else	
      alert(errMsg);
    	formName.elements[inMonth].focus();
      formName.elements[inMonth].select();
      return false;
	}
							
  //Trimming the leading zeroes in the values entered in the date field
	
	var month = trimZeroesValue(formName.elements[inMonth].value);
	var day = trimZeroesValue(formName.elements[inDay].value);
  if (formName.elements[inYear].value.length == 4){
  	if (parseInt(formName.elements[inYear].value) == 0){
  		if(noOfArgs==4)
    		alert(alertMsg);
    else	
    	alert(errMsg);
     	formName.elements[inYear].focus();
     	formName.elements[inYear].select();
	    return false;
		}
	}
			
	var year = trimZeroesValue(formName.elements[inYear].value);
			
	if(!validMonth(parseInt(month))){
		if(noOfArgs==4)
    	alert(alertMsg);
	else	
  	alert(errMsg);
 		formName.elements[inMonth].focus();
    formName.elements[inMonth].select();
		return false;
	}
	if(!validYear((year))){
		if(noOfArgs==4)
  		alert(alertMsg);
	else
		alert(errMsg);
	 	formName.elements[inYear].focus();
  	formName.elements[inYear].select();
  	return false;
	}
					
	if(!validDay(parseInt(day),parseInt(month),parseInt(year))){
		if(noOfArgs==4)
    	alert(alertMsg);
	else	
  	alert(errMsg);
    formName.elements[inDay].focus();
    formName.elements[inDay].select();
    return false;
	}
						
  return true;
							
}//end of the function validateDateMsg


/************************************************************************/
//Parameters : 
//Returns    : boolean
/************************************************************************/
function validMonth(MM){
	if(MM<1||MM>12){
		return false;
	}
	else{
		return true   
	}
}
/************************************************************************/
//Parameters : 
//Returns    : boolean
/************************************************************************/

function validYear(YY){
	if (YY.length == 4)
		YY = YY.substring(2,4);
	if(parseInt(YY)<0||parseInt(YY)>99)
		return false;
	else 
	  return true;
}
/************************************************************************/
//Parameters : 
//Returns    : boolean
/************************************************************************/
function validDay(dd,mm,yy){
	if(dd<1||dd>31){
		return false;
	}
	if((mm==1||mm==3||mm==5||mm==7||mm==8||mm==10||mm==12)&&(dd>31)){
		return false;
	}
	if((mm==4||mm==6||mm==9||mm==11)&&(dd>30)){
		return false;
	}
	if((mm==2)&&!(leapYear(yy))&&(dd>28)){
		return false;
	}
	if((mm==2)&&(leapYear(yy))&&(dd>29)){
		return false;
	}
	return true
}

/************************************************************************/
//Parameters : 
//Returns    : boolean
/************************************************************************/
function leapYear(yy){
	//y2k not compliant!!!!!!!!Take care of century later
	if(!(yy%4==0)){
		return false;
	}
	if((yy%100==0) && (yy%400!=0)){
		return false;
	}
	return true;
}
/************************************************************************/
//Parameters : 
//Returns    : boolean
/************************************************************************/
function date2DigitFormat(formField){
	var trimmedField = '';
	trim(formField);
	if ( isNum(formField) && formField.value.length == 1){
		trimmedField = '0' + formField.value;
		formField.value = trimmedField;
	}
}

function date4DigitFormat(formField){
	var trimmedField = '';
	trim(formField);
	if ( isNum(formField) && formField.value.length <= 4){
		if ( formField.value.length == 1 ){
			trimmedField = '200' + formField.value;
			formField.value = trimmedField;
		}
		else if(formField.value.length == 2){
			trimmedField = '20' + formField.value;
			formField.value = trimmedField;
		}
	}
}

/***************************isValidFloat***********************************/
//This function will throw the currosponing error message for the float 
//validations.This calls the function isValidFloat
//Parameters : currentField,ErrorMsg
//Returns    : Boolean
/************************************************************************/
function isValidateFloat(field,intRange,msgString){
	if(field.value.lenghth!=0){
		if(isValidFloat(field,intRange)==1){
			var maxNum=Math.pow(10,intRange)+".00";
			alert(msgString+""+" should be less than "+maxNum);
			field.focus();	
			field.select();	
			return false;
		}
		if(isValidFloat(field,intRange)==2){
			alert(msgString +" may have only one decimal point.");
			field.focus();
			field.select();
			return false;
		}
		if(isValidFloat(field,intRange)==3){
			alert(msgString+" may have only 2 digits after the decimal point.");
			field.focus();	
			field.select();
			return false; 
		}
		if(isValidFloat(field,intRange)==4){
			alert(msgString+" must be a number.");
			field.focus();	
			field.select();
			return false; 
		}
	}
	return true;
}

/***************************isValidFloat***********************************/
//This function is to check and edit the float Nos.
//Parameters : currentField,range
//Returns    : Number
/************************************************************************/
function isValidFloat(field,intRange){
	if(!checkNumFloat(field))
		return 4;
	var floatLen=field.value.length; 
	var data=field.value;
	//test for only 2 digits after the decimal point. Length of integer part in float value	
	var floatArray = new Array();
	var Position1 = 0;
	var x = 0;
	for (i=0;i<floatLen;i++){
		floatArray[i] = data.charAt(i);
    x= x + 1;
    if(floatArray[i] =='.'){
    	x = x - 1;
    	Position1 = i + 1;
    	break;
    }//end of if
	}//end of for
	//  alert(x); 
	if (x > intRange){
		return 1;
	}//end of if
	
	var decPoint=data.indexOf(".",0);
	var lastDecPoint=data.lastIndexOf(".");
	if(decPoint != lastDecPoint){
		//more than one dec points.Yell!
		return 2; 
	}
	if (Position1 > 0){
		if (floatLen > (Position1 + 2) ){
			return 3;
		}//end of inner if
	}//end of outer if	
	return 10;
}//end of checkFloat

/***************************checkNumFloat***********************************/
//This function is to check the value of thefield  is  a number or not
//Parameters : currentField
//Returns    : Boolean
/************************************************************************/
function checkNumFloat(FField){
	lenField=FField.value.length;
  if(lenField != 0){
  	for(i=0;i<lenField;i++){
  		x=FField.value.charAt(i);
ifLoop:
  		if((x<'0') || (x>'9')){
  			if(x==".")
  				break ifLoop;
  			return false;
  		}//end of if
  	}//end of for
  }//end of if
  return true;
}//end of checkNumFloat

//***************************formatFloat***********************************
//This function is to format the float field.
//Parameters : currentField,range
//Returns    : Boolean
//************************************************************************/
function formatFloat(field,intRange){
	if(field.value.length==0)
		return true;

/*take care of float error*/		
	var temp = field.value;     
	temp = temp * 100;
	temp = Math.round(temp);
	temp = temp/100;	
	field.value = temp;
	
	orgValue=field.value;
	
	trim(field);
	field.value=trimZeroesValue(field.value);
	if(isValidFloat(field,intRange)!=10){
		field.value=orgValue;
		if(isValidFloat(field,intRange)==3){
			//       more than 2 digits after decimal
			var dataVal=field.value;	 
			var decPointIndex=dataVal.indexOf(".",0);
			var truncateIndex=decPointIndex+3;
			field.value=dataVal.substring(0,truncateIndex);
		}//end of if
	}//end of if
	else{
		// alert(parseFloat(field.value));
		if(parseFloat(field.value)==0){
			// 	alert("inside");
			field.value="0.00";
			return true;
		}
		var data=field.value;	 
		var  decPoint=data.indexOf(".",0);
		if(decPoint==-1){
			//user has not entered decpoint. Provide default decimal Point
			field.value+=".00"
			data=field.value;
			decPoint=data.indexOf(".",0);
			lastDecPoint=data.lastIndexOf(".");
			//alert(data);
		}
		var data=field.value; 
		var intVal=data.substring(0,decPoint);
		var decVal=data.substring(decPoint+1);
		//Append one zero,if the user has entered only one decimal point.   
		if (decVal.length == 1){
			field.value+="0"
			data=field.value; 
		}
		//    alert(intVal + " & " + decVal);
		if(intVal.length==0){
			//no int val entered, default to 0
			field.value="0"+field.value
			data=field.value;
			decPoint=data.indexOf(".",0);
			lastDecPoint=data.lastIndexOf(".");
		}
		if(decVal.length==0){
			//no dec val but dec point entered, default to 0
			field.value+="00"
			data=field.value;
			decPoint=data.indexOf(".",0);
			lastDecPoint=data.lastIndexOf(".");
		}
	}
	return true;
}

function pageNavigate(url){
	window.document.Home.action=url;
	window.document.Home.submit();
}
/*
*************************************************
*function homeNavigate
*
*/
function homeNavigate(url,formName){
	window.document.forms[formName].action=url;
	window.document.forms[formName].submit();
}
/*
*************************************************
*/
function loadReceive(formObject,selectedProvider){
	var indexSel;
	var maxOptions=formObject.provMedicaidNo.options.length;
	for(indexSel = 0;indexSel<maxOptions;indexSel++){
		if(formObject.provMedicaidNo.options[indexSel].value==selectedProvider)
			break;
	}
	if(indexSel>=maxOptions) 
		indexSel=0;
	formObject.provMedicaidNo.options.selectedIndex=indexSel;
}//end of loadReceive

function loadSend(formObject,selectedProvider,loadForm,loadElement){
	var indexSel;
	var maxOptions=formObject.provMedicaidNo.options.length;
	for(indexSel = 0;indexSel<maxOptions;indexSel++){
		if(formObject.provMedicaidNo.options[indexSel].value==selectedProvider)
			break;
	}
	if(indexSel>=maxOptions) 
		indexSel=0;
	formObject.provMedicaidNo.options.selectedIndex=indexSel;
	loadForm.elements[loadElement].focus();
}//end of loadSend


//***************************************************************************
// new method for provider enrollment form to populate the drop down boxes

function selectListItem(formObject,formElement,selectedItem){
	var indexSel;
	elementObject = formObject.elements[formElement];
	var maxOptions=elementObject.options.length; 

	if(formElement == "specialty1"){

		for(indexSel = 0;indexSel<maxOptions;indexSel++){
			//alert("index " +indexSel);
			if(elementObject.options[indexSel].value.substring(0,2)==selectedItem.substring(0,2)){ 
			//	alert("found "+indexSel);alert(elementObject.options[indexSel].value.substring(0,2));alert(selectedItem);
				break; 
			}
		} 
		  
	}else{
		for(indexSel = 0;indexSel<maxOptions;indexSel++){
			if(elementObject.options[indexSel].value==selectedItem) 
				break; 
		}
	}

	if(indexSel>=maxOptions) 
		indexSel=0;
	elementObject.options.selectedIndex=indexSel;
}//end of selectListItem

//***************************************************************************

function resetFunction(formName,firstElement){
alert("Resetting "+formName.name);
	formName.reset();
  firstElement.focus(); 
  return true;
}//end of function

/***************************isValidFileName***********************************/
//This function is to check the valid file Name
//Parameters : File field
//Returns    : Boolean
//added      : 6/27/00
/************************************************************************/
function isValidFileName(fieldName){
	var fieldValue=fieldName.value;
	if(isEmpty(fieldName)||(fieldValue.indexOf(' ')!=-1)){
		return false;
 	}  
 	return true;
}//end of function

//***************************onChangeSendFiles***********************************
//This function is used in Send files
//Parameters : actio url
//Returns    : 
//added      : 7/17/00
//************************************************************************/
function onChangeSendFiles(url,formName){
	formName.action=url;
	formName.submit(); 
}

//***************************padStringLeft**************************************
//This function is used to pad numeric Strings with spaces on left
//Parameters : String inputValue,int Length(desired)
//Returns    : String outputValue
//added      : 7/17/00
//************************************************************************/
function padStringLeft(inputField,desiredLength){
	var inputValue=inputField.value;
	var actualLength=inputValue.length;
	if(actualLength>=desiredLength)
		return;
	var delta = desiredLength - actualLength;
	for(indexPad=0;indexPad<delta;indexPad++)
		inputValue= " " + inputValue;
	inputField.value=inputValue;   
}

function FileNotFound(fileName){
if (fileName=="Home.jsp")
	alert (noFileMessage);
}

//***************************addDetailLines********************************
//This function is used to add detail Lines dynamicall to the form
//Parameters : formName
//Returns    : void
//added      : 5/22/01
//************************************************************************/
function addDetailLines(formName){
	formName.action="";
	formName.submit();
}
//**********************************isToUpperCase()*****************************************
//Method Name - isToUpperCase()
//This method converts the text fields values to UpperCase
//Date Created: 5/30/2001
//******************************************************************************************
function isToUpperCase(formField) {
	formField.value = formField.value.toUpperCase();
}//end of isToUpperCase


//**********************************addDynamicRow()*****************************************
//Method Name - addDynamicRow()
//This method creates Dynamic rows when calling this Function
//Date Created: 4/10/2003
//******************************************************************************************
function addDynamicRow(tableID) {

	var table = document.all ? document.all[tableID] : document.getElementById(tableID);

	if (arguments.length > 1) {
		var row = table.insertRow(table.rows.length);
		for (var i = 1; i < arguments.length; i++) {
		var cell = row.insertCell(i - 1);
		cell.innerHTML = arguments[i];
		}//for
	}//if
}//end of addDynamicRow()

//**********************************addRowHTML()***************************************************************
//Method Name - addRowHTML()
//This method creates Dynamic rows by Row Fashion when calling this Function( works only with Netscape Browser
//Date Created: 06/18/2003
//*****************************************************************************************************************
function addRowHTML(tableID, html) {

  var table = document.all ? document.all[tableID] : document.getElementById(tableID);
  var tbody = table.tBodies[table.tBodies.length - 1];

  //Netscape
  if (document.getElementById && !document.all) {
    var range = document.createRange();
    range.setStartAfter(tbody.lastChild);
    var docFrag = range.createContextualFragment(html);
    tbody.appendChild(docFrag);
  }

}//addRowHTML

//**********************************createRowsArray()***************************************************************
//Method Name - createRowsArray()
//This method creates row Array for Dynamic Row.
//Date Created: 06/18/2003
//*****************************************************************************************************************
function createRowsArray(table){
  var rows = new Array();
  var r = 0;
  if (table.tHead == null && table.tFoot == null)
    for (var r1 = 0; r1 < table.rows.length; r1++, r++)
      rows[r] = table.rows[r1];
  else  
    for (var t = 0; t < table.tBodies.length; t++)
      for (var r1 = 0; r1 < table.tBodies[t].rows.length; r1++, r++)
        rows[r] = table.tBodies[t].rows[r1];
  return rows;
}


function printSpecial()
{
	if (document.getElementById != null)
	{
		var html = '<HTML>\n<HEAD>\n';

		if (document.getElementsByTagName != null)
		{
			var headTags = document.getElementsByTagName("head");
			if (headTags.length > 0)
				html += headTags[0].innerHTML;
		}
		
		html += '\n</HE' + 'AD>\n<BODY>\n';
		
		var printReadyElem = document.getElementById("printReady");
		
		if (printReadyElem != null)
		{
				html += printReadyElem.innerHTML;
		}
		else
		{
			alert("Could not find the printReady section in the HTML");
			return;
		}
			
		html += '\n</BO' + 'DY>\n</HT' + 'ML>';
		
		var printWin = window.open("","printSpecial");
		printWin.document.open();
		printWin.document.write(html);
		printWin.document.close();
//		if (gAutoPrint)
//			printWin.print();
	}
	else
	{
		alert("Sorry, the print ready feature is only available in modern browsers.");
	}
}

/******************************************************************
   disable(buttonname)
   Author: Christensen
   Date Created: 10/13/2004
*******************************************************************/
function disable(btn) {
	if (typeof btn.disabled != 'undefined') {
		// NS6 and IE return boolean for typeof btn.disabled,
		// so we're here if it's NS6 or IE
		btn.disabled = true;
		// button is now disabled until the page reloads
	}
	else
	{
		// at least NS4 returns 'undefined' for typeof btn.disabled
		// other browsers may as well
		btn.onfocus = function () { this.blur(); }
		btn.onclick = function () { return false; }
		// button is now disabled in NS4 until page reloads
	}
}

/******************************************************************
   enable(buttonname)
   Author: Christensen
   Date Created: 10/13/2004
*******************************************************************/
function enable(btn) {
	if (typeof btn.disabled != 'undefined') {
		// NS6 and IE return boolean for typeof btn.disabled,
		// so we're here if it's NS6 or IE
		btn.disabled = false;
		// button is now enabled
	} 
}



					