/*****************************************/
// Name: Javascript Textarea BBCode Markup Editor
// Version: 1.3
// Author: Balakrishnan
// Last Modified Date: 25/jan/2009
// License: Free
// URL: http://www.corpocrat.com
/******************************************/

var textarea;
var content;


function edToolbar(obj) {
    document.write("<div class=\"toolbar\">");
	document.write("<img class=\"button\" src=\"images/bbcode/bold.gif\" name=\"btnBold\" alt=\"Bold\" onclick=\"doAddTags('[b]','[/b]','" + obj + "')\">");
    document.write("<img class=\"button\" src=\"images/bbcode/italic.gif\" name=\"btnItalic\" alt=\"Italic\" onclick=\"doAddTags('[i]','[/i]','" + obj + "')\">");
	document.write("<img class=\"button\" src=\"images/bbcode/underline.gif\" name=\"btnUnderline\" alt=\"Underline\" onclick=\"doAddTags('[u]','[/u]','" + obj + "')\">");
	document.write("<img class=\"button\" src=\"images/bbcode/strike.gif\" name=\"btnStrike\" alt=\"Line-through\" onclick=\"doAddTags('[s]','[/s]','" + obj + "')\">");
	document.write("<img class=\"button\" src=\"images/bbcode/sub.gif\" name=\"btnSub\" alt=\"Subscript\" onclick=\"doAddTags('[sub]','[/sub]','" + obj + "')\">");
	document.write("<img class=\"button\" src=\"images/bbcode/sup.gif\" name=\"btnSup\" alt=\"Superscript\" onclick=\"doAddTags('[sup]','[/sup]','" + obj + "')\">");
	document.write("<img class=\"button\" src=\"images/bbcode/link.gif\" name=\"btnLink\" alt=\"Insert URL Link\" onclick=\"doURL('" + obj + "')\">");
	document.write("<img class=\"button\" src=\"images/bbcode/color.gif\" name=\"btnColor\" alt=\"Text color\" onclick=\"doColor('" + obj + "')\">");
	document.write("<img class=\"button\" src=\"images/bbcode/img.gif\" name=\"btnPicture\" alt=\"Insert Image\" onclick=\"doImage('" + obj + "')\">");
	document.write("<img class=\"button\" src=\"images/bbcode/youtube.gif\" name=\"btnYouTube\" alt=\"YouTube ID\" onclick=\"doYouTube('" + obj + "')\">");
    document.write("</div>");
}



function doImage(obj)
{
	textarea = document.getElementById(obj);
	var url = prompt('Enter the link to the Image:\n\nExample: http://www.example.com/images/name.gif','http://');
	var scrollTop = textarea.scrollTop;
	var scrollLeft = textarea.scrollLeft;

	if (url != '' && url != null) {

		if (document.selection)
				{
					textarea.focus();
					var sel = document.selection.createRange();
					sel.text = '[img]' + url + '[/img]';
				}
	   else
		{
			var len = textarea.value.length;
			var start = textarea.selectionStart;
			var end = textarea.selectionEnd;

			var sel = textarea.value.substring(start, end);

			var rep = '[img]' + url + '[/img]';
			textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);


			textarea.scrollTop = scrollTop;
			textarea.scrollLeft = scrollLeft;
		}
	}

}

function doYouTube(obj)
{
	textarea = document.getElementById(obj);
	var youtube = prompt('Enter the YouTube video ID:\nExample: X0z2i83fmMk','');
	var scrollTop = textarea.scrollTop;
	var scrollLeft = textarea.scrollLeft;

	if (youtube != '' && youtube != null) {

		if (document.selection)
				{
					textarea.focus();
					var sel = document.selection.createRange();
					sel.text = '[yt]' + youtube + '[/yt]';
				}
	   else
		{
			var len = textarea.value.length;
			var start = textarea.selectionStart;
			var end = textarea.selectionEnd;

			var sel = textarea.value.substring(start, end);

			var rep = '[yt]' + youtube + '[/yt]';
			textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);


			textarea.scrollTop = scrollTop;
			textarea.scrollLeft = scrollLeft;
		}
	}

}

