﻿function datecheck(obj){
	var c; var dd, mm, yyyy; var cyyyy, cdd, cmm;
	dd = ""; mm = ""; yyyy = "";
	c = false; cdd = false;	cmm = false; cyyyy = false;

	if (obj.value.length == 0) c = true;
	else if (obj.value.length <= 10 && obj.value.length >= 5){
		if (obj.value.indexOf("-") > 0){
			if (obj.value.split("-").length = 3){
				dd = obj.value.split("-")[0];
				mm = obj.value.split("-")[1];
				yyyy = obj.value.split("-")[2];
			}
		}
	}

	if (yyyy.length > 0 && yyyy.length < 5){
		if (!isNaN(yyyy)){
			if (yyyy == parseInt(yyyy, 10)){
				yyyy = parseInt(yyyy, 10);
				if (yyyy > 0 && yyyy < 10000) cyyyy = true;
			}
		}
	}

	if (mm.length == 1 || mm.length == 2){
		if (!isNaN(mm)){
			if (mm == parseInt(mm, 10)){
				mm = parseInt(mm, 10);
				if (mm > 0 && mm < 13) cmm = true;
			}
		}
	}

	if (dd.length == 1 || dd.length == 2){
		if (!isNaN(dd)){
			if (dd == parseInt(dd, 10))
				dd = parseInt(dd, 10);

			if (cmm){
				if (mm == 1 || mm == 3 || mm == 5 || mm == 7 || mm == 8 || mm == 10 || mm == 12){
					if (dd >= 1 && dd <= 31) cdd = true;
				}
				if (mm == 4 || mm == 6 || mm == 9 || mm == 11){
					if (dd >= 1 && dd <= 30) cdd = true;
				}
				if (mm == 2){
					if (cyyyy){
						if (leapyear(yyyy)){
							if (dd >= 1 && dd <= 29) cdd = true;
						}
						else{
							if (dd >= 1 && dd <= 28) cdd = true;
						}
					}
				}
			}
		}
	}
	
	if (cdd && cmm && cyyyy)
		c = true;

	if (!c){
		alert("Dato er ikki rætt, skal verða DD-MM-YYYY!");
		obj.select();
		return false;
	}
	else
		return true;
}	

function leapyear(year){
	var c;
	c = false;
	if (!isNaN(year)){
		if (year % 4 == 0) c = true;
		if (year % 100 == 0) c = false;
		if (year % 400 == 0) c = true;
		if (year % 3600 == 0) c = false;
	}
	return c;
}