function MakeDateString(current) {
    var monthString = current.getMonth() + 1;
    if ( monthString < 10 )
        monthString = "0" + monthString;
    var dateString = current.getDate();
    if ( dateString < 10 )
        dateString = "0" + dateString;
    return monthString + '/' + dateString + '/' + current.getFullYear();
}

function FirstDayOfWeek(D) {
    var current = new Date(D);
    var Start = 0;
    var newDate = current.getDate() - current.getDay();
    current.setDate( newDate );
    return MakeDateString(current);
}

function LastDayOfWeek(D) {
    var current = new Date(D);
    var Start = 0;
    var newDate = current.getDate() + (6 - current.getDay());
    current.setDate( newDate );

    return MakeDateString(current);
}

function FirstDayOfMonth(D) {
        var current = new Date(D);
        var newDay = "01";
        var monthString = current.getMonth() + 1;
        if ( current.getMonth() < 9 )
            monthString = "0" + monthString;
        return monthString + '/' + newDay + '/' + current.getFullYear();
}

function LastDayOfMonth(D) {
    var current = new Date(D);
    var newDate = new Date(D);
    newDate.setDate(32);
    var newDay = 32-newDate.getDate();
    var monthString = current.getMonth() + 1;
    if ( monthString < 10 )
        monthString = "0" + monthString;
    return monthString + '/' + newDay + '/' + current.getFullYear();
}

function SetMonth(fromField, toField, monthMod) {
    var current = new Date();
    var newDate = Date.UTC(current.getUTCFullYear(), current.getUTCMonth() + monthMod, current.getUTCDate());
    var firstDay = FirstDayOfMonth(newDate);
    var lastDay = LastDayOfMonth(newDate);

    fromField.value = firstDay;
    toField.value = lastDay;
}

function SetYear(fromField, toField, yrMod) {
    var current = new Date();
    var newDate = new Date( Date.UTC(current.getUTCFullYear() + yrMod, current.getUTCMonth(), current.getUTCDate()) );
    var firstDay = '01/01/' + newDate.getFullYear();
    var lastDay = '12/31/' + newDate.getFullYear();

    fromField.value = firstDay;
    toField.value = lastDay;
}

function SetWeek(fromField, toField, weekDirection) {
    var weekMod = weekDirection * 7;
    var current = new Date();
    var newDate = new Date( Date.UTC(current.getUTCFullYear(), current.getUTCMonth(), current.getUTCDate() + weekMod ) );

    var firstDay = FirstDayOfWeek(newDate);
    var lastDay = LastDayOfWeek(newDate);

    fromField.value = firstDay;
    toField.value = lastDay;
}

function GetSelectionSelectedValue(selection) {
    return selection.options[selection.selectedIndex].value;
}

function SetDateFields(fromField, toField, selection) {
    var selectionValue = GetSelectionSelectedValue(selection);
    var selectionModifierName = selectionValue.substr(0, 4);
    var selectionTimeRange = selectionValue.substr(4, selectionValue.length);

    var modifier = 0;
    if(selectionModifierName == 'prev') modifier = -1;
    if(selectionModifierName == 'next') modifier = 1;


    if(selectionTimeRange == 'Week') {
        SetWeek(fromField, toField, modifier);
    } else if(selectionTimeRange == 'Month') {
        SetMonth(fromField, toField, modifier);
    } else if(selectionTimeRange == 'Year') {
        SetYear(fromField, toField, modifier);
    }


}