//Variables for controlling opening and closing tags (function tag)

var b = 2;
var i = 2;
var u = 2;
var q = 2;
var c = 2;
var url = 2;
var img = 2;
var url_selStart = 0;
var url_selEnd = 0;
var img_selStart = 0;
var img_selEnd = 0;
var is_selected = false;

var isIE = (document.attachEvent)? true : false;

function add(open, end) {
	var tArea = document.editform.post;
	var sct = tArea.scrollTop;
	var open = (open)? open : "";
	var end = (end)? end : "";
	var sl;	
	if(isIE){
		tArea.focus();
		var curSelect = document.selection.createRange();
		//if(arguments[2]){
		//	curSelect.text = open + arguments[2] + "]" + curSelect.text + end;
		//} else {
			curSelect.text = open + curSelect.text + end;
		//}
	} else if(!isIE && typeof tArea.selectionStart != "undefined"){
		var selStart = tArea.value.substr(0, tArea.selectionStart);
		var selEnd = tArea.value.substr(tArea.selectionEnd, tArea.value.length);
		var curSelection = tArea.value.replace(selStart, "").replace(selEnd, "");
		//if(arguments[2]){
		//	sl = selStart + open + arguments[2] + "]" + curSelection + end;
		//	tArea.value = sl + selEnd;
		//} else {
			sl = selStart + open + curSelection + end;
			tArea.value = sl + selEnd;
		//}
		tArea.setSelectionRange(sl.length, sl.length);
		tArea.focus();
		tArea.scrollTop = sct;
	} else {
		//tArea.value += (arguments[2])? open + arguments[2] + "]" + end : open + end;
		tArea.value += open + end;
	}
	return;
}

function openURL () {
	if (document.getElementById('URL').style.display == 'block' || document.getElementById('URL2').style.display == 'block') {
		url_selStart = 0;
		url_selEnd = 0;
		is_selected = false;
		document.getElementById('urlform').urlfield.value = 'http://';
		document.getElementById('urlform2').textfield.value = 'enter link text here';
		document.getElementById('urlform2').urlfield.value = 'http://';
		document.getElementById('URL').style.display = 'none';
		document.getElementById('URL2').style.display = 'none';
		if(isIE){
			var tArea = document.editform.post;
			tArea.value = tArea.value.replace("[url_start]", '').replace("[url_end]", '');
		}
		tArea.focus();
	} else {
		var tArea = document.editform.post;
		is_selected = false;
		if(isIE){
			tArea.focus();
			var curSelect = document.selection.createRange();
			if (curSelect.text != '') is_selected = true;
			curSelect.text = '[url_start]' + curSelect.text + '[url_end]';
		} else if(!isIE && typeof tArea.selectionStart != "undefined"){
			url_selStart = tArea.selectionStart;
			url_selEnd = tArea.selectionEnd;
			if ((url_selEnd - url_selStart) > 0) is_selected = true;
		}
		if (is_selected) {
			document.getElementById('URL').style.display = 'block';
			document.getElementById('URL').focus();
		} else {
			document.getElementById('URL2').style.display = 'block';
			document.getElementById('URL2').focus();
		}
	}
}

function addURL () {
	var tArea = document.editform.post;
	if(isIE){
		tArea.value = tArea.value.replace("[url_start]", '[url=' + document.getElementById('urlform').urlfield.value + ']').replace("[url_end]", '[/url]');
		tArea.focus();
	} else if(!isIE){
		var selStart = tArea.value.substr(0, url_selStart);
		var selEnd = tArea.value.substr(url_selEnd, tArea.value.length);
		var curSelection = tArea.value.replace(selStart, "").replace(selEnd, "");
		sl = selStart + '[url=' + document.getElementById('urlform').urlfield.value + ']' + curSelection + '[/url]';
		tArea.value = sl + selEnd;

		tArea.setSelectionRange(sl.length, sl.length);
	}
	url_selStart = 0;
	url_selEnd = 0;
	is_selected = false;
	document.getElementById('urlform').urlfield.value = 'http://';
	document.getElementById('URL').style.display = 'none';
}

