var delta = 1;
var tipo_inscripcion;
var grupo = 0;
var ir_inscr, ir_pra;
var v_boton_anterior;
var txt_cargando;
var txt_enviando;

if (lang == 'es') {
	txt_cargando = "<img src='images/loading.gif' width='16' height='16'>&nbsp;<span style='font-size: 12px'>Cargando...</span>";
	txt_enviando = "<img src='images/loading.gif' width='16' height='16'>&nbsp;<span style='font-size: 12px'>Enviando datos...</span>";
} else {
	txt_cargando = "<img src='images/loading.gif' width='16' height='16'>&nbsp;<span style='font-size: 12px'>Loading...</span>";
	txt_enviando = "<img src='images/loading.gif' width='16' height='16'>&nbsp;<span style='font-size: 12px'>Sending data...</span>";
}

function reg_empezar(ti, _grupo, ii, v)
//inicializa el arreglo y carga el primer modulo
{
	v_boton_anterior = v;
	tipo_inscripcion = ti;
	ir_inscr = ii;
	reg_limpiar_arr_datos();
	grupo = _grupo;
	ir_pra = false;
	reg_cargar(1);
	Util.get("div_modulo").onscroll = function() {reg_check_scroll()};
}

function reg_sig()
//siguiente pantalla de carga
{
	document.getElementById("msj_resultado").innerHTML = txt_cargando;
	reg_guardar_campos();
	if ( (indice == 3) && ((arr_datos['pop_inscr'] == "CON") || (arr_datos['pop_inscr'] == "EVE") 
		|| (arr_datos['pop_inscr'] == "APA") || (arr_datos['pop_inscr'] == "INT")) ) {
		if (!ir_pra) {
			delta = 2;
		} else {
			delta = 1;
		}
	} else if ( (indice == 2) && (arr_datos['ptipo_entidad'] == 'I') ) {
		if (!ir_pra && ((arr_datos['pop_inscr'] == "CON") || (arr_datos['pop_inscr'] == "EVE") ||
		(arr_datos['pop_inscr'] == "APA") || (arr_datos['pop_inscr'] == "INT"))) {
			delta = 3;
		} else {
			delta = 2;
		}
	} else {
		delta = 1;
	}
	if (indice < pantallas) {
		if (indice > 1) {
			reg_validar_formulario();
		} else {
			indice += delta;
			reg_cargar(indice);
		}
	}
}

function reg_ant()
//anterior pantalla de carga
{
	var a_delta;
	document.getElementById("msj_resultado").innerHTML = txt_cargando;
	reg_guardar_campos();
	if ( (indice == 5) && ((arr_datos['pop_inscr'] == "CON") || (arr_datos['pop_inscr'] == "EVE")
		|| (arr_datos['pop_inscr'] == "APA") || (arr_datos['pop_inscr'] == "INT")) ) {
		if (arr_datos['ptipo_entidad'] == 'I') {
			a_delta = 3;
		} else  {
			a_delta = 2;
		}
		if (ir_pra) {
			a_delta = 1;
		}
	} else if ( (indice == 4) && (arr_datos['ptipo_entidad'] == 'I') ) {
		a_delta = 2;
	} else {
		a_delta = 1;
	}
	
	indice -= a_delta;
	if (indice <= 0) {
		indice = 1;
		reg_cargar(indice);
	} else {
		if ((arr_datos['pop_inscr'] == "EVE") && (indice == 1)) {
			reg_ir_eventos();
		} else {
			reg_cargar(indice);
		}
	}
}

function reg_ir(ind)
//va a la pantalla ind
{
	reg_guardar_campos();
	indice = ind;
	reg_cargar(ind);
}

function reg_ir_eventos()
//va a la pantalla ind
{
	reg_guardar_campos();
	indice = 1;
	document.getElementById("boton_reg_ant").style.visibility = "visible";
	document.getElementById("boton_reg_sig").style.visibility = "hidden";
	document.getElementById("boton_guardar").style.visibility = "hidden";
	var url = "sitio_form_eventos.php?d=" + Math.random();
	HTML_AJAX.replace('div_modulo', url);
}

function reg_check_scroll()
{
	var altom = 430;
	var posi = Util.get("div_modulo").scrollTop;
	var alto = Util.get("div_modulo").scrollHeight;
	var delta = (alto - altom) - posi;
	if ( delta > 0 ) {
		try {
			Util.show("div_modulo_img_scroll", true);
		} catch(e) {};
	} else {
		try {
			Util.show("div_modulo_img_scroll", false);
		} catch(e) {};
	}
}

