// JavaScript Document
var choosen_period;
var offsetsholdingarray = new Array();
var current_offset = 0;
var fade_speed = 300;
date_action_controllers = {
	click: function() {
		// do something on click
		dateMouseClickHandler(this);
	},
	mouseenter: function() {
		// do something on mouseenter
		dateMouseOverHandler(this);			
	},
	mouseleave: function() {
		// do something on mouseenter
		dateMouseOutHandler(this);
	}
};

negative_offset = {
	click : function(){
		old_offset = current_offset;
		current_offset-=1;	
		


		if(offsetsholdingarray["offset"+current_offset]){
			jQuery("#offset"+old_offset).fadeOut(fade_speed , function() {
				// Animation complete.
				jQuery("#offset"+current_offset).fadeIn(fade_speed , function() {
					// Animation complete.
			  	});
		  	});
		}
		else{
			jQuery.post(
								 'index.php',
								 {
									 cmd : "getDateOffset",
									 current_offset : current_offset
								 },
								 function(data){

									 eval(data);
									 
									jQuery("#offset"+old_offset).fadeOut(fade_speed , function() {
										// Animation complete.
										jQuery("#offset"+current_offset).fadeIn(fade_speed , function() {
											// Animation complete.
										});
									});									 
									 
								 }
						);
		}
	}
}

positive_offset = {
	click : function(){
		old_offset = current_offset;
		current_offset+=1;	
		


		if(offsetsholdingarray["offset"+current_offset]){
			jQuery("#offset"+old_offset).fadeOut(fade_speed, function() {
				// Animation complete.
				jQuery("#offset"+current_offset).fadeIn(fade_speed, function() {
					// Animation complete.
			  	});
		  	});
		}
		else{
			jQuery.post(
								 'index.php',
								 {
									 cmd : "getDateOffset",
									 current_offset : current_offset
								 },
								 function(data){

									 eval(data);
									 
									jQuery("#offset"+old_offset).fadeOut(fade_speed , function() {
										// Animation complete.
										jQuery("#offset"+current_offset).fadeIn(fade_speed , function() {
											// Animation complete.
										});
									});									 
									 
								 }
						);
		}
	}
}



function dateMouseOverHandler(obj){
	if(choosen_period==obj.id){
		return;
	}
	else{

		jQuery('#'+obj.id).attr('class','dateholder_selecting');				
	
	}
};
function dateMouseOutHandler(obj){
	//alert(obj.alt)
	if(choosen_period==obj.id){
		return;
	}
	else{
		jQuery('#'+obj.id).attr('class','dateholder');				
	
	}

};
function dateMouseClickHandler(obj){

	clean_listeners();
	
	jQuery("#main_select_latest").attr("checked","checked");
	
	jQuery('.category_radio_holder_active').attr('class',"category_radio_holder");	
	jQuery("#category_radio_holder_-1" ).attr('class','category_radio_holder_active');	

	if(choosen_period==obj.id){
		if(choosen_period=='seven_days'){
			
			jQuery("#offset"+current_offset).fadeOut(fade_speed , function() {
				// Animation complete.
				current_offset = 0;				
				jQuery("#offset"+current_offset).fadeIn(fade_speed , function() {
					// Animation complete.
			  	});
		  	});			
			/*
			map.setCenter(new GLatLng(DEFAULT_LAT, DEFAULT_LNG), DEFAULT_ZOOM);			
			*/
			getLocationsLatest();

		}
		else{			

			getLocationsByDate();			
		}
	}
	else{
		jQuery('#'+choosen_period).attr('class','dateholder');
		jQuery('#'+obj.id).attr('class','dateholder_selected');				
		choosen_period=obj.id;
		if(choosen_period=='seven_days'){
			
			jQuery("#offset"+current_offset).fadeOut(fade_speed , function() {
				// Animation complete.
				current_offset = 0;				
				jQuery("#offset"+current_offset).fadeIn(fade_speed , function() {
					// Animation complete.
			  	});
		  	});				
			/*
			map.setCenter(new GLatLng(DEFAULT_LAT, DEFAULT_LNG), DEFAULT_ZOOM);			
			*/
			getLocationsLatest();

		}
		else{	

			getLocationsByDate();			
		}
	}			

};				

