function confirmation(url, message)
	{
		if ( confirm(message) == true )
		{
			self.location.href = url
		}
	}

function confirmationForm(form, message)
	{
		if ( confirm(message) == true )
		{
			form.submit();
		}
	}
	
function NewWindow(url,width,height)
	{
	var hWnd = window.open(url,"PrintWindow","width=" + width + ",height=" + height + ",toolbar=no,resizable=no,scrollbars=yes");
	}
	
function ChangeAvailability(field, member, counting, new_av, old_av)
	{
		var av_box = document.getElementById('d_' + member + '_' + field);
		var total_count = document.getElementById('total_' + field);
		var total_count_value = parseInt(total_count.innerHTML);
		var total_count_change;
		XMLRequest('result','collector.asp','status','d=' + field + '&a=' + new_av + '&m=' + member,'POST');
		
		$(av_box).removeClassName('av-0');
		$(av_box).removeClassName('av-1');
		$(av_box).removeClassName('av-2');
		$(av_box).addClassName('av-' + new_av);
		
		if (new_av == 1) // Yes
			{if (counting == 1){total_count.innerHTML = eval(parseInt(total_count.innerHTML) + 1);}}
		
		if (new_av == 2) // No
			{if (total_count_value > 0){if (counting == 1){total_count.innerHTML = eval(parseInt(total_count.innerHTML) - 1);}}}
		
		if (new_av == 0) // Unknown
			{if (total_count_value > 0){if (counting == 1){total_count.innerHTML = eval(parseInt(total_count.innerHTML) - 1);}}}
	}

function SelectMemo(member, date)
	{
		document.forms.note.tm.value= member;
		document.forms.note.date.value= date;
		XMLRequest('form_memo_textarea','collector.asp','get-note','tm=' + member + '&d=' + date,'POST');
	}
	
function XMLRequest(element, file, action, params, method)
	{
		var params2 = params.replace(/ /g,"+");
		var req = new XMLHttpRequest();
		if (req)
			{
			req.onreadystatechange = function()
			{
				if (req.readyState == 4 && req.status == 200 && element != '')
				{
					if (element.startsWith('form_'))
					{
						document.getElementById(element).value = req.responseText;
					}
					else
					{
						document.getElementById(element).innerHTML = req.responseText
					}
				}
			}
			req.open(method, file); // many server-side scripts require the Content-Type to be set:
			req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
			req.send('action=' + action + '&' + params2);
		}
	}
	
// Enable/Disalbe fields
function disablefield(fieldtoenable,fieldtodisable)
	{
		var fieldtoenableArray = fieldtoenable.split(",");
		var fieldtodisableArray = fieldtodisable.split(",");
		
		var fieldtoenableArrayLength = fieldtoenableArray.length
		
		for (i=0; i<fieldtoenableArray.length; i++)
		{
			document.getElementById(fieldtoenableArray[i]).disabled = false;
			if (fieldtoenableArrayLength ==1)
			{
				document.getElementById(fieldtoenableArray[i]).focus();
			}
		}
		
		for (i=0; i<fieldtodisableArray.length; i++)
		{
			document.getElementById(fieldtodisableArray[i]).disabled = 'disabled';
		}
	}

function teammemberMemo(intDateID, intTeammemberID, strDirection, intStartDateID)
{
	var sd
	var d
	if (intStartDateID != 0)
	{
		sd = '&sd=' + intStartDateID
		if (strDirection.length > 0)
		{
			sd += '&d=' + strDirection
		}
	}
	else
	{
		sd = ''
	}
	document.location = '?action=teammember-memo-edit&date=' + intDateID + '&tm=' + intTeammemberID + sd
}
	
var all_checked = 0
function ToggleCheckAll(field)
	{
	if (all_checked == 0)
		{
		for (i = 0; i < field.length; i++)
			field[i].checked = true ;
			all_checked = 1;
		}
		else
		{
			for (i = 0; i < field.length; i++)
			field[i].checked = false ;
			all_checked = 0;
		}
	}

function SetBgcolorID(element, color)
	{
	document.getElementById(element).style.background=color
	}