function addURL2 () {
	var tArea = document.editform.post;
	if(isIE){
		tArea.value = tArea.value.replace("[url_start][url_end]", '[url=' + document.getElementById('urlform2').urlfield.value + ']' + document.getElementById('urlform2').textfield.value + '[/url]');
		tArea.focus();
	} else if(!isIE){
		var selStart = tArea.value.substr(0, url_selStart);
		var selEnd = tArea.value.substr(url_selEnd, tArea.value.length);
		sl = selStart + '[url=' + document.getElementById('urlform2').urlfield.value + ']' + document.getElementById('urlform2').textfield.value + '[/url]';
		tArea.value = sl + selEnd;

		tArea.setSelectionRange(sl.length, sl.length);
	}
	url_selStart = 0;
	url_selEnd = 0;
	is_selected = false;
	document.getElementById('urlform2').textfield.value = 'enter link text here';
	document.getElementById('urlform2').urlfield.value = 'http://';
	document.getElementById('URL2').style.display = 'none';
}

function cancelURL () {
	url_selStart = 0;
	url_selEnd = 0;
	is_selected = false;
	document.getElementById('urlform').urlfield.value = 'http://';
	document.getElementById('URL').style.display = 'none';
	if(isIE){
		var tArea = document.editform.post;
		tArea.value = tArea.value.replace("[url_start]", '').replace("[url_end]", '');
		tArea.focus();
	}
}

function cancelURL2 () {
	url_selStart = 0;
	url_selEnd = 0;
	is_selected = false;
	document.getElementById('urlform2').textfield.value = 'enter link text here';
	document.getElementById('urlform2').urlfield.value = 'http://';
	document.getElementById('URL2').style.display = 'none';
	if(isIE){
		var tArea = document.editform.post;
		tArea.value = tArea.value.replace("[url_start]", '').replace("[url_end]", '');
		tArea.focus();
	}
}

function openIMAGE () {
	if (document.getElementById('IMAGE').style.display == 'block' || document.getElementById('IMAGE2').style.display == 'block') {
		img_selStart = 0;
		img_selEnd = 0;
		is_selected = false;
		document.getElementById('imageform').urlfield.value = 'http://';
		document.getElementById('imageform2').textfield.value = 'enter image alt text here';
		document.getElementById('imageform2').urlfield.value = 'http://';
		document.getElementById('IMAGE').style.display = 'none';
		document.getElementById('IMAGE2').style.display = 'none';
		if(isIE){
			var tArea = document.editform.post;
			tArea.value = tArea.value.replace("[img_start]", '').replace("[img_end]", '');
		}
		tArea.focus();
	} else {
		var tArea = document.editform.post;
		is_selected = false;
		if(isIE){
			tArea.focus();
			var curSelect = document.selection.createRange();
			if (curSelect.text != '') is_selected = true;
			curSelect.text = '[img_start]' + curSelect.text + '[img_end]';
		} else if(!isIE && typeof tArea.selectionStart != "undefined"){
			img_selStart = tArea.selectionStart;
			img_selEnd = tArea.selectionEnd;
			if ((img_selEnd - img_selStart) > 0) is_selected = true;
		}
		if (is_selected) {
			document.getElementById('IMAGE').style.display = 'block';
			document.getElementById('IMAGE').focus();
		} else {
			document.getElementById('IMAGE2').style.display = 'block';
			document.getElementById('IMAGE2').focus();
		}
	}
}

