function externalLinks() {
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i<anchors.length; i++)
	{
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external")
			anchor.target = "_blank";
	}
}

function clearDefault(el)
{
	if (el.defaultValue == el.value)
		el.value = "";
}

function undoClearDefault(el)
{
	if(el.value == "")
		el.value = el.defaultValue;
}

function checkPostcode(sValue, sPostcodeId)
{
	if(!sPostcodeId)
		sPostcodeId = 'postcode';
	
	rExp = /^[1-8]{1}[0-9]{3}[a-zA-Z]{2}$/; // Postcode without a space
	rExp2 = /^[1-8]{1}[0-9]{3}[ ]{1}[a-zA-Z]{2}$/; // Postcode with a space
	ok = rExp.exec(sValue);
	ok2 = rExp2.exec(sValue);
	if (ok)
	{
		return true;
	}
	else if(ok2)
	{
		var el = $("#"+sPostcodeId);
		el[0].value = sValue.substring(0, 4) + sValue.substring(5, 7);
		return true;
	}
	else
	{
		alert("U heeft uw postcode niet juist ingevuld. Vul de postcode in met notatie 1234AB");
		return false;
	}
}

function doLogin()
{
	var el = $('#login');
	var username = el[0]['username'].value;
	var password = el[0]['password'].value;
	var remember = el[0]['remember'].checked;
	
	$.ajax({
		type:	"POST",
		url:	"library/ajax/login.php",
		dataType: "script",
		data:	"username="+username+"&password="+password+"&remember="+remember
	});
}

function doRegister()
{
	
	var el = $("#register")[0];
	var username = el['username'].value;
	var password = el['password'].value;
	var password2 = el['password2'].value;
	var postcode = el['postalcode'].value;
	var elPassword2 = el['password2'];
	
	if(password != password2)
	{
		alert('De wachtwoorden komen niet overeen.');
		elPassword2.style.border = "1px solid red";
	}
	else
	{
		if(checkPostcode(postcode, "postalcode"))
		{
			var datavar = "username="+username+"&password="+password+"&email="+el['email'].value+"&firstname="+el['firstname'].value+"&lastname="+el['lastname'].value+"&age="+el['age'].value+"&province="+el['province'].value+"&city="+el['city'].value+"&postalcode="+el['postalcode'].value+"&phone="+el['phone'].value+"&numChildren="+el['numChildren'].value+"&description="+el['description'].value;
			
			$.ajax({
				type:	"POST",
				url:	"library/ajax/register.php",
				dataType: "script",
				data:	datavar
			});
		}
	}
	return false;
}

function forgotPassword()
{
	var el = $("#forgotPassword");
	var username = el[0]['username'].value;
	var email = el[0]['email'].value;
	
	$.ajax({
		type:	"POST",
		url:	"library/ajax/forgotPassword.php",
		dataType: "script",
		data:	"username="+username+"&email="+email
	});
}

function changePassword()
{
	var el = $("#changePassword")[0];
	var pw1 = el['password_'].value;
	var pw2 = el['password2_'].value;
	
	if(pw1 == pw2)
	{
		$.ajax({
			type:	"POST",
			url:	"library/ajax/changePassword.php",
			dataType: "script",
			data:	"password="+pw1
		});
	}
	else
		$("#error").html('De wachtwoorden komen niet overeen');
}

function editProfile()
{
	var el = $("#editProfile")[0];
	if(checkPostcode(el['postalcode'].value))
	{
		var datavar = "email="+el['email'].value+"&firstname="+el['firstname'].value+"&lastname="+el['lastname'].value+"&age="+el['age'].value+"&province="+el['province'].value+"&city="+el['city'].value+"&postalcode="+el['postalcode'].value+"&phone="+el['phone'].value+"&numChildren="+el['numChildren'].value+"&description="+el['description'].value+"&from="+el['from'].value+"&untill="+el['untill'].value;
	
		$.ajax({
			type:	"POST",
			url:	"library/ajax/editProfile.php",
			dataType: "script",
			data:	datavar
		});
	}
}

function changeProvince(el, cityId, optional)
{
	$("#cityLoader").css("visibility", "visible");
	var city = (typeof(cityId) != "undefined" ? cityId : "city" );
	$("#"+city).css("visibility", "hidden");
	
	var provinceId = el.value;
	
	var data = "province="+provinceId;
	if(typeof(cityId) != "undefined" && cityId != "")
		data += "&cityId="+cityId;
	if(typeof(optional != "undefined") && optional == 1)
		data += "&optional=1";
	
	$.ajax({
		type:	"POST",
		url:	"library/ajax/changeProvince.php",
		dataType: "script",
		data:	data,
		complete: function(data) {
					$("#cityLoader").css("visibility", "hidden");
					$("#"+city).css("visibility", "visible");
				}
	});
}

function search()
{
	var distance = $("#distance")[0].value;
	var check = true;
	if(distance != 0)
	{
		var postcode = $("#postcode")[0].value;
		check = checkPostcode(postcode, "postcode");
	}
	if(check)
	{
		var postcode = $("#postcode")[0].value;
		var distance = $("#distance")[0].value;
		var province = $("#province")[0].options[$("#province")[0].selectedIndex].label;
		var city = $("#city")[0].options[$("#city")[0].selectedIndex].label;
		
		var query = "?page=search";

		if(postcode != "Uw postcode")
			query += "&postcode=" + postcode + "&distance=" + distance;
		if(city != "")
			query += "&city=" + city;
		if(province != "")
			query += "&province=" + province;
		document.location = query;
	}
	return false;
}

function openForgotPassword()
{
	$("#forgotPassword").css("display", "block");
	$("#login").css("display", "none");
}

function closeForgotPassword()
{
	$("#forgotPassword").css("display", "none");
	$("#login").css("display", "block");
}

function removeUser(userid)
{
	var answer = confirm("Weet u zeker dat u deze gebruiker wilt verwijderen?");
	if(answer)
	{
		$.ajax({
			type:	"POST",
			url:	"library/ajax/removeUser.php",
			dataType: "script",
			data:	"userid="+userid
		});
	}
}

function reportAbuse()
{
	var selectEl = $("#abuseReason")[0];
	var reason = selectEl.options[selectEl.selectedIndex].text;
	var textEl = $("#abuseText")[0];
	var text = textEl.value;
	var usernameEl = $("#abuseUsername")[0];
	var username = usernameEl.value;
	
	$.ajax({
		type:	"POST",
		url:	"library/ajax/reportAbuse.php",
		dataType: "script",
		data:	"reason="+reason+"&text="+text+"&user="+username
	});
}