﻿function setClientDateField(objDay, objMonth, objYear, objClient, bEnabled){
    
    if(bEnabled == 'False') {return;}
    
    var dayObj = document.getElementById(objDay);
    var monthObj = document.getElementById(objMonth);
    var yearObj = document.getElementById(objYear);
    var clientObj = document.getElementById(objClient);

    var sDay = dayObj.options[dayObj.selectedIndex].value;
    var sMonth = monthObj.options[monthObj.selectedIndex].value;
    var sYear = yearObj.options[yearObj.selectedIndex].value;
    
    clientObj.value = sMonth + "/" + sDay + "/" + sYear;

}

function dayChange(strYearID, strMonthID, strDayID, objControlID, bEnabled){
    
    var elemYear = document.getElementById(strYearID);
    var elemMonth = document.getElementById(strMonthID);
    var elemDay = document.getElementById(strDayID);
    
    var sYear = elemYear.options[elemYear.selectedIndex].value;
    var sMonth = elemMonth.options[elemMonth.selectedIndex].value;
    
    var selDay = elemDay.value;
    
    var intDays = days_in_month(sYear,sMonth);
    var numOptions = elemDay.length;

    do{
        elemDay.remove(numOptions);
        numOptions -= 1;
    }while(numOptions >= 0)

    var elOptNew = document.createElement('option');
    elOptNew.text = '';
    elOptNew.value = '';
    
    try{
        elemDay.add(elOptNew,null);
    } catch (e){
        elemDay.add(elOptNew,elemDay.length);
    }

    for(i=0;i<intDays;i++) {
        var elOptNew = document.createElement('option');
        var strText = "0"+(i+1);
        if(i<9){
            elOptNew.text = strText;
           }else{ elOptNew.text = i+1; }
           
        elOptNew.value = i+1;
        try{
            elemDay.add(elOptNew,null);
        } catch (e){
            elemDay.add(elOptNew,elemDay.length);
        }
    }

    // Try to select whatever day was previously selected
    // This may not happen if that day is not in the 
    // new month/year combination
    if(elemDay.length >= parseInt(selDay)){
        elemDay.options[selDay].selected = true;
    }else{ elemDay.options[0].selected = true; }
    
    if(bEnabled == 'True'){
    setClientDateField(strDayID, strMonthID, strYearID, objControlID, bEnabled);
    }

}

function days_in_month (year, month) {
     return 32 - new Date(year, month-1, 32).getDate();
}

function disableDatePicker(clientID){
    var oday = document.getElementById(clientID + '_ddlDay');
    var omonth = document.getElementById(clientID + '_ddlMonth');
    var oyear = document.getElementById(clientID + '_ddlYear');

    oday.disabled = 'disabled';
    omonth.disabled = 'disabled';
    oyear.disabled = 'disabled';
}

function enableDatePicker(clientID){
    var oday = document.getElementById(clientID + '_ddlDay');
    var omonth = document.getElementById(clientID + '_ddlMonth');
    var oyear = document.getElementById(clientID + '_ddlYear');
    
    oday.disabled = '';
    omonth.disabled = '';
    oyear.disabled = '';
}