function addIMAGE () {
	var tArea = document.editform.post;
	if(isIE){
		tArea.value = tArea.value.replace("[img_start]", '[img=' + document.getElementById('imageform').urlfield.value + ']').replace("[img_end]", '[/img]');
		tArea.focus();
	} else if(!isIE){
		var selStart = tArea.value.substr(0, img_selStart);
		var selEnd = tArea.value.substr(img_selEnd, tArea.value.length);
		var curSelection = tArea.value.replace(selStart, "").replace(selEnd, "");
		sl = selStart + '[img=' + document.getElementById('imageform').urlfield.value + ']' + curSelection + '[/img]';
		tArea.value = sl + selEnd;

		tArea.setSelectionRange(sl.length, sl.length);
	}
	img_selStart = 0;
	img_selEnd = 0;
	is_selected = false;
	document.getElementById('imageform').urlfield.value = 'http://';
	document.getElementById('IMAGE').style.display = 'none';
}

function addIMAGE2 (filepath, cat_id) {
	if(check()!=false){
	var tArea = document.editform.post;
	var localPath = document.getElementById('imageform2').urlfield.value;
	//add into array for upload
	imageArray.push(localPath);
	// alter urlfield values for display in tarea
	
	var sp = localPath.split("\\");
	var fileName = sp[sp.length-1];
	
	var imagePath = filepath + cat_id + "/" + fileName ; //+ topic category id
	//alert(filepath);
	
	if(isIE){
		tArea.value = tArea.value.replace("[img_start][img_end]", '[img=' + imagePath + ']' + document.getElementById('imageform2').textfield.value + '[/img]');
		tArea.focus();
	} else if(!isIE){
		var selStart = tArea.value.substr(0, img_selStart);
		var selEnd = tArea.value.substr(img_selEnd, tArea.value.length);
		sl = selStart + '[img=' + imagePath + ']' + document.getElementById('imageform2').textfield.value + '[/img]';
		tArea.value = sl + selEnd;

		tArea.setSelectionRange(sl.length, sl.length);
	}
	
	
	img_selStart = 0;
	img_selEnd = 0;
	is_selected = false;
	
	document.getElementById('imageform2').textfield.value = 'alt text';
	document.getElementById('IMAGE2').style.display = 'none';
	}else{
		document.getElementById('imageform2').urlfield.value = '';
		document.getElementById('imageform2').textfield.value = 'alt text';
		
	}
}



function check() {
  var ext = document.imageform2.urlfield.value;
  ext = ext.substring(ext.length-3,ext.length);
  ext = ext.toLowerCase();
  
  if((ext == 'jpg')||(ext == 'png') || (ext == 'gif') || (ext == 'jpeg')) {
	  return true;
     }
  else
  //upload image
    alert('Please select a valid image file!');
    return false; }

function uploadIMAGE(){
	check();
	var tArea = document.editform.post;
	document.getElementById('imageform2').textfield.value = 'enter image alt text here';
	document.getElementById('imageform2').urlfield.value = 'http://url link of uploaded pic';
	if(isIE){
		tArea.value = tArea.value.replace("[img_start][img_end]", '[img=' + document.getElementById('imageform2').urlfield.value + ']' + document.getElementById('imageform2').textfield.value + '[/img]');
		tArea.focus();
	} else if(!isIE){
		var selStart = tArea.value.substr(0, img_selStart);
		var selEnd = tArea.value.substr(img_selEnd, tArea.value.length);
		sl = selStart + '[img=' + document.getElementById('imageform2').urlfield.value + ']' + document.getElementById('imageform2').textfield.value + '[/img]';
		tArea.value = sl + selEnd;

		tArea.setSelectionRange(sl.length, sl.length);
	}
	img_selStart = 0;
	img_selEnd = 0;
	is_selected = false;
	document.getElementById('imageform2').textfield.value = 'enter image alt text here';
	document.getElementById('imageform2').urlfield.value = 'http://';
	document.getElementById('IMAGE2').style.display = 'none';
}

