var t_settings = new Array();
function InitializeTranslator(is_eventable, is_authorized){
	t_settings['eventable'] = is_eventable;
	t_settings['authorized'] = is_authorized;
}

function $t(key, replace, eventable){
	var translation = key;
	if(typeof language != 'undefined'){
		if(typeof language[key] != 'undefined'){
			var translation = '';
			
			if(typeof(replace) != 'undefined' && replace != '') {
				translation = $_replace(language[key], replace);
			} else {
				translation = language[key];
			}
		}
	}
	if(eventable != false && t_settings['authorized'] == '1' && ( t_settings['eventable'] == '1' || eventable == '1')){
		translation = '<span id="' + key + '" class="cms-translation-item">' + translation + '</span>';
	}
	return translation;
}

// alert($_replace("Hello ${first_name} ${last_name}",{ first_name: "John", last_name: "Doe" }));
function $_replace(text, values){
	return text.replace(/\$\{([^:\}]+)(:[^\}]+)?\}/g, function(av,au,at){
		var aw = values[au],ar;
		if(at){
			ar=at.substr(1).split(/\s*\|\s*/);
			aw=(aw>=ar.length?ar[ar.length-1]:ar[aw]).replace(/##?/g,function(ax){
				return ax.length==2?"#":aw
			})
		}
		return aw
	})
}