$(document).ready(function(){
	initSubMenu();
	initHomeSearch();
	initMarketData();
	initProducerCollapse();
	/*$('a').click(function(){
		if(typeof endAlertErrorLoadCalendarByWeeks == 'undefined'){
			endAlertErrorLoadCalendarByWeeks = true;
		}
		if(typeof endAlertErrorLoadCalendarWidget == 'undefined'){
			endAlertErrorLoadCalendarWidget = true;
		}
		if (!endAlertErrorLoadCalendarByWeeks) return false;
		if (!endAlertErrorLoadCalendarWidget) return false;
	});*/
});

/*
 * 'hampshireCoord' is the coordinates of center of map when the page loading
 */

var hampshireCoord = [51.046499,-1.161833];


// open/close subitems of submenu of sidebar
function initSubMenu(){
	var play = false;
	var newHeight = 0;
	var newMargin = 0;
	
	$('#sidebar ul.menu > li > a').click(function(){
		if (!$(this).parent().find('ul').get(0)) return true;
		
		if (play) return false;
		play = true;
		
		$(this).parent().toggleClass('active');
		
		if (newHeight == 0){
			newHeight = $(this).parent().find('ul').css({height: 'auto'}).height();
			$(this).parent().find('ul').css({height: 0});
			newMargin = "10px";
		}
		else {
			newHeight = 0;
			newMargin = "0";
		}
		
		$(this).parent().find('ul').animate({
			height: newHeight,
			marginTop: newMargin
		},function(){
			play = false;
		});
		
		return false;
	});
}


// select of home page redirecting to the markets
function initHomeSearch(){
	if ($('#sidebar #find-market').length == 0) return false;
	
	$('#find-market').change(function(){
		if( $(this).val() == 'Find your local market' ){
			window.location = basePath + '/?page_id=5';
		}
		else {
			redirectMarket = $(this).val();
			window.location = basePath + '/?page_id=5&redirectMarket='+ redirectMarket;
		}
	});
}


// google maps
function initMarketData(){
	if ($('#map').length == 0) return false;
	
	$.post(basePath + '/?page_id=5', { ajax : true}, function(data){
		$('body').prepend(data);
	});
}

function initMap(){
	var coord = hampshireCoord;
	var zoom = 9;
	var allMarkers = true;

	// if on load select value == or != Find your local market
	if ( $('#content div.find-market select').val() == 'Find your local market' ) {
		coord = hampshireCoord;
		//zoom = 9;
		allMarkers = true;
	}
	else {
		coord = markets[$('#content div.find-market select').val()];
		//zoom = 15;
		allMarkers = false;
	}
	
	// button 'Market Details'
	$('#content div.find-market ul.button li').css('display','none');
	$('#content div.find-market ul.button li a').each(function(){
		if ($(this).attr('title') == $('#content div.find-market select').val() )
			$(this).parent().css('display','block');
	});
	
	
	// init map
	$('#map').jmap('init', {
		'mapType':'hybrid',
		'mapCenter':coord,
		'mapZoom':zoom,
		'mapControl': 'small',
		'mapEnableType':true,
		'mapShowjMapsIcon': false
	});
	
	var mapMarkers = new Array(); 
	//markers on map
	for( var i in markets ){
		$('#map').jmap('AddMarker', {
			'pointLatLng': markets[i],
			'pointHTML': '<a href="'+ marketsPages[i] +'">'+ i +'</a><br/>'+ marketsTexts[i]
		}, function(marker,options){
			mapMarkers[i] = marker;
		});
	}

	if ( !allMarkers ) {
		for( var i in markets ){
			$('#map').jmap('RemoveMarker', mapMarkers[i]);
		}
		
		$('#map').jmap('AddMarker', {
			'pointLatLng': markets[$('#content div.find-market select').val()],
			'pointHTML': '<a href="'+ marketsPages[$('#content div.find-market select').val()] +'">'+ $('#content div.find-market select').val() +'</a><br/>'+ marketsTexts[$('#content div.find-market select').val()]
		},function(marker,options){
				mapMarkers[$('#content div.find-market select').val()] = marker;
			});
	}
	
	// show marker wich selected in select
	$('#content div.find-market select').change(function(){
		for( var i in markets ){
			$('#map').jmap('RemoveMarker', mapMarkers[i]);
		}
			
		if( $(this).val() == 'Find your local market' ){
			coord = hampshireCoord;
			//zoom = 9;
			
			allMarkers = true;
			$('#content div.find-market ul.button li').css('display','none');
		}
		else {
			coord = markets[$(this).val()];
			//zoom = 15;
			
			allMarkers = false;
			$('#content div.find-market ul.button li').css('display','none');
			
			$('#content div.find-market ul.button li a').each(function(){
				if ($(this).attr('title') == $('#content div.find-market select').val() )
					$(this).parent().css('display','block');
			});
		}

		$('#map').jmap('MoveTo',{
			'mapCenter': coord,
			'mapZoom': zoom
		});
		
		/*delete mapMarkers;
		var mapMarkers = new Array();*/
		if ( allMarkers ) {
			for( var i in markets ){
				$('#map').jmap('AddMarker', {
					'pointLatLng': markets[i],
					'pointHTML': '<a href="'+ marketsPages[i] +'">'+ i +'</a><br/>'+ marketsTexts[i]
				}, function(marker,options){
				mapMarkers[i] = marker;
				});
			}
		}
		else {
			$('#map').jmap('AddMarker', {
				'pointLatLng': markets[$('#content div.find-market select').val()],
				'pointHTML': '<a href="'+ marketsPages[$('#content div.find-market select').val()] +'">'+ $('#content div.find-market select').val() +'</a><br/>'+ marketsTexts[$('#content div.find-market select').val()]
			}, function(marker,options){
				mapMarkers[$('#content div.find-market select').val()] = marker;
			});
		}
		
	});
}


// collapse at Producers page
function initProducerCollapse(){
	
	$('#bizdir_directory_cont tr td h4 a').live('click', function (e){
		$(this).parent().parent().find('div.collapse').slideToggle();
		e.preventDefault();
	});
	
}
