var InternationalAgeLimits = {
	'AU': 18,
	'US': 21,
	'CA': 19,
	'UK': 18,
	'XX': 21
}

var AgeCheck = {
	
	ageLimit: 21,
	
	lookup_country: function () {
		new DataStore("http://ws.blocksglobal.com/ip_locations", 'AgeCheck.setAge' );
	},
	
	setAge: function (response) {
		country = response;
		var limit = InternationalAgeLimits[country];
		if(limit != undefined){
			AgeCheck.ageLimit = limit;
		}
	},
	
	calculateAge: function (date, month, year) {
		var birthDate = new Date(year, month - 1, date);
		var currentDate = new Date();

		var ms = currentDate - birthDate
		var minutes = ms / 1000 / 60;
		var hours = minutes / 60;
		var days = hours / 24;
		var years = days/365;

		return years;
	},
	
	response: function (user_age) {
		if(user_age >= AgeCheck.ageLimit) {
			createCookie("overAge", "true", 30);
			document.location = "/home";
		} else {
			eraseCookie("overAge");
			document.location = "/under-age";
		}
	}
}


$(function () {
	var c = readCookie("overAge");
	if(c) {
		document.location = "/home";
	}
	AgeCheck.lookup_country();	
	
	$('#age_check').submit( function() {
		var user_age = AgeCheck.calculateAge($('#day').val(), $('#month').val(), $('#year').val());
		AgeCheck.response(user_age);	
		return false;
	});
});
