            function GetDecimalDelimiter(nCountryCode)
            {

                   var sRet='';

                   switch (nCountryCode)
                   {

                        case 3:   
                                       
                                       sRet = '#';
                                       break;
                        
                        case 2:   
                                       
                                       sRet = ',';
                                       break;
                        default:
                                       sRet = ',';
                                       break;
             
                    }

                  return sRet;

            }

            function GetCommaDelimiter(nCountryCode)
            {

                   var sRet='';

                   switch (nCountryCode)
                   {
                        
                        case 3:   
                                       
                                       sRet = '*';
                                       break;
                        case 2:   
                                       
                                       sRet = ',';
                                       break;
                        default:
                                       sRet = '.';
                                       break;
             
                    }

                  return sRet;

            }

            function FormatClean(num)
            {
                 var sVal='';
                 var nVal = num.length;
                 var sChar='';
                 
               try
               {
                   for(i=0;i<nVal;i++)
                  {
                     sChar = num.charAt(i);
                     nChar = sChar.charCodeAt(0);
                     if ((nChar >=48) && (nChar <=57))  { sVal += num.charAt(i);   }
                  }
               }
                catch (exception) { AlertError("Format Clean",e); }
                return sVal;
            }
             

            function FormatCurrency(num,nCountryCode)
            {       
                    var sVal='';
                    var minus='';
                    var Decimal='';
                    Decimal = GetDecimalDelimiter(nCountryCode);
                    if (num.lastIndexOf("-") == 0) { minus='-'; }
                    if (num.lastIndexOf(Decimal) < 0) { num = num + '00'; }
                    num = FormatClean(num);
                    sVal = minus + FormatDollar(num,GetCommaDelimiter(nCountryCode)) + GetDecimalDelimiter(nCountryCode) + FormatCents(num); 
                    return sVal;
            }

            function FormatNumber(num,nCountryCode)
            {       
                    var sVal='';
                    var minus='';
                    var CommaDelimiter='';

                    
                    if (num != '')
                    {
                    
                    try 
                   {

                       CommaDelimiter = GetCommaDelimiter(nCountryCode);

                       if (num.lastIndexOf("-") == 0) { minus='-'; }

                       num = FormatClean(num);

                       num = parseInt(num);

                       var samount = new String(num);
                         
                       for (var i = 0; i < Math.floor((samount.length-(1+i))/3); i++)
                      {
                         samount = samount.substring(0,samount.length-(4*i+3)) + CommaDelimiter + samount.substring(samount.length-(4*i+3));
                       }

                    }
                     catch (exception) { AlertError("Format Number",e); }
                    return minus + samount;
                    }
                    
                    else
                    return '';
            }

            function FormatCents(amount)
            {
                 var cents = '';

                  try
                  {
                       amount = parseInt(amount);
                       var samount = new String(amount);

                       if (samount.length == 0) { return '00'; }
                       if (samount.length == 1) { return '0' + samount; }
                       if (samount.length == 2) { return samount; }
                     
                       cents =  samount.substring(samount.length -2,samount.length);
                      
                  }
                  catch (exception) { AlertError("Format Cents",e); }
                  return cents;
            }

            function FormatDollar(amount,CommaDelimiter)
            {
               try 
               {
              
                    amount = parseInt(amount);

                    var samount = new String(amount);

                    if (samount.length < 3) { return 0; }  

                    samount =  samount.substring(0,samount.length -2);
                         
                    for (var i = 0; i < Math.floor((samount.length-(1+i))/3); i++)
                    {
                       samount = samount.substring(0,samount.length-(4*i+3)) + CommaDelimiter + samount.substring(samount.length-(4*i+3));
                     }

               }
                catch (exception) { AlertError("Format Comma",e); }
                return samount;
            }

             function AlertError(MethodName,e)
             {
                        if (e.description == null) { alert(MethodName + " Exception: " + e.message); }
                        else {  alert(MethodName + " Exception: " + e.description); }
             }  
             
          function ValidateNumeric() 
          { 
            var keyCode = window.event.keyCode; 
            if (keyCode > 57 || keyCode < 48) 
              window.event.returnValue = false; 
          }