//function triggered on event place page load
function getLocationsByDate() {
	hibernateSearch();
	searchControlForeignReset();
	currActiveMode = "getLocationsByDateZoomed();";	

		jQuery('iframe#track').attr('src', ROOT_URL+"/track/get-date-"+choosen_period);
	
		jQuery('iframe#track').load(function() 
		{
			//alert('done');
		});	
	
	clean_listeners();			
	//showLoadingImage();

  markers_pointers	 = new Array();
	/*  
	  var center = map.getCenter();  
	  radius = getMapRadius();  
	  zoom = map.getZoom();    
  */

  radius = DEFAULT_RADIUS;
  lat = DEFAULT_LAT;
  lng = DEFAULT_LNG; 
  zoom = DEFAULT_ZOOM;
  
  var filter = document.getElementById('mySearchBox').value;

  var latestUrl = '/index.php?cmd=byDate&zoom='+zoom+'&center_lat='+lat+'&center_lng='+lng+'&radius='+radius+'&date_key='+choosen_period+'&filterMode='+currToggleCode+'&filter='+filter;

	showPreLoadListings();

	/*
  GDownloadUrl(latestUrl, function(data) {




	var xml = GXml.parse(data);
	//var sidebar = document.getElementById('sidebar');
	//sidebar.innerHTML = '';	
	
	var query = xml.documentElement.getElementsByTagName('query');
	

	var markers = xml.documentElement.getElementsByTagName('marker');
	//map.clearOverlays();

	var bounds = new GLatLngBounds();

	default_marker = null;
	for (var i = 0; i < markers.length; i++) {

		var id = markers[i].getAttribute('id');
		var url_alias = markers[i].getAttribute('url_alias');		
		var cluster = markers[i].getAttribute('cluster');	
		var markerIcon = markers[i].getAttribute('markerIcon');


		if(cluster ==0){
			//alert('single '+name );
			//var marker = createMarker(point, name, address);
			var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')),
							  parseFloat(markers[i].getAttribute('lng')));			
			var marker = addMarkerCatCord(id, parseFloat(markers[i].getAttribute('lat')), parseFloat(markers[i].getAttribute('lng')), map, url_alias,markerIcon);		
		
			//var sidebarEntry = createSidebarEntry(id,marker, name, address, distance, file_name);
			//var sidebarEntry = createSidebarEntry(id,marker, name, address, distance, file_name);
			//sidebar.appendChild(sidebarEntry);
			bounds.extend(point);
		}
		else{
			//alert('cluster '+name );			
			var point1 = new GLatLng(parseFloat(markers[i].getAttribute('east_most')),
								  parseFloat(markers[i].getAttribute('north_most')));			
			var point2 = new GLatLng(parseFloat(markers[i].getAttribute('west_most')),
								  parseFloat(markers[i].getAttribute('south_most')));			
			
			var marker = addClusterCord(id, point1 , point2 , map, cluster );
		
			//var sidebarEntry = createSidebarEntry(id,marker, name, address, distance, file_name);
			//var sidebarEntry = createSidebarEntry(id,marker, name, address, distance, file_name);
			//sidebar.appendChild(sidebarEntry);
			bounds.extend(point1 );			
			bounds.extend(point2);						
			
		}

	}




	//map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
	//map.setCenter(default_marker.getPoint(), 19);

	//GEvent.trigger(default_marker, 'click');		
	if(markers.length){
		map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
	}
	
	//displayRoute(markers_pointers);
	
	//catches drag of map event
	myEvent = GEvent.addDomListener(map, 'dragend', function() {
		getLocationsByDateZoomed();
	});		
	
	event_listeners.push(myEvent ); 	
		
	//catches zoom of map event	
	myEvent = GEvent.addDomListener(map, 'zoomend', function(oldLevel, newLevel) {
		//getLocationsCategory(id, map.getZoom());
		//alert(newLevel);
		getLocationsByDateZoomed();
	});			
	 	
	event_listeners.push(myEvent ); 			
  });
*/

  	listingsParams = {
					   cmd:'byDateListings',
					   zoom:zoom,
					   center_lat:lat,
					   center_lng:lng,
					   radius:radius,
					   date_key:choosen_period,
					   filterMode:currToggleCode,
					   filter:filter,
					   offset:0
				   }
	jQuery.getJSON('/index.php', 
				  listingsParams
				  ,
				   
					function(data) {
						generateNewListings(data);
			});  
  				   

};

