jQuery.fn.ForceNumericOnly = function()
{
    return this.each(function()
    {
        $(this).keydown(function(e)
        {
            var key = e.charCode || e.keyCode || 0;
            // allow backspace, tab, delete, arrows, numbers and keypad numbers ONLY
            return (
                key == 13 || key == 8 || 
                key == 9 ||
                key == 46 ||
                (key >= 37 && key <= 40) ||
                (key >= 48 && key <= 57) ||
                (key >= 96 && key <= 105));
        })
    })
};

window.onunload = function(){};

$(document).ready(function()
{ 
	var tic = $('#validador_country').length > 0;
	var $country;
	
	if( tic )
	{
		$('#validador_logo').delay(100).fadeIn(1000);
		$('#validador_leyenda').delay(500).fadeIn(1000);
		$('#validador_country').delay(1000).fadeIn(1000);
		
		$('#validador_country div').click(function() 
		{
			if($country) $country.removeClass("selected");
			else unlockEdad();
			$country = $(this).addClass("selected");
			
			if($country.attr("id") == "us") $('#legacy').stop( true,true ).fadeIn("fast");
			else $('#legacy').stop(true,true).fadeOut("fast");
			
			window.location.hash = ($country.attr("id") == "us") ? "/goUSA" : "/goMX";
		});
	}
	
	function autoTab()
	{
		$('#aa').keypress(function(event) { if (event.which == '13') unlockSite() });
		$('#dd').focus();
		$('#dd, #mm, #aa').ForceNumericOnly();
		$('#dd, #mm, #aa').autotab_magic().autotab_filter('numeric');
	}
	
	function unlockEdad()
	{
		autoTab();
		$("#validador_submit").delay(500).fadeIn(1000);
		$('#validador_submit').click( unlockSite );
		$("#validador_age").fadeIn(1000);
	}
	
	function unlockSite()
	{
		var d = parseInt($('#dd').val(),10);
		var m = parseInt($('#mm').val(),10);
		var a = parseInt($('#aa').val(),10);
		if(d>=1&&d<=31&&m>=1&&m<=12&&a>=0&&a<=99)
		{
			a = (a <= 10) ? 2000 + a : 1900 + a ;
			$("#validador_message").stop().fadeOut("fast");
			var ct = $('#validador_country .selected').attr("id") == "us" && tic ? "us" : "mx";
			var domain = "http://" + (ct=="mx"?"www.tecate.com/includes/php/proxy.php?callback=?":"www.tecate.com/includes/php/validar.php?callback=?");
			var f = function(data) 
			{
				if( data.status == "1" || data.status == 1 )
				{
					/*$("#content").fadeOut("normal", function(){ */window.location.href = data.redirect; /*});*/		
				}
				else
				{
					$("#validador_message").html("Lo sentimos, no tienes la mayor&iacute;a de edad.");
					$("#validador_message").stop(true, true).fadeIn("fast");
				}
			};
			if( ct == "mx" && false) jQuery.post(domain,{'dd':d,'mm':m,'aa':a},f,"json"); else jQuery.getJSON(domain,{'dd':d,'mm':m,'aa':a,'ct':ct},f);	
		}
		else
		{
			$("#validador_message").html("Ingresa una fecha v&aacute;lida.");
			$("#validador_message").stop().fadeIn("fast");
		}
		return false;
	}
	  
});
