/**
 * @author Thomas Sømoen
 */
 
 (function($) {
	$.extend({
		template:{
			collection:null,
			
			/**
			 * Funksjon som leter etter ett html-element i elementet #js-templates og oppretter et array på kokebokobjektet med barnnodene.
			 */
			init:function(){
				var templates = '';
				if($('#js-templates').length > 0){
					templates = $('#js-templates').html();
				}
				templates = templates.replace(/\<\!\-\-/g,'').replace(/\-\-\>/g,'').replace(/[\t\r\n]/g,'');
				this.collection = $('<div id="js-templates">'+templates+'</div>');
			},
			
			/**
			 * Søker gjennom malene gitt på kokebokobjektet fletter inn flettefelt og returnerer malen.
			 * 
			 * @param {Object} selector
			 * @param {Object} data
			 */
			fetch:function(selector,data){
				if(data == undefined){
					data = {};
				}
				
				var template = this.collection.find(selector).clone();
				
				for(prop in data){
					var text = data[prop].toString();
						text = text.replace(/[\r\n]+/,'<br />');
					template.find('.merge_'+prop).html(text);	
				}
				
				if(data.tools != undefined){
					var toolTempl = template.find('ul.tools li:first').clone();
					var tools = template.find('ul.tools').html('');
					
					for(tool in data.tools){
						var item = toolTempl.clone();
						if(typeof(data.tools[tool]) == 'object'){
							item.addClass(tool);
							item.find('.merge_text').html(data.tools[tool].title.toString());
							item.find('a').attr('href',data.tools[tool].href);
						}else{
							item.addClass(tool);
							item.find('.merge_text').text(data.tools[tool].toString());	
						}
						tools.append(item);
					}
				}
				return template;
			}
		}
	});
	
	$(document).ready(function(){
		$.template.init();
	});
})(jQuery);
