
var canPlay = true; // 
var cart = {},
	ecomm = {},
	cachedCartTemplate,
	_ajaxLocation		= 'http' + ( document.location.protocol.toString().indexOf('https') >= 0 ? 's' : '' ) + '://www.mammothmountain.com/_API/',
	currDate			= new Date('02/22/2012'),
	currDateTime		= new Date('02/22/2012' + ' ' + '3:42:50 PM PST'),
	advDate				= new Date( ( new Date('02/22/2012') ).setDate( (new Date('02/22/2012')).getDate() + 1 ) ),
	onCartLoad			= null,
	__throbber			= '<img height="16" width="16" src="/_ecomm/images/spinner.gif">',
	cartReady			= [],
	isIE6				= false,
	pageTracker			= null, // google analytics tracker
	mmsaTracker			= null,
	modalCSS 			= {
		padding:        0,
		margin:         0,
		position:		'absolute',
		width:          '750px',
		top:            '15%',
		left:           '50%',
		textAlign:      'left',
		marginLeft:		'-375px',
		border:			'0px',
		background:		'',
		zIndex:			1207
	};
	


	var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
	document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));


$(function () {

	recalculate();


$.getScript('//us2.resorts-interactive.com/tools/swf.js');	

	// HOME PAGE BUG DEAL hack Precheck tamarack chekbox only
	// $('a[href=/VacationPlanning/TripPlanner/Lodging/]')
	if(window.location.pathname === '/'){
		$('a[href=/VacationPlanning/TripPlanner/Lodging/]').each(function (i) {
			$(this).unbind('click').bind('click', function () {
				$.cookie('lodgingDirectLink', '#TAMlodgingFilter', {path: '/'});
			});
		});
	}



	try {
			pageTracker = _gat._getTracker("UA-80155-1");
			pageTracker._setDomainName("none");
			pageTracker._setAllowLinker(true);
			pageTracker._initData();
			pageTracker._setSessionTimeout("2400");
			if(window.location.pathname !== '/checkout/'){
				pageTracker._trackPageview();
			}
			mmsaTracker = new MmsaGAUserEventTracking(pageTracker);
			// init event tracking if this page is a category we want to track
			mmsaTracker.InitTracking(window.location.pathname);
			mmsaTracker.updateCartAbandondmentTracker();
			$("#ticketFormGO").click(function(){
				mmsaTracker.TrackLuggageTagClickedEvent();
			});

			/// visitmammoth.com advert link
			/// http://www.mammothmountain.com/VacationPlanning/Deals/?visitmammoth=true
			if(window.location.pathname === '/VacationPlanning/Deals/' ||
				window.location.pathname === '/VacationPlanning/Deals')
			{
				if(window.location.search === '?visitmammoth=true')
				{
					mmsaTracker.TrackEvent('VISITMAMMOTH.COM', mmsaTracker.VIEWED, 'DEALS');
				}
			}

	} catch(e) { /* fail gracefully */ }

	// capture errors
//	window.onerror = logException;

    try {

    // replacement for target="_blank" to conform to xhtml strict marc
    $('a[rel=external]').click(function(){ window.open(this.href); return false; });

    initLinks();

    hs.graphicsDir = '/_ecomm/highslide/graphics/';
    hs.showCredits = false;
    hs.zIndexCounter = 1250;
    hs.outlineType = 'rounded-white';
    hs.allowSizeReduction = false;

    // blockui global overrides
    $.blockUI.defaults.focusInput = false;
    $.blockUI.defaults.fadeIn = 0;
    $.blockUI.defaults.fadeOut = 0;
    $.extend( $.blockUI.defaults.css, {
    border:'3px solid #ccc',
    borderRadius:10,
    MozBorderRadius:10,
    WebkitBorderRadius:10,
    background:'#fff',
    color:'#000',
    cursor:'',
    opacity:1,
    padding:'10px',
    zIndex:1210
    });
    $.blockUI.defaults.overlayCSS = {
    opacity:        0.6,
    backgroundColor:'#fff',
    cursor:			'default',
    zIndex:			1205
    };

    $('.tabdata').tableification();
    $('.ui-tabs-nav-first a').click();

    //		Shadowbox.loadSkin('classic', '/_ecomm/shadowbox/src/skin');
    //		Shadowbox.loadLanguage('en', '/_ecomm/shadowbox/src/lang');
    //		Shadowbox.loadPlayer(['html','iframe'], '/_ecomm/shadowbox/src/player');
    //		Shadowbox.init();

    } catch(e) { }
    });

  
    // to replace initCartSave
    function initCartWithJsonSessionCart(){

    if(typeof console !== 'undefined'){
    console.log('initCartWithJsonSessionCart()');
    }


    // call queued function to happen after the shopping cart is loaded - this is important for /checkout/
    if ( typeof onCartLoad == 'function' )
    onCartLoad();

    // run through the cartReady faux queue
    for ( var fCall in cartReady )
    $(this).queue(
    function () {
    cartReady[ fCall ]();
    $(this).dequeue();
    }
    );
    }

    function initLinks () {
    // rebranded links span class="gLink" with rollovers
    $('.gLink').bind('mouseover mouseout', function () { $(this).toggleClass('gLink').toggleClass('gLinkOver'); });
    // button rollovers
    $('.btn').unbind('mouseover mouseout').bind('mouseover mouseout', function () {	$(this).find('.c').toggleClass('btnOver'); });
    }

    
function logException ( message, url, line ) {

	try {

		errStr = $.toJSON({
			"arg1":( (typeof(message) != 'undefined') ? message : ''),
			"arg2":( (typeof(url) != 'undefined') ? url : ''),
			"arg3":( (typeof(line) != 'undefined') ? line : ''),
			"arguments":arguments,
			"logException.caller":(typeof(logException.caller) != 'undefined') ? logException.caller : null,
			"logException.callee":(typeof(logException.callee) != 'undefined') ? logException.callee : null,
			"window.onerror.arguments":(typeof(window.onerror.arguments) != 'undefined') ? window.onerror.arguments : null,
			"window.onerror.caller":(typeof(window.onerror.caller) != 'undefined') ? window.onerror.caller : null
			});

		if (errStr.indexOf('processSale') >= 0) {

			// copy cart
			var safeCart = $.extend( {}, _cart );
			safeCart._ct = {};
			// log the exception
			$.ajax({
				url: 			'http' + ( document.location.protocol.toString().indexOf('https') >= 0 ? 's' : '' ) + '://www.mammothmountain.com/_ecomm/logException.cfm',
				data:			$.toJSON({ _error:errStr, _cart:$.toJSON(safeCart) }),
				dataType:		'json',
				cache:			false,
				type:			'POST',
				contentType:	'application/json; charset=utf-8'
			});

		}

	} catch (e) {
		// do nothing
	}

	return true;

}
