function AttractionDay(images, thumbs, tags, tagLinkUrls, tagLinkTexts, message, message2)
{
    this.offset = 0;
    this.selection = 0;
    this.images = images;
    this.thumbs = thumbs;
    this.message = message;
    this.message2 = message2;
    this.tags = tags;
    this.tagLinkUrls = tagLinkUrls;
    this.tagLinkTexts = tagLinkTexts;
}

function _show()
{
    with (this)
    document.getElementById("attractions-message1").innerHTML = this.message;
    document.getElementById("attractions-message2").innerHTML = this.message2;

	this.updateSelection();
	this.updateThumbnails();
	this.updateNavigation();    

    return false;
}

function _select(index)
{
    with (this)
    this.selection = index + this.offset;

    this.updateSelection();
    this.updateThumbnails();

    return false;
}

function _navigateLeft()
{
    with (this)
    if (this.offset <= 0)
    {
        return false;
    }
    this.offset -= 2;

    this.updateThumbnails();
    this.updateNavigation();
    return false;
}

function _navigateRight()
{
    with (this)
    if (this.offset + 3 >= this.thumbs.length / 2)
    {
        return false;
    }
    this.offset += 2;

    this.updateThumbnails();
    this.updateNavigation();
    return false;
}

function _updateSelection()
{
    with (this)
    document.getElementById("attractions-selection").src=this.images[this.selection];
    if (this.tagLinkUrls[this.selection] != "")
    {
      document.getElementById("attractions-selection-tag-image").src="/images/attractions/tag2.gif";
      document.getElementById("attractions-selection-tag-text").innerHTML = 
      	this.tags[this.selection] + "<br><a class='text-attraction-tag-link' target='link' " +
      	"href='" + this.tagLinkUrls[this.selection] + "'>" +
      	this.tagLinkTexts[this.selection] + "</a>";
    }
    else
    {
      document.getElementById("attractions-selection-tag-image").src="/images/attractions/tag1.gif";
      document.getElementById("attractions-selection-tag-text").innerHTML=this.tags[this.selection];
    }
}

function _updateThumbnails()
{
    with (this)
    
    for(var i = 0; i < 6; i++)
    {
        document.getElementById("attractions-thumbnail" + i).className = "image-attractions";
        if (i + this.offset >= 0 && i + this.offset < this.thumbs.length)
        {
            document.getElementById("attractions-thumbnail" + i).src = this.thumbs[i + this.offset];
            if (i + this.offset == this.selection)
            {
                document.getElementById("attractions-thumbnail" + i).className = "image-attractions-selected";
            }
        }
        else
        {
             document.getElementById("attractions-thumbnail" + i).src = "/images/misc/Transparent.gif";
        }
    }
}

function _updateNavigation()
{
    with (this)

    if (this.offset <= 0)
    {
        document.getElementById('leftButton').src = "/images/attractions/arrow-gr-lft.gif";
    }
    else
    {
        document.getElementById('leftButton').src = "/images/attractions/arrow-bk-lft.gif";
    }
    if (this.offset + 3 >= this.thumbs.length / 2)
    {
        document.getElementById('rightButton').src = "/images/attractions/arrow-gr-rt.gif";
    }
    else
    {
        document.getElementById('rightButton').src = "/images/attractions/arrow-bk-rt.gif";
    }

    return false;
}


AttractionDay.prototype.show = _show;
AttractionDay.prototype.select = _select;
AttractionDay.prototype.navigateLeft = _navigateLeft;
AttractionDay.prototype.navigateRight = _navigateRight;
AttractionDay.prototype.updateSelection = _updateSelection;
AttractionDay.prototype.updateThumbnails = _updateThumbnails;
AttractionDay.prototype.updateNavigation = _updateNavigation;