/**
 * Função que analisa a URL da página, no formato url?param=valor&param2=valor2
 * e transforma em um objeto com todos os parâmetros como propriedades.
 * (eg. {param: "valor", param2: "valor2"} )
 * Também desconverte os valores em URL-encoding (eg. 'A+a%E7%E3o' => 'A ação').
 *
 * @author Rafael Hengles <rafael.chagas@agenciaclick.com.br>
 * @date	2008.10.17
 * @return Um objeto com os parâmetros como chaves e seus valores.
 */
function getParams(){
	var params = {};
	var L=location.href;
	var qp = L.indexOf('?');
	if ( qp < 0 ) return params;
	var d=L.substring(qp+1).split('&');
	for(var i = 0; i < d.length; i++) {
		var ep = d[i].indexOf('=');
		params[ep < 0 ? d[i] : d[i].substring(0,ep)]
				= ep < 0 ? null : unescape(d[i].substring(ep+1).split('+').join(' '));
	}
	return params;
}

/**
 * Função que garante que o $ (dollar) é do jQuery
 */
(function($){
	/**
	 * Usamos o evento onReady do documento para garantir que o HTML tenha sido carregado totalmente.
	 */
	$(document).ready(function() {

		// Aqui pegamos as layers das bandeiras aplicadas no cartão
		var jq_bandeiras = $('#content .spotlight .plastico .bandeira');

		// E estes são os links que trocam a bandeira
		$('#content .spotlight .bandeiras .icones a')

		// Quando o usuário clicar na bandeira ela será mostrada no cartão
		.bind('click', function(e) {

			// por isso usamos hide(), que vai ocultar qualquer uma que estiver à mostra
			// nem precisamos nos preocupar em verificar qual aparecia antes
			jq_bandeiras.hide() // IMPORTANTE: sem ponto-e-vírgula

				// Como a bandeira que nós queremos mostrar está no mesmo conjunto,
				// só precisamos filtrá-lo usando a primeira classe do botão que foi
				// clicado e mandar mostrar a bandeira.
				.filter('.'+$(this).attr('class').split(' ')[0]).show();
		});

		// Acima nós instruímos o que acontece quando o usuário _clica_, mas se tiver um
		// parâmetro na URL dizendo que o usuário já selecionou uma bandeira em outra página,
		// nós devemos mostrá-la _imediatamente_.
		var params = getParams();
		if ( params.b != undefined ) {
			jq_bandeiras.filter( params.b == '1' ? '.visa' :
				( params.b == '2' ? '.mastercard' :
				( params.b == '3' ? '.diners .diners-full' : '' ) ) ).show();
		}
	});
})(jQuery);