/*****************************************************************/
/* Der Suchmanager für die Suchergebnisse. */
/*****************************************************************/
	 
	var suchManager = Class.create();
	suchManager.prototype = {
		data:[],
		ansicht:0,
		initialize: function () {},
		getReisen: function()
		{
			$("spinner").show();
			var showNewData = this.showNewData.bind(this);
			var url    = 'ajaxreisesuche.php';
			var params = $('suchformular').serialize(true);
			this.ansicht = $F('ansicht');
			var myAjax = new Ajax.Request( url, {method: 'POST', parameters: params, onComplete: showNewData} );	
		},
		showNewData: function(request)
		{
			this.data = eval('(' + request.responseText + ')');
			this.fillListe();
		},
		fillListe: function()
		{
			$('reisengefunden').update();
			Tips.hideAll();
			//$('message').update();
			//if (this.data.message)
				//$('message').update(this.data.message);
			var headerdivs = $$(".header");	
			if (this.data.headername)			
					headerdivs[0].id="header"+this.data.headername;
			else	headerdivs[0].id="headerwelt1";
			if (this.data.reisen && this.data.reisen.length)
			{
				$('reisengefunden').update(""+(this.data.anzahl ? this.data.anzahl:"Keine") +" Reise"+ (this.data.anzahl!=1?"n":"") +(this.data.name ? " "+this.data.name:" gefunden.")+"<a id=\"galerielink\" href=\"reiseliste.php?ansicht="+(this.ansicht==0?"galerie":"liste")+"\" class=\""+(this.ansicht==0?"galerie":"listen")+"link\">Reisen in "+(this.ansicht==0?"Galerie":"Listen")+"ansicht zeigen</a>");
				$('suchergebnis').update(this.data.pagination?this.data.pagination:"");
				var neuerInhalt = "<div class=\"contenthintenhbl\"><div class=\"inhalt zuFuellen\" >";

				if (this.ansicht == 0)
						neuerInhalt += this.baueListe(this.data.reisen, 0);
				 else 	neuerInhalt += this.baueGalerie(this.data.reisen, 0);
				neuerInhalt += "</div></div><img src=\"image/rahmen/kastenhintenuntenhbl.gif\" alt=\"\" class=\"kastenhintenuntenhbl\" width=\"40\" height=\"5\"  />"+(this.data.pagination?this.data.pagination:"");
				new Insertion.Bottom($('suchergebnis'), neuerInhalt);
			}
			else if (this.data.alternativreisen && this.data.alternativreisen.length)
			{
				$('reisengefunden').update("<a id=\"galerielink\" href=\"reiseliste.php?ansicht="+(this.ansicht==0?"galerie":"liste")+"\"><img src=\"image/symbole/"+(this.ansicht==0?"galerie":"liste")+".gif\" width=\"30\" height=\"21\" alt=\"\" /> <u>Reisen in "+(this.ansicht==0?"Galerie":"Listen")+"ansicht zeigen</u></a><p class=\"error\">Leider haben wir keine Reise gefunden, die allen Ihren W&uuml;nschen entspricht. Unten finden Sie Reisen, die Ihren W&uuml;nschen so nahe wie m&ouml;glich kommen.</p>");
				$('reisengefunden').show();
				$('sortieren').hide();
				$('suchergebnis').update((this.data.pagination?this.data.pagination:""));
						
				var neuerinhalt = "";
				// pagination gibt's nicht bei den Alternativreisen
				for (var i = 0; i<this.data.alternativreisen.length; i++)
				{
					if (this.data.alternativreisen[i].reisen.length > 0)
					{
						if (this.ansicht == 0)
						{
							neuerinhalt += "<div class=\"contenthintenhbl\"><div class=\"inhalt zuFuellen\">";
							neuerinhalt += "<div id=\"suchergebnistabelle\"><table class=\"suchergebnis\"><thead class=\"alternativen_"+i+"\"><tr><th colspan=\"5\">"+this.data.alternativreisen[i].anzahl+" Reise"+ (this.data.alternativreisen[i].anzahl!=1 ? "n":"") +" <b style=\"color:#CC3333;\">"+ this.data.alternativreisen[i].text +"</b>, zum Beispiel</th><th colspan=\"5\" style=\"text-align:right;\">"+ (this.data.alternativreisen[i].reisen && this.data.alternativreisen[i].reisen.length && this.data.alternativreisen[i].anzahl && this.data.alternativreisen[i].anzahl>this.data.alternativreisen[i].reisen.length ? "":"") +"&nbsp;</th></tr></thead><tbody id=\"reiseliste_"+ i +"\">";
							for (var j=0; j<this.data.alternativreisen[i].reisen.length; j++)
							{
								neuerinhalt += this.baueListenZeile(this.data.alternativreisen[i].reisen[j], i);
							}
							neuerinhalt += "</tbody></table>";
						}
						else // ansicht==1
						{
							neuerinhalt +=  "<div class=\"contenthintenhbl\"><div class=\"inhalt zuFuellen\"><div class=\"alternativenUs\">"+this.data.alternativreisen[i].anzahl+" Reise"+ (this.data.alternativreisen[i].anzahl!=1 ? "n":"") +" <b style=\"color:#CC3333;\">"+ this.data.alternativreisen[i].text +"</b>, zum Beispiel</div>";
							neuerinhalt += this.baueGalerie(this.data.alternativreisen[i].reisen, i);
						}
					}	
					neuerinhalt += "</div></div><img src=\"image/rahmen/kastenhintenuntenhbl.gif\" alt=\"\" class=\"kastenhintenuntenhbl\" width=\"40\" height=\"5\"  /></div><br />";
				}
				new Insertion.Bottom("suchergebnis", neuerinhalt);
			}
			else
			{
				$('suchergebnistabelle').update("<table class=\"suchergebnis\"><thead><tr><th>&nbsp;</th><th>Reisetitel</th><th>Preis/Termin</th><th>Dauer</th><th></th><th></th><th></th></tr></thead><tbody id=\"reiseliste_0\"></tbody></table>");
				new Insertion.Bottom('reiseliste_0', "<tr><td colspan=\"5\">Keine Reisen gefunden.</td></tr>");
			}
			
			if (this.data.alternativen && this.data.alternativen.length && $('alternativendiv'))
			{
				var updatetext = "";// "<div class=\"extrahblauoben\"><div class=\"extrahblauunten\"><h1>Rundreisen, die Sie ebenfalls interessieren k&ouml;nnten:</h1><div id=\"diealternativen\" style=\"width:100%;\">";
				this.data.alternativen.each(function(item,index) {
					updatetext += "<a href=\""+ item.link +"\" class=\"alternative\">"+ item.anzahl +" Rundreise"+ (item.anzahl!=1?"n":"") +" "+ item.text +" <span class=\"pfeil3\">&nbsp;</span></a>";
				});
				// updatetext += "</div></div></div>";
				$('alternativen').update(updatetext);
				$('alternativendiv').show()
			}
			else if ($('alternativendiv'))$('alternativendiv').hide();
				
			tooltips();
			merkzettel();

			if ($("spinner"))
				$("spinner").hide();
									
		},

	baueListe: function(reisen, index)
	{
		hinein = "<div id=\"suchergebnistabelle\"><table class=\"suchergebnis\"><thead><tr><th>&nbsp;</th><th>Reisetitel</th><th>Preis</th><th>Dauer</th><th colspan=\"5\"></th></tr></thead><tbody id=\"reiseliste_"+index+"\">";
		for (var m=0; m<this.data.reisen.length; m++) 
		{
			hinein += this.baueListenZeile(reisen[m], m);
		}
		hinein += "</tbody></table></div></div></div><img src=\"image/rahmen/kastenhintenuntenhbl.gif\" alt=\"\" class=\"kastenhintenuntenhbl\" width=\"40\" height=\"5\"  />";
		return hinein;
	}, // baueListe()

	baueGalerie: function(reisen, index)
	{
		hinein = "";
		for (var l=0; l<reisen.length; l++)
		{
			hinein += this.baueGalerieReise(reisen[l]);
		}
		hinein += "<div class=\"cl\"></div>";
		return hinein;
	},


	baueListenZeile: function(reise, index)
	{
		zeile = "<tr>";
		zeile += "<td onclick=\"document.location='"+ reise.link +"';return false;\">"+  "<a href=\""+ reise.link +"\"><img src=\""+ (reise.src ? reise.src : (reise.karte ? reise.karte.replace(/large/, "66x40") : "image/platzhalter_66x40.jpg")) +"\" alt=\"\" class=\"reise\" width=\"66\" /></a>" +"</td>";
		zeile += "<td onclick=\"document.location='"+ reise.link +"';return false;\" class=\"titel\"><a href=\""+ reise.link +"\">" + reise.bezeichnung + "</a></td><td><b>ab&nbsp;"+  reise.billigste +"&nbsp;&euro;</b>"+  (1==2 && reise.terminzahl ? "<br />"+reise.terminzahl +" Termin"+(reise.terminzahl!=1?"e":""):"") +"</td><td onclick=\"document.location='"+ reise.link +"';return false;\">"+ reise.dauer +"</td>";
		zeile += "<td class=\"img\" style=\"white-space:nowrap;\">";
		if (reise.infos && reise.infos.length) {
			reise.infos.each(function(info) {
				zeile += "<a class=\""+info+"\" title=\""+info+"|capitalize\" href=\""+ reise.link +"\"></a>";
			});
		}
		var gemerkt = false;
		if (typeof(merklistereiseids) != "undefined" && merklistereiseids != 0) {
			merklistereiseids.each(function(id) {
				if (id == reise.id) gemerkt=true;
			});
		}
		zeile += "</td><td class=\"img anreise\"><a class=\"anreise anreise"+reise.rid+"\" title=\"anreise"+reise.rid+"\" href=\""+reise.link+"\"></a></td><td class=\"img"+ (reise.karte ? " karte\"><a class=\"kartensymbol\" id=\"karte_"+reise.karte+"\" title=\"Reiseverlauf anzeigen\"></a>":"\">&nbsp;") +"</td><td class=\"img merkzettel\"><div class=\"merkzettelImg"+(gemerkt?"_gemerkt":"")+"\" id=\"reise_"+reise.id+"\"></div></td>";
		zeile += "<td class=\"details\"><a href=\""+ reise.link +"\">Reisedetails</a></td>";
		
		zeile += "</tr>";
		return(zeile);
	},

	baueGalerieReise: function(reise)
	{
		inhalt = "<div class=\"rerw_reise\"><div class=\"rerw_reiseu\"><a href=\""+reise.link+"&ansicht=galerie\"><img src=\"";
		inhalt += (reise.src?reise.src:(reise.karte?reise.karte:"image/platzhalter_137x84.gif"))+"\" alt=\"Bild zur "+(reise.kat?reise.kat:"Rundreise");
		inhalt += " "+reise.bezeichnung+"\"";
		inhalt += "class=\"rerw_bild\" width=\"137\"  /></a><a href=\""+reise.link+"&ansicht=galerie\" class=\"rerw_titel\">";
		inhalt += (reise.kat?reise.kat+": ":"");
		inhalt += reise.bezeichnung+"</a><div class=\"rerw_rechts\">";
		var gemerkt = false;
		if (typeof(merklistereiseids) != "undefined" && merklistereiseids != 0) {
			merklistereiseids.each(function(id) {
				if (id == reise.id) gemerkt=true;
			});
		}
		inhalt += "<div class=\"merkzettelImg"+(gemerkt?"_gemerkt":"")+"\" id=\"reise_"+reise.id+"\"></div>"+(reise.karte ? "<div class=\"karte\"><a class=\"kartensymbol\" id=\"karte_"+reise.karte+"\" title=\"Reiseverlauf anzeigen\"></a></div>":"")+"</div><div class=\"rerw_links\"><a class=\"dauer\" href=\""+reise.link+"&ansicht=galerie\">"+reise.dauer+"</a><br /><a class=\"preis\" href=\""+reise.link+"&ansicht=galerie\">ab&nbsp;"+reise.billigste+"&nbsp;&euro;</a></div><div class=\"rerw_infos\">";
		if (reise.infos && reise.infos.length) {
			reise.infos.each(function(info) {
				inhalt += "<a class=\""+info+"\" title=\""+info+"|capitalize\" href=\""+ reise.link +"\"></a>";
			});
		}
		inhalt+= "<a class=\"anreise anreise"+reise.rid+"\" title=\"anreise"+reise.rid+"\" href=\""+reise.link+"\"></a>";
		inhalt += "</div><div class=\"cl\"></div></div></div>";
		return inhalt;
	}


}; //suchManager

