var m1=document.generalForm.m1;

function initialize(){
    hideLoadingImage();
    checkForContracts();
}

var setM1ValuesInDWR = function(data){
    var fieldId = m1;
    var valueText = 'monthCode';
    var nameText = 'monthName';
    dwr.util.removeAllOptions(fieldId);
    dwr.util.addOptions(fieldId, data, valueText, nameText);
    
    updateContracts();
};    

function updateM1()
{
    Ajax.getMonths(c1.value, setM1ValuesInDWR);
}  

function checkForContracts()
{
    var number=0;
    var length=generalForm.contracts.options.length;
    for (var i = 0; i < length; ++i){
        if(generalForm.contracts.options[i].selected) number++;
    }
    if(number==0) {
        alert("Please select contracts.");
    }else{
    updateChart();
}
}

//Update the chart according to user selection
function updateChart()
{
    displayLoadingImage();
    
    //
    //we encode the values of all form elements as query parameters
    //
    var elements = document.generalForm.elements;
    url =document.generalForm.elements.action.value + "?";
    for (var i = 0; i < elements.length; ++i)
        {
            var e = elements[i];        
            if (e.name == "contracts"){
                for(var j=0;j<e.options.length;j++){
                    if(e.options[j].selected){
                        url = url + e.name + "=" + escape(e.options[j].value)+"&";
                    }        		 
                }
            }
            if(e.name != "contracts"){
                url = url + e.name + "=" + escape(e.value)+"&";
            } 
            
        }
        url = url + "D=dummyParameter";
        
        //Now we update the URL of the image to update the chart
        // document.write(url);
        getChart(url);
    }
    
    function updateContracts()
    {
        Ajax.getClosedContracts(c1.value, m1.value, createList);
    }
    
    function createList(data)
    {
        dwr.util.removeAllOptions("contracts");
        dwr.util.addOptions("contracts", data);
    }
    
    if (window.addEventListener)
        {
            window.addEventListener("load", init, false);
        }
        else if (window.attachEvent)
            {
                window.attachEvent("onload", init);
            }
            else
                {
                    window.onload = init;
                }
                
                function init()
                {
                    // dwr.util.useLoadingMessage();
                    //  updateContracts();
                }
                
                Event.observe(window, 'load', function() {
                    Event.observe(document.generalForm.m1, 'change',    function(){
                        updateContracts();
                    });
                    Event.observe(document.generalForm.c1, 'change',    function(){
                        updateM1();
                    });
                });   
                