
var MapIconMaker = {};

MapIconMaker.createMarkerIcon = function(opts) {
  var width = opts.width || 32;
  var height = opts.height || 32;
  var primaryColor = opts.primaryColor || "#ff0000";
  var strokeColor = opts.strokeColor || "#000000";
  var cornerColor = opts.cornerColor || "#ffffff";
   
  var baseUrl = "http://chart.apis.google.com/chart?cht=mm";
  var iconUrl = baseUrl + "&chs=" + width + "x" + height + 
      "&chco=" + cornerColor.replace("#", "") + "," + primaryColor.replace("#", "") + "," + strokeColor.replace("#", "") + "&ext=.png";
  var icon = new GIcon(G_DEFAULT_ICON);
  icon.image = iconUrl;
  icon.iconSize = new GSize(width, height);
//  icon.shadowSize = new GSize(Math.floor(width*1.6), height);
	icon.shadow="";
  icon.iconAnchor = new GPoint(width/2, height);
  icon.infoWindowAnchor = new GPoint(width/2, Math.floor(height/12));
  icon.printImage = iconUrl + "&chof=gif";
  icon.mozPrintImage = iconUrl + "&chf=bg,s,ECECD8" + "&chof=gif";
  var iconUrl = baseUrl + "&chs=" + width + "x" + height + 
      "&chco=" + cornerColor.replace("#", "") + "," + primaryColor.replace("#", "") + "," + strokeColor.replace("#", "");
  icon.transparent = iconUrl + "&chf=a,s,ffffff11&ext=.png";

  icon.imageMap = [
      width/2, height,
      (7/16)*width, (5/8)*height,
      (5/16)*width, (7/16)*height,
      (7/32)*width, (5/16)*height,
      (5/16)*width, (1/8)*height,
      (1/2)*width, 0,
      (11/16)*width, (1/8)*height,
      (25/32)*width, (5/16)*height,
      (11/16)*width, (7/16)*height,
      (9/16)*width, (5/8)*height
  ];
  for (var i = 0; i < icon.imageMap.length; i++) {
    icon.imageMap[i] = parseInt(icon.imageMap[i]);
  }

  return icon;
}

var icon1 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#663300"});
var icon2 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#66CCFF"});
var icon3 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#FF0000"});
var icon4 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#00FF66"});
var icon5 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#CCFFCC"});
var icon6 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#3366FF"});
var icon7 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#CC00FF"});
var icon8 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#00CC33"});
var icon9 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#3399FF"});
var icon10 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#00CC33"});
var icon11 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#CCFF00"});
var icon12 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#FF9900"});
var icon13 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#CC3399"});
var icon14 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#6633FF"});
var icon15 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#00CC66"});
var icon16 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#FF0000"});
var icon17 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#FFFF00"});
var icon18 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#0033FF"});
var icon19 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#99FF33"});
var icon20 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#33CC33"});
var icon21 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#FB6F00"});
var icon22 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#CC3399"});
var icon23 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#996600"});
var icon24 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#33FFFF"});
var icon25 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#00CCFF"});
var icon26 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#33FF66"});
var icon27 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#FFCC00"});
var icon28 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#FF9933"});
var icon29 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#FF0000"});
var icon30 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#33FF00"});
var icon31 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#FEABA5"});
var icon32 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#41A03D"});
var icon33 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#FEAF5A"});
var icon34 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#71A46D"});
var icon35 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#FFE026"});
var icon36 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#FFD639"});
var icon37 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#0C11B8"});
var icon38 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#4CFF72"});
var icon39 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#FF614C"});
var icon40 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#494568"});
var icon41 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#C5D6ED"});
var icon42 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#FFFFFF"});
var icon43 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#FDFC01"});
var icon44 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#800000"});
var icon45 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#FFFFFF"});
var icon46 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#295AAD"});
var icon47 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#FFFFFF"});
var icon48 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#008400"});
var icon49 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#008CF7"});
var icon50 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#9CFFFF"});
var icon51 = new MapIconMaker.createMarkerIcon({width: 16, height: 32, primaryColor: "#FF0000"});
