/// <reference path="jquery-1.4.1.js" />
// JavaScript Document

Cufon.replace('.hfont', {fontFamily: 'Heineken', hover: true});

$(window).load(function() {

    initCustomCheckboxes();

    $('div.inputs input')
		.focus(function() {
		    if ($(this).parent().hasClass('invalid')) { return; }
		    $(this).parent().addClass('focus');
		})
		.blur(function() {
		    $(this).parent().removeClass('focus');
		});
});

function initCustomCheckboxes() {
	$('input.custom-checkbox:not(.switched)').each(function() {
    	var $originalInput = $(this);
		$originalInput.wrap('<span class="span-custom-checkbox"></span>');
		
		var $spanInput = $originalInput.parent('span.span-custom-checkbox');
		if ($originalInput[0].checked) { $spanInput.addClass('checked').next('label').addClass('checked'); }
		
		$spanInput.click(function() {
			if ($originalInput[0].checked) {
				$spanInput.removeClass('checked').next('label').removeClass('checked');
				$originalInput[0].checked = false;
			} else {
				$spanInput.addClass('checked').next('label').addClass('checked');
				$originalInput[0].checked = true;
			}
		});
		$originalInput.addClass('switched');
		
		$originalInput.change(function() {
			alert($(this).checked);
		});
	});
}

function onFocus(inputObj, defaultText) {
    if ($.trim($(inputObj).val()) == defaultText) {
        $(inputObj).val("");
    }
}

function onBlur(inputObj, defaultText) {
    if (($.trim($(inputObj).val()) == "") || ($(inputObj).val().toLowerCase() == defaultText.toLowerCase())) {
        $(inputObj).val(defaultText);
    }
}

function daysInMonth(month, year) {
    var m = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    if (month != 2) return m[month - 1];
    if (year % 4 != 0) return m[1];
    if (year % 100 == 0 && year % 400 != 0) return m[1];
    return m[1] + 1;
}
function onCheckAge() {
    //debugger;
    var acceptableAge = 18;

    var txtDay = $("#txtAgeCheckDay");
    var txtMonth = $("#txtAgeCheckMonth");
    var txtYear = $("#txtAgeCheckYear");

    var txtDayValue = new Number(txtDay[0].value);
    var txtMonthValue = new Number(txtMonth[0].value);
    var txtYearValue = new Number(txtYear[0].value);
    var today = new Date();
    var inValidDate = false;

    if (isNaN(txtYearValue) || txtYearValue < 1880 || txtYearValue > today.getFullYear()) {
        txtYear.parent().addClass("invalid");
        inValidDate = true;
    }
    else {
        txtYear.parent().removeClass("invalid");
    }
    if (isNaN(txtMonthValue) || (txtMonthValue <= 0 || txtMonthValue > 12)) {
        txtMonth.parent().addClass("invalid");
        inValidDate = true;
    }

    else {
        txtMonth.parent().removeClass("invalid");
    }

    if (isNaN(txtDayValue) || (txtDayValue <= 0 || txtDayValue > 31) || daysInMonth(txtMonthValue, txtYearValue) < txtDayValue) {
        txtDay.parent().addClass("invalid");
        inValidDate = true;
    }
    else {
        txtDay.parent().removeClass("invalid");
    }

    if (inValidDate) {
        $("#errorMessage").show();
        return false;
    }
    $("#errorMessage").hide();

    var compareDate = new Date(txtYearValue + 18, txtMonthValue - 1, txtDayValue);
    var tooYoung = (compareDate >= today);

    if (tooYoung) {
        $("#formHolder").hide();
        $("#messageHolder").show();
        return false;
    }
    $.cookie("AgeCheck", "true", { path: '/' });
    if ($('#cbxRememberMe:checked').val() !== undefined) {
        $.cookie("AgeCheck_Date", txtDayValue + "/" + txtMonthValue + "/" + txtYearValue, { path: '/', expires: 2000 });
    }
    else {        
        $.cookie("AgeCheck_Date", null);
    }
    $("#ageCheckLayer").hide();
    ShowPageHolder();
    return false;
}

function autoTab(input, next, len, e) {
    var isNN = (navigator.appName.indexOf("Netscape") != -1);
    var keyCode = (isNN) ? e.which : e.keyCode;
    var filter = (isNN) ? [0, 8, 9] : [0, 8, 9, 16, 17, 18, 37, 38, 39, 40, 46];
    if (input.value.length >= len && !containsElement(filter, keyCode)) {
        input.value = input.value.slice(0, len);
        if (next) {
            next.focus();
        }
        else {
            input.form[(getIndex(input) + 1) % input.form.length].focus();
        }
    }

    function containsElement(arr, ele) {
        var found = false, index = 0;
        while (!found && index < arr.length)
            if (arr[index] == ele)
            found = true;
        else
            index++;
        return found;
    }

    function getIndex(input) {
        var index = -1, i = 0, found = false;
        while (i < input.form.length && index == -1)
            if (input.form[i] == input) index = i;
        else i++;
        return index;
    }
    return true;
}

function ShowPageHolder() {
    $("body").css('overflow', '');
    stretchMainBackground();
    $("#pageHolder").show();
    stretchMainBackground();
    if ($('div.home-content-holder').length > 0) {
        makeHomePage();
        initHomeRotator();
    }
}

function InitializeLayers() {
    if ($.cookie("AgeCheck") != "true") {
        $("#ageCheckLayer").show();
        $("#pageHolder").hide();
        $('body').css('overflow', 'hidden');
        var date = $.cookie("AgeCheck_Date");
        if (date != null) {
            var dateArray = date.split("/");
            $("#txtAgeCheckDay").val(dateArray[0]);
            $("#txtAgeCheckMonth").val(dateArray[1]);
            $("#txtAgeCheckYear").val(dateArray[2]);
            $("#cbxRememberMe").attr('checked', true);
            $("#btnAgeCheck").focus();
        }
        else {
            $("#txtAgeCheckDay").focus();
            $("#txtAgeCheckDay").parent().addClass('focus');            
        }
    }
    else {
        ShowPageHolder();
    }
}
