
///////////////////////////////////////////////////////////////////////////////////////////////////
// LIST CUSTOM COLUMN /////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
function listCustomColumns() {
	new Ajax.Updater( 'customColumnsList', 'index_load_customColumns_columnsList.php', {
		method:'post',
		evalScripts:true,
		onSuccess:function() {setTimeout( "initTooltips(false, $('customColumnsList'))", 100);}
	});
}


///////////////////////////////////////////////////////////////////////////////////////////////////
// ADD CUSTOM COLUMN //////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
function addCustomColumn() {
	new Ajax.Updater( 'customColumnsList', 'index_load_customColumns_columnsList.php?addCustomColumn=1', {
		parameters:$('mainForm').serialize(true),
		method:'post',
		evalScripts:true,
		onSuccess:function() {setTimeout( "initTooltips(false, $('customColumnsList'))", 100);}
	});
}


///////////////////////////////////////////////////////////////////////////////////////////////////
// DELETE CUSTOM COLUMN ///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
function deleteCustomColumn(columnIndex) {
	new Ajax.Updater( 'customColumnsList', 'index_load_customColumns_columnsList.php?deleteCustomColumn='+columnIndex, {
		parameters:$('mainForm').serialize(true),
		method:'post',
		evalScripts:true,
		onSuccess:function() {setTimeout( "initTooltips(false, $('customColumnsList'))", 100);}
	});
}


///////////////////////////////////////////////////////////////////////////////////////////////////
// THIS FUNCTION INSERTS A VALUE INTO THE ACTIVE OBJECT ///////////////////////////////////////////
// the activeObject is a JS variable and set on the focus of the focus of the field ///////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
function insertValueIntoFormula(insertValue)
{
	if (!activeObject) return;
	if (!$(activeObject)) return;

	//IE support
	if (document.selection) {
		var destinationField = $(activeObject);
		destinationField.focus();
		mySelection = document.selection.createRange();
		mySelection.text = insertValue;

		return;
	}

	 //MOZILLA/NETSCAPE support
	else {
		if ($(activeObject).selectionStart || $(activeObject).selectionStart == "0") {
			var startPos = $(activeObject).selectionStart;
			var endPos = $(activeObject).selectionEnd;
			$(activeObject).value = $(activeObject).value.substring(0, startPos) + insertValue + $(activeObject).value.substring(endPos, $(activeObject).value.length);
		} else {
			$(activeObject).value += insertValue;
		}
	}
}


///////////////////////////////////////////////////////////////////////////////////////////////////
// CHECK COLUMN ///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
function checkFormula(columnIndex) {

	serviceFeeTransport=new Ajax.Request( "index_load_customColumns_checkFormula.php" , {
		method: 'get',
		parameters:{
			'customColumn':columnIndex,
			'formula':$F('formula_'+columnIndex)
		},
		onSuccess:displayFormulaResult.bind(null, columnIndex)
	});

}


function displayFormulaResult(columnIndex, transport) {

	// parse the data
	formulaData=transport.responseText.evalJSON();

	// formula is ok
	if (formulaData['correctFormula']) {
		$('formula_'+columnIndex).removeClassName('custCol_formulaBad');
		$('formula_'+columnIndex).addClassName('custCol_formulaOk');
		$('formulaOk_'+columnIndex).show(); $('formulaBad_'+columnIndex).hide();
	}
	// formula is not ok
	else {
		$('formula_'+columnIndex).removeClassName('custCol_formulaOk');
		$('formula_'+columnIndex).addClassName('custCol_formulaBad');
		$('formulaOk_'+columnIndex).hide(); $('formulaBad_'+columnIndex).show();
	}

}