var img = new Image();
img.src = "/img/button_enter_on.gif";

$(document).ready(function() {
	
	$("#enter input").attr("src", "/img/button_enter_off.gif");
	
	var fo = new SWFObject("/swf/GatewaySurge.swf", "flash", "960", "231", "5", "#000000", true);
	fo.addParam("allowScriptAccess", "always");
	fo.addParam("base", ".");
	fo.addParam("wmode", "transparent");
	fo.write("flashcontent");
	
	$("select, input").change(inputButton);
	
	if (window.location.hash) {
		window.name = window.location.hash;
	}
	
	// set up tracking for gateway
	if (document.referrer != document.location) {
		// GUINNESS.track("page", "Gateway", "Gateway"); // track page load
		// GUINNESS.track("conversionStart", "Gateway", "Gateway"); // start conversion
	}
	$("#enter input").click(function () { // end conversion
		// GUINNESS.track("conversionEnd", "Gateway", "Gateway");
		// store gateway data in cookie
		var countryValue = $("#ctl00_PlaceHolderMain_ddlCountryDropdown").val();
		if (countryValue) {
			document.cookie = "gwLegalAge=" + countryValue.split(":")[0] + "; domain=guinness.com; path=/";
		}
	});
	$("#ctl00_PlaceHolderMain_Rememberme").click(function () { // remember me checkbox clicked
		// GUINNESS.track("link", "gateway/rememberMe", "Gateway remember me checkbox");
	});
    
    $("#c").change( function() {
        $("#d, #m, #yr").val('no');
    });
    
    // track the 'gateway display'
    pageTracker._trackPageview('/gateway1/displayed');
    
    // validate the form before tracking 'gateway passed'
    $('#enter input').click(function(e){
    
        var error = [];
        if (!$('#c').val()) {
            error[0] = 'country';
        }
        
        if (
            !$('#d').val() || isNaN($('#d').val()) ||
            !$('#m').val() || isNaN($('#m').val()) ||
            !$('#yr').val() || isNaN($('#yr').val()) ||
            !checkdate ($('#d').val(), $('#m').val(), $('#yr').val()) ||
            $('#yr').val() > new Date().getFullYear()
            
        ) {
            error[1] = 'date';
        }
        
        if (!error.length > 0) {
            date = mktime(0, 0, 0, $('#m').val(), $('#d').val(), $('#yr').val());
            age = Math.floor((Math.floor(new Date().getTime()/1000) - date) / (365 * 86400));
            
            if (age >= $('#c option:selected').attr('title') && $('#c option:selected').attr('title') > 0) { // old enough
                pageTracker._trackPageview('/gateway1/passed');
                return true;
            }
        }
        
        e.preventDefault();
        return false;
        
    });
    
});

function inputButton() {
	var fo = document.getElementById("flash");
	if (fo && fo.startPlayingMovie) {
		fo.startPlayingMovie();
	}
	if (
		$("select:eq(1)").val() != "no" &&
		$("select:eq(2)").val() != "no" &&
		$("select:eq(3)").val() != "no"
	) {
		$("#enter input").attr("src", "/img/button_enter_on.gif");
	} else {
		$("#enter input").attr("src", "/img/button_enter_off.gif");
	}
}

if (!GUINNESS) var GUINNESS = {};

GUINNESS.track = function (type, name, data, points) {
	
	var namePrefix = "Guinness_EN_ROW_";
	cm_ClientID = "90201855";
	name = namePrefix + name.replace(/\'/, "");
	switch (type) {
	case "page":
		if (typeof cmCreatePageviewTag == "function") {
			// data = categoryId
			cmCreatePageviewTag(name, namePrefix + data);
		}
		break;
	case "manual":
		if (typeof cmCreateManualLinkClickTag == "function") {
			// data = linkUrl
			cmCreateManualLinkClickTag(data, namePrefix + name);
		}
		break;
	case "conversionStart":
		if (typeof cmCreateConversionEventTag == "function") {
			if (!points) points = 1;
			// data = eventCategoryId
			cmCreateConversionEventTag(name, 1, namePrefix + data, points);
		}
		break;
	case "conversionEnd":
		if (typeof cmCreateConversionEventTag == "function") {
			if (!points) points = 1;
			// data = eventCategoryId
			cmCreateConversionEventTag(name, 2, namePrefix + data, points);
		}
		break;
	case "error":
		if (typeof cmCreateErrorTag == "function") {
			// data = categoryId
			cmCreateErrorTag(name, namePrefix + data);
		}
		break;
	}
};

function checkdate(d, m, y) {
    return m > 0 && m < 13 && y > 0 && y < 32768 && d > 0 && d <= (new Date(y, m, 0)).getDate();
}

function mktime() {
    var no, ma = 0, mb = 0, i = 0, d = new Date(), argv = arguments, argc = argv.length;
    if (argc > 0){
        d.setHours(0,0,0); d.setDate(1); d.setMonth(1); d.setYear(1972);
    }
    var dateManip = {
        0: function(tt){ return d.setHours(tt); },
        1: function(tt){ return d.setMinutes(tt); },
        2: function(tt){ var set = d.setSeconds(tt); mb = d.getDate() - 1; return set; },
        3: function(tt){ var set = d.setMonth(parseInt(tt)-1); ma = d.getFullYear() - 1972; return set; },
        4: function(tt){ return d.setDate(tt+mb); },
        5: function(tt){ return d.setYear(tt+ma); }
    };
    for( i = 0; i < argc; i++ ){
        no = parseInt(argv[i]*1);
        if (isNaN(no)) {
            return false;
        } else {
            // arg is number, let's manipulate date object
            if(!dateManip[i](no)){
                // failed
                return false;
            }
        }
    }
    return Math.floor(d.getTime()/1000);
}
