var apiUserForm;
var emailUserValidated = false;
var lastIndex = 1;
$(function() {

	// get container for the wizard and initialize its exposing
	var form_contact = $("#form_contact");	

	
	// enable tabs that are contained within the form_contact
	$("ul.tabs", form_contact).tabs("div.panes > div", function(event, index) {
		
		/* now we are inside the onBeforeClick event */
		var anteriorIndex = this.getIndex();
		var seguentIndex = index;
		lastIndex = seguentIndex;
		return validateActualPanel(anteriorIndex);
	});
	
	// get handle to the tabs API
	apiUserForm = $("ul.tabs", form_contact).data("tabs");

	// "next tab" button
	$("button.next", form_contact).click(function() {
		apiUserForm.next();
	});

	// "previous tab" button
	$("button.prev", form_contact).click(function() {
		apiUserForm.prev();
	});

	$("#firstButton").click(function() {
//		lastIndex = 1;
		firstButtonProcess();
	});
	
	$('#txt_nlu_Email').change(function() {
		emailUserValidated = false;
	});

	// l'últim botó dels formularis serŕ el de finalització
	$('.botonForm:last').html('Finalitzar');
	
	//Si hi ha mes d'un panel el botó final tira el submit
	if (countNumPanels() > 1) {
		$('.botonForm:last').click(function() {
			if ( validateActualPanel(lastIndex)) {
				formUserSubmit();
			}
		});
	}
	
	$("#copiarDadesPersonalsButton").click(function(){
		var a = ($("input[name=txt_nlu_Name]").length > 0)? $("input[name=txt_nlu_Name]").val()+' ' : '';
		var b = ($("input[name=txt_nlu_Surname]").length > 0)? $("input[name=txt_nlu_Surname]").val() : '';
		$("input[name=txt_ufm_OrganitzacioFact]").val(a+b);

		var c = ($("input[name=txt_ufm_NIF]").length > 0)? $("input[name=txt_ufm_NIF]").val() : '';
		$("input[name=txt_ufm_CIF]").val(c);
		
		var d = ($("input[name=txt_ufm_Address]").length > 0)? $("input[name=txt_ufm_Address]").val()+' ' : '';
		var e = ($("input[name=txt_ufm_Num]").length > 0)? $("input[name=txt_ufm_Num]").val() : '';
		$("input[name=txt_ufm_AddressContacte]").val(d+e);
		
		var f = ($("input[name=txt_ufm_CP]").length > 0)? $("input[name=txt_ufm_CP]").val()+' ' : '';
		var g = ($("input[name=txt_ufm_Poblacio]").length > 0)? $("input[name=txt_ufm_Poblacio]").val() : '';
		$("input[name=txt_ufm_PoblacioContacte]").val(f+g);
		
		var h = ($("input[name=txt_ufm_Telefon1]").length > 0)? $("input[name=txt_ufm_Telefon1]").val() : '';
		$("input[name=txt_ufm_TelContacte]").val(h);
		
		var i = ($("input[name=txt_nlu_Email]").length > 0)? $("input[name=txt_nlu_Email]").val() : '';
		$("input[name=txt_ufm_EmailContacte]").val(i);
		
	});
});


//////////////////////////////////////////////////////////////////

function validateActualPanel(numPanel) {
	
	var f = document.forms['usuarios_extranet'];
	
	//Com que les pestanyes poden canviar ens guardem la posició de cada una
	var vis = [];
	var i=0;
	$('#tabsform a').each(function(){
		vis[i] = parseInt(($(this).attr('id')).substr(3));
		i++;
	});
	
	switch (vis[numPanel]) {
		case 0:
			//lastIndex = seguentIndex;
			return emailUserValidated || CheckFormDadesBasiques(f);
			break;
		case 1:
			return CheckFormDadesPersonals(f);
			break;
		case 2:
			return CheckFormTitolProfessio(f);
			break;
		case 3:
			return CheckFormDadesFacturacio(f);
			break;
	}
}

function formUserSubmit() {
	var f = document.forms['usuarios_extranet'];
	f.int_form_Validated.value = '1234';
	f.action = "update.php";
	f.submit();
}

function countNumPanels() {
	return $('#tabsform a').length;
}
function firstButtonProcess() {
	
	
	if (countNumPanels() > 1) {
		//apiUserForm.click(lastIndex);
		apiUserForm.next();
	} else {
		if (emailUserValidated) formUserSubmit()
		else CheckFormDadesBasiques(document.forms['usuarios_extranet']);
	}
}

function verifyEmail(emailstr) {
	checkEmail = emailstr
	if ((checkEmail.indexOf('@') < 1) || ((checkEmail.charAt(checkEmail.length-5) != '.') && (checkEmail.charAt(checkEmail.length-4) != '.') && (checkEmail.charAt(checkEmail.length-3) != '.'))) 
		{ alert("ATENCIÓ: El camp email no és correcte");
		return false;
	}
}

