/**
 * Commun pour jquery
 */


// affichage des bulles d'erreur
function AfficheErreur(_error, _focus)
{
	$('#site input').each(function() { $(this).closeCallout(); });
	// !!!!! a enlever avec jquery 1.4.2+
	$('#site select').each(function() { $(this).closeCallout(); });
	$('#site textarea').each(function() { $(this).closeCallout(); });

	for (_i = 0; _i < _error.length; _i = _i + 3)
	{
		$('#' + _error[_i]).callout({ text: _error[(_i + 1)], width: _error[(_i + 2)], className: 'validationCallout', orient: 'above', align:'left', arrowHeight: 4 });
	}
	if (typeof _focus != 'undefined' && _focus == true)
	{
		$('#' + _error[0]).focus();
	}
}

// maintient du menu selectionne
var _menuSelected = '';
function setActiveMenu(_oLink)
{
	// deselection du menu actuel
	if (_menuSelected != '')
	{
		$('#' + _menuSelected).children().removeClass('menuHover');
	}
	// selection du nouveau menu
	if (_oLink != '')
	{
		$('#' + _oLink).children().addClass('menuHover');
	}
	_menuSelected = _oLink;
}

// fonction de chargement des pages dynamiquement
function loadViaAjax(_this, _defDest, _effect, _speed, _href, _wait)
{
	var _toLoad = '';
	var _overlay = '';
	var _divDest = '';
	var _menuAct;
	var _divWait = '';
	var _now = (new Date).getTime();
	if (_this != null)
	{
		_toLoad = $.trim(_this.attr('href'));
		_overlay = $.trim(_this.attr('overlay'));
		_divDest = $.trim(_this.attr('target'));
		_menuAct = _this.attr('menu');
	}
	if (typeof _href != 'undefined' && _href != null)
	{
		_toLoad = _href;
	}
	if (typeof _wait != 'undefined')
	{
		_divWait = _wait;
	}
	// destination par defaut
	if (_divDest == '')
	{
		if (_defDest != '')
		{
			_divDest = _defDest;
		}
		else
		{
			_divDest = 'conteneur';
		}
	}
	// effet par defaut
	if (_effect == '')
	{
		_effect = 'fade';
	}
	// vitesse par defaut
	if (_speed == '')
	{
		_speed = 'fast';
	}
	if (_toLoad != '')
	{
		// reinit du menu
		if (typeof _menuAct != 'undefined')
		{
			setActiveMenu(_menuAct);
		}
		// affichage de l'overlay
		if (_overlay != '')
		{
			$.blockUI({
				message: $('#'+_overlay)
			});
		}
		// choix de l'effet de chargement
		switch (_effect)
		{
			default:
			case 'fade':
				// preparation avant fondu
				$('#'+_divDest).fadeTo(0, 1, function()
				{
					// masquage de la page
					$('#'+_divDest).fadeOut(_speed, function()
					{
						// affichage de l'indicateur d'attente
						if (_divWait != '')
						{
							$('#'+_divWait).show();
						}
						// chargement du contenu
						//$('#'+_divDest).load(_toLoad, '', function()
						$.get(_toLoad, { ajax: 'true', _: _now }, function(_htmlData)
						{
							// verification si session toujours valide
							if (_htmlData.substr(_htmlData.indexOf('session:') + 8, 7) == 'expired')
							{
								window.location = '.';
								return false;
							} else {
								$('#'+_divDest).html(_htmlData);
								// masquage de l'indicateur d'attente
								if (_divWait != '')
								{
									$('#'+_divWait).hide();
								}
								// affichage de la page
								$('#'+_divDest).fadeIn(_speed, function()
								{
									// corrige un bug cleartype sous ie
									if ($.browser.msie)
									{
										this.style.removeAttribute('filter');
									}
									// masquage de l'overlay
									if (_overlay != '')
									{
										$.unblockUI();
									}
								});
							}
						});
					});
				});
				break;

			case 'none':
				// masquage de la page
				$('#'+_divDest).hide(0, function()
				{
					// affichage de l'indicateur d'attente
					if (_divWait != '')
					{
						$('#'+_divWait).show();
					}
					// chargement du contenu
					//$('#'+_divDest).load(_toLoad, '', function()
					$.get(_toLoad, { ajax: 'true', _: _now }, function(_htmlData)
					{
						// verification si session toujours valide
						if (_htmlData.substr(_htmlData.indexOf('session:') + 8, 7) == 'expired')
						{
							window.location = '.';
							return false;
						} else {
							$('#'+_divDest).html(_htmlData);
							// masquage de l'indicateur d'attente
							if (_divWait != '')
							{
								$('#'+_divWait).hide();
							}
							// affichage de la page
							$('#'+_divDest).show(0, function()
							{
								// masquage de l'overlay
								if (_overlay != '')
								{
									$.unblockUI();
								}
							});
						}
					});
				});
				break;

			case 'open':
				// deroulement vers le bas de la page
				$('#'+_divDest).slideUp(_speed, function()
				{
					// chargement du contenu
					//$('#'+_divDest).load(_toLoad, '', function()
					$.get(_toLoad, { ajax: 'true', _: _now }, function(_htmlData)
					{
						$('#'+_divDest).html(_htmlData);
						// affichage de la page
						$('#'+_divDest).slideDown(_speed, function()
						{
							// masquage de l'overlay
							if (_overlay != '')
							{
								$.unblockUI();
							}
						});
					});
				});
				break;

			case 'slideOver':
				// apparition par recouvrement de la page
				//$('#'+_divDest).hide('slide', { direction: 'right' }, _speed, function() {
					// chargement du contenu
					//$('#'+_divDest).load(_toLoad, '', function()
					$.get(_toLoad, { ajax: 'true', _: _now }, function(_htmlData)
					{
						$('#'+_divDest).clone().insertBefore('#'+_divDest).attr('id', _divDest+'_tmp');
						$('#'+_divDest+'_tmp').hide();
						$('#'+_divDest+'_tmp').css('position', 'absolute');
						$('#'+_divDest+'_tmp').css('background-color', '#ffffff');
						$('#'+_divDest+'_tmp').css('z-index', '20');
						$('#'+_divDest+'_tmp').html(_htmlData);
						// affichage de la page
						$('#'+_divDest+'_tmp').show('slide', { direction: 'right' }, _speed, function()
						{
							$('#'+_divDest).remove();
							$('#'+_divDest+'_tmp').css('z-index', '10');
							$('#'+_divDest+'_tmp').attr('id', _divDest);
							_ficheprodVisible = true;
							// masquage de l'overlay
							if (_overlay != '')
							{
								$.unblockUI();
							}
						});
					});
				//});
				break;
		}
	}
	if (_this != null)
	{
		_this.blur();
		return false;
	}
}