function reg_cargar(ind)
//carga la pantalla ind
{
	document.getElementById("div_modulo").style.visibility = "hidden";
	//document.getElementById("div_modulo").innerHTML = "Cargando...";
	if ((ind == 1) || ((ind == 2) && (v_boton_anterior != 'S'))) {
		document.getElementById("boton_reg_ant").style.visibility = "hidden";
	} else {
		document.getElementById("boton_reg_ant").style.visibility = "visible";
	}
	document.getElementById("boton_guardar").style.visibility = ((ind == pantallas) ? "visible": "hidden");
	document.getElementById("boton_reg_sig").style.visibility = ((ind == 1) || (ind == pantallas) ? "hidden": "visible");
	var url = "sitio_form_" + indice + ".php?ti="+ir_inscr+"+&d=" + Math.random();
	if ( ((arr_datos['pop_inscr'] == "CON") || (arr_datos['pop_inscr'] == "EVE") || 
		(arr_datos['pop_inscr'] == "APA") ||  
		//(arr_datos['pop_inscr'] == "INT")) && (indice == 5) && !ir_pra) {
		(arr_datos['pop_inscr'] == "INT")) && (indice == 5) && (arr_datos['pid_grupo'] != 16)) {
		url = "sitio_form_5b.php?ti="+ir_inscr+"&d=" + Math.random();
	}
	if ((indice == 5) && (arr_datos['pid_grupo'] == 16)) {
		url = "sitio_form_5_recrees.php?ti="+ir_inscr+"&d=" + Math.random();
	}
	HTML_AJAX.replace('div_modulo', url);
}

function reg_callback_cargar()
//funcion que se llama cuando se carga el modulo ;)
{
	document.getElementById("div_modulo").style.visibility = "visible";
	document.getElementById("div_modulo").scrollTop = 0;
	if (grupo > 0) {
		arr_datos['pid_grupo'] = grupo;
	}
	reg_actualizar_campos();
	reg_check_scroll();
	document.getElementById("msj_resultado").innerHTML = "";
}

function reg_get_campo(nom)
//obtiene el valor de un campo
{
	if (reg_campo_existe(nom)) {
		if (reg_campo_es_option(nom)) {
			return reg_get_campo_option(nom);
		} else {
			return document.getElementById(nom).value;
		}
	} else {
		return "";
	}
}

function reg_set_campo(nom, valor)
//modifica el valor de un campo
{
	if (reg_campo_existe(nom)) {
		if (reg_campo_es_combo(nom)) {
			reg_set_campo_combo(nom, valor);
		} else if (reg_campo_es_option(nom)) {
			reg_set_campo_option(nom, valor);
		} else {
			if (nom == 'prlocalizacion') {
				reg_set_campo_localizacion(valor);
			} else {
				document.getElementById(nom).value = valor;
			}
		}
	}
}

function reg_set_campo_combo(nom, valor)
//elige un elemento del combo box
{
	if (nom == 'pprovincia') {
		reg_cargar_provincia('pprovincia', Util.get("pid_pais").value);
	} else if (nom == 'oprovincia') {
		reg_cargar_provincia('oprovincia', Util.get("oid_pais").value);
	}
	var obj = document.getElementById(nom);
	for (var i = 0; i < obj.length; i++) {
		if (obj.options[i].value == valor) {
			obj.options[i].selected = true;
		} else {
			obj.options[i].selected = false;
		}
	}
	try {
		if (document.getElementById('oid_tipo_org').value == "0") {
			document.getElementById("sp_otro_tipo_org").style.visibility = "visible";
			document.getElementById("sp_otro_tipo_org2").style.visibility = "visible";
		}
	} catch(e) {};	
	try {
		if (document.getElementById('op_juridica').value == "S") {
			document.getElementById("sp_pj_desde_anyo").style.visibility = "visible";
		} else {
			document.getElementById("sp_pj_desde_anyo").style.visibility = "hidden";
		}
	} catch(e) {};
	try {
		if (document.getElementById('pentera').value == "0") {
			document.getElementById('pentera_span').style.display = "block";
		} else {
			document.getElementById('pentera_span').style.display = "none";
		}
	} catch(e) {};	
}

