//definicoes globais
var defaultColor = '#88AAFF';
var openColor = '#dbf8ff'; //'#FFDDBD'
var btnOpenColor = 'white';
var closeColor = '#dbf8ff';
var warningColor = 'lightyellow';
var slideSpeed = 100;

		

$(document).ready(function() {
	loaders = 'div[@id="indicator"]';


	//esconde todas as linhas devidas
	hideLoaders();
	//hideMessages();
	hideResults();
	hideButtons();
	

	$('input[@id^="showForm"]').click(function(){
		//alert('clicado');
		//esconde mensagens e apresenta form outra vez
		hideButtons();
		hideLoaders();
		hideResults();
		hideArea('div[@id="backButton"]');
		showArea('div[@id="submitForm"]');
	
	});
	

	
	//mostra os seleccionados 1
	$('input[@name="btnSubmit"]').click(function(){			
		//regista essa classe
		var myVar = $('div[@id="indicator"]');
		var warnigBox = $('div[@id="warningBox"]');
		
		//executa accao
		//alert(myVar);
		if (myVar.is(':visible')){			
			myVar.fadeOut(slideSpeed);
			
		}else{
			warnigBox.hide();
			myVar.fadeIn(slideSpeed);
		}
	});
	

	$('input[@name="btnSearchAJAX"]').click(function(){
		
		var validationResult = verify_inscr();
	
		//alert(validationResult);
	
		if (validationResult == true){
			hideResults();
			hideArea('div[@id="submitForm"]');
			showArea('div[@id="searchResults"]');
			showArea(loaders);
			//hideArea();
			//hideArea();
			//alert("ajax iniciado");
			
			var qstring = [];
			//recolhe dados do form	---------------------- CHECKBOXES DE FILTROS
			var filtersActive = getFormValues("var");
			qstring.push(filtersActive);
			//alert(filtersActive);
			
			//recolhe dados do form	---------------------- elemento de id
			//qstring.push('searchid=' + document.getElementById("nrPesquisas").value);
			//alert(inputs.join('&'));
			
			//chama ajax/json
			//alert('novo_socio_saveData.asp?' + qstring.join('&'));
			//window.prompt('url','searchResult.asp?' + qstring.join('&'));
			$.ajax({
			    url: 'novo_socio_saveData.asp?' + qstring.join('&'),
			   	type: 'GET',
			    dataType: 'html',
			    timeout: 10000,
			    error: function(){
			    	var msg = 'Erro de timeout';
			    	document.getElementById("messagesBox").innerHTML = msg
			        //alert(msg);
			        hideArea(loaders);
			    },
			    success: function(data){
			    	//alert("sacou dados: " + data);
					//TESTE 1: eval(data);
					var responseObj = eval("(" + data + ")");
			    	//alert("avaliou dados e vai update: ");
					updateData(responseObj);
			    }
			});
		} //final do if validationResult == true{
	});


		
});


function getFormValues(fieldName){
	var qstring = [];
	var fieldsActive = "";
	
	//recolhe dados do form	---------------------- INPUT
	var fieldSelection = $('input[@name^="' + fieldName + '"]');
	fieldSelection.each(function(){
		if (fieldsActive=="")
			fieldsActive = this.name + "=" + fixAmpersand(symbolToCode(this.value));
		else
			fieldsActive += "&" + this.name + "=" + fixAmpersand(symbolToCode(this.value));
	});


	//recolhe dados do form	---------------------- SELECT
	var selectSelection = $('select[@name^="' + fieldName + '"]');
	selectSelection.each(function(){
		if (fieldsActive=="")
			fieldsActive = this.name + "=" + fixAmpersand(symbolToCode(this.value));
		else
			fieldsActive += "&" + this.name + "=" + fixAmpersand(symbolToCode(this.value));
	});
	
	
	//recolhe dados do form	---------------------- TEXTAREA
	var textareaSelection = $('textarea[@name^="' + fieldName + '"]');
	textareaSelection.each(function(){
		if (fieldsActive=="")
			fieldsActive = this.name + "=" + fixAmpersand(symbolToCode(this.value));
		else
			fieldsActive += "&" + this.name + "=" + fixAmpersand(symbolToCode(this.value));
	});
	

	//alert(fieldsActive);

	return fieldsActive;
}

//fc q recebe um texto (tipo &aacute; ou &#225;) e transforma o & em ampersand para nao estragar uma queryString
function fixAmpersand(stringToFix){
	return stringToFix.replace('&#', 'ampersand');
}


