// JavaScript Document
// AJAX
function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http_partners = createRequestObject();

function submitPartner(form){
	var el = document.getElementById('error_message');
	if (el != null){
		el.innerHTML = '';
	}
	var el = document.getElementById('resetForm');
	if (el != null){
		el.disabled = true;
	}
	var el = document.getElementById('submitForm');
	if (el != null){
		el.disabled = true;
	}
	var token = '&token=' + new Date().getTime();
	var url = 'partners.ajax.php?req=submit' + token;
	var parameters = getPostString(form);
	//alert(parameters);
	http_partners.open('POST', url, true);
	http_partners.onreadystatechange = function(){
		handleSubmitPartnerResponse(form);
	};
	http_partners.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_partners.setRequestHeader("Content-length", parameters.length);
	http_partners.setRequestHeader("Connection", "close");
	http_partners.send(parameters);
}

function handleSubmitPartnerResponse(form) {
    if (http_partners.readyState == 4){
        var response = http_partners.responseText;
        var result_array = new Array();
        //LOOP THROUGH THE RESPONSES
		//alert(response);
		var el = document.getElementById('resetForm');
		if (el != null){
			el.disabled = false;
		}
		var el = document.getElementById('submitForm');
		if (el != null){
			el.disabled = false;
		}
        if (response.indexOf('||' != -1)) {
            result_array = response.split('||');
            if (response.substr(0, 5) == '<?xml'){
				document.write(response);
				document.close();
            } else if(result_array[0] == '!error'){
				if (result_array[1] == '!location'){
					window.location = result_array[2];
				} else if (result_array[1] == '!validation'){
					var el = document.getElementById('error_message');
					if (el != null){
						el.innerHTML = result_array[2];
					}
				} else{
					var el = document.getElementById('error_message');
					if (el != null){
						el.innerHTML = 'Ocorreu um erro desconhecido...';
					}
				}
            } else if(result_array[0] != '!error'){
				if(result_array[0] == '!ok'){
					//alert(form);
					if (form != undefined) {
						form.req.value = "submited";
						form.submit();
					}
					//window.location.reload();
				}
            }
        }
    }
}

function detailsPartner(id) {
	var el = document.getElementById('rowDetails' + id);
	if (el != null){
		if (el.className == '') {
			el.className = 'hidden';
		} else {
			el.className = '';
		}
	}
}

function activatePartner(id, number, name) {
	var result = confirm('Deseja activar o sócio "' + name + '" com o NIF "' + number + '" ?');
	if (result) {
		document.form_socio.action = './socios.php';
		document.form_socio.id.value = id;
		document.form_socio.req.value = "activate";
		document.form_socio.submit();
	}
}

function addPartner() {
	document.form_socio.action = './socios.php';
	document.form_socio.req.value = "add";
	document.form_socio.submit();
}

function editPartner(id) {
	document.form_socio.action = './socios.php';
	document.form_socio.id.value = id;
	document.form_socio.req.value = "edit";
	document.form_socio.submit();
}

function deletePartner(id, number, name) {
	var result = confirm('Deseja apagar o sócio "' + name + '" com o NIF "' + number + '" ?');
	if (result) {
		document.form_socio.action = './socios.php';
		document.form_socio.id.value = id;
		document.form_socio.req.value = "delete";
		document.form_socio.submit();
	}
}

function listPartners() {
	document.form_socio.action = './socios.php';
	document.form_socio.req.value = "list";
	document.form_socio.submit();
}

function cancelPartner() {
	listPartners();
}

function filterPartner() {
	document.form_socio.action = './socios.php';
	document.form_socio.req.value = "filter";
	document.form_socio.submit();
}

function resetFilter() {
	listPartners();
}


/* -------------------------------------------------------------- */

function handlePartnerResponse(ret){
	//alert(unescape(ret));
	ret = unescape(ret);
	res = ret.split('||');
	if (res[0] == '!error'){
		switch (res[1]){
			case '!validation':
				var errors = res[3].split('|');
				errors.each(function(item){
					var form = res[2];
					var error = item.split('?');
					var field = form + '.' + error[0];
					$(form).getElementById(field).getParent().getElements('div.error_desc').each(function(item,index){
						item.set('html', error[1]);
						item.setStyle('display','block');
					});
					$(form).getElementById(field).getParent().addClass('error');;
				});
				break;
			
			default:
		}
	} else if (res[0] == '!ok'){
		//alert(form);
		if (res[1] != undefined) {
			var form = res[1];
			var field = form + '.req';
			$(form).getElementById(field).value = "submited";
			$(form).submit();
		}
		//window.location.reload();
	} else{
		//alert(unescape(ret));
	}
}

function condicaoInscricao(obj){
	var textObj = obj.nextSibling.nextSibling;
	if (textObj != null){
		textObj.value = obj.options[obj.selectedIndex].title;
	}
	var el = $('dadosPessoaSingular');
	if (el != null){
		switch (obj.options[obj.selectedIndex].value){
			case '1': case '5':
				el.removeClass('hidden');
				break;
			default:
				el.addClass('hidden');
		}
	}
}

function colaboracaoActiva(){
	var opt = $('formSocio.colaboracaoSim');
	var el = $('dadosColaboracaoActiva');
	if (opt != null && el != null){
		if (opt.checked){
			el.removeClass('hidden');
		} else{
			el.addClass('hidden');
		}
	}
}

function formaPagamento(obj){
	var el1 = $('pagamento1');
	var el2 = $('pagamento2');
	if (el1 != null && el2 != null){
		switch (obj.value){
			case '1':
				el1.removeClass('hidden');
				el2.addClass('hidden');
				break;
			case '2':
				el1.addClass('hidden');
				el2.removeClass('hidden');
				break;
			default:
				el1.addClass('hidden');
				el2.addClass('hidden');
		}
	}
}

function resetFormActions(reset){
	var el = $('dadosPessoaSingular');
	if (el != null){
		el.addClass('hidden');
	}
	var el = $('dadosColaboracaoActiva');
	if (el != null){
		el.addClass('hidden');
	}
	var el = $('pagamento1');
	if (el != null){
		el.addClass('hidden');
	}
	var el = $('pagamento2');
	if (el != null){
		el.addClass('hidden');
	}
}

