
// Creating some name spaces
if ( typeof(elro) == "undefined" ) { var elro = {}; }
if ( typeof(elro.validate) == "undefined") { elro.validate = {}; }

elro.validate.isValidDate = function(dd,mm,yyyy){
	mm = parseInt(mm,10);
	dd = parseInt(dd,10);
	yyyy = parseInt(yyyy);
	if(
		dd >= 1
		&&
		(
			(dd <= 31 && (mm == 1 || mm == 3 || mm == 5 || mm == 7 || mm == 8 || mm == 10 || mm == 12))
			||
			(dd <= 30 && (mm == 4 || mm == 6 || mm == 9 || mm == 11))
			||
			(dd <= 29 && mm == 2 && (yyyy%400 == 0 || (yyyy%4 == 0 && yyyy%100 != 0)))
			||
			(dd <= 28 && mm == 2)
		)
	)
		return 1;
	else
		return 0;
}

elro.validate.cpr = function(cpr){
	cpr = cpr.replace(/[ -]/g, "");
	var cpr = cpr,cprValState=false;
	if(cpr.match(/^[\d]{10}$/i)){
//		var chk = 0;
		var dd = "";
		var mm = "";
		var yy = "";
		for(i = 9; i > -1; i--){
			if(i == 0 || i == 1)
				dd = cpr.charAt(i) + dd;
			if(i == 2 || i == 3)
				mm = cpr.charAt(i) + mm;
			if(i == 4 || i == 5)
				yy = cpr.charAt(i) + yy;
//				chk += (+cpr.charAt(i))*((i>2)?(10-i):(4-i));
		}
		if(
//			chk%11 == 0 && 
			elro.validate.isValidDate(dd,mm,"20" + yy) == 1 // using 20** to validate true on yyyy-mm-dd = **00-02-29
		)
		cprValState = true;
	}
	if(cprValState)
		return 1;
	else
		return 0;
}

elro.validate.removeSpaces = function(str){
	if(str)
		return str.replace(/\s/g, "");
	else
		return str;
}

elro.validate.isStringEmpty = function(str){
	if(!str || typeof str == "undefined")
		return 1;
	else if(elro.validate.removeSpaces(str).length > 0)
		return 0;
	else
		return 1;
}

elro.validate.isInt = function(str){
	var regExp = /^[\d]{1,}$/i;
	if(!str || typeof str == "undefined")
		return 0;
	else if(str.match(regExp))
		return 1;
	else
		return 0;
}

elro.validate.danishPostalCode = function(str){
	var regExp = /^[\d]{4}$/i;
	if(elro.validate.isInt(str) && str.length == 4)
		return 1;
	else
		return 0;
}

elro.validate.danishTelephoneNumber = function(str){
	if(elro.validate.isInt(elro.validate.removeSpaces(str)) && str.length == 8)
		return 1;
	else
		return 0;
}

elro.validate.email = function(str){
	var regExp = /^(?:[a-z\d!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z\d!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z\d](?:[a-z\d-]*[a-z\d])?\.)+[a-z\d](?:[a-z\d-]*[a-z\d])?|\[(?:(?:25[0-5]|2[0-4][\d]|[01]?[\d][\d]?)\.){3}(?:25[0-5]|2[0-4][\d]|[01]?[\d][\d]?|[a-z\d-]*[a-z\d]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i;
	if(str.match(regExp))
		return 1;
	else
		return 0;
}