function doColor(obj)
{
	textarea = document.getElementById(obj);
	var color = prompt('Enter the color:\nExample: red, blue, green, #0033FF','');
	var scrollTop = textarea.scrollTop;
	var scrollLeft = textarea.scrollLeft;

	if (color != '' && color != null) {

		if (document.selection)
				{
					textarea.focus();
					var sel = document.selection.createRange();

				if(sel.text==""){
						sel.text = '[color='  + color + '][/color]';
						} else {
						sel.text = '[color=' + color + ']' + sel.text + '[/color]';
						}

				}
	   else
		{
			var len = textarea.value.length;
			var start = textarea.selectionStart;
			var end = textarea.selectionEnd;

			var sel = textarea.value.substring(start, end);

			if(sel==""){
					var rep = '[color='  + color + '][/color]';
					} else
					{
					var rep = '[color=' + color + ']' + sel + '[/color]';
					}

			textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);


			textarea.scrollTop = scrollTop;
			textarea.scrollLeft = scrollLeft;
		}
	}

}

function doURL(obj)
{
textarea = document.getElementById(obj);
var url = prompt('Enter the URL:','http://');
var scrollTop = textarea.scrollTop;
var scrollLeft = textarea.scrollLeft;

if (url != '' && url != null) {

	if (document.selection)
			{
				textarea.focus();
				var sel = document.selection.createRange();

			if(sel.text==""){
					sel.text = '[url]'  + url + '[/url]';
					} else {
					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);

		if(sel==""){
				var rep = '[url]' + url + '[/url]';
				} else
				{
				var rep = '[url=' + url + ']' + sel + '[/url]';
				}

        textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);


		textarea.scrollTop = scrollTop;
		textarea.scrollLeft = scrollLeft;
	}
 }
}

function doAddTags(tag1,tag2,obj)
{
textarea = document.getElementById(obj);
	// 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 scrollTop = textarea.scrollTop;
		var scrollLeft = textarea.scrollLeft;


        var sel = textarea.value.substring(start, end);

		var rep = tag1 + sel + tag2;
        textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);

		textarea.scrollTop = scrollTop;
		textarea.scrollLeft = scrollLeft;


	}
}

function doList(tag1,tag2,obj){
textarea = document.getElementById(obj);
// Code for IE
		if (document.selection)
			{
				textarea.focus();
				var sel = document.selection.createRange();
				var list = sel.text.split('\n');

				for(i=0;i<list.length;i++)
				{
				list[i] = '[*]' + list[i];
				}
				//alert(list.join("\n"));
				sel.text = tag1 + '\n' + list.join("\n") + '\n' + tag2;
			} else
			// Code for Firefox
			{

		var len = textarea.value.length;
	    var start = textarea.selectionStart;
		var end = textarea.selectionEnd;
		var i;

		var scrollTop = textarea.scrollTop;
		var scrollLeft = textarea.scrollLeft;


        var sel = textarea.value.substring(start, end);

		var list = sel.split('\n');

		for(i=0;i<list.length;i++)
		{
		list[i] = '[*]' + list[i];
		}


		var rep = tag1 + '\n' + list.join("\n") + '\n' +tag2;
		textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);

		textarea.scrollTop = scrollTop;
		textarea.scrollLeft = scrollLeft;
 }
}

function sz2(t) {
	a = t.value.split('\n');
	b=1;
	for (x=0;x < a.length; x++) {
	 if (a[x].length >= t.cols) b+= Math.floor(a[x].length/t.cols);
	 }
	b+= a.length;
	if (b > t.rows) t.rows = b;
}

$(document).ready(function(){

	$(".mcsa_preview_tab_link").click(function () {
		$("#div_preview_mcsa").html('');
		$("#div_preview_mcsa").html( '<div class="question"><div class="qnumdiv"><p class="qnum">Question preview</p></div><p class="qhead">' + bbCode( replaceLineBreak(document.mcsa_form.question.value) ) + '</p></div>');

		$("#div_preview_mcsa").attr('class',"show");
		$("#div_mcsa_edit").attr('class',"hidden");

		$("#mcsa_preview_tab1").attr('class',"mcsa_edit_tab");
		$("#mcsa_edit_tab1").attr('class',"mcsa_preview_tab");

	});

	$(".mcsa_edit_tab_link").click(function () {

		$("#div_mcsa_edit").attr('class',"show");
		$("#div_preview_mcsa").attr('class',"hidden");

		$("#mcsa_preview_tab1").attr('class',"mcsa_preview_tab");
		$("#mcsa_edit_tab1").attr('class',"mcsa_edit_tab");

	});

});