﻿function openPartnerinfo() {
	document.getElementById("partnerinfopopup").style.visibility = "visible"
}

function closePartnerinfo() {
	document.getElementById("partnerinfopopup").style.visibility = "hidden"
}


function openPartnerinfo2() {
	document.getElementById("partnerinfopopup2").style.visibility = "visible"
}

function closePartnerinfo2() {
	document.getElementById("partnerinfopopup2").style.visibility = "hidden"
}

function checkEmail(value){
	var str = value;
	var filter = /^[^\s@]+@[^\s@]+\.[a-z]{2,6}$/i;

	if(filter.test(str)){
		return true;
	} else {
		return false;
	}
}


function checkNumbers(value){
	var number = value;
	var filter = /^\d+$/;
	
	if(!filter.test(number)){
		return false;
	}
	
	if (isNaN(parseInt(number))) {
  		return false;
  	} 
  	return true;
} 

function checkLength(value,x,y){
	var low_value = x;
	var high_value = y;

	if(value.length < low_value || value.length > high_value ) {
		return false;
	} else {
		return true;
	}
}


function validateBirthNumber(sPNum)
{
  	var numbers = sPNum.match(/^(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)$/);
	var factorK1text = '376189452';
	var factorK2text = '5432765432';
	var factorK1 = factorK1text.match(/^(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)$/);
	var factorK2 = factorK2text.match(/^(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)$/);

	var k1 = 0;
	var k2 = 0;

  	if (numbers == null) { return false; }

  	var x;
	var y1;
	var y2;
	for (var i = 1; i <= 9; i++)
  	{
    		x=parseInt(numbers[i]);
		y1=parseInt(factorK1[i]);
		y2=parseInt(factorK2[i]);
    		k1+=x*y1;
		k2+=x*y2;
  	}

	k1=11-k1%11;

	k2+=k1*parseInt(factorK2[10]);

	k2=11-k2%11;

	if (k1==10 || k2==10 || k1!=parseInt(numbers[10]) || k2!=parseInt(numbers[11])) {
		return false;
	}

  	return true;
}



function FormValidate(form) {
	for (i=0;i<form.elements.length;i++) {
		for (j=0; j<form.elements[i].attributes.length; j++) {
			if (form.elements[i].attributes[j].name=='mandatory') {
				if (form.elements[i].attributes[j].value=='on') {											
					if (!form.elements[i].value) {
						form.elements[i].style.backgroundColor = '#ffff80';
						alert('Du må fylle ut alle felt som har en stjerne');
						form.elements[i].focus();
						return false;
					} else {
						form.elements[i].style.backgroundColor = '#ffffff';
					}
				}
			}			
		}
		if (form.elements[i].name=='Email') {
			if (!checkEmail(form.elements[i].value)) {
				form.elements[i].style.backgroundColor = '#ffff80';
				alert('Din e-postadresse ser ikke ut til å være riktig.\nPrøv igjen, eller oppgi en annen adresse.');
				form.elements[i].focus();
				return false;
			} else {
				form.elements[i].style.backgroundColor = '#ffffff';
			}
		}
		else {
			if (form.elements[i].name=='Phone' || form.elements[i].name=='Postnr' || form.elements[i].name=='BirthNumber') {
				if (form.elements[i].value) {
					if (!checkNumbers(form.elements[i].value)) {
						form.elements[i].style.backgroundColor = '#ffff80';
						alert('Du kan bare bruke tall.');
						form.elements[i].focus();
						return false;
					}
					else {
						form.elements[i].style.backgroundColor = '#ffffff';
						if (form.elements[i].name=='Phone') 
						{
							if (!checkLength(form.elements[i].value,8,8)) 
							{
								form.elements[i].style.backgroundColor = '#ffff80';
								alert('Ditt telefonnummer må inneholde 8 siffer.\nTast inn telefonnummeret ditt uten landskode.');
								form.elements[i].focus();
								return false;
							} 
						} 
						if (form.elements[i].name=='BirthNumber') {
							if (!checkLength(form.elements[i].value,11,11)) {
								form.elements[i].style.backgroundColor = '#ffff80';
								alert('Ditt fødselsnummer må inneholde 11 siffer.\nSkriv i formatet DDMMÅÅ12345');
								form.elements[i].focus();
								return false;
							} else {
								form.elements[i].style.backgroundColor = '#ffffff';
							}
							if (!validateBirthNumber(form.elements[i].value)) {
								form.elements[i].style.backgroundColor = '#ffff80';
								alert('Ditt fødselsnummer synes å være feil.\nPrøv igjen, eller oppgi ingen verdi.');
								form.elements[i].focus();
								return false;
							} 
						}
					}
				}
			}
		}	
	}
	document.getElementById("submit_button").style.visibility = "hidden"
	form.submit();
	return true;  
}
