


function restrictZeroDP()
{
    // find out which control was touched
    var strValidChars = "0123456789";
    if ( !ContainsOnlyTheseCharacters(event.srcElement.value,strValidChars) )
    {
        //alert ("hello");
        event.srcElement.value = GetLeftOfInvalidCharacters(event.srcElement.value,strValidChars,"0");
    }
}

function restrictTwoDP()
{
    // find out which control was touched
    var strValidChars = '0123456789.';
    if ( !ContainsOnlyTheseCharacters(event.srcElement.value,strValidChars) )
    {
        event.srcElement.value = GetLeftOfInvalidCharacters(event.srcElement.value,strValidChars,'0');
    }

    var dpPos = -1;
    for (i=0; i < event.srcElement.value.length; i++)
    {
        if (event.srcElement.value.charAt(i) == '.')
        {
            dpPos=i;
            break;
        }
    }
    
    if (dpPos >= 0)
    {
        if (event.srcElement.value.length > dpPos+3)
        {
            event.srcElement.value = event.srcElement.value.substring(0,dpPos+3);
        }
        if (dpPos == event.srcElement.value.length-2)
        {
            event.srcElement.value = event.srcElement.value + '0';
        }
        if (dpPos == event.srcElement.value.length-1)
        {
            event.srcElement.value = event.srcElement.value + '00';
        }
        if (dpPos == 0)
        {
            event.srcElement.value = '0' + event.srcElement.value;
        }
    }
    else
    {
        if (event.srcElement.value.length == 0)
        {
            event.srcElement.value = '0.00';
        }
        else
        {
            event.srcElement.value = event.srcElement.value + '.00';
        }
    }
}

function ContainsOnlyTheseCharacters(strString, strValidChars)
{
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
   {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
      {
         blnResult = false;
      }
   }
   return blnResult;
}

// Returns the left part of the string up to the first invalid character
function GetLeftOfInvalidCharacters(strString, strValidChars, strDefaultReturnValue)
{
   for (i = 0; i < strString.length; i++)
   {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
      {
        if (i == 0)
        {
            return strDefaultReturnValue;
        }
        else
        {
            return strString.substring(0,i);
        }
      }
   }
   return strString;
}

function checkdate(input)
{
 //alert("fooie!")
 
    if (input.value.length == 0) 
        return true

    var validformat=/^\d{2}\/\d{2}\/\d{4}$/ //Basic check for format validity
    var returnval=false
    
    if (!validformat.test(input.value))
        alert("Invalid Date Format. Resubmit in the form DD/MM/YYYY.")
    else
    { 
        //Detailed check for valid date ranges
        var dayfield=input.value.split("/")[0]
        var monthfield=input.value.split("/")[1]
        var yearfield=input.value.split("/")[2]
        var dayobj = new Date(yearfield, monthfield-1, dayfield)
        
        if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield))
            alert("Invalid Day, Month, or Year range detected. Please correct and submit again.")
        else
            returnval=true
    }
    if (returnval==false) input.select()
    return returnval
}

function trapKeypress(e, theKey) 
{
   var iKeyCode = 0;
    if (window.event) 
    {
        iKeyCode = window.event.keyCode
    }
    else 
    {
        if (e) 
        {
            iKeyCode = e.which;
        }
    }
    return (iKeyCode != theKey);
}

function DecimalTextboxKeyPress() 
{ 
	if(event.srcElement.value.indexOf('.') > -1 && event.keyCode == 46)
	{
		event.keyCode = 0; 
		return;
	}; 
	if (!(event.keyCode == 48 || event.keyCode == 49 || event.keyCode == 50 || event.keyCode == 51 || event.keyCode == 52 || event.keyCode == 53 || event.keyCode == 54 || event.keyCode == 55 || event.keyCode == 56 || event.keyCode == 57 || event.keyCode == 46))
	{
		event.keyCode = 0;
	};
}; 

function WholeNumberTextboxKeyPress() 
{ 
	if (!(event.keyCode == 48 || event.keyCode == 49 || event.keyCode == 50 || event.keyCode == 51 || event.keyCode == 52 || event.keyCode == 53 || event.keyCode == 54 || event.keyCode == 55 || event.keyCode == 56 || event.keyCode == 57))
	{
		event.keyCode = 0;
	};
}; 