function reg_get_campo_option(nom)
//obtiene el valor de un campo de opcion
{
	switch(nom) {
		case 'ptipo_participacion':
			if (document.getElementById('ptipo_participacion_1').checked) {
				return "D";
			} else if (document.getElementById('ptipo_participacion_2').checked) {
				return "I";
			} else {
				return "";
			}
			break;
		case 'ptipo_entidad':
			if (document.getElementById('ptipo_entidad_1').checked) {
				return "I";
			} else if (document.getElementById('ptipo_entidad_2').checked) {
				return "O";
			} else {
				return "";
			}
			break;
	}
}

function reg_set_campo_option(nom, valor)
//selecciona una opcion
{
	switch(nom) {
		case 'ptipo_participacion':
			if (valor == 'D') {
				document.getElementById('ptipo_participacion_1').checked = true;
				document.getElementById('ptipo_participacion_2').checked = false;
			} else if (valor == 'I') {
				document.getElementById('ptipo_participacion_2').checked = true;
				document.getElementById('ptipo_participacion_1').checked = false;
			} else {
				document.getElementById('ptipo_participacion_2').checked = false;
				document.getElementById('ptipo_participacion_1').checked = false;
			}
			break;
		case 'ptipo_entidad':
			if (valor == 'I') {
				document.getElementById('ptipo_entidad_1').checked = true;
				document.getElementById('ptipo_entidad_2').checked = false;
			} else if (valor == 'O') {
				document.getElementById('ptipo_entidad_2').checked = true;
				document.getElementById('ptipo_entidad_1').checked = false;
			} else {
				document.getElementById('ptipo_entidad_1').checked = false;
				document.getElementById('ptipo_entidad_2').checked = false;
			}
			break;
	}
}

function reg_campo_existe(nom)
//devuelve true o false dependiendo si el campo existe
{
	switch(nom) {
		case 'ptipo_entidad':
			return (document.getElementById("ptipo_entidad_1") != null);
	}
	return (document.getElementById(nom) != null);
}

function reg_campo_es_combo(nom)
//devuelve true si el campo es un desplegable
{
	switch(nom) {
		case 'oid_pais': case 'oid_tipo_org': case 'op_juridica': case 'pid_pais': case 'pprovincia':
		case 'oprovincia': case 'prid_ambito_cobertura': case 'prid_organizacion': case 'pentera':
		case 'pid_grupo': case 'psexo':
			return true;
		default: 
			return false;
	}
}

function reg_campo_es_option(nom)
//devuelve true si el campo es un campo de opcion o checkbox
{
	switch(nom) {
		case 'ptipo_entidad':
			return true;
		default: 
			return false;
	}
}

function reg_actualizar_campos()
//actualiza todos los campos con los valores del arreglo
{
	for (var i in arr_datos) {
		reg_set_campo(i, arr_datos[i]);
	}
	reg_set_dif_fort();
}

function reg_guardar_campos()
//actualiza todos los valores del arreglo con los valores de los campos
{
	if (indice == 4) {
		pr_agregar_loc();
	}
	for (var i in arr_datos) {
		if (reg_campo_existe(i)) {
			arr_datos[i] = reg_get_campo(i);
		}
	}
	reg_get_dif_fort();
}

