

/******************************
	Styles
******************************/

var bgStyles = {
	backgroundRepeat: 'no-repeat',
	backgroundPosition: 'center bottom',
	backgroundImage: 'url("http://www.absolut.com/content/white/ldabg2.jpg")',
	padding: '50px 0 30px 0'
};

var boxStyles = {
	border: '1px solid silver',
	padding: '25px 0 0 0',
	margin: '0 auto 0 auto',
	width: '540px',
	height: '710px',
	backgroundColor: 'white'
}

var inputContainerStyles = {
	border: '1px solid gray',
	width: '244px',
	margin: '0 auto 10px auto',
	padding: '0'
}

var footerStyles = {
	borderTop: '1px solid silver',
	lineHeight: '12px',
	margin: '20px 40px 20px 40px',
	padding: '15px 0 0 0',
	fontSize: '10px',
	fontFamily: '"Lucida Sans", "Lucida Sans Unicode", "Lucida Grande", Arial, Verdana, Helvetica, sans-serif'
}

var headerStyles = {
	lineHeight: '15px',
	margin: '0',
	padding: '10px 0 0 0',
	fontSize: '13px',
	color: '#101010',
	fontFamily: '"Lucida Grande", "Lucida Sans", "Lucida Sans Unicode", Arial, Verdana, Helvetica, sans-serif',
	textAlign: 'center'
}

var exampleStyles = {
	lineHeight: '12px',
	margin: '0',
	padding: '10px 0 10px 0',
	fontSize: '12px',
	color: '#101010',
	fontFamily: '"Lucida Grande", "Lucida Sans", "Lucida Sans Unicode", Arial, Verdana, Helvetica, sans-serif',
	textAlign: 'center'
}

var inputFieldStyles = {
	textAlign: 'center',
	fontSize: '40px',
	padding: '0',
	border: '0px',
	margin: '15px 0 0 0',
	width: '80px',
	backgroundColor: 'white',
	overflow: 'hidden',
	color: 'gray'
}

var inputSeparatorStyles = {
	backgroundColor: 'silver',
	height: '70px',
	width: '1px',
	overflow: 'hidden'
}

var imageStyles = {
	border: 'none',
	display: 'block',
	margin: '0 auto 0 auto'
}

var restrictedStyle = {
	border: 'none',
	display: 'block',
	padding: '100px'
}


/******************************
	Functions
******************************/

function floatElement(obj, align)
{
	if (obj.style.cssFloat != null) obj.style.cssFloat = align;
	else if (obj.style.styleFloat != null) obj.style.styleFloat = align;
}

function applyStyles(obj, styles)
{
	for (var s in styles) obj.style[s] = styles[s];
}

function findSource(e)
{
	return e.target ? e.target : e.srcElement;
}

function addListener(obj, eventName, callback)
{
	if (obj.addEventListener) obj.addEventListener(eventName, callback, false);
	else if (obj.attachEvent) obj.attachEvent('on' + eventName, callback);
}

function openlegal(url)
{
	var pop = window.open(url, "LEGAL", "width=500,height=400,scrollbars=1,resizable=1,menubar=0");
	pop.focus();
}

function checkAge(year, month, day)
{
	if (isNaN(year) || isNaN(month) || isNaN(day)) return false;
	var y = parseInt(year, 10);
	var m = parseInt(month, 10);
	var d = parseInt(day, 10);
	if (y <= 7 || d > 31 || d <= 0 || m > 12 || m <= 0 || y >= 100) return false;
	var compareDate = (y + 1900) * 10000 + m * 100 + d;
	if (compareDate > 19920321) return false;
	return true;
}

function createCenteredImageElement(imgPath)
{
	var obj = document.createElement('img');
	obj.src = imgPath;
	var containerDiv = document.createElement('div');
	applyStyles(containerDiv, imageStyles);
	containerDiv.appendChild(obj);
	return containerDiv;
}

function createRestrictedImage(imgPath)
{
	var obj = document.createElement('img');
	obj.src = imgPath;
	var containerDiv = document.createElement('div');
	applyStyles(containerDiv, restrictedStyle);
	containerDiv.appendChild(obj);
	return containerDiv;
}

