﻿function LTrim(text) {var reBeg = /^[\s]/g; while (text.match(reBeg)) text = text.replace(reBeg, ""); return text;}
function RTrim(text) {var reBeg = /[\s]$/g; while (text.match(reBeg)) text = text.replace(reBeg, ""); return text;}
function Trim(text) {return LTrim(RTrim(text));}

function makeNumericTextBox(evt)
{
  evt = (evt) ? evt : ((window.event) ? event : null);

  if (evt) 
  {
    var charCode = (evt.charCode) ? evt.charCode :
                    ((evt.keyCode) ? evt.keyCode :
                    ((evt.which) ? evt.which : 0));

    var ch = String.fromCharCode(charCode);
    
    // support for home and end keys added
    if (charCode < 32 || charCode == 35 || charCode == 36 ||  charCode == 37 || charCode == 39 || charCode == 46) return true;    
    if ((charCode <= 57) && (charCode >= 48) &&  !evt.shiftKey) return;
    
    if ((ch=='" +NumberFormatInfo.CurrentInfo.NegativeSign +"') || 
        (ch=='" +NumberFormatInfo.CurrentInfo.NumberDecimalSeparator + @"')) return;
    
    if (window.event) evt.returnValue = false;
    else evt.preventDefault();
    
    return false;
  }
}

// To restrict the textBox for not to allow more than maxLength chars
	function validateTextArea(eleName, maxLength)
	{
		var newlines = countInstances(eleName.value, "\n") + 1;
    var length = parseInt(eleName.value.length) + parseInt(newlines);
    var newmaxlength = maxLength - parseInt(newlines);
    if (parseInt(length) > parseInt(maxLength))
    {
       eleName.value = eleName.value.substring(0, newmaxlength);
       alert("The maximum number of characters should not exceed " + maxLength);
       eleName.focus();
    }
	}	
	
	function countInstances(mainStr, srchStr) {
    var count = 0;
    var offset = 0;
    do {
        offset = mainStr.indexOf(srchStr, offset);
        count += (offset != -1) ? 1 : 0;
    } while (offset++ != -1)
    return count
}

function isValidEmail(email)
{
  var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;			
  return email.match(re);
}

/* ------------------------------------------------------------------
It checks the file extensions
*/

function checkFileExtension(ele)
{    
  var fileExtensionList = new Array('doc', 'docx', 'txt', 'pdf');
  var nIndex;
  var validExtension = false;

  if(Trim(ele.value) == '') return;         
     
  var fileExtension = ele.value.split('.')[1];   
          
  for (nIndex = 0; nIndex < fileExtensionList.length; nIndex++)
  {
    if (Trim(fileExtensionList[nIndex]) == Trim(fileExtension.toLowerCase())) 
    {
      validExtension = true;
      return true;
    }
  }
  
  if (!validExtension)
  {
    alert('Please upload file with extension like ' + fileExtensionList + ' only.');
    ele.value = null;
    ele.focus();        
  }
  return validExtension;
}

function isRadioSelected(ele, errMsg) {
   if (ele.length > 1) {
      for (i=0; i<ele.length;i++){
         if (ele[i].checked) {
            return true;
         }
      }

      alert(errMsg);
      ele[0].focus();
      return false;
   }
  else {
      if (ele.checked) return true;

      alert(errMsg);
      ele.focus();
      return false;
   }
}
