//to validate a text area
function taValidation(strString)
{
   arr = strString.split("\r\n")
   var strtemp = "";
   for (var i=0; i<arr.length; i++)
   {
    strtemp = strtemp + trim(arr[i])
   }

   if (trim(strtemp) == "")
       return false;
   else
       return true;
}

//to return a trimmed string
function trim(strStr) 
{
	var intLen = strStr.length;
	var intBegin = 0, intEnd = intLen-1;
	while (strStr.charAt(intBegin) == " " && intBegin < intLen) 
	{
		intBegin++;
	}
	while (strStr.charAt(intEnd) == " " && intBegin < intEnd) 
	{
		intEnd--;
	}
	return strStr.substring(intBegin, intEnd+1);
}

//to check on keypress if entered value is numeric or not
function fnIsNumber(eventObj, obj)
{
	 var keyCode
	
	 //check for Browser Type
	 if (document.all)
	 {
	  	keyCode = eventObj.keyCode
	 }
	 else
	 {
	  	keyCode = eventObj.which
	 }
	
	 if ((keyCode > 47 && keyCode < 58) || (keyCode == 46))
	   return true;
	 else
	   return false;
}

//to check on keypress if entered value is integer or not
function fnIsIntNumber(eventObj, obj)
{
     var keyCode

     //check for Browser Type
     if (document.all)
     {
      	keyCode = eventObj.keyCode
     }
     else
     {
      	keyCode = eventObj.which
     }

     if ((keyCode > 47 && keyCode < 58) || (keyCode == 8) || (keyCode == 127) || (keyCode == 17) || (keyCode == 18) || (keyCode == 19) || (keyCode == 20))
       return true;
     else
       return false;
}

//to check on keypress if entered value is alphabet or not
function fnIsAlphabet(eventObj, obj)
{
     var keyCode

     //check for Browser Type
     if (document.all)
     {
      	keyCode = eventObj.keyCode
     }
     else
     {
      	keyCode = eventObj.which
     }

     if ((keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122) || (keyCode == 32))
      return true;
     else
      return false;
}

//to check on keypress if entered value is alphanumeric or not
function fnIsAlphaNumeric(eventObj, obj)
{
     var keyCode

     //check for Browser Type
     if (document.all)
     {
      	keyCode = eventObj.keyCode
     }
     else
     {
      	keyCode = eventObj.which
     }

     if ((keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122) || (keyCode > 47 && keyCode < 58))
      return true;
     else
      return false;
}

//to open a new file
function openNew1(file,imgHeight,imgWidth,scrolling)
{
  ypos = (screen.height / 2) - imgHeight/2;
  xpos = (screen.width / 2) - imgWidth/2;
  NewWindow1=window.open(file, "Win1", "height="+imgHeight+",width="+imgWidth+",toolbar=0,menubar=0,scrollbars="+scrolling+",status=0,location=0,left="+xpos+",top="+ypos+"screenx="+xpos+",screeny="+ypos);
  NewWindow1.focus();
}

//same as above
function openNew2(file,imgHeight,imgWidth,scrolling)
{
  ypos = (screen.height / 2) - imgHeight/2;
  xpos = (screen.width / 2) - imgWidth/2;
  NewWindow2=window.open(file, "Win2", "height="+imgHeight+",width="+imgWidth+",toolbar=0,menubar=0,scrollbars="+scrolling+",status=0,location=0,left="+xpos+",top="+ypos+"screenx="+xpos+",screeny="+ypos);
  NewWindow2.focus();
}

//function to check if valid date or not
var dtCh= "-";
var minYear=1900;
var maxYear=2100;

function IsInteger(s)
{
	var i;
    if (s.length == 0) 
    {
    	return false;
    }
	for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag)
{
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year)
{
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}

function DaysArray(n) 
{
	for (var i = 1; i <= n; i++) 
	{
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
    } 
   return this
}

function IsDate(dtStr)
{
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	
	if (pos1==-1 || pos2==-1)
	{
		alert("The date format should be: mm-dd-yyyy")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12)
	{
		alert("Please enter a valid month")
		return false
	}
	
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month])
	{
		alert("Please enter a valid day")
		return false
	}
	
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear)
	{
		alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		return false
	}
	
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || IsInteger(stripCharsInBag(dtStr, dtCh))==false)
	{
		alert("Please enter a valid date")
		return false
	}
    
	return true
}
//end date

