/* last edit Jan 28th 2007 - microformats [at] keepthebyte.com */

if (typeof Microformats == "undefined") {
  var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"].
                                 getService(Components.interfaces.nsIPromptService);
  promptService.alert(window, "", "Microformats are not available. Microformats.js must be included");
}

/* you must specify the handler you are adding to here, as well as the microformat */
/* it applies to */
Microformats.hCard.handlers['localch'] = {
/* Specify the description */
  description: "Find on local.ch",
/* specify an encoded icon */
  icon: "data:image/png;base64," +
  "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJhUExURf3/6f7/9Pj////3//7/+Pf///v//+3///b9///9+v/8/f79/2WF2PL///v//vn//8rT8v/7/yJuuRoyxuX2/fn7//v6/wQ2sU2zRRUqqv/6/h1CtBMsoE+tVSUzttslGky0O/j/4QsWpBlf280qABte0c4mAM4UGRVc9vX/6y9b2BVr0hUfgFWzOdEfHd0YEiZbyyM1mRVjz//9/RxasU21UhMzukO4UIaP0O7/9nqk1vD/9/T////6+NDl///4//r+7+r5/93r///9+P/x+dfy/yAuxdYfDUJu2+Dm/K/S+vn9/8H1///4+gATVvfx///09Pf/+3yPx8LO/g8Sn/z//36e6f/42c3c82+s7/z/8/f/7ej/9snX///45iJg2Rw4jAdj6OT29rzX/wAilhc7k+j////y///z//j9///9/+7////2//T/6uT2//b6/f/1+v/29v/1/9IkGfX7/xxJsCBcyvf/84GZ3ykwdPj79B9W90i2ORw4tfH//xY/vyFY6B1o51por//58/T/8xMxxVdzvNEQB0Z0yuf5/0e5SssUDvDw+O//84mP2fb66/z/9vv19+f4/6Opzf7////07S23QOn//+3/9v/5+//8+vj/5g4qy8rq+TE3sccjAPP//ydT1v/w9uv//hRh4fD///X/8dwaAP/6/Pz992KEqeHf7NPZ+W+a6dIoD02xQVa2SvL8/e///9Ln/1C4PSQ6scrS1NYgLygmi/7/9qq2wholj8Tb4zFguO7//QAlvff/8Tdb1r/e8Pv/4P/6/+7u/8wuIv/8//7/4zy1RP///26vOnsAAAESSURBVHjaYkjcUCMrYa673vTkli6FaSdPMmj1n5p4YjFb3mreHu8cW5djDBpMTNmuYU1bhcX3Rh5qiVNjMGKZ4dNh5jQ9NC02ofJoRjtD2QkmHkPHEw5cmccjtpU3r2NoLKlIXcM621rxALPY8WUMKgwNrGtri2YxSi2tC2BjjF7RzbBwn5AJg/MR5uPHC7gn5M7UZ1jCblDqu4hxIzMLJ18WQ/h2BtUFHilVxv6nbGL2zN0swDCfIV7Tan+QJb/gzuB5knIWK4sZqk9NcgtJDpwy9bionc7kE+oMyoyHPXco9XVG9bJ7+e064c6gvYmDQ6Rtt0xr/RzpVUmn9BgOpp84BQX5x+0L5RlOooLlAAEGAEsObhUPuqbcAAAAAElFTkSuQmCC",

/* The action will be called whenever your item is selected */
/* We have provided a few helper function to be used in action */
/*   Microformats.loadUrl(url); - loads a URL */
/*   bookmark(item, microformatname) - bookmarks the microformat */
action: function(item, event)
{
	var hcard = Microformats.hCard.create(item);
	var fn = hcard.fn;
  
	try {
		var topAdr = hcard.adr[0];
	}
	catch(err) {
		topAdr = 'not present';
	}

if (topAdr != 'not present') {
	
	var elements = ['street_address','postal_code','locality'];
  	var addr = '';
  
  if (topAdr.adr) {
    addr = topAdr.adr;
  } else {
    var got_first = false;
    for (var i in elements) {
      if (topAdr[elements[i]]) {
        if (got_first) {
          addr += ", ";
        }
        addr += topAdr[elements[i]];
        got_first = true;
      } 
    }
  }
 }

  if (fn) {
	url = "http://www.local.ch/q/" + encodeURIComponent(fn) + ".html";
	}
  if (addr) {
	url = "http://www.local.ch/q/" + encodeURIComponent(addr);
	}
  if (addr && fn) {
	url = "http://www.local.ch/q/" + encodeURIComponent(addr) + "/" + encodeURIComponent(fn);
	}
  Microformats.loadUrl(url, event);
}
}
