$(document).ready(function() {

	var _fixedContentHeight = 128; // height of header & sub-header (108) and footer (20)
	var _sidebarWidth = 400;

	$(window).bind('resize', function() {
		resizeApp($('#sidebar, #sb-resizer, #ds-v div, #enquiry-panel, #enquiry-resizer'));
		//resizeMap($('#map'));
	});
	$(window).bind('load', function() {
		resizeApp($('#sidebar, #sb-resizer, #ds-v div, #enquiry-panel, #enquiry-resizer'));
		//resizeMap($('#map'));
	});
	
	function resizeApp(element) {
		element.height($(window).height()-_fixedContentHeight);
	}
	/* commented out because it conflicts with the minimse sidebar functionality 
	function resizeMap(element) {
		element.width($(window).width()-_sidebarWidth);
		element.height($(window).height()-_fixedContentHeight);
	}*/
	
});

function setupLayout() {
    $('a.tog-sidebar').toggle(function() {
        $('#map, #sidebar, .ds, a.tog-sidebar, ul.subnav').animate({
	    	marginLeft: "-400px"
        }, 250 );
		$(this).text('>>').addClass('tog-sidebar-open');
		setTimeout("map.checkResize()",320);
	}, function() {
		$('#map, #sidebar, .ds, a.tog-sidebar, ul.subnav').animate({
			marginLeft: "0"
		}, 250 );
		$(this).text('<<').removeClass('tog-sidebar-open');
		setTimeout("map.checkResize()",320);
	});
	//added by CH - dynamically create flags
	$('input[@name=chkcountry]+label').each(function(){
		$(this).css('background','transparent url(/i/images/flags/'+$(this).text()+'.png) no-repeat 0 50%');
	});
	$("input#allCountries").click(function()	{
		var checked_status = this.checked;
		$("input[@name=chkcountry]").each(function() {
			this.checked = checked_status;
		});
	});
	
}

var sortByVisible=true;

function toggleSortOptions(element)
{
    if (sortByVisible)
    {
        sortByVisible=false;
		element.removeClass('selected');
		$('ul#sort-options').animate({
			marginLeft: "-800px"
		},250);
    }
    else
    {
        sortByVisible=true;
		element.addClass('selected');
		$('ul#sort-options').animate({
			marginLeft: "0"
		},250);
    }
}

function applyResultsFilterJS()
{	
	$('li.results-nav-sort a.sort-button').toggle(function() {
	    toggleSortOptions($(this));
	}, function() {
	    toggleSortOptions($(this));
	});
	
	// GIF version - Fades in and out
	$('div#filter-options').hide();
	$('li.results-nav-filter a.filter-button').toggle(function() {
		$(this).parent().addClass('selected');
		$('div#filter-options').animate({
			height: "178px"
		}, 200 ).animate({
			height: "148px"
		}, 200 )
	}, function() {
		$('div#filter-options').animate({
			height: "0"
		}, 200 );
		$(this).parent().removeClass('selected');
	});
	
	/*
	$('li.results-nav-filter a').toggle(function() {
		$(this).addClass('selected');
		$('div.filter-options').slideDown(300)
	}, function() {
		$(this).removeClass('selected');
		$('div.filter-options').slideUp(300);
	});
	*/
}

var _listView = [];
function applyResortResultsFilterJS(searchType)
{
    //$('li.resort-view-stats a').addClass('selected');
	//$('li.resort-listing div.snow-report, li.resort-listing div.forecast').hide();

	$('li.resort-view-stats a').click(function() {
		setStatsView($(this));
		updateCurrentView($(this).attr('searchType'),'stats');
	});
	$('li.resort-view-snow a').click(function() {
		setSnowView($(this));
		updateCurrentView($(this).attr('searchType'),'snow');
	});
	$('li.resort-view-weather a').click(function() {
		setWeatherView($(this));
		updateCurrentView($(this).attr('searchType'),'weather');
	});
	$('li.resort-view-listed a').click(function() {
		setListedView($(this));
		updateCurrentView($(this).attr('searchType'),'listed');
	});
	
	if (_listView[searchType]==undefined)
	{
	    var lastView = Get_Cookie('RVIEW_'+searchType);
	    if (lastView != null)
	        _listView[searchType] = lastView;
	}
	if (_listView[searchType]!=undefined)
	    $('li.resort-view-'+_listView[searchType]+' a[@searchType="'+searchType+'"]').click();
	else
	    $('li.resort-view-stats a[@searchType="'+searchType+'"]').click();
}