function createInputSeparator()
{
	var obj = document.createElement('div');
	applyStyles(obj, inputSeparatorStyles);
	floatElement(obj, 'left');
	return obj;
}

function createBaseInputField(fieldName, fieldValue)
{
	var obj = document.createElement('input');
	obj.type = 'text';
	obj.maxLength = 2;
	applyStyles(obj, inputFieldStyles);
	floatElement(obj, 'left');
	obj.id = fieldName;
	obj.value = fieldValue;
	addListener(obj, 'keyup', fieldKeyUp);
	addListener(obj, 'keydown', function(e) {if (e.keyCode == 13) checkLda();});// MAY NEED CHANGING
	return obj;
}

function createTextImageElement(src, topPadding)
{
	if (src == 'NULL') return null;
	var obj = createCenteredImageElement(src);
	obj.style.paddingTop = topPadding;
	return obj;
}

function cancelSubmit(e)
{
	if (e.cancelBubble)
	{
		e.cancelBubble = true;
		e.returnValue = false;
	}
	else
	{
		e.preventDefault(true);
		e.stopPropogation(true);
	}
	checkLda();
	return false;
}




function fieldKeyUp(e)
{
	var obj = findSource(e);

	if (obj == null) {
		return;
    }
	if (obj.value.length == 2 && !isNaN(obj.value))
	{
		var siblings = obj.parentNode.childNodes;

		var b = false;

		for (var i=0; i<siblings.length; i++)
		{
			if (siblings[i] == obj)
			{
				b = true;
			}
			else if (b)
			{
				var nextObj = siblings[i];

				if (nextObj.tagName.toLowerCase() == 'input')
				{
					nextObj.focus;
					nextObj.select();
					break;
				}
			}
		}
	}
}

function hideAndInit()
{
	var rootDiv = document.getElementById('absolutLda');

	rootDiv.style.display = 'none';
	rootDiv.style.width = '10px';
	rootDiv.style.height = '10px';

	if (window.init)
		init(true);
	try {
		trackPage();
	} catch(err) {}
}

function createCookie(name,value,days)
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else
		var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}


function checkLda()
{
	if (!checkAge(document.getElementById('YY').value, document.getElementById('MM').value, document.getElementById('DD').value))
	{
		openlegal('http://www.absolut.com/legal/terms/en');
	}
	else
	{
		//innerHtml += '<img src="/content/framework/lda/transp.gif" border="0" id="ldaImg" />';
		var rememberMe = parseInt(document.getElementById('rememberme').value, 10);
		var ldaImg = document.createElement('img');
		if (rememberMe == 1)
		{
//			alert('expires in 180 days');
			createCookie("absolutRememberLDA", "1", 180);
		}
		else
		{
//			alert('expires on close');
			createCookie("absolutRememberLDA", "1");
		}
		hideAndInit();
		if(document.getElementById('homeflash') != null || document.getElementById('hugsflash') != null) {
		    setSize();
		}
	}
}

function flipRememberMe()
{
	var rememberMe = parseInt(document.getElementById('rememberme').value, 10) ^ 1;
	document.getElementById('rememberme').value = rememberMe;
	document.getElementById('imgremember').src = 'http://www.absolut.com/content/white/remember' + rememberMe + '.jpg';
}


