5;

// v1.1.5

$(document).ready(function(){
	try
	{
//		$.historyInit(pageload, "index.php");

		$('a.NuevaPagina').click(function(){
				window.open(this.href);
				return false;
			});

//		AnchorLink("a");
//		AnchorLink('.historial');

//		$('div.GI_ListadoResumenPropiedad[url]').click(function(){
//				location.href = this.getAttribute('url');
//				return false;
//			});

		//////////////////////////////////////////////////////////////////
		// Destacar un cuadro de texto cuando tiene el foco
		//////////////////////////////////////////////////////////////////

		destacarCuadrosDeTexto();

		//////////////////////////////////////////////////////////////////
		// Calse SeleccionarContenido: Selecciona el contenido del
		// elemento INPUT de tipo TEXT al obtener el foco.
		//////////////////////////////////////////////////////////////////

		$('input[type=text].SeleccionarContenido').focus(function(){
				try
				{
					this.select();
				}
				catch(oError)
				{
				}
			});

		//////////////////////////////////////////////////////////////////
		// Clase trim: Eliminar espacios al principio y al final en el
		// evento blur.
		//////////////////////////////////////////////////////////////////

		$('input[type=text].trim').blur(function(){
				this.value = trim(this.value);
			});

		//////////////////////////////////////////////////////////////////
		// Clase noEspacios: No permite espacios en el valor del
		// elemento INPUT de tipo TEXT.
		//////////////////////////////////////////////////////////////////
		var oInputNoEspacios = $('input[type=text].noEspacios');

		oInputNoEspacios.keydown(function(event)
			{
				if (event.keyCode == 32)
					return false;
			});

		oInputNoEspacios.blur(function()
			{
				this.value = this.value.replace(/\s/g,"");
			});

		//////////////////////////////////////////////////////////////////
		// Clase ucase: En el evento "keyup" pone como mayúscula el
		// texto ingresado, útil para aquellos campos que deben estar
		// en mayúsculas al ser enviados o que tienen text-transform.
		//////////////////////////////////////////////////////////////////

		$('input[type=text].ucase').keyup(function(event)
			{
				if (!(
				      (event.keyCode >= 48 && event.keyCode <= 57 ) || // 0 al 9
				      (event.keyCode >= 65 && event.keyCode <= 90 ) || // A al Z
					  (event.keyCode >= 97 && event.keyCode <= 122)    // a al z
				     ))
					return;

				this.value = this.value.toUpperCase();
			});

		//////////////////////////////////////////////////////////////////
		// Lookfor Inputs: Utilizado en conjunto con elementos SELECT
		// para buscar un valor de dicho elemento SELECT o mostrar
		// el valor elegido en el INPUT.
		//////////////////////////////////////////////////////////////////
		var oInputs = $('input[lookfor]');
		var oSelects = $('select[lookfor]');

		oInputs.keyup(function(event)
			{
				if (event.keyCode == 9) return;

				var oObject = $('#' + this.getAttribute('lookfor'));
				if (!oObject.length) return;
				var oSelect = oObject[0];
				var bSeleccionado = false;

				oSelect.selectedIndex = -1;

				for(iSel = 0; iSel < oSelect.options.length ;iSel++)
				{
					if (oSelect.options[iSel].value.toUpperCase() == this.value.toUpperCase() &&
						$(oSelect.options[iSel]).css('display') != 'none' )
					{
						oSelect.selectedIndex = iSel;
						bSeleccionado = true;
						break;
					}
				}

				if (!bSeleccionado)
					oSelect.selectedIndex = 0;
				else if (this.getAttribute('valoranterior') != this.value)
				{
					this.setAttribute('valoranterior', this.value);
					oObject.change();
				}

				this.focus();
				return;

			});

		oInputs.focus(function(){
				try
				{
					this.select();
				}
				catch(oError)
				{
				}
			});

		oSelects.change(function()
			{
				var oTxt = $('#' + this.getAttribute('lookfor'));
				if (!oTxt.length) return;
				oTxt.val(this.value);
			});

		oSelects.each(function(iPos, oSelect)
			{
				if (!oSelect) return;

				var oTxt = $('#' + oSelect.getAttribute('lookfor'));
				if (oTxt.length) oTxt.val(this.value);
			});

		//////////////////////////////////////////////////////////////////
		// Mostrar/Ocultar objetos por el ID en el CLICK, pueden ser
		// varios separados por comas (sin espacios).
		//////////////////////////////////////////////////////////////////
		$('input[type=checkbox].ShowHide, div.ShowHide, span.ShowHide, li.ShowHide').click(function(){
				ShowHide(this);
			});

		//////////////////////////////////////////////////////////////////
		// Mostrar/Ocultar objetos por el ID en el BLUR, pueden ser
		// varios separados por comas (sin espacios).
		//////////////////////////////////////////////////////////////////
		$('*.BlurShowHide').blur(function(){
				ShowHide(this);
			});

		//////////////////////////////////////////////////////////////////
		// Limpiar objetos SELECT, INPUT,  que sean child del ID, pueden ser
		// varios separados por comas (sin espacios).
		//////////////////////////////////////////////////////////////////
		$('div.Limpiar, span.Limpiar').click(function()
			{
				if (this.getAttribute('obj') == '') return;

				var aObjects = this.getAttribute('obj').split(',');

				for(iPos = 0; iPos < aObjects.length; iPos++)
				{
					if ($('#' + aObjects[iPos]).length == 1)
					{
						// SELECT, INPUT, TEXTAREA
						$('#' + aObjects[iPos] + '>*:input').each(function(iPos, oInput)
							{
								// Text
								if ((oInput.tagName == 'input' && (oInput.type == 'text' || oInput.type == 'password')) ||
									oInput.tagName == 'textarea')
									oInput.value = oInput.defaultValue;
								// Checkbox u Radio
								if (oInput.tagName == 'input' && (oInput.type == 'radio' || oInput.type == 'checkbox'))
									oInput.checked = oInput.defaultChecked;
								//Select
								else if (oInput.tagName == 'select')
								{
									oInput.index = -1;
									$(oInput.options).each(function(iPos, oOption)
										{
											oOption.selected = oOption.defaultSelected;
										});
								}
							});
					}
				}
			});


	}
	catch(e){}
});

