function updateJSON(request, json, mceName)
{
	tinyMCE.execCommand('mceRemoveControl', false, mceName);

	tinyMCE.execCommand('mceAddControl', false, mceName);

  var nbElementsInResponse = json.length;
  for (var i = 0; i < nbElementsInResponse; i++)
  {
  		switch ($(json[i][0]).type)
  		{
			case 'text':
  				$(json[i][0]).value = json[i][1];
  				break;  		
  			case 'textarea':
  				$(json[i][0]).value = json[i][1];
  				break;
			case 'select-one':
				$(json[i][0]).value = json[i][1];
				break;
			case 'hidden':
				$(json[i][0]).value = json[i][1];
				break;				
			default:
				$(json[i][0]).innerHTML = json[i][1];
				break;				  						
  		}
  }
}

function updateJSON2(request, json)
{
 
  var nbElementsInResponse = json.length;
  for (var i = 0; i < nbElementsInResponse; i++)
  {
  		switch ($(json[i][0]).type)
  		{
  			case 'text':
  				$(json[i][0]).value = json[i][1];
  				break;
  			case 'textarea':
  				$(json[i][0]).value = json[i][1];
  				break;
			case 'select-one':
				$(json[i][0]).value = json[i][1];
				break;
			case 'hidden':
				$(json[i][0]).value = json[i][1];
				break;
			default:
				$(json[i][0]).innerHTML = json[i][1];
				break;				  						
  		}
  }
}

function updateOneElementJSON(request, json, element_name)
{
	var nbElementsInResponse = json.length;
	for (var i = 0; i < nbElementsInResponse; i++)
	{
		if (json[i][0] == element_name)
		{
			switch ($(json[i][0]).type)
			{
 			case 'text':
  				$(json[i][0]).value = json[i][1];
  				break;
  			case 'textarea':
  				$(json[i][0]).value = json[i][1];
  				break;
			case 'select-one':
				$(json[i][0]).value = json[i][1];
				break;
			case 'hidden':
				$(json[i][0]).value = json[i][1];
				break;
			default:
				$(json[i][0]).innerHTML = json[i][1];
				break;													
			}
			break;			
		}
	}
	return false;	
}

function updateSelectTagWithJSON(request, json, select_tag_name)
{
	var nbElementsInResponse = json.length;
	for (var i = 0; i < nbElementsInResponse; i++)
	{
		if (json[i][0] == select_tag_name)
		{
			var innerJson = json[i][1];
			break;
		}
	}
	
	var nbElementsInSelect = innerJson.length;
	$(select_tag_name).length = nbElementsInSelect;
	$(select_tag_name).selectedIndex = nbElementsInSelect - 1;
	for (var i = 0; i < nbElementsInSelect; i++)
	{
		$(select_tag_name).options[i].value = innerJson[i][0];
		$(select_tag_name).options[i].text = innerJson[i][1];
	}
	return false;
}

function clearErrors()
{
	$$('div.form_error').each(Element.hide);
}

function clearErrorsByErrorIds(errorIdsArray)
{
	errorIdsArray.each(function(item)
	{
		$(item).hide();
	});
}
