var RegionDisclaimer = new Class(
{
    initialize: function()
	{
		var me = this;
		window.onDomReady(function()
		{
			var links = $$("a");
			for(var i=0;i<links.length;i++) 
			{
				if(links[i].hasClass("region_link"))
				{
					links[i].onclick = me.change.bind(me).pass(links[i]);
				}
			}
		});
	},
    
    change: function(link)
    {
        var region = link.getAttribute("rel");        
        var destination = link.getAttribute("href");
        var cookie_name = "LMI_" + region + "_DISCLAIMER";
        if(Cookie.get(cookie_name))
		{
			window.location = destination;
            return;
		}
                
        var disclaimerBase = "/disclaimer/" + region;
        var disclaimerURL = disclaimerBase + "/entering.aspx";        
        Disclaimer.show(
        { 
            url: disclaimerURL,
            acceptButton: (disclaimerBase + "/accept.gif"),
            cancelButton: (disclaimerBase + "/cancel.gif"), 
            onAccept: function()
            {
                Cookie.set(cookie_name, "yes", { path: "/", duration: false });
                window.location = destination;
            }
        });
        
        return false;
    },
    
    require: function(region)
	{
        var cookie_name = "LMI_" + region + "_DISCLAIMER";
        if(Cookie.get(cookie_name)) { return; }	
        
        var disclaimerBase = "/disclaimer/" + region;
        var disclaimerURL = disclaimerBase + "/entering.aspx";
        Disclaimer.showOnLoad(
		{ 
			url: disclaimerURL,
            acceptButton: (disclaimerBase + "/accept.gif"),
            cancelButton: (disclaimerBase + "/cancel.gif"),
			onCancel: function() { window.location = "/"; },
			onAccept: function()
			{
				Cookie.set(cookie_name, "yes", 
					{ path: "/", duration: false });
			}
		});
	},
    
    acceptTerms: function()
    {
        Cookie.set("LMI_SITE_DISCLAIMER", "yes", { path: "/", duration: false });
        return false;
    }
});

var RegionDisclaimer = new RegionDisclaimer();