//better version of trim and taValidation
function fnIsBlank(strInput)  
{
	if ((strInput == null) || (strInput == "")) 
		return false; //original true
	
	for(var i=0; i<strInput.length; i++)  
	{
	   var chrChar = strInput.charAt(i);		
	   if((chrChar != ' ') && (chrChar != '\\n') && (chrChar != '\\t') && (chrChar != '\\r\\n')) 
	   	   return true;//original false
    }
	return false;//original true
}

//if an option button has been checked or not
function fnIsChecked(objInput)
{
	intOK = 0;
	if (objInput.length)
	{
		for (var i=0; i<objInput.length; i++)
		{
			if (objInput[i].checked) 
			{
			  intOK=1;
			}
		}
	}
	else
	{
		if (objInput.checked) 
		{
		  intOK=1;
		}
	}
	if (intOK == 1) 
	{ 
	  return true; 
	}
	else 
	{ 
	  return false; 
	}
}

//If a multiselect list box
function fnMultibox(objInput)
{
	intOK = 0;
	for (var i=0; i<objInput.length; i++)
	{	
		if (objInput[i].selected) 
		{ 
		  intOK = 1 
		}
	}
	if (intOK == 1) 
	{ 
	  return true; 
	}
	else 
	{ 
	  return false;
	}
}

//to check if valid email or not
function IsEmail(strEmail) 
{
	var emailRegxp = /^([\w]+)(.[\w]+)*@([\w]+)(.[\w]{2,3}){1,2}$/;
	if (emailRegxp.test(strEmail))
	{
		return true;
	}
	return false;
}

//to validate forms
function fnCheckForm(frmInput, arrList, arrCustomFunction, arrCompareField, arrCompareFieldAlert, strChangeColor) 
{
		//initialization of variables
		var strMsg = "";    
		var strErr = "";
		var intFlag = 0;
		
		// running through the message loop
		for (strKey in arrList)
		{	
			var strType = ""; // setting string variable to null
			var intFoundError = 0;
			var intChangeStyle = 0;
		
			objField = eval("frmInput."+strKey); // making a object for input field
			
            
			if (objField.length > 0) 
			{ 
			  strType = objField[0].type; 
			}  // setting the type to strType variable 
			if (!strType) 
			{ 
			  strType = objField.type;
			}// again checking and setting the type to strType variable 
			
			// condition for strType variable
			if (arrCustomFunction[strKey])
			{
				    intChangeStyle=1;
					if (!eval(arrCustomFunction[strKey]+"('"+objField.value+"')"))
					{
						intFoundError=1;
					}
			}
			else 
			{	
				switch (strType) 
				{
					case "text": 
					case "password":
									intChangeStyle = 1;
									if (trim(objField.value) == false) 
									{
									  intFoundError = 1;
									}
								 	break;
					case "textarea":
									intChangeStyle = 1;
									if (taValidation(objField.value) == false) 
									{
									  intFoundError = 1;
									}
									break;
					case "radio":
					case "checkbox":
								    if (fnIsChecked(objField) == false) 
								    {
								      intFoundError = 1;
								    }
									break;
					case "select-one":
									  intChangeStyle=1;
									  if (objField.selectedIndex==0) 
									  {
									    intFoundError = 1;
									  }
									  break;
					case "select-multiple":
										   intChangeStyle=1;
										   if (fnMultibox(objField) == false) 
										   { 
										     intFoundError = 1
										   }
										   break;
				}
			}

			if (intFoundError == 1) 
			{
				strErr = strErr + arrList[strKey] + "\n";
				if (strChangeColor!="" && intChangeStyle==1)	
				{
				  objField.style.backgroundColor=strChangeColor;
				  if (intFlag == 0)
				  {
				  	intFlag = 1;
				  	objField.focus();
				  }
				}
			}
			else 
			{
				if (strChangeColor!="" && intChangeStyle==1)	
				{
				  objField.style.backgroundColor='#FFFFFF';
				}
			}
    	}
        
		//running through the compare fields
		for ( strKey in arrCompareField )
		{ 
			var strType = ""; // setting string variable to null
			var intFoundError = 0;
			var intChangeStyle = 0;
			
			objField = eval("frmInput."+strKey); // making a parent compare object for input field
			objFieldCompare = eval("frmInput."+arrCompareField[strKey]); // making a child compare object for input field
			
			if (objField.value != objFieldCompare.value)
			{		
			  intChangeStyle=1;
			  intFoundError=1;
			}	
            
			if (intFoundError==1) 
			{
				strErr = strErr + arrCompareFieldAlert[strKey] + "\n";
				if (strChangeColor!="" && intChangeStyle==1)	
				{
				  objField.style.backgroundColor=strChangeColor;
				}
			}
			else 
			{
				if (strChangeColor!="" && intChangeStyle==1)	
				{
					objField.style.backgroundColor='#FFFFFF';
				}
			}

		}

		// if no error then initialize the error
		if(strErr != "")
		{ 
			// adding to the error message
			strMsg += "Please correct/check the following:\n";
			strMsg += "-------------------------------------------------------------------------\n\n";	           
			strMsg += strErr;
			alert(strMsg);
			return(false);	
		}
		else 
		{ 
			return (true); 
		}
}

