/**
 * @author Paul Jones
 */

var lastPageStartHeight, lastPageId, lastPageContent, currentPage, logoInPosition=false;
var $_GET = getUrlValues();



if (screen.height <= 1024) {
	var lastMtnObj = {
		'#media_mtn': {height: '260px'},
		'#sports_mtn': {height: '190px'},
		'#meetings_mtn': {height: '200px'},
		'#resources_mtn': {height: '110px'},
		'#visit_mtn': {height: '130px'},
		'#about_mtn': {height: '100px'}};
		
}
else {
	lastMtnObj = {
		'#media_mtn': {height: '360px'},
		'#sports_mtn': {height: '290px'},
		'#meetings_mtn': {height: '300px'},
		'#resources_mtn': {height: '210px'},
		'#visit_mtn': {height: '230px'},
		'#about_mtn': {height: '200px'}};
		
	$('head').append('<link href="stylesLarge.css" rel="stylesheet" type="text/css" />');
}



$(document).ready(function(){

	loadActivities();

	$('a.link').click(function() {
		
		var href = $(this).attr( "href" );
		
		$.bbq.pushState({ url: href });
		
		return false;
	});
	
	$('.homePageLink').click(function () {
		$('.mountains').each(function() {
			 
				 
			 var href = $(this).attr( "href" );
		
			$.bbq.pushState({ url: href });
			
			return false;
		 });
		 
		 
	});
	
	$(window).bind("hashchange", function(e){
		// In jQuery 1.4, use e.getState( "url" );
		var url = $.bbq.getState("url");
		
		
		
		var myParam = $.deparam.querystring(url);
		
		
		
		showPage(myParam.page, myParam.subPage);
		
	});
	
	// Since the event is only triggered when the hash changes, we need
	// to trigger the event now, to handle the hash the page may have
	// loaded with.
	$(window).trigger("hashchange");
	
	var str = "";
	
	// Adventures Area
	
	var adventuresTotal, adventuresNumArr = [];
	
	$.post('php/adventuresData.php', {
		countAdvent: true
	}, function(data){
		adventuresTotal = parseInt(data) + 1;
		
		adventuresNumArr.sort(function(){
			return Math.round(Math.random()) - 0.5;
		});
		
		
		for (i = 0; i < 20; i++) {
			str += Math.ceil((Math.random(1) * 5)) + ', '
			
		}
	
	});
	
});

function updateLinks() {
	$('.subPage .link').unbind('click.subPageLinks');
	
	$('.subPage .link').bind('click.subPageLinks', function() {
		
		var href = $(this).attr( "href" );
		
		$.bbq.pushState({ url: href });
		
		return false;
	});
	
	$('.jScroll').jScrollPane({scrollbarHeight:150, dragMaxHeight:20 , showArrows:true, arrowSize:9});
}


function setPage(_objToChange, _page, _subPage, _pageSize) {
	
	
	
	 $('.mountains').each(function() {
		 var _thisId = '#' + $(this).attr('id');
		 var _height = lastMtnObj[_thisId]['height'];
		 
		 if (_thisId != _objToChange) {
		 	$(_thisId).stop(true).animate({
		 		height: _height
		 	}, 'slow');
		 	
		 	if (BrowserDetect.browser != 'Explorer') {
				$(_thisId).find('.subPage').fadeOut('slow');
			}
			else $(_thisId).find('.subPage').html('');
			
		}
		else {
			$('#site').append('<div id="pageLoader"></div>');
			$('#pageLoader').fadeIn('slow');
			if (BrowserDetect.browser != 'Explorer') {
				$(_thisId).find('.subPage').fadeOut('slow', function(){
					_swapData();
				});
			}
			else _swapData();
		}
	 });
	 
	
	function _swapData(){
	
		$.post('php/siteData.php', {
			'pageSet': true,
			'page': _page,
			'subPage': _subPage,
			'testing': $_GET['test']
		}, function(data){
			
			$('#pageLoader').fadeOut('slow', function() {
				$(this).remove();
			})

			$('.subPage').html('');
			$(_objToChange).find('.subPage').html(data);
			//if (BrowserDetect.browser != 'Explorer') {
			$(_objToChange).find('.subPage').fadeIn('slow', function(){
				updateLinks();
			});
			//}
			$(_objToChange).animate({height: _pageSize}, 'slow');
		});
	}
}



