﻿function set_selected_range(p_input, selectionStart, selectionEnd)
{
	if (p_input.setSelectionRange)
	{
		p_input.focus();
		p_input.setSelectionRange(selectionStart, selectionEnd);
	}
	else if (p_input.createTextRange)
	{
		var range = p_input.createTextRange();
		range.collapse(true);
		range.moveEnd('character', selectionEnd);
		range.moveStart('character', selectionStart);
		range.select();
	}
}

function get_selected_text(p_input)
{
	if (p_input.setSelectionRange)
	{
		var selectionStart = p_input.selectionStart;
		var selectionEnd = p_input.selectionEnd;

		return p_input.value.substring(selectionStart, selectionEnd);
	}
	else if (document.selection)
	{
		var range = document.selection.createRange();

		if (range.parentElement() == p_input)
		{
			var isCollapsed = range.text == '';

			return range.text;
		}

		return '';
	}
}

function set_selected_text(p_input, p_text)
{
	if (p_input.setSelectionRange)
	{
		var selectionStart = p_input.selectionStart;
		var selectionEnd = p_input.selectionEnd;

		p_input.value = p_input.value.substring(0, selectionStart) + p_text + p_input.value.substring(selectionEnd);

		if (selectionStart != selectionEnd)
			set_selected_range(p_input, selectionStart, selectionStart + p_text.length);
		else
			set_selected_range(p_input, selectionStart + p_text.length, selectionStart + p_text.length);
	}
	else if (document.selection)
	{
		var range = document.selection.createRange();

		if (range.parentElement() == p_input)
		{
			var isCollapsed = range.text == '';

			range.text = p_text;

			//if (!isCollapsed) 
			//{
				range.moveStart('character', -p_text.length);
				range.select();
			//}
		}
	}
}

function insert_ubb(p_input, text_before, text_after, prompt_text, replace, use_selection) {
	if (typeof(use_selection) == 'undefined')
	{
		use_selection = false;
	}

	var text_middle = '';
	var text_selected = get_selected_text(p_input);

	if (use_selection == true && text_selected != '')
	{
		text_before += text_selected;
	}
	else
	{
		if (typeof(prompt_text) != 'undefined' && prompt_text != '')
		{
			if ((text_middle = prompt(prompt_text, '')) == null)
				return false;

			text_before += text_middle;
		}
	}

	p_input.focus();

	if (p_input.onfocus)
	{
		p_input.onfocus();
	}

	set_selected_text(p_input, text_before + ((replace) ? '' : text_selected) + text_after);

	return false;
}

function insert_ubb_url(p_input)
{
	var link_url = prompt("Tam adresi giriniz :", "http://www.");

	if (link_url == null || link_url == '')
	{
		return false;
	}

	var link_name = ((get_selected_text(p_input) != '') ? get_selected_text(p_input) : prompt('Adresin tanımını giriniz :', ''));

	if (link_name == null || link_name == '')
	{
		insert_ubb(p_input, '[url]' + link_url, '[/url]', '', true);
	}
	else
	{
		insert_ubb(p_input, '[url=' + link_url + ']' + link_name, '[/url]', '', true);
	}

	return false;
}

function AddCmd(text1) { window.document.frmPost.POST_TEXT.value = window.document.frmPost.POST_TEXT.value + text1; }

function AddThumb() {
    var image_id = prompt('Fotoğrafın id sini giriniz. (fotoğraf idsi fotoğraf görüntülemede linkteki fotoğraf adındaki sayıdır.) :', '');
	if (image_id != null) { AddCmd('[thumb]' + image_id + '[/thumb]'); }
}

function AddURL() {
	var link_url = prompt('Tam adresi giriniz :', 'http://www.');
	if (link_url != null) { var link_name = prompt('Adresin tanımını giriniz :', ''); }
	if (link_name == '') { AddCmd('[url]' + link_url + '[/url]'); return; } 
	if (link_url != null) { AddCmd('[url=' + link_url + ']' + link_name + '[/url]'); }
}

function AddImage() {
	var image_url = prompt('Fotoğrafın tam adresini giriniz :', 'http://www.');
	if (image_url != null) { AddCmd('[img]' + image_url + '[/img]'); }
}

function ValidatePost(frm, chk_message, chk_subject, chk_reason) {
	if (chk_subject) {
		if (frm.SUBJECT.value == '') { alert('Please enter a SUBJECT for this thread.'); frm.SUBJECT.focus(); return false; }
	}
	if (chk_reason) {
		if (frm.REASON.value == '') { alert('Enter a reason for administrator edit, i.e. "Slander"'); frm.REASON.focus(); return false; }
	}
	if (chk_message) {
		if (frm.POST_TEXT.value == '') { alert('Please enter your MESSAGE.'); frm.POST_TEXT.focus(); return false; }
	}
	lockButtons(frm);
	return true;
}

function checkFlagThread(frm, checkBoxes) {
	if (checkBoxes == true) {
		var filledIn = false;
		
		with (frm) {
			for (var i=0; i < elements.length; i++) {
				if (elements[i].name == 'FORUM_THREAD_ID[]' && elements[i].checked == true)
					filledIn = true;
			}
		}

		if (filledIn == false) { alert('Select at least one thread.'); return false; }
	}

	if (frm.FLAG.value == '') { alert('Select an action.'); return false; }
	if (frm.FLAG.value == 'D') { return confirm('Are you positively sure you want to DELETE the thread and all of its replies?'); }
	return true;
}

function previewPost(form) {
	//var post = escape(form.POST_TEXT.value);
	//var parse_urls = escape(form.PARSE_URLS.checked);
	var action = form.action;
	var target = form.target;

	window_openCentered('', 'preview', 'scrollbars=1,resizable=1', 600, 400);

	form.action = 'forum.php?action=preview';
	form.target = 'preview';
	form.submit();


	form.action = action;
	form.target = target;
}

function rateComment(id, rating)
{
	document.getElementById('r' + id).src = '/comment_rate_process.php?id=' + id + '&r=' + rating;
}

function showHidePost(p_FORUM_THREAD_ID)
{
	var mature_post = document.getElementById('mp' + p_FORUM_THREAD_ID);
	var mature_link = document.getElementById('ml' + p_FORUM_THREAD_ID);

	mature_post.innerHTML = ((mature_post.innerHTML == '') ? eval('post_text' + p_FORUM_THREAD_ID) : '');

	/*if (mature_post.style.display == 'none')
	{
		mature_post.style.display = '';
		mature_link.innerHTML = 'Click here to hide the post.';
	}
	else
	{
		mature_post.style.display = 'none';
		mature_link.innerHTML = 'Click here to show the post.';
	}*/

	return false;
}