function cancelIMAGE () {
	img_selStart = 0;
	img_selEnd = 0;
	is_selected = false;
	document.getElementById('imageform').urlfield.value = 'http://';
	document.getElementById('IMAGE').style.display = 'none';
	if(isIE){
		var tArea = document.editform.post;
		tArea.value = tArea.value.replace("[img_start]", '').replace("[img_end]", '');
		tArea.focus();
	}
}

function cancelIMAGE2 () {
	img_selStart = 0;
	img_selEnd = 0;
	is_selected = false;
	document.getElementById('imageform2').textfield.value = 'enter image alt text here';

	document.getElementById('IMAGE2').style.display = 'none';
	if(isIE){
		var tArea = document.editform.post;
		tArea.value = tArea.value.replace("[img_start]", '').replace("[img_end]", '');
		tArea.focus();
	}
}

//Function for creating non-font tags

function tag(v, tagadd, newbut, tagclose, oldbut, name) {
    if (eval(v)%2 == 0) {
        eval("window.document.editform."+name+".value = newbut;");
        var post = window.document.editform.post.value;
        window.document.editform.post.value = post + tagadd;
        window.document.editform.post.focus();
    } else {
        eval("window.document.editform."+name+".value = oldbut;");
        var post = window.document.editform.post.value;
        window.document.editform.post.value = post + tagclose;
        window.document.editform.post.focus();
    }
    eval(v+"++;");
}

//Function for adding font color and size tags

function font(bbopen, bbclose) {
/*
		var post = document.editform.post;
        post.value += bbopen + bbclose;
        post.focus();
        return;
*/
		add(bbopen, bbclose);
		return;
}

//Function for adding smilies

function smilie (smilie) {
        var post = document.editform.post;
        post.value += smilie;
        post.focus();
        return;
}

//Helpbox messages
bold_help = "Bold text: [b]text[/b]";
italic_help = "Italic text: [i]text[/i]";
underline_help = "Underline text: [u]text[/u]";
quote_help = "Quote text: [quote]text[/quote] or [quote=name]text[/quote]";
code_help = "Code display: [code]code[/code]";
img_help = "Insert image: [img]http://image_url[/img]";
url_help = "Insert URL: [url]http://url[/url] or [url=http://url]URL text[/url]";
fontcolor_help = "Font color: [color=red]text[/color]  Tip: you can also use color=#FF0000";
fontsize_help = "Font size: [size=50%]small text[/size]";

//Function for displaying help information

// Shows the help messages in the helpline window
function helpline(help) {
        //var helpbox = document.editform.helpbox;
        //helpbox.value = eval(help + "_help");
}

//Function to confirm reset

function confirm_reset () {
        if(confirm("If you continue you will loose everything you have entered so far. \n \n" +
                "Click OK to proceed and start again.  \n \n Alternatively click cancel to continue " +
                "working on your post.")) {
                        return true;
                                }
                else {
                        return false;
                                }
}

//Check the form submission for errors

function checkForm() {
        var subject = document.editform.subject;
        var post = document.editform.post;

        //Check to make sure post lengths are sensible

        if (subject.value.length < 2 && post.value.length < 2) {
                alert("This is a short post!" + " \n \n " +
                                "We require that each post (and subject) \n" +
                                "be at least 2 characters long. \n \n" +
                                "Go back and try again.");
                return false;
        }
        else { if (subject.value.length < 2) {
                        alert("We require that the subject  \n" +
                                "be at least 2 characters long. \n \n" +
                                "Go back and try again.");
                                return false;
                                }
                        else { if (post.value.length < 2) {
                        alert("We require that each post  \n" +
                                "be at least 2 characters long. \n \n" +
                                "Go back and try again.");
                                return false;
                                }
                                else {
                                        return true;
                                }
                        }
        }
}

function preview() {
	document.getElementById('preview').style.display = "block"; 
	document.editform.action = 'preview.php'; 
    document.editform.target = "preview_iframe"; 
	document.editform.submit();
}
