
				/* sIFR jQuery plug-in  */
				(function(jQuery) {
	
					var activated = false;
					var hexDigits = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'];
					
					function rgbToHex(color) {
						if (color.substring(0,1) == '#') return color;
						var parts = color.match(/rgb\(([0-9]+),\s([0-9]+),\s([0-9]+)\)/);
						var r = parts[1], g = parts[2], b = parts[3];
						return '#' + hexDigits[(r - r % 16) / 16] + hexDigits[r % 16] + hexDigits[(g - g % 16) / 16] + hexDigits[g % 16] + hexDigits[(b - b % 16) / 16] + hexDigits[b % 16];
					}
					
					jQuery.fn.sifr3 = function(options) {
						
						var opts = $.extend({}, options);
						
						if (!activated) {
							sIFR.activate();
							sIFR.initialize();
							activated = true;
						}
						
						return this.each(function() {
							var el = $(this);
							var font = { src : opts.font };
							var options = $.extend(
								{
									elements : [this],
									css : {
										'.sIFR-root' : {
											'color' : rgbToHex(el.css('color')),
											'text-align' : el.css('text-align').match(/left|center|right/) || 'left',
											'text-transform' : el.css('text-transform'),
											'letter-spacing' : el.css('letter-spacing').match('normal') ? 0 : el.css('letter-spacing').match(/-?\d/)[0]
										}
									},
									transparent : true
								},
								opts
							);
							try {
			
								sIFR.replace(font, options);

								// AND FIX BUG WITH FLASH + SIFR3 plugin version by overriding __flash__removeCallback
								window.__flash__removeCallback = function (instance, name) {
									if ( instance ) {
										instance[name] = null;
									}
								}
					
							} catch(e) {
								// do nothing...
							}
						});
						
					}
					
				})(jQuery);