function reg_limpiar_arr_datos()
//pone en blanco los elementos del arreglo de datos
{
	arr_datos['oid_tipo_org'] = "";	arr_datos['ootro_tipo'] = ""; arr_datos['onombre'] = ""; arr_datos['oanyo_inicio'] = "";
	arr_datos['op_juridica'] = ""; arr_datos['oanyo_p_juridica'] = ""; arr_datos['odomicilio'] = ""; arr_datos['olocalidad'] = "";
	arr_datos['ocp'] = ""; arr_datos['oid_pais'] = ""; arr_datos['oprovincia'] = "";
	arr_datos['otel_fijo_a'] = "54"; arr_datos['otel_fijo_b'] = ""; arr_datos['otel_fijo_c'] = "";
	arr_datos['otel_celular_a'] = "54"; arr_datos['otel_celular_b'] = ""; arr_datos['otel_celular_c'] = ""; 
	arr_datos['oemail'] = ""; arr_datos['oweb'] = "";
	
	arr_datos['papellido'] = ""; arr_datos['pnombre'] = ""; arr_datos['pusuario'] = ""; arr_datos['psexo'] = ""; 
	arr_datos['pprofesion'] = ""; 
	arr_datos['pprofesion_otra'] = ""; arr_datos['pcalle'] = "";
	arr_datos['pid_pais'] = ""; arr_datos['pprovincia'] = ""; arr_datos['plocalidad'] = ""; arr_datos['pcp'] = ""; 
	arr_datos['pfecha_nacimiento'] = "";
	arr_datos['ptel_fijo_a'] = "54"; arr_datos['ptel_fijo_b'] = ""; arr_datos['ptel_fijo_c'] = "";
	arr_datos['ptel_celular_a'] = "54"; arr_datos['ptel_celular_b'] = ""; arr_datos['ptel_celular_c'] = "";
	arr_datos['pemail'] = "";
	arr_datos['ptipo_participacion'] = ""; arr_datos['ptipo_entidad'] = ""; arr_datos['paceptacion_uso'] = "S";
	arr_datos['pid_grupo'] = "";
	
	arr_datos['prnombre'] = ""; arr_datos['pranyo_inicio'] = ""; arr_datos['probjetivo'] = ""; arr_datos['prtipo_poblacion'] = ""; 
	arr_datos['prcant_poblacion'] = ""; arr_datos['prbarrio'] = ""; arr_datos['prlocalizacion'] = ""; 
	arr_datos['prid_ambito_cobertura'] = ""; arr_datos['prexiste_hoy'] = ""; 
	arr_datos['prid_organizacion'] = ""; arr_datos['pop_inscr'] = "";
	
	arr_datos['potras_dificultades'] = "";
	arr_datos['potras_fortalezas'] = "";
	
	arr_datos['pdificultades'] = new Array();
	arr_datos['pfortalezas'] = new Array();
	arr_datos['pentera'] = "";
	arr_datos['pentera_otro'] = "";
	
	arr_datos['pcaportes'] = ""; arr_datos['pcnecesidades'] = ""; arr_datos['pccomentarios'] = "";
	
	arr_datos['pcod_evento'] = "";
}

function reg_get_dif_fort()
//carga los arreglos de fortalezas y dificultades
{
	var obj_d = document.getElementById('pdificultades');
	var obj_f = document.getElementById('pfortalezas');
	var j = 0;
	if (obj_d != null) {
		arr_datos['pdificultades'] = new Array();
		for(var i = 0; i < obj_d.length; i++) {
			if (obj_d.options[i].selected) {
				arr_datos['pdificultades'][j] = obj_d.options[i].value;
				j++;
			}
		}
	}
	j = 0;
	if (obj_f != null) {
		arr_datos['pfortalezas'] = new Array();
		for(var i = 0; i < obj_f.length; i++) {
			if (obj_f.options[i].selected) {
				arr_datos['pfortalezas'][j] = obj_f.options[i].value;
				j++;
			}
		}
	}
}

function reg_in_array(elem, arr)
//dice si un elemento está en un arreglo
{
	for(var i = 0; i < arr.length; i++) {
		if (arr[i] == elem) {
			return true;
		}
	}
	return false;
}

function reg_set_dif_fort()
//descarga los arreglos de fortalezas y dificultades
{
	var obj_d = document.getElementById('pdificultades');
	var obj_f = document.getElementById('pfortalezas');
	if (obj_d != null) {
		for(var i = 0; i < obj_d.length; i++) {
			if (reg_in_array(obj_d.options[i].value, arr_datos['pdificultades'])) {
				obj_d.options[i].selected = true;
			} else {
				obj_d.options[i].selected = false;
			}
		}
	}
	if (obj_f != null) {
		for(var i = 0; i < obj_f.length; i++) {
			if (reg_in_array(obj_f.options[i].value, arr_datos['pfortalezas'])) {
				obj_f.options[i].selected = true;
			} else {
				obj_f.options[i].selected = false;
			}
		}
	}
}

function reg_enviar_formulario()
//envia el formulario
{
	document.getElementById("boton_guardar").style.visibility = "hidden";
	document.getElementById("msj_resultado").innerHTML = txt_enviando;
	reg_guardar_campos();
	reg_set_campo_localizacion_ex();
	//grupo 16 siempre inscribe practicas
	if ((arr_datos['pid_grupo'] == 16) && ir_pra) {
		arr_datos['ptipo_participacion'] = "D";
	}
	var arr_datos2 = new Array();
	for (var i in arr_datos) {
		arr_datos2[i] = escape(arr_datos[i]);
	}
	arr_datos2["tipo_inscripcion"] = tipo_inscripcion;
	var jsr = new HTML_AJAX_Serialize_PHP();
	var s_arr_datos = jsr.serialize(arr_datos2);
	HTML_AJAX.defaultEncoding = "JSON";
	HTML_AJAX.call('test', 'ajx_registrar_formulario', reg_callback_enviar_formulario, s_arr_datos);
}

