
<!-- insert tag, -->
<!-- string -->
function add_color(str) {

	var ele = document.getElementById("nickname");

	if (document.selection) {
		ele.focus();
		document.selection.createRange().text = str;
	} else if (ele.selectionStart) {
		ele.value = ele.value.substring(0, ele.selectionStart) + str + ele.value.substring(ele.selectionEnd, ele.value.length);
	} else {
		ele.value = ele.value + str;
	}
	
	check_name(); // reload
	
	return true;
}

<!-- reset -->
function reset_name() {
	document.getElementById("nickname").value='^3Wolfenstein'; // reset input
	check_name(); // reload
	return true;
}


<!-- convert color -->
function check_name() {

	var inp=document.getElementById("nickname").value;
	var part=inp.split("^"); // split
	
	var nameStr="";
	var str="";
	var i=0;
	
	for (i in part) {
		var noTagColor=false;
		
		if (i==0) { // If this is the first part...
			var color="#FFFFFF"; // set white color, default
			str=part[i];
			
		} else {

			// take the first character
			switch (part[i].toLowerCase().substring(0,1)) {
				default: noTagColor=true; break; // If the first character is not a color
				// red
				case '1': case '9': case 'a': case 'i': case 'q': case 'y': case ')': case '!': color="#FF0000";  break;
				
				// black
				case '0': case '8': case 'h': case 'p': case 'x': case '(': case '`': case '@': color="#000000"; break;
				
				// green
				case '2': case 'b': case 'j': case 'r': case 'z': case '*': case ':': case '"': color="#00FF00"; break;
				
				// yellow
				case '3': case 'c': case 'k': case 's': case '+':  case '#': case '[': case '{': case ';': case '^': color="#FFFF00"; break;
				
				// blue
				case '4': case 'd': case 'l': case 't': case ',': case '/': case '<': case '|': case ',': case '$': color="#0000FF"; break;
				
				// light blue
				case '5': case 'e': case 'm': case 'u': case '%': case '=': case ']': case '}': case '-': color="#00FFFF"; break;
				
				// pink
				case '6': case 'f': case 'n': case 'v': case '.': case '&': case '>': case '~': case '.': color="#FF00FF"; break;
				
				// white
				case '7': case 'g': case 'o': case 'w': case 'ç': case '\\': case "?": case "'": case '¦': case '°': case '§': case '¬': case '¢': case '´': case '_': color="#FFFFFF"; break;
			
			}
			
			
			if (noTagColor) str="^"+part[i]; // is not a color
			else str=part[i].substring(1); // remove first character

		}
		
		nameStr+="<span style='color: "+color+";'>"+str+"</span>";
	}

	document.getElementById("output").innerHTML = nameStr; // set output
	document.getElementById("set_name").value = '/name "'+inp+'"'; // set output 2
	document.getElementById("bind_name").value = '/bind key name "'+inp+'"'; // set output 3
	
	selected_key(document.getElementById("key").value);
	
	return true;
}

<!-- cambio key nella bind -->
function selected_key(idd) {
	var inp=document.getElementById("nickname").value; // estraggo nickname
	
	document.getElementById("bind_name").value='/bind '+idd.options[idd.selectedIndex].value+' name "'+inp+'"';
	return true;
}

