jQuery(document).ready(function(){

	var today = new Date();
	var expiry = new Date(today.getTime() + 365 * 24 * 60 * 60 * 1000);
	var currentDomain = window.location.hostname;
	var setDomain = readCookie('selectedDomain');
	var cleanCurrentDomain = cleanDomain(currentDomain);
	
	// Display Country Selector
	function displayCountrySelector(){
		jQuery('#main_navigation').addClass('country-required');
		jQuery('#main_navigation').append('<div id="country-select-cover"></div>');
	}
	
	// Hide Country Selector
	function hideCountrySelector(){
		document.cookie = "selectedDomain=" + cleanCurrentDomain + "; expires=" + expiry.toGMTString() + "; domain=" + cleanCurrentDomain;
		jQuery('#main_navigation').removeClass('country-required');
		jQuery('#country-select-cover').remove();
	}
	
	jQuery('.navigation').on('click', '#main_navigation:not(".country-required") .country_select_nav_item h2 a', function(){ displayCountrySelector(); });
	jQuery('.navigation').on('click', '#main_navigation.country-required .country_select_nav_item h2 a', function(){ hideCountrySelector(); });
	jQuery('.navigation').on('click', '#country-select-cover', function(){ hideCountrySelector(); });
	
	
	// Look For Cookies
	if(setDomain == null || setDomain != cleanCurrentDomain){ 
		displayCountrySelector();
	}

	// Select Country
	jQuery('.country_select_nav_item .nav_menu a').click(function(){
		var targetDomain = jQuery(this).attr('href');
		var cleanTargetDomain = cleanDomain(targetDomain);
		if(cleanTargetDomain==cleanCurrentDomain){
			// Current Site Actions
			hideCountrySelector();
			return false;
		} else {
			// Redirect Actions
			document.cookie = "selectedDomain=" + cleanTargetDomain + "; expires=" + expiry.toGMTString() + "; domain=" + cleanCurrentDomain;
			return true;
		}
	});
	
	function cleanDomain(url) { 
		// Remove White Space
		url = url.replace(new RegExp(/^\s+/),""); // from start
		url = url.replace(new RegExp(/\s+$/),""); // from end
		 
		// Hide back slashes as forward slashes
		url = url.replace(new RegExp(/\\/g),"/");
		 
		// Remove 'http://', 'https://' or 'ftp://' from the start
		url = url.replace(new RegExp(/^http\:\/\/|^https\:\/\/|^ftp\:\/\//i),"");
		 
		// Remove known sub domains
		url = url.replace(new RegExp(/^www\./i),"");
		url = url.replace(new RegExp(/^media\./i),"");
		url = url.replace(new RegExp(/^blog\./i),"");
		url = url.replace(new RegExp(/^documents\./i),"");
		url = url.replace(new RegExp(/^tony\./i),"");
		url = url.replace(new RegExp(/^ryan\./i),"");
		url = url.replace(new RegExp(/^iry\./i),"");
		url = url.replace(new RegExp(/^test\./i),"");
		url = url.replace(new RegExp(/^dev\./i),"");
				 
		// Remove sub directories
		url = url.replace(new RegExp(/\/(.*)/),"");
		 
		return(url);
	}
	
	function readCookie(name) 
    {
        var nameEQ = name + "=";
        var ca = document.cookie.split( ';');
        for( var i=0;i < ca.length;i++) 
        {
                var c = ca[i];
                while ( c.charAt( 0)==' ') c = c.substring( 1,c.length);
                if ( c.indexOf( nameEQ) == 0) return c.substring( nameEQ.length,c.length);
        }
        return null;
    }
});