function ChangeAttributeValue(element)
	{
	document.getElementById('attr_' + element + '_view').style.display='none';
	document.getElementById('attr_' + element + '_edit').style.display='block';
	document.getElementById('attr_' + element + '_nav_view').style.display='none';
	document.getElementById('attr_' + element + '_nav_edit').style.display='block';
	}

function printPage(msg)
	{
	if(window.print)
		{
		agree = confirm(msg);
		if (agree) window.print();
		}
	}
	
function replace(string, character)
	{
		var content;
		content = string.replace (/string/, character);
		return content
	}

function replaceQuote(string)
	{
		var content;
		content = string.replace(/'/, "\'");
		return content
	}
	
function clearField(field)
{
	if (field.value == field.defaultValue)
	{
		field.value = ""
		field.style.color = "#000000"
	}
}
	
function clearFieldRecheck(field)
{
	if (field.value == '')
	{
		field.value = field.defaultValue
		field.style.color = "#000000"
	}
}

function SaveRow(oForm)
{
	$('saving').hide();$('save-button').setStyle({disabled: 'disabled'});
	
	new Ajax.Request('collector.asp?action=save-teammember&fn=' + oForm.fn.value + '&ln=' + oForm.ln.value + '&e=' + oForm.e.value,
	{method:'get',
	onSuccess: function(transport) {
		new Insertion.Bottom('teammembers', "<li id='" + oForm.e.value + "' class='form-new-team-name'>" + oForm.fn.value + " " + oForm.ln.value + " <span class='form-new-team-user-email'>(" + oForm.e.value + ")</span></li>");
		$('saving').show();$('save-button').setStyle({disabled: 'enabled'});
		$('fn').setStyle({color: 'rgb(0,0,0)'});$('ln').setStyle({color: 'rgb(0,0,0)'});$('e').setStyle({color: 'rgb(0,0,0)'});
		$('fn').clear();$('ln').clear();$('e').clear();
	}
	});
}

function SaveNote(oForm)
{
	var tm = oForm.tm.value;
	var d = oForm.date.value;
	var msg = oForm.form_memo_textarea.value;
	var noteField = 'm_d_'+tm+'_'+d;
	XMLRequest(noteField,'collector.asp','save-note','tm=' + tm + '&d=' + d + '&msg=' + msg,'POST');
	if (msg ==''){$(noteField).hide();}
	if (msg !=''){$(noteField).show();}
	oForm.form_memo_textarea.value = ''
	$('hideshow').toggle();
}

function DeleteNote(oForm)
{
	XMLRequest('ajaxResult','collector.asp','save-note','tm=' + oForm.tm.value + '&d=' + oForm.date.value + '&msg=','POST')
	document.getElementById('memo_' + oForm.date.value + '_' + oForm.tm.value).innerHTML = ''
	oForm.note.value= ''
}

function NextPageCheckAjax(strPage)
{
	var savingElement = document.getElementById('saving');
	if (savingElement.style.visibility == 'visible')
	{
		confirmation(strPage, 'Je wijzigingen zijn nog niet opgeslagen')
	}
	else
	{
		document.location.href = strPage
	}
}

function GetUnique()
{
	for (i=0;Count<NumUnique;Count++)
	{
		Found=false
		var rndValue = get_random()
		var j=0
		for (j=0;j<Current.length;j++)
		{
			if (Current[j] == rndValue)
			{
			Found=true
			break
			}
		}
		if (Found)
		{
			Count--
		}
		else
		{
			Current[Count]=rndValue
		}
	}
}
	
function get_random()
{
	var ranNum= Math.round(Math.random()*MaxValue);
	return ranNum;
}

function print_mail_to_link(lhs, rhs)
{
	document.write("<a href=\"mailto");
	document.write(":" + lhs + "@");
	document.write(rhs + "\">" + lhs + "@" + rhs + "<\/a>");
}

function toggleSerieEdit(fieldToShow)
{
	if (fieldToShow == 'date')
	{
		document.getElementById('activity_date_day').disabled = false
		document.getElementById('activity_date_month').disabled = false
		document.getElementById('activity_date_year').disabled = false
	
		document.getElementById('activity_enddate_date_day').disabled = true
		document.getElementById('activity_enddate_date_month').disabled = true
		document.getElementById('activity_enddate_date_year').disabled = true
		
		document.getElementById('repeat_interval').disabled = true
	}
	
	if (fieldToShow == 'enddate')
	{
		document.getElementById('activity_date_day').disabled = true
		document.getElementById('activity_date_month').disabled = true
		document.getElementById('activity_date_year').disabled = true
	
		document.getElementById('activity_enddate_date_day').disabled = false
		document.getElementById('activity_enddate_date_month').disabled = false
		document.getElementById('activity_enddate_date_year').disabled = false

		document.getElementById('repeat_interval').disabled = false
	}
}

function toggleMessageDisplay(fieldToShow)
{
	if (fieldToShow == 'forever')
	{
		document.getElementById('message_end_date_date_day').disabled = true
		document.getElementById('message_end_date_date_month').disabled = true
		document.getElementById('message_end_date_date_year').disabled = true
	}
	
	if (fieldToShow == 'display_until')
	{
		document.getElementById('message_end_date_date_day').disabled = false
		document.getElementById('message_end_date_date_month').disabled = false
		document.getElementById('message_end_date_date_year').disabled = false
	}
}

function ShowProgress(barref)
{
	strAppVersion = navigator.appVersion;
	if (document.upload_form.image.value != "")
	{
		if (strAppVersion.indexOf('MSIE') != -1 && strAppVersion.substr(strAppVersion.indexOf('MSIE')+5,1) > 4)
		{
			winstyle = "dialogWidth=385px; dialogHeight:140px; center:yes";
			window.showModelessDialog(barref + '&b=IE',null,winstyle);
		}
		else
		{
			window.open(barref +'&b=NN','','width=375,height=115', true);
		}
	}
	return true;
}

function ShowHideReferenceField(intValue,varExtraFieldList)
	{
		var ExtraFields = new Array()
		ExtraFields = varExtraFieldList.split(',');
		var reference_extra_field_block = document.getElementById('reference_extra_field_block')
		if (reference_extra_field_block.style.display = 'block')
		{
			reference_extra_field_block.style.display = 'none';
		}
		for (x in ExtraFields)
		{
			if (ExtraFields[x] == intValue)
			{
				reference_extra_field_block.style.display = 'block';
				break;
			}
		}
	}
	
function toggleDuration(IsChecked)
	{
		var duration_hour, duration_minute, time_hour, time_minute
		duration_hour = document.getElementById('duration_hour')
		duration_minute = document.getElementById('duration_minute')
		time_hour = document.getElementById('time_hour')
		time_minute = document.getElementById('time_minute')
		if (IsChecked == true){duration_hour.disabled = true;duration_minute.disabled = true;time_hour.disabled = true;time_minute.disabled = true;}
		if (IsChecked == false){duration_hour.disabled = false;duration_minute.disabled = false;time_hour.disabled = false;time_minute.disabled = false;}
	}
	
function isMaxLength(obj, mlength)
	{
		if (obj.getAttribute && obj.value.length>mlength)
		obj.value=obj.value.substring(0,mlength)
	}

// Prototype calls
function removeAttributeName(rowID,id,t,anid)
{
	new Ajax.Request('collector.asp?action=settings-attribute-name-delete&id='+id+'&t='+t+'&anid='+anid,
	{
	method:'get',
	onSuccess: function(transport){$(rowID).remove();},
	onFailure: function(){ alert(ajax_error) }
	});
}

function ToggleQuickDemo()
{
	new Effect.toggle('qd-quick-demo-container', 'blind', {duration:0.5})
}

function ToggleTeamSelector()
{
	new Effect.toggle('team-selector', 'blind', {duration:0.1})
}

function GB_myShow(caption, url, /* optional */ height, width, callback_fn)
{
	var options = {caption: caption, height: height, width: width, fullscreen: false, show_loading: true, callback_fn: callback_fn}
	var win = new GB_Window(options);
	return win.show(url);
}

// Delay functions
function wait(delay)
{
	string="pauseforalert("+delay+");";
	setTimeout(string,delay);
}

function pauseforalert(delay)
{
	parent.parent.GB_hide();
}

function SwitchDefaultTeam(newDefaultTeam, strDefaultTeam, strMakeThisMyDefaultTeam)
{
	new Ajax.Request('collector.asp?action=set-default-team&team='+newDefaultTeam,
	{method:'get',
	onSuccess: function(transport)
		{
			new Effect.Highlight('teamrow-'+newDefaultTeam, {startcolor:'#FF871B', endcolor:'#e2e2e2'});
			var oldDefaultTeam = transport.responseText;
			if (oldDefaultTeam != "ERROR")
			{
			$('team-'+oldDefaultTeam).update('<a href="javascript:SwitchDefaultTeam('+ oldDefaultTeam +',\''+strDefaultTeam+'\',\''+strMakeThisMyDefaultTeam+'\')" onmouseover="self.status=\'\'; return true">' + strMakeThisMyDefaultTeam + '</a>');
			$('team-'+oldDefaultTeam).addClassName('team-settings-make-default');
			
			$('team-'+newDefaultTeam).update(strDefaultTeam);
			$('team-'+newDefaultTeam).addClassName('team-settings-is-default');
			}
			else
			{
				alert(ajax_error);
			}
		}
	});
}

// Settings
function HoverElement(element, color)
{
	$(element).setStyle({backgroundColor:color});
}

function highLightElement(element)
{
	new Effect.Highlight(element, {startcolor:'#FF871B', endcolor:''});
}

function DeleteTeammemberFromTeam(teammember, message)
{
	if ( confirm(message) == true )
	{
		new Ajax.Request('collector.asp?action=delete-teammember-from-team&teammember='+teammember,
		{method:'get',
		onSuccess: function(transport)
			{
				var responseText = transport.responseText;
				if (responseText != "ERROR")
				{
					new Effect.Fade('tm_'+teammember, { transition: Effect.Transitions.wobble })
				}
				else
				{
					alert(ajax_error)
				}
			}
		});
	}
}

function SwitchCounting(teammember)
{
	new Ajax.Request('collector.asp?action=switch-playing-teammember&teammember='+teammember,
	{method:'get',
	onSuccess: function(transport)
		{
			var responseText = transport.responseText;
			if (responseText != "ERROR")
			{
				$('tm_'+teammember+'_counting').update(responseText);
			}
			else
			{
				alert(ajax_error)
			}
		}
	});
}

function SlideTeammemberTypes(element)
{
	new Effect.toggle(element, 'blind', {duration:0.3})
}

function SwitchTeammemberType(teammember, newType, newTypeName)
{
	new Ajax.Request('collector.asp?action=switch-teammember-type&teammember='+teammember+'&type='+newType,
	{method:'get',
	onSuccess: function(transport)
		{
			var responseText = transport.responseText;
			if (responseText != "ERROR")
			{
				$('tm_'+teammember+'_type').update(newTypeName);
			}
			else
			{
				alert(ajax_error)
			}
		}
	});
}

function MigrationSaveCaptain(teammember)
{
	new Ajax.Request('collector.asp?action=migrate-save-captain&teammember='+teammember,{method:'get'});
}

function MigrateAccount(oldAccountId)
{
	highLightElement('oldaccount_' + oldAccountId + '_row');
	new Ajax.Request('collector.asp?action=migrate-teammember-proces&oldaccount='+oldAccountId,
	{method:'get',
	onSuccess: function(transport)
		{
			var responseText = transport.responseText;
			if (responseText != "ERROR")
			{
				$('oldaccount_'+oldAccountId).update(responseText);
				$('oldaccount_'+oldAccountId).setStyle({color:'#000000',fontWeight:'bold'});
			}
			else
			{
				alert(ajax_error)
			}
		}
	});
}

function writeEuro()
{
	document.write('&euro;')
}

function RefreshImage(valImageId)
{
	var objImage = document.images[valImageId];
	if (objImage == undefined)
	{
		return;
	}
	var now = new Date();
	objImage.src = objImage.src.split('?')[0] + '?x=' + now.toUTCString();
}

function DeleteTeamPhoto(oForm)
{
	XMLRequest('','collector.asp','team-photo-remove','','POST')
	document.location.href = '/?action=settings&v=1#team-photo-section' //lelijk hack om echt te refreshen.
}

function DeleteTeamMessage(messageId)
{
	new Ajax.Request('collector.asp?action=message-delete&id='+messageId,
	{
		method:'get',
		onSuccess: function(transport){
			$('message_' + messageId).remove();
		}
	}
	);
}