﻿function Upper(e, r) {
    if (e.keyCode > 96 && e.keyCode < 123)
        r.valueOf = r.valueOf.toUpperCase();
}

function cellChangeBackground(cell, img) {
    cell.style.backgroundImage = "url('" + img + "')";
}

function setSelectionRange(input, selectionStart, selectionEnd) {
  if (input.setSelectionRange) {
    input.focus();
    input.setSelectionRange(selectionStart, selectionEnd);
  }
  else if (input.createTextRange) {
    var range = input.createTextRange();
    range.collapse(true);
    range.moveEnd('character', selectionEnd);
    range.moveStart('character', selectionStart);
    range.select();
  }
}

function AddDateFormatting(e) {
   var dt = e.srcElement.value;
   if(IsNumeric(dt) ==true)
   {
        if(dt.length != 8) 
        {
            return false
        }
        else 
        {
            e.srcElement.value = dt.substr(0, 2) + '/' + dt.substr(2, 2) + '/' + dt.substr(4, 4);
            return true
        }
    }
    else
    {
        if(ContainsSlash(dt) ==true)               
        { 
            var d;
            var substring = dt.split('/');
            if(substring.length - 1 > 1)
            { if(substring[0].length < 2) 
                {d='0' + substring[0];
                }
                else
                {d= substring[0];
                }
              if(substring[1] .length < 2)
                {d=d.concat('/0' + substring[1]);
                } 
              else
                {d=d.concat('/' + substring[1]);
                }
              if(substring[2].length < 4)
                {d=d.concat('/20' + substring[2]);
                }
              else
                {d=d.concat('/' + substring[2]);
                }  
            }
            else
            { var substring = dt.split('-')
                if(substring.length - 1 > 1)
            { if(substring[0].length < 2) 
                {d='0' + substring[0];
                }
                else
                {d= substring[0];
                }
              if(substring[1] .length < 2)
                {d=d.concat('/0' + substring[1]);
                } 
              else
                {d=d.concat('/' + substring[1]);
                }
              if(substring[2].length < 4)
                {d=d.concat('/20' + substring[2]);
                }
              else
                {d=d.concat('/' + substring[2]);
                }  
            }
            }
            e.srcElement.value = d;
            return true
        }		   
        else
        {
            return false
        } 
    }
}

function AddPhoneFormatting(e) {
    var d = e.srcElement.value;
    if (d.length != 10 && d.length != 0) {
        e.srcElement.focus();
        return false;
    }
    else {
        if (d.length == 10) {
            e.srcElement.value = '(' + d.substr(0, 3) + ') ' + d.substr(3, 3) + '-' + d.substr(6, 4);
        }
        return true;
    }
}

function AddMoneyFormatting(e) {
    var d = e.srcElement.value;
    e.srcElement.value = '$' + d;
    return true;
}

function RemoveDateFormatting(e) {
    var s = e.srcElement.value;
    var n2; 
    for(var i = 0; i < s.length; i++) {
        var ss = s.charCodeAt(i);
        if(ss >= 48 && ss <= 57) {
            if(n2==undefined) {
                n2 = s.substr(i, 1);
            }
            else {
                n2 = n2 + s.substr(i, 1);
            }
        }
    }
    if(n2!=undefined) {
        e.srcElement.value = n2;
        setSelectionRange(e.srcElement, 0, n2.length);
    }
}

function RemovePhoneFormatting(e) {
    var s = e.srcElement.value;
    var n2;
    for (var i = 0; i < s.length; i++) {
        var ss = s.charCodeAt(i);
        if (ss >= 48 && ss <= 57) {
            if (n2 == undefined) {
                n2 = s.substr(i, 1);
            }
            else {
                n2 = n2 + s.substr(i, 1);
            }
        }
    }
    if (n2 != undefined) {
        e.srcElement.value = n2;
        setSelectionRange(e.srcElement, 0, n2.length);
    }
}

function RemoveMoneyFormatting(e) {
    var s = e.srcElement.value;
    var n2;
    for (var i = 0; i < s.length; i++) {
        var ss = s.charCodeAt(i);
        if (ss >= 48 && ss <= 57) {
            if (n2 == undefined) {
                n2 = s.substr(i, 1);
            }
            else {
                n2 = n2 + s.substr(i, 1);
            }
        }
    }
    if (n2 != undefined) {
        e.srcElement.value = n2;
        setSelectionRange(e.srcElement, 0, n2.length);
    }
}


function IsNumeric(sText)
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}


   
   function ContainsSlash(sText)
{
   var ValidChars = "0123456789/-";
   var IsNumber=true;
   var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;

}

function AddCapitalizationFormatting(e) {
    var keynum;
    if (window.event) { // IE
        keynum = e.keyCode;
        if (keynum >= 97 && keynum <= 122) {
            e.keyCode = keynum - 32;
            return e.keyCode;
        }
    }
    else if (e.which) { // netscape/Firefox/opera
        keynum = e.which;
        if (keynum >= 97 && keynum <= 122) {
            e.keyCode = keynum32;
            return e.which;
        }
    }

}
