/* <######################################################################################################### */
function lockForm(form)
{
	if(form != null && form.validate != null)
		form.validate.disabled = true;
}
/* <######################################################################################################### */
function unLockForm(form)
{
	if(form != null && form.validate != null)
		form.validate.disabled = false;
}
/* <######################################################################################################### */


var BBASelectors = new Array();

/* ## selector() ## */
/* ## modified : 09-11-2006 ## */
function selector(url, code, value, filter)
{
	popup(url + '?field=' + code + ('&value=' + value) + filter);
}


/* ## selecting() ## */
/* ## modified : 09-11-2006 ## */
function selecting(id, value, label)
{
	var objControl = window.opener.document.getElementById(id + '_control');
	var objLabel = window.opener.document.getElementById(id + '_label');
	var objAction = window.opener.document.getElementById(id + '_action');
	
	objControl.value = value;
	objLabel.innerHTML = label;
	objAction.innerHTML = window.opener.BBASelectors[id + '_update'] + ' ' + window.opener.BBASelectors[id + '_delete'];

	window.close();
}


/* ## deleteSelector() ## */
/* ## modified : 09-11-2006 ## */
function deleteSelector(id)
{
	var objControl = document.getElementById(id + '_control');
	var objLabel = document.getElementById(id + '_label');
	var objAction = document.getElementById(id + '_action');

	objControl.value = '';
	objLabel.innerHTML = '';
	objAction.innerHTML = BBASelectors[id + '_select'];
}


/* ## choise() ## */
/* ## modified : 10-02-2008 ## */
function choise(id, value)
{
	var objControl = window.opener.document.getElementById(id);
	objControl.value = value;
	window.close();
}


/* ## checkAll() ## */
/* ## modified : 01-03-2008 ## */
function checkAll(obj, id)
{
	var arrayControl = obj.form.elements[id];

	if(arrayControl != null && arrayControl.length > 0)
	{
		for(i = 0; i < arrayControl.length; i++)
		{
			if(arrayControl[i].type == "checkbox")
				arrayControl[i].checked = obj.checked;
		}
	}
}


/* ## autoPostBack() ## */
function autoPostBack(obj)
{
	var form = obj.form;
	form.action += '#' + obj.id;

	if(form != null)
		form.submit();
}


/* ## timedRefresh() ## */
function timedRefresh(divId, url, time)
{
	var timer = setInterval('refreshDiv("' + divId + '", "' + url + '")', time);
}

/* ## timedReload() ## */
function timedReload(divId, url, time)
{
	var reloader = setTimeout('refreshDiv("' + divId + '", "' + url + '")', time);
}


/* ## refreshDiv() ## */
function refreshDiv(divId, url)
{
	var httpRequest;
	// pour IE
	if(window.ActiveXObject)
	{
		httpRequest = new window.ActiveXObject("Microsoft.XMLHTTP");
	}
	else if(window.XMLHttpRequest)
	{
		httpRequest = new XMLHttpRequest();
	}

	if(httpRequest)
	{
		httpRequest.open('GET', url, true);
		httpRequest.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=iso-8859-1');
		httpRequest.onreadystatechange = function()
		{
			var objDiv = document.getElementById(divId);
			if(httpRequest.readyState == 4)
			{
				if(httpRequest.status == 200)
				{
					if(objDiv != null)
					{
						objDiv.innerHTML = httpRequest.responseText;
					}
				}
			}
		}
		httpRequest.send(null);
	}
}


/* ## changeForm(id) ## */
function changeForm(id)
{
	document.getElementById(id + '_id').form.action += '#' + id;
}


/* ## getService() ## */
function getService(url, target, async)
{
	var httpRequest;
	// pour IE
	if(window.ActiveXObject)
	{
		httpRequest = new window.ActiveXObject("Microsoft.XMLHTTP");
	}
	else if(window.XMLHttpRequest)
	{
		httpRequest = new XMLHttpRequest();
	}

	if(httpRequest)
	{
		if(async)
		{
			httpRequest.onreadystatechange = function()
			{
				if(httpRequest.readyState == 4)
				{
					if(httpRequest.status == 200)
					{
						var objTarget = document.getElementById(target);
						if(objTarget != null)
						{
							if(objTarget.innerHTML)
								objTarget.innerHTML = httpRequest.responseText;
							else
								objTarget.value = httpRequest.responseText;
						}
					}
				}
			}
			httpRequest.open('GET', url, true);
			httpRequest.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=iso-8859-1');
			httpRequest.send(null);
		}
		else
		{
			httpRequest.open('GET', url, false);
			httpRequest.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=iso-8859-1');
			httpRequest.send(null);
			var objTarget = document.getElementById(target);
			if(objTarget != null)
			{
				if(objTarget.innerHTML != null)
				{
					objTarget.innerHTML = httpRequest.responseText;
				}
				else if(objTarget.innerText != null)
				{
					objTarget.innerText = httpRequest.responseText;
				}
				else
				{
					objTarget.value = httpRequest.responseText;
				}
			}
		}
	}
}

/* selectRow */
function selectRow(rowId)
{
	var objRow = document.getElementById(rowId);
	if(objRow != null)
	{
		var arrClasses = objRow.className.split(' ');
		var arrNewClasses = Array();
		var selected = false;
		var i = 0;
		for(; i < arrClasses.length; i++)
		{
			if(arrClasses[i] == 'row_selected')
				selected = true;
			else
				arrNewClasses[i] = arrClasses[i];
		}
		if(!selected)
			arrNewClasses[i] = 'row_selected';
	
		objRow.className = arrNewClasses.join(' ');
	}
}

/* displaySpan */
function displaySpan(obj, spanId, displayOnSelected)
{
	var selected = false;
	if(obj.type == 'checkbox')
		selected = obj.checked;
		
	var display = false;
	
	var objSpan = document.getElementById(spanId);
	if(objSpan != null)
	{
		if((displayOnSelected && selected) || (!displayOnSelected && !selected))
			display = true;
		if(display)
			objSpan.style.display = '';
		else
			objSpan.style.display = 'none';
	}
}

/* displayComboBoxItems() */
function displayComboBoxItems(cbListId)
{
	var objCbList = document.getElementById(cbListId);
	if(objCbList != null)
	{
		var display = (objCbList.style.display == 'none');
		if(display)
			objCbList.style.display = 'block';
		else
			objCbList.style.display = 'none';
	}
}

/* selectComboBoxItem() */
function selectComboBoxItem(cbListId, cbValueId, cbSelectionId, itemValue, itemId)
{
	var objCbValue = document.getElementById(cbValueId);
	var objCbSelection = document.getElementById(cbSelectionId);
	var objItemValue = document.getElementById(itemValue);
	var objItem = document.getElementById(itemId);
	
	if(objCbValue != null && objCbSelection != null && objItemValue != null && objItem != null)
	{	
		objCbValue.value = objItemValue.value;
		objCbSelection.innerHTML = objItem.innerHTML;
		displayComboBoxItems(cbListId);
	}
}