var hoverElms = new Array();
function hover(elm) {
	if(!hoverElms[elm]) {
		hoverElms[elm] = $(elm).css('background-color');
	}
	$(elm).hover(
	function () {
		$(this).css('background-color', hoverElms[elm]);
	},
	function () {
		$(this).css('background-color', '#000000');
	}
	);
}
function updateCity() {
	$.getJSON("/new/ajax/city.php", {action: 'getCityFromPostalCode', postalCode: $('#postalCode').val()},
	function(data){
		$('#cityId').val(data.id);
		$('#city').val(data.name);
	});
}
function popupPage(url) {
	popupWidth = 800; // set the popup width
	widthHeightRatio = 1.618;
	popupHeight = popupWidth / widthHeightRatio;

	leftVal = (screen.width / 2) - (popupWidth / 2);
	topVal = 100;
	var page = window.open(url, '', 'width=' + popupWidth + ', height = ' + popupHeight + ', scrollbars=yes, resizable=no, left=' + leftVal + ', top=' + topVal);
	page.focus();
}
function nl2br(str) {
	return str.replace(/([^>])\n/g, '$1<br />\n');
}
function subtractVat(elmId) {
	exVat = roundNumber($('#' + elmId).val() * 0.8, 2);
	$('#' + elmId).val(exVat);
}
function roundNumber(num, dec) {
	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	return result;
}
function validateMail(mail) {
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if (filter.test(mail)) {
		return true;
	} else {
		return false;
	}
}
function validateAccountForm(isLoggedIn) {
	if(!isLoggedIn && !$('#conditions').is(':checked')) {
		flashMessenger.add('Du skal acceptere betingelserne.');
	}
	if(!isLoggedIn && !$('#accountTypeId').val()) {
		flashMessenger.add('Du skal vælge et produkt.');
	}
	if($('#firstName').val()) {
		if($('#firstName').val().length < 2) flashMessenger.add('Dit fornavn skal mindst indeholde to bogstaver.');
	} else {
		flashMessenger.add('Du skal udfylde dit fornavn.');
	}
	if($('#lastName').val()) {
		if($('#lastName').val().length < 2) flashMessenger.add('Dit efternavn skal mindst indeholde to bogstaver.');
	} else {
		flashMessenger.add('Du skal udfylde dit efternavn.');
	}
	if($('#address').val()) {
		if($('#address').val().length < 2) flashMessenger.add('Din adresse skal mindst indeholde to karakterer.');
		var filter=/[0-9]/i;
		if (!filter.test($('#address').val())) {
			flashMessenger.add('Din adresse skal indeholde et vejnummer.');
		}

	} else {
		flashMessenger.add('Du skal udfylde din adresse.');
	}
	if($('#postalCode').val()) {
		if($('#postalCode').val().length < 3 || $('#postalCode').val().length > 4) flashMessenger.add('Postnummeret skal være på mindst tre og maks. fire tal.');
	} else {
		flashMessenger.add('Du skal udfylde postnummeret.');
	}
	if($('#phone').val()) {
		if($('#phone').val().length != 8) flashMessenger.add('Telefonnummeret skal være otte tal.');
	} else {
		flashMessenger.add('Du skal udfylde dit telefonnummer.');
	}
	if($('#mail').val()) {
		if(!validateMail($('#mail').val())) flashMessenger.add('Du skal udfylde en gyldig e-mail-adresse.');
	} else {
		flashMessenger.add('Du skal udfylde din e-mail-adresse.');
	}
	if(!$('#password').val()) {
		flashMessenger.add('Du skal udfylde et ønsket kodeord.');
	}
	if(!$('#passwordCheck').val()) {
		flashMessenger.add('Du skal bekræfte dit ønskede kodeord.');
	}
	if($('#passwordCheck').val() != $('#password').val()) {
		flashMessenger.add('De to kodeord skal være ens.');
	}

	if(flashMessenger.hasMessages()) {
		flashMessenger.alert();
		return false;
	} else {
		return true;
	}
}
