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 + '
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();}
}
}