$(function() {
	
	//Open external links in a new tab
	$("a[rel=external]").attr('target', '_blank');
	
	//Remove IE6 image flicker
	try {document.execCommand('BackgroundImageCache', false, true);} catch(err) {}

	//Set country code
	initRegionSelector();

	//Set country code
	try {
		var loc = google.loader.ClientLocation.address.country_code;
		initRegion(loc);
	}
	catch(err) {}

	//Load lightboxes
	if ($('a.fancybox').length) $('a.fancybox').fancybox();
		
	//Carousel
	if ($('#carousel').length) initCarousel();

});

/*
======================
Region Selector
======================
*/
function initRegionSelector() {
	$('#topnav li.level1 span').click(function() {
		$('#topnav').toggleClass('expanded');
	});
	$(window).click(function(e) {
		if (!$(e.target).is('#topnav li.level1 span, #topnav li.level1 ul')) {
			$('#topnav').removeClass('expanded');
		}
	});
}

/*
======================
Regional Data
======================
*/
function initRegion(loc) {
	$('.regionPhone').html("Call " + eval(loc + "_phone"));
}

/*
======================
Home Page Carousel
======================
*/
var imageCount;
var imagesLoadedCount = 0;
var isRotating = false;
var delay = 4000;

function initCarousel() {
	setActive(0);
	imageCount = $('#carousel #featureImages li').length;
	$('#carousel #featureImages img').each(function() {
		if (this.complete) imagesLoadedCount++;
		else {
			$(this).bind('load', function(){imagesLoadedCount++});
		}
	});
	initRollovers();
	initRotation();
}

function initRollovers() {
	$('#carousel #featureLinks li').bind('mouseover', function() {
		isRotating = false;
		setActive($('#carousel #featureLinks li').index(this));
	});
}

function initRotation() {
	if (imagesLoadedCount != imageCount) setTimeout("initRotation()", 500);
	else {
		isRotating = true;
		rotate(0);
	}
}

function rotate(i) {
	if (isRotating) {
		if (i == imageCount) i = 0;
		setActive(i);
		setTimeout("rotate(" + (i+1) + ")", delay);
	}
}

function setActive(i) {
	$('#carousel #featureImages li').removeClass("active");
	$($('#carousel #featureImages li')[i]).addClass("active");
	$('#carousel #featureLinks li').removeClass("active");
	$($('#carousel #featureLinks li')[i]).addClass("active");
}
