﻿/*
    global.js
*/

function MM_swapImgRestore() { //v3.0
	var i, x, a = document.MM_sr; for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc;
}
function MM_preloadImages() { //v3.0
	var d = document; if (d.images) {
		if (!d.MM_p) d.MM_p = new Array();
		var i, j = d.MM_p.length, a = MM_preloadImages.arguments; for (i = 0; i < a.length; i++)
			if (a[i].indexOf("#") != 0) { d.MM_p[j] = new Image; d.MM_p[j++].src = a[i]; } 
	}
}

function MM_findObj(n, d) { //v4.01
	var p, i, x; if (!d) d = document; if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
		d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p);
	}
	if (!(x = d[n]) && d.all) x = d.all[n]; for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
	for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
	if (!x && d.getElementById) x = d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
	var i, j = 0, x, a = MM_swapImage.arguments; document.MM_sr = new Array; for (i = 0; i < (a.length - 2); i += 3)
		if ((x = MM_findObj(a[i])) != null) { document.MM_sr[j++] = x; if (!x.oSrc) x.oSrc = x.src; x.src = a[i + 2]; }
}

/*	2008.10.29
rtrim(string) e ltrim(string) -> string
Remove os espaços que existam à esquerda ou à direita da string.
Caso não indicado o segundo parâmetro, serão também considerados:

* " " (ASCII 32 (0x20)), espaço.
* "\t" (ASCII 9 (0x09)), tab.
* "\n" (ASCII 10 (0x0A)), nova linha (line feed).
* "\r" (ASCII 13 (0x0D)), tecla enter (carriage return).
* "\0" (ASCII 0 (0x00)), nulos.
* "\x0B" (ASCII 11 (0x0B)), tab vertical.

trim(string) -> string
Remove espaços existentes à esquerda e à direita da string
*/
function trim(str, chars) { return ltrim(rtrim(str, chars), chars); }

function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

/*
2008.10.09
==========
wbBoxValidaPesquisa(obj_elemento_a_validar) -> boolean
Verifica se o inserido na caixa de diálogo está preenchido e se o o seu conteúdo não coincide
com o default existente aquando entrada inicial.

2009.08.12
==========
Validar as dropdownlist "Genero" (ctl00_ctr_pesquisa_DD_SearchGenero) 
e "Artista" (ctl00_ctr_pesquisa_DD_SearchArtista)

Pelo menos trs caracteres são obrigatórios inserir
*/
function wbBoxValidaPesquisa(obj, texto, errorMsg) {
	if (trim(obj.value, ' ').length < 3 || obj.value == texto) {
		/*
		.length (nº de items)
		.name (nome atribuído ao id do elemento)
		.selectedIndex (indice actualmente seleccionado)
		.value (conteudo actualmente associado)
		.disabled (activo / inactivo)
		.multiple (true / false)
		*/

		//var oName = document.getElementById('ctl00_ctr_pesquisa_DD_SearchArtista').value;
		var artista = document.getElementById('ctl00_ctr_pesquisa_DD_SearchArtista').selectedIndex;
		var genero = document.getElementById('ctl00_ctr_pesquisa_DD_SearchGenero').selectedIndex;
		
		// Validar o valor (neste caso, a descrição não nos interessa) 
		if (
            (parseInt(artista) < 1 || parseInt(artista) == NaN)
            &&
            (parseInt(genero) < 1 || parseInt(genero) == NaN)
            ) {
			alert(errorMsg);
			obj.value = texto;
			return false; // Cancelar a operaçãoo
		}
	}

	return true; // Considera que tudo está OK
}

function clickButton(e, buttonid) {
	// Verificar se é IE
	var browser = navigator.appName;
	var evt = e ? e : window.event;

	//var bt = document.getElementById(buttonid);

	if (browser == "Microsoft Internet Explorer") {
		var bt = window.document.getElementById(buttonid);
	}
	else {
		var bt = document.getElementById(buttonid);
	}

	if (bt) {
		if (evt.keyCode == 13) {
			bt.click();
			return false;
		}
	}
}