function updateCurrentView(searchType, viewName)
{
    _listView[searchType] = viewName;
    Set_Cookie('RVIEW_'+searchType,viewName,30,'/',null,null);
}

function setStatsView(href)
{
        href.parent().parent().children('li').children('a').removeClass('selected');
		href.addClass('selected');
		$('li.resort-listing[@searchType="'+href.attr('searchType')+'"] div.resort-details').show();
		$('li.resort-listing[@searchType="'+href.attr('searchType')+'"] div.snow-report').hide();
		$('li.resort-listing[@searchType="'+href.attr('searchType')+'"] div.forecast').hide();
}

function setSnowView(href)
{
        href.parent().parent().children('li').children('a').removeClass('selected');
		href.addClass('selected');
		$('li.resort-listing[@searchType="'+href.attr('searchType')+'"] div.resort-details').hide();
		$('li.resort-listing[@searchType="'+href.attr('searchType')+'"] div.snow-report').show();
		$('li.resort-listing[@searchType="'+href.attr('searchType')+'"] div.forecast').hide();
}

function setWeatherView(href)
{
        href.parent().parent().children('li').children('a').removeClass('selected');
		href.addClass('selected');
		$('li.resort-listing[@searchType="'+href.attr('searchType')+'"] div.resort-details').hide();
		$('li.resort-listing[@searchType="'+href.attr('searchType')+'"] div.snow-report').hide();
		$('li.resort-listing[@searchType="'+href.attr('searchType')+'"] div.forecast').show();
}

function setListedView(href)
{
        href.parent().parent().children('li').children('a').removeClass('selected');
		href.addClass('selected');
		$('li.resort-listing[@searchType="'+href.attr('searchType')+'"] div.resort-details').hide();
		$('li.resort-listing[@searchType="'+href.attr('searchType')+'"] div.snow-report').hide();
		$('li.resort-listing[@searchType="'+href.attr('searchType')+'"] div.forecast').hide();
}

// GIF version - Fades in and out
	/*$('div.filter-options').css("opacity", "0").hide();
	$('li.results-nav-filter a').toggle(function() {
		$(this).addClass('selected');
		$('div.filter-options').show().animate( {
			opacity: "1"
		}, 200 )
	}, function() {
		$(this).removeClass('selected');
		$('div.filter-options')
		.animate( { opacity: "0" }, 450 )
		.animate( { opacity: "0" }, 1050 )
		.hide();
	});*/
	
	/*$('ul#sort-options').addClass("start").css("opacity", "0");
	$('li.results-nav-sort a.sort-button').toggle(function() {
		$(this).addClass('selected');
		$('ul#sort-options').animate({
			marginLeft: "0",
			opacity: "1"
		}, 250 )
	}, function() {
		$(this).removeClass('selected');
		$('ul#sort-options').animate({
			marginLeft: "-800px",
			opacity: "0"
		}, 250 )
	});*/
	//$('ul#sort-options').addClass("start");
	/*
	$('li.results-nav-sort a.sort-button').toggle(function() {
	    sortByVisible=true;
		$(this).addClass('selected');
		$('ul#sort-options').animate({
			marginLeft: "0"
		}, 250 )
	}, function() {
	    sortByVisible=false;
		$(this).removeClass('selected');
		$('ul#sort-options').animate({
			marginLeft: "-800px"
		}, 250 )
	});
	*/
	