function ajaxCheckEmail(f) {
	var email = f.txt_nlu_Email.value;
	var old_email = f.txt_old_nlu_Email.value;
	var isInsertMode = (typeof f.PKN_nlu_PK == 'undefined');
	var f = document.forms['usuarios_extranet'];
	
	if (isInsertMode || (!isInsertMode && email!=old_email) ) {
		$.ajax({
			type: "GET",
			url: "json_check_user.php",
			data: 'usuari='+email,
			dataType: "json",
			error: function(){ alert('Error AJAX'); }, 
			success: function(data){
				if (data.user_exist) alert('Aquest email ja existeix a la base de dades.');
				else {
					emailUserValidated = true;
					firstButtonProcess();
				}
			}
		});
	} else {
		emailUserValidated = true;
		firstButtonProcess();
	}
}

function CheckFormDadesBasiques(f)
{
	if (f.txt_nlu_Name.value=='')
	{
		alert("ATENCIÓ: El camp Nom es obligatori");
		f.txt_nlu_Name.focus();
		return false;
	}
	if (f.txt_nlu_Surname.value=='')
	{
		alert("ATENCIÓ: El camp Cognoms es obligatori");
		f.txt_nlu_Surname.focus();
		return false;
	}
	if (f.txt_nlu_Email.value=='')
	{
		alert("ATENCIÓ: El camp Email es obligatori");
		f.txt_nlu_Email.focus();
		return false;
	}
	if (f.nlu_Password.value=='')
	{
		alert("ATENCIÓ: El camp Contrasenya es obligatori");
		f.nlu_Password.focus();
		return false;
	}
	if (f.nlu_Password.value!=f.conf_nlu_Password.value){
		alert("ATENCIÓ: Els camps de contrasenya han de ser iguals.");
		return false;
	}	
	if (!f.acepto.checked)
	{
		alert("ATENCIÓ: ha d'aceptar les condicions legals de registre.");
		return false;
	}
	if (verifyEmail(f.txt_nlu_Email.value)==false)
	{
		return false;
	}
	ajaxCheckEmail(f);
	return false; //Es fa la comprovació en ajax, per tant sera el que mani si pasa de tab
	//return true;
}

function CheckFormDadesPersonals(f)
{
	if (typeof f.txt_ufm_NIF != 'undefined' && f.txt_ufm_NIF.value=='')
	{
		alert("ATENCIÓ: El camp NIF és obligatori");
		f.txt_ufm_NIF.focus();
		return false;
	}
	if (typeof f.txt_ufm_Naixement != 'undefined' && f.txt_ufm_Naixement.value=='')
	{
		alert("ATENCIÓ: El camp data de naixement és obligatori");
		f.txt_ufm_Naixement.focus();
		return false;
	}
	if (typeof f.txt_ufm_Address != 'undefined' && f.txt_ufm_Address.value=='')
	{
		alert("ATENCIÓ: El camp adreça és obligatori");
		f.txt_ufm_Address.focus();
		return false;
	}
	if (typeof f.txt_ufm_Num != 'undefined' && f.txt_ufm_Num.value=='')
	{
		alert("ATENCIÓ: El camp num. és obligatori");
		f.txt_ufm_Num.focus();
		return false;
	}
	if (typeof f.txt_ufm_Poblacio != 'undefined' && f.txt_ufm_Poblacio.value=='')
	{
		alert("ATENCIÓ: El camp població és obligatori");
		f.txt_ufm_Poblacio.focus();
		return false;
	}
	if (typeof f.txt_ufm_Telefon1 != 'undefined' && f.txt_ufm_Telefon1.value=='')
	{
		alert("ATENCIÓ: El camp telčfon 1 és obligatori");
		f.txt_ufm_Telefon1.focus();
		return false;
	}
	return true;
}

function CheckFormTitolProfessio(f)
{
	if (typeof f.txt_ufm_Titulacio != 'undefined' && f.txt_ufm_Titulacio.value=='')
	{
		alert("ATENCIÓ: El camp Titulació és obligatori");
		f.txt_ufm_Titulacio.focus();
		return false;
	}
	if (typeof f.txt_ufm_Organitzacio != 'undefined' && f.txt_ufm_Organitzacio.value=='')
	{
		alert("ATENCIÓ: El camp Organització és obligatori");
		f.txt_ufm_Organitzacio.focus();
		return false;
	}
	return true;
}

function CheckFormDadesFacturacio(f)
{
	if (typeof f.txt_ufm_OrganitzacioFact != 'undefined' && f.txt_ufm_OrganitzacioFact.value=='')
	{
		alert("ATENCIÓ: El camp Nom i cognoms / Organització és obligatori");
		f.txt_ufm_OrganitzacioFact.focus();
		return false;
	}
	if (typeof f.txt_ufm_CIF != 'undefined' && f.txt_ufm_CIF.value=='')
	{
		alert("ATENCIÓ: El camp NIF / CIF és obligatori");
		f.txt_ufm_CIF.focus();
		return false;
	}
	if (typeof f.txt_ufm_AddressContacte != 'undefined' && f.txt_ufm_AddressContacte.value=='')
	{
		alert("ATENCIÓ: El camp adreça és obligatori");
		f.txt_ufm_AddressContacte.focus();
		return false;
	}
	if (typeof f.txt_ufm_PoblacioContacte != 'undefined' && f.txt_ufm_PoblacioContacte.value=='')
	{
		alert("ATENCIÓ: El camp població és obligatori");
		f.txt_ufm_PoblacioContacte.focus();
		return false;
	}
	return true;
}

function Confirmar() {
	document.returnValue = confirm("Confirmi que vol eliminar el seu compte d'usuari.")
}
