function confirmLink(question, url)
{
    var is_confirmed = confirm(question);

    //if ( is_confirmed && url != "" ) {
    //    window.location = url;
    //}

    return is_confirmed;
}

function toggleTabs(container, index)
{
	if ( index == undefined ) {
		var index = 1;
	}

	var i = 1;
	while ( $('#'+container+'box-'+i).length == 1 ) {
		$('#'+container+'box-'+i).hide();
		$('#'+container+'link-'+i).removeClass('active');
		i++;
	}
	$('#'+container+'box-'+index).show();

	$('#'+container+'link-'+index).addClass('active');

	return false;
}

function toggleBoxes(container, index)
{
	if ( index == undefined ) {
		var index = 1;
	}

	var i = 1;
	while ( $('#'+container+'box-'+i).length == 1 ) {
		$('#'+container+'box-'+i).hide();
		i++;
	}
	$('#'+container+'box-'+index).show();

	return false;
}

function toggleBox(name, show)
{
    if ( $('#'+name).css("display") == "none"  &&  (show == '' || show == undefined)  ||  show == 1 )
    {
        $('#'+name).fadeIn("fast");
    }
    else
    {
        $('#'+name).fadeOut("fast");
    }

	return false;
}

function htmlentities(str, maxlen) {
	str = str.replace(/(\r\n|\r|\n)/g, " ");
	str = str.replace(/(\")/g, "&quot;");
    return str;
}

function removeLink(question, container, url)
{
	if ( confirmLink(question, url) == true ) {
		$.post(url, {},
			function(response) {
				$('#'+container).remove();
			}
		);
	}
	return false;
}


function applyOrder()
{
	var sort = $('#field_sort').val();
	var order = $('#field_order').val();

	$('.order_link').removeClass('order_icon_asc');
	$('.order_link').removeClass('order_icon_desc');
	$('#order_'+sort).addClass('order_icon_'+order);
}

function reorderFilters(container, url, fields, sort)
{
	var order = ( $('#field_order').val() == 'asc' ) ? 'desc' : 'asc';

	$('#field_sort').val(sort);
	$('#field_order').val(order);

	applyFilters(container, url, fields, 1);
}

function applyFilters(container, url, fields, reorder)
{
	var params = {};
	if ( typeof(fields) != 'undefined' ) {
		$(fields).each(function(idx) {
			var key = fields[idx];
			params[key] = $('#field_' + key).val();
		});
	}

	$.post(url, params,
		function(response) {
			$('#' + container + '_content').html(response);
			if ( typeof(reorder) != 'undefined' && reorder ) {
				applyOrder();
			}
		}
	);
}

$(document).ready(function(){
	$("#global_loading").ajaxStart(function(){
		$(this).show();
	});

	$("#global_loading").ajaxStop(function(){
		$(this).hide();
	});
});

function addbbcode(item, tagOpen, tagClose)
{
    var which = eval('item.name');

    var theSelection = false;
    var result		 = false
    eval("var theField = document.getElementById('"+item+"');");

    if (document.selection)
    {
		theSelection = document.selection.createRange().text;

        theField.focus();

        if (theSelection)
        {
            document.selection.createRange().text = (result == false) ? tagOpen + theSelection + tagClose : result;
        }
        else
        {
            document.selection.createRange().text = (result == false) ? tagOpen + tagClose : result;
        }

        theSelection = '';

        theField.blur();
        theField.focus();

        return;
    }
    else if ( ! isNaN(theField.selectionEnd))
	{
		var scrollPos = theField.scrollTop;
		var selLength = theField.textLength;
		var selStart = theField.selectionStart;
		var selEnd = theField.selectionEnd;
		if (selEnd <= 2 && typeof(selLength) != 'undefined')
			selEnd = selLength;

		var s1 = (theField.value).substring(0,selStart);
		var s2 = (theField.value).substring(selStart, selEnd)
		var s3 = (theField.value).substring(selEnd, selLength);

		if (result == false)
		{
			var newStart = selStart + tagOpen.length + s2.length + tagClose.length;

			theField.value = (result == false) ? s1 + tagOpen + s2 + tagClose + s3 : result;
		}
		else
		{
			var newStart = selStart + result.length;

			theField.value = s1 + result + s3;
		}

		theField.focus();
		theField.selectionStart = newStart;
		theField.selectionEnd = newStart;
		theField.scrollTop = scrollPos;
		return;
	}

	eval("var currField = document.getElementById('"+item+"');");
    currField.blur();
    currField.focus();
}