// genere un popup centre
function openPopup(_href, _width, _height, _type)
{
	switch(_type)
	{
		case 'iframe':
			$.modal('<iframe src="' + _href + '" width="' + (_width + 8) + '" height="' + (_height + 8) + '" style="border:none;">', {
				closeHTML: '<a class="modalCloseImg" title="Fermer"></a>',
				overlayClose: true
			});
			break;

		default:
			$.modal('<div></div>', {
				closeHTML: '<a class="modalCloseImg" title="Fermer"></a>',
				overlayClose: true,
				minWidth: _width,
				minHeight: _height
			});
			var _now = (new Date).getTime();
			$.get(_href, { ajax: 'true', _: _now }, function(_htmlData)
			{
				$('#simplemodal-data').html(_htmlData);
			});
			//loadViaAjax(null, 'simplemodal-data', 'fade', 'fast', _href);
			break;
	}
}

// bloque le site et expose un div
function exposeDiv(_div, _color, _opacity)
{
	if (_div != null)
	{
		// couleur et opacité par defaut
		if (typeof _color == 'undefined' || _color == null)
		{
			_color = '#6d7e86';
		}
		if (typeof _opacity == 'undefined' || _opacity == null)
		{
			_opacity = 0.5;
		}

		// on bloque le site
		$.blockUI({
			message: null,
			overlayCSS: {
				backgroundColor: _color,
				opacity: _opacity,
				cursor: 'not-allowed'
			},
			baseZ: 9998,
			fadeIn: 0
		});

		// on place le div au dessus de l'overlay
		$('#' + _div).css('z-index', '9999');
		$('#' + _div).show();
	}
}

// debloque le site et masque le div expose
function unexposeDiv(_div)
{
	if (_div != null)
	{
		// on masque le div
		$('#' + _div).hide();

		// on debloque le site
		$.unblockUI({
			fadeOut: 0
		});
	}
}
