Example #1
0
function MapaWindow(Window) {

	// Function to test if device is iOS 7 or later
	var herramientas =  require('tools');
	var pantallaCompleta = herramientas.isiOS7Plus();
	
	mapaWdw = Titanium.UI.createWindow({
		tabBarHidden : true,
		backgroundColor : "white",
		width : '100%',
		height : '100%',
		layout : 'vertical',
		fullscreen: pantallaCompleta,
		navBarHidden: true
	});

	webView = Titanium.UI.createWebView({
		id : "webView",
		url : '/ui/handheld/mapa/index.html',
		//url : 'index.html', funcionando en android
		height : '100%',
		width : '100%',
		scalesPageToFit : true
	});

	function cerrarMapa()
	{
		Ti.Media.vibrate();
		mapaWdw.close();
	}
	
	var templates = require('templates');
	var topBar = templates.getTopBar(L('map'),'/images/iconmapa.png', cerrarMapa);
	
	mapaWdw.add(topBar);
	mapaWdw.add(webView);

	mapaWdw.addEventListener('android:back', function() {
		cerrarMapa();
	});

	return mapaWdw;
}
function AgendaWindow(Window) {

	var herramientas =  require('tools');
	var pantallaCompleta = herramientas.isiOS7Plus();

	agendaWdw = Titanium.UI.createWindow({
		tabBarHidden : true,
		backgroundColor : "white",
		width : '100%',
		height : '100%',
		layout : 'vertical',
		fullscreen: pantallaCompleta,
		navBarHidden: true
	});

	table = Ti.UI.createTableView({
		width : '90%',
		height : '100%'
	});

	scrollView_1 = Titanium.UI.createView({
		id : "scrollView_1",
		backgroundImage : '/images/background.png',
		height : '100%',
		width : '100%',
		layout : 'vertical'
	});

	scrollView_1.add(table);

	function cerrarAgenda()
	{
		Ti.Media.vibrate();
		agendaWdw.close();
	}
	
	var templates = require('templates');
	var topBar = templates.getTopBar(L('diary'),'/images/iconagenda.png', cerrarAgenda);

	agendaWdw.add(topBar);
	agendaWdw.add(scrollView_1);

	function populateTable() {
		var data = [];

		var row = Titanium.UI.createTableViewRow({
			id : 2,
			title : L('schedules'),
			leftImage : '/images/horarios.png',
			isparent : true,
			opened : false,
			hasChild : false,
			font : {
				fontSize : '22dp'
			},
			color : 'black'
		});
		data.push(row);

		var row = Titanium.UI.createTableViewRow({
			id : 3,
			title : L('map'),
			leftImage : '/images/mapa.png',
			isparent : true,
			opened : false,
			hasChild : false,
			font : {
				fontSize : '22dp'
			},
			color : 'black'
		});
		data.push(row);

		table.setData(data);
	}

	populateTable();

	table.addEventListener('click', function(e) {
		if (e.rowData.id == 2) 
		{
			var network = require('lib/network');
			network.getData(network.SERVICES.DIARIES_DAYS, function(response)
			{
				if(response.length == 0) 
				{
					Ti.UI.createAlertDialog({
					message: L('no_eventos'),
					ok: L('ok'),
					title: L('alert_title')
					}).show();
				}	
	    		else if(response.length > 0) 
				{
					var Window;
					var mainWindow = require("ui/handheld/agenda/HorariosWindow");
					new mainWindow(response, Window).open();
				}
	    		else 
				{
					//error de conexion
				}	
			}); 
			
		} else if (e.rowData.id == 3) {
			var Window;
			var mainWindow = require("ui/handheld/mapa/MapaWindow");
			new mainWindow(Window).open();
		}
	});

	agendaWdw.addEventListener('android:back', function(e) {
		Ti.Media.vibrate();
		agendaWdw.close();
	});

	return agendaWdw;
}
function PatrocinadoresWindow(Window) {

	var patrocinadoresWindow = require("ui/handheld/patrocinadores/PatrocinadoresInfoWindow");

	var herramientas =  require('tools');
	var pantallaCompleta = herramientas.isiOS7Plus();

	patrocinadoresWdw = Titanium.UI.createWindow({
		tabBarHidden : true,
		backgroundColor : "white",
		width : '100%',
		height : '100%',
		layout : 'vertical',
		fullscreen: pantallaCompleta,
		navBarHidden: true
	});

	table = Ti.UI.createTableView({
		width : '90%',
		height : '100%'
	});
	
	scrollView_1 = Titanium.UI.createView({
		id : "scrollView_1",
		backgroundImage : '/images/background.png',
		height : '100%',
		width : '100%',
		layout : 'vertical'
	});
	
	function cerrarPatro()
	{
		Ti.Media.vibrate();
		patrocinadoresWdw.close();
	}
	
	var templates = require('templates');
	var topBar = templates.getTopBar(L('sponsors'),'/images/iconpatrocinadores.png', cerrarPatro);
	
	patrocinadoresWdw.add(topBar);
	scrollView_1.add(table);
	
	var data;
	
	patrocinadoresWdw.add(scrollView_1);
	
	function populateTable() {
		data = [];

		var db = Ti.Database.open('anadicDB');
		var db_rows = db.execute("SELECT * FROM sponsors");
		while (db_rows.isValidRow()) {
			
			var str = 'http://' + Ti.App.Properties.getString('hostname') + db_rows.fieldByName('mobile_logo_url');
			var patt = /missing.jpg/g;
			var result = patt.test(str);
			var urlImage;

			if (result ==  true) {
				urlImage = "/images/unavailable_small.jpg";
			} else {
				urlImage = 'http://' + Ti.App.Properties.getString('hostname') + db_rows.fieldByName('mobile_logo_url');	
			}
			
			var etiqueta = db_rows.fieldByName("social_reason");
			//if(etiqueta.length > 31)
				//etiqueta = etiqueta.substring(0,28)+"...";
			
			var row = Titanium.UI.createTableViewRow({
				id : db_rows.fieldByName("id"),
				title : etiqueta,
				isparent : true,
				opened : false,
				hasChild : true,
				color : 'black',
				horizontalWrap: false
			});
			
			data.push(row);
			db_rows.next();
		}
		db_rows.close();
		db.close();

		table.setData(data);
	}

	populateTable();
	
	table.addEventListener('click', function(e) 
	{
		Ti.Media.vibrate();
		var patrocinadoresView = patrocinadoresWindow.PatrocinadoresInfoWindow(e.index, e.rowData.id, data);
		patrocinadoresView.openView();
	});

	patrocinadoresWdw.addEventListener('android:back', evento = function(e){
	    e.source.removeEventListener('android:back', arguments.callee);
	    cerrarPatro();
	});

	return patrocinadoresWdw;
}
function ActividadesWindow(Window) {

	var herramientas =  require('tools');
	var pantallaCompleta = herramientas.isiOS7Plus();

	var actWdw = Titanium.UI.createWindow({
		tabBarHidden : true,
		backgroundColor : "white",
		width : '100%',
		height : '100%',
		layout : 'vertical',
		fullscreen: pantallaCompleta,
		navBarHidden: true
	});

	var table = Ti.UI.createTableView({
		width : '90%',
		height : '100%'
	});

	scrollView_1 = Titanium.UI.createView({
		id : "scrollView_1",
		backgroundImage : '/images/background.png',
		height : '100%',
		width : '100%',
		layout : 'vertical'
	});

	scrollView_1.add(table);

	function cerrarActividades()
	{
		Ti.Media.vibrate();
		actWdw.close();
	}
	
	var templates = require('templates');
	var topBar = templates.getTopBar(L('activities'),'/images/iconactividades.png', cerrarActividades);

	actWdw.add(topBar);
	actWdw.add(scrollView_1);

	function populateTable() {
		var data = [];

		var row = Titanium.UI.createTableViewRow({
			id : 2,
			title : L('schedules'),
			leftImage : '/images/horarios.png',
			isparent : true,
			opened : false,
			hasChild : true,
			sub : [{
				id : "horariosexpositores",
				left : '15%',
				title : L("exhibitors"),
				font : {
					fontSize : '20dp'
				},
				color : '#424242'
			}, {
				id : "horariosconferencias",
				left : '15%',
				title : L("conferences"),
				font : {
					fontSize : '20dp'
				},
				color : '#424242'
			}],
			font : {
				fontSize : '22dp'
			},
			color : 'black'
		});
		data.push(row);

		var row = Titanium.UI.createTableViewRow({
			id : 3,
			title : L('map'),
			leftImage : '/images/mapa.png',
			isparent : true,
			opened : false,
			hasChild : false,
			font : {
				fontSize : '22dp'
			},
			color : 'black'
		});
		data.push(row);

		table.setData(data);
	}

	populateTable();

	table.addEventListener('click', function(e) {
		if (e.rowData.id == 2) 
		{
			var network = require('lib/network');
			network.getData(network.SERVICES.ACTIVITIES_DAYS, function(response)
			{
				if(response.length == 0) 
				{
					Ti.UI.createAlertDialog({
					message: L('no_actividades'),
					ok: L('ok'),
					title: L('alert_title')
					}).show();
				}	
	    		else if(response.length > 0) 
				{
					var Window;
					var mainWindow = require("ui/handheld/actividades/HorariosWindow");
					new mainWindow(response,Window).open();
				}
	    		else 
				{
					//error de conexion
				}	
			}); 
			
		} else if (e.rowData.id == 3) {
			var Window;
			var mainWindow = require("ui/handheld/mapa/MapaWindow");
			new mainWindow(Window).open();
		}
		/*if (e.row.isparent) {
		 if (e.row.opened) {
		 for (var i = e.row.sub.length; i > 0; i = i - 1) {
		 table.deleteRow(e.index + i);
		 }
		 e.row.opened = false;
		 } else {
		 var currentIndex = e.index;
		 for (var i = 0; i < e.row.sub.length; i++) {
		 table.insertRowAfter(currentIndex, e.row.sub[i]);
		 currentIndex++;
		 }
		 e.row.opened = true;
		 }
		 } else {
		 if (e.row.id == 'directorioexpositores') {
		 var Window;
		 var mainWindow = require("ui/exposiciones/DirectorioWindow");
		 new mainWindow(Window).open();
		 } else if (e.row.id == 'directorioconferencias') {
		 var Window;
		 var mainWindow = require("ui/conferencias/DirectorioWindow");
		 new mainWindow(Window).open();
		 } else if (e.row.id == 'horariosexpositores') {
		 var Window;
		 var mainWindow = require("ui/exposiciones/HorariosWindow");
		 new mainWindow(Window).open();
		 } else if (e.row.id == 'horariosconferencias') {
		 var Window;
		 var mainWindow = require("ui/conferencias/HorariosWindow");
		 new mainWindow(Window).open();
		 }
		 }*/
	});

	actWdw.addEventListener('android:back', function(e) {
		Ti.Media.vibrate();
		actWdw.close();
	});

	return actWdw;
}
function HorariosWindow(dias, Window) 
{
	var network = require('lib/network');

	var herramientas =  require('tools');
	var pantallaCompleta = herramientas.isiOS7Plus();

	var infoWindow = require("ui/common/InfoWindow");
	var infoView = infoWindow.InfoWindow();

	var diasSemana = L('weekDays').split(',');
    var nomMeses   = L('months').split(',');
	  
	var ageHorWdw = Titanium.UI.createWindow({
		tabBarHidden : true,
		backgroundColor : "white",
		width : '100%',
		height : '100%',
		layout : 'vertical',
		fullscreen: pantallaCompleta,
		navBarHidden: true
	});

	function showMessage(message)
	{
		Ti.UI.createAlertDialog({
			message: message,
			ok: L('ok'),
			title: L('alert_title')
			}).show();
	}
	
	var table = Ti.UI.createTableView({
		width : '90%',
		height: Ti.Platform.displayCaps.platformHeight,
		style:Titanium.UI.iPhone.TableViewStyle.GROUPED
	});

	scrollView_1 = Titanium.UI.createView({
		id : "scrollView_1",
		backgroundImage : '/images/background.png',
		height : '100%',
		width : '100%',
		layout : 'vertical'
	});

	function cerrarAgHorWin()
	{
		Ti.Media.vibrate();
		ageHorWdw.close();
	}
	
	var templates = require('templates');
	var topBar = templates.getTopBar(L('diary'),'/images/horarios_blanco.png', cerrarAgHorWin);
	
	scrollView_1.add(table);
	
	ageHorWdw.add(topBar);
	ageHorWdw.add(scrollView_1);

	var dias;
	var eventosCargados = new Array(); //cada propiedad es un dia que contiene un arreglo de eventos
	var eventosCargadosLabels = new Array(); //cada propiedad es un dia que contiene un arreglo de eventos


	function populateTable() 
	{
		var data = [];
		
		dias.forEach(function(dia) 
		{
			var fecha = dia.split("/");
			var formateada = new Date(fecha[2], fecha[1] - 1, fecha[0]);
			var titulo = diasSemana[formateada.getDay()] +" "+formateada.getDate() + " - "+ nomMeses[formateada.getMonth()];
			
			var row = Titanium.UI.createTableViewRow({
			id : dia,
			title : titulo,
			//leftImage : '/images/directorio.png',
			isparent : true,
			opened : false,
			hasChild : true,
			sub : [],
			font : {
				fontSize : '20dp'
			},
			color : 'black'
			});
			
			eventosCargados[titulo.toString()] = new Array();
			
			data.push(row);
		});
		
		table.setData(data);
	}

	populateTable(); 
	
	table.addEventListener('click', function(e) 
	{
		if (e.row.isparent) 
		{
			if (e.row.opened) 
			{
				for (var i = e.row.sub.length; i > 0; i = i - 1) 
					table.deleteRow(e.index + i);
				e.row.opened = false;
			} 
			else
			{
				//Si no se han cargado los eventos del dia, descargar solo los del dia seleccionado
				if(eventosCargados[e.rowData.title].length == 0)
				{
					//network.getDiaryDetail(e.row.id, function(response)
					network.getDataParam(network.SERVICES.DIARIES ,e.row.id, function(response) 
					{
						var eventos = response;
						
					    labelsEventos = new Array();	
						
						for (var index = 0; index < eventos.length; index++) 
						{
							var evento = {};
							
							evento.id = eventos[index].id.toString();
							evento.left = '15%';
							evento.title = eventos[index].description + " - " + eventos[index].place + " - " + eventos[index].event_date.substring(11,16) + " - " + eventos[index].event_end_date.substring(11,16);
							evento.font = {
								fontSize : '14dp'
							};
							evento.color = '#424242';
							labelsEventos.push(evento);
						}
						
						e.row.sub = labelsEventos;
						
						for (var i = 0; i < labelsEventos.length; i++) 
						{
							table.insertRowAfter(e.index, labelsEventos[i], {animationStyle:Titanium.UI.iPhone.RowAnimationStyle.RIGHT});
						}
						
						eventosCargados[e.rowData.title] = eventos;
						eventosCargadosLabels[e.rowData.title] = labelsEventos;
						
						e.row.opened = true;
					});
				} 
				else //Si ya estaban cargados los eventos solo insertarlos
				{
					//alert(e.rowData.title);
					for (var i = 0; i < eventosCargados[e.rowData.title].length; i++) 
					{
						table.insertRowAfter(e.index, eventosCargadosLabels[e.rowData.title][i],{animationStyle:Titanium.UI.iPhone.RowAnimationStyle.RIGHT});
					}
					
					e.row.opened = true;
				}
			} 
		}
		else 
		{
			//Mostrar Detalles
			for(var eventosDelDia in eventosCargados)
		    {
		      eventosCargados[eventosDelDia].forEach(function(parEvento)
		      {
		        if(e.rowData.id == parEvento.id)
				{
					var lblFecha = "";
					var lblHora = "";
					
					if(parEvento.event_date.length > 10)
				    {
				        var formateada  = parEvento.event_date.substring(0,10);
				        var cadenas 	= formateada.split("-");
				      	lblFecha 		= cadenas[2] +"/"+ nomMeses[cadenas[1]-1] +"/"+cadenas[0];
				      	lblHora 		= parEvento.event_date.substring(11,16) + " - "+  parEvento.event_end_date.substring(11,16);
				    }
					
					var evento = new Object();
					evento[L('name')] = parEvento.description;
					evento[L('start_date')] = lblFecha;
					evento[L('event_type')] = parEvento.event_type;
					evento[L('place')] = parEvento.place;
					evento[L('hora')] = lblHora;
					if(parEvento.observations != null)
						evento[L('observations')] = parEvento.observations;
					
					infoView.openView(evento);
				}
		      });
		    }
		}
	});
	
	ageHorWdw.addEventListener('android:back', function(e) 
	{
		cerrar();		
	});
	
	function cerrar()
	{
		Ti.Media.vibrate();
		ageHorWdw.close();
	}

	return ageHorWdw;
}
function OpcionesExpositorWindow(Window) {

	var herramientas =  require('tools');
	var pantallaCompleta = herramientas.isiOS7Plus();

	windowOpc = Titanium.UI.createWindow({
		tabBarHidden : true,
		backgroundColor : "white",
		width : '100%',
		height : '100%',
		layout : 'vertical',
		//oldWin:Ti.currentWindow,
		fullscreen: pantallaCompleta,
		navBarHidden: true
	});

	table = Ti.UI.createTableView({
		width : '90%',
		height : '100%'
	});

	scrollView_1 = Titanium.UI.createView({
		id : "scrollView_1",
		backgroundImage : '/images/background.png',
		height : '100%',
		width : '100%',
		layout : 'vertical'
	});

	scrollView_1.add(table);

	function cerrarOpcExpWin()
	{
		Ti.Media.vibrate();
		windowOpc.close();
	}
	
	var templates = require('templates');
	var topBar = templates.getTopBar(L('offers'),'/images/iconofertas.png', cerrarOpcExpWin);

	windowOpc.add(topBar);
	windowOpc.add(scrollView_1);

	function populateTable() {
		var data = [];
		var db = Ti.Database.open('anadicDB');
		var rows = db.execute('SELECT * FROM exhibitors');
		while (rows.isValidRow()) {
			var str = 'http://' + Ti.App.Properties.getString('hostname') + rows.fieldByName('mobile_logo_url');
			var patt = /missing.jpg/g;
			var result = patt.test(str);
			var urlImage;

			if (result) {
				urlImage = "/images/unavailable_small.jpg";
			} else {
				urlImage = 'http://' + Ti.App.Properties.getString('hostname') + rows.fieldByName('mobile_logo_url');	
			}
			
			data.push({
				id : rows.fieldByName('id'),
				title : rows.fieldByName('name'),
				leftImage : urlImage,
				font : {
					fontSize : '22dp'
				},
				color : 'black'
			});

			table.setData(data);
			rows.next();
		}

		rows.close();
		db.close();
	}

	populateTable();

	table.addEventListener('click', function(e) {
		var message = '';
		var exhibitor_id = e.rowData.id;
		var exhibitor_name = e.rowData.title;
		//var exhibitor_mobile_logo_url = e.rowData.urlImage;
		var exhibitor_mobile_logo_url = e.rowData.leftImage;

		var Window;
		var mainWindow = require("ui/handheld/ofertas/ExpositoresWindow");
		new mainWindow(Window, exhibitor_id, exhibitor_name, exhibitor_mobile_logo_url).open();

	});

	windowOpc.addEventListener('android:back', function(e) 
	{
		Ti.Media.vibrate();
		windowOpc.close();
	});

	buttonClose.addEventListener('click', function(e) {
		Ti.Media.vibrate();
		windowOpc.close();
	});

	return windowOpc;
}