/**
 * @author trixta
 */
(function($){

	// Simple JavaScript Templating
    // John Resig - http://ejohn.org/ - MIT Licensed
    (function(){
        $.tmpl = function tmpl(str, data){
            // Figure out if we're getting a template, or if we need to
		    // load the template - and be sure to cache the result.
			
		    var fn = 
		    
		      // Generate a reusable function that will serve as a template
		      // generator (and which will be cached).
		      new Function("obj",
		        "var p=[],print=function(){p.push.apply(p,arguments);};" +
		       
		        // Introduce the data as local variables using with(){}
		        "with(obj){p.push('" +
		       
		        // Convert the template into pure JavaScript
		        str
		          .replace(/[\r\t\n]/g, " ")
		          .split("<%").join("\t")
		          .replace(/((^|%>)[^\t]*)'/g, "$1\r")
		          .replace(/\t=(.*?)%>/g, "',$1,'")
		          .split("\t").join("');")
		          .split("%>").join("p.push('")
		          .split("\r").join("\\'")
		      + "');}return p.join('');");
		   
		    // Provide some basic currying to the user
		    return data ? fn( data ) : fn;
        };
    })();

	$.transformObj = function(obj, objMap){
		var content = {}, isSet = true;
		$.each(objMap, function(prop, src){
			var propSet = obj;
			$.each(src, function(i, switchProp){
				if(propSet[switchProp]){
					propSet = propSet[switchProp];
				} else {
					return false;
				}
			});
			if(isSet){
				content[prop] = propSet;
			} else {
				return false;
			}
		});
		
		return content;
	};
	
})(jQuery);