function showPage(_page, _subPage) {

	if (!logoInPosition && _page) {
		$('#logo').animate({
			'right': '50px',
			'top': '25px'
		}, "slow");
		$('#southerndozen').css({display: 'none'});
		logoInPosition = true;
	}
	
	$('a.link').removeClass('current');
	
	//#url=%3Fpage%3Dmeetings%26subPage%3Dmain
	
	try { 
		var pageTracker = _gat._getTracker("UA-3743433-17"); 
		var _url = _page && _subPage ? "?page="+_page+"&subPage="+_subPage : "";
		pageTracker._trackPageview("/" + _url); 
	} 
	catch(err) {}
	
	if (BrowserDetect.browser != 'Explorer') 
		setTitle(_page, _subPage);
		
	
	
	switch (_page) {
		case 'resources':
			$('#resources a.link').addClass('current');
			
			if (screen.height <= 1024)
				setPage('#resources_mtn', _page, _subPage, '460px');
			else
				setPage('#resources_mtn', _page, _subPage, '620px');
			break;
		case 'media':
			$('#media a.link').addClass('current');
			
			if (screen.height <= 1024)
				setPage('#media_mtn', _page, _subPage, '505px');
			else
				setPage('#media_mtn', _page, _subPage, '665px');
			break;
		case 'about':
			$('#about a.link').addClass('current');
			
			if (screen.height <= 1024)
				setPage('#about_mtn', _page, _subPage, '475px');
			else
				setPage('#about_mtn', _page, _subPage, '635px');
			break;
		case 'visitors':
			$('#visitors a.link').addClass('current');
			
			if (screen.height <= 1024)
				setPage('#visit_mtn', _page, _subPage, '475px');
			else
				setPage('#visit_mtn', _page, _subPage, '635px');
			break;
		case 'meetings':
			$('#meetingsGrps a.link').addClass('current');
			
			if (screen.height <= 1024)
				setPage('#meetings_mtn', _page, _subPage, '505px');
			else
				setPage('#meetings_mtn', _page, _subPage, '665px');
			break;
		case 'sports':
			$('#sports a.link').addClass('current');
			
			if (screen.height <= 1024)
				setPage('#sports_mtn', _page, _subPage, '485px');
			else
				setPage('#sports_mtn', _page, _subPage, '645px');
	}
	
}


