

/******************************
	Styles
******************************/

var fourLetterYear = false;

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 input4LetterContainerStyles = {
	width: '284px'
};

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 input4LetterFieldStyles = {
	width: '110px'
};

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);

	// Check if we are using 4 letter years, alter check
	if (!fourLetterYear) {
		y = y + 1900;
	}

	if (y <= 1000 || d > 31 || d <= 0 || m > 12 || m <= 0) return false;
	var compareDate = (y) * 10000 + m * 100 + d;
	if (compareDate > 19910204) 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 = fieldValue.length;
	
	applyStyles(obj, inputFieldStyles);

	// Apply additional styles if the field has 4 letters, i e the year field
	if (fieldValue.length == 4) { 
		fourLetterYear = true; 
		applyStyles(obj, input4LetterFieldStyles);
	}
	
	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 == obj.maxLength && !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=-5350997709487336802&size=36&text=DEVI+AVERE+ALMENO', '26px');
    if (h1) innerDiv.appendChild(h1);

	var h2 = createTextImageElement('http://www.absolut.com/templates/lda/text.aspx?hash=-5802978351499988760&size=36&text=21+ANNI+PER+ENTRARE', '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 = 'Per visitare COOLSHAKER.COM devi avere l´età legale<br />Nel paese in cui vivi';
	innerDiv.appendChild(subHeadingDiv);

	var enterImg = createCenteredImageElement('http://www.absolut.com/templates/lda/text.aspx?hash=-869382827567068392&size=16&text=INSERISCI+LA+TUA+DI+NASCITA');

	enterImg.style.paddingTop = '15px';

	innerDiv.appendChild(enterImg);

	var exampleDiv = document.createElement('div');
	applyStyles(exampleDiv, exampleStyles);
	exampleDiv.innerHTML = 'Ad esempio (110565)';
	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('MM', 'MM');
	inputContainer.appendChild(firstInput);
	inputContainer.appendChild(createInputSeparator());
	inputContainer.appendChild(createBaseInputField('DD', 'DD'));
	inputContainer.appendChild(createInputSeparator());
	inputContainer.appendChild(createBaseInputField('YY', 'YYYY'));

	if (fourLetterYear) { applyStyles(inputContainer, input4LetterContainerStyles); }

	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=-162670830704939611&size=13&text=RICORDATI+DI+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/enter.gif');

	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/it\');">here</A>.<BR />Read the ABSOLUT responsibility statement <A style="COLOR: #acacac" href="javascript:openlegal(\'http://www.absolut.com/legal/responsibility/it\')">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 & Logo, ENJOY WITH ABSOLUT RESPONSIBILITY and ABSOLUT Bottle Designs are trademarks owned by The Absolut Company AB.<BR /><BR />©2000-2011 The Absolut Company AB (formerly known as V&S Vin & Sprit AB). <br />All rights reserved.</DIV>';

	innerDiv.appendChild(footerDiv);
	
	}

	var bgDiv = document.createElement('div');

	applyStyles(bgDiv, bgStyles);

	bgDiv.appendChild(innerDiv);
	
	rootDiv.appendChild(bgDiv);
	




	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);
	}