function updateData(dataToWrite){
	//toggleLoaders();
	hideArea(loaders);


	//defaultMessage
	var textoResultado = "Caro(a) #_SUBST_NAME_#,<br><br>";
	
	textoResultado += "<b>#_SUBST_MESSAGE_#</b><br><br>";		
	if (dataToWrite.opStatus == 0) {
		textoResultado += "Clique no bot&atilde;o \"voltar\" para tentar novamente ou contacte o Departamento de Assinaturas.<br>";
	} else{
		textoResultado += "Foi-lhe atribu&iacute;do o n&ordm; provis&oacute;rio <b>-#_SUBST_IDSOCIO_#-</b>.<br>Em breve receber&aacute; um email em <b>#_SUBST_EMAIL_#</b> confirmando o seu registo e pedindo que o finalize clicando no link enviado.<br><br>";
		textoResultado += "Caso n&atilde;o o receba nas pr&oacute;ximas horas, verifique se n&atilde;o estar&aacute; na pasta de SPAM j&aacute; que por vezes este email &eacute; erroneamente classificado.<br><br>";
		textoResultado += "Com os melhores cumprimentos,<br>Aceprensa.pt<br>";
	}
	
	
	// Message configuration
	textoResultado = textoResultado.replace('#_SUBST_NAME_#', dataToWrite.userFullName);
	textoResultado = textoResultado.replace('#_SUBST_EMAIL_#', dataToWrite.userEmail);
	textoResultado = textoResultado.replace('#_SUBST_MESSAGE_#', dataToWrite.msg);
	textoResultado = textoResultado.replace('#_SUBST_IDSOCIO_#', dataToWrite.userTempID);
	//alert(textoResultado.replace('<br>','\n'));
	
	//Message presentation
	document.getElementById("messagesBox").innerHTML = textoResultado;
	
	//apresentamos as divs de resultados
	showArea('div[@id="messagesBox"]');
	if(dataToWrite.opStatus == 0){
		//alert('div[@id="backButton"');
		showArea('div[@id="backButton"]');
	}
}

function updateOpenerData(dataToWrite){
	var textoResultado = "Resultado da pesquisa: #_SUBST_# registo(s)."
	opener.document.getElementById("resultData").innerHTML = textoResultado.replace('#_SUBST_#', dataToWrite.count);
	opener.document.getElementById("userList").value = dataToWrite.userList;
	opener.document.getElementById("nrPesquisas").value = dataToWrite.searchid;	
	
	//adicionamos a lista de historico
	var prevHistory = opener.document.getElementById("historyBox").innerHTML;
	opener.document.getElementById("historyBox").innerHTML = prevHistory + "#" + dataToWrite.searchid + ": " + dataToWrite.count + " registo(s)<br>";
	
	//caso venha uma mensagem, apresentamos
	if(dataToWrite.msg != ''){
		opener.document.getElementById("messagesBox").innerHTML = dataToWrite.msg;
	}
	
}

hideLoaders = function(){
	$(loaders).hide();
}

hideMessages = function(){
	$('div[@id="warningBox"]').hide();
}

hideResults = function(){
	$('div[@id="searchResults"]').hide();
	$('div[@id="resultData"]').hide();
	$('div[@id="resultParams"]').hide();
}

hideButtons = function(){
	$('div[@id^="backButton"]').hide();
}

showArea = function(myArea){
	$(myArea).show();
}

hideArea = function(myArea){
	$(myArea).hide();
}

toggleLoaders = function(){
	toggleArea('div[@id="indicator"]');
}

toggleResults = function(){
	toggleArea('div[@id="resultData"]');
	toggleArea('div[@id="resultParams"]');
}



toggleArea = function(myArea){
	var area = $(myArea);
	if (area.is(':visible')){			
		area.fadeOut(slideSpeed);
		
	}else{
		area.fadeIn(slideSpeed);
	}		
}

copyData = function(){

	$('input[@name^="copyfilter"]').click(function(){
	
		//copia dados de um div para o opener
		alert('vai copiar da div de filtros os valores ');
		sourceData = document.getElementById("filterList");//("filterList"));
		alert(sourceData.value);
		targetData = $(document.getElementById("filterResults"));
		targetData.value = sourceData.value;
		alert('copiados os valores ' + sourceData.value);
		var myForm = $(document.getElementById('form'));
		var myForm = document.getElementById('form');
			//myForm.method='POST';
			myForm.action='status.asp';
			myForm.target='www';
			//myForm.encoding='application/x-www-form-urlencoded';
			myForm.submit();
	
//function deleteFile(recID, fileName){
//	if(recID>0 && fileName!=''){
		//pede confirmacao antes de prosseguir
	//	if(confirm_action('ATENÇÃO: VAI ELIMINAR DADOS.')){
			//faz post a ela propria para apagar anexo
	//		var myForm = document.getElementById('form');
	//		//myForm.method='POST';
	//		myForm.action='status.asp';
	//		myForm.target='www';
			//myForm.encoding='application/x-www-form-urlencoded';
	//		myForm.submit();
			//alert(document.forms[0].);
	//	}
//	}else{
//		alert('O anexo não pode ser eliminado \npor se encontrar em falta o registo ou o seu nome.');
//	}
//}		
	
	});
	
	
	
}

