(function() {
	
	/* clears out redirect when we add the event handler 
	 * on the overlay button
	 */	
	var redirect = null;
	
	var goButton = document.getElementById('go-button');
				
	var init = function () {
	
	// event handler added				
	mcd.event.add('redirect-link', 'click', function (event) {
		mcd.event.preventDefault(event);
		window.open(redirect);
		mcd.ObtrusiveOverlay.manager.exitObtrusive();
	});
					
	initializeOverlay();
	addCloseButtonHandler();
	
	// local-sites index uses these functions
	if (document.getElementById('country-list')) {
			enableList();
			overlayTrigger();	
	};
		
	// local-capabilities page uses this function
	if (document.getElementById('country-dropdown')) enabler();
					
	};
	
	// creates overlay		
	var initializeOverlay = function () {
		mcd.ObtrusiveOverlay.manager.overlays['off-site-warning'] = new mcd.ObtrusiveOverlay('off-site-warning');
		mcd.ObtrusiveOverlay.manager.overlays['off-site-warning'].registerTerminator('off-site-warning-close', function () { return true; });
		mcd.ObtrusiveOverlay.manager.overlays['off-site-warning'].registerTerminator('cancel-link', function () { return true; });
	};
				
	var addCloseButtonHandler = function () {
		mcd.event.add('cancel-link', 'click', function (event) {
			mcd.event.preventDefault(event);
			mcd.ObtrusiveOverlay.manager.exitObtrusive();	
		});	
	};
	
	// removes and hides elements that were in place for non-js users
	var enableList = function () {
		var listContainer = document.getElementById('country-list');
		mcd.dom.removeClass(listContainer, 'disabled');
		var blockoutShim = document.getElementById('blockout-shim');
		mcd.dom.addClass(blockoutShim, 'hide');
	};
	
	// gets list of urls, grabs url of targeted link onclick to pass to overlay button, opens overlay				
	var overlayTrigger = function () {
		var linkContainer = document.getElementById('country-list');
		var allLinks = linkContainer.getElementsByTagName('a');
		for (var i = 0; i < allLinks.length; i++) {
			mcd.event.add(allLinks[i], 'click', function (event) {
				mcd.event.preventDefault(event);
				mcd.ObtrusiveOverlay.manager.enterObtrusive('off-site-warning');
				redirect = this.href;							
			});
		};
	};
	
	var dropDownGo = function () {
		var list = document.getElementById('country-dropdown');
		var redirectLink = document.getElementById('redirect-link');
		redirect = list.value;
		redirectLink.href = redirect;
		mcd.ObtrusiveOverlay.manager.enterObtrusive('off-site-warning');
	};
	
	var enabler = function () {
		//enable dropdown
		var	select = document.getElementById('country-dropdown');
		select.disabled = false;
		//enable-disable button
		mcd.event.add(select, 'change', function () {
			if (select.value == "none-selected") {						
				goButton.src = "/images/buttons/btn-go-disabled.png";
				goButton.onclick = function () {
					return false;	
				};
			}		
			else {
				goButton.src = "/images/buttons/btn-go.png";
				goButton.onclick = dropDownGo;
			};		
		});
	};
	

				
	mcd.dom.ready(function() {
		init();
	});
				
})();