/*function fnCheckAll(frmInput,chkCheckAllBox,chkBoxToBeChecked)
{
  //convert to actual objects
  objCheckAllBox = eval("frmInput."+chkCheckAllBox);
  objBoxToBeChecked = eval("frmInput."+chkBoxToBeChecked);
  alert(frmInput+"  " +objCheckAllBox+"  " +"");
  if (objCheckAllBox.checked == true)
  {
    for (var i=0; i<objBoxToBeChecked.length; i++)
         objBoxToBeChecked[i].checked = true;   
  }
  else
  {
  	for (var i=0; i<objBoxToBeChecked.length; i++)
         objBoxToBeChecked[i].checked = false;
  } 
}*/

//Function to check or uncheck list of checkboxes checkboxes
//Parameters: Takes 2 Parameters
//		1 - The checkbox on click of which the fuction is called
//		2 - The list of checkboxes which will be checked or unchecked depending on value of first parameter
function fnCheckUnCheckAll(chkCheckAllBox,chkBoxToBeChecked)
{
	if (!chkBoxToBeChecked.length)
	{
		chkBoxToBeChecked.checked = chkCheckAllBox.checked;
	}
	else
	{
		for (i = 0; i < chkBoxToBeChecked.length; i++)
			chkBoxToBeChecked[i].checked = chkCheckAllBox.checked;
	}
}

//Function to Validate Number
//Parameters: Takes 3 Parameters
//		1 - The number to check
//		2 - Maximum number of digits allowed before decimal
//		3 - Maximum number of digits allowed after decimal
function IsValidNumber(intNum,intPrecision,intScale)
{
    var intNumber
    intNumber = trim(intNum)
	if(trim(intNumber)=="")
		return false;
	
	//Check For Valid intNumber
	if (isNaN(intNumber)==true)    
		return false;
	
	//Check if More Than One Decimal 
	if(intNumber.split(".").length > 2) 
		return false;
		
	if(intNumber.indexOf(".") > 0)
	{
		//If the number contains decimal point
		if((intNumber.split(".")[0]).length > intPrecision)
			return false;
		
		if((intNumber.split(".")[1]).length > intScale)
			return false;	
		return true;
	}
	else
	{
		//If the number doesn't contain decimal point
		if(intNumber.length > intPrecision)
			return false;
		else
			return true;
	}
}

//This function checks if the entered value is a string
function fnIsString(strStr)
{
	var strStr1 = "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var strStr2 = strStr.length;
	// modified by mayuri 
	// if nothing entered return false
	if (strStr == '') return false;
	for(var i=0; i<=strStr2; i++)
	{
		var strChar = strStr.substr(i,1);
		if (strStr1.indexOf(strChar) == -1)
		{
			return false;
		}
	}
	return true;
}

//This function checks if the entered value is a pure numeric value
function fnIsDigit(strStr)
{
    var strNum = "1234567890";
    var intCtr,intLen;
    intLen=strStr.length;
    for(intCtr=0; intCtr <= intLen && strNum.indexOf(strStr.charAt(intCtr))>=0; intCtr++);
    if(intCtr > intLen)
    {
        return true;
    }
    else
    {
    	return false;
    }
}

