var Asock; var SocketSkript; var res_array = new Array(); var FH_State = false; var Fuzzy_State = false; var Gepr_State = false; sdiv = '
'; sdiv = sdiv + ''; sdiv = sdiv + ''; sdiv = sdiv + ''; sdiv = sdiv + ''; sdiv = sdiv + ''; sdiv = sdiv + ''; sdiv = sdiv + '
Die Suche dauert noch maximal 0 Sekunden
'; sdiv = sdiv + '
'; sdiv = sdiv + '
'; function UpdateTimer() { if(countdown > 0) { countdown = countdown - 1; document.getElementById('theTime').innerHTML = countdown; timerID = setTimeout("UpdateTimer()", 1000); if(useRPZ == 1) { UpdateZwischen(); } } else { Stop(); } } function Start() { timerID = setTimeout("UpdateTimer()", 1000); } function Stop() { if(timerID) { clearTimeout(timerID); timerID = 0; } } function loadXML(evt) { try { loadXMLDoc_search(evt); } catch(e) { var msg = (typeof e == "string") ? e : ((e.message) ? e.message : "Unknown Error"); alert("Unable to get XML data:\n" + msg); return; } } function getData(form) { document.getElementById('regler').style.display = 'none'; initSearch(30, form); } function loadXMLDoc_search(url) { if (window.XMLHttpRequest) { req = new XMLHttpRequest(); req.onreadystatechange = processReqChange_search; req.open("GET", url, true); req.send(null); } else if (window.ActiveXObject) { isIE = true; req = new ActiveXObject("Microsoft.XMLHTTP"); if (req) { req.onreadystatechange = processReqChange_search; req.open("GET", url, true); req.send(); } } } function processReqChange_search() { if(req.readyState == 4) { if (req.status == 200) { parseXML(); } else { alert("There was a problem retrieving the XML data:\n" + req.statusText); } } } function loadXMLdesc(url) { if (window.XMLHttpRequest) { req3 = new XMLHttpRequest(); req3.onreadystatechange = processReqChange_desc; req3.open("GET", url, true); req3.send(null); } else if (window.ActiveXObject) { isIE = true; req3 = new ActiveXObject("Microsoft.XMLHTTP"); if (req3) { req3.onreadystatechange = processReqChange_desc; req3.open("GET", url, true); req3.send(); } } } function processReqChange_desc() { if(req3.readyState == 4) { if (req3.status == 200) { parseDescXML(); } else { alert("There was a problem retrieving the XML data:\n" + req3.statusText); } } } /*******************************************************************************/ // new parser... // added not_rec for non recursive parsing 10.Jun.2008 Jo /*******************************************************************************/ function getElementTextNS_Suche(prefix, local, parentElem, index, not_rec) { var result = ""; if (prefix && isIE) { result = parentElem.getElementsByTagName(prefix + ":" + local); if (! result) { return ''; } else { } result=result[index]; } else { if ( ! not_rec ) { result = parentElem.getElementsByTagName(local); } else { result = new Array(); for ( i=0; i< parentElem.childNodes.length; i++ ) { if ( parentElem.childNodes[i].nodeName == local ) { result[result.length] = parentElem.childNodes[i]; } } } if (! result) { return ''; } else { //debug ("Result für "+local+":"+typeof(result)); } result=result[index]; } if (result) { if (! result.childNodes) { return ''; } if (result.childNodes.length > 1) { return result.childNodes[1].nodeValue; } else { //debug("Objektyp für Länge<=1:"+typeof(result.childNodes)); if ( result.childNodes.length==0) { //debug (" Result mit Länge 0 für Node : "+local); return ''; } return result.firstChild.nodeValue; } } else { //debug ("Leer"); return '';// return "n/a"; } } /*******************************************************************************/ // RPZ Functions /*******************************************************************************/ function loadXMLass(url) { if (window.XMLHttpRequest) { req1 = new XMLHttpRequest(); req1.onreadystatechange = processReqassChange; req1.open("GET", url, true); req1.send(null); } else if (window.ActiveXObject) { req1 = new ActiveXObject("Microsoft.XMLHTTP"); if (req1) { req1.onreadystatechange = processReqassChange; req1.open("GET", url, true); req1.send(); } } } function processReqassChange() { if(req1.readyState == 4) { if(req1.status == 200) { if(req1.responseText.length < 6000) { document.getElementById('zwischen').innerHTML = req1.responseText; } } else { alert("There was a problem retrieving the Socket:\n" + req1.statusText); } } } function loadXMLrpz(url) { if (window.XMLHttpRequest) { req2 = new XMLHttpRequest(); req2.onreadystatechange = processReqrpzChange; req2.open("GET", url, true); req2.send(null); } else if (window.ActiveXObject) { req2 = new ActiveXObject("Microsoft.XMLHTTP"); if (req2) { req2.onreadystatechange = processReqrpzChange; req2.open("GET", url, true); req2.send(); } } } function processReqrpzChange() { if(req2.readyState == 4) { if(req2.status == 200) { //nix hier funzt nicht. // mit alert funzts // alert("Jetzt sollte das file gelöscht sein:\n" + req2.statusText); // also den button erst jetzt freigeben. DAMIT FUNZT'S AUCH IM IE !!! document.flug.Submit.disabled = false; } else { alert("There was a problem killing the Socket:\n" + req2.statusText); } } } // RPZ Ende // Slider erzeugen function addSlider(sliderType, sliderClass, sliderVar, trackID, trackClass, handle_l_ID, handle_l_class, handle_r_ID, handle_r_class, sliderTextOut, sliderArea, minWert, maxWert, was) { divContent = document.getElementById(sliderArea).innerHTML; if(sliderType == 'multi_zeit') { //Slider-Divs erzeugen sl = '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; document.getElementById(sliderArea).innerHTML = divContent + sl; var possibleValues = new Array(); for(var i = minWert; i <= maxWert; i++) { possibleValues.push(i); } //Slider initialisieren var sliderVar = new Control.Slider([handle_l_ID,handle_r_ID],trackID,{ range:$R(0,23), sliderValue:[minWert,maxWert], values:possibleValues, restricted:true, onSlide:function(v) { //$(sliderTextOut).innerHTML= tmp.inspect(); tmp = v + ':59 Uhr'; tmp = tmp.replace(",", ":00 Uhr bis "); $(sliderTextOut).innerHTML= tmp; }, onChange:function(v) { //$(sliderTextOut).innerHTML= tmp.inspect(); tmp = v + ':59 Uhr'; tmp = tmp.replace(",", ":00 Uhr bis "); $(sliderTextOut).innerHTML= tmp; reduce_it(was, 'range', v); } }); $(sliderTextOut).innerHTML = minWert + ':00 Uhr bis ' + maxWert + ':59 Uhr'; } if(sliderType == 'einfach_preis') { //Slider-Divs erzeugen sl = '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; document.getElementById(sliderArea).innerHTML = divContent + sl; //Slider initialisieren var delta = maxWert - minWert; var fuzzy_schritt = delta / 24; schritt = Math.floor(fuzzy_schritt); steps = new Array(); for(var i = 0; i < 23; i++) { var cap = minWert + (i * schritt); steps.push(cap); } steps.push(maxWert); new Control.Slider(handle_l_ID,trackID,{ values:steps, range:$R(minWert,maxWert), sliderValue:maxWert, onSlide:function(v) { $(sliderTextOut).innerHTML = v + '.- Euro'; }, onChange:function(v) { $(sliderTextOut).innerHTML = v + '.- Euro'; reduce_it('CompareEinzelpreis', 'max', v); } }); $(sliderTextOut).innerHTML = maxWert + '.- Euro'; } if(sliderType == 'multi_preis') { //Slider-Divs erzeugen sl = '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; document.getElementById(sliderArea).innerHTML = divContent + sl; var possibleValues = new Array(); for(var i = minWert; i <= maxWert; i++) { possibleValues.push(i); } //Slider initialisieren var delta = maxWert - minWert; // var fuzzy_schritt = delta / 24; // schritt = Math.floor(fuzzy_schritt); steps = new Array(); // for(var i = 0; i < 23; i++) for(var i = 0; i < delta; i++) { // var cap = minWert + (i * schritt); var cap = minWert + i; steps.push(cap); } steps.push(maxWert); var sliderVar = new Control.Slider([handle_l_ID,handle_r_ID],trackID,{ range:$R(minWert,maxWert), sliderValue:[minWert,maxWert], values:steps, restricted:true, onSlide:function(v) { //$(sliderTextOut).innerHTML= tmp.inspect(); tmp = v + '.- Euro'; tmp = tmp.replace(",", ".- bis "); $(sliderTextOut).innerHTML= tmp; }, onChange:function(v) { //$(sliderTextOut).innerHTML= tmp.inspect(); tmp = v + '.- Euro'; tmp = tmp.replace(",", ".- bis "); $(sliderTextOut).innerHTML= tmp; tmp = String(v); a = Number(tmp.replace(/,.*/,"")); b = Number(tmp.replace(/^.*?,/,"")); w = String(a) + ',' + String(b); reduce_it(was, 'range', w); } }); $(sliderTextOut).innerHTML = minWert + '.- bis ' + maxWert + '.- Euro'; } if(sliderType == 'multi_datum') { //Slider-Divs erzeugen sl = '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; document.getElementById(sliderArea).innerHTML = divContent + sl; var possibleValues = new Array(); for(var i = minWert; i <= maxWert; i++) { possibleValues.push(i); } //Slider initialisieren var delta = maxWert - minWert; steps = new Array(); var poss_vals = new Array(); var j = 0; for(var i = 0; i < delta; i++) { var cap = minWert + i; if(String(cap).substr(4) >= 1 && String(cap).substr(4) <= 12 ) { steps.push(j); poss_vals[j] = cap; j++; } } //steps.push(maxWert); poss_vals[j]=maxWert; steps.push(j); var sliderVar = new Control.Slider([handle_l_ID,handle_r_ID],trackID,{ range:$R(0,j), sliderValue:[0,j], values:steps, restricted:true, onSlide:function(v) { //$(sliderTextOut).innerHTML= tmp.inspect(); tmp = String(v); a = Number(tmp.replace(/,.*/,"")); b = Number(tmp.replace(/^.*?,/,"")); tmp = String(poss_vals[a]).substr(4,2) + '\'' + String(poss_vals[a]).substr(0,4) + ' bis '; tmp = tmp + String(poss_vals[b]).substr(4,2) + '\'' + String(poss_vals[b]).substr(0,4); $(sliderTextOut).innerHTML= tmp; }, onChange:function(v) { //$(sliderTextOut).innerHTML= tmp.inspect(); tmp = String(v); a = Number(tmp.replace(/,.*/,"")); b = Number(tmp.replace(/^.*?,/,"")); tmp = String(poss_vals[a]).substr(4,2) + '\'' + String(poss_vals[a]).substr(0,4) + ' bis '; tmp = tmp + String(poss_vals[b]).substr(4,2) + '\'' + String(poss_vals[b]).substr(0,4); w = String(poss_vals[a]) + ',' + String(poss_vals[b]); reduce_it(was, 'range', w); } }); min = String(poss_vals[0]); max = String(poss_vals[j]); $(sliderTextOut).innerHTML = min.substr(4,2) + '\'' + min.substr(0,4) + ' bis ' + max.substr(4,2) + '\'' + max.substr(0,4); } if(sliderType == 'einfach_alter') { //Slider-Divs erzeugen sl = '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; document.getElementById(sliderArea).innerHTML = divContent + sl; //Slider initialisieren var delta = maxWert - minWert; var fuzzy_schritt = delta / 24; schritt = Math.floor(fuzzy_schritt); steps = new Array(); for(var i = 0; i < 23; i++) { var cap = minWert + (i * schritt); steps.push(cap); } steps.push(maxWert); new Control.Slider(handle_l_ID,trackID,{ values:steps, range:$R(minWert,maxWert), sliderValue:maxWert, onSlide:function(v) { $(sliderTextOut).innerHTML = v + 'h alt'; }, onChange:function(v) { $(sliderTextOut).innerHTML = v + 'h alt'; reduce_it('CompareAlter', 'max', v); } }); $(sliderTextOut).innerHTML = maxWert + 'h alt'; } if(sliderType == 'einfach') { var einheit = was; if(was == 'Distanz') {einheit = 'km';} //Slider-Divs erzeugen sl = '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; document.getElementById(sliderArea).innerHTML = divContent + sl; //Slider initialisieren var delta = maxWert - minWert; steps = new Array(); for(var i = 0; i < delta; i++) { var cap = minWert + (i); if(was == 'Distanz') { /*for(var j = 0; j < 10; j++) __> Thats wrong { x = cap + j*0.1; k = (Math.round(x * 10) / 10).toString(); k += (k.indexOf('.') == -1)? '.0' : '0'; steps.push(k.substring(0, k.indexOf('.') + 2)); }*/ for(var j = 0; j < 10; j++) { var tmpstep = cap + j*0.1; //steps.push(tmpstep.toFixed(4)); steps.push(cap + j*0.1); } } else { steps.push(cap); } } steps.push(maxWert); /* startVal = parseInt(steps.length / 4); for ( i=startVal; i< steps.length; i++ ) { if ( steps[startVal] < radius_min ) startVal++; else { startVal++; break; } } if ( steps[startVal] < 2 ) { multiplikator = 1000; einheit='m'; } else { multiplikator = 1; einheit='km'; } radius_min = steps[startVal]; */ if ( typeof(basgeo) !='undefined' ) { basgeo.setRadius(maxWert); } new Control.Slider(handle_l_ID,trackID,{ values:steps, range:$R(minWert,maxWert), // changed to steps[startVal], sliderValue:maxWert, onSlide:function(v) { if ( v < 2 ) { einheit = 'm' ; multiplikator = 1000;} else { einheit = 'km' ; multiplikator = 1;} $(sliderTextOut).innerHTML = v.toFixed(2)* multiplikator + ' ' + einheit ; }, onChange:function(v) { if ( v < 2 ) { einheit = 'm' ; multiplikator = 1000;} else { einheit = 'km' ; multiplikator = 1;} $(sliderTextOut).innerHTML = v.toFixed(2)* multiplikator + ' ' + einheit ; reduce_it(was, 'max', v); } }); $(sliderTextOut).innerHTML = maxWert + ' ' + einheit; } if(sliderType == 'multi') { //Slider-Divs erzeugen sl = '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; sl = sl + '
'; document.getElementById(sliderArea).innerHTML = divContent + sl; var possibleValues = new Array(); for(var i = minWert; i <= maxWert; i++) { possibleValues.push(i); } //Slider initialisieren var sliderVar = new Control.Slider([handle_l_ID,handle_r_ID],trackID,{ range:$R(0,5), sliderValue:[minWert,maxWert], values:possibleValues, restricted:true, onSlide:function(v) { //$(sliderTextOut).innerHTML= tmp.inspect(); tmp = v + ' Sterne'; tmp = tmp.replace(",", " bis "); $(sliderTextOut).innerHTML= tmp; }, onChange:function(v) { //$(sliderTextOut).innerHTML= tmp.inspect(); tmp = v + ' Sterne'; tmp = tmp.replace(",", " bis "); $(sliderTextOut).innerHTML= tmp; reduce_it(was, 'range', v); } }); $(sliderTextOut).innerHTML = minWert + ' bis ' + maxWert + ' Sterne'; } } function reduce_it(was, wie, cap) { var done = 0; if ( typeof(basgeo) !='undefined' ) { if ( basgeo.centerloc["latitude"] && basgeo.myloc["latitude"] ) { if ( basgeo.centerloc["latitude"] == basgeo.myloc["latitude"] ) { ; }else { basgeo.reduce(was,wie,cap); if (was == 'Distanz') { cap=50; done=1; } } } if ( ! done ) { basgeo.reduce(was,wie,cap); } } var capArray = new Array(); if(wie == 'range') { capArray = String(cap).split(","); // alert('capArray[0]: ' + capArray[0] + ' capArray[1]: ' + capArray[1]); } for (var i = 0; i < global_items; i++) { var restrictions = new Array; restrictions = res_array[i]['SliderHide_restrictions'].split(","); var typ = was + '_' + wie; var this_id = 'res_' + i; var kriterium; if(wie == 'max') { kriterium = eval(res_array[i][was] > cap); } if(wie == 'min') { kriterium = eval(res_array[i][was] < cap); } if(wie == 'range') { kriterium = eval((res_array[i][was] < capArray[0]) || (res_array[i][was] > capArray[1])); //if(i < 10) {alert('i: ' + i + ' res_array[i]: ' + res_array[i][was] + ' \nmin: ' + capArray[0] + ' max: ' + capArray[1] + ' \nkriterium: ' + kriterium);} } if(wie == 'eq') { kriterium = eval(res_array[i][was] != cap); } if(wie == 'ne') { kriterium = eval(res_array[i][was] == cap); } if(kriterium) { if ( document.getElementById(this_id) != null ) { document.getElementById(this_id).className='rowno'; } if( res_array[i]['Icon'] ) { //nur für hotel if ( basgeo.res_array[i]["Marker"] ) { basgeo.res_array[i]["Marker"].hide(); } } var test = 'false'; for(var j = 0; j < restrictions.length; j++) { if(restrictions[j] == typ) { test = 'true'; } } if(test != 'true') { restrictions.push(typ); // nur, falls noch nicht erfasst } res_array[i]['SliderHide_restrictions'] = restrictions.join(","); } else { var new_restrictions = new Array; var test = 'false'; for(var j = 0; j < restrictions.length; j++) { if(restrictions[j] != typ && restrictions[j].length > 3) { new_restrictions.push(restrictions[j]); test = 'true'; } } if(test == 'false') { if(res_array[i]['Fuzzy'] == 'Ja') { if(Fuzzy_State == true) { document.getElementById(this_id).className='row_fuzzy_displ'; } else { document.getElementById(this_id).className='row_fuzzy_hidden'; } } if(res_array[i]['FH'] == 'Ja') { if(FH_State == true) { document.getElementById(this_id).className='row_fh_displ'; } else { document.getElementById(this_id).className='row_fh_hidden'; } } if(res_array[i]['CF'] == 'Ja') { if(Gepr_State == true) { document.getElementById(this_id).className='row_cf_displ'; } else { document.getElementById(this_id).className='row_cf_hidden'; } } if(res_array[i]['Fuzzy'] == 'Nein' && res_array[i]['FH'] == 'Nein') { document.getElementById(this_id).className='row'; } if( res_array[i]['Icon'] ) { // nur für hotel if ( document.getElementById(this_id) != null ) { document.getElementById(this_id).className='row_hotel'; } if ( basgeo.res_array[i]["Marker"] ) { basgeo.res_array[i]["Marker"].show(); } } } res_array[i]['SliderHide_restrictions'] = new_restrictions.join(","); } } if( window.renderDesc ) renderDesc() } function reset_it() { for (var i = 0; i < global_items; i++) { var this_id = 'res_' + i; document.getElementById(this_id).className='row'; res_array[i]['SliderHide_restrictions'] = ''; if ( basgeo.res_array[i]["Marker"] ) { basgeo.res_array[i]["Marker"].show();} } }