// JavaScript

String.prototype.asEscapedHtml = function()
{
	return this.replaceAll('&', '&amp;').replaceAll('>', '&gt;').replaceAll('<', '&lt;');
}

String.prototype.replaceAll = function(pattern,replacement)
{
	return this.replace(new RegExp(pattern,"g"),replacement)
}

function designEdit(id, isPRE)
{
	this.id = id;
	this.isPRE = isPRE;
 	this.inputTag = document.getElementById(id);
 	this.divTag = document.getElementById("div_" + id);
 	this.mode = "";

 	if (!this.inputTag) alert("Не могу найти textarea-элемент с id=" + id);
 	if (!this.divTag) alert("Не могу найти div-элемент с id=div_" + id);

 	this.switchMode(this.mode);
}

designEdit.prototype.switchMode = function(mode)
{
	if (mode != this.mode)
	{
		switch(mode)
		{
	  	case "design":
	  		this.divTag.innerHTML = (this.isPRE) ? "<pre>" + this.inputTag.value + "</pre>" : this.inputTag.value;
	  		this.inputTag.style.display = "none";
	  		this.divTag.style.display = "";
	  		break;
	  	case "edit":
	  		this.divTag.style.display = "none";
	  		this.inputTag.style.display = "";
	  		break;
	  	default:
	  		alert("Unknown mode for edit: " + mode);
	  		break;
		}
		this.mode = mode;
	}
	return false;
}
