this.tmpl = function tmpl(str, data)
{
    return str.replace(/{([^{}]*)}/g,
        function (a, b) {
            var r = data[b];
            return typeof r === 'string' || typeof r === 'number' ?r : a;
        });
 };


function generateHTML(doc, template){
	//console.log(doc);

		contentHTML =  tmpl(template,{program:doc.ProgramId, price:doc.ProductPrice, currency: doc.CurrencySymbolOfPrice, image:doc.ImageSmallURL,imagesmall:doc.ImageSmallURL,imagemedium:doc.ImageMediumURL,imagelarge:doc.ImageLargeURL,name:doc.ProductName ,link:doc.ZanoxProductLink, linkppv:doc.ZanoxProductLink ,linkppc:doc.ZanoxProductLink , description:doc.ProductShortDescription, descriptionLong:doc.ProductLongDescription  });
		return contentHTML;
}

function addScript(q, url, template)
{

		var content = "";
		var contentHTML = "";
		var array = new Array();
		
		if (jQuery('span#solrify[title]').attr('title'))
		{
			q = jQuery('span#solrify[title]').attr('title');
		}

		jQuery.getJSON(url + "&q=" + q + "&json.wrf=?", function(data)
		{


			if (data.response.numFound ==1 )
			{
				contentHTML =generateHTML(data.response.docs);
			} else
			{
				jQuery.each(data.response.docs, function(i, item)
				{
						contentHTML = contentHTML + generateHTML(item, template);
				});
			}
			jQuery('span#solrify').replaceWith(contentHTML );
			jQuery('.currencyField').formatCurrency(); 
			
			jQuery('.imgContainer').each(function()
			{
				//console.log( jQuery(this).find("img").attr("src") );
				if(jQuery(this).find("img").attr("src") == "")
					jQuery(this).remove();
			});
			

		});
}


(function($) {
	
	$.fn.formatCurrency = function(settings) {
		settings = jQuery.extend({
		    name: "formatCurrency",
		    global: true
		}, settings);
		
		return this.each(function() {
		    var num = "0";
		    num = $(this).html();
		    num = num.replace(/\$|\,/g, '');
		    if (isNaN(num))
		        num = "0";
		    sign = (num == (num = Math.abs(num)));
		    num = Math.floor(num * 100 + 0.50000000001);
		    cents = num % 100;
		    num = Math.floor(num / 100).toString();
			
		    if (cents < 10)
		        cents = "0" + cents;
		    for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
		        num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3));
		
		    $(this).html(((sign) ? '' : '-') + '' + num + ',' + cents);
		});
	};

})(jQuery);
