$(document).bind("ready", startup);

var xml;
var menu;
var info;
var currentPage = "home";
var baseUrl;
var timer;
var timercount = 0;

function updateTimer() {
	$('#timer').html('Loading '+timercount+' improvements. <span class="demi">&nbsp;</span>');
	timercount = timercount+ 25;
	if(timercount>2000) {
		clearTimeout(timer);
		$('#timer').html('Discover 2,000 improvements. <span class="demi"></span>');
		$('.demi').hide();
		$('.demi').text('The new C-Class.');
		$('.demi').delay(500).fadeIn(1000);
		$('#timer').css('cursor','pointer');
		$('#timer').click(function(){
			Navigation.navigateToHome();
		});
	}
}

function startup() {
	_gaq.push(['_trackEvent', 'Pageview', device]);
	$('#wrapper, #grid').click( function(e) {
 		if($(e.target).attr('id') == 'wrapper' || $(e.target).attr('id') == 'grid')
			Navigation.navigateToHome();
	});
	closeButton.init();

	jQuery.fx.interval = 45;
	$(document).unbind("ready");
	$(window).bind('orientationchange', function() {

		return false;
	}, false);
	positionGrid();
	setTimeout(positionGrid, 1000)
	$(window).resize( function() {
		positionGrid();
	});
	timer = setInterval(updateTimer,25);
	$.get('xml/data.xml', function(data) {
		xml = data;
		baseUrl = $(xml).find('basepath').attr('url');
		setupDeeplinking();
		$.address.strict(false);

		if($.address.value() == '/' || $.address.value() == '') {
			Navigation.navigateToHome();
		} else {
			if(parseAddress() != 'Navigation.home()') {
				eval(parseAddress());
				menu = new MenuController();
				menu.init();
				showCar();
			}
			else
				eval(parseAddress());
		}
	}, null, "xml");
}

function setupDeeplinking() {
	$.address.externalChange( function(e) {
		if($.address.value() == '/' || $.address.value() == '') {
			Navigation.navigateToHome();
		} else {
			eval(parseAddress());
		}
	});
}

function parseAddress() {
	var addr =  $.address.value().split('/');
	if(addr[0] == undefined )
		return 'false';
	return (addr[1] == undefined) ? 'Navigation.'+addr[0] + '()' : 'Navigation.'+addr[0] + '("'+addr[1]+'")';
}

var closeButton = {
	init : function () {
		$(window).bind('pageLoaded', function() {
			if(Navigation.getCurrentPage().method == 'home') {
				$('#closeButton').fadeOut();
				$('#mainContent').unbind('mouseover');
				$('#mainContent').unbind('mouseout');
			} else {
				$('#closeButton').fadeOut();
				$('#closeButton').click( function() {
					closeButton.onClick()
				});
				$('#mainContent').bind('mouseover', closeButton.onContentOver);
				$('#mainContent').bind('mouseout', closeButton.onContentOut);
			}
		});
	},
	onContentOver : function() {
		clearTimeout(closeButton.timeOut);
		$('#closeButton').stop(false);
		$('#closeButton').fadeTo(500,1);
		closeButton.timeOut = setTimeout("$('#closeButton').fadeOut()", 3000);
	},
	onContentOut : function(e) {
		clearTimeout(closeButton.timeOut);
		var el = $('#mainContent');
		var offset = el.offset();
		if(e.pageX < offset.left || e.pageX > offset.left+el.width() || e.pageY < offset.top || e.pageY > offset.top+el.height())
			$('#closeButton').fadeOut();
	},
	onClick : function() {
		Navigation.navigateToHome();
	},
	timeOut : 0
}


