var size = 0;

function addPublisher(table_id,row_name_id) {
	//check browser compatibility
	if (!document.getElementById
		|| !document.createElement
		|| !document.createTextNode){
         	alert ("Ihr Browser unterst&uuml;tzt die Funktion leider nicht.");
         	return;
     	}

	var table = document.getElementById(table_id);
	var lastRow = numRows(table_id);
	var rowNum = lastRow+1;

	//start workaround for safari 1.x
	if (navigator.platform == "MacPPC") {
		//lastRow = lastRow*2;	--> was this really needed? it was actually breaking it.
	}
	
	var selectedPub = document.getElementById(row_name_id).options[document.getElementById(row_name_id).selectedIndex].text;
	var selectedID = document.getElementById(row_name_id).options[document.getElementById(row_name_id).selectedIndex].value;
	if (selectedID == ''
		|| selectedID == 0) {
		return true;
	}
	var row = table.insertRow(lastRow);
	
	document.getElementById(row_name_id).options[document.getElementById(row_name_id).selectedIndex] = null;

 	// 1 cell
	var cel0 = row.insertCell(0);
	cel0.setAttribute('width', '0');
	var el = document.createElement('input');

	el.setAttribute('type', 'hidden');
	el.setAttribute('name', row_name_id + "[]");
	el.setAttribute('id', row_name_id + rowNum);
	el.setAttribute('value', selectedID);
	el.setAttribute('size', '2');
	//el.setAttribute('disabled', true);
	cel0.appendChild(el);

	// 2 cell
	var cell1 = row.insertCell(1);
	if (rowNum % 2 == 0) {
		cell1.setAttribute('style', 'background: #F5F5F5');
	}
	else {
		cell1.setAttribute('style', 'background: #E5E5E5');
	}
	
	var el1 = document.createTextNode(selectedPub);

	cell1.appendChild(el1);

	// 3 cell
	var cell2 = row.insertCell(2);
	cell2.setAttribute('width', '50');
	var el2 = document.createElement('input');

	el2.setAttribute('type', 'button');
	el2.setAttribute('name', 'remPub');
	el2.setAttribute('value', '-');
	el2.setAttribute('onClick', 'remPublisher("' + table_id + '", ' + rowNum + ', "' + row_name_id +'");');
	el2.setAttribute('ignore', 'true');
	el2.setAttribute('style', 'width: 20px');

	cell2.appendChild(el2);
    size++;
}

function remPublisher(table_id,rowNum,row_name_id) {
	//check browser compatibility
	if (!document.getElementById) {
		alert ("Ihr Browser unterst&uuml;tzt die Funktion leider nicht.");
		return;
	}

	var table = document.getElementById(table_id);
	var copy = document.createElement("option");
	copy.text=table.rows[rowNum-1].cells[1].innerHTML;
	copy.value=table.rows[rowNum-1].cells[0].firstChild.value;
	
	try {
	   	document.getElementById(row_name_id).add(copy,null);
    }
 	catch(ex) {
		document.getElementById(row_name_id).add(copy); // IE only
    }

	table.deleteRow(rowNum-1);	
	update(table_id, row_name_id);
    size--;
}

function getPublisherSize() {
    return size;
}

function update(table_id,row_name_id) {
  for (var i=0; i<document.getElementById(table_id).rows.length; i++) {
    var rowNum = i+1;
    var cell2 = document.getElementById(table_id).rows[i].cells[1];
    var cell3 = document.getElementById(table_id).rows[i].cells[2];
    cell3.firstChild.setAttribute('onClick', 'remPublisher("' + table_id + '", ' + rowNum + ', "' + row_name_id + '");');
    if (rowNum % 2 == 0) {
		cell2.setAttribute('style', 'background: #F5F5F5');
	}
	else {
		cell2.setAttribute('style', 'background: #E5E5E5');
	}
  }
}