﻿function FormatDateBox(element) {
    var myElement = document.getElementById(element);
    // if(myElement.value == '')
    myElement.value = 'MM/dd/yyyy';
}

function FormatDateBoxDate(element) {
    var myElement = document.getElementById(element);
    var cursorPos = GetCursorPosition(myElement);
    var myPos = 0;

    var newNumericElement = '';
    var newElement = '';

    // Build Numeric string
    for (var x = 0; x < myElement.value.length; x++) {
        var myChar = myElement.value.charAt(x);

        if (isNumeric(myChar))
            newNumericElement += myChar;
    }

    newNumericElement = newNumericElement.substring(0, 8);

    var cqCounter = 0;

    //Add in Characters
    for (var x = 0; x < 9; x++) {
        var myNum = newNumericElement.charAt(x);

        if (myNum != '') {
            if (x == 2 || x == 4) {
                newElement += '/';
                cqCounter++;
            }

            newElement += myNum;
            cqCounter++;
        }
    }

    if (cqCounter == 0) newElement += 'MM/dd/yyyy';
    if (cqCounter == 1) newElement += 'M/dd/yyyy';
    if (cqCounter == 2) newElement += '/dd/yyyy';
    if (cqCounter == 3) newElement += 'dd/yyyy';
    if (cqCounter == 4) newElement += 'd/yyyy';
    if (cqCounter == 5) newElement += '/yyyy';
    if (cqCounter == 6) newElement += 'yyyy';
    if (cqCounter == 7) newElement += 'yyy';
    if (cqCounter == 8) newElement += 'yy';
    if (cqCounter == 9) newElement += 'y';

    // Get last character position
    if (newElement.charAt(cursorPos) == '/')
        cursorPos++;

    myElement.value = newElement;
    SetCursorPosition(myElement, cursorPos);
}

function isNumeric(x) {
    var RegExp = /^(-)?(\d*)(\.?)(\d*)$/; // Note: this WILL allow a number that ends in a decimal: -452. 

    var result = x.match(RegExp);
    return result;
}

// These functions ONLY work on MSIE (Win)
// Gets Cursor Position by comparing to a moving text range.
function GetCursorPosition(element) {
    var obj = element;
    var cur = document.selection.createRange();
    var pos = 0;
    if (obj && cur) {
        var tr = obj.createTextRange();
        if (tr) {
            while (cur.compareEndPoints("StartToStart", tr) > 0) {
                tr.moveStart("character", 1);
                pos++;
            }
            return pos;
        }
    }
    return -1;
}
// Sets Cursor Position by creating a new text range and moving it
function SetCursorPosition(element, pos) {
    var obj = element;
    if (obj) {
        var tr = obj.createTextRange();
        if (obj && tr) {
            tr.moveStart("character", pos);
            tr.collapse();
            tr.select();
            return true;
        }
    }
    return false;
}