
/* initialization */
window.GTAA_LANG = "en"; //values:"en" or "fr"

$(document).ready(function () {
	/* Cufon font/image replacement */
	Cufon.replace('h1, h2, h3, h4'); // Default

	//global jquery initializers
	$("label.formHint").inFieldLabels();
	
	if ($.browser.msie && parseInt($.browser.version) == 6) {
		$.showIeMessage();
	}
});


(function ($) {
    $.showIeMessage = function () {
		var ie6Copy = {
			en: {
				header: 'Your browser is out-of-date',
				message: 'This site is best viewed with a newer version of <a href="http://windows.microsoft.com/en-CA/internet-explorer/products/ie/home" target="_blank">Internet Explorer</a>.'
			},
			fr: {
				header: 'Votre navigateur est désuet.',
				message: 'Il est préférable de visionner ce site avec une version plus récente <a href="http://windows.microsoft.com/fr-CA/internet-explorer/products/ie/home" target="_blank">d&#39;Internet Explorer</a>.'
			}
		}
		
		var elemHtml = '<div class="ie6-message"><div class="container"><table><tr>' 
		+ '<td class="ie6-message-cell"><div class="ie6-message-header">' + ie6Copy[GTAA_LANG]['header'] + '</div></td>'
		+ '<td><div class="ie6-message-notice">' + ie6Copy[GTAA_LANG]['message'] + '</div></td>'
		+ '</tr></table></div></div>';
		
		$(elemHtml).prependTo('body');
    };
	
    $.random = function (size) {
        return Math.floor(Math.random() * size);
    };

    $.isNumeric = function (n) {
        return typeof n === 'number' && isFinite(n);
    };

    $.parseCleanInt = function (n) {
		var $n = parseInt(n);
		if (!$.isNumeric($n)) {
			$n = 0;
		}
        return $n;
    };
	$.getMilitaryHour = function(_h, _ap) {
		var _mh = (_ap.toLowerCase() == "am") ? parseInt(_h) : parseInt(_h) + 12;
		if (_mh == 12) _mh = 0;
		if (_mh == 24) _mh = 12;
		return _mh;
	}
	
	$.getUtcInt = function(_date){
		return parseInt($.getUtcString(_date));
	}
	
	$.getUtcString = function(_date, jsFormat) {
		var utcTime = Date.parse(_date.toString()).toString();
		utcTime = utcTime.substr(0, utcTime.length - 3); //we strip the extra trailing zeros javascript has on UTCs
		return utcTime;
	};

    $.isIe7 = function () {
        return ($.browser.msie && parseInt($.browser.version) == 7);
    };

	//this function is to compare jQuery objects
    //in jQuery $(obj) == $(obj) resolves to FALSE.
    $.fn.equals = function (compareTo) {
        if (!compareTo || !compareTo.length || this.length != compareTo.length) {
            return false;
        }
        for (var i = 0; i < this.length; i++) {
            if (this[i] !== compareTo[i]) {
                return false;
            }
        }
        return true;
    };
	
	$.formatCurrency = function(n, doRound, showCents) {
		var neg = (n < 0);
		n = Math.abs(n);
		var dollars = Math.floor(n);
		if (showCents == false) {
			dollars = Math.round(n);
		}
		var dollarsStr = String(dollars);
		var dollarsStr2 = "";
		for (var i = 0; i < dollarsStr.length; i++){
			if (i > 0 && i % 3 == 0){
				dollarsStr2 = "," + dollarsStr2;
			}
			dollarsStr2 = dollarsStr.substr(-i -1, 1) + dollarsStr2;
		}
		
		var cents;
		var _decimalStr = "";
		if (doRound == true) {
			cents = Math.round(100 * (n - dollars));
			if (cents == 100){
				cents = 0;
				dollars++;
			}
		} else {
			//just subtracting when not rounding gives us a cent value that's off by about 1 ten thousandth (yeah...), so we pull the value as a string
			var _nStr = n.toString();
			if (_nStr.indexOf(".") != -1) {
				_decimalStr = _nStr.substr(_nStr.indexOf(".")+1, _nStr.length - 1);
			}
		}
		var centsStr;
		if (doRound == false) {
			centsStr = _decimalStr;
			while (centsStr.length < 2) {
				centsStr = "0" + centsStr;
			}
		}
		else if (cents == 0){
			centsStr = "00";
		}
		else if (cents < 10){
			centsStr = "0" + cents;
		}
		else{
			centsStr = String(cents);
		}
		var output;
		if (neg){output = "-$";}
		else { output = "$"; }
		if (showCents == true) {
			output += dollarsStr2 + "." + centsStr;
		} else {
			output += dollarsStr2;
		}
		return output;
	}
	

    $.fn.exists = function () { return $(this).length > 0; }

})(jQuery);
/********************* SITE-SPECIFIC CODE  ***********************/
