function personnummer(nr){
	this.valid = false;
	if(!nr.match(/^(\d{2})(\d{2})(\d{2})(\d{4})$/)){
		return false;
	}
	this.now = new Date();
	this.nowFullYear = this.now.getFullYear()+"";
	this.nowCentury = this.nowFullYear.substring(0,2);
	this.nowShortYear = this.nowFullYear.substring(2,4);
	this.year = RegExp.$1;
	this.month = RegExp.$2;
	this.day = RegExp.$3;
	this.controldigits=RegExp.$4;
	this.fullYear = ( this.year * 1 <= this.nowShortYear * 1 ) ? (( this.nowCentury + this.year ) * 1) : (((this.nowCentury*1-1) + this.year) * 1);
	var months = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	if(this.fullYear%400==0||this.fullYear%4==0&&this.fullYear%100!=0){ 
		months[1]=29; 
	}
	if(this.month*1<1||this.month*1>12||this.day*1<1||this.day*1>months[this.month*1-1]){ 
		return false; 
	}
	this.alldigits = this.year+this.month+this.day+this.controldigits;
	var nn = "";
	for(var n=0; n<this.alldigits.length; n++){ 
		nn+=((((n+1)%2)+1)*this.alldigits.substring(n,n+1)); 
	}
	this.checksum=0;
	for(var n=0;n<nn.length;n++){
		this.checksum += nn.substring(n,n+1)*1;
	}
	this.valid = (this.checksum%10==0)?true:false;
	this.sex = parseInt(this.controldigits.substring(2,3))%2;
	if(this.sex){
		this.sexString = "Man";
	} else {
		this.sexString = "Kvinna";
	}
}
function is_not_pnr(pnr) {
	var ssnCheck = new personnummer(pnr);
	if(ssnCheck.valid){
		return(false);
	} else {
		return(true);
	}
}
function is_not_postnr(postnr) {
	var nr = remove_spaces(postnr);
	var ret = false;
	var pattern = /^\d{5}/;
	if(!pattern.test(nr)) { ret = true; }
	if(nr.length > 5) { ret = true;}
	return ret;
}


function remove_spaces(string) {
	var temp = "";
	string = '' + string;
	splitstring = string.split(" ");
	for(i = 0; i < splitstring.length; i++)
		temp += splitstring[i];
	return temp;
}

function is_not_email(text) {
	var pattern = /\w{1,}@\w{1,}/;
	return (!pattern.test(text));
}

function checkPnr(){

	var error = null; //Nollställer Error
	var ssn = document.getElementById("ssn");
	
	if(is_not_pnr(ssn.value)){
		error = "Vänligen fyll i ditt personnummer korrekt (ÅÅMMDDNNNN).";
		document.getElementById("ssn").focus();
	}
	
	if(error){//om allt är ifyllt korrekt
		alert(error);
		return false;
	}else{
		document.getAddress.submit();
		return true;
	}	
}

function checkData(){
	
	var error = null;

	var firstName = document.getElementById("first_name");
	var lastName = document.getElementById("last_name");
	var street = document.getElementById("address");
	var zip = document.getElementById("zip");
	var city = document.getElementById("town");
	var ssn = document.getElementById("ssn2");
	var phone = document.getElementById("phone");
	var cell = document.getElementById("cell");
	var email = document.getElementById("email");
	var email2 = document.getElementById("email2");



	//var file = document.getElementById("file");
    /*if(ssn.value=="Personnummer (ÅÅMMDD-XXXX)" || ssn.value==""){
		error = "Vänligen fyll i ditt personnummer.";
		document.getElementById("ssn2").focus();		
	} else if(is_not_pnr(ssn.value)){
		error = "Vänligen fyll i ditt personnummer korrekt (ÅÅMMDD-XXXX).";
		document.getElementById("ssn2").focus();
	} else*/ if(firstName.value=="Förnamn" || firstName.value==""){
		error = "Vänligen fyll i ditt förnamn.";
		document.getElementById("first_name").focus();
	} else if(lastName.value=="Efternamn" || lastName.value==""){
		error = "Vänligen fyll i ditt efternamn.";
		document.getElementById("last_name").focus();
	} else if(street.value=="Gata" || street.value==""){
		error = "Vänligen fyll i din gatuadress.";
		document.getElementById("address").focus();	
	} else if(zip.value=="Postnummer" || zip.value==""){
		error = "Vänligen fyll i ditt postnummer.";
		document.getElementById("zip").focus();		
	} else if(is_not_postnr(zip.value)){
		error = "Vänligen fyll i ditt postnummer korrekt (5 siffror t ex 17225).";
		document.getElementById("zip").focus();		
	} else if(city.value=="Stad" || city.value==""){
		error = "Vänligen fyll i din postort.";
		document.getElementById("town").focus();				
	} else if((phone.value=="Telefonnummer" || phone.value=="") && (cell.value=="Mobilnummer" || cell.value=="")){
		error = "Vänligen fyll i ett telefonnummer.";
		document.getElementById("phone").focus();		
	} else if(email.value=="E-post" || email.value==""){
		error = "Vänligen fyll i din E-post.";
		document.getElementById("email").focus();		
	} else if(email2.value=="E-post" || email2.value==""){
		error = "Vänligen repetera din E-post";
		document.getElementById("email2").focus();		
	} else if(is_not_email(email.value)){
		error = "Vänligen fyll i din e-post korrekt.";
		document.getElementById("email").focus();				
	} else if(email2.value != email.value){
		error = "Emailadresserna är inte desamma. Se till att fylla i dem korrekt!";
		document.getElementById("email2").focus();				
	} else if(document.getElementById("terms").checked==false){
		error = "Vänligen godkänn köpevillkoren.";
		document.getElementById("terms").focus();				
	} 
	

	if(error){//om allt är ifyllt korrekt
		alert(error);
		return false;
	}else{
		//document.userform.submit();
		return true;
	}
}

