$(document).ready(function() {

    // Initial variables
    var counter = 1;
    var counterRR = 1;
    
    var base_facilityid = "facility";
    var base_instrumentid = "instrument";
    var base_spectralcolorassignmentid = "spectralcolorassignment";
    var base_spectralbandid = "spectralband";
    var base_spectralbandpassid = "spectralbandpass";
    var base_spectralcentralwavelengthid = "spectralcentralwavelength";
    var base_temporalstarttimeid = "temporalstarttime";
    var base_temporalintegrationtimeid = "temporalintegrationtime";
    var base_datasetidid = "datasetid";
    
    var base_relatedresourcesid = "relatedresources";
    
    var facilityid;
    var instrumentid;
    var spectralcolorassignmentid;
    var spectralbandid;
    var spectralbandpassid;
    var spectralcentralwavelengthid;
    var temporalstarttimeid;
    var temporalintegrationtimeid;
    var datasetidid;
    
    var relatedresourcesid;
    
    // Function to add form fields with appropriate id and name attributes
    function addfields(base, fieldid, counter) {
        
        var divid = base + "-" + counter;
        fieldid = base + counter;
        var label = $("#" + divid + " > label").text()
        //console.log($("#" + divid + " > label").text());
        label = label.split(" ")[0];

        
        $("#" + divid).clone(true).insertAfter("#" + divid);
        
        $("#" + divid + " > label").text(label + " " + (counter + 1))
        $("#" + divid).attr({
            id: base + "-" + (counter + 1),
            value: "-"
        });
        
        $("#" + base + "-" + (counter + 1) + " input").attr({
            id: base + (counter + 1),
            name: base + (counter + 1),
            value: "-"
        });
        
        $("#" + base + "-" + (counter + 1) + " select").attr({
            id: base + (counter + 1),
            name: base + (counter + 1),
            value: "-"
        });        
    }

    // Function to remove the most recent added form field
    function removefields(base, fieldid, counter) {
        divid = base + "-" + counter;
        $("#" + divid).remove();
    }


    // Button function to add form fields
    $("#addfield").click(function () {
               
        if (counter<10) {
        
            addfields(base_facilityid, facilityid, counter);
            addfields(base_instrumentid, instrumentid, counter);
            addfields(base_spectralcolorassignmentid, spectralcolorassignmentid, counter);
            addfields(base_spectralbandid, spectralbandid, counter);
            addfields(base_spectralbandpassid, spectralbandpassid, counter);
            addfields(base_spectralcentralwavelengthid, spectralcentralwavelengthid, counter);
            addfields(base_temporalstarttimeid, temporalstarttimeid, counter);
            addfields(base_temporalintegrationtimeid, temporalintegrationtimeid, counter);
            addfields(base_datasetidid, datasetidid, counter);
                                
            counter++;
        }
                
    });
            
    // Button function to remove form fields
    $("#removefield").click(function () {
    
        if (counter>1) {
            
            removefields(base_facilityid, facilityid, counter);
            removefields(base_instrumentid, instrumentid, counter);
            removefields(base_spectralcolorassignmentid, spectralcolorassignmentid, counter);
            removefields(base_spectralbandid, spectralbandid, counter);
            removefields(base_spectralbandpassid, spectralbandpassid, counter);
            removefields(base_spectralcentralwavelengthid, spectralcentralwavelengthid, counter);
            removefields(base_temporalstarttimeid, temporalstarttimeid, counter);
            removefields(base_temporalintegrationtimeid, temporalintegrationtimeid, counter);
            removefields(base_datasetidid, datasetidid, counter);
            
            counter--;
        }
    });
    
    
    // For Related Resources field
    $("#addfieldRR").click(function () {         
        if (counterRR<10) {
            addfields(base_relatedresourcesid, relatedresourcesid, counterRR);     
            counterRR++;
        }
    });
    
    $("#removefieldRR").click(function () {
        if (counterRR>1) {
            removefields(base_relatedresourcesid, relatedresourcesid, counterRR);
            counterRR--;
        }
    });

    
    // Reset a section of the form    
    $("#resetbutton1, #resetbutton2, #resetbutton3").click(function () {
        section = $(this).parent().parent().attr("id");
        $("#" + section + " input").attr({
            value: ""
        })
        $("#" + section + " select").attr({
            value: ""
        })
        $("#" + section + " textarea").attr({
            value: ""
        })
        $(this).attr({
            value: "reset metadata"
        })
        $("#addfield").attr({
            value: "+"
        })
        $("#removefield").attr({
            value: "-"
        })
        $("#preferences").attr({
            value: "Subject Category Widget"
        })
        inputarray.length = 0;
    });
});