//This function checks if the entered value is a mixture of digits and strings
function fnIsStringDigit(strStr)
{
	var strStr1 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890";
	var strStr2 = strStr.length;
	for(var i=0; i<=strStr2; i++)
	{
		var strChar = strStr.substr(i,1);
		if (strStr1.indexOf(strChar)==-1)
		{
			return false;
		}
	}
	return true;
}

//Checks if a value is selected or not
function fnIsSelected(objInput,strMsg)
{
	if (objInput.value == "" || objInput.value == "0" || objInput.value == 0)
	{
		alert(strMsg);
		objInput.focus();
		return false;
	}
	return true;
}

//Checks if field value has number of characters between two specified limits
function fnIsMinMax(objInput,intMinLen,intMaxLen,strMsg,strBgColor)
{
	if(objInput.value.length < intMinLen || objInput.value.length > intMaxLen) 
	{ 
		objInput.style.backgroundColor=strBgColor;
		alert(strMsg);	
		objInput.focus(); 
		return false; 
	} 
	objInput.style.backgroundColor='white';
	return true; 
}

//check for file type
function fnCheckFileType(strField,strMsg)
{
  var objRegEx = new RegExp("(.doc|.pdf)$");	
  if (!objRegEx.test(strField))
  {
  	alert(strMsg);
  	strField.focus();
  	return false;
  }
  return true;	
}

//check for image type
function fnCheckImageType(strField,strMsg)
{
  var objRegEx = new RegExp("(.jpg|.jpeg|.gif|.JPG|.JPEG|.GIF)$");	
  if (!objRegEx.test(strField))
  {
  	alert(strMsg);
  	strField.focus();
  	return false;
  }
  return true;	
}

//check for size of image file. 
//YOU CAN CHECK either in terms of width and height of image or size of image in bytes
function fnCheckImageSize(strField,strMsg)
{
  var objImg = new Image(); 
  objImg.src = strField.value; 
  
  /*var Dimensions = objImg.width + 'x' + objImg.height;*/
  
  if(objImg.fileSize > 102400) 
  { 
	alert(strMsg); 
	strField.focus(); 
	return false; 
  } 
  return true;
}

//check for phone
function fnIsPhone(strField1,strField2,strField3,strMsg)
{
  var objRegEx = new RegExp("^[\d-+()]+$");
  var strPhone = "(" + strField1.value + ")" + strField2.value + "-" + strField3.value;
  if (!objRegEx.test(strPhone))
  {
  	alert(strMsg);
  	strField1.focus();
  	return false;
  }
  return true;
}

function fnSearchChk()
{
	strTxtSearch = document.getElementById('txtSearchFor').value;
	strSelSearch = document.getElementById('lstSearchFor').value;
	// enter search text
	if (strSelSearch == '' && trim(strTxtSearch) == '')
	{
		alert("Enter some search text in text box \n OR \nselect an alphabet from the list");
		document.getElementById('txtSearchFor').focus();
		return false;
	}
	if (strSelSearch != '' && strTxtSearch != '')
	{
		alert('You can specifically choose to search a particular string \n OR \n choose an alphabet from the list \n BUT NOT BOTH');
		return false;
	}
	if (trim(strTxtSearch) != '')
	{
		document.getElementById('hidText').value = '1';
	}
	return true;
}

function fnSearchChk2()
{
	
		strTxtSearch = document.getElementById('txtSearchFor').value;
	strSelSearch = document.getElementById('lstSearchFor').value;
	// enter search text
	if (strSelSearch == '' && trim(strTxtSearch) == '')
	{
		alert("Enter some search text in text box \n OR \nselect an alphabet from the list");
		document.getElementById('txtSearchFor').focus();
		return false;
	}
	if (strSelSearch != '' && strTxtSearch != '')
	{
		alert('You can specifically choose to search a particular string \n OR \n choose an alphabet from the list \n BUT NOT BOTH');
		return false;
	}
	if (trim(strTxtSearch) != '')
	{
		document.getElementById('hidText').value = '1';
	}

	strTxtSearch = document.getElementById('txtSearchFor2').value;
	strSelSearch = document.getElementById('lstSearchFor2').value;
	// enter search text
	if (strSelSearch == '' && trim(strTxtSearch) == '')
	{
		alert("Enter some search text in text box \n OR \nselect an alphabet from the list for second option search");
		document.getElementById('txtSearchFor2').focus();
		return false;
	}
	if (strSelSearch != '' && strTxtSearch != '')
	{
		alert('You can specifically choose to search a particular string \n OR \n choose an alphabet from the list \n BUT NOT BOTH for second option search');
		return false;
	}
	if (trim(strTxtSearch) != '')
	{
		document.getElementById('hidText').value = '1';
	}
	return true;
}

function fnConfirm(strMsg)
{
	if (confirm(strMsg))
	{
		return true;
	}
	return false;
}

function fnMarkDelOption(strval)
{
	strOptVal = strval;
	arrOptVal = strOptVal.split('^');
	strTempId = arrOptVal[0];
	strDelFlag = arrOptVal[1];
	if (strDelFlag == 1)
	{
		document.getElementById('chkMarkDel').checked = true;
	}
	else
	{
		document.getElementById('chkMarkDel').checked = false;
	}
	
	document.getElementById('hidTempId').value = strTempId;
}

function fnGetCharCnt(obj,maxlength,strSpanId)
{
	if (obj.value.length > maxlength) // if max limit reached then display only maximum allowed characters
		obj.value = obj.value.substring(0, maxlength);
	else 	// set the counter
	{
		document.getElementById('CharCnt'+strSpanId).style.color="blue";
		document.getElementById('CharCnt'+strSpanId).innerHTML = obj.value.length;
	}
}

function fnSetDateScriptFromJs(strfield,strformat,strButton)
{
		Calendar.setup({
        inputField     :    strfield,     // id of the input field
        ifFormat       :    strformat,      // format of the input field
        button         :    strButton,  // trigger for the calendar (button ID)
        align          :    "Tl",           // alignment (defaults to "Bl")
        singleClick    :    true
    });
}
function fnCheckGroupBoxes(frmInput,BoxarrList)
{ countbox =0;
	for(i=0;i<BoxarrList.length;i++)
	 {
		objField = eval("frmInput."+BoxarrList[i]); // making a object for input field
		if(objField.value == 'checkbox')
		 {
			if(objField.checked==false)
			 {
				countbox += 1;
			 }
		 }
	 }
	if(countbox==BoxarrList.length)
		return false;
	else
		return true;
}

function fnValidateCheckbox(chkArr)
{
	for(var i=0;i<chkArr.length;i++)
	{ 
		if(chkArr[i].checked) 
		return true; 
	}	
}

function fillAddress(chk)
{
	if(chk.checked)
	{
		document.frmNurse.txtPStAdd.value = document.frmNurse.txtCStAdd.value;
		document.frmNurse.txtPCity.value = document.frmNurse.txtCCity.value;
		document.frmNurse.lstPState.selectedIndex = document.frmNurse.lstCState.selectedIndex;
		document.frmNurse.txtPZip.value = document.frmNurse.txtCZip.value;
	}
	else
	{
		document.frmNurse.txtPStAdd.value = '';
		document.frmNurse.txtPCity.value = '';
		document.frmNurse.lstPState.selectedIndex = 0;
		document.frmNurse.txtPZip.value = '';
	}
}

