var textarea;
var content;
var bbCode;
var listItems;
var listNum			= 0;
var ae_cb 			= null;
var promptResult	= false;

function ae_prompt(question, answer) {
	var mainArea	= document.getElementById("mainArea");
	promptResult	= sendBack;

	if (document.getElementById("promptBlank")) {
		var promp		= document.getElementById("promptBlank");
	} else {
		var promp			= document.createElement("div");
		promp.id			= "promptPromp";
		promp.style.zIndex	= 3;
	}

	if (document.getElementById("promptBlank")) {
		var blank	= document.getElementById("promptBlank");
	} else {
		var blank			= document.createElement("div");
		blank.id			= "promptBlank";
		blank.style.zIndex	= 2;
		blank.style.opacity	= "0.40";
		blank.style.filter	= "alpha(opacity=40)";
	}

	var innerFrm	= "";

	innerFrm		+= "<span style=\"font-weight: bold\">" + question + ":</span>\n";
	innerFrm		+= "<br />";
	innerFrm		+= "<input type=\"text\" name=\"prmpt\" id=\"prmpt\" value=\"" + q + "\" style=\"width: 195px; clear: right;\" onkeypress=\"if((event.keyCode==10)||(event.keyCode==13)) {aeclick(1); } if (event.keyCode==27) {aeclick(0);}\" />";
	innerFrm		+= "<br />";
	innerFrm		+= "<input type=\"button\" onClick=\"aeclick(1);\" value=\"OK\" style=\"width: 35px; clear: none; margin: 1px 0px 0px 55px;\" />";
	innerFrm		+= "<input type=\"button\" onClick=\"aeclick(0);\" value=\"Cancel\" style=\"width: 45px; clear: right; margin: 1px 0px 0px 0px;\" />";

	blank.style.position		= "absolute";
	blank.style.top				= "0%";
	blank.style.display			= "block";
	blank.style.left			= "0%";
	blank.style.width			= "100%";
	blank.style.height			= "100%";
	blank.style.backgroundColor	= "black";
	mainArea.appendChild(blank);

	promp.style.position		= "absolute";
	promp.style.top				= "50%";
	promp.style.display			= "block";
	promp.style.left			= "45%";
	promp.style.height			= "50px";
	promp.style.backgroundColor	= "white";
	promp.style.width			= "200px";
	promp.style.padding			= "30px";

	promp.innerHTML				= innerFrm;

	mainArea.appendChild(promp);
}

function aeclick(bPaste){
	var promp	= document.getElementById("promptPromp");
	var blank	= document.getElementById("promptBlank");

	promp.style.display = "none";
	blank.style.display	= "none";

	if (bPaste) {
		var val = document.getElementById("prmpt");
		promptResult = val.value;
	} else {
		promptResult = null;
	}
}

function aePut(result){

}

function textArea(obj) {
	textarea 	= document.getElementById(obj);
	bbCode		= document.getElementById(obj + "bbCode");
	var html	= "";

	//Bold tag
	html += "<img src=\"/images/bbcode/text_bold.png\" class=\"bbCodeButton\" name=\"btnBold\" onClick=\"doAddTags('b');\" \/>";

	//Italic tag
	html += "<img src=\"/images/bbcode/text_italic.png\" class=\"bbCodeButton\" name=\"btnItalic\" onClick=\"doAddTags('i');\" \/>";

	//Underline tag
	html += "<img src=\"/images/bbcode/text_underline.png\" class=\"bbCodeButton\" name=\"btnUnderline\" onClick=\"doAddTags('u');\" \/>";

	//Link
	html += "<img src=\"/images/bbcode/link.png\" class=\"bbCodeButton\" name=\"btnLink\" onClick=\"doURL();\" \/>";

	//Image
	html += "<img src=\"/images/bbcode/picture.png\" class=\"bbCodeButton\" name=\"btnImage\" onClick=\"doImage();\" \/>";

	//List
	html += "<img src=\"/images/bbcode/text_list_bullets.png\" class=\"bbCodeButton\" name=\"btnImage\" onClick=\"doList();\" \/>";

	//Youtube
	html += "<img src=\"/images/bbcode/textfield_delete.png\" class=\"bbCodeButton\" name=\"btnYouTube\" onClick=\"doAddTags('youtube');\" \/>";

	//Headers
	html += "<br \/>";
	html += "<img src=\"/images/bbcode/text_heading_1.png\" class=\"bbCodeButton\" name=\"btnH1\" onClick=\"doAddTags('h1');\" \/>";
	html += "<img src=\"/images/bbcode/text_heading_2.png\" class=\"bbCodeButton\" name=\"btnH2\" onClick=\"doAddTags('h2');\" \/>";
	html += "<img src=\"/images/bbcode/text_heading_3.png\" class=\"bbCodeButton\" name=\"btnH3\" onClick=\"doAddTags('h3');\" \/>";
	html += "<img src=\"/images/bbcode/text_heading_4.png\" class=\"bbCodeButton\" name=\"btnH4\" onClick=\"doAddTags('h4');\" \/>";
	html += "<img src=\"/images/bbcode/text_heading_5.png\" class=\"bbCodeButton\" name=\"btnH5\" onClick=\"doAddTags('h5');\" \/>";
	html += "<img src=\"/images/bbcode/text_heading_6.png\" class=\"bbCodeButton\" name=\"btnH6\" onClick=\"doAddTags('h6');\" \/>";

	//Colors
	html += "<img src=\"/images/bbcode/style.png\" class=\"bbCodeButton\" name=\"btnColor\" onClick=\"doColor();\" \/>";

	//add all the elements
	if (bbCode != null) {
		bbCode.innerHTML = html;
	}
}