function setTitle(_page, _subPage) {
	_pageTitle = '';
	
	switch (_page) {
		case 'resources':
			switch (_subPage) {
				case 'vacationGuide':
                    _pageTitle += 'Vacation Guide';
					break;
				case 'newsletter':	
                    _pageTitle += 'News Letter';				
					break;
				case 'videos':
                    _pageTitle += 'Videos';
					break;
				case 'links':
                    _pageTitle += 'Links';
					break;
			}			
			break;
			
		case 'media':
			switch (_subPage) {
				case 'photos':
					_pageTitle += 'Photos';
					break;
				case 'pressReleases':
					_pageTitle += 'Press Releases';
					break;
				case 'logos':
					_pageTitle += 'Logos';
					break;
				case 'pressKit':
					_pageTitle += 'Press Kit';
					break;
				case 'storyIdeas':
					_pageTitle += 'Story Ideas';
					break;
				case 'contact':
					_pageTitle += 'Contact';
					break;
			}					
			break;
			
		case 'about':
			
			switch (_subPage) {				
				case 'main':
					_pageTitle += 'About Johnson City';
					break;
				case 'factsInfo': 
					_pageTitle += 'Facts Info';
					break;
				case 'calendar':
					_pageTitle += 'Calendar';
					break;
				case 'culture':
					_pageTitle += 'Culture';
					break;
				case 'imageGallery':
					_pageTitle += 'Image Gallery';
					break;
				case 'climate':  
					_pageTitle += 'Climate';
					break;
				case 'jcBuzz':  
					_pageTitle += 'Johnson City Buzz';
					break;
				case 'maps':  
					_pageTitle += 'Maps';
					break;
				case 'contactUs':  
					_pageTitle += 'Contact Us';
					break;
			}
			break;
			
		case 'visitors':
			switch (_subPage) {
				case 'main':
                    _pageTitle += 'Visitors and Locals';
					break;
				case 'attractions':
                    _pageTitle += 'Attractions';
					break;
				case 'accommodations':
                    _pageTitle += 'Accommodations';
					break;
				case 'dining':
                    _pageTitle += 'Dining';
					break;
				case 'shopping':
	                _pageTitle += 'Shopping';
					break;
				case 'recreation':
                    _pageTitle += 'Recreation';
					break;
				case 'history':
                    _pageTitle += 'History';
					break;
				case 'dayTrips':
                    _pageTitle += 'Day Trips';
					break;
				case 'tours':
                   	_pageTitle += 'Tours';
					break;
				case 'girlsWeekends':
                    _pageTitle += 'Girls Weekends';
					break;
				case 'romanticWeekends':
                    _pageTitle += 'Romantic Weekends';
					break;
				case 'visitorsGuide':
                    _pageTitle += 'Visitors Guide';
					break;
				case 'coupons':
                    _pageTitle += 'Coupons';
					break;
				case 'directions':
                    _pageTitle += 'Directions';
					break;
				case 'deals':
                    _pageTitle += 'Deals';
					break;
			}					
			break;
			
		case 'meetings':
			switch (_subPage) {
				case 'main':
                    _pageTitle += 'Meetings and Groups';
					break;
				case 'services':
                   	_pageTitle += 'Services';
					break;
				case 'venues':
                    _pageTitle += 'Venues';
					break;
				case 'accommodations':
                    _pageTitle += 'Accommodations';
					break;
				case 'maps':
                   	_pageTitle += 'Maps';
					break;
				case 'events':
                    _pageTitle += 'Events';
					break;
				case 'offsiteAdventures':
                    _pageTitle += 'Offsite Adventures';
					break;
				case 'testimonials':
                    _pageTitle += 'Testimonials';
					break;
				case 'coupons':
                    _pageTitle += 'Coupons';
					break;
				case 'contactUs':
                    _pageTitle += 'Contact Us';
					break;
			}					
			break;
			
		case 'sports':
			switch (_subPage) {
				case 'whyJC':
                   	_pageTitle += 'Why JC';
					break;
				case 'ourServices':
                    _pageTitle += 'Our Services';
					break;
				case 'areaInfo':
                    _pageTitle += 'Area Info';
					break;
				case 'venuesFacilities':
                    _pageTitle += 'Venues Facilities';
					break;
				case 'areaSportsLinks':
                    _pageTitle += 'Area Sports Links';
					break;
				case 'testimonials':
                    _pageTitle += 'Testimonials';
					break;
				case 'registerTournaments':
                    _pageTitle += 'Register Tournaments';
					break;
				case 'calendarEvents':
                    _pageTitle += 'Calendar Events';
					break;
				case 'coupons':
                    _pageTitle += 'Coupons';
					break;
				case 'contactUs':
                    _pageTitle += 'Contact Us';
					break;
			}					
			break;
	}
	
	
	
	_pageTitle += _pageTitle == '' ? 'Johnson City Convention and Visitors Bureau' : ' - Johnson City Convention and Visitors Bureau';
	
	$('#pageTitle').empty().append(_pageTitle);
}

function getUrlValues() {
	var x = 0
	var _getObj = {};
	var _mySearch = arguments[0] ? arguments[0].substr(arguments[0].indexOf('?') + 1).split("&") 
					: location.search.substr(1).split("&");
	
	for (x=0;x < _mySearch.length;x++) {
		var _arr = _mySearch[x].split('=');
		_getObj[_arr[0]] = _arr[1];
	}
	
	return _getObj;
}
