/*

	[ site.js ]

*/

/*	############################################
	1. Site
	############################################ */

var Site = {

	start: function(lang){

		googleAnalytics();

		if ($('#flash').length) {

			swfobject.embedSWF(
				'/assets/flash/NautilusPlus.swf',
				'flash',
				'990',
				'500',
				'9.0.0',
				'/assets/flash/expressInstall.swf',
				{ lg:lang },{ wmode:'transparent' },{}
			);

		}
		if ($('#contactForm').length) {
			if ($('html.en').length) Site.EnContact(); else Site.FrContact();
		}

	},

	EnContact: function(){

		$('#contactForm').submit(function(){
			var errorMessage = "You must complete all fields.\n\n";
			var errorFound = 0;

			if ($('#name').val().length == 0) 		{ errorFound = 1; $('#name').addClass('error'); } else $('#name').removeClass('error');
			if (!isValidEmail($('#email').val()))	{ errorFound = 1; errorMessage += "Double-check your e-mail address."; $('#email').addClass('error'); } else $('#email').removeClass('error');
			if ($('#comment').val().length == 0)	{ errorFound = 1; $('#comment').addClass('error'); } else $('#comment').removeClass('error');

			if (errorFound == 1) { alert(errorMessage); return false; } else return true;
		});

	},

	FrContact: function(){

		$('#contactForm').submit(function(){
			var errorMessage = "Tous les champs doivent être remplis.\n\n";
			var errorFound = 0;

			if ($('#name').val().length == 0) 		{ errorFound = 1; $('#name').addClass('error'); } else $('#name').removeClass('error');
			if (!isValidEmail($('#email').val()))	{ errorFound = 1; errorMessage += "Vous devez fournir un courriel valide."; $('#email').addClass('error'); } else $('#email').removeClass('error');
			if ($('#comment').val().length == 0)	{ errorFound = 1; $('#comment').addClass('error'); } else $('#comment').removeClass('error');

			if (errorFound == 1) { alert(errorMessage); return false; } else return true;
		});

	}

};

/* ############################################# */

/* 2.0. Validate Email ######################### */

	function isValidEmail(email) {
		var exclude = /[^@\-\.\+\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
		var check = /@[\w\-]+\./;
		var checkend = /\.[a-zA-Z]{2,4}$/;

		if ( (email.search(exclude) != -1) || (email.search(check) == -1) || (email.search(checkend) == -1) )
			return false;
		else
			return true;
	}

/* 2.1. External Links ######################### */

	function externalLinks() {
		if (!document.getElementsByTagName) return;
		var anchors = document.getElementsByTagName('a');
		for (i = 0; i < anchors.length; i++) {
			var anchor = anchors[i];
			if (anchor.getAttribute('href') && anchor.getAttribute('rel') == 'external')
				anchor.target = '_blank';
		}
	}

/* 2.2. Google Analytics ####################### */

		function googleAnalytics() {
			var gaJsHost = (('https:' == document.location.protocol) ? 'https://ssl.' : 'http://www.');
			$.getScript(gaJsHost + 'google-analytics.com/ga.js', function(){
				var pageTracker = _gat._getTracker('UA-3625734-7');
					pageTracker._initData();
					pageTracker._trackPageview();			
			});
		}

/* ############################################# */

$(document).ready(function(){
	$('#flash p').hide();

	var language = 'fr';

	$.getScript('/assets/scripts/thickbox.js',function(){
		$.getScript('/assets/scripts/png.js',function(){
			externalLinks();
			if ($('html.en').length) language = 'en';
			Site.start(language);
		});
	});
});

/* Code is poetry */