/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */



function format_numeric_only(e) {
    if (e) {
        var strNewValue = e.value.replace(/\D/g, "");
        if (e.value != strNewValue) {
            e.value = strNewValue;
        }
    }
}

function numeric_only_event(an_event) {
    var evt = an_event ? an_event : window.event;
    if (evt) {
        var e = (evt.target) ? evt.target : evt.srcElement;
        format_numeric_only(e);
    } else {
        alert("event was undefined for numeric_only_event(an_event)");
    }
}

function transition_toggle(toggle) {
    //alert(toggle.value);
    //alert(toggle.id);
    //alert(toggle.id.replace('activity','unit'));
    if (toggle.value == 'transition') {
        jQuery("#"+toggle.id.replace('activity','unit')).hide(0);
        jQuery("#"+toggle.id.replace('activity','distance')).hide(0);
    } else {
        jQuery("#"+toggle.id.replace('activity','unit')).show(0);
        jQuery("#"+toggle.id.replace('activity','distance')).show(0);
    }

}

function transition_toggle_event(an_event) {
    var evt = an_event ? an_event : window.event;
    if (evt) {
        var e = (evt.target) ? evt.target : evt.srcElement;        
        transition_toggle(e);
    } else {
        alert("event was undefined for transition_toggle_event(an_event)");
    }
}



function format_date(e) {
    if (e) {
        var string_new_value = e.value
                .replace(/[^\d\/\-\\ \.]/g, "")
                .replace(/[\-\\ \.]/g, "/")
                .replace(/(\/)\/+/g, "$1")
                .replace(/^\/+/, "")
                .replace(/^(0)[0\/]+/, "$1")
                .replace(/^([2-9])[0-9]+/, "$1")
                .replace(/^(1)[3-9]+/, "$1")
                .replace(/^(\d\d)(\d)/, "$1/$2")
                .replace(/^([1-9])\//, "0$1/")
                .replace(/^(\d\d\/0)[0\/]+/, "$1")
                .replace(/^(\d\d\/[4-9])\d+/, "$1")
                .replace(/^(02\/3)\d+/, "$1")
                .replace(/^((0[469]|11)\/3)[1-9]+/, "$1")
                .replace(/^((0[13578]|1[02])\/3)[2-9]+/, "$1")
                .replace(/^(\d\d\/\d\d)(\d)/, "$1/$2")
                .replace(/\/([1-9]\/)/, "/0$1")
                .replace(/^(\d+)\/(\d+)\/(\d+)\//, "$1/$2/$3")
                .replace(/^(\d\d\/\d\d\/\d\d\d\d)\d+/, "$1")
                .replace(/^(\d\d\/\d\d\/0\d)\d+$/, "$1");
        if (e.value != string_new_value)
                e.value = string_new_value;
    } else {
        alert("e was undefined in format_date(e)");
    }
}

function format_date_event(an_event) {
    var evt = an_event ? an_event : window.event;
    if (evt) {
        var e = (evt.target) ? evt.target : evt.srcElement;
        format_date(e);
    } else {
        alert("event was undefined for format_date(an_event)");
    }
}