function loadLda()
{
    var notAllowed = 'False';

    if (notAllowed == "True") {
        start(false);   
    } else if (notAllowed == "False") {
        start(true);
    }
}
function FromTrustedReferer()
{
    var pattern = '^http://+[a-z0-9]+(.absolut.com$|.absolutdrinks.com$)';
    //var pattern = '^http://absolutcom$|http://absolutdrinks$';
    
    var ref = document.referrer;
    
    if (ref != '')
    {
        var sindex = ref.indexOf('/', 7);
        ref = ref.substring(0, sindex);
    }
    
    
    var re = new RegExp(pattern);
    var isMatch = (ref.match(re) ? true : false);
    
    var host = 'http://' + window.location.hostname.toLowerCase();
    
    
    if (host == ref)
    {
        isMatch = false;
    }
    
    
    
    return isMatch;   
}
function start(access)
{
    
    //alert(window.location.hostname);
    
	var rememberCookie = readCookie("absolutRememberLDA");
   
	if (rememberCookie)
	{
		hideAndInit();
		return;
	}

	

    
    if (FromTrustedReferer())
    {
        createCookie("absolutRememberLDA", "1");
        hideAndInit();
		return;
    }
    

	var rootDiv = document.getElementById('absolutLda');

	rootDiv.setAttribute('align', 'center');

	//rootDiv.parentNode.parentNode.style.overflow = 'hidden';// sets the html element's overflow

	var innerDiv = document.createElement('div');

	innerDiv.setAttribute('align', 'center');

	applyStyles(innerDiv, boxStyles);

	innerDiv.appendChild(createCenteredImageElement('http://www.absolut.com/content/white/ldalogo.gif'));

    if (!access) {
	    var r1 = createRestrictedImage('http://www.absolut.com/templates/lda/text2.aspx?hash=-6478005923374821376&size=20&text=%3cDIV%3e%0d%0a%3cP+align%3d%22center%22%3eApologies%2c+you+are+not%3c%2fP%3e%0d%0a%3cP+align%3d%22center%22%3epermitted+to+view+%3c%2fP%3e%0d%0a%3cP+align%3d%22center%22%3ethe+content+of+this+site%3c%2fP%3e%0d%0a%3cP+align%3d%22center%22%3edue+to+legal+restrictions%3c%2fP%3e%0d%0a%3cP+align%3d%22center%22%3ein+your+country.%3c%2fP%3e%3c%2fDIV%3e');
	    if (r1) innerDiv.appendChild(r1);
	  }

    if (access) {
    
    var h1 = createTextImageElement('http://www.absolut.com/templates/lda/text.aspx?hash=-2578874057305754350&size=36&text=YOU+HAVE+TO+BE+OVER', '26px');
    if (h1) innerDiv.appendChild(h1);

	var h2 = createTextImageElement('http://www.absolut.com/templates/lda/text.aspx?hash=-2887089197011079948&size=36&text=18+TO+ENTER+THIS+SITE', '5px');
	if (h2) innerDiv.appendChild(h2);
	
	var h3 = createTextImageElement('NULL', '5px');
	if (h3) innerDiv.appendChild(h3);

	var subHeadingDiv = document.createElement('div');
	applyStyles(subHeadingDiv, headerStyles);
	subHeadingDiv.innerHTML = 'To visit ABSOLUT.COM you must be of legal<br />drinking age in the country you live in.';
	innerDiv.appendChild(subHeadingDiv);

	var enterImg = createCenteredImageElement('http://www.absolut.com/templates/lda/text.aspx?hash=-1198048831759840020&size=16&text=ENTER+BIRTH+YEAR+AND+DATE');

	enterImg.style.paddingTop = '15px';

	innerDiv.appendChild(enterImg);

	var exampleDiv = document.createElement('div');
	applyStyles(exampleDiv, exampleStyles);
	exampleDiv.innerHTML = 'For example (190512)';
	innerDiv.appendChild(exampleDiv);



	var ldaForm = document.createElement('form');

	ldaForm.style.padding = '0';
	ldaForm.style.margin = '0';

	var rememberInput = document.createElement('input');

	rememberInput.type = 'hidden';
	rememberInput.id = 'rememberme';

	ldaForm.appendChild(rememberInput);

	var inputContainer = document.createElement('div');

	applyStyles(inputContainer, inputContainerStyles);

	var firstInput = createBaseInputField('DD', 'DD');

	inputContainer.appendChild(firstInput);
	inputContainer.appendChild(createInputSeparator());
	inputContainer.appendChild(createBaseInputField('MM', 'MM'));
	inputContainer.appendChild(createInputSeparator());
	inputContainer.appendChild(createBaseInputField('YY', 'YY'));

	var clearDiv = document.createElement('div');

	clearDiv.style.clear = 'both';

	inputContainer.appendChild(clearDiv);

	ldaForm.appendChild(inputContainer);

	var tempDiv2 = document.createElement('div');

	tempDiv2.style.width = '300px';
	tempDiv2.style.margin = '0 auto 0 auto';
	tempDiv2.style.textAlign = 'center';

	var rememberText = document.createElement('img');

	rememberText.style.borderRight = '10px solid white';
	rememberText.style.borderBottom = '3px solid white';

//	floatElement(rememberText, 'left');

	rememberText.src = 'http://www.absolut.com/templates/lda/text.aspx?hash=-307441423408565928&size=13&text=REMEMBER+ME';

	tempDiv2.appendChild(rememberText);

	var rememberCheckbox = document.createElement('img');

//	floatElement(rememberCheckbox, 'right');

	rememberCheckbox.src = 'http://www.absolut.com/content/white/remember0.jpg';

	rememberCheckbox.id = 'imgremember';

	addListener(rememberCheckbox, 'click', flipRememberMe);

	tempDiv2.appendChild(rememberCheckbox);

	ldaForm.appendChild(tempDiv2);

	var enterButton = createCenteredImageElement('http://www.absolut.com/content/white/ldabtn.jpg');

	enterButton.style.paddingTop = '10px';
	enterButton.style.cursor = 'pointer';

	addListener(enterButton, 'click', checkLda);

	ldaForm.appendChild(enterButton);

	addListener(ldaForm, 'submit', cancelSubmit);

	innerDiv.appendChild(ldaForm);

	var footerDiv = document.createElement('div');

	applyStyles(footerDiv, footerStyles);

	footerDiv.innerHTML = '<DIV align=center>By clicking the buttons you agree to the terms and conditions found <A style="COLOR: #acacac" href="javascript:openlegal(\'http://www.absolut.com/legal/terms/en\');">here</A>.<BR>Read the ABSOLUT responsibility statement <A style="COLOR: #acacac" href="javascript:openlegal(\'http://www.absolut.com/legal/responsibility/en\')">here</A>.<BR><BR>ABSOLUT endorses responsible and moderate drinking. For this reason, we would like to recommend the following reading: <A style="COLOR: #acacac" href="http://www.discus.org/responsibility">Distilled Spirits Council of the United States (DISCUS)</A>, and <A style="COLOR: #acacac" href="http://www.efrd.org/main.html">The European Forum for Responsible Drinking (EFRD)</A>. ABSOLUT® Vodka Product of Sweden. ABSOLUT, ABSOLUT VODKA COUNTRY OF SWEDEN &amp; Logo, ENJOY WITH ABSOLUT RESPONSIBILITY and ABSOLUT Bottle Designs are trademarks owned by V&amp;S Vin &amp; Sprit AB.<BR><BR>©2000-2009 V&amp;S Vin &amp; Sprit AB. All rights reserved.<BR>Imported in the US by Absolut Spirits Co. New York, NY. Enjoy with responsibility.</DIV>  <P></P>';

	innerDiv.appendChild(footerDiv);
	
	}

	var bgDiv = document.createElement('div');

	applyStyles(bgDiv, bgStyles);

	bgDiv.appendChild(innerDiv);
	
	rootDiv.appendChild(bgDiv);
	

	//##################################
	//BEGIN - FR Legal Disclaimer Footer
	var legalDisclaimerSpan = document.createElement('span');
	legalDisclaimerSpan.innerHTML = '<div id="legalDisclaimerFooter" style="background-color: white"><span style="color: black">L´ABUS D´ALCOOL EST DANGEREUX POUR LA SANTÉ. À CONSOMMER AVEC MODÉRATION.</span></div>';
	if (parent.window.document.URL.match('/fr') != null)
	{
	  rootDiv.appendChild(legalDisclaimerSpan );
	}
	//END - FR Legal Disclaimer Footer
	//##################################



	ldaForm.action = '#';
	
	//track LDA as virtual page
	try {
		trackVirtualPage('LDA');
	} catch(err) {}

	firstInput.focus;

	firstInput.select();
}




	if (window.addEventListener)
	{
		window.addEventListener('load', loadLda, false);
	}
	else if (document.addEventListener)
	{
		document.addEventListener('load', loadLda, false);
	}
	else if (window.attachEvent)
	{
		window.attachEvent('onload', loadLda);
	}
