addedRows = new Array();
deletedRows = new Array();

function addRow(part,max)
{
	if (addedRows[part]==undefined)
		addedRows[part] = 0;

	if (addedRows[part] < max)
	{
		new Ajax.Updater(part, pathroot + 'mijnprofiel/_formpart/' + part,
		{
			insertion: Insertion.Bottom,
			method: 'get'
		});
		addedRows[part]++;
	}
	else
	{
		alert('Maximum aantal rijen bereikt');
	}
}

function deleteRow(tbodyID,trID,dbID)
{
	if (confirm('wilt u deze echt verwijderen?')) {
		if (addedRows[tbodyID]==undefined)
			addedRows[tbodyID] = 0;
		Element.remove(trID);
		if (dbID)
		{
			deletedRows.push(dbID);
			$(tbodyID+'[delete]').value = deletedRows;
		}
		addedRows[tbodyID]--;
	}
}

function serialize() {
	$('order').value = Sortable.serialize('beeldmateriaal',{tag: 'div'});			
}

/* Laat lijst zien bij input type=text */

function showList(actuatorID,targetID)
{
	var url = pathroot + 'mijnprofiel/_opleidinglist/'+targetID;
	var myAjax = new Ajax.Request(url,
	{
		method: 'get', onComplete: function(originalRequest) {
			new Insertion.After(actuatorID, originalRequest.responseText);
		}
	});
}

function setInputValue(target,value,listid)
{
	$(target).value = value;
	Element.toggle(listid);
}

/* Kopieren van en naar multiple select elements */

function copyToList(from,to,min,max)
{
	fromList = $(from);
	toList = $(to);

	var sel = false;
	for (i=0;i<fromList.options.length;i++)
	{
		var current = fromList.options[i];
		if (current.selected)
		{
			if (toList.options.length >= max)
			{
				alert('U kunt maximaal ' + max + ' opties selecteren.');
				return;
			}
			if (fromList.options.length <= min)
			{
				alert('U dient minimaal ' + min + ' optie(s) selecteren.');
				return;
			}

			sel = true;
			txt = current.text;
			val = current.value;
			toList.options[toList.length] = new Option(txt,val);
			fromList.options[i] = null;
			i--;
		}
	}
	if (!sel) alert ('Geen opties geselecteerd');
}

function checkForm(materiaal,techniek) {
	techniek = $(techniek);
	materiaal = $(materiaal);
	min = 1;
	max = 5;
	sum = techniek.options.length + materiaal.options.length;
	if (sum < min || sum > max) {
		alert('Bij techniek en materiaal samen kunt u minimaal 1 en maximaal 5 opties kiezen.');
		return;
	}
	Lists = document.getElementsByClassName('selected');
	for(i=0; i<Lists.length; i++) {
		list = Lists[i];
		for (j=0;j<list.options.length;j++) {
			list.options[j].selected = true;
		}
	}
	document.zoek_criteria_overzicht.submit();
}

function popup(uri,name,width,height) {
	if (width===undefined) width = '520';
	if (height===undefined) height = '300';
	window.open(uri, name, 'width='+width+',height='+height+',scrollbars=yes,resizable=yes');
}

function confirmOnSubmit(form) {
	if (confirm('Wilt u het formulier versturen?')) 
	form.submit();
}

/* Maxlength voor textareas */

function setMaxLength() {
	var x = document.getElementsByTagName('textarea');
	var counter = document.createElement('div');
	counter.className = 'counter';
	for (var i=0;i<x.length;i++) {
		if (x[i].getAttribute('maxlength')) {
			var counterClone = counter.cloneNode(true);
			counterClone.relatedElement = x[i];
			counterClone.innerHTML = '<span>0</span>/'+x[i].getAttribute('maxlength');
			x[i].parentNode.insertBefore(counterClone,x[i].nextSibling);
			x[i].relatedElement = counterClone.getElementsByTagName('span')[0];

			x[i].onkeyup = x[i].onchange = checkMaxLength;
			x[i].onkeyup();
		}
	}
}

function checkMaxLength() {
	var maxLength = this.getAttribute('maxlength');
	var currentLength = this.value.length;
	if (currentLength > maxLength)
		this.relatedElement.className = 'toomuch';
	else
		this.relatedElement.className = '';
	this.relatedElement.firstChild.nodeValue = currentLength;
	// not innerHTML
}


function initialize () {
	if (self.init) self.init();
}

window.onload = initialize; 	