/**
 *
 * @access public
 * @return void
 **/
function doColor(){
	//var color = ae_prompt('Enter Color:', 'CECECE');
	var clr = prompt("Enter Color:", "CECECE");

	if (document.selection) {
		textarea.focus();
		var sel = document.selection.createRange();
		sel.text = '[color=#' + clr + ']' + sel + '[/color]';
	} else {
		var len = textarea.value.length;
		var start = textarea.selectionStart;
		var end = textarea.selectionEnd;

		var sel = textarea.value.substring(start, end);
		//alert(sel);
		var rep = '[color=#' + clr + ']' + sel + '[/color]';
		textarea.value =  textarea.value.substring(0, start) + rep + textarea.value.substring(end, len);
	}
}

function doImage() {
	//var img = ae_prompt('Enter the Image URL:','http://');
	var img = prompt("Enter the Image URL:", "http://");

	if (document.selection) {
		textarea.focus();
		var sel = document.selection.createRange();
		sel.text = '[img]' + img + '[/img]';
	} else {
		var len = textarea.value.length;
		var start = textarea.selectionStart;
		var end = textarea.selectionEnd;

		var sel = textarea.value.substring(start, end);
		//alert(sel);
		var rep = '[img]' + img + '[/img]';
		textarea.value =  textarea.value.substring(0, start) + rep + textarea.value.substring(end, len);
	}
}

function doURL() {
	var url = prompt("Enter the URL:", "http://");

	if (document.selection) {
		textarea.focus();
		var sel = document.selection.createRange();
		//alert(sel.text);
		sel.text = '[url=' + url + ']' + sel.text + '[/url]';
	} else {
		var len = textarea.value.length;
		var start = textarea.selectionStart;
		var end = textarea.selectionEnd;

		var sel = textarea.value.substring(start, end);
		//alert(sel);
		var rep = '[url=' + url + ']' + sel + '[/url]';
		textarea.value =  textarea.value.substring(0, start) + rep + textarea.value.substring(end, len);
	}
}

function doAddTags(tag) {
	var tag1 = "[" + tag + "]";
	var tag2 = "[/" + tag + "]";

	// Code for IE
	if (document.selection) {
		textarea.focus();
		var sel = document.selection.createRange();
		//alert(sel.text);
		sel.text = tag1 + sel.text + tag2;
	} else {  // Code for Mozilla Firefox
		var len = textarea.value.length;
		var start = textarea.selectionStart;
		var end = textarea.selectionEnd;

		var sel = textarea.value.substring(start, end);
		//alert(sel);
		var rep = tag1 + sel + tag2;
		textarea.value =  textarea.value.substring(0, start) + rep + textarea.value.substring(end, len);
		textarea.focus();
	}
}

/**
 *
 * @access public
 * @return void
 **/
function doList(){
	listItems	= new Array();
	doItems();

	if (listItems.length > 0) {
		var list = '[ul]\n';
		for (var i = 0; i < listItems.length; i++) {
			list += '[li]' + listItems[i] + '[/li]\n';
		}
		list += '[/ul]\n\n';

		if (document.selection) {
			textarea.focus();
			var sel = document.selection.createRange();
			sel.text = item;
		} else {
			var len = textarea.value.length;
			var start = textarea.selectionStart;
			var end = textarea.selectionEnd;

			var sel = textarea.value.substring(start, end);
			//alert(sel);
			var rep = list;
			textarea.value =  textarea.value.substring(0, start) + rep + textarea.value.substring(end, len);
			textarea.focus();
		}
	} else {
		if (document.selection) {
			textarea.focus();
			var sel = document.selection.createRange();
			sel.text = '[ul]\n[li]' + sel.text + '[/li]\n[/ul]\n\n';
		} else {
			var len 	= textarea.value.length;
			var start	= textarea.selectionStart;
			var end		= textarea.selectionEnd;

			var sel = textarea.value.substring(start, end);
			var rep = '[ul]\n[li]' + sel + '[/li]\n[/ul]\n\n';
			textarea.value = textarea.value.substring(0, start) + rep + textarea.value.substring(end, len);
			textarea.focus();
		}
	}
}

/**
 *
 * @access public
 * @return void
 **/
function doItems(){
	var item = null;
	item = prompt("List Item, [cancel to stop]");

	if (item) {
		listItems[listNum] = item;
		listNum++;
		doItems();
	}
}

