function addRow(event) {
  // Check whether there was typing in the last row
	var src=$(event.target);
	var srcId=src.getParent('[id*=New]').id;
	var row=src.getParent('[id=linksRowNew]');
	if (!row) return;
  // If so, create a new 'last row'
	var row2=row.clone(true, true);
  // Rename the former 'last row' and the inputs it contains
	var index=1; // Find least index greater than all indexes used
	row.getParent().getElements('[id^=linksRow]').each(function(el) {
		if (el.id.match(/linksRow(\d+)/)) {
			index=Math.max(index, parseInt(RegExp.$1)+1);
		}
	});
	row.id=row.id.replace(/New/, index);
	row.getElements('[id*=New]').each(function(el) {
		el.id=el.id.replace(/New/, index);
		if (el.name) el.name=el.name.replace(/New/, index);
		if (el.href) el.href=el.href.replace(/New/, index);
		el.removeEvent('click', addRow);
	});
	// Add the new last row, and reset the value that was changed
	row2.inject(row, 'after');
	$(srcId).setFieldValue('');
	// Apply sortable, sexylightbox and addrow handlers to new row
	if (formfieldSortable) formfieldSortable.addItems(row2);
	if (SexyLightbox) SexyLightbox.refresh();
	setAddRowHandler(row2);
	// add transition effect
	var h=row2.getHeight();
	row2.setStyle('overflow', 'hidden');
	row2.setStyle('height', '0px');
	row2.get('tween', { duration: 800}).start('height', h+'px');
	return true;
}

function setAddRowHandler(row) {
	if (row) row.getElements('[id*=New]').each(function(el) {
		el.addEvent('click', addRow);
	});
}


function setTable(id, status){
	if(status=='out'){
 		$('out'+id).style.display = 'block';
		$('over'+id).style.display = 'none';
	} else if(status=='over') {
		$('out'+id).style.display = 'none';
		$('over'+id).style.display = 'block';
	}
}

function showField(el) {
	var id = 'field'+el.value;
	if(el.checked){
		$(id).style.display = 'block';
		$(id).showAllOverTexts();
		repositionVisibleOverTexts();
	}
	
}


function prevNextItems(direction, typeName, limit){
	
	var first;
	if(direction=='next'){
		first = Number($(typeName+'sShown').value)+1;
	} else if (direction=='prev'){
		first = Number($(typeName+'sShown').value)-1;
	}
	showPrevNextLinks(first, typeName, limit);
	
	if(first>=1 && first<=limit){
		var itemsShown = new Array(first, first+1, first+2, first+3);
		selectButtonsByValue(typeName+'sShown', itemsShown);
		$(typeName+'sShown').value = first;
	}
}

function showPrevNextLinks(requestedItem, typeName, limit){
	if((requestedItem==1) && ((requestedItem+3)<limit)){
		if ($(typeName+'prevlink')) $(typeName+'prevlink').style.display='none';
		if ($(typeName+'nextlink')) $(typeName+'nextlink').style.display='block';
	} else if ((requestedItem+3)>=limit && (limit>4)) {
		if ($(typeName+'prevlink')) $(typeName+'prevlink').style.display='block';
		if ($(typeName+'nextlink')) $(typeName+'nextlink').style.display='none';
	} else if (requestedItem>1 && requestedItem<limit){
		if ($(typeName+'prevlink')) $(typeName+'prevlink').style.display='block';
		if ($(typeName+'nextlink')) $(typeName+'nextlink').style.display='block';
	} else {
		if ($(typeName+'prevlink')) $(typeName+'prevlink').style.display='none';
		if ($(typeName+'nextlink')) $(typeName+'nextlink').style.display='none';
	}
}

function goToCurrentItems(currentItem, typeName, limit){
	var itemsShown = new Array(currentItem, currentItem+1, currentItem+2, currentItem+3);
	selectButtonsByValue(typeName+'sShown', itemsShown);
	showPrevNextLinks(currentItem, typeName, limit);
}

function toggleSearchSection(section) {
	toggleButtons($(section+'area'), $(section+'opener'));
   var state=getButtonSelectState($(section+'area'));
	var el=$(section+'visible');
	if (el) el.value=state;
	el=$(section+'checkbox');
   if (el) el.checked=state;
	return false;
}

function resetSearchBox() {
   $('searchsectionform').getElements('input, select, textarea', true).each(
		function(el) {
         if (!el.name || el.disabled || el.type=='submit' || el.type=='reset') return;
			if (el.tagName.toLowerCase()=='select') {
				el.selectedIndex=0;
         } else if (el.type=='radio' || el.type=='checkbox') {
				el.checked=false;
				if (!el.id.match(/(.*)checkbox/)) return;
				var section=RegExp.$1;
				setButtonDeselected($(section+'area'));
				setButtonDeselected($(section+'opener'));
			} else {
            el.value='';
			}
		}
	);
	return false;
}

if (typeof(tinyMCEConfig)!='undefined') {
	var tinyMCEConfigFewButtons=$merge(tinyMCEConfig);
	tinyMCEConfigFewButtons.theme_advanced_buttons1='bold,|,bullist,numlist,|,charmap,|,cut,copy,pastetext,|,undo,redo';
	tinyMCEConfigFewButtons.theme_advanced_buttons2='';
	tinyMCEConfigFewButtons.editor_selector='fewbuttons';
	tinyMCEConfigFewButtons.skin_variant='silver';
}

FormValidator.add('validate-twittername', {
	errorMsg: 'Gebruik alleen maar letters, cijfers of het \'_\' streepje.',
	test: function(element) {
		return Form.Validator.getValidator('IsEmpty').test(element)	|| 
			(/^[a-zA-Z0-9_]+$/).test(element.get('value'));
	}
});


function showMoreLink(id){
	var height = $(id).getHeight();
	var scrollHeight = $(id).getScrollHeight();
	if (scrollHeight>height) {
		$('morelink').style.display = 'block';
	}
}

function showMore(id){
	$(id).style.height = ''; 
	$(id).style.overflow = '';
	$('morelink').style.display = 'none';
	$('lesslink').style.display = 'block';
}

function showLess(id){
	$(id).style.height = '138px'; 
	$(id).style.overflow = 'hidden';
	$('morelink').style.display = 'block';
	$('lesslink').style.display = 'none';
}