function reg_callback_enviar_formulario(res)
{
	var msj;
	arr_datos["prlocalizacion"] = arr_datos["prlocalizacion2"];
	if ((res == undefined) || (res[0] == 0)) {
		if (lang == 'es') {
			msj = "<span style='color: #0000AA; font-size: 13px'>Los datos han sido enviados."+
				"<br>Pronto recibir&aacute; un email de info@reprasis.org</font>";
		} else {
			msj = "<span style='color: #0000AA; font-size: 13px'>Data has been sent."+
				"<br>You will receive an email from info@reprasis.org soon</font>";
		}
		document.getElementById("msj_resultado").innerHTML = msj;
		
		window.setTimeout("location.href = 'index.php'", 5000);
	} else {
		var msj = HTML_AJAX.call('test', 'ajx_msj', false, res[0]);
		msj = "<font color='red'>" + msj + "</font>";
		document.getElementById("msj_resultado").innerHTML = msj;
		document.getElementById("boton_guardar").style.visibility = "visible";
		window.setTimeout('reg_ir('+res[1]+')', 2000);
	}
}

function reg_validar_formulario()
//valida el formulario
{
	reg_guardar_campos();
	if ((arr_datos['pid_grupo'] == 16) && ir_pra) {
		arr_datos['ptipo_participacion'] = "D";
	}
	var arr_datos2 = new Array();
	for (var i in arr_datos) {
		arr_datos2[i] = escape(arr_datos[i]);
	}
	var jsr = new HTML_AJAX_Serialize_PHP();
	var s_arr_datos = jsr.serialize(arr_datos2);
	HTML_AJAX.defaultEncoding = "JSON";
	HTML_AJAX.call('test', 'ajx_validar_formulario', reg_callback_validar_formulario, s_arr_datos);
}

function reg_callback_validar_formulario(res)
{
	if ((indice >= res[1]) && (res[0] > 0)) {
		var msj = HTML_AJAX.call('test', 'ajx_msj', false, res[0]);
		msj = "<span style='color: red'>" + msj + "</span>";
		if (document.getElementById("msj_resultado")) {
			document.getElementById("msj_resultado").innerHTML = msj;
		}
	} else {
		indice += delta;
		reg_cargar(indice);
	}
}

function reg_cargar_provincia(opr, idp)
{
	Util.delSelect(opr, 0);
	Util.selectAddOption(opr, 0, 'Cargando...');
	Util.get(opr).disabled = true;
	var arr = HTML_AJAX.call('test', 'ajx_obtener_provincias', null, idp);
	if (arr) {
		if (arr.length) {
			Util.get(opr).disabled = false;
			Util.delSelect(opr, 0);
			Util.selectAddOption(opr, 0, '');
			for (var i = 0; i < arr.length; i++) {
				Util.selectAddOption(opr, arr[i].id_provincia, arr[i].provincia);
			}
		}
	}
}

function reg_cargar_codarea(opr1, opr2, idp)
{
	var ca = HTML_AJAX.call('test', 'ajx_obtener_codarea', null, idp);
	if (opr1 != "") {
		Util.get(opr1).value = ca;
	}
	if (opr2 != "") {
		Util.get(opr2).value = ca;
	}
}

function reg_set_campo_localizacion(valor)
{
	var obj = Util.get("prlocalizacion");
	if (obj) {
		obj.value = valor;
		var arr = obj.value.split('%');
		var tpa, tpr, tloc, codpr, latlng;
		for (var i = 0; i < arr.length; i++) {
			tpa = arr[i].split('|')[0];
			tpr = arr[i].split('|')[1];
			tloc = arr[i].split('|')[2];
			codpr = arr[i].split('|')[4];
			latlng = arr[i].split('|')[3];
			pr_agregar_loc_ex(tpa, tpr, tloc, codpr, latlng);
		}
	}
}

function reg_set_campo_localizacion_ex()
{
	var loc = arr_datos["prlocalizacion"];
	arr_datos["prlocalizacion2"] = arr_datos["prlocalizacion"];
	var tmp = "";
	var arr = loc.split('%');
	var tloc, codpr, latlng;
	for (var i = 0; i < arr.length; i++) {
		tloc = arr[i].split('|')[2];
		codpr = arr[i].split('|')[3];
		latlng = arr[i].split('|')[4];
		if (i > 0) {
			tmp += "%";
		}
		tmp += tloc + "|" + codpr + "|" + latlng;
	}
	arr_datos["prlocalizacion"] = tmp;
}