function fnValidate()
{	
	//if (fnCheckForm(document.frmNurse,arrAlert,{},{},{},'#e7e7e7'))
	if (fnCheckForm(document.frmNurse,arrAlert,{},{},{},'#e7e7e7'))
	{
		
		// check whether entered date available month is valid or not
		if (trim(document.frmNurse.txtDateAvaiMonth.value) != '')
		{
			if (document.frmNurse.txtDateAvaiMonth.value < 1 || document.frmNurse.txtDateAvaiMonth.value > 12)
			{ 
				document.frmNurse.txtDateAvaiMonth.style.backgroundColor = '#e7e7e7';
				document.frmNurse.txtDateAvaiMonth.focus();
				alert("Enter Valid Date available Month");
				return false;
			}
		} 
		
		// check whether entered date available day is valid or not
		if (trim(document.frmNurse.txtDateAvaiDay.value) != '')
		{
			if (document.frmNurse.txtDateAvaiDay.value < 1 || document.frmNurse.txtDateAvaiDay.value > 31)
			{ 
				document.frmNurse.txtDateAvaiDay.style.backgroundColor = '#e7e7e7';
				document.frmNurse.txtDateAvaiDay.focus();
				alert("Enter Valid Date available Day");
				return false;
			}
		}
				
		// check whether entered email address is correct 
		if (trim(document.frmNurse.txtEmail.value) != '')
		{
			if (!IsEmail(document.frmNurse.txtEmail.value))
			{ 
				document.frmNurse.txtEmail.style.backgroundColor = '#e7e7e7';
				document.frmNurse.txtEmail.focus();
				alert("Enter Valid Email");
				return false;
			}
		} 
		
		/*if(document.getElementById('lstDiscipline'+intstrKey).selectedIndex == 0)
		{
			 alert("Select Discipline");
			 document.getElementById('lstDiscipline'+intstrKey).focus();
			 return false;
		}*/
		
		if(document.getElementById('lstSpeciality'+intstrKey+'1').selectedIndex == 0)
		{
			 alert("Select Speciality");
			 document.getElementById('lstSpeciality'+intstrKey+'1').focus();
			 return false;
		}
		
		if  (document.getElementById('lstYears'+intstrKey+'1').selectedIndex == 0)
		{
			alert("Select Years of Experience");
			document.getElementById('lstYears'+intstrKey+'1').focus();
			return false;
		}
		
		// Task - 79 : Mandatoy check for atleast one Contact number 
		strPhone1 = document.frmNurse.txtHPhone1.value + document.frmNurse.txtHPhone2.value + document.frmNurse.txtHPhone3.value;
		strPhone2 = document.frmNurse.txtWPhone1.value + document.frmNurse.txtWPhone2.value + document.frmNurse.txtWPhone3.value;
		strPhone3 = document.frmNurse.txtCPhone1.value + document.frmNurse.txtCPhone2.value + document.frmNurse.txtCPhone3.value;
		if(strPhone1 == "" && strPhone2 == "" && strPhone3 == "")
		{
			alert("Please provide at least one phone number to contact you");
			document.frmNurse.txtHPhone1.focus();
			return false;
		}
		else
		{
			// Check for work phone data. If any of the text box is filled then enter all cellphone digits
			//strWorkPhone = frmNurse.txtWPhone1.value + frmNurse.txtWPhone2.value + frmNurse.txtWPhone3.value
			if (trim(strPhone1) != '') // if cell phone entered
			{	
				if (fnIsMinMax(document.frmNurse.txtHPhone1,3,3,'Enter valid Home Phone','#e7e7e7') == false)
				{
					document.frmNurse.txtHPhone1.focus();
					return false;
				}
				if (fnIsMinMax(document.frmNurse.txtHPhone2,3,3,'Enter valid Home Phone','#e7e7e7') == false)
				{
					document.frmNurse.txtHPhone2.focus();
					return false;
				}
				if (fnIsMinMax(document.frmNurse.txtHPhone3,4,4,'Enter valid Home Phone','#e7e7e7') == false)
				{	
					document.frmNurse.txtHPhone3.focus();
					return false;
				}
			}

			if (trim(strPhone2) != '') // if cell phone entered
			{
				if (fnIsMinMax(document.frmNurse.txtWPhone1,3,3,'Enter valid Work Phone','#e7e7e7') == false)
				{
					document.frmNurse.txtWPhone1.focus();
					return false;
				}
				if (fnIsMinMax(document.frmNurse.txtWPhone2,3,3,'Enter valid Work Phone','#e7e7e7') == false)
				{
					frmNurse.txtWPhone2.focus();
					return false;
				}
				if (fnIsMinMax(document.frmNurse.txtWPhone3,4,4,'Enter valid Work Phone','#e7e7e7') == false)
				{
					document.frmNurse.txtWPhone3.focus();
					return false;
				}
			}
			
			if (trim(strPhone3) != '') // if cell phone entered
			{
				if (fnIsMinMax(document.frmNurse.txtCPhone1,3,3,'Enter valid Mobile Phone','#e7e7e7') == false)
				{
					document.frmNurse.txtCPhone1.focus();
					return false;
				}
				if (fnIsMinMax(document.frmNurse.txtCPhone2,3,3,'Enter valid Mobile Phone','#e7e7e7') == false)
				{
					document.frmNurse.txtCPhone2.focus();
					return false;
				}
				if (fnIsMinMax(document.frmNurse.txtCPhone3,4,4,'Enter valid Mobile Phone','#e7e7e7') == false)
				{
					document.frmNurse.txtCPhone3.focus();
					return false;
				}
			}
			
		}
		
		// Check for permanet phone number. If any of the text box is filled then enter all fax number digits
		/*strPPhone = frmNurse.txtPPhone1.value + frmNurse.txtPPhone2.value + frmNurse.txtPPhone3.value
		if (trim(strPPhone) != '') // if fax number entered
		{
			if (fnIsMinMax(frmNurse.txtPPhone1,3,3,'Enter Permanent Phone','#e7e7e7') == false)
			{
				return false;
			}
			if (fnIsMinMax(frmNurse.txtPPhone2,3,3,'Enter Permanent Phone','#e7e7e7') == false)
			{
				return false;
			}
			if (fnIsMinMax(frmNurse.txtPPhone3,4,4,'Enter Permanent Phone','#e7e7e7') == false)
			{
				return false;
			}
		}*/
		//Chekc for Emergancy phone number
		/*strEPhone = frmNurse.txtEPhone1.value + frmNurse.txtEPhone2.value + frmNurse.txtEPhone3.value
		if (trim(strEPhone) != '') // if fax number entered
		{
			if (fnIsMinMax(frmNurse.txtEPhone1,3,3,'Enter Emergency Phone','#e7e7e7') == false)
			{
				return false;
			}
			if (fnIsMinMax(frmNurse.txtEPhone2,3,3,'Enter Emergency Phone','#e7e7e7') == false)
			{
				return false;
			}
			if (fnIsMinMax(frmNurse.txtEPhone3,4,4,'Enter Emergency Phone','#e7e7e7') == false)
			{
				return false;
			}
		}*/
		
		//check for valid current zip code
		if (fnIsMinMax(document.frmNurse.txtCZip,5,9,'Enter Valid Current Zip Code','#e7e7e7') == false)
		{
			return false;
		}
		
		//check for valid permanent zip code
		if (trim(document.frmNurse.txtPZip.value) != '')
		{
			if (fnIsMinMax(document.frmNurse.txtPZip,5,9,'Enter Valid Permanent Zip Code','#e7e7e7') == false)
			{
				return false;
			}
		}
		
		//check for valid emergency zip code
		/*if (trim(frmNurse.txtEZip.value) != '')
		{
			if (fnIsMinMax(frmNurse.txtEZip,5,9,'Enter Valid Emergency Zip Code','#e7e7e7') == false)
			{
				return false;
			}
		}*/
		
		if(document.frmNurse.rdInvestigate[0].checked == true && document.getElementById("taInvestigate").value.length<5)
		{
			alert("Please provide details on license investigation");
			document.getElementById("taInvestigate").focus();
			return false;
		}
		if(document.frmNurse.rdConvicted[0].checked == true && document.getElementById("taConvicted").value.length<5)
		{
			alert("Please provide details on criminal history");
			document.getElementById("taConvicted").focus();
			return false;
		}
		if(document.frmNurse.rdLiabilityAct[0].checked == true && document.getElementById("taLiabilityAct").value.length<5)
		{
			alert("Please provide details on liability action");
			document.getElementById("taLiabilityAct").focus();
			return false;
		}
		return true;
	}
	return false;
}

// function to set SSN in xxx-xx-xxxx format(only numbers are allowed)
function fnSetSSN(strEvent,ojbText)
{
	if (fnIsIntNumber(strEvent,ojbText)) //CHECK WHETHER AN INTEGER
	{
		intLength = ojbText.value.length;
		switch (intLength)
		{
			case 3:
				ojbText.value = ojbText.value + '-';
				break;
			case 6:
				ojbText.value = ojbText.value + '-';
				break;	
		}
		return true;
	}	
}

function fnCheckValue(value)
{
	alert(value);
}

function fnTaHideShow(strName,intValue)
{
	if ((document.getElementById('rd'+strName).checked == true) && (document.getElementById('rd'+strName).value == 1))
	{
		document.getElementById("tr"+strName).style.display = "";
		document.getElementById("ta"+strName).disabled = false;
		document.getElementById("ta"+strName).focus();
	}	
	else
	{
		document.getElementById("tr"+strName).style.display = "none";
		document.getElementById("ta"+strName).disabled = true;
	}
}