function disableField(field) {
	field.disabled=true;
	field.value='Versturen..';
}

function getElementsById(sId)
{
var outArray = new Array();	
if(typeof(sId)!='string' || !sId)
{
	return outArray;
};

if(document.evaluate)
{
	var xpathString = "//*[@id='" + sId.toString() + "']"
	var xpathResult = document.evaluate(xpathString, document, null, 0, null);
	while ((outArray[outArray.length] = xpathResult.iterateNext())) { }
	outArray.pop();
}
else if(document.all)
{
	
	for(var i=0,j=document.all[sId].length;i<j;i+=1){
	outArray[i] =  document.all[sId][i];}
	
}else if(document.getElementsByTagName)
{

	var aEl = document.getElementsByTagName( '*' );	
	for(var i=0,j=aEl.length;i<j;i+=1){
	
		if(aEl[i].id == sId )
		{
			outArray.push(aEl[i]);
		};
	};	
	
};

return outArray;
}

function selectAll() {
	checkboxes = getElementsById('checkbox');
	for(i=0;i<checkboxes.length;i++) {
		checkboxes[i].checked=true;
	}
}

function showAllRecipients(pages) {
	var x=document.getElementsByName("recipients[]");
	for(var i=0;i<x.length;i++) {
		var id = x[i].value;
		$('recipient_row_'+id).show();
	}
	$('recipients_1').show();
	for(var j=2;j<pages;j++) {
		$('recipients_'+j).hide();
	}
	$('searchName').value='';
	$('showAllRecipientsLink').hide();
}

function searchIndividual(pages) {
	searchString = new RegExp($('searchName').value,'gi');
	var checkvar = "!!"+$('searchName').value+"!!";
	//alert(checkvar);
	if(checkvar=="!!!!") {
		showAllRecipients();
	} else {
		for(var j=1;j<pages;j++) {
			$('recipients_'+j).show();
		}
		$('showAllRecipientsLink').show();
		var x=document.getElementsByName("recipients[]");
		for(var i=0;i<x.length;i++) {
			var id = x[i].value;
			if(document.all) {
				var name = $('recipient_'+id).innerText;
			} else {
				var name = $('recipient_'+id).textContent;
			}
			if(name.search(searchString)<0) {
				$('recipient_row_'+id).hide();
			} else {
				$('recipient_row_'+id).show();
			}
		}
	}
}

function toggleCapacityNVT() {
	if($('activity_capacity').disabled==true) {
		$('activity_capacity').value='';
		$('activity_capacity').disabled=false;			
	} else {
		$('activity_capacity').value='999999';
		$('activity_capacity').disabled=true;	
	}

}

function enroll(id) {
	new Ajax.Request('../actions.php', {
	  method: 'post',
	  parameters: {action: 'enroll', activity_id: id },
	  onComplete: function(transport) {
		if (200 == transport.status) {
			if(transport.responseText=="FULL") {
				alert("U heeft zich al voor het maximaal aantal in te schrijven activiteiten ingeschreven.");
			} else {
				array = transport.responseText.split("||");
				$('activity_'+id).className = "chosen";
				$('activity_'+id+'_button').innerHTML = array[0]+" plaats(en) vrij - <a href=\"javascript:cancel('"+id+"');\">uitschrijven</a>";
				makeUnavailable(id);
				alert("U heeft deze activiteit geselecteerd.\n\nBent u klaar met uw selectie? Klik onderaan deze pagina op INSCHRIJVEN.");
			}
		} else { /* epic fail */ }
	  }
	});
}

function makeAvailable(id) {
	new Ajax.Request('../actions.php', {
	  method: 'post',
	  parameters: {action: 'retrieveBrothers', activity_id: id },
	  onComplete: function(transport) {
		if (200 == transport.status) {
			//alert(transport.responseText);
			ids = transport.responseText.split("||");
			for(var i=0;i<ids.length;i++) {
				$('activity_'+ids[i]).className = "available";
			}
		} else { /* epic fail */ }
	  }
	});
}

