$(document).ready(function()
{
    var j = jQuery.noConflict();
    
    
	/* Tab functionality */
	
	j("#tabcanvas").find("div.content-notfirst").css("left", "-2000px");
	j("#tabcanvas").find("div.content-notfirst").css("position", "absolute");
	
	j("#tabs").find("li:first").addClass("open");
	
	j("#tabs").find("li.tab").bind("click", function()
	{
		j("#tabs").find("li.open").removeClass("open");
		var selected = j(this).find("a").attr("href");
		
		j("#tabcanvas").find("> div").css("left", "-2000px");
		j("#tabcanvas").find("> div").css("position", "absolute");
		
		j(selected + "-content").css("left", "0");
	    j(selected + "-content").css("position", "relative");
	    
		j(this).addClass("open");
	});
	
	
	/* Bank/Dealer/FAQ selection */
	
	j('.expandListing').find('.expander').hide();
	
	j('.expandListing').find('h2').click(function()
	{
	    toggleItem(this);
	});
	
	j('#hideAll').show().click(function()
	{
	    j('.expandListing').find('h2').removeClass("selected");
	    j('.expandListing').find('.expander').slideUp('swing');
	});
	
	function hideAll()
	{
	    j('.expandListing').find('.expander').hide();
	}
	
	j('#showAll').show().click(function()
	{
	    j('.expandListing').find('h2').addClass("selected");
	    j('.expandListing').find('.expander').slideDown('swing');
	});
	
	function toggleItem(h2Element)
	{
	    var $h2Element = j(h2Element);
		var $nextDiv = $h2Element.next();
		var $visibleSiblings = $nextDiv.siblings('div:visible');
	    
		if ($h2Element.hasClass("selected"))
			$h2Element.removeClass("selected");
		else
			$h2Element.addClass("selected");
		/*
		if ($visibleSiblings.length) {
			$visibleSiblings.slideUp('swing', function() {
				if ($h2Element.prev().hasClass("selected"))
					$h2Element.prev().removeClass("selected");
				else
					$h2Element.prev().addClass("selected");
				
				$nextDiv.slideToggle('swing');
			});
		} else {
		*/
			 $nextDiv.slideToggle('swing');
		//}
	}
	
	var $expanded = j('#expanded');
	if ($expanded) toggleItem($expanded);
	
	/* TERMINAL CHOOSER */
	
	var cats = j("#supportCategories .category");
	var page = 0;
	var CATS_PER_PAGE = 6;
	var CANVAS_WIDTH = 589;
	var TIME = 750;
	var PAGES = Math.ceil(cats.length / CATS_PER_PAGE);
	
	// Add horizontal scrolling
	
	if (cats.length > CATS_PER_PAGE)
	{
		j("#supportCategories").css("width", "3000px");
		j("#supportCategories").css("position", "relative");
		
		j("#supportPagingRight").css("visibility", "visible");
		
		j("#prevLink").bind("click", function()
		{
			if (page-1 >= 0)
			{
				page--;
				scrollToPage(page);
			}
		});
		
		j("#nextLink").bind("click", function()
		{
		    //alert(page + "juu" + PAGES);
			if (page+1 < PAGES)
			{
				page++;
				scrollToPage(page);
			}
		});
	}
	
	function scrollToPage(p, jump)
	{
	    if (jump === undefined)
	    {
		    j("#supportCategories").animate({ 
			    left: '-' + (p*CANVAS_WIDTH) + 'px'
		    }, TIME, "swing" );
		}
		else
		{
		    j("#supportCategories").css("left", '-' + (p*CANVAS_WIDTH) + 'px');
		}
		
		if (p > 0)
			j("#supportPagingLeft").css("visibility", "visible");
		else
			j("#supportPagingLeft").css("visibility", "hidden");
		
		if (p >= PAGES-1)
			j("#supportPagingRight").css("visibility", "hidden");
		else
			j("#supportPagingRight").css("visibility", "visible");
	}
	
	// Add mouse-over scaling
	
	var SIZE_SMALL = 78;
	var SIZE_BIG = 106;
	var SIZE_SHIFT = (SIZE_BIG - SIZE_SMALL) / 2;
	
	j("#supportCategories .category img").css("padding-left", "10px");
	
	j(cats).bind("mouseenter", function() {
		if (j(this).attr('anim') != 'true' && !j(this).hasClass('selected'))
		{
			enlargeCat(this);
		}
	});
	
	j(cats).bind("mouseleave", function() {
		if (!j(this).hasClass('selected'))
		{
			shrinkCat(this);
		}
	});
	
	// View selected category
	enlargeCat(j("#supportCategories .selected"));
	j("#supportCategories .selected .name").css("font-weight", "bold");
	
	// Scroll to selected category
	var index = j("#supportCategories .category").index(j("#supportCategories .selected")[0]);
	if (index != -1)
	{
	    page = Math.floor(index / CATS_PER_PAGE);
	    scrollToPage(page, true);
	}
	
	function enlargeCat(cat)
	{
		j(cat).attr('anim', 'true');
		j(cat).find("img:first").hide();
		j(cat).find("img:last").attr('width', SIZE_SMALL).attr('height', SIZE_SMALL).show().animate({ 
			width: SIZE_BIG + 'px',
			height: SIZE_BIG + 'px',
			left: '-'+SIZE_SHIFT+'px',
			top: '-'+SIZE_SHIFT+'px'
		}, TIME/2, "swing", function() {
			j(cat).parent().parent().attr('anim', 'full');
			j(cat).css('font-weight', 'bold');
		});
		j(cat).find("span").animate({
			fontSize: '13px'
		}, TIME/2, "swing" );
	}
	
	function shrinkCat(cat)
	{
		//if (j(this).attr('anim') != 'true')
		//{
			j(cat).find("img:first").hide();
			j(cat).css('font-weight', 'normal');
			j(cat).find("img:last").show().animate({ 
				width: SIZE_SMALL+'px',
				height: SIZE_SMALL+'px',
				left: '0px',
				top: '0px'
			}, TIME/2, "swing", function() {
				j(this).parent().parent().attr('anim', 'false');
				//j(this).parent().find("img:first").show();
				//j(this).parent().find("img:last").hide();
				//alert("false");
			});
			j(cat).find("span").animate({
				fontSize: '11px'
			}, TIME/2, "swing" );
		//}
	}
	
});

function openTab(id)
{
    var j = jQuery.noConflict();
    j("#tabs li.tab a").each(function() {
        if (j(this).attr("href") == "#"+id)
        {
            j(this).parent().click();
        }
    });
}

