<!-- Formulário Pretendo Ser Contactado -->
function propagaParametros(target,openNewWindow,banner_path){
	//obtenção do URL da página actual
	var linkURL = window.location.href;
	var fullurl;
	var itemid;
	var origem_value;
	var arrayParametros = new Array();
	var arrayParametrosARemover = new Array();
	var arrayAdicaoParametros = new Array();
	var parameterCounter;
	var link;
	var individualPaparameter;

	// Set the optional parameter if needed
   if ( typeof(openNewWindow) == 'undefined' ) {
		openNewWindow = 0;
   }

	// Set the optional parameter if needed
   if ( typeof(banner_path) == 'undefined' ) {
		banner_path = '';
   }
	
	// inicializa o array de parâmetros e sua correspondência [1-parâmetro lido] [2-parâmetro propagado] [3-operaçao a efectuar no parametro (P-Propagar) e (TR-Transformar e Remover)]
	// array para propagação de vars./parametros
	var arrayParametros = [
	['_origem_contacto', '_origem_contacto','P' ],
	['_codigo_campanha', '3F95601B-F3B2-432E-9906-262DF59C9E23','P'],
	['p', 'produto_referer','TR'],
	['referenciaProcesso', '{E1A913CE-2BBF-40FB-BA02-C68ED476CE23}','P']];

	// o URL para onde será direccionado o pedido é inicializado(por omissão)
	link = target;

	for (parameterCounter in arrayParametros)
	{
		//no caso de haver o simbolo "?" no URL
		if (linkURL.indexOf("?") > 0) {
			//efectua-se o split do url global pelo simbolo "?"
			fullurl = linkURL.split("?");
			
			// no caso de o parâmetro ser um daqueles que deve ser tratado
			if (fullurl[1].indexOf(arrayParametros[parameterCounter][0] + "=") >= 0) {
				// faz-se o split de novo para se obter a var. (ex. _origem_contacto)
				itemid = fullurl[1].split(arrayParametros[parameterCounter][0] + "=");
	
				//obtém o valor da var. [_origem_contacto]
				origem_value = itemid[1].split("&")[0]; 

				//verificamos se o parâmetro deverá ser propagado/transformado ou removido
				if (arrayParametros[parameterCounter][2] == 'P') {
					//constroi o link com a inclusão/propagação das vars. [2ª posição do array]
					link = link +"&" + arrayParametros[parameterCounter][1] + "=" + origem_value;

				} else if (arrayParametros[parameterCounter][2] == 'TR') {
					link = link +"&" + arrayParametros[parameterCounter][1] + "=" + origem_value;

					//constroi o link com a inclusão/propagação das vars. [2ª posição do array]
					link = link.replace("&" + arrayParametros[parameterCounter][0] + origem_value + "&","");
					link = link.replace(arrayParametros[parameterCounter][0] + origem_value + "&","");
					link = link.replace("&" + arrayParametros[parameterCounter][0] + origem_value,"");

				}
			} 
		} 
	}
	
	//inserimos a pagina de origem na referncia
	fullurl = linkURL.split("?");
	    //passar o http://
	fullurl = fullurl[0].split("//");
	    //colocar no caminho saltando o dominio, atencao ao restante path
	fullurl = fullurl[1].split("/");
	
	var construcaoURL = "/";
	for(var i=1; i < fullurl.length; i++)
	   construcaoURL = construcaoURL + fullurl[i] + "/";
	   
	construcaoURL = construcaoURL.slice(0, -1);

	//adiciona o nome da pagina de origem do pedido
   link = link + "&" + "nomepaginaorigem=" + document.title;

   link = link + "&" + "nomeorigembpiinvestimento=" + construcaoURL;

	//no caso de ter sido passado uma path especifica para a imagem a apresentar no topo do formulário
	if (banner_path != '') {
		//passa o link com a informação da imagem a apresentar no top do formulário
		link = link + "&" + "bannerpath=" + urlencode(urlencode(banner_path));
	}
   
	//no caso de querermos que o formulário abra numa nova janela
	if (openNewWindow == 1) {
		window.open(link);
	} else {
		window.location.href=link;
		return false;
	}
}


function urlencode(str) {
	return escape(str).replace(/\+/g,'%2B').replace(/%20/g, '+').replace(/\*/g, '%2A').replace(/\//g, '%2F').replace(/@/g, '%40');
}