function makeUnavailable(id) {
	new Ajax.Request('../actions.php', {
	  method: 'post',
	  parameters: {action: 'retrieveBrothers', activity_id: id },
	  onComplete: function(transport) {
		if (200 == transport.status) {
			//alert(transport.responseText);
			ids = transport.responseText.split("||");
			for(var i=0;i<ids.length;i++) {
				if($('activity_'+ids[i])!=null) {
					$('activity_'+ids[i]).className = "unavailable";
					$('activity_'+ids[i]).innerHTML = $('activity_'+ids[i]).innerHTML.replace("uitschrijven","inschrijven");
					$('activity_'+ids[i]).innerHTML = $('activity_'+ids[i]).innerHTML.replace("cancel","enroll");
				}
			}
		} else { /* epic fail */ }
	  }
	});
}

function cancel(id) {
	new Ajax.Request('../actions.php', {
	  method: 'post',
	  parameters: {action: 'cancel', activity_id: id },
	  onComplete: function(transport) {
		if (200 == transport.status) {
			$('activity_'+id).className = "available";
			$('activity_'+id+'_button').innerHTML = transport.responseText+" plaats(en) vrij - <a href=\"javascript:enroll('"+id+"');\">inschrijven</a>";
			alert("U bent nu uitgeschreven voor deze activiteit.");
			makeAvailable(id);
		} else { /* epic fail */ }
	  }
	});
}

function countChars(element) {
	var chars_left = (8*160)-$(element).value.length;
	for(var i=1;i<9;i++) {
		if($(element).value.length>=(i*160)) {
			var number_sms = 1+i;
		}
	}
	if($(element).value.length<160) {
		var number_sms = 1;
	}
	if($(element).value.length==0) {
		var number_sms = 0;
	}
	
	$('chars_left').innerText = chars_left;
	$('number_sms').innerText = number_sms;
}

function showRelations(page_id,total_pages) {
	for(var i=1;i<(total_pages+1);i++) {
		if(i==page_id)
			$('recipients_'+i).show();
		else 
			$('recipients_'+i).hide();
	}
}

function old_showRelations(page_id) {
	new Ajax.Request('actions.php', {
	  method: 'post',
	  parameters: {action: 'showRelations', page_id: page_id },
	  onComplete: function(transport) {
		if (200 == transport.status) { 
			$('recipients').innerHTML = transport.responseText;
		} else { 
			/* epic fail */ 
		}
	  }
	});
}

function showRecipients() {
	$('recipients_button').hide();
	$('recipients').show();
}

String.prototype.trim = function () {
return this.replace(/^\s*|\s*$/,"");
}

function checkMobile(id_name) {
	if($(id_name).value!='') {
		if($(id_name).value != $(id_name).value*1 || $(id_name).value.substring(($(id_name).value.length-1),$(id_name).value.length)==" " || $(id_name).value.substring(($(id_name).value.length-1),$(id_name).value.length)==".") {
			$(id_name).value = $(id_name).value.substring(0,($(id_name).value.length-1));
		}
	}
}

function SelectAll(id)
{
    document.getElementById(id).focus();
    document.getElementById(id).select();
}

function enableFormElement(id) {
	$('formElement_'+id).disabled = false;
	$('formElement_required_'+id).disabled = false;
	$('formElement_type_'+id).disabled = false;
	SelectAll('formElement_'+id);
}

function deleteFormElement(id) {
	if(confirm("Weet u zeker dat u dit veld wilt verwijderen?")) {
		$('formElement_row_'+id).hide();
		
		// Delete instantly
		new Ajax.Request('actions.php', {
		  method: 'post',
		  parameters: {action: 'deleteFormElement', formElement_id: id },
		  onComplete: function(transport) {
			if (200 == transport.status) { /* succes */	} else { /* epic fail */ }
		  }
		});
	}
}

function addFormElement(fieldset_id) {		
		var li = new Element('li');
		var label = new Element('label').update("Nieuwe veldtitel:");
		var input_text = new Element('input', { 'name': 'new_field[]', 'class': 'text', 'type': 'text', 'style': 'width:170px;' });
		var input_hidden = new Element('input', { 'name': 'fieldset_id[]', 'value': fieldset_id, 'type': 'hidden' });
		var type = new Element('select', { 'name': 'formElement_type[]', 'style': 'width:auto;margin-left:3px;' });
		var option1 = new Element('option', { 'value': 'text'}).update("Open");
		var option2 = new Element('option', { 'value': 'checkbox'}).update("Checkbox");
		type.appendChild(option1);
		type.appendChild(option2);		
		var select = new Element('select', { 'name': 'formElement_required[]', 'style': 'width:auto;margin-left:3px;' });
		var option1 = new Element('option', { 'value': '0' }).update("Gewenst");
		var option2 = new Element('option', { 'value': '1' }).update("Verplicht");
		select.appendChild(option1);
		select.appendChild(option2);
		li.appendChild(label);
		li.appendChild(input_text);
		li.appendChild(input_hidden);
		li.appendChild(type);
		li.appendChild(select);
		$('formElement_listing_'+fieldset_id).appendChild(li);
}

function enableCategory(category_id) {
	$(category_id).disabled = false;
	SelectAll(category_id);
}

function addCategory() {		
		var li = new Element('li');
		var label = new Element('label').update("Nieuwe categorietitel:");
		var input = new Element('input', { 'name': 'new_categories[]', 'class': 'text', 'type': 'text' })
		li.appendChild(label);
		li.appendChild(input);
		$('category_listing').appendChild(li);
}

function deleteCategory(category_id,category_row_id) {
	if(confirm("Weet u zeker dat u deze categorie wilt verwijderen?")) {
		$(category_row_id).hide();
		
		// Delete instantly
		new Ajax.Request('actions.php', {
		  method: 'post',
		  parameters: {action: 'deleteCategory', category_id: category_id },
		  onComplete: function(transport) {
			if (200 == transport.status) { /* succes */	} else { /* epic fail */ }
		  }
		});
	}
}

function parseTime(field) {
	var time = field.value;
	var name = field.name;
	
	if(time.length==1 || time.length==2 || time.length==0) {
		var timenew = "00:00";
	}
	else if(time.length==3) {
		var first = leadingZero(time.substr(0,1));
		var last = time.substr(1,2);
		if(first>24) { document.getElementById('warning_dayprogram').innerHTML = "Uren-eenheid bij onderdeel "+name+" kan niet groter dan 23 zijn."; var first = 23; }
		if(first==24) { var first = "00"; }
		if(last>59) { document.getElementById('warning_dayprogram').innerHTML = "Minuten-eenheid bij onderdeel "+name+" kan niet groter dan 59 zijn."; var last = 59; }
		var timenew = first+":"+last;
	}
	else if(time.length==4) {
		var first = time.substr(0,2);
		var last = time.substr(2,2);
		if(first>24) { document.getElementById('warning_dayprogram').innerHTML = "Uren-eenheid bij onderdeel "+name+" kan niet groter dan 23 zijn."; var first = 23; }
		if(first==24) { var first = "00"; }
		if(last>59) { document.getElementById('warning_dayprogram').innerHTML = "Minuten-eenheid bij onderdeel "+name+" kan niet groter dan 59 zijn."; var last = 59; }
		var timenew = first+":"+last;
	}
	else if(time.length==5) {
		var first = time.substr(0,2);
		var last = time.substr(3,2);
		if(first>24) { document.getElementById('warning_dayprogram').innerHTML = "Uren-eenheid bij onderdeel "+name+" kan niet groter dan 23 zijn."; var first = 23; }
		if(first==24) { var first = "00"; }
		if(last>59) { document.getElementById('warning_dayprogram').innerHTML = "Minuten-eenheid bij onderdeel "+name+" kan niet groter dan 59 zijn."; var last = 59; }
		var timenew = first+":"+last;
	}
	field.value = timenew;
};
