// JavaScript Document

function update_main_selector_count(){
	return;
  var center = map.getCenter();  
  radius = getMapRadius();  
  zoom = map.getZoom();  
  
  jQuery.post(	
			  	'/index.php',
			  	{
					cmd:'updateCurrentCategoryCount',
					center_lat : center.lat(),
					center_lng : center.lng(),
					radius		: radius
				},
				function(data){

					eval(data);
					//jQuery("#main_select_"+cat_count_data[x].id).html(cat_count_data[x].name+" ("+cat_count_data[x].count+")");

					jQuery("#category-selector option").each(function () {
							  //str += jQuery(this).text() + " ";
							  key = jQuery(this).val();
							  //alert(key+" "+typeof cat_count_data[key] );

							  if(typeof cat_count_data[key] =="undefined"){
								  jQuery(this).html(jQuery(this).attr('name')+" (0)");								  								  
							  }
							  else{
								  jQuery(this).html(cat_count_data[key].name+" ("+cat_count_data[key].count +")");								  

							  }
					});


					
				}
			  )
}

function tb_showMarkerContent(marker_id){
	//tb_show(caption, this.href, group);				

	jQuery.post(
					'/index.php', 
					{
						cmd : 'getMarkerForDisplay',
						to_highlight : jQuery('#mySearchBox').val(),
						marker_id : marker_id
					},
					function(data) {
						
						eval(data);
					}
				);

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


	//TB_show("testing", "#TB_inline?height=400&width=600&inlineId=remaining_content_holders");				

}



//adds a marker to the map given cordinates
function addMarkerCatCord(id, lat, lng, map, url_alias, markerIcon){
	return;
	//var marker = new GMarker(new GLatLng(lat, lng), {draggable: true });
	
	// Create our "cafe" marker icon
	var cafeIcon = new GIcon();
	cafeIcon.image = icon_factory(id,markerIcon);
	cafeIcon.shadow = "http://chart.apis.google.com/chart?chst=d_map_pin_shadow";
	cafeIcon.iconSize = new GSize(40, 40);
	cafeIcon.shadowSize = new GSize(0, 0);
	cafeIcon.iconAnchor = new GPoint(0, 0);
	cafeIcon.infoWindowAnchor = new GPoint(0, 0);
	// Set up our GMarkerOptions object literal
	markerOptions = { icon:cafeIcon , draggable:true};	
	
	var marker = new GMarker(new GLatLng(lat, lng),markerOptions);    
	//Icon.iconSize = new GSize(20, 34);
	//marker.setImage( icon_factory(id,markerIcon) );				
	
	point = new GLatLng(lat, lng);

	//sets the onclick event for the marker
	GEvent.addListener(marker, 'click', function() {

		//alert(ROOT_URL+"/track/"+url_alias);

		jQuery('iframe#track').attr('src', ROOT_URL+"/track/"+url_alias);
	
		jQuery('iframe#track').load(function() 
		{
			//alert('done');
		});
		
		if(typeof fb_profile.id !='undefined'){
		
		
			jQuery.post(
							"/index.php",
							{
								cmd: "updateActionHistory",
								user_id:	fb_profile.id,
								marker_id:	id,
								action:		"read"
							},
							function(data){
								eval(data);
							}
						);
		}


		resetMarkersImage();

		marker.setImage(ROOT_URL+'/images/selected_marker.png');	   
	   	focus_marker = marker;

		tb_showMarkerContent(id);
		
	});
	
	//sets the onclick event for the marker
	GEvent.addListener(marker, "dragend",  function() {
		
		//ensures each new movement gets tracked	
		jQuery('iframe#track').attr('src', ROOT_URL+"/track/"+url_alias);
	
		jQuery('iframe#track').load(function() 
		{
			//alert('done');
		});		
  

		
	   focus_marker = marker;
		resetMarkersImage();
		marker.setImage(ROOT_URL+'/images/selected_marker.png');	   

	});	
	
	//sets the onclick event for the marker
	GEvent.addListener(marker, "mouseover",  function() {
		clearLabels();
		jQuery.post('index.php',
						{
							marker_id: id,
							cmd: 'getLabel'
						},
						function(data){
							eval(data);
						}
					);
	});		
	
	//sets the onclick event for the marker
	GEvent.addListener(marker, "mouseout",  function() { 
		clearLabels();
	});			
	
	//sets the start drag event for the marker
	GEvent.addListener(marker, "dragstart", function() {

	});


	//sets the end drag event for the marker
	GEvent.addListener(marker, "dragend", function() {

	   point = marker.getLatLng() ;

	   jQuery.post(
				   'index.php', 
				   { 	id:	id,
				   		lat: point.lat(), 
						lng: point.lng() ,
						cmd: 'update_cord'
					}, 
				function(data) {
				  eval(data);
		});
	});
	/*	
	GEvent.addListener(marker, "mouseover", function() {
		jQuery(document).scrollTop(jQuery('#listings_entry_'+id).offset().top);
		

	});	*/

	map.addOverlay(marker);
	markers_pointers[id] = marker;  	 

	//marker.setImage("http://thingstodosingapore.com/property_img/"+file_name);	

	//marker.openInfoWindowHtml("New marker");
	return marker;
}