//function triggered on event place page load
function getLocationsByDateZoomed() {
	
	/*
	update_main_selector_count();	

		jQuery('iframe#track').attr('src', ROOT_URL+"/track/"+choosen_period+"-date-happenings-reloaded");
	
		jQuery('iframe#track').load(function() 
		{
			//alert('done');
		});		

  zoom = map.getZoom();
  markers_pointers	 = new Array();
  var center = map.getCenter();  
  radius = getMapRadius();
  var filter = document.getElementById('mySearchBox').value;
  
  var latestUrl = '/index.php?cmd=byDate&zoom='+zoom+'&center_lat='+center.lat()+'&center_lng='+center.lng()+'&radius='+radius+'&date_key='+choosen_period+'&filterMode='+currToggleCode+'&filter='+filter;
	showPreLoadListings();
  GDownloadUrl(latestUrl, function(data) {
	
	document.getElementById('err_msg2').innerHTML = data;

	//return;
	//alert()
	var xml = GXml.parse(data);
	//var sidebar = document.getElementById('sidebar');
	//sidebar.innerHTML = '';

	var markers = xml.documentElement.getElementsByTagName('marker');
	//map.clearOverlays();
	//mgr = new MarkerManager(map);  
	
	var bounds = new GLatLngBounds();

	default_marker = null;

	for (var i = 0; i < markers.length; i++) {

		var id = markers[i].getAttribute('id');
		var url_alias = markers[i].getAttribute('url_alias');		
		var cluster = markers[i].getAttribute('cluster');	
		var markerIcon = markers[i].getAttribute('markerIcon');


		if(cluster ==0){
			//alert('single '+name );
			//var marker = createMarker(point, name, address);
			var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')),
							  parseFloat(markers[i].getAttribute('lng')));						
			
			var marker = addMarkerCatCord(id, parseFloat(markers[i].getAttribute('lat')), parseFloat(markers[i].getAttribute('lng')), map, url_alias,markerIcon);		
		
			//var sidebarEntry = createSidebarEntry(id,marker, name, address, distance, file_name);
			//var sidebarEntry = createSidebarEntry(id,marker, name, address, distance, file_name);
			//sidebar.appendChild(sidebarEntry);
			//bounds.extend(point);
		}
		else{
			//alert('cluster '+name );		
			var point1 = new GLatLng(parseFloat(markers[i].getAttribute('east_most')),
								  parseFloat(markers[i].getAttribute('north_most')));			
			var point2 = new GLatLng(parseFloat(markers[i].getAttribute('west_most')),
								  parseFloat(markers[i].getAttribute('south_most')));			
			var marker = addClusterCord(id, point1, point2 , map, cluster );
		
			//var sidebarEntry = createSidebarEntry(id,marker, name, address, distance, file_name);
			//var sidebarEntry = createSidebarEntry(id,marker, name, address, distance, file_name);
			//sidebar.appendChild(sidebarEntry);
			//bounds.extend(point);			
			
		}

	}
  
	

	//map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
	//map.setCenter(default_marker.getPoint(), 19);
			
	//GEvent.trigger(default_marker, 'click');		
	//map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
	

  });
*/
  var filter = document.getElementById('mySearchBox').value;	
	listingsParams = {
					   cmd:'byDateListings',
					   zoom:DEFAULT_ZOOM,
					   center_lat:DEFAULT_LAT,
					   center_lng:DEFAULT_LNG,
					   radius:DEFAULT_RADIUS,
					   date_key:choosen_period,
					   filterMode:currToggleCode,
					   filter:filter,
					   offset:0
				   }
	
	jQuery.getJSON('/index.php', 
				  listingsParams
				  ,
				   
					function(data) {
						generateNewListings(data);
			});    
}	



