function getSpecialAdsSearchDefinition(filter)
{
  var def = new Object;

  def.adapter  = "adresult";
  def.sort     = "rand()"; 
  def.listTemplate = "urgentadlist";
  def.markerTemplate = "mapinfowindow";
  def.maxRows  = 2;
  def.skipRows = 0; 
  def.showUrgent = true;

  var center = StarMap.getCenter();
  
  var zoomLevel = StarMap.zoomIndex + 2;
  if (zoomLevel > 5)
    zoomLevel = 5;

  var bounds = getBoundsForZoomLevel(zoomLevel);
  var westLong = bounds[0]; // min X = west
  var southLat = bounds[1]; // min Y = south
  var eastLong = bounds[2]; // max X = east
  var northLat = bounds[3]; // max Y = north
  def.bounds = [northLat, westLong, southLat, eastLong];

  def.filter = filter;
  
  var ctLong = center[0];
  var ctLat = center[1];

  def.center = [ctLat, ctLong];

  return def;   
}

function getUrgentAdsGeoPositionFilters()
{
  var map = {
	erbjudes: 1,
	erbjudesftg: 2,
	sokes: 3,
  sokesftg: 13,
	erbjudesorg: 4,
  bytes: 12
  };
  

  var freetext  = getFreeTextQuery();

  var servicetype = $F('servicetype');

  var sokes    = $('sokes').checked; 
  var privat   = $('privata').checked;
  var foretag  = $('foretag').checked;
 
  if (!privat && !foretag)
    privat = foretag = true;

  var sort     = _geoPositionSort; 
  var typesS = [];
  var typesU = [24,25]; // produkter

  if (freetext)
	freetext = "*" + freetext.split(" ").join("*&*") + "*";

  if (privat)
  {
	  typesS.push(map["sokes"]);
  }
  
  if (foretag)
  {
	  typesS.push(map["sokesftg"]);
  }
  
  var opt = new Object;
  opt.freetext = freetext;
  opt.typesS = typesS;
  opt.typesU = typesU;
  opt.servicetype = servicetype;
  opt.datelimit = 7; // max antal dagar sedan köp
  opt.showUrgent = 1;
  return opt; 
}

function getPriorityAdsGeoPositionFilters()
{
  var map = {
	erbjudes: 1,
	erbjudesftg: 2,
	sokes: 3,
  sokesftg: 13,
	erbjudesorg: 4,
  bytes: 12
  };
  

  var freetext  = getFreeTextQuery();

  var servicetype = $F('servicetype');

  //var sokes    = $('sokes').checked; 
  //var privat   = $('privata').checked;
  //var foretag  = $('foretag').checked;
 
  //if (!privat && !foretag)
    //privat = foretag = true;

  var sort     = _geoPositionSort; 
  var typesS = [];
  var typesU = [33]; // produkter

  //if (freetext)
	//freetext = "*" + freetext.split(" ").join("*&*") + "*";

  typesS.push(map["erbjudesftg"]);

  
  var opt = new Object;
  //opt.freetext = freetext;
  opt.typesS = typesS;
  opt.typesU = typesU;
  opt.servicetype = servicetype;
  opt.showUrgent = 1;
  opt.hideFullTaxServices = hideFullTaxServices;
  return opt; 
}


function refreshUrgentAdsSelection()
{
  var def = getSpecialAdsSearchDefinition(getUrgentAdsGeoPositionFilters());
  def.listTemplate = 'urgentadlist';
  
  var cb = function(data) 
	{ 
	  if (data && data.rows)
    {
	    $('urgent-ads').innerHTML = data.list;
      $('urgent-ads').style.display="block";
    }
    else
	  { 
      $('urgent-ads').innerHTML = "";	  
      $('urgent-ads').style.display="none";
    }
	};
  queuedRpcCall("maps.getPositions", def, cb); 
  
  refreshPriorityAdsSelection();
}

function refreshPriorityAdsSelection()
{
  var def = getSpecialAdsSearchDefinition(getPriorityAdsGeoPositionFilters());
  def.listTemplate = 'priorityadlist';
  
  var cb = function(data) 
	{ 
	  if (data && data.rows)
    {
	    $('priority-ads').innerHTML = data.list;
      $('priority-ads').style.display="block";
    }
    else
	  { 
      $('priority-ads').innerHTML = "";	  
      $('priority-ads').style.display="none";
    }
	};
  queuedRpcCall("maps.getPositions", def, cb); 
}