function getLocationsCategoryLanding(org_id, lat, lng, load_time_cat){
	tb_showMarkerContent(org_id);
	clean_listeners();	
	zoom = 19;
	//markers_pointers	 = new Array();
	markers_pointers	 = [];  


	var radius = 1;

	/*
	var latestUrl = '/index.php?cmd=category&id='+load_time_cat+'&zoom='+zoom+'&center_lat='+lat+'&center_lng='+lng+'&radius='+radius+'&limit=1&org_id='+org_id;
	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);		
		
			  if(org_id == id){

				default_marker = marker;
			  }

			//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);						
			
		}
	
	}
	

	if(default_marker!=null){

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

		default_marker.setImage(ROOT_URL+'/images/selected_marker.png');
	}
	else{

		map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
	}	
	
	
	//catches drag of map event
	myEvent = GEvent.addDomListener(map, 'dragend', function() {
		getLocationsCategoryZoomed();
	});		
	
		
	event_listeners.push(myEvent ); 			
	//catches zoom of map event	
	myEvent = GEvent.addDomListener(map, 'zoomend', function(oldLevel, newLevel) {
		//getLocationsCategory(id, map.getZoom());
		//alert(newLevel);
		getLocationsCategoryZoomed();
	});			
	event_listeners.push(myEvent ); 		
	 
	

	update_main_selector_count();	
	
	});
	*/	

  	listingsParams = {
					   cmd:'categoryListings',
					   id:load_time_cat,
					   zoom:zoom,
					   center_lat:lat,
					   center_lng:lng,
					   radius:radius,
					   offset:0
				   }

	jQuery.getJSON('/index.php', 
				  listingsParams
				  ,
				   
					function(data) {
						generateNewListings(data);
			});   
	currActiveMode = "getLocationsCategoryZoomed();";			

}



//function triggered on event place page load
function getLocationsCategory(id) {



	hibernateSearch();
	searchControlForeignReset();
	currActiveMode = "getLocationsCategoryZoomed();";	

		jQuery('iframe#track').attr('src', ROOT_URL+"/track/category-"+id);
	
		jQuery('iframe#track').load(function() 
		{
			//alert('done');
		});	
	
	clean_listeners();		
  //markers_pointers	 = new Array();
  markers_pointers	 = [];  
  /*
  var center = map.getCenter();  
  radius = getMapRadius();
  zoom = map.getZoom();*/
  var filter = document.getElementById('mySearchBox').value;  

	showPreLoadListings();
	/*
  var latestUrl = '/index.php?cmd=category&id='+id+'&zoom='+zoom+'&center_lat='+center.lat()+'&center_lng='+center.lng()+'&radius='+radius+'&filterMode='+currToggleCode+'&filter='+filter;
  //alert(latestUrl );


	
  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(point1);			
			bounds.extend(point2);						
			
		}

	}


	

	//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));
	
	//catches drag of map event
	myEvent = GEvent.addDomListener(map, 'dragend', function() {
		getLocationsCategoryZoomed();
	});		
		
	event_listeners.push(myEvent ); 			
	//catches zoom of map event	
	myEvent = GEvent.addDomListener(map, 'zoomend', function(oldLevel, newLevel) {
		//getLocationsCategory(id, map.getZoom());
		//alert(newLevel);
		getLocationsCategoryZoomed();
	});			
	event_listeners.push(myEvent ); 		
	 

	

  });
  */

  	listingsParams = {
					   cmd:'categoryListings',
					   id:id,
					   zoom:DEFAULT_ZOOM,
					   center_lat:DEFAULT_LAT,
					   center_lng:DEFAULT_LNG,
					   radius:DEFAULT_RADIUS,
					   filterMode:currToggleCode,
					   filter:filter,
					   offset:0
				   }
  
	jQuery.getJSON('/index.php', 
				  listingsParams
				  ,
				   
					function(data) {
						generateNewListings(data);
			});   
	  
  
}	

//function triggered on event place page load
function getLocationsCategoryZoomed() {
	showPreLoadListings();

  jQuery("#category-selector option:selected").each(function () {
		  //str += jQuery(this).text() + " ";

		  id = jQuery(this).val();
  });	
/*
	update_main_selector_count();	

		jQuery('iframe#track').attr('src', ROOT_URL+"/track/category-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=category&id='+id+'&zoom='+zoom+'&center_lat='+center.lat()+'&center_lng='+center.lng()+'&radius='+radius+'&filterMode='+currToggleCode+'&filter='+filter;

	
  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();
	
	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');		
	//map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
	

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

}	


