var GMIconsRegistry = new Object ();

GMIconsRegistry.setDefaultSize = function (defaultSize)
{
  this.defaultSize = defaultSize;
}

GMIconsRegistry.setDefaultType = function (defaultType)
{
  this.defaultType = defaultType;
}

GMIconsRegistry.getIcon = function (name, wShade, size, type)
{
  if (!size) size = this.defaultSize;
  if (!type) type = this.defaultType;  

  var MIconsPath = '/markers/' + size + '-' + type + '/';
  var shade = wShade ? '' : '-no-shade';
  
  var icon = {
  
    'image': MIconsPath + 'marker-' + name.toLowerCase() + shade + '.png',
    'name' : name.toLowerCase()
  
  };
  
  if (size == 'big')
  {
      icon.iconAnchor = wShade ? new GPoint(50, 67) : new GPoint(10, 34);
      icon.iconSize   = wShade ? new GSize(100, 100) : new GSize(34, 34);
      
  } else if (size == 'small')
  {
      icon.iconAnchor = wShade ? new GPoint(17, 23) : new GPoint(5, 17);
      icon.iconSize   = wShade ? new GSize(34, 34) : new GSize(17, 17);
  }
  
  icon.infoWindowAnchor = new GPoint(icon.iconAnchor.x, 0);
  
  return icon;
}
