	var columnasTopTen = [
                  
      		    [
      		     	{ 
      		     		"agrupaCod": 'NAC',
      		     		"nOfertas": 10
      		     	}
      		    ],
      		    
      		    [
      		     	{ 
      		     		"agrupaCod": 'INT',
      		     		"nOfertas": 10
      		     	}
      		    ],
      		    
      		    [
      		     	{ 
      		     		"agrupaCod": 'EUR',
      		     		"nOfertas": 5
      		     	},
					
					{
						"agrupaCod": 'CYV',
      		     		"nOfertas": 5
					}
      		    ]
      		    
      		];



	function recuperaBannersPortada( aplicacion, url, perfil )
	{
		var inicioUrl = ( aplicacion == "SLTPT" ? "http://www.soltour.pt" : "http://www.soltour.es" );
		var idioma = ( aplicacion == "SLTPT" ? "pt" : "es" );
		var bannersZonaB = [];
		var bannersZonaC = [];//{};
		$.ajax({
			type: 'GET',
			url: url,
			dataType: 'xml',
			success: function(xml) {
	
				$( xml ).find( "aplicacion" ).each( function() {
					if( $( this ).attr( "cod" ) == aplicacion )
					{
						$( this ).find( "perfil " ).each( function() {
							if( $( this ).attr( "cod" ) == perfil )
							{
								$( this ).find( "zona" ).each( function() {
									//banner zona b
									if( $( this ).attr( "cod" ) == "B" ) 
									{
										var contador = 0;
										$( this ).find( "banner" ).each( function() {
											var fechaCorrecta = false;
											$( this ).find( "fechas" ).find( "fecha" ).each( function() {
												fechaCorrecta = esFechaCorrecta( this );
											});
											if( fechaCorrecta )
											{
												var banner = {};
												banner.zona = 'A';
												banner.width = $( this ).attr( "x" );
												banner.height = $( this ).attr( "y" );
												banner.src =  "/mk/banners/" + idioma + "/" + $( this ).find( "nombre" ).text();
												//banner.src = inicioUrl + "/banners/" + $( this ).find( "nombre" ).text();
												bannersZonaB[ contador ] = banner;
												contador++;
											}
										});
									}//banner zona c
									else if( $( this ).attr( "cod" ) == "C" )
									{
										$( this ).find( "banner" ).each( function() {
											var fechaCorrecta = false;
											var prioridad = '0';
											$( this ).find( "fechas" ).find( "fecha" ).each( function() {
												//var fechaXml = $( this ).find( "fecha" ).text();
												fechaCorrecta = esFechaCorrecta( this );
												prioridad = $( this ).attr( "prioridad" );
											});
											if( prioridad == undefined || prioridad == '' )
											{
												prioridad = 0;
											}
											var banner = {};
											banner.zona = 'C';
											banner.width = $( this ).attr( "x" );
											banner.height = $( this ).attr( "y" );
											banner.src = "/mk/banners/" + idioma + "/" + $( this ).find( "nombre" ).text();
											//banner.src = inicioUrl + "/banners/" + $( this ).find( "nombre" ).text();
											
											if( fechaCorrecta )
											{
												addItemArray( bannersZonaC, prioridad, banner );
											}
	
										});
									} 
								});
							}
						});
					}
				});
				var posicion = -1;
				posicion = calcularPosicion( bannersZonaB );
	
				if( posicion != -1 )
				{
					showFlashInnerHTML('idDestino','banner_b','codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0','width', bannersZonaB[ posicion ].width,'height', bannersZonaB[ posicion ].height,'src', bannersZonaB[ posicion ].src,'quality','high','pluginspage','http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash','movie', bannersZonaB[ posicion ].src,'wmode','transparent');
				}
	
				bannerC1 = false;
				bannerC2 = false;
	
				for( var i in bannersZonaC )
				{
					if( bannersZonaC[i] != undefined )
					{
						posicion = calcularPosicion( bannersZonaC[i] );
						if( !bannerC1 )
						{
							showFlashInnerHTML('idDestino','banner_c1','codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0','width', bannersZonaC[i][posicion].width,'height', bannersZonaC[i][posicion].height,'src', bannersZonaC[i][posicion].src,'quality','high','pluginspage','http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash','movie', bannersZonaC[i][posicion].src,'wmode','transparent');
							bannerC1 = true;
						}
						else if( !bannerC2 )
						{
							showFlashInnerHTML('idDestino','banner_c2','codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0','width', bannersZonaC[i][posicion].width,'height', bannersZonaC[i][posicion].height,'src', bannersZonaC[i][posicion].src,'quality','high','pluginspage','http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash','movie', bannersZonaC[i][posicion].src,'wmode','transparent');
							bannerC2 = true;
						}
					}
					if( bannerC2 == true && bannerC1 == true )
					{
						break;
					}
				}
			},
			error: function( objeto, quepaso, otroobj )
			{
	
	     	}
		});
	}

	function addItemArray( a, i, o )
	{
		if( a[i] == undefined )
	 	{
	  		a[i] = [];
	 	}
		a[i].push( o );
	}

	function esFechaCorrecta( atributos )
	{
		var hoy = new Date();
		var fechaInicial = new Date();
		var atributo = $( atributos ).attr( "ini" );
		var fecha = new String( $( atributos ).attr( "ini" ) ).split( "/" );
		fechaInicial.setFullYear( fecha[2], parseInt( fecha[1], 10 ) - 1, fecha[0] );
		var fechaFin = new Date();
		atributo = $( atributos ).attr( "fin" );
		fecha = atributo.split( "/" );
		fechaFin.setFullYear( fecha[2], parseInt( fecha[1], 10 ) - 1, fecha[0] );
		if( fechaInicial <= hoy && hoy <= fechaFin )
		{
			return true;
		}
		else
		{
			return false;
		}
	}

	/**
	 * Funcion para calcular un número aleatorio entre dos números;
	 *
	 */
	function aleatorio( inferior, superior )
	{
		numPosibilidades = superior - inferior;
		aleat = Math.random() * numPosibilidades;
		aleat = Math.round( aleat );
		return parseInt( inferior ) + aleat;
	}

	function calcularPosicion( vectorBanners )
	{
		if( vectorBanners.length == 1 && vectorBanners[ 0 ].src != undefined )
		{
			return 0;
		}
		else if( vectorBanners.length > 1 )
		{
			return aleatorio( 0, vectorBanners.length - 1 );
		}
		return -1;
	}

	function recuperaFolletosPortada( idioma, ambito )
	{
		var url = "/xml/folletos.xml";
		var folletosVector = [];
		$.ajax({
			type: 'GET',
			url: url,
			dataType: 'xml',
			success: function(xml) {
				var contador = 0;
				$( xml ).find( "folletos" ).find( "folleto" ).each( function() {
					var fechaCorrecta = esFechaCorrecta( this );

					if( fechaCorrecta && 
					  ( $( this ).attr( "ambito" ) == ambito || $( this ).attr( "ambito" ) == "A" ) &&
						$( this ).attr( "vpapel" ) == "" )
					{

						var folleto = {};
						folleto.nombre = $( this ).attr( "nombre" );
						folleto.codigo = $( this ).attr( "codigo" );
						folleto.ini = $( this ).attr( "ini" );
						folleto.fin = $( this ).attr( "fin" );
						folleto.nuevo = $( this ).attr( "nuevo" );
						folleto.completo = $( this ).attr( "completo" );
						folleto.imagen = $( this ).attr( "imagen" );
						folleto.ambito = $( this ).attr( "ambito" );
						folleto.vpapel = $( this ).attr( "vpapel" );
						folletosVector[ contador ] = folleto;
						contador++;
					}
				});
				showFolletosPortada( folletosVector, idioma );
			},
				error: function(objeto, quepaso, otroobj){
	     	}
		});
	}

	function showFolletosPortada( folletosVector, idioma )
	{
		var HTML = "";
		var num_iconos = folletosVector.length;

		if ( num_iconos > 0 )
		{
			var rutaHTML = "http://www.soltour." + idioma + "/";

			var espacioIconos = 0;
			var anchoIconos = "";
			if ( num_iconos < 12 ) 
			{
				espacioIconos = 100 / num_iconos;
			}
			else 
			{
				espacioIconos = 100 / ( ( num_iconos / 2 ) + 1 );
			}
			var contFol = 1;
			anchoIconos = "style=\"width:" + espacioIconos + "%\"";
			for ( var i = 0; i < num_iconos; i++ ) {
				// String nomImagen = "icono_";
				var nomImagen = "";
				if ( !folletosVector[i].imagen == "" )
				{
					nomImagen += folletosVector[i].imagen;
				}
				else
				{
					nomImagen += folletosVector[i].codigo;
				}
				var codigo = nomImagen;
				nomImagen += "_peq.jpg";
				var nuevoClass = "";
				if ( folletosVector[i].nuevo == "S" ) 
				{
					var folletoNuevo = "NUEVO";
					if ( idioma == "pt" || idioma == "PT" )
					{
						folletoNuevo = "NOVO";
					}
					nuevoClass = "<div class='nuevoFolleto'>" + folletoNuevo + "</div>";
				}
				if( contFol == 1 )
				{
					HTML += "<div style='height=150px; float: left;'>";
				}
				contFol++;
				HTML += "<div id=" + codigo + " class=iconoFolleto " + anchoIconos + 
							" onClick=muestraFolleto(\"" + idioma + "\",\"" + folletosVector[i].codigo + "\",\"" + 
							folletosVector[i].ini + "\",\"" + folletosVector[i].fin + "\",callBackMuestraFolleto)>\r" + 
							"<div class='iconoFotoFolleto' style='margin: auto; background: url(\""+ rutaHTML + "folletos_portadas/" + nomImagen +"\") no-repeat scroll right center transparent; height: 89px;'>" +  
									nuevoClass +
							"</div>\r" + 
							"<div class='iconoTextoFolleto' >" +
								folletosVector[i].nombre + 
							"</div>\r" + 
						"</div>\r";
				if( contFol == 7 )
				{
					HTML += "</div>";
					contFol = 1;
				}
			}
			if( contFol != 1 )
			{
				HTML += "</div>";
			}
		}
		

		$( "#celdaIconosFolletos" ).html( HTML );
	}

	function muestraFolleto(idioma, codigo, ini, fin) {
		var URL = "/xml/folleto_" + codigo + ".xml"; 
		$.ajax({
			type: 'GET',
			url: URL,
			dataType: 'xml',
			success: function(xml) {
				var datosFolleto = $(xml).find("folleto")[0];
				showFolleto( idioma, codigo, datosFolleto, ini, fin);
			},
				error: function(objeto, quepaso, otroobj){
	     	}
		});
	}
	
	function showFolleto( idioma, codigo, datosFolleto, ini, fin){
		var output = "";
		var nom = $(datosFolleto).attr("nombre");
		var nuevo= $(datosFolleto).attr("nuevo");
		var folletoNuevo = "";
		if(nuevo==""){
			folletoNuevo = "NUEVO";
			if (idioma=="pt" || idioma=="PT"){
				folletoNuevo = "NOVO";
			}
		}
		var completo = $(datosFolleto).attr("completo");
		var imagen= $(datosFolleto).attr("imagen");
		if(imagen==""){
			imagen= codigo;
		}
		imagen += "_gra.jpg";
		output= "<div id=\"contentBox\">\n" + "	<div id=\"folletoBox\">\n" + "		<div id=\"tituloBox\">\n"
		+ "			" + nom + "\n" + "		</div>"
		+ "	<div id=\"closeBox\" onclick=\"javascript:closeFolleto();\"></div>"
		+ "	<div id=\"imgFolleto\">\n" + "		<img src=\"" + "/folletos_portadas/" + imagen
		+ "\" width=\"230\" height=\"311\" border=\"0\">\n" + "	</div>\n";
		
		if(!folletoNuevo==""){
			output += "	<div id=\"nuevoBox\">\n" + "		" + folletoNuevo + "\n" + "	</div>\n"
		}
		if (completo=="S") {
			var descargaCompleto = "Descargar Folleto Completo";
			if (idioma=="pt" || idioma=="PT"){
				descargaCompleto = "Download de folheto completo";
			}
			output+="	<div id=\"downloadBox\" ><span >" + "<a id=\"txtDownload\" href=\"" + rutaHttp
					+ "/folletos/" + codigo + "/" + codigo + "_alta.pdf\" target=\"_blank\">" + descargaCompleto
					+ "</a>" + "</span></div>\n";
		}
		output += "	<div id=\"detalleFolleto\">\n" + "		<ul>\n";
		var secciones = $(datosFolleto).find("seccion");
		for (var i = 0; i < secciones.length; i++) {
			var nombreSeccion = $(secciones[i]).attr("nombre");
			output+= "			<li class=\"titSeccion\">" + nombreSeccion + "</li>\n";
			// <pagina nombre="Portada" url="/TROEINV6/TROEINV6_001.pdf" />
			var paginas = $(secciones[i]).find("pagina");
			for (var j = 0; j < paginas.length; j++) {
				var nombrePagina = $(paginas[j]).attr("nombre");
				var urlPagina = $(paginas[j]).attr("url");
				if (!urlPagina=="")
					output+="			<li><a href=\"" + "/folletos" + urlPagina
							+ "\" target=\"_blank\">" + nombrePagina + "</a></li>\n";
			}
		}
		output+= "		</ul>\n</div>\n</div>\n";
		callBackMuestraFolleto( output);
	}
	
	function recuperaCatalogosPortada( idioma, ambito )
	{
		var URL = "/xml/folletos.xml";
		var catalogosVector = [];
		$.ajax({
			type: 'GET',
			url: URL,
			dataType: 'xml',
			success: function(xml) {
				var contador = 0;
				$( xml ).find( "folletos" ).find( "folleto" ).each( function() {
					var fechaCorrecta = esFechaCorrecta( this );
					if ( fechaCorrecta && 
					   ( $( this ).attr( "ambito" ) == ambito ||  $( this ).attr( "ambito" ) == "A" ) &&
						 $( this ).attr( "vpapel") != "" )
					{
						catalogo = {};
						catalogo.nombre = $( this ).attr( "nombre" );
						catalogo.codigo = $( this ).attr( "codigo" );
						catalogo.ini = $( this ).attr( "ini" );
						catalogo.fin = $( this ).attr( "fin" );
						catalogo.nuevo = $( this ).attr( "nuevo" );
						catalogo.completo = $( this ).attr( "completo" );
						catalogo.imagen = $( this ).attr( "imagen" );
						catalogo.ambito = $( this ).attr( "ambito" );
						catalogo.vpapel = $( this ).attr( "vpapel" );
						catalogosVector[ contador ] = catalogo;
						contador++;
					}

				});

				showCatalogosPortada( catalogosVector, idioma );
			},
			error: function(objeto, quepaso, otroobj){
				alert( "error " + quepaso );
		    }
	    });
	}

	function showCatalogosPortada( catalogosVector, idioma )
	{
//		alert( JSON.stringify( catalogosVector ) );
		var HTML = "";
		var num_iconos = catalogosVector.length;
		var rutaPortadaCatalogo = "http://www.soltour." + idioma + "/www/img/";
		
		
		var espacioIconos = 0;
		var anchoIconos = "";
		if (num_iconos > 0){
			if ( num_iconos < 12 ) 
			{
				espacioIconos = 100 / num_iconos;
			}
			else 
			{
				espacioIconos = 100 / ( ( num_iconos / 2 ) + 1 );
			}
			anchoIconos = "style=\"width:" + espacioIconos + "%\"";
		}
		var contFol = 1;
		for ( var i = 0; i < catalogosVector.length; i++ ) 
		{
			var nomImagen = rutaPortadaCatalogo;

			if ( !catalogosVector[i].imagen == "" )
			{
				nomImagen += catalogosVector[i].imagen;
			}
			else
			{
				nomImagen += catalogosVector[i].codigo;
			}
			var nuevoClass = "";
			if ( catalogosVector[i].nuevo == "S" ) 
			{
				var folletoNuevo = "NUEVO";
				if ( idioma == "pt" || idioma == "PT" )
				{
					folletoNuevo = "NOVO";
				}
				nuevoClass = "<div class=\"cartelCatalogoNuevo\">" + folletoNuevo + "</div>";
			}

			if( contFol == 1 )
			{
				HTML += "<div style='height=150px; float: left;'>";
			}
			contFol++;
			HTML +=	"<div class=\"iconoCatalogo\" onclick='popUpVirtual(\"" + catalogosVector[i].vpapel.replace( /\s/g, "") + "\");' " + anchoIconos + " >" +
						"<div class='iconoFotoCatalogo' style='background: url(\""+ nomImagen +"\") no-repeat scroll right center transparent; height: 89px; width: 70px;'>" +
								nuevoClass +
						"</div>" +
						"<div class=\"iconoTextoCatalogo\" >" +
							catalogosVector[i].nombre +
						"</div>" +
					"</div>";
			if( contFol == 7 )
			{
				HTML += "</div>";
				contFol = 1;
			}
		}

		if( contFol != 1 )
		{
			HTML += "</div>";
		}

		$( "#celdaIconosCatalogos" ).html( HTML );
	}
	
	
	
	function RecuperaOfertasSoltourManual( url, idioma){
		var URL = url;
		$.ajax({
			type: 'GET',
			url: URL,
			dataType: 'xml',
			success: function(xml) {
				showOfertasTopTen( xml, idioma);
				
			},
			error: function(objeto, quepaso, otroobj){
				alert( "error " + quepaso );
		    }
	    });
		
	}


	var MESES_PORTUGUES=["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho",
	             		"Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"];

	var MESES_ESPANOL=["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio",
	             		"Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"];

	var MESES_INGLES = [ "January", "February", "March", "April", "May", "June", "July",
		"August", "September", "October", "November", "December" ];

	var MESES_RUSO = [ "&#1071;&#1085;&#1074;&#1072;&#1088;&#1100;",
		"&#1060;&#1077;&#1074;&#1088;&#1072;&#1083;&#1100;", "&#1052;&#1072;&#1088;&#1090;",
		"&#1040;&#1087;&#1088;&#1077;&#1083;&#1100;", "&#1052;&#1072;&#1081;", "&#1048;&#1102;&#1085;&#1100;",
		"&#1048;&#1102;&#1083;&#1100;", "&#1040;&#1074;&#1075;&#1091;&#1089;&#1090;",
		"&#1057;&#1077;&#1085;&#1090;&#1103;&#1073;&#1088;&#1100;",
		"&#1054;&#1082;&#1090;&#1103;&#1073;&#1088;&#1100;", "&#1053;&#1086;&#1103;&#1073;&#1088;&#1100;",
		"&#1044;&#1077;&#1082;&#1072;&#1073;&#1088;&#1100;" ];

	var cabecerasTopTen = new Array();
	cabecerasTopTen["NAC"]=1;
	cabecerasTopTen["INT"]=2;
	cabecerasTopTen["EUR"]=3;
	cabecerasTopTen["CYV"]=4;
	
	
	function showOfertasTopTen( xml, idioma){
		var resultado="";
		var listaHoteles=new Array();
		var laux=$(xml).find("hot hotcod");
		for (var i=0;i<laux.length;i++){
			listaHoteles.push($(laux[i]).text());
		}
		var suplementos= $(xml).find("suplemento");
		var ofertas= new Array();
		for (var i=0;i<suplementos.length;i++){
			ofertas.push({
				fpr:	$(suplementos[i]).attr("fpr"),
				apr:	$(suplementos[i]).attr("apr"),
				tipprod:	$(suplementos[i]).attr("tipprod"),
				ningratis:	$(suplementos[i]).attr("ng"),					
				dto:	$(suplementos[i]).find("dto").text(),
				oriList: 	getOrigenesOffer($(suplementos[i]).find("origenes").find("origen")),
				origen: $(suplementos[i]).find("ori").text(),
				des: $(suplementos[i]).find("des").text(),
				aptdes: $(suplementos[i]).find("aptdes").text(),
				descod: $(suplementos[i]).find("descod").text(),
				descod: getComplejo($(suplementos[i]).find("descod").text()),
				ofecod: $(suplementos[i]).find("ofecod").text(),
				sprind: $(suplementos[i]).find("sprind").text(),
				nocbas: $(suplementos[i]).find("nocbas").text(),
				agrupa: $(suplementos[i]).find("agrupa").text(),
				agrupacod: $(suplementos[i]).find("agrupa").attr("cod"),
				predes: $(suplementos[i]).find("predes").text(),
				precio: calcularPrecio($(suplementos[i]).find("predes").text()),
				icobp: contieneHotelesBPAll( $(suplementos[i]).find("hoteles hot hotcod")),
				hotList: $(suplementos[i]).find("hoteles").find("hot"),
				ofefpr: "kk",
				ofeapr: "pp",
				imagen: $(suplementos[i]).find("imagen").text()=="" ? null : $(suplementos[i]).find("imagen").text()
				
			});
			listaHoteles.push(ofertas[ofertas.length-1].icobp);
			calcularFecha(ofertas[ofertas.length-1],$(suplementos[i]).find("fecha").text(),idioma);
			
			
			
		}
		var ofertasSM = { 
				"ofertas":	ofertas,
				"hoteles":	listaHoteles,
				"timsta":	$(xml).find("timsta").text()
		};
		var trads=getTraduccionesOfertasTT(idioma);
		
		var soloHotel=false;
		var ofertasTT = ofertasSM.ofertas;
		var timsta =  ofertasSM.timsta;
		var ninGratis = false;
		var agrupacodAux = "";
		var numAgrupacion = 0;
		var indiceOfertaAgrupacion = 0;
		
		var columna=0;
		var grupo_columna=0;
		var cont = 0;
		var columnaIniciada=false;
		for (var i=0;i < ofertasTT.length && columna < 3;i++){
			var agrupacod_aux = ofertasTT[i].agrupacod;//el codigo de la oferta que cogemos
			var agrupacod =	columnasTopTen[columna][grupo_columna].agrupaCod;//el codigo del grupo dentro de la columna que rellenamos
			var nOfertas = columnasTopTen[columna][grupo_columna].nOfertas;//el número de ofertas a introducir en el grup odentro de la columna
			
			
			//si cambia el grupo...
			if(agrupacod_aux!=agrupacod){
				var columna_old=columna;
				var grupo_columna_old= grupo_columna;
				var cont_old=cont;
				var encontrado=false;
				//buscamos en los grupos de esa columna el grupo encontrado
				grupo_columna++;
				var n=grupo_columna;
				for(n;n<columnasTopTen[columna].length;n++){
					if(columnasTopTen[columna][n].agrupaCod==agrupacod_aux){
						encontrado=true;
						grupo_columna=n;//hemos encontrado el grupo en la columna
						//si hay que cerrar el div del grupo...
						if(cont!=0){
							resultado+="				</tbody>\n" + "			</table>\n" + "		</div>\n";
						}
						cont = 0;//empezamos el grupo
						break;
					}
					
				}
				//si no se encontró el grupo en la columna o no había más grupos.
				if (encontrado==false){
					grupo_columna=0;
					columna++;//empezamos mirando en la sig columna
					//buscamos la columna que contiene el grupo encontrado..
					var encontrado = false;
					var t=columna;
					for(t;t<columnasTopTen.length;t++){
						var p=grupo_columna;
						for(p;p<columnasTopTen[t].length;p++){
							if(columnasTopTen[t][p].agrupaCod==agrupacod_aux){
								//si metimos ofertas y no cerramos, cerramos el div de la columna.
								if(cont!=0){
									resultado+="</tbody>\n" + " </table>\n" + " </div>\n";
								}
								if(cont!=0 || grupo_columna_old > 0){
									resultado+="</div>";
								}
								cont=0;
								grupo_columna=p;
								encontrado= true;
								break;
							}
							
						}
						if(encontrado){
							columna=t;
							columnaIniciada=false;
							break;
						}
					}
					if(!encontrado){
						columna=columna_old;
						grupo_columna=grupo_columna_old;
						cont=cont_old;
						continue;
					}
					
				}
				agrupacod =	columnasTopTen[columna][grupo_columna].agrupaCod;
				nOfertas = columnasTopTen[columna][grupo_columna].nOfertas;
			}
			
			
			if(cont == 0){
				if(!columnaIniciada){
					resultado+="<div class='columna_topten'>\n"
						+ "<div class='topten pos" + cabecerasTopTen[agrupacod] + "'>\n";
					columnaIniciada=true;
				}else{
					resultado+="<div class='topten pos" + cabecerasTopTen[agrupacod] +  " grupo_siguiente'>\n";
				}
				resultado+="			<table class=\"topTenTable\" cellpadding=\"0\" cellspacing=\"0\">\n"
				+ "				<caption>&nbsp;</caption>\n" + "				<tbody>\n";
				
			}
			//si aún caben mas en el grupo...

				var oriList = ofertasTT[i].oriList;
				var auxOrigenes = "";
				var firstOri = "";
				if (oriList.length > 1) { // si existen varios
					// origenes
					firstOri = oriList[0].cod;
					auxOrigenes += "									<div class=\"multiOrigen\">\n"
							+ "										<a href=\"#\" id=\"link_" + i + "\" onmouseover=\"showOriSpan("
							+ i + ")\" onmouseout=\"hideOriSpan(" + i + ")\">\n" + "											"
							+ trads["origenes"] + "<span id=\"orispan_" + i + "\">\n";
					for (var k = 0; k < oriList.length; k++) {
						auxOrigenes += "											" + oriList[k].nom + "<br>\n";
					}
					auxOrigenes += "											</span>\n" + "										</a>\n" + "									</div>\n";
				} else if (oriList.length > 0) { // si solo
					// existe un
					// origen
					firstOri = oriList[0].cod;
					auxOrigenes += "									" + oriList[0].nom + "<br>\n";
				}
				// trata los HOTELES
				// /////////////////////////////////////////
				var hotList = ofertasTT[i].hotList;
				var auxHoteles = "";
				// System.out.println("PUNTO 3");
				for (var k = 0; k < hotList.length; k++) {
					auxHoteles += "											<div class=\"hottt\">&nbsp;&nbsp;&nbsp;" + hotList[k]
							+ "</div>\n";
					k++;
					if (k < hotList.length) { // segunda columna
						// de hoteles
						auxHoteles += "											<div class=\"hottt\">" + hotList[k] + "</div>\n";
					}
				}
				// PARAMETROS de la OFERTA
				var parametros = "";
				var fecIni = ofertasTT[i].fecIniXXL;
				parametros += "'" + ofertasTT[i].ofecod + "'" + ",'"
						+ ofertasTT[i].sprind + "'" + ",'" + ofertasTT[i].fpr + "'"
						+ ",'" + ofertasTT[i].apr + "'" + ",'" + ofertasTT[i].orden + "'"
						+ ",'" + ofertasTT[i].aptcod + "'" + ",'"
						+ ofertasTT[i].nocbas
						+ "'" // numnoc
						+ ",'" + fecIni + "'" + ",'" + firstOri + "'" + ",'" + ofertasTT[i].aptdes
						+ "'";
				// System.out.println("parametros: " + parametros);
				var nins = "";
				if (ofertasTT[i].ningratis=="S") {
					nins = " nins";
					ninGratis = true;
				}
				resultado+="					<tr>\n"
						+ "						<td class=\"tableRow\">\n"
						+ "							<div class=\""+ claseRowOferta(nOfertas) +" detalleOferta"
						+ nins
						+ "\" id=\"row_"
						+ columna
						+ "_"
						+ grupo_columna
						+ "_"
						+ cont
						+ "\" onmouseover=\"on(this.id);\" onmouseout=\"off(this.id);\" onclick=\"javascript:getOffer("
						+ parametros + ");\">\n";
				var resultadoHoteles = showLogoHotel(ofertasTT[i].icobp);
				if (resultadoHoteles=="<img src=\"/www/img/no_hotel.gif\" border=\"0\">") { // si
					// no hay hoteles hopi ni bp
					if (ofertasTT[i].tipprod=="E") { // si
						// es oferta Solo Hotel
						soloHotel = true;
						resultado+="								<div class=\"soloHotel\"><img src=\"/www/img/ico_solohotel.gif\" border=\"0\"></div>\n";
					}
				} else {
					resultado+="								<div class=\"imgCol\">"
							+ showLogoHotel(ofertasTT[i].icobp) + "</div>\n";
				}
                // Si existe la etiqueta <imagen>nombre_imagen</imagen>
                // insertamos esa imagen, en caso contrario insertamos 
                // el descuento.
                var tipoOferta = "";
                var imagen = ofertasTT[i].imagen;
                if(imagen != null) {
                 tipoOferta = muestraImagen(imagen);
                } else {
                tipoOferta = showDescuento(ofertasTT[i].dto);
                }
				resultado+="					<div class=\"dtoCol\">" + tipoOferta + "</div>\n"
						+ "								<div class=\"oriCol\">\n" + auxOrigenes + "								</div>\n"
						+ "								<div class=\"destino\">" + ofertasTT[i].des + "</div>\n"
						+ "								<div class=\"fecCol\">" + ofertasTT[i].fecha + "</div>\n"
						+ "								<div class=\"hotCol\">\n" + "									<a href=\"#\" id=\"link_" + i
						+ "\" onmouseover=\"showHotSpan(" + i + ")\" onmouseout=\"hideHotSpan(" + i
						+ ")\">\n" + "										" + trads["hoteles"] + "\n"
						+ "										<span id=\"hotspan_" + i + "\">\n" + auxHoteles
						+ "										</span>\n" + "										</a>\n" + "									</div>\n"
						+ "								<div class=\"preCol\">" + getPrecio(ofertasTT[i].precio)
						+ "&euro;</div>\n" + "							</div>\n" + "						</td>\n" + "					</tr>\n";
				cont++;
				
			//si ya no quedan mas ofertas cerramos el grupo y la columna y salimos
			if( i == ofertasTT.length-1){
				resultado+="				</tbody>\n" + "			</table>\n" + "		</div>\n</div>\n";
				
			}else{
				if (cont == nOfertas) {
					resultado+="				</tbody>\n" + "			</table>\n" + "		</div>\n";
					cont = 0;
					grupo_columna++;
					if (grupo_columna == columnasTopTen[columna].length){
						resultado+="</div>";
						grupo_columna=0;
						columna++;
						columnaIniciada=false;
					}
					
				}
			}
			
		}
				
		
		var hoteles = ofertasSM.hoteles;
		var hotelesStr = "";
		hotelesStr = getHotelesLeyenda(hoteles);
		var infobox= "";
		infobox+="<div id=\"infoBox\">\n" + 
					" <div style=\"float: left;padding-top: 4px;\"> <h2>OFERTAS DE ÚLTIMA HORA POR DESTINO</h2> </div>" ;			
					
		infobox+="			<div id=\"info\" style='float:right'>\n" + "				" + hotelesStr + "\n";
		if (ninGratis) {
			if (hotelesStr==""){
				infobox+="			<div class=\"first\"><img src=\"/www/img/nins.gif\" border=\"0\"><strong>"
						+ trads["nins"] + "</strong></div>\n";
			}else{
				infobox+="			<div><img src=\"/www/img/nins.gif\" border=\"0\"><strong>"
						+ trads["nins"] + "</strong></div>\n";
			}
		}
		if (soloHotel) {
			infobox+="			<div><img src=\"/www/img/ico_solohotel.gif\" border=\"0\"><strong>"
					+ trads["solohotel"] + "</strong></div>\n";
		}
		infobox+="		</div>"+
				" </div>";

		var disclaimer="<div style='float: left;text-align:left;color:#666666;font:10px Trebuchet MS;margin-top: 5px;'>\n" + "Precio medio por persona orientativo." + "Incluye tasas y combustible." + " Visados u otros suplementos no especiales no incluidos. " 
        + formateaFechaActualizacion(timsta, idioma)+ "\n" + "</div>\n";
		
		resultado="<div id=\"toptenBox\" style=\"margin-top: 10px;\">"+infobox+resultado+disclaimer;
		
		
		
		$('#ultimasOfertas').append(resultado);
		$('.topTenTable tr:odd').addClass('impar');
		$('.topTenTable tr:even').addClass('par');
	}
	
	function claseRowOferta(nOfertas){
		if(nOfertas==10){
			return "ofertaHeight_26";	
		}else{
			return "ofertaHeight_23";
		}
		
	}
	
	function formateaFechaActualizacion(timsta, idioma) {
		var retorno = "";
		var formatea = timsta.split(' ');
		var mes = formatea[0].replace(/_/g, '/').substr(0, 5);
		var hora = formatea[1].replace(/_/g, ':').substr(0, 5);
		if (idioma=="ES" || idioma=="es") {
			retorno = "Actualizado el " + mes + " a las " + hora;
		} else if (idioma=="PT" || idioma=="pt") {
			retorno = "Actualizado a " + mes + " as " + hora;
		} else if (idioma=="EN" || idioma=="en") {
			retorno = "Actualizado el " + mes + " a las " + hora;
		}
		return retorno;
	}

	function getPrecio(str) {
		var output = "";
		output = str.substr(0, str.indexOf(','));
		return output;
	}

	function muestraImagen(cadena) {
	    return "<img class=\"imagenOferta\" src=\"/www/img/" + cadena + "\" border=\"0\" />";
	}

	function showDescuento(str) {
		var output;
		if ((str == null) || (str=="0") || (str=="-")) {
			output = "<div class=\"oferta\">oferta</div>";
		} else if (str=="100") {
			output = "<img src=\"/www/img/dto_2.gif\" border=\"0\" style=\"margin-left:-3px;\">"
					+ "<img src=\"/www/img/dto_x.gif\" border=\"0\">"
					+ "<img src=\"/www/img/dto_1.gif\" border=\"0\" style=\"margin-left:-1px;\">";
		} else {
			output = "";
			for (var i = 0; i < str.length; i++)
				output += "<img src=\"/www/img/dto_" + str.substr(i, (i + 1)) + ".gif\">";
			output += "<img src=\"/www/img/dto_porcen.gif\">";
		}
		return output;
	}

	function showLogoHotel(str) {
		var output = "";
		if (str=="bpHotel") {
			output = "<img src=\"/www/img/logo_bp.gif\" border=\"0\">";
		} else if (str=="hopiHotel") {
			output = "<img src=\"/www/img/logo_hopi.gif\" border=\"0\">";
		} else {
			output = "<img src=\"/www/img/no_hotel.gif\" border=\"0\">";
		}
		return output;
	}



	function calcularFecha(oferta, fechas, idioma){
		var meses;
		if (idioma=="EN" || idioma=="en") {
			meses = MESES_INGLES;
		} else if (idioma=="PT" || idioma=="pt") {
			meses = MESES_PORTUGUES;
		} else if (idioma=="RU" || idioma=="ru") {
			meses = MESES_RUSO;
		} else {
			meses = MESES_ESPANOL;
		}
		
		
		var fechasParametro = "";
		var fecIniXXL = "";
		if (fechas.length > 10) {
			fechas = fechas.replace(/_/g, '/');
			var fecIni = "";
			if (fechas.lastIndexOf(',') == -1) { // si no
				// es un intervalo de fechas
				fecIniXXL = fechas.substr(0, fechas.lastIndexOf('-'));
				fecIni = getFechaSimpleOfertasEn(fechas.substring(0, fechas.lastIndexOf('-')));
				var fecFin = getFechaSimpleOfertasEn(fechas.substring(fechas.lastIndexOf('-') + 1));
				fechas = '[' + fecIni + '-' + fecFin + ']';
			} else { // si son fechas sueltas
				var fecha = new Array();
				fecha=fechas.split(',');
				fechas = "";
				for (var i = 0; i < fecha.length; i++) {
					fechas += getFechaSimpleOfertasEn(fecha[i]) + ", ";
				}
				fechas = fechas.substr(0, fechas.length - 2);
			}
			oferta.fecIniXXL= fecIniXXL;
			oferta.fecini= fecIni;
			oferta.fecha= fechas;
			oferta.fechapq= fechas;
			oferta.fecsal= fechasParametro;
		} else {
			fechasParametro = fechas;
			var vFec = fechas.split('/');
			var fechas_n;
			fechas_n = vFec[0] + " " + meses[parseInt(vFec[1],10) - 1];
			oferta.fecini= fechas;
			oferta.fecIniXXL= fechas;
			oferta.fecha= fechas_n;
			oferta.fechapq= fechas;
			oferta.fecsal= fechasParametro;
		}
		
	}
		
	function getFechaSimpleOfertasEn(p_fecha) {
		// dd/mm/yyyy --> dd/mm
		var fechaFormateada = "";
		try {
			var fecha = p_fecha.split('/');
			// fechaFormateada = fecha[0]+"/"+fecha[1]+"/"+fecha[2];
			fechaFormateada = fecha[0] + "/" + fecha[1];
		} catch (Error) {
			fechaFormateada = p_fecha;
		}
		return fechaFormateada;
	}
		
		
	function getOrigenesOffer(origenes){
		var out = new Array();
		for ( var i=0;i<origenes.length;i++){
			out.push({
				cod:	$(origenes[i]).attr("cod"),
				nom:	$(origenes[i]).attr("nom")	
			});
			
		}
		
		return out;
	}

	function calcularPrecio(predes){
		if(predes==null){
			return null;
		}
		var pos_dec = 0;
		var top_precio;
		var entero;
		var dec;
		if (predes=="-") {
			var top_precio = "Consultar";
		} else {
			pos_dec = predes.indexOf(',');
			if (pos_dec > -1) {
				entero = predes.substr(0, pos_dec);
			} else {
				entero = predes;
			}
			if (entero.length > 3) {
				entero = entero.substr(0, (entero.length - 3)) + "."
						+ entero.substr((entero.length - 3), (entero.length));
			}
			var top_precio = entero;
			if (pos_dec > -1) {
				dec = predes.substr(pos_dec + 1, predes.length);
				if (dec.length() < 2)
					dec += "0";
				top_precio += "," + dec + "&euro;";
			} else {
				top_precio += ",00&euro;";
			}
		}
		return top_precio;
	}

	function contieneHotelesBPAll(hoteles){
		var strOut = "nobp";
		var out= false;
		for( var i=0;i<hoteles.length && (!out);i++){
			if($(hoteles[i]).attr("bp")=="S"){
				strOut = "bpHotel";
				out=true;
			}else if($(hoteles[i]).attr("bp")=="H"){
				strOut = "hopiHotel";
				out=true;
			}else{
				strOut = "";
			}
		}
		return strOut;
		
	}

	function getComplejo(destino) {
		var complejo = "Complejo BP ";
		if (destino=="CUN") {
			complejo += "Cancún";
		} else if (destino=="PUJ") {
			complejo += "Bavaro";
		} else if (destino=="TCI") {
			complejo = "TCI";
		} else if (destino=="TFS") {
			complejo = "TCI";
		} else if (destino=="TFN") {
			complejo = "TCI";
		} else if (destino=="POP") {
			complejo = "Bahia Principe SanJuan";
		} else if (destino=="PMI") {
			complejo = "Piñero Hoteles Mallorca";
		}
		return complejo;
	}


	function getTraduccionesOfertasTT (idioma) {
		var vTraductor = new Array();
		// System.out.println("idioma #### pt");
		if (idioma=="PT" || idioma=="pt") {
			vTraductor["masofe"]= "Mais Ofertas";
			vTraductor["actuel"]= "Actualizado a ";
			vTraductor["alas"]= " as ";
			vTraductor["dto"]= "Desconto";
			vTraductor["sal"]= "Saidas";
			vTraductor["ori"]= "Origem";
			vTraductor["dst"]= "Destino";
			vTraductor["noc"]= "Noites";
			vTraductor["des"]= "Desde";
			vTraductor["pordto"]= "Percentagem de desconto para o acompanhante.";
			vTraductor["premed"]= "Preco medio en euros por pessoa orientativo. Nao inclui taxas, vistos ou outros suplementos especiais.";
			vTraductor["var"]= "Varios";
			vTraductor["nins"]= "Criança GRATIS";
			vTraductor["hoteles"]= "HOTEIS";
			vTraductor["origenes"]= "ORIGENS";
			vTraductor["solohotel"]= "Ofertas Só Hotel";
			vTraductor["precmedori"]= "Preço médio em euros por pessoa orientativo." ;
			vTraductor["incnointas"]= "Inclui taxas e combustivel. Não inclui vistos ou outros suplementos especiais." ;
		} else if (idioma=="EN" || idioma=="en") {
			vTraductor["masofe"]= "More Offers";
			vTraductor["actuel"]= "Updated ";
			vTraductor["alas"]= " at ";
		} else if (idioma=="RU" || idioma=="ru") {
			vTraductor["actuel"]= "&#1054;&#1073;&#1085;&#1086;&#1074;&#1083;&#1077;&#1085;&#1086; ";
			vTraductor["alas"]= " &#1074; ";
		} else {
			// if (idioma=="ES" || idioma=="es"){
			vTraductor["masofe"]= "Más Ofertas";
			vTraductor["actuel"]= "Actualizado el ";
			vTraductor["alas"]= " a las ";
			vTraductor["dto"]= "Descuento";
			vTraductor["sal"]= "Salidas";
			vTraductor["ori"]= "Origen";
			vTraductor["dst"]= "Destino";
			vTraductor["noc"], "Noches";
			vTraductor["des"]= "Desde";
			vTraductor["pordto"]= "Porcentaje de descuento para el acompañante.";
			vTraductor["premed"]= "Precio medio en euros por persona orientativo.Incluye tasas y combustible. Visados u otros suplementos especiales no incluidos.";
			vTraductor["var"]= "Varios";
			vTraductor["nins"]= "Niños GRATIS";
			vTraductor["hoteles"]= "HOTELES";
			vTraductor["origenes"]= "ORIGENES";
			vTraductor["solohotel"]= "Ofertas Solo Hotel";
			vTraductor["precmedori"]= "Precio medio por persona orientativo." ;
			vTraductor["incnointas"]= "Incluye tasas y combustible. Visados u otros suplementos no especiales no incluidos.<br>" ;
			// } else
		}
		return vTraductor;
	}
		
		
	function getHotelesLeyenda(hoteles) {
		var output = "";
		var bpHotel = false;
		var hopiHotel = false;
		for (var i = 0; (i < hoteles.length) && !(bpHotel && hopiHotel); i++) {
			if ((hoteles[i]=="bpHotel") && (!bpHotel)) {
				bpHotel = true;
			}
			if ((hoteles[i]=="hopiHotel") && (!hopiHotel)) {
				hopiHotel = true;
			}
		}
		// if ((bpHotel)||(hopiHotel)) output += "<div id=\"infoHoteles\">\n";
		/*
		 * if (bpHotel) output += "<img src=\"/ficheros/logo_bp.gif\"
		 * border=\"0\"><strong>BAHIA PRINCIPE</strong> Clubs & Resorts<br>\n";
		 * if (hopiHotel) output += "<img src=\"/ficheros/logo_hopi.gif\"
		 * border=\"0\"><strong>PIÑERO HOTELES</strong><br>\n"; if
		 * (ninGratis) output += "<img src=\"/ficheros/nins.gif\" border=\"0\"><strong>Niños
		 * GRATIS</strong><br>\n";
		 */
		if (bpHotel) {
			output += "<div class=\"first\"><img src=\"/www/img/logo_bp.gif\" border=\"0\"><strong>BAHIA PRINCIPE</strong> Hotels & Resorts</div>\n";
			if (hopiHotel)
				output += "<div><img src=\"/www/img/logo_hopi.gif\" border=\"0\"><strong>PIÑERO HOTELES</strong></div>\n";
		} else if (hopiHotel) {
			output += "<div class=\"first\"><img src=\"/www/img/logo_hopi.gif\" border=\"0\"><strong>PIÑERO HOTELES</strong></div>\n";
		} else {
			output = "";
		}
		// if (ninGratis) output += "<img src=\"/ficheros/nins.gif\"
		// border=\"0\"><strong>Niños GRATIS</strong><br>\n";
		// if ((bpHotel)||(hopiHotel)) output += "</div>\n";
		return output;
	}

