var workSets;
var rows;
var rowDummy;

document.observe("dom:loaded", function() {
    /********************** auszuführende Arbeiten um Felder erweitern *************************/
    //Alle input Felder Sammeln, die für die auszuführenden Arbeiten zuständig sind
    
    workSets = $$(".rowTarget");
    rows = $$(".dataRow");
    rowDummy = rows[0].innerHTML;
    
    var workSets = $$(".rowTarget");

    /*
    *	Input Felder beobachten. Falls etwas in Ihnen geändert wird,
    *	soll die checkFields Funktion aufgerufen werden
    */
   
    workSets.each(function(elem){
		elem.onchange = function(){
	    	checkMyFields();
		};
    });
});


/**
*
*	checkFields Funktion
*
*	Diese Funktion ist dafür zuständig, alle Inputfelder zu überprüfen, die
*	für die auszuführenden Arbeiten zuständig sind.
*	Sind mehr als die Anzahl aller Felder - 2 Ausgefüllt, wird ein neues Input
*	und Label Feld unten angefügt.
*
*	@var (Array) workSets		Alle Input Felder "auszuführende Arbeiten"
*	@var (int)  filledCounter	Anzahl der bereits ausgefüllten Felder
*	@var (int)  inputNumber		Indexzahl des anzufügenden Input und Label Feldes
*	@var (String) newInputString	anzufügendes Input und Label Element als String
*
**/
function checkMyFields(){
    var workSets = $$(".rowTarget");
    var rows = $$(".dataRow");
    var filledCounter = 0;


    for( var i = 0; i < workSets.length; i++ ){
		if(workSets[i].getValue() != ""){
	    	filledCounter++;
		}
    }
    
    
    
    if(filledCounter >= workSets.length - 1){
	var inputNumber = workSets.length + 1;

	//neue Elemente Bauen
     var newRow = "<tr class='dataRow'>" + rowDummy.replace(/row[0-9]+/g, "row" + inputNumber) + "</tr>";
     

	$("targetTable").insert({
	    bottom: newRow
	});


	//Alle input (inklusive gerade hinzugefügtem input Elements) sammeln.
	workSets = $$(".rowTarget");

	//Listener auch auf das gerade angefügte input Element setzen
	workSets[workSets.length - 1].onchange = function(){
	    checkMyFields();
	};
    }
}