function pageload(hash) {
	//if(hash)	if($.browser.msie) hash = encodeURIComponent(hash);
	HistoryBackContentLoader(hash);
}

/*===================================================================
 function: mostrarMensaje
 	Muestra un mensaje en un elemento DIV o SPAN.
 Devuelve:
	No retorna ningún valor.
 Parametros:
 	oObj	 -> EL DIV en donde se muestra el mensaje
 	sMensaje -> El mensaje.
 	bError	 -> Si el mensaje es un error se muestra en rojo, sino
 				en negro.
 	bText	 -> Si el mensaje debe ser mostrado como texto, ignorando
 				el HTML.
 	bNL2BR	 -> Cambia retornos de carro por elementos <br/>.
=====================================================================*/
function mostrarMensaje(oObj, sMensaje, bError, bText, bNL2BR)
{
	if (bText)
	{
		oObj.text(sMensaje);
		if (bNL2BR)
		{
			sMensaje = oObj.html();
			sMensaje = sMensaje.replace(/(\n)/g, '\n<br/>');
			oObj.html(sMensaje);
		}

	}
	else
	{
		if (bNL2BR)
			sMensaje = sMensaje.replace(/(\n)/g, '\n<br/>');
		oObj.html(sMensaje);
	}

	if (bError)
	{
		oObj.css('text-weight', 'bold');
		oObj.css('color', 'red');
	}
	oObj.show();
}

/*===================================================================
 function: destacarCuadrosDeTexto
 	Destaca un cuadro de texto cuando tiene el foco
 Devuelve:
	No retorna ningún valor.
 Parametros:
=====================================================================*/
function destacarCuadrosDeTexto()
{
	var oText = $('input[type=text], textarea, input[type=password], select');

	oText.focus(function(){
						if ($(this).css('color') != '000000' ||
							$(this).css('color') != 'black' )
						{
							$(this)[0].setAttribute('oldcolor', $(this).css('color'));
						}

						$(this).css('color', 'black');
						if (!this.readOnly)
							$(this).css('background-color', '#FDFBAA');
						else
							$(this).css('background-color', '#FFD8B0');
					});

	oText.blur(function(){
						$(this).css('background-color', '');

						if ($(this)[0].getAttribute('oldcolor') &&
							$(this)[0].getAttribute('oldcolor') != '')
						{
							$(this).css('color', $(this)[0].getAttribute('oldcolor'));
						}
					});

}

/*===================================================================
 function: ShowHide
 	Mostrar/Ocultar objetos por el ID en el CLICK, pueden ser
	varios separados por comas (sin espacios).
 Devuelve:
	No retorna ningún valor.
 Parametros:
 	oObjectShowHide -> El objeto llamante
=====================================================================*/
function ShowHide(oObjectShowHide)
{
	if (oObjectShowHide.getAttribute('obj') == '') return;

	var aObjects = oObjectShowHide.getAttribute('obj').split(',');
	var bInvertir = oObjectShowHide.getAttribute('invertir') != '';

	for(iPos = 0; iPos < aObjects.length; iPos++)
	{
		if ($('#' + aObjects[iPos]).length == 1)
		{
			if (oObjectShowHide.tagName.toLowerCase() != 'input')
			{
				$('#' + aObjects[iPos]).toggle();
			}
			else if (!bInvertir)
			{
				if (oObjectShowHide.checked)
					$('#' + aObjects[iPos]).show();
				else
					$('#' + aObjects[iPos]).hide();
			}
			else
			{
				if (oObjectShowHide.checked)
					$('#' + aObjects[iPos]).hide();
				else
					$('#' + aObjects[iPos]).show();
			}
		}
	}

	if (oObjectShowHide.getAttribute('focus') && $('#' + oObjectShowHide.getAttribute('focus')).length )
	{
		if ($('#' + oObjectShowHide.getAttribute('focus')).css('display') != 'none' )
			$('#' + oObjectShowHide.getAttribute('focus')).focus();
	}

}