function CAJAX(vVarName) { /* Variablen definieren */ this.AJAXClassName=vVarName; this.AJAXObjekt=null; this.Data=""; //this.XMLData=""; this.URL=""; this.Method="post"; this.SendRequestData=null; this.CallbackFunction=""; this.Username=null; this.Password=null; this._running=false; /* Funktionen definieren */ // Aufruf this.Call=_CAJAX_Call; // Abbruch this.Cancel=_AJAX_Cancel; // GetData this.GetData=_AJAX_GetData; // GetXMLData this.GetXMLData=_AJAX_GetXMLData; } function _CAJAX_Call() { if (this._running==true) { this.Cancel(); this._running=false; } if (window.XMLHttpRequest) // !IE {this.AJAXObjekt=new XMLHttpRequest(); } else if (window.ActiveXObject) {this.AJAXObjekt=new ActiveXObject("Microsoft.XMLHTTP"); } if (!this.AJAXObjekt) /* Kein Objekt */ {alert("AJAX (XMLHttpRequest: Objekt kann nicht erzeugt werden."); } this.AJAXObjekt.onreadystatechange=new Function("", "{ " + " if ("+this.AJAXClassName+".AJAXObjekt.readyState==4) /* Ready */ " + " {if ("+this.AJAXClassName+".AJAXObjekt.status==200) /* Ok */ " + " {"+this.AJAXClassName+".Data="+this.AJAXClassName+".AJAXObjekt.responseText; " + " if ("+this.AJAXClassName+".CallbackFunction!='') " + " {"+this.AJAXClassName+"._running=false; "+ " eval("+this.AJAXClassName+".CallbackFunction+'()'); " + " } " + " } " + " else " + " { "+this.AJAXClassName+".Data='Error: '+"+this.AJAXClassName+".AJAXObjekt.status; " + " } " + " } " + "} " ); this.AJAXObjekt.open(this.Method.toUpperCase(), this.URL, (this.CallbackFunction!=""?true:false), this.Username, this.Password ); this.AJAXObjekt.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // ; charset=ISO-8859-1"); //this.AJAXObjekt.setRequestHeader("Content-Type", "multipart/form-data"); // ; charset=ISO-8859-1"); this._running=true; // Wenn Partnerlayout, dann Pid, Lang und Layoutname übergeben und mitschleifen if (typeof atraveo_layoutdata!="undefined") { if (this.SendRequestData==null) {this.SendRequestData=""; } // Pid erweitern if (this.SendRequestData.indexOf("pid=")==-1) {this.SendRequestData+=(this.SendRequestData==""?"":"&")+"pid="+atraveo_layoutdata.pid; } // Lang erweitern if (this.SendRequestData.indexOf("lang=")==-1) {this.SendRequestData+=(this.SendRequestData==""?"":"&")+"lang="+atraveo_layoutdata.lang; } // Layoutname erweitern if (this.SendRequestData.indexOf("layoutname=")==-1) {this.SendRequestData+=(this.SendRequestData==""?"":"&")+"layoutname="+atraveo_layoutdata.layoutname; } } // alert(this.SendRequestData); this.AJAXObjekt.send(this.SendRequestData); if (this.CallbackFunction!="") {return ""; } else {this._running=false; this.Data=this.AJAXObjekt.responseText; //this.XMLData=this.AJAXObjekt.responseXML; return this.Data; } } function _AJAX_Cancel() { if (this._running==true) {this.AJAXObjekt.abort(); } } function _AJAX_GetData() { return this.AJAXObjekt.responseText; } function _AJAX_GetXMLData() { return this.AJAXObjekt.responseXML; } // Funktionen zum Nachladen von JavaScript-Dateien bereitstellen var loadJsUrlAjax=new CAJAX("loadJsUrlAjax"); function loadJsUrl(vUrl, vParam) { if (typeof htmlJsExecution!="undefined") { loadJsUrlAjax.URL=vUrl; loadJsUrlAjax.SendRequestData=vParam; loadJsUrlAjax.CallbackFunction=""; var loadJsUrlData=loadJsUrlAjax.Call(); htmlJsExecution(loadJsUrlData); } else { alert("JavaScript htmlJsExecution, zum Ausführen von JavaScript-Code, existiert nicht."); } } var statistikclick=new CAJAX("statistikclick"); var intercasaVerlaufStop=new CAJAX("intercasaVerlaufStop"); /* Parameter: art, id, bereich, datum?, redirectUrl? */ function fncStatClick(vStatObject) { statistikclick.URL="../ajax/writeStatistikClick.php"; statistikclick.SendRequestData="saveStatistik=true&art="+escape(typeof vStatObject.art!="undefined"?vStatObject.art:"")+"&id="+escape(typeof vStatObject.id!="undefined"?vStatObject.id:"")+"&bereich="+escape(typeof vStatObject.bereich!="undefined"?vStatObject.bereich:"")+"&datum="+escape(typeof vStatObject.datum!="undefined"?vStatObject.datum:""); if (typeof vStatObject.redirectUrl=="undefined") { statistikclick.CallbackFunction=""; statistikclick.redirectUrl=""; } else { statistikclick.CallbackFunction="callback_fncStatClick"; statistikclick.redirectUrl=vStatObject.redirectUrl; // Timeout von 5 Sekunden setzen, falls Ajax-Zugriff zu lange dauert und/oder nicht zurückkommt if (typeof vStatObject.redirectUrl!="undefined" && vStatObject.redicrectUrl!="") {window.setTimeout("document.location.href='"+vStatObject.redirectUrl+"';", 5000); } } statistikclick.Call(); } function callback_fncStatClick() { document.location.href=statistikclick.redirectUrl; } function stopIntercasaVerlauf(vServerIp, vId, vHostname) { intercasaVerlaufStop.URL="../ajax/writeIntercasaVerlaufStop.php"; intercasaVerlaufStop.SendRequestData="saveStatistik=true&id="+vId+"&hn="+vHostname+"&serverip="+vServerIp; intercasaVerlaufStop.CallbackFunction="callback_stopIntercasaVerlauf"; intercasaVerlaufStop.Call(); } function callback_stopIntercasaVerlauf() {}/* *=pflicht vParams={newpos*, [scrollsmoothness, scrollstep]} */ var smoothTimeoutHandle=null; var smoothSavedEvents={onmousedown: null, onkeydown: null}; function scrollKillEvent(vEvent) { // Timeout-Handler löschen if (smoothTimeoutHandle!=null) { window.clearTimeout(smoothTimeoutHandle); smoothTimeoutHandle=null; } // Events wieder herstellen if (smoothSavedEvents.onmousedown!=null) {document.onmousedown=smoothSavedEvents.onmousedown; } if (smoothSavedEvents.onkeydown!=null) {document.onkeydown=smoothSavedEvents.onkeydown; } } function smoothScrollTo(vParams) { var currentPos=0; var documentHeight=0; var viewHeight=0; // Wenn Partnerlayout, dann kein Scrollen unterstützen if (typeof atraveo_layoutdata!="undefined" && atraveo_layoutdata.partnerlayout==true) {return; } // Scroll-Kill-Events erstellen if ((smoothSavedEvents.onmousedown==null && smoothSavedEvents.onkeydown==null) && (document.onmousedown!=scrollKillEvent && document.onkeydown!=scrollKillEvent) ) { // Events sichern smoothSavedEvents.onmousedown=document.mousedown; smoothSavedEvents.onkeydown=document.onkeydown; // KillEvent setzen document.onmousedown=document.onkeydown=scrollKillEvent; } // Document-Höhe ermitteln if (document.body && document.body.scrollHeight) // IE {documentHeight=document.body.scrollHeight; } else {documentHeight=document.height; } // View-Höhe ermitteln if (window.innerHeight) {viewHeight=window.innerHeight; } else // !IE {viewHeight=document.body.offsetHeight; // IE; } // Falls die neue Position einen negativen Wert enthält, wird die Höhe des documents ermittelt und der neue Positionswert abgezogen if (vParams.newpos<0) { // Neue Position auf Wert "von hinten" setzen vParams.newpos=documentHeight-Math.abs(vParams.newpos); //alert(vParams.newpos); } // Abbrechen, wenn die neue Position größer ist als die Document-Höhe if (vParams.newpos>=documentHeight-viewHeight) {vParams.newpos=documentHeight-viewHeight; } // Aktuelle Scroll-Position ermitteln if (window.pageYOffset) // !IE {currentPos=window.pageYOffset; } else { if (document.body && document.body.scrollTop) // IE {currentPos=document.body.scrollTop; } } // Überprüfen ob ggfs. zwischendurch gescrollt wurde und der Abstand entsprechend groß ist, dann evtl. abbgrechen if (typeof vParams.currentpos!="undefined" && currentPos!=vParams.currentpos) { if (smoothTimeoutHandle!=null) {window.clearTimeout(smoothTimeoutHandle); } scrollKillEvent(null); return; } scrollStep=( typeof vParams.scrollstep!="undefined"?vParams.scrollstep:(Math.abs(vParams.newpos-currentPos)/(typeof vParams.scrollsmoothnesss!="undefined"?vParams.scrollsmoothnesss:10)) ); if (scrollStep<1) {scrollStep=1; } //alert("CurrentPos: "+currentPos+", ScrollStep: "+scrollStep); if (currentPos<=vParams.newpos-(typeof vParams.scrollstep!="undefined"?vParams.scrollstep:2) || currentPos>=vParams.newpos+(typeof vParams.scrollstep!="undefined"?vParams.scrollstep:2)) { var tmpScrollByStep=scrollStep*(vParams.newpos)/g, ""); // JS-Kommentar entfernen vData=vData.replace(/[^:]\/\/.*/g, ""); // Kommentar 1 entfernen vData=vData.replace(/^\/\/.*/g, ""); // Kommentar 2 entfernen vData=vData.replace(/[\r\n]/g, ""); // Zeilenumbrüche für Suche entfernen vData=vData.replace(/var /g, ""); // Mit var definierte Global Variablen werden nicht global angelegt var scriptsErg=vData.match(/(.*?)<\/script>/gi); var returnValue=new Array(); if (scriptsErg) { for (var r=0; r(.*?)<\/script>/i); scriptValue=scriptValue[1]; // Überprüfen ob Funktionen vorhanden sind, die umgesetzt werden müssen var funcsValues=scriptValue.match(/function (.*?)\(/gi); if (funcsValues) { for (fv=0; fv= 0 ? new Date(value) : value; }); This file will break programs with improper for..in loops. See http://yuiblog.com/blog/2006/09/26/for-in-intrigue/ This file creates a global JSON object containing two methods: stringify and parse. JSON.stringify(value, replacer, space) value any JavaScript value, usually an object or array. replacer an optional parameter that determines how object values are stringified for objects without a toJSON method. It can be a function or an array. space an optional parameter that specifies the indentation of nested structures. If it is omitted, the text will be packed without extra whitespace. If it is a number, it will specify the number of spaces to indent at each level. If it is a string (such as '\t' or ' '), it contains the characters used to indent at each level. This method produces a JSON text from a JavaScript value. When an object value is found, if the object contains a toJSON method, its toJSON method will be called and the result will be stringified. A toJSON method does not serialize: it returns the value represented by the name/value pair that should be serialized, or undefined if nothing should be serialized. The toJSON method will be passed the key associated with the value, and this will be bound to the object holding the key. For example, this would serialize Dates as ISO strings. Date.prototype.toJSON = function (key) { function f(n) { // Format integers to have at least two digits. return n < 10 ? '0' + n : n; } return this.getUTCFullYear() + '-' + f(this.getUTCMonth() + 1) + '-' + f(this.getUTCDate()) + 'T' + f(this.getUTCHours()) + ':' + f(this.getUTCMinutes()) + ':' + f(this.getUTCSeconds()) + 'Z'; }; You can provide an optional replacer method. It will be passed the key and value of each member, with this bound to the containing object. The value that is returned from your method will be serialized. If your method returns undefined, then the member will be excluded from the serialization. If the replacer parameter is an array, then it will be used to select the members to be serialized. It filters the results such that only members with keys listed in the replacer array are stringified. Values that do not have JSON representations, such as undefined or functions, will not be serialized. Such values in objects will be dropped; in arrays they will be replaced with null. You can use a replacer function to replace those with JSON values. JSON.stringify(undefined) returns undefined. The optional space parameter produces a stringification of the value that is filled with line breaks and indentation to make it easier to read. If the space parameter is a non-empty string, then that string will be used for indentation. If the space parameter is a number, then the indentation will be that many spaces. Example: text = JSON.stringify(['e', {pluribus: 'unum'}]); // text is '["e",{"pluribus":"unum"}]' text = JSON.stringify(['e', {pluribus: 'unum'}], null, '\t'); // text is '[\n\t"e",\n\t{\n\t\t"pluribus": "unum"\n\t}\n]' text = JSON.stringify([new Date()], function (key, value) { return this[key] instanceof Date ? 'Date(' + this[key] + ')' : value; }); // text is '["Date(---current time---)"]' JSON.parse(text, reviver) This method parses a JSON text to produce an object or array. It can throw a SyntaxError exception. The optional reviver parameter is a function that can filter and transform the results. It receives each of the keys and values, and its return value is used instead of the original value. If it returns what it received, then the structure is not modified. If it returns undefined then the member is deleted. Example: // Parse the text. Values that look like ISO date strings will // be converted to Date objects. myData = JSON.parse(text, function (key, value) { var a; if (typeof value === 'string') { a = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value); if (a) { return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4], +a[5], +a[6])); } } return value; }); myData = JSON.parse('["Date(09/09/2001)"]', function (key, value) { var d; if (typeof value === 'string' && value.slice(0, 5) === 'Date(' && value.slice(-1) === ')') { d = new Date(value.slice(5, -1)); if (d) { return d; } } return value; }); It is expected that these methods will formally become part of the JavaScript Programming Language in the Fourth Edition of the ECMAScript standard in 2008. This is a reference implementation. You are free to copy, modify, or redistribute. This code should be minified before deployment. See http://javascript.crockford.com/jsmin.html USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO NOT CONTROL. */ /*jslint evil: true */ /*global JSON */ /*members "", "\b", "\t", "\n", "\f", "\r", "\"", JSON, "\\", call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours, getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join, lastIndex, length, parse, parseJSON, propertyIsEnumerable, prototype, push, replace, slice, stringify, test, toJSON, toJSONString, toString */ if (!this.JSON) { // Create a JSON object only if one does not already exist. We create the // object in a closure to avoid global variables. JSON = function () { function f(n) { // Format integers to have at least two digits. return n < 10 ? '0' + n : n; } Date.prototype.toJSON = function (key) { return this.getUTCFullYear() + '-' + f(this.getUTCMonth() + 1) + '-' + f(this.getUTCDate()) + 'T' + f(this.getUTCHours()) + ':' + f(this.getUTCMinutes()) + ':' + f(this.getUTCSeconds()) + 'Z'; }; var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, escapeable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, gap, indent, meta = { // table of character substitutions '\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '"' : '\\"', '\\': '\\\\' }, rep; function quote(string) { // If the string contains no control characters, no quote characters, and no // backslash characters, then we can safely slap some quotes around it. // Otherwise we must also replace the offending characters with safe escape // sequences. escapeable.lastIndex = 0; return escapeable.test(string) ? '"' + string.replace(escapeable, function (a) { var c = meta[a]; if (typeof c === 'string') { return c; } return '\\u' + ('0000' + (+(a.charCodeAt(0))).toString(16)).slice(-4); }) + '"' : '"' + string + '"'; } function str(key, holder) { // Produce a string from holder[key]. var i, // The loop counter. k, // The member key. v, // The member value. length, mind = gap, partial, value = holder[key]; // If the value has a toJSON method, call it to obtain a replacement value. if (value && typeof value === 'object' && typeof value.toJSON === 'function') { value = value.toJSON(key); } // If we were called with a replacer function, then call the replacer to // obtain a replacement value. if (typeof rep === 'function') { value = rep.call(holder, key, value); } // What happens next depends on the value's type. switch (typeof value) { case 'string': return quote(value); case 'number': // JSON numbers must be finite. Encode non-finite numbers as null. return isFinite(value) ? String(value) : 'null'; case 'boolean': case 'null': // If the value is a boolean or null, convert it to a string. Note: // typeof null does not produce 'null'. The case is included here in // the remote chance that this gets fixed someday. return String(value); // If the type is 'object', we might be dealing with an object or an array or // null. case 'object': // Due to a specification blunder in ECMAScript, typeof null is 'object', // so watch out for that case. if (!value) { return 'null'; } // Make an array to hold the partial results of stringifying this object value. gap += indent; partial = []; // If the object has a dontEnum length property, we'll treat it as an array. if (typeof value.length === 'number' && !(value.propertyIsEnumerable('length'))) { // The object is an array. Stringify every element. Use null as a placeholder // for non-JSON values. length = value.length; for (i = 0; i < length; i += 1) { partial[i] = str(i, value) || 'null'; } // Join all of the elements together, separated with commas, and wrap them in // brackets. v = partial.length === 0 ? '[]' : gap ? '[\n' + gap + partial.join(',\n' + gap) + '\n' + mind + ']' : '[' + partial.join(',') + ']'; gap = mind; return v; } // If the replacer is an array, use it to select the members to be stringified. if (rep && typeof rep === 'object') { length = rep.length; for (i = 0; i < length; i += 1) { k = rep[i]; if (typeof k === 'string') { v = str(k, value, rep); if (v) { partial.push(quote(k) + (gap ? ': ' : ':') + v); } } } } else { // Otherwise, iterate through all of the keys in the object. for (k in value) { if (Object.hasOwnProperty.call(value, k)) { v = str(k, value, rep); if (v) { partial.push(quote(k) + (gap ? ': ' : ':') + v); } } } } // Join all of the member texts together, separated with commas, // and wrap them in braces. v = partial.length === 0 ? '{}' : gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + mind + '}' : '{' + partial.join(',') + '}'; gap = mind; return v; } } // Return the JSON object containing the stringify and parse methods. return { stringify: function (value, replacer, space) { // The stringify method takes a value and an optional replacer, and an optional // space parameter, and returns a JSON text. The replacer can be a function // that can replace values, or an array of strings that will select the keys. // A default replacer method can be provided. Use of the space parameter can // produce text that is more easily readable. var i; gap = ''; indent = ''; // If the space parameter is a number, make an indent string containing that // many spaces. if (typeof space === 'number') { for (i = 0; i < space; i += 1) { indent += ' '; } // If the space parameter is a string, it will be used as the indent string. } else if (typeof space === 'string') { indent = space; } // If there is a replacer, it must be a function or an array. // Otherwise, throw an error. rep = replacer; if (replacer && typeof replacer !== 'function' && (typeof replacer !== 'object' || typeof replacer.length !== 'number')) { throw new Error('JSON.stringify'); } // Make a fake root object containing our value under the key of ''. // Return the result of stringifying the value. return str('', {'': value}); }, parse: function (text, reviver) { // The parse method takes a text and an optional reviver function, and returns // a JavaScript value if the text is a valid JSON text. var j; function walk(holder, key) { // The walk method is used to recursively walk the resulting structure so // that modifications can be made. var k, v, value = holder[key]; if (value && typeof value === 'object') { for (k in value) { if (Object.hasOwnProperty.call(value, k)) { v = walk(value, k); if (v !== undefined) { value[k] = v; } else { delete value[k]; } } } } return reviver.call(holder, key, value); } // Parsing happens in four stages. In the first stage, we replace certain // Unicode characters with escape sequences. JavaScript handles many characters // incorrectly, either silently deleting them, or treating them as line endings. cx.lastIndex = 0; if (cx.test(text)) { text = text.replace(cx, function (a) { return '\\u' + ('0000' + (+(a.charCodeAt(0))).toString(16)).slice(-4); }); } // In the second stage, we run the text against regular expressions that look // for non-JSON patterns. We are especially concerned with '()' and 'new' // because they can cause invocation, and '=' because it can cause mutation. // But just to be safe, we want to reject all unexpected forms. // We split the second stage into 4 regexp operations in order to work around // crippling inefficiencies in IE's and Safari's regexp engines. First we // replace the JSON backslash pairs with '@' (a non-JSON character). Second, we // replace all simple value tokens with ']' characters. Third, we delete all // open brackets that follow a colon or comma or that begin the text. Finally, // we look to see that the remaining characters are only whitespace or ']' or // ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval. if (/^[\],:{}\s]*$/. test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@'). replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']'). replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) { // In the third stage we use the eval function to compile the text into a // JavaScript structure. The '{' operator is subject to a syntactic ambiguity // in JavaScript: it can begin a block or an object literal. We wrap the text // in parens to eliminate the ambiguity. j = eval('(' + text + ')'); // In the optional fourth stage, we recursively walk the new structure, passing // each name/value pair to a reviver function for possible transformation. return typeof reviver === 'function' ? walk({'': j}, '') : j; } // If the text is not JSON parseable, then a SyntaxError is thrown. throw new SyntaxError('JSON.parse'); } }; }(); } // Augment the basic prototypes if they have not already been augmented. // These forms are obsolete. It is recommended that JSON.stringify and // JSON.parse be used instead. // Aufgrund von Problemen mit Google AdSense bei unserem Lieblingspartner Hakan Falk werden hier die Objekte nicht mehr erzeugt (CT 24.02.2009) /* if (!Object.prototype.toJSONString) { Object.prototype.toJSONString = function (filter) { return JSON.stringify(this, filter); }; Object.prototype.parseJSON = function (filter) { return JSON.parse(this, filter); }; } */if (typeof CDropDownBox_Boxes=="undefined") { var CDropDownBox_Boxes=new Array(); var lastBluredBoxId=""; var lastOpenedBoxId=""; var boxClicked=false; var boxChanged=false; // Dokument-Event onClick auf CDropDownBox_CloseBoxes() setzen document.onclick=CDropDownBox_CloseBoxes; } function CDropDownBox_CloseBoxes(vCloseId) { for (var boxName in CDropDownBox_Boxes) { if (boxName==lastBluredBoxId || boxName==lastOpenedBoxId) { lastBluredBoxId=lastOpenedBoxId=""; continue; } // Wenn disabled, dann überspringen if (document.getElementById(boxName+"Btn") && document.getElementById(boxName+"Btn").src.indexOf("disabled")!=-1) {continue; } if (document.getElementById(boxName+"Btn") && /* atraveo Layout */ document.getElementById(boxName+"Btn").src.indexOf("open.png")==-1 && /* Partnerlayout */ document.getElementById(boxName+"Btn").src.indexOf("linkdown")==-1) { /* Diese Abfrage ist für IE 6, da dieser die Button der DropDown-Listen willkürlich entfernt hat. Ein setzen eines nicht vorhandenen Bildes funktioniert. */ if (navigator.userAgent.indexOf("MSIE 6")!=-1) {document.getElementById("idCDDImageDiv"+boxName).innerHTML=document.getElementById("idCDDImageDiv"+boxName).innerHTML.replace(/close/, "open"); //""; } else { //document.getElementById(boxName+"Btn").src=(/* Partnerlayout ? */ typeof CDropDownBox_Boxes[boxName].partnerlayout=="undefined"?"../grafix/dropdownbox_open.png":"../grafix/arw_pl_open.gif"); document.getElementById(boxName+"Btn").src=(/* Partnerlayout ? */ typeof CDropDownBox_Boxes[boxName].partnerlayout=="undefined"?document.getElementById(boxName+"Btn").src.replace(/close/, "open"):"../grafix/arw_pl_open.gif"); } } if (document.getElementById(boxName+"Box") && document.getElementById(boxName+"Box").style.display!="none") {document.getElementById(boxName+"Box").style.display="none"; } } // End if (typeof vCloseId!="undefined") { lastBluredBoxId=vCloseId; window.setTimeout("lastBluredBoxId='';", 250); } } function CDropDownBox_SwitchState(vOptions) { var id=vOptions.id; var bgColorText=(typeof vOptions.bgColor && vOptions.bgColor!=''?"_"+vOptions.bgColor:""); if (id==lastBluredBoxId) { lastBluredBoxId=lastOpenedBoxId=""; return; } // Wenn disabled, dann nichts unternehmen if (document.getElementById(id+"Btn").src.indexOf("disabled")!=-1) {return; } switch (document.getElementById(id+"Box").style.display) { case "block": { if (navigator.userAgent.indexOf("MSIE 6")!=-1) // Siehen oben {document.getElementById("idCDDImageDiv"+id).innerHTML=document.getElementById("idCDDImageDiv"+id).innerHTML.replace(/close/, "open"); } else {document.getElementById(id+"Btn").src=(/* Partnerlayout ?*/ typeof CDropDownBox_Boxes[id].partnerlayout=="undefined"?"../grafix/dropdownbox_open"+bgColorText+".png":"../grafix/arw_pl_open.gif"); } document.getElementById(id+"Box").style.display="none"; break; } case "none": { CDropDownBox_CloseBoxes(); if (navigator.userAgent.indexOf("MSIE 6")!=-1) // Siehen oben {document.getElementById("idCDDImageDiv"+id).innerHTML=document.getElementById("idCDDImageDiv"+id).innerHTML.replace(/open/, "close"); } else {document.getElementById(id+"Btn").src=(/* Partnerlayout ? */ typeof CDropDownBox_Boxes[id].partnerlayout=="undefined"?"../grafix/dropdownbox_close"+bgColorText+".png":"../grafix/arw_pl_close.gif"); } document.getElementById(id+"Box").style.display="block"; // List-Element fokussieren if (document.getElementById(id+"Select")) document.getElementById(id+"Select").focus(); lastOpenedBoxId=id; window.setTimeout("lastOpenedBoxId='';", 250); break; } } } function CDropDownBox_SetText(vId, vText) { if (document.getElementById(vId+"Txt")) {document.getElementById(vId+"Txt").innerHTML=vText; } } function CDropDownBox_SetDefaultValue(vId, vSetValue) { // Vorhanden ? if (!document.getElementById(vId+"Select")) {return; } if (typeof vSetValue!="undefined") // Wenn neuer Eintrag direkt selektiert werden soll {document.getElementById(vId+"Select").value=vSetValue; } if (document.getElementById(vId+"Select").options.selectedIndex<0) // Nicht selektiert {document.getElementById(vId+"Select").options.selectedIndex=0; } if (document.getElementById(vId+"Select").options.selectedIndex>=0) // Selektiert {document.getElementById(vId+"Txt").innerHTML=document.getElementById(vId+"Select").options[document.getElementById(vId+"Select").selectedIndex].text; } // Enable, Disable setzen if (document.getElementById(vId+"Select").options.length==0 || (document.getElementById(vId+"Select").options.length==1 && document.getElementById(vId+"Select").options[0].value=="") ) {CDropDownBox_Disable(vId); } else {CDropDownBox_Enable(vId); } } function CDropDownBox_Enable(vId) { // Vorhanden if (!document.getElementById(vId+"Btn")) {return; } document.getElementById(vId+"Btn").src=document.getElementById(vId+"Btn").src.replace(/(clear|open|close|disabled)/, "open"); document.getElementById(vId+"Txt").className="enabled"; } function CDropDownBox_Disable(vId) { // Vorhanden if (!document.getElementById(vId+"Btn")) {return; } document.getElementById(vId+"Btn").src=document.getElementById(vId+"Btn").src.replace(/(clear|open|close|disabled)/, "disabled"); document.getElementById(vId+"Txt").className="disabled"; } function CDropDownBox_GetState(vId) { return (document.getElementById(vId+'Box').style.display=="block"?"opened":"closed"); } var calendarInfoLoaded=false; var calendarInfoAjax=new CAJAX("calendarInfoAjax"); var extraPanelLoad=new CAJAX("extraPanelLoad"); var extraPanelLoaded=false; var loadPictureResult=new CAJAX("loadPictureResult"); var loadMoreText=new CAJAX("loadMoreText"); var addUrlParamString="" var doHTMLLoadCAJAX=new CAJAX("doHTMLLoadCAJAX"); var doHTMLLoadCAJAXRun=false; var saveSearchDataAJAX=new CAJAX("saveSearchDataAJAX"); var searchUrl=""; var updateUrlBoxAjax=new CAJAX("updateUrlBoxAjax"); /* return {top, left} */ function getPanelPos(vPanelId) { var tmpPanelTop=245; var tmpPanelLeft=300; // View-Breite ermitteln if (window.innerWidth) {viewWidth=window.innerWidth; } else // !IE {viewWidth=document.body.offsetWidth; // IE; } if (document.getElementById(vPanelId) && document.getElementById("googlemap")) { if (typeof atraveo_layoutdata!="undefined" && atraveo_layoutdata.partnerlayout==true) {tmpPanelTop=(document.getElementById("googlemap").style.display=="block"?290:140); } else {tmpPanelTop=(document.getElementById("googlemap").style.display=="block"?450:325); } } if (vPanelId=="extrapanelDiv") tmpPanelLeft=265; return {top: tmpPanelTop, left: (document.getElementById("columnLeft")?tmpPanelLeft:(viewWidth<750?0:75)) }; } function showExtraPanel() { var panelPos=getPanelPos("extrapanelDiv"); document.getElementById("extrapanelDiv").style.top=panelPos.top; document.getElementById("extrapanelDiv").style.left=panelPos.left; document.getElementById("extrapanelDiv").style.visibility = "visible"; document.getElementById("extrapanelDiv").style.display = "block"; //if (!extraPanelLoaded) if (typeof initExtraPanel=="undefined") { extraPanelLoad.URL="../ajax/load_extrapanel.php"; extraPanelLoad.SendRequestData="searchid="+paramSearchId; extraPanelLoad.CallbackFunction="callback_extraPanelLoad"; extraPanelLoad.Call(); } else { initExtraPanel(); } } // end function function callback_extraPanelLoad() { extraPanelLoaded=true; document.getElementById("extraPanelLoadDiv").innerHTML=extraPanelLoad.Data; htmlJsExecution(extraPanelLoad.Data); } function initValues() { document.extraform.badezimmer.value = parent.suchform.badezimmer.value; document.extraform.atraveo_empfehlung.checked = (parent.suchform.atraveo_empfehlung.value == '1'); document.extraform.meerblick.checked = (parent.suchform.meerblick.value == '1'); document.extraform.abgeschlossen.checked = (parent.suchform.abgeschlossen.value == '1'); document.extraform.sattv.checked = (parent.suchform.sattv.value == '1'); document.extraform.kamin.checked = (parent.suchform.kamin.value == '1'); document.extraform.mikrowelle.checked = (parent.suchform.mikrowelle.value == '1'); document.extraform.whirlpool.checked = (parent.suchform.whirlpool.value == '1'); document.extraform.privaterpool.checked = (parent.suchform.privaterpool.value == '1'); document.extraform.sauna.checked = (parent.suchform.sauna.value == '1'); document.extraform.kinderbett.checked = (parent.suchform.kinderbett.value == '1'); document.extraform.rollstuhl.checked = (parent.suchform.rollstuhl.value == '1'); document.extraform.skigebiet.checked = (parent.suchform.skigebiet.value == '1'); } // end function function showUmkreisPanel() { var panelPos=getPanelPos("umkreispanelDiv"); document.getElementById("umkreispanelDiv").style.top=panelPos.top-50; document.getElementById("umkreispanelDiv").style.left=panelPos.left; document.getElementById("umkreispanelDiv").style.visibility = "visible"; document.getElementById("umkreispanelDiv").style.display = "block"; } // end function function clearComboBox(comboBox, vClearAll) { if (!comboBox) return; for (i = comboBox.length; i > 0; i--) comboBox.options[i] = null; // Wenn der erste Eintrag ein "beliebt"-Titel ist, dann entfernen if (typeof vClearAll!="undefined" && vClearAll==true && typeof comboBox.options!="undefined") {comboBox.options[0]=null; } } // end function var getLatLngRect=new CAJAX("getLatLngRect"); getLatLngRect.URL="../global/getlatlngrect.php"; function changeLand(jsonObj) { mapChangeEndRunning=true; // Boxen füllen clearComboBox(document.suchform.region, true); CDropDownBox_SetDefaultValue("region", ""); fillComboBox(document.suchform.region, "../ajax/getinfo.php?"+(document.suchform.skigebiet.value=="1"?"onlySkigebiet=true&":"")+"beliebt=true&suchart=" + document.suchform.suchart.value + "&infotype=region&land="+escape(document.suchform.land.value)); if (document.suchform.unterregion) { clearComboBox(document.suchform.unterregion, true); CDropDownBox_SetDefaultValue("unterregion", ""); } if (document.suchform.skigebiet_name) { clearComboBox(document.suchform.skigebiet_name, true); CDropDownBox_SetDefaultValue("skigebiet_name", ""); } clearComboBox(document.suchform.ort, true); CDropDownBox_SetDefaultValue("ort", ""); // Lat-/Lng-Maße einlesen if (!hideSearchMap) // Wenn Karte angezeigt wird { if (jsonObj.value != "") { getLatLngRect.SendRequestData="land="+jsonObj.value; var tmpRect=getLatLngRect.Call(); geoRect=eval("("+tmpRect+")"); map.clearOverlays(); //map.setMapType(G_SATELLITE_MAP); map.setMapType(G_HYBRID_MAP); setLatLngRect(map, geoRect); showMapNames.showRegionNames(jsonObj.value); } // end if //clearLoadedOrteCalls(); //fncLoadedOrte(document.suchform.land.value, "", ""); changeOrt({value: ''}); } // Linke Box doHTMLLoad (Suchemaschinen-Inhalte) nachladen fncLoadDoHTMLLoadBox() } // end function function changeRegion(jsonObj) { mapChangeEndRunning=true; // Boxen füllen if (document.suchform.unterregion) { clearComboBox(document.suchform.unterregion, true); CDropDownBox_SetDefaultValue("unterregion", ""); fillComboBox(document.suchform.unterregion, "../ajax/getinfo.php?"+(document.suchform.skigebiet.value=="1"?"onlySkigebiet=true&":"")+"beliebt=true&suchart=" + document.suchform.suchart.value + "&infotype=unterregion&land="+escape(document.suchform.land.value)+"®ion="+escape(document.suchform.region.value)); } // end if if (document.suchform.skigebiet_name) { clearComboBox(document.suchform.skigebiet_name, true); CDropDownBox_SetDefaultValue("skigebiet_name", ""); fillComboBox(document.suchform.skigebiet_name, "../ajax/getskigebiete.php?land="+escape(document.suchform.land.value)+"®ion="+escape(document.suchform.region.value)); } // end if clearComboBox(document.suchform.ort, true); CDropDownBox_SetDefaultValue("ort", ""); fillComboBox(document.suchform.ort, "../ajax/getinfo.php?"+(document.suchform.skigebiet.value=="1"?"onlySkigebiet=true&":"")+"beliebt=true&suchart=" + document.suchform.suchart.value + "&infotype=ort&land="+escape(document.suchform.land.value)+"®ion="+escape(document.suchform.region.value)); if (!hideSearchMap) // Wenn Karte angezeigt wird { // Lat-/Lng-Maße einlesen getLatLngRect.SendRequestData="land="+escape(document.suchform.land.value)+"®ion="+escape(jsonObj.value); var tmpRect=getLatLngRect.Call(); // alert(tmpRect); geoRect=eval("("+tmpRect+")"); if (map) { map.clearOverlays(); map.setMapType(G_HYBRID_MAP); setLatLngRect(map, geoRect); showMapNames.showSubregionNames(document.suchform.land.value, jsonObj.value); } //clearLoadedOrteCalls(); //fncLoadedOrte(document.suchform.land.value, jsonObj.value, ""); changeOrt({value: ''}); } // Linke Box doHTMLLoad (Suchemaschinen-Inhalte) nachladen fncLoadDoHTMLLoadBox() } // end function function changeUnterregion(jsonObj) { // Ort leeren clearComboBox(document.suchform.ort, true); CDropDownBox_SetDefaultValue("ort", ""); CDropDownBox_SetDefaultValue("ort"); // Orte neu einlesen fillComboBox(document.suchform.ort, "../ajax/getinfo.php?"+(document.suchform.skigebiet.value=="1"?"onlySkigebiet=true&":"")+"beliebt=true&suchart=" + document.suchform.suchart.value + "&infotype=ort&land="+escape(document.suchform.land.value)+"®ion="+escape(document.suchform.region.value)+"&unterregion="+escape(document.suchform.unterregion.value)); if (!hideSearchMap) // Wenn Karte angezeigt wird { // Lat-/Lng-Maße einlesen getLatLngRect.SendRequestData="land="+escape(document.suchform.land.value)+"®ion="+escape(document.suchform.region.value)+"&unterregion="+escape(document.suchform.unterregion.value); var tmpRect=getLatLngRect.Call(); geoRect=eval("("+tmpRect+")"); map.clearOverlays(); map.setMapType(G_HYBRID_MAP); setLatLngRect(map, geoRect); //clearLoadedOrteCalls(); //fncLoadedOrte(document.suchform.land.value, document.suchform.region.value, document.suchform.unterregion.value); } // Linke Box doHTMLLoad (Suchemaschinen-Inhalte) nachladen fncLoadDoHTMLLoadBox() } // end function var skigebietAjax=new CAJAX("skigebietAjax"); function changeSkigebiet(jsonObj) { // Ort leeren clearComboBox(document.suchform.ort, true); CDropDownBox_SetDefaultValue("ort", ""); CDropDownBox_SetDefaultValue("ort"); // Orte neu einlesen fillComboBox(document.suchform.ort, "../ajax/getinfo.php?"+(document.suchform.skigebiet.value=="1"?"onlySkigebiet=true&":"")+"beliebt=true&suchart=" + document.suchform.suchart.value + "&infotype=skigebiet&land="+escape(document.suchform.land.value)+"®ion="+escape(document.suchform.region.value)+"&skigebiet="+escape(document.suchform.skigebiet_name.value)); // Skigebiet ermitteln und Marker ggfs. hinzufügen if (!hideSearchMap) // Wenn Karte angezeigt wird { if (skigebietMarker!=null) { map.removeOverlay(skigebietMarker); skigebietMarker=null; } skigebietAjax.URL="../global/getskigebiet_daten.php"; skigebietAjax.SendRequestData="skigebiet="+escape(document.suchform.skigebiet_name.value); var skigebietData=skigebietAjax.Call(); skigebietData=eval("("+skigebietData+")"); // Nur Skigebiet-Marker erzeugen, wenn Lat/Lng vorhanden if (skigebietData.latitude!=0 && skigebietData.longitude!=0) { // Ggfs. Skigebiet-Icon erzeugen if (iconSkigebiet==null) { // Icon für Skigebiet erstellen iconSkigebiet=new GIcon(); iconSkigebiet.image="../grafix/icon_skiberg.png"; iconSkigebiet.iconSize=new GSize(24, 24); iconSkigebiet.iconAnchor=new GPoint(17, 17); } skigebietMarker=new GMarker(new GLatLng(skigebietData.latitude, skigebietData.longitude), {icon: iconSkigebiet, draggable: false, clickable: true, title: skigebietData.sprache_name, zIndexProcess: zIndexOrder}); skigebietMarker.zIndex=1; GEvent.addListener(skigebietMarker, "click", function () {document.location.href="../skigebiete/"+skigebietData.link; } ); map.addOverlay(skigebietMarker); //mapChangeEndRunning=true; //map.panTo(skigebietMarker.getPoint()); } clearLoadedOrteCalls(); fncLoadedOrte(document.suchform.land.value, document.suchform.region.value, ""); } } // end function function changeOrt(jsonObj) { // Ort ausgewählt, dann Umkreis-Box verfügbar machen if (document.suchform.ort.value!="") {enableUmkreis(); } else { disableUmkreis(); if (typeof setUmkreisObject!="undefined") setUmkreisObject(); } // Karte nicht sichtbar ?, abbrechen if (hideSearchMap) {return; } // Gelber vorhanden, zurücksichern if (yellowMarker!=null) { // Gelben entfernen map.removeOverlay(yellowMarker.marker); // Gelben kopieren, erstellen markers[yellowMarker.key]=new Array(); markers[yellowMarker.key]["Marker"]=yellowMarker.oldMarker; map.addOverlay(markers[yellowMarker.key]["Marker"]); // Gelben leeren yellowMarker=null; } if (jsonObj.value=="") {return; } //if (prompt("Abbrechen ? ("+jsonObj.value+")", "")) {return;} // Marker des Ortes ermitteln var ortMarker=markers[jsonObj.value]; // Ort nicht als Marker vorhanden, einladen if (typeof ortMarker=="undefined") { mapLoadOrt.URL="../global/search_europakarte_loadorte.php"; mapLoadOrt.SendRequestData="land="+escape(document.suchform.land.value)+"®ion="+escape(document.suchform.region.value)+"&unterregion="+escape(document.suchform.unterregion.value)+"&ort="+escape(jsonObj.value)+"&"+getMapDimensionParameterString(map); mapLoadOrt.CallbackFunction=""; var mapLoadOrtResult=mapLoadOrt.Call(); //prompt("", mapLoadOrtResult); eval(mapLoadOrtResult); // Wenn Ort geladen werden konnte, dann Funktions-Reload if (typeof markers[jsonObj.value]!="undefined") {changeOrt({value: jsonObj.value}); } return; } // Ort vorhanden ? if (typeof ortMarker!="undefined") { ortMarker=ortMarker["Marker"]; var regpexpAnzahl=/\(([0-9\.\,]*?)[^0-9\.\,]/; regpexpAnzahl.exec(ortMarker.getTitle()); var anzahlFerienhaeuser=RegExp.$1; anzahlFerienhaeuser=anzahlFerienhaeuser.replace(/,\./, ""); var yellowIcon=new GIcon(); yellowIcon.image="../global/search_europakarte_genBallPic.php?text="+anzahlFerienhaeuser+(navigator.userAgent.indexOf("MSIE 6")!=-1?"&indexedPalette=true":"")+"&orteImage=true&gelb=true"; yellowIcon.iconSize=new GSize(22, 22); yellowIcon.iconAnchor=new GPoint(22/2, 22/2); // Marker auf Gelb ändern if (yellowMarker==null) { // Aktuellen sichern yellowMarker={marker: null, oldMarker: ortMarker, key: jsonObj.value}; // Roten entfernen map.removeOverlay(ortMarker); // Gelben einfügen yellowMarker.marker=new GMarker(ortMarker.getPoint(), {title: ortMarker.getTitle(), icon: yellowIcon, draggable: ortMarker.draggable(), zIndexProcess: zIndexOrder}); yellowMarker.marker.zIndex=1; GEvent.addListener(yellowMarker.marker, "click", function () { startSearch(false); } ); map.addOverlay(yellowMarker.marker); } // überprüfen ob selektierter Ort in der Karte liegt, dann Karte zentrieren if (!map.getBounds().contains(ortMarker.getPoint())) {map.panTo(ortMarker.getPoint()); } // Ggfs. Umkreis anzeigen if (typeof setUmkreisObject!="undefined") setUmkreisObject(jsonObj); } // Linke Box doHTMLLoad (Suchemaschinen-Inhalte) nachladen fncLoadDoHTMLLoadBox() } // end function function enableUmkreis() { if (!document.suchform.wohnortSuggestion || document.suchform.wohnortSuggestion.value == "") { if (document.suchform.umkreis.options.length <= 1) { kmArray = new Array(5, 10, 25, 50, 75, 100, 150, 200, 250); for (uZ = 0; uZ < kmArray.length; uZ++) { newEntry = new Option(kmArray[uZ] + " km", kmArray[uZ], false, false); document.suchform.umkreis.options[document.suchform.umkreis.length] = newEntry; document.suchform.umkreis.options.value = ""; } // End-for } CDropDownBox_Enable("umkreis"); } } function disableUmkreis() { document.suchform.umkreis.value=""; CDropDownBox_SetDefaultValue("umkreis"); CDropDownBox_Disable("umkreis"); } function fncKeyPress(e) { if (e.keyCode==27) // Escape abfragen { if (typeof closeExtraPanel!="undefined") {closeExtraPanel(); } } } function fncLoadBoxes(vPosObject, vOrtText, vForceReload) { var tmpLoadOrte=false; // Gelben Ort entfernen if (typeof yellowMarker!="undefined" && yellowMarker!=null && 0) { map.removeOverlay(yellowMarker.marker); yellowMarker=null; } // Wenn vForceReload, dann müssen auch die Länder nachgeladen werden. if (typeof vForceReload!="undefined" && vForceReload==true) { clearComboBox(document.suchform.land, true); fillComboBox(document.suchform.land, "../ajax/getinfo.php?suchart="+document.suchform.suchart.value+"&"+(document.suchform.skigebiet.value=="1"?"onlySkigebiet=true&":"")+"beliebt=true&infotype=land", true); tmpLoadOrte=true; } // Land if (document.suchform.land.value!=vPosObject.land || (typeof vForceReload!="undefined" && vForceReload==true)) { CDropDownBox_SetDefaultValue("land", vPosObject.land); // Region clearComboBox(document.suchform.region, true); fillComboBox(document.suchform.region, "../ajax/getinfo.php?"+(document.suchform.skigebiet.value=="1"?"onlySkigebiet=true&":"")+"beliebt=true&suchart=" + document.suchform.suchart.value + "&infotype=region&land="+escape(document.suchform.land.value), true); tmpLoadOrte=true; } // Region if (document.suchform.region.value!=vPosObject.region || (typeof vForceReload!="undefined" && vForceReload==true)) { CDropDownBox_SetDefaultValue("region", vPosObject.region); // Unterregion clearComboBox(document.suchform.unterregion, true); fillComboBox(document.suchform.unterregion, "../ajax/getinfo.php?"+(document.suchform.skigebiet.value=="1"?"onlySkigebiet=true&":"")+"beliebt=true&suchart=" + document.suchform.suchart.value + "&infotype=unterregion&land="+escape(document.suchform.land.value)+"®ion="+escape(document.suchform.region.value), true); tmpLoadOrte=true; } // Unterregion geändert, Orte neu laden ? // Wenn Unterrregion vorhanden if (document.suchform.unterregion) { if ( (typeof vPosObject.unterregion!="undefined" && document.suchform.unterregion.value!=vPosObject.unterregion) || (typeof vPosObject.unterregion=="undefined" && document.suchform.unterregion.value!="") || (typeof vForceReload!="undefined" && vForceReload==true) ) { CDropDownBox_SetDefaultValue("unterregion", (typeof vPosObject.unterregion!="undefined"?vPosObject.unterregion:"") ); tmpLoadOrte=true; } } if (tmpLoadOrte || (typeof vForceReload!="undefined" && vForceReload==true)) { // Ort clearComboBox(document.suchform.ort, true); fillComboBox(document.suchform.ort, "../ajax/getinfo.php?"+(document.suchform.skigebiet.value=="1"?"onlySkigebiet=true&":"")+"beliebt=true&suchart=" + document.suchform.suchart.value + "&infotype=ort&land="+escape(document.suchform.land.value)+"®ion="+escape(document.suchform.region.value)+"&unterregion="+escape(document.suchform.unterregion?document.suchform.unterregion.value:""), true); } //alert(vOrtText); CDropDownBox_SetDefaultValue("ort", vOrtText); changeOrt({value: vOrtText}); } function setCalendarInfo() { land = document.suchform.land.value; region = document.suchform.region.value; // Wenn calendarInfoArray und calendarAnreisetageArray noch nicht existieren, dann per Ajax-Aufruf erzeugen if (calendarInfoLoaded==false) { calendarInfoLoaded=true; calendarInfoAjax.URL="../ajax/getcalendarinfo.php"; calendarInfoAjax.CallbackFunction=""; var tmpCalendarInfoData=calendarInfoAjax.Call(); eval(tmpCalendarInfoData); } if (typeof calendarInfoArray[land] != "undefined" && typeof calendarInfoArray[land][region] != "undefined") { // document.getElementById("idreisebeginnMockText").innerHTML = calendarInfoArray[land][region]; fncChangeCalendar('reisebeginn', { mockText: calendarInfoArray[land][region], anreisetage: calendarAnreisetageArray[land][region] }); } else if (typeof calendarInfoArray[land] != "undefined" && typeof calendarInfoArray[land] != "object") { // document.getElementById("idreisebeginnMockText").innerHTML = calendarInfoArray[land]; fncChangeCalendar('reisebeginn', { mockText: calendarInfoArray[land], anreisetage: calendarAnreisetageArray[land] }); } else { // document.getElementById("idreisebeginnMockText").innerHTML = calendarInfoArray[""]; fncChangeCalendar('reisebeginn', { mockText: calendarInfoArray[""], anreisetage: calendarAnreisetageArray[""] }); } // end if } // end function function enterInput(input) { input.style.color = "#444444"; if (input.value == volltext_infotext || input.value == umkreis_infotext) input.value = ''; } // end function function leaveInput(input) { // alert(input.name + ": " + input.value); if (input.value == '') { input.style.color = volltextcolor; input.value = volltext_infotext; } // end if } // end function function leaveInputUmkreis(input) { // alert(input.name + ": " + input.value); if (input.value == '') { input.style.color = umkreiscolor; input.value = umkreis_infotext; } else { getWohnortSuggestions(); } // end if } // end function function openSoundlikeWindow() { // Kartenausschnitts-Suche deaktivieren if (document.getElementById("nurinkarte")) {fncSwitchCheckboxState("nurinkarte", "empty"); } if (typeof nurinkarteKlick!="undefined") {nurinkarteKlick({formFieldName: "nurinkarte", value: "", status: "unchecked"}) } if (window.XMLHttpRequest) { http = new XMLHttpRequest(); } else if (window.ActiveXObject) { http = new ActiveXObject("Microsoft.XMLHTTP"); } url = "../ajax/getsoundlike.php?volltext=" + escape(document.suchform.volltext.value != '' && document.suchform.volltext.value != langtexte.volltextinfo ? document.suchform.volltext.value : volltext)+(typeof atraveo_layoutdata!="undefined"?"&pid="+atraveo_layoutdata.pid+"&lg="+atraveo_layoutdata.lang+"&layoutname="+atraveo_layoutdata.layoutname:"")+"&doHTMLLoadCat="+doHTMLLoadCat+getSuchformParam(); //alert("SoundlikeWindow öffnen: " + url); //prompt("SoundlikeWindow öffnen: ", url); if (http != null) { http.open("GET", url, true); http.onreadystatechange = function() { document.getElementById("searchPanel").style.visibility="hidden"; document.getElementById("searchPanel").style.display="none"; if (http.readyState == 1) { document.getElementById("soundlikeContent").innerHTML = "
"; document.getElementById("expOptionsVolltext").style.visibility = 'visible'; document.getElementById("expOptionsVolltext").style.display = 'block'; document.getElementById("expOptionsLRUO").style.visibility = 'hidden'; document.getElementById("expOptionsLRUO").style.display = 'none'; // alert("readyState 1"); } // end if if (http.readyState == 4) { // Vielleicht sind da schon Umkreis-Ergebnisse gekommen? if (http.responseText.search(//) != -1) { document.getElementById("soundlikeContent").innerHTML = "" + langtexte.soundlikeumkreissuche + "
" + http.responseText; // Wenn kein Element gefunden wurde, bei Google nach dem Ort suchen } else if (http.responseText.search(//) == -1 && http.responseText.search(//) == -1) { // var geocoder = new GClientGeocoder(); // geocoder.getLocations(document.suchform.volltext.value, function (data) { parseSoundlikeUmkreisResults(document.suchform.volltext.value, data); }); // alert(http.responseText); eval(http.responseText); // Wenn es nur ein gefundenes Element gibt, dann die Suche direkt ausführen } else if (http.responseText.search(//) == -1 && http.responseText.search(//) != -1) { fncPlainUrlCall(); http.responseText.match(/href="javascript:(.*)"/); // alert(RegExp.$1); eval(RegExp.$1); // Ansonsten die Liste zur Auswahl anbieten } else { document.getElementById("soundlikeContent").innerHTML = "" + langtexte.bittewaehlensie + ":
" + http.responseText; // Enthaltenen JavaScript-Code ausführen htmlJsExecution(http.responseText); document.getElementById("expOptionsVolltext").style.visibility = 'visible'; document.getElementById("expOptionsVolltext").style.display = 'block'; document.getElementById("expOptionsLRUO").style.visibility = 'hidden'; document.getElementById("expOptionsLRUO").style.display = 'none'; } // end if } // end if } // end function; http.send(null); } } // end function function startSoundlikeUmkreisSearch(jsonObj) { var geocoder = new GClientGeocoder(); geocoder.getLocations(jsonObj.volltext, function (data) { parseSoundlikeUmkreisResults(jsonObj, data); }); } // end function function parseSoundlikeUmkreisResults(jsonObj, data) { var resultCount = 0; var resultOptions = ""; var ajaxSaveData = "volltext=" + escape(jsonObj.volltext); // document.getElementById("soundlikeContent").innerHTML = ""; if (data.Status.code == 200) { for (i = 0; i < data.Placemark.length; i++) { if (data.Placemark[i].AddressDetails.Accuracy >= 4 && data.Placemark[i].AddressDetails.Accuracy <= 8 && typeof data.Placemark[i].AddressDetails.Country!="undefined") { resultCount++; ort = data.Placemark[i].address.substr(0, data.Placemark[i].address.indexOf(",")); lat = data.Placemark[i].Point.coordinates[1]; lng = data.Placemark[i].Point.coordinates[0]; // alert("Ort: " + ort); // alert(ort + ": " + lat + " / " + lng); // {"Accuracy":4,"Locality":{"LocalityName":"Sauzon"}} //alert(JSON.stringify(data.Placemark[i].AddressDetails)); landiso = data.Placemark[i].AddressDetails.Country.CountryNameCode; ortname = ort + (data.Placemark[i].AddressDetails.Country.AdministrativeArea ? ', ' + data.Placemark[i].AddressDetails.Country.AdministrativeArea.AdministrativeAreaName : ''); resultOptions+="" + ortname + "
"; // " + jsonObj.merkmale.toJSONString() + " {} ajaxSaveData += "&dataarray[" + resultCount + "][lat]=" + lat + "&dataarray[" + resultCount + "][lng]=" + lng + "&dataarray[" + resultCount + "][landiso]=" + landiso + "&dataarray[" + resultCount + "][address]=" + escape(ortname); } // end if } // end for // alert("resultCount: " + resultCount); if (resultCount == 0) { document.getElementById("soundlikeContent").innerHTML = "" + langtexte.volltextnichtvorhanden + ""; } else { document.getElementById("soundlikeContent").innerHTML = "" + langtexte.soundlikeumkreissuche + "
" + resultOptions; } // end if } else { document.getElementById("soundlikeContent").innerHTML = "" + langtexte.volltextnichtvorhanden + ""; } // end if ajaxCallURL("../ajax/savegoogleresults.php?" + ajaxSaveData); document.getElementById("expOptionsVolltext").style.visibility = 'visible'; document.getElementById("expOptionsVolltext").style.display = 'block'; document.getElementById("expOptionsLRUO").style.visibility = 'hidden'; document.getElementById("expOptionsLRUO").style.display = 'none'; } // end function function closeSoundlikeWindow() { document.getElementById("expOptionsVolltext").style.visibility = 'hidden'; document.getElementById("expOptionsVolltext").style.display = 'none'; document.getElementById("expOptionsLRUO").style.display = "block"; document.getElementById("expOptionsLRUO").style.visibility = "visible"; } // end function function startWohnortUmkreisSearch(jsonObj) { // lat, lng, landiso, ort, minumkreis, maxumkreis) { document.suchform.wohnortLatitude.value = jsonObj.lat; document.suchform.wohnortLongitude.value = jsonObj.lng; document.suchform.wohnortSuggestion.value = jsonObj.ort; document.suchform.minumkreis.value = jsonObj.minumkreis; document.suchform.maxumkreis.value = jsonObj.maxumkreis; // Die Werte in der Box setzen CDropDownBox_SetDefaultValue("minumkreis", jsonObj.minumkreis); CDropDownBox_SetDefaultValue("maxumkreis", jsonObj.maxumkreis); CDropDownBox_SetDefaultValue("wohnland", jsonObj.landiso); document.umkreisform.wohnort.value = jsonObj.ort; leaveInputUmkreis(document.umkreisform.wohnort); // Die Parameter (Merkmale, Termine, etc.) setzen setSoundlikeParams(jsonObj); // Bei Direktklick soll in allen Ländern gesucht werden (CT 27.05.2009) if (document.suchform.land.type == "hidden") document.suchform.land.value = ""; closeSoundlikeWindow(); disableUmkreis(); createUmkreisPanelInfo(); if (typeof setUmkreisObject!="undefined") setUmkreisObject(); if (document.suchform.land.type != "hidden") { CDropDownBox_SetDefaultValue("land", ""); changeLand({value: ''}); } // end if // Volltext-Feld leer machen document.suchform.volltext.value = volltext; document.suchform.volltext.style.color = volltextcolor; startSearch(); } // end function function setSoundlikeParams(jsonObj) { //prompt("", JSON.stringify(jsonObj)); // Die Merkmale setzen if (typeof jsonObj.merkmale != "undefined") { if (jsonObj.merkmale.suchart) document.suchform.suchart.value = jsonObj.merkmale.suchart; if (jsonObj.merkmale.suchart == "lm") fncSwitchCheckboxState('suchart', 'checked'); if (jsonObj.merkmale.haustier == 1) fncSwitchCheckboxState('haustier', 'checked'); if (jsonObj.merkmale.fernseher == 1) fncSwitchCheckboxState('fernseher', 'checked'); if (jsonObj.merkmale.waschmaschine == 1) fncSwitchCheckboxState('waschmaschine', 'checked'); if (jsonObj.merkmale.spuelmaschine == 1) fncSwitchCheckboxState('spuelmaschine', 'checked'); if (jsonObj.merkmale.schwimmbad == 1) fncSwitchCheckboxState('schwimmbad', 'checked'); if (jsonObj.merkmale.objtype) document.suchform.objtype.value = jsonObj.merkmale.objtype; if (jsonObj.merkmale.spezielleobjekte) document.suchform.spezielleobjekte.value = jsonObj.merkmale.spezielleobjekte; if (jsonObj.merkmale.atraveo_empfehlung == 1) document.suchform.atraveo_empfehlung.value = '1'; if (jsonObj.merkmale.meerblick == 1) document.suchform.meerblick.value = '1'; if (jsonObj.merkmale.abgeschlossen == 1) document.suchform.abgeschlossen.value = '1'; if (jsonObj.merkmale.sattv == 1) document.suchform.sattv.value = '1'; if (jsonObj.merkmale.internet == 1) document.suchform.internet.value = '1'; if (jsonObj.merkmale.kamin == 1) document.suchform.kamin.value = '1'; if (jsonObj.merkmale.mikrowelle == 1) document.suchform.mikrowelle.value = '1'; if (jsonObj.merkmale.whirlpool == 1) document.suchform.whirlpool.value = '1'; if (jsonObj.merkmale.privaterpool == 1) document.suchform.privaterpool.value = '1'; if (jsonObj.merkmale.sauna == 1) document.suchform.sauna.value = '1'; if (jsonObj.merkmale.boot == 1) document.suchform.boot.value = '1'; if (jsonObj.merkmale.kinderbett == 1) document.suchform.kinderbett.value = '1'; createExtraPanelInfo(); } // end if if (typeof jsonObj.datum != "undefined" && jsonObj.datum != "" && jsonObj.datum != "0000-00-00") { fncSetReisebeginnBox({divId: 'reisebeginn', formattedDate: jsonObj.formattedDate, day: jsonObj.datum.substr(8, 2), month: jsonObj.datum.substr(5, 2), year: jsonObj.datum.substr(0, 4)}); CDropDownBox_SetDefaultValue("days", jsonObj.tage); } // end if } // end function function startSoundlikeSearch(jsonObj) { if (typeof jsonObj.hausnr != "undefined" && jsonObj.hausnr != "" && jsonObj.hausnr > 0) { location.href = "../objekte/" + jsonObj.hausnr + ".php"; return; } // end if if (typeof jsonObj.link != "undefined" && jsonObj.link != "") { // Merkmale speichern fncPlainUrlCall(jsonObj.link); // Link aufrufen //location.href = jsonObj.link; return; } // end if closeSoundlikeWindow(); // Eine eventuelle Umkreissuche löschen removeUmkreis(); // Die Parameter (Merkmale, Termine, etc.) setzen setSoundlikeParams(jsonObj); // Der Volltext soll nicht mehr aus der Maske verschwinden // War nur ein erster Test, erstmal wieder eingesternt (CT 06.08.2009) document.suchform.volltext.value = volltext; document.suchform.volltext.style.color = volltextcolor; document.body.focus(); /* document.getElementById("expOptionsVolltext").style.display = "none"; document.getElementById("expOptionsVolltext").style.visibility = "hidden"; document.getElementById("expOptionsLRUO").style.display = "block"; document.getElementById("expOptionsLRUO").style.visibility = "visible"; */ fncLoadBoxes(jsonObj, jsonObj.ort); if (jsonObj.region == '') changeLand({value: jsonObj.land}) else if (jsonObj.unterregion == '' && jsonObj.ort == '') changeRegion({value: jsonObj.region}) else if (jsonObj.ort == '') changeUnterregion({value: jsonObj.unterregion}) else { mapChangeEndRunning = true; // Karte setzen if (!hideSearchMap) // Karte sichtbar ?, dann positionieren { getLatLngRect.SendRequestData = "land=" + escape(document.suchform.land.value) + "®ion=" + escape(document.suchform.region.value) + "&unterregion=" + escape(document.suchform.unterregion.value); var tmpRect = getLatLngRect.Call(); geoRect = eval("(" + tmpRect + ")"); map.clearOverlays(); map.setMapType(G_HYBRID_MAP); setLatLngRect(map, geoRect); } // Ort changeOrt({value: jsonObj.ort}); mapChangeEndRunning = false; if (!hideSearchMap) // Karte sichtbar ?, dann positionieren {fncLoadedOrte(document.suchform.land.value, document.suchform.region.value, document.suchform.unterregion.value); } } startSearch(true, false); } // end function function getWohnortSuggestions() { var wohnland = document.getElementById("wohnlandSelect").options[document.getElementById("wohnlandSelect").selectedIndex].text; var wohnort = document.getElementById("wohnort").value; document.getElementById("wohnortSuggestions").innerHTML = "
"; var mapSearch = new Array(); if (wohnort != "") mapSearch.push(wohnort); if (wohnland != "") mapSearch.push(wohnland); mapSearch = mapSearch.join(", "); // showAddress(map, mapsearch); // alert(mapSearch); var geocoder = new GClientGeocoder(); geocoder.getLocations(mapSearch, function (data) { listWohnortResults(mapSearch, data); }); } function listWohnortResults(address, data) { var resultCount = 0; var resultOptions = ""; // document.getElementById("soundlikeContent").innerHTML = ""; if (data.Status.code == 200) { for (i = 0; i < data.Placemark.length; i++) { if (data.Placemark[i].AddressDetails.Accuracy >= 4) { resultCount++; ort = data.Placemark[i].address.substr(0, data.Placemark[i].address.indexOf(",")); lat = data.Placemark[i].Point.coordinates[1]; lng = data.Placemark[i].Point.coordinates[0]; // alert("Ort: " + ort); // alert(ort + ": " + lat + " / " + lng); resultOptions += ""; } } // alert("resultCount: " + resultCount); if (resultCount == 0) { document.getElementById("wohnortSuggestions").innerHTML = "
" + langtexte.keinenortgefunden.replace(/%s/, address) + ""; } else { document.getElementById("wohnortSuggestions").innerHTML = "" + langtexte.bittewaehlensie + ":
"; document.getElementById("suggestionsSelect").selectedIndex = 0; } } else { document.getElementById("wohnortSuggestions").innerHTML = "
" + langtexte.keinenortgefunden.replace(/%s/, address) + ""; } } // end function function closeUmkreisPanel() { if (document.getElementById("suggestionsSelect") != null && document.getElementById("suggestionsSelect").selectedIndex > -1) { var latlngstr = document.getElementById("suggestionsSelect").options[document.getElementById("suggestionsSelect").selectedIndex].value; var latlngarray = latlngstr.split("/", 2); var lat = latlngarray[0]; var lng = latlngarray[1]; // alert(lat + " / " + lng); document.suchform.wohnortSuggestion.value = document.getElementById("suggestionsSelect").options[document.getElementById("suggestionsSelect").selectedIndex].text; document.suchform.wohnortLatitude.value = lat; document.suchform.wohnortLongitude.value = lng; if (parseInt(document.umkreisform.minumkreis.value) > parseInt(document.umkreisform.maxumkreis.value)) { document.suchform.minumkreis.value = document.umkreisform.maxumkreis.value; document.suchform.maxumkreis.value = document.umkreisform.minumkreis.value; CDropDownBox_SetDefaultValue("minumkreis", document.suchform.minumkreis.value); CDropDownBox_SetDefaultValue("maxumkreis", document.suchform.maxumkreis.value); } else { document.suchform.minumkreis.value = document.umkreisform.minumkreis.value; document.suchform.maxumkreis.value = document.umkreisform.maxumkreis.value; } // end if disableUmkreis(); createUmkreisPanelInfo(); if (typeof setUmkreisObject!="undefined") setUmkreisObject(); document.getElementById("umkreispanelDiv").style.visibility = "hidden"; document.getElementById("umkreispanelDiv").style.display = "none"; } // end if } // end function function discardUmkreisPanel() { document.getElementById("umkreispanelDiv").style.visibility = "hidden"; document.getElementById("umkreispanelDiv").style.display = "none"; } // end if function centerSearchPanel() { //document.getElementById("searchPanel").style.top=(document.getElementById("googlemap").style.display=="block"?450:150); var leftPos=(document.getElementById("columnLeft")?320:150); // Inc-Top if (typeof atraveo_layoutdata!="undefined" && atraveo_layoutdata.inc_top==true) { var topPos=(document.getElementById("googlemap") && document.getElementById("googlemap").style.display=="block"?600:500); } // Kein Inc-Top else { // Partnerlayout if (typeof atraveo_layoutdata!="undefined" && atraveo_layoutdata.partnerlayout==true) {var topPos=(!document.getElementById("googlemap") || document.getElementById("googlemap").style.display=="block"?480:360); } // Kein Partnerlayout else {var topPos=(!document.getElementById("googlemap") || document.getElementById("googlemap").style.display=="block"?300:230); } } // Wenn Opodo-Pids, dann anders positionieren if (typeof atraveo_layoutdata!="undefined" && (atraveo_layoutdata.pid==989 || atraveo_layoutdata.pid==2721) ) { var leftPos=""; // 300; var topPos=300; } if (leftPos!="") document.getElementById("searchPanel").style.left=leftPos; if (topPos!="") document.getElementById("searchPanel").style.top=topPos; } function showWaiterCircle() { document.getElementById("searchResultsWaiterCircle").style.visibility = "visible"; document.getElementById("searchResultsWaiterCircle").style.display = "block"; } // end function function gotoPage(page, reload) { var http = null; if (window.XMLHttpRequest) { http = new XMLHttpRequest(); } else if (window.ActiveXObject) { http = new ActiveXObject("Microsoft.XMLHTTP"); } // Die URL zusammenbauen url = "../ajax/getsearchresults.php?"+addUrlParamString+"page=" + page + "&go=true"; if (document.suchform.suchart.value) url += "&suchart=" + document.suchform.suchart.value; if (document.suchform.hide) url += "&hide=" + document.suchform.hide.value; // Partner-Einstellungen übergeben if (typeof atraveo_layoutdata!="undefined") { url+="&pid="+atraveo_layoutdata.pid+"&lang="+atraveo_layoutdata.lang+"&layoutname="+atraveo_layoutdata.layoutname; //document.location.href="#searchResultsMain"; } if (http != null) { http.open("GET", url, true); http.onreadystatechange = function() { if (http.readyState == 1) { // document.getElementById("searchpanel").style.visibility = 'visible'; // document.getElementById("searchpanel").style.display = 'block'; // Umkreis-Objekt positionieren if (typeof(umkreisObject)!="undefined" && umkreisObject!=null && typeof(umkreisObject.polyObject)!="undefined" && umkreisObject.polyObject!=null) {umkreisObject.CenterZoomToMap(); } } // end if if (http.readyState == 4) { if (typeof atraveo_layoutdata!="undefined" && atraveo_layoutdata.partnerlayout==true) document.location.href="#searchResultsMain"; // Beim Opera kommt die Zurück-Seite immer ausm Cache, deshalb landet man immer auf der Seite, // mit der man die Suche das letzte Mal aufgerufen hat -> deshalb wird die Suche nun bei jeder // gewollten Seitenänderung neu geladen (CT 31.01.2008) if (navigator.appName.indexOf("Opera") != -1 && reload) { location.reload(); } else { document.getElementById("searchresults").innerHTML = http.responseText; // Enthaltenen JavaScript-Code ausführen htmlJsExecution(http.responseText); } // end if // window.scrollTo(0, 0); // document.getElementById("searchpanel").style.visibility = 'hidden'; // document.getElementById("searchpanel").style.display = 'none'; //document.getElementById("searchresults").style.display="block"; } // end if } // end function; http.send(null); } } // end function function getSuchformParam() { var url=""; if ((typeof atraveo_layoutdata=="undefined") || (atraveo_layoutdata.partnerlayout==true && document.suchform.suchart.checked)) url += "&suchart=" + document.suchform.suchart.value; if (document.suchform.hide) url += "&hide=" + document.suchform.hide.value; if (document.suchform.land.value) url += "&land=" + escape(document.suchform.land.value); if (document.suchform.region.value) url += "®ion=" + escape(document.suchform.region.value); if (document.suchform.unterregion && document.suchform.unterregion.value) url += "&unterregion=" + escape(document.suchform.unterregion.value); if (document.suchform.ort.value) url += "&ort=" + escape(document.suchform.ort.value); if (document.suchform.nurinkarte && document.suchform.nurinkarte.value!="") { var tmpLatLngs=getMapDimensionParameterString(map, {top: 'latitude1', left: 'longitude1', bottom: 'latitude2', right: 'longitude2'}); url+="&"+tmpLatLngs; } if (document.suchform.skigebiet_name && document.suchform.skigebiet_name.value) url += "&skigebiet_name=" + escape(document.suchform.skigebiet_name.value); if (document.suchform.volltext && document.suchform.volltext.value != "" && document.suchform.volltext.value != langtexte.volltextinfo) url += "&volltext=" + escape(document.suchform.volltext.value); if (document.suchform.latitude) url += "&latitude=" + document.suchform.latitude.value; if (document.suchform.longitude) url += "&longitude=" + document.suchform.longitude.value; if (document.suchform.day.value) url += "&day=" + document.suchform.day.value; if (document.suchform.month.value) url += "&month=" + document.suchform.month.value; if (document.suchform.days.value) url += "&days=" + document.suchform.days.value; if (document.suchform.persons.value) url += "&persons=" + document.suchform.persons.value; if (document.suchform.schlafzimmer.value) url += "&schlafzimmer=" + document.suchform.schlafzimmer.value; if (document.suchform.strandentfernung.value) url += "&strandentfernung=" + document.suchform.strandentfernung.value; if (document.suchform.minpreis) url += "&minpreis=" + document.suchform.minpreis.value; if (document.suchform.maxpreis.value) url += "&maxpreis=" + document.suchform.maxpreis.value; if (document.suchform.haustier.value == "1") url += "&haustier=1"; if (document.suchform.fernseher.value == "1") url += "&fernseher=1"; if (document.suchform.waschmaschine.value == "1") url += "&waschmaschine=1"; if (document.suchform.spuelmaschine.value == "1") url += "&spuelmaschine=1"; if (document.suchform.schwimmbad.value == "1") url += "&schwimmbad=1"; if (document.suchform.objtype.value > 0) url += "&objtype=" + document.suchform.objtype.value; if (document.suchform.badezimmer.value > 0) url += "&badezimmer=" + document.suchform.badezimmer.value; if (document.suchform.spezielleobjekte.value != "") url += "&spezielleobjekte=" + document.suchform.spezielleobjekte.value; if (document.suchform.atraveo_empfehlung.value == "1") url += "&atraveo_empfehlung=1"; if (document.suchform.meerblick.value == "1") url += "&meerblick=1"; if (document.suchform.abgeschlossen.value == "1") url += "&abgeschlossen=1"; if (document.suchform.sattv.value == "1") url += "&sattv=1"; if (document.suchform.internet.value == "1") url += "&internet=1"; if (document.suchform.kamin.value == "1") url += "&kamin=1"; if (document.suchform.mikrowelle.value == "1") url += "&mikrowelle=1"; if (document.suchform.whirlpool.value == "1") url += "&whirlpool=1"; if (document.suchform.privaterpool.value == "1") url += "&privaterpool=1"; if (document.suchform.sauna.value == "1") url += "&sauna=1"; if (document.suchform.kinderbett.value == "1") url += "&kinderbett=1"; if (document.suchform.rollstuhl.value == "1") url += "&rollstuhl=1"; if (document.suchform.skigebiet.value == "1") url += "&skigebiet=1"; if (document.suchform.boot.value == "1") url += "&boot=1"; if (document.suchform.keinhaustier.value == "1") url += "&keinhaustier=1"; if (document.suchform.wohnortSuggestion.value) url += "&wohnort=" + escape(document.suchform.wohnortSuggestion.value); if (document.suchform.wohnortLatitude.value != 0) url += "&latitude=" + document.suchform.wohnortLatitude.value; if (document.suchform.wohnortLongitude.value != 0) url += "&longitude=" + document.suchform.wohnortLongitude.value; if (document.suchform.minumkreis.value > 0) url += "&minumkreis=" + document.suchform.minumkreis.value; if (document.suchform.umkreis.value > 0) url += "&umkreis=" + document.suchform.umkreis.value; else if (document.suchform.maxumkreis.value > 0) url += "&umkreis=" + document.suchform.maxumkreis.value; if (document.getElementById("searchorderSelect")) url += "&searchorder=" + document.getElementById("searchorderSelect").value; return url; } function startSearch(vShowSearchWindow, returnWithValue, onLoadStarted) { // Suchform-Redirect vorhanden ? Spezielle Partner if (typeof suchformRedirect!="undefined") { document.suchform.target=suchformRedirect.target; document.suchform.action=suchformRedirect.action; // Wenn z.B. bei DZT ein neues Fenster bei einer Suche geöffnet wird, dann keine Suche starten, wenn in der Karte geklickt wurde, dhn, 30.07.2008 if (document.suchform.target!="" && typeof startSearchFromMap!="undefined" && startSearchFromMap) {return false; } if (document.suchform.volltext.value && document.suchform.volltext.value == langtexte.volltextinfo) {document.suchform.volltext.value=""; } var tmpDate=new Date(); document.suchform.searchid.value=tmpDate.getMilliseconds(); document.suchform.submit(); // Volltext-Default wieder anzeigen if (document.suchform.volltext.value=="") {document.suchform.volltext.value=langtexte.volltextinfo; } return true; } document.getElementById("searchresults").style.display="block"; if (typeof vShowSearchWindow!="undefined" && vShowSearchWindow!=null) {showSearchWindow=vShowSearchWindow; } else {showSearchWindow=true; } // Pauschal immer Suchfenster anzeigen, dhn 03.01.2008, Mail von Hr. Froelje an Christian an mich von 02.01.2008 showSearchWindow=true; if (http!=null && http.readyState!=4) { if (showSearchWindow) return; http.abort(); } // if (document.getElementById("expOptionsVolltext").style.display != "none" && (document.suchform.volltext.value == "" || document.suchform.volltext.value == "")) { if (((document.suchform.nurinkarte && (document.suchform.nurinkarte.value!="checked" && document.suchform.nurinkarte.value!="1")) || !document.suchform.nurinkarte) && document.getElementById("expOptionsLRUO").style.display == "none" && document.suchform.volltext && (document.suchform.volltext.value == "" || document.suchform.volltext.value == langtexte.volltextinfo)) { document.getElementById("expOptionsVolltextError").style.visibility = "visible"; document.getElementById("expOptionsVolltextError").style.display = "block"; if (returnWithValue) { return false; } else { return; } } else if (document.suchform.volltext) { document.getElementById("expOptionsVolltextError").style.visibility = "hidden"; document.getElementById("expOptionsVolltextError").style.display = "none"; } // end if // Fenster schließen if (document.getElementById("ortinfowin")) {document.getElementById("ortinfowin").style.display="none"; } // Extra-Panel & Soundlike-Window schließen if (typeof closeExtraPanel!="undefined") {closeExtraPanel(); } if (typeof closeSoundlikeWindow!="undefined") {closeSoundlikeWindow(); } // Wenn etwas anderes in der Schnellsuche steht, wird eventuell das Auswahlfenster per AJAX aufgerufen if (document.suchform.volltext && document.suchform.volltext.value && document.suchform.volltext.value != langtexte.volltextinfo) { openSoundlikeWindow(); if (returnWithValue) { return false; } else { return; } } // end if if (window.XMLHttpRequest) { http = new XMLHttpRequest(); } else if (window.ActiveXObject) { http = new ActiveXObject("Microsoft.XMLHTTP"); } // Ort-Info-Win ausblenden if (document.getElementById("ortinfowin")) {document.getElementById("ortinfowin").style.display="none"; } // Wenn in der Karte geklickt und daruch gesucht wird, dann Kartenausschnitt deaktivieren if (typeof startSearchFromMap!="undefined" && startSearchFromMap) { fncSwitchCheckboxState("nurinkarte", "empty"); nurinkarteKlick({formFieldName: "nurinkarte", value: "", status: "unchecked"}) } // Neue (sprechende Url) ermitteln if (typeof document.suchform.landLink!="undefined" && typeof document.suchform.regionLink!="undefined" && typeof document.suchform.unterregionLink!="undefined" && typeof document.suchform.ortLink!="undefined" && document.suchform.land.value!="") { var oldHRef=document.location.href; // Wenn Parameter vorhanden, dann entfernen if (oldHRef.indexOf("?")!=-1) {oldHRef=oldHRef.substring(0, oldHRef.indexOf("?")) } var newHRef=getBoxLinkName(); // URLs unterschiedlich => neuladen if (oldHRef.substring(oldHRef.length-newHRef.length-1).toLowerCase()!="/"+newHRef.toLowerCase()) { fncPlainUrlCall("../"+(oldHRef.indexOf("server/")!=-1?"allgemein/":"")+newHRef); return; } } // Ein wenig oder runter-/hochscrollen# if (typeof atraveo_layoutdata!="undefined" && atraveo_layoutdata.partnerlayout==true) // Wenn Partnerlayout {//document.location.href="#searchResultsMain"; } // Normales Scrolling else {smoothScrollTo({newpos: 185}); } // Die URL zusammenbauen url = "../ajax/getsearchresults.php?"+addUrlParamString+"neuesuche=" + (typeof onLoadStarted != "undefined" && onLoadStarted ? paramNeueSuche : "true") + "&searchid="+paramSearchId+"&go=true&doHTMLLoad="+(doHTMLLoadCat!=""?"true":"")+"&doHTMLLoadCat="+doHTMLLoadCat+"&doHTMLLoadLink="+getBoxLinkName(); //prompt(onLoadStarted, url); // Für Partnerlayout if (typeof atraveo_layoutdata!="undefined") {url+="&pid="+atraveo_layoutdata.pid+"&lang="+atraveo_layoutdata.lang+"&layoutname="+atraveo_layoutdata.layoutname; } // Parameter per Funktion als String ermitteln suchFormParam=getSuchformParam(); // alert(suchFormParam); // Normale Suche (Suche starten) url=url+suchFormParam; //prompt("URL", url); if (http != null) { http.open("GET", url, true); http.onreadystatechange = function() { if (http.readyState == 1) { if (typeof showSearchWindow=="undefined" || (typeof showSearchWindow!="undefined" && showSearchWindow==true) ) { centerSearchPanel(); document.getElementById("searchPanel").style.visibility = 'visible'; document.getElementById("searchPanel").style.display = 'block'; // Umkreis-Objekt positionieren if (typeof(umkreisObject)!="undefined" && umkreisObject!=null && typeof(umkreisObject.polyObject)!="undefined" && umkreisObject.polyObject!=null) {umkreisObject.CenterZoomToMap(); } } } // end if if (http.readyState == 4) { if (typeof atraveo_layoutdata!="undefined" && atraveo_layoutdata.partnerlayout==true) document.location.href="#searchResultsMain"; // Beim Opera kommt die Zurück-Seite immer ausm Cache -> deshalb wird die Seite nun bei jeder // Suche komplett neu geladen (CT 28.01.2009) if (navigator.appName.indexOf("Opera") != -1) { location.reload(); } else { document.getElementById("searchresults").innerHTML = http.responseText; // Enthaltenen JavaScript-Code ausführen htmlJsExecution(http.responseText); if (typeof showSearchWindow=="undefined" || (typeof showSearchWindow!="undefined" && showSearchWindow==true) ) { centerSearchPanel(); document.getElementById("searchPanel").style.visibility = 'hidden'; document.getElementById("searchPanel").style.display = 'none'; } // Bookmark-Parameter ändern, damit Suche komplett gebookmarkt wird if (typeof bookmarkObject!="undefined") { //bookmarkObject.getParameter= regexpUrlParameter=/^.*?searchid=.*?&(.*)$/; regexpUrlParameter.exec(url); bookmarkObject.getParameter=RegExp.$1; } } // end if } // end if } // end function; http.send(null); } if (returnWithValue) { return false; } } // end function function removeMerkmal(merkmalid) { document.getElementsByName(merkmalid)[0].value = ""; createExtraPanelInfo(); // Wenn Merkmal "Nahe Skigebiet" ist, dann Boxen neu einladen if (merkmalid=="skigebiet" && (doHTMLLoadCat=="" || doHTMLLoadCat=="skiurlaub")) { if (document.suchform.land.type=="hidden") { fncPlainUrlCall(undefined, true); newHRef=getBoxLinkName().replace(/ /g, "_"); newHRef=newHRef.replace(langtexte.skiurlaub+"_".replace(/ /g, "_"), "") newHRef=newHRef.replace(langtexte.skiurlaub, ""); document.location.href=newHRef; } else { fncLoadBoxes(/* PosObject */ {"land": document.suchform.land.value, "region": document.suchform.region.value, "unterregion": document.suchform.unterregion.value, "ort": document.suchform.ort.value} , /* Orttext */ "", /* ForceReload */ true); document.getElementById("searchPanel").style.visibility="hidden"; document.getElementById("searchPanel").style.display="none"; } } } // end function function removeUmkreis() { document.getElementsByName("wohnortSuggestion")[0].value = ""; document.getElementsByName("wohnortLatitude")[0].value = ""; document.getElementsByName("wohnortLongitude")[0].value = ""; document.getElementsByName("minumkreis")[0].value = ""; document.getElementsByName("maxumkreis")[0].value = ""; if (typeof setUmkreisObject!="undefined") { if (document.suchform.ort.value != "") enableUmkreis(); createUmkreisPanelInfo(); if (typeof setUmkreisObject!="undefined") setUmkreisObject(); } else {createUmkreisPanelInfo(); } } // end function /* Bild-Blättern einladen */ var lastResultObject=""; function fncGetResultPictureOffset() { var rtn={x: 210, y: -5}; // Partnerlayout if (typeof atraveo_layoutdata!="undefined" && atraveo_layoutdata.partnerlayout) {rtn={x: 10, y: 5}; } // Opodo if (navigator.userAgent.indexOf("MSIE")!=-1 && typeof atraveo_layoutdata!="undefined" && (atraveo_layoutdata.pid=="989" || atraveo_layoutdata.pid=="2721")) {rtn={x: 10, y: -270}; } // Safari if (navigator.userAgent.indexOf("Safari")!=-1) { if (typeof atraveo_layoutdata!="undefined" && atraveo_layoutdata.partnerlayout) {rtn=rtn; } else {rtn={x: -150, y: -5}; } } return rtn; } function fncResultPictureLoad(vFotoPos) { document.getElementById("idObjPictureResultInner").innerHTML="
"; loadPictureResult.URL="../ajax/getsearchresults_pictures.php"; loadPictureResult.SendRequestData="objid="+lastResultObject+"&fp="+vFotoPos; loadPictureResult.CallbackFunction="callback_fncResultPictureLoad"; loadPictureResult.Call(); } function callback_fncResultPictureLoad() { document.getElementById("idObjPictureResultInner").innerHTML=loadPictureResult.Data; } function fncResultPictureOpen(vEvent, vObj) { if (typeof vObj!="undefined" && vObj!=lastResultObject) { lastResultObject=vObj; fncResultPictureLoad(0); } var resultObjectOffset=fncGetResultPictureOffset(); mousetipps.Open('idObjPictureResult', vEvent, resultObjectOffset ); } function fncResultPictureMove(vEvent) { var resultObjectOffset=fncGetResultPictureOffset(); mousetipps.Move('idObjPictureResult', vEvent, resultObjectOffset ); } function fncResultPictureClose(vEvent) { mousetipps.Close('idObjPictureResult', vEvent); } function fncSetResultFotoToPreview() { document.getElementById('idResultPreviewPicture').className="view"; document.getElementById('idResultPreviewPicture').src=document.getElementById('idResultViewPicture').src; } function fncLoadSearchResultDescription(vParams, vMoreTextObject) { if (vMoreTextObject.status=="inline" && document.getElementById("moreText_waiter_"+vMoreTextObject.id).innerHTML.indexOf("waiter_circle_trans.gif")!=-1) { loadMoreText.URL="../ajax/load_objdescription.php"; loadMoreText.SendRequestData="hausnr="+vParams.hausnr; loadMoreText.CallbackFunction="callback_fncLoadSearchResultDescription"; loadMoreText.objectData={"params": vParams, "moreTextObject": vMoreTextObject}; fncStatClick({art: "Suchergebnisliste", id: vParams.hausnr, bereich: "Text-Click, Mehr"}); loadMoreText.Call(); } } function callback_fncLoadSearchResultDescription() { document.getElementById("moreText_waiter_"+loadMoreText.objectData.moreTextObject.id).innerHTML=loadMoreText.Data; } /* Die linke Suchmaschinenbox aktualisieren */ function fncLoadDoHTMLLoadBox() { // Wird nicht mehr benötigt, aber evtl. für die Zukunft ???, dhn 06.04.2009 return; if (!document.getElementById("idbox_dohtmlload_outer") || doHTMLLoadCAJAXRun==true) {return; } doHTMLLoadCAJAXRun=true; // Titel ermitteln tmpDoHTMLLoaded=""; tmpDoHTMLLoaded=(document.suchform.land.selectedIndex?document.suchform.land.options[document.suchform.land.selectedIndex].text:tmpDoHTMLLoaded) tmpDoHTMLLoaded=(document.suchform.region.selectedIndex?document.suchform.region.options[document.suchform.region.selectedIndex].text:tmpDoHTMLLoaded) tmpDoHTMLLoaded=(document.suchform.unterregion.selectedIndex?document.suchform.unterregion.options[document.suchform.unterregion.selectedIndex].text:tmpDoHTMLLoaded) tmpDoHTMLLoaded=(document.suchform.ort.selectedIndex?document.suchform.ort.options[document.suchform.ort.selectedIndex].text:tmpDoHTMLLoaded) doHTMLLoadCAJAX.URL="../atraveoinc/box_dohtmlload.php"; doHTMLLoadCAJAX.SendRequestData="reload=true&land="+document.suchform.land.value+"®ion="+document.suchform.region.value+"&unterregion="+document.suchform.unterregion.value+"&ort="+document.suchform.ort.value+"&doHTMLLoaded="+tmpDoHTMLLoaded; doHTMLLoadCAJAX.CallbackFunction="callback_fncLoadDoHTMLLoadBox"; //prompt("", doHTMLLoadCAJAX.URL+"?"+doHTMLLoadCAJAX.SendRequestData); doHTMLLoadCAJAX.Call(); } function callback_fncLoadDoHTMLLoadBox() { document.getElementById("idbox_dohtmlload_outer").innerHTML=doHTMLLoadCAJAX.Data; doHTMLLoadCAJAXRun=false; } function fncClickLastMinute(vObject) { // Merkmale speichern fncPlainUrlCall(undefined, true); // Boxen neu laden if (document.suchform.land.type=="hidden") { var newHRef=getBoxLinkName(); // Last Minute zurücksetzen if (vObject.status!="checked") { // Last Minute entfernen var tmp=doHTMLLoadCatName.replace(/ /g, "_") newHRef=newHRef.replace(tmp+"_", ""); newHRef=newHRef.replace(tmp, ""); // Evtl. Ski setzen, wenn angehakt if (document.suchform.skigebiet.value=="1") {newHRef=langtexte.skiurlaub.replace(/ /g, "_")+"_"+newHRef; } document.location.href=(document.location.href.indexOf("server")!=-1?"../allgemein/":"../")+newHRef; } // Last Minute setzen else { // Aktuelle Kategorie entfernen if (doHTMLLoadCatName) { newHRef=newHRef.replace(doHTMLLoadCatName+"_", ""); newHRef=newHRef.replace(doHTMLLoadCatName, ""); } // Last Minute setzen newHRef=langtexte.lastminute+" "+newHRef; newHRef=newHRef.replace(/ /g, "_"); document.location.href=(document.location.href.indexOf("server")!=-1?"../allgemein/":"../")+newHRef; } } else { fncLoadBoxes(/* PosObject */ {"land": document.suchform.land.value, "region": document.suchform.region.value, "unterregion": document.suchform.unterregion.value, "ort": document.suchform.ort.value} , /* Orttext */ "", /* ForceReload */ true); document.getElementById("searchPanel").style.visibility="hidden"; document.getElementById("searchPanel").style.display="none"; } } // Liefert den Link-Namen der Box-Einstellung zurück function getBoxLinkName() { var newHRef=""; if (document.suchform.landLink) { newHRef=(document.suchform.landLink.value!=""?document.suchform.landLink.value:newHRef); newHRef=(document.suchform.regionLink.value!=""?document.suchform.regionLink.value:newHRef); newHRef=(document.suchform.unterregionLink.value!=""?document.suchform.unterregionLink.value:newHRef); newHRef=(document.suchform.ortLink.value!=""?document.suchform.ortLink.value:newHRef); } else {return ""; } if (newHRef=="") {newHRef=document.location.href.substring(document.location.href.indexOf("/"+doHTMLLoadCatName)+1); } else { // Wenn nicht Sortierung Kundenbewertung, dann evtl. entfernen if (document.getElementById("searchorderSelect")) { if (document.getElementById("searchorderSelect").value!="bewertung") {newHRef=newHRef.replace(langtexte["bewertung"]+"_", ""); } // Wenn Sortierung Kundenbewertung ausgewählt ist, und kein andere URL-Zusatz, // dann als URL-Zusatz verwenden if (document.getElementById("searchorderSelect").value=="bewertung" && doHTMLLoadCat=="") {newHRef=langtexte["bewertung"]+"_"+newHRef; } } } return newHRef; } // Funktion zum Setzen der Such-Url function updateUrlBox(vObject, vBoxId, vId, vIdLink) { updateUrlBoxAjax.URL="../ajax/getinfo.php"; tmp=""; if (typeof vId=="undefined") vId=""; if (typeof vIdLink=="undefined") vIdLink=""; // Url ändern searchUrl=vObject.href; // Ids ändern document.suchform[vBoxId].value=vId; document.suchform[vBoxId+"Link"].value=vIdLink; // Text ändern CDropDownBox_SetText(vBoxId, vObject.innerHTML); switch (vBoxId) { case "land": { // Regionen neuladen updateUrlBoxAjax.SendRequestData="suchart="+document.suchform.suchart.value+"&doHTMLLoadCat="+escape(doHTMLLoadCat)+"&infotype=region&land="+escape(document.suchform.land.value)+"&links=true&beliebt=true"; var tmp=updateUrlBoxAjax.Call(); document.getElementById("regionInnerBox").innerHTML=tmp; // Texte setzen CDropDownBox_Enable("region"); CDropDownBox_SetText("region", langtexte.alleregionen); document.suchform.region.value=""; CDropDownBox_Disable("unterregion"); CDropDownBox_SetText("unterregion", langtexte.alleunterregionen); document.suchform.unterregion.value=""; CDropDownBox_Disable("ort"); CDropDownBox_SetText("ort", langtexte.alleorte); document.suchform.ort.value=""; break; } case "region": { // Unterregionen neuladen if (vId!="") { updateUrlBoxAjax.SendRequestData="suchart="+document.suchform.suchart.value+"&doHTMLLoadCat="+escape(doHTMLLoadCat)+"&infotype=unterregion&land="+escape(document.suchform.land.value)+"®ion="+escape(document.suchform.region.value)+"&links=true&beliebt=true"; var tmp=updateUrlBoxAjax.Call(); document.getElementById("unterregionInnerBox").innerHTML=tmp; } // Texte setzen if (tmp=="" || tmp.length<=150) {CDropDownBox_Disable("unterregion"); } else {CDropDownBox_Enable("unterregion"); } CDropDownBox_SetText("unterregion", langtexte.alleunterregionen); // Orte neuladen if (vId!="") { updateUrlBoxAjax.SendRequestData="suchart="+document.suchform.suchart.value+"&doHTMLLoadCat="+escape(doHTMLLoadCat)+"&infotype=ort&land="+escape(document.suchform.land.value)+"®ion="+escape(document.suchform.region.value)+"&links=true&beliebt=true"; var tmp=updateUrlBoxAjax.Call(); document.getElementById("ortInnerBox").innerHTML=tmp; CDropDownBox_Enable("ort"); CDropDownBox_SetText("ort", langtexte.alleorte); } else {CDropDownBox_Disable("ort"); CDropDownBox_SetText("ort", langtexte.alleorte); } break; } case "unterregion": { // Unterregionen neuladen if (vId!="") {updateUrlBoxAjax.SendRequestData="suchart="+document.suchform.suchart.value+"&doHTMLLoadCat="+escape(doHTMLLoadCat)+"&infotype=ort&land="+escape(document.suchform.land.value)+"®ion="+escape(document.suchform.region.value)+"&unterregion="+escape(document.suchform.unterregion.value)+"&links=true&beliebt=true"; } else {updateUrlBoxAjax.SendRequestData="suchart="+document.suchform.suchart.value+"&doHTMLLoadCat="+escape(doHTMLLoadCat)+"&infotype=ort&land="+escape(document.suchform.land.value)+"®ion="+escape(document.suchform.region.value)+"&links=true&beliebt=true"; } var tmp=updateUrlBoxAjax.Call(); document.getElementById("ortInnerBox").innerHTML=tmp; CDropDownBox_Enable("ort"); CDropDownBox_SetText("ort", langtexte.alleorte); break; } case "ort": { if (document.suchform.ort.value!="") enableUmkreis(); else disableUmkreis(); } } // End switch } function fncPlainUrlCall(vText, vUseHC) { centerSearchPanel(); document.getElementById("searchPanel").style.visibility="visible"; document.getElementById("searchPanel").style.display="block"; // AJAX-Aufruf um Merkmale in der Suche zu speichern, savesearchdata saveSearchDataAJAX.URL="../ajax/saveSearchData.php"; saveSearchDataAJAX.SendRequestData=getSuchformParam()+"&doHTMLLoaded="+getBoxLinkName()+"&searchid="+paramSearchId; //alert(saveSearchDataAJAX.SendRequestData); if (typeof vUseHC!="undefined" && vUseHC==true) { // Wird nicht mehr gespeichert, mit Marcus geklärt, dass jetzt nur noch Links verwendet werden, 5.10.2009 //saveSearchDataAJAX.SendRequestData+="&hc=true"; } saveSearchDataAJAX.CallbackFunction=""; saveSearchDataAJAX.Call(); //prompt("", saveSearchDataAJAX.URL+"?"+saveSearchDataAJAX.SendRequestData); //../ajax/saveSearchData.php?&land=D&persons=0&maxpreis=0&skigebiet=1&hc=true if (typeof vText!="undefined") {document.location.href=vText; } } /* combobox: Combo-Box die gefüllt werden soll, z.B. document.suchform.land url: Url der getinfo.php die aufgerufen werden soll vDirectCall: Bei true, wartet nach Aufruf auf das Resultat, optional */ function fillComboBox(comboBox, url, vDirectCall) { var http = null; // Für Partnerlayout if (typeof atraveo_layoutdata!="undefined") {url+=(url==""?"?":"&")+"pid="+atraveo_layoutdata.pid+"&lang="+atraveo_layoutdata.lang+"&layoutname="+atraveo_layoutdata.layoutname; } if (window.XMLHttpRequest) { http = new XMLHttpRequest(); } else if (window.ActiveXObject) { http = new ActiveXObject("Microsoft.XMLHTTP"); } // alert(url); if (http != null) { http.open("GET", url, (typeof vDirectCall!="undefined" && vDirectCall==true?false:true) ); if (typeof vDirectCall=="undefined") { http.onreadystatechange = function() { if (http.readyState == 1) { for (i = comboBox.length; i > 0; i--) comboBox.options[i] = null; } // end if if (http.readyState == 4) { //alert(http.responseText); var jsonData = eval("(" + http.responseText + ")"); for (var i = 0; i < jsonData.length; i++) { newoption = new Option(jsonData[i].text, jsonData[i].value); // geoAbgrenzungVorhanden, eingeführt von dhn 30.08.2007, zum Anzeigen ob Abgrenzungen bereits bearbeitet wurden oder nicht. if (typeof jsonData[i].geoAbgrenzungVorhanden!="undefined") { if (jsonData[i].geoAbgrenzungVorhanden=="true") {newoption.style.color="#A0A0A0"; } } // Wenn beliebt-Zyklen vorhanden sind, die Überschriften darstellen if (typeof jsonData[i].zyklus!="undefined") { if (jsonData[i].zyklus=="") {newoption.className="selectBoxLimiter"; } } comboBox.options[comboBox.length] = newoption; } // end for // Erweiterung für CDropDown-Box, Enable-Disable-Status setzen if (typeof CDropDownBox_SetDefaultValue!="undefined") {CDropDownBox_SetDefaultValue(comboBox.name); } } // end if } // end function; } http.send(null); if (typeof vDirectCall!="undefined" && vDirectCall==true) { //alert("DirectCall: "+http.responseText); _execFillComboBoxResponse(comboBox, http.responseText); } } } // end function function _execFillComboBoxResponse(comboBox, vResponseText) { var jsonData = eval("(" + vResponseText + ")"); for (var i = 0; i < jsonData.length; i++) { newoption = new Option(jsonData[i].text, jsonData[i].value); // geoAbgrenzungVorhanden, eingeführt von dhn 30.08.2007, zum Anzeigen ob Abgrenzungen bereits bearbeitet wurden oder nicht. if (typeof jsonData[i].geoAbgrenzungVorhanden!="undefined") { if (jsonData[i].geoAbgrenzungVorhanden=="true") {newoption.style.color="#A0A0A0"; } } // Wenn beliebt-Zyklen vorhanden sind, die Überschriften darstellen if (typeof jsonData[i].zyklus!="undefined") { if (jsonData[i].zyklus=="") {newoption.className="selectBoxLimiter"; } } if (comboBox) comboBox.options[comboBox.length] = newoption; } // end for // Erweiterung für CDropDown-Box, Enable-Disable-Status setzen if (typeof CDropDownBox_SetDefaultValue!="undefined" && comboBox) {CDropDownBox_SetDefaultValue(comboBox.name); } } function ajaxCallURL(url) { var http = null; // Für Partnerlayout if (typeof atraveo_layoutdata!="undefined") {url+=(url==""?"?":"&")+"pid="+atraveo_layoutdata.pid+"&lang="+atraveo_layoutdata.lang+"&layoutname="+atraveo_layoutdata.layoutname; } if (window.XMLHttpRequest) { http = new XMLHttpRequest(); } else if (window.ActiveXObject) { http = new ActiveXObject("Microsoft.XMLHTTP"); } // alert(url); if (http != null) { http.open("GET", url, true); http.send(null); } } // end function function ajaxGetFormattedDate(datum, lang) { var http = null; if (window.XMLHttpRequest) { http = new XMLHttpRequest(); } else if (window.ActiveXObject) { http = new ActiveXObject("Microsoft.XMLHTTP"); } url = "../ajax/getformatteddate.php?datum=" + datum; // Für Partnerlayout if (typeof atraveo_layoutdata!="undefined") {url+=(url==""?"?":"&")+"pid="+atraveo_layoutdata.pid+"&lang="+atraveo_layoutdata.lang+"&layoutname="+atraveo_layoutdata.layoutname; } if (http != null) { http.open("GET", url, false); http.send(null); return http.responseText; } return ""; } // end if // Stuttgart, Deutschland var stuttgartDeutschland={lat: 51.29025466863941, lng: 6.794695258140564}; function getPointsRect(vLatLngPoints, vReturnObject) { var bounds={minLat: vLatLngPoints[0].lat, maxLat: vLatLngPoints[0].lat, minLng: vLatLngPoints[0].lng, maxLng: vLatLngPoints[0].lng}; for (var p=0; pbounds.maxLat) {bounds.maxLat=vLatLngPoints[p].lat; } if (vLatLngPoints[p].lngbounds.maxLng) {bounds.maxLng=vLatLngPoints[p].lng; } } // End-For-p if (typeof vReturnObject!="undefined" && vReturnObject==true) {return bounds; } else {return new GLatLngBounds(new GLatLng(bounds.minLat, bounds.minLng), new GLatLng(bounds.maxLat, bounds.maxLng)); } } function setLatLngRect(vMapObject, vGeoRect) { if (vMapObject && vGeoRect) { var tmpBounds=new GLatLngBounds(new GLatLng(vGeoRect.minLat, vGeoRect.minLng), new GLatLng(vGeoRect.maxLat, vGeoRect.maxLng)); var tmpZoomLevel=vMapObject.getBoundsZoomLevel(tmpBounds); var tmpCenter=tmpBounds.getCenter(); // Zoom-Faktor-Zusatz verrechnen if (typeof vGeoRect.zoomFactorAddition!="undefined" && vGeoRect.zoomFactorAddition!="") { tmpZoomLevel+=(vGeoRect.zoomFactorAddition*1); if (typeof vGeoRect.alternatePoint!="undefined") {tmpCenter=new GLatLng(vGeoRect.alternatePoint.lat, vGeoRect.alternatePoint.lng); } } if (tmpZoomLevel==19) {tmpZoomLevel=15; } vMapObject.setCenter(tmpCenter, tmpZoomLevel); if (document.location.search.indexOf("dennis")!=-1) { vMapObject.addOverlay(new GMarker(new GLatLng(vGeoRect.minLat, vGeoRect.minLng))); vMapObject.addOverlay(new GMarker(new GLatLng(vGeoRect.maxLat, vGeoRect.maxLng))); } } } function simpleShowAddress(map, address) { var geocoder = new GClientGeocoder(); geocoder.getLatLng(address, function(point) { if (!point) { map.setCenter(new GLatLng(48.777127, 9.180707), 4, G_SATELLITE_MAP); } else { map.setCenter(point, 14, G_SATELLITE_MAP); } } ); } // Stop page scrolling when inside the map // (this is generic, stops any event propagation). function doNotPropagate( e ){ // alert( event ); if ( !e ){ e = window.event ; } e.returnValue = false; e.cancelBubble = true; if ( e.preventDefault && e.stopPropagation ){ // W3C (Firefox, Safari, etc) e.preventDefault() ; e.stopPropagation() ; } } function enableMouseWheelZoom(vMapObjectDiv, vMapObject) { var disabledDefSWZoom = false // Remove handling of default scrolling action if ( vMapObjectDiv.addEventListener ){ // W3C vMapObjectDiv.addEventListener( 'DOMMouseScroll', doNotPropagate, false ); disabledDefSWZoom = true ; } else { // IE vMapObjectDiv.onmousewheel = doNotPropagate ; disabledDefSWZoom = true ; } // Add Mouse-Wheel-Zooming if ( disabledDefSWZoom ){ vMapObject.enableScrollWheelZoom() ; } } function getMapDimensionParameterString(vMapObject, vParameterNamesObject) { if (typeof vParameterNamesObject=="undefined") {vParameterNamesObject={}; } var rtn=""; // Bounds-Parameter-String erstellen var tmpGeoMapBoundsRect=vMapObject.getBounds(); var tmpGeoMapSizes=vMapObject.getSize(); rtn+=(typeof vParameterNamesObject.top!="undefined"?vParameterNamesObject.top:"geoRect[top]")+"="+tmpGeoMapBoundsRect.getNorthEast().lat(); rtn+="&"+(typeof vParameterNamesObject.left!="undefined"?vParameterNamesObject.left:"geoRect[left]")+"="+tmpGeoMapBoundsRect.getSouthWest().lng(); rtn+="&"+(typeof vParameterNamesObject.bottom!="undefined"?vParameterNamesObject.bottom:"geoRect[bottom]")+"="+tmpGeoMapBoundsRect.getSouthWest().lat(); rtn+="&"+(typeof vParameterNamesObject.right!="undefined"?vParameterNamesObject.right:"geoRect[right]")+"="+tmpGeoMapBoundsRect.getNorthEast().lng(); rtn+="&"+(typeof vParameterNamesObject.zoomLevel!="undefined"?vParameterNamesObject.zoomLevel:"zoomLevel")+"="+vMapObject.getZoom(); rtn+="&"+(typeof vParameterNamesObject.width!="undefined"?vParameterNamesObject.width:"divSizes[width]")+"="+vMapObject.getSize().width; rtn+="&"+(typeof vParameterNamesObject.height!="undefined"?vParameterNamesObject.height:"divSizes[height]")+"="+vMapObject.getSize().height; return rtn; } function zIndexOrder(marker, b) { return GOverlay.getZIndex(marker.getPoint().lat())+marker.zIndex*1000000; } function CShowMapNames(vObjectVar, vMapObject) { // AJAX-Objekt erstellen this.AJAXObject=new CAJAX(vObjectVar+".AJAXObject"); // Die Variable dieser Klasse sicher, für z.B. AJAX Aufrufe this.ObjectVar=vObjectVar; // Map-Objekt zuweisen/sichern this.MapObject=vMapObject; // Partner-Id setzen //this.pid=0; // Sprache setzen //this.lang="de"; // Names-Informationen this.land=""; this.region=""; this.unterregion=""; this.nameInfoObject={}; // googleAddress, landText, regionText, unterregionText, latLngRect={minLat, minLng, maxLat, maxLng} this.markers=new Array(); // Namen klickbar this.namesClickable=true; // Pfad zu ShowScriptNames.php this.PathToRootDir="../"; // Handler-Objekt bei Callback this._callbackHandler={commands: null, timeoutHandle: null}; // Einzulesende Namen auf Lat/Lng der Map eingrenzen this.onlyShowMapNames=false; // Namen rastern this.rasterizeNames=false; // Anzahl Objekte (ferienhaeuser) im Namen anzeigen this.anzahl=false; // Anzahl-Marker anstatt Namen-Marker verwenden this.useCountMarker=false; // Events this.eventBeforeShowFunction=""; this.eventAfterShowFunction=""; // Methode zum Anzeigen der Namen bereitstellen this._showNames=CShowMapNames_showNames; this.showCountryNames=CShowMapNames_showCountryNames; this.showRegionNames=CShowMapNames_showRegionNames; this.showSubregionNames=CShowMapNames_showSubregionNames; this.regionNameClick=CShopMapNames_regionNameClicked; this.setNameByPosition=CShowMapNames_setNameByPosition; this.setNameByPoint=CShowMapNames_setNameByPoint; this.hideMarkers=CShowMapNames_hideMarkers; this.showMarkers=CShowMapNames_showMarkers; // Methode "_callback_Call" bereitstellen this._callback_Call=CShowMapNames_callback_Call; this._callbackHandler_Call=CShowMapNames_callbackHandler_Call; } // Methode zum Anzeigen aller Ländernamen function CShowMapNames_showCountryNames() { this.land=this.region=""; this._showNames(); } // Methode zum Anzeigen aller Regionnamen function CShowMapNames_showRegionNames(vLand) { this.land=vLand; this.region=""; this._showNames(); } // MEthode zum Anzeigen der Unterregionnamen function CShowMapNames_showSubregionNames(vLand, vRegion) { this.land=vLand; this.region=vRegion; this._showNames(); } // Methode wenn Region geklickt wird function CShopMapNames_regionNameClicked(vLand, vRegion, vUnterregion) { this.land=vLand; this.region=vRegion; this.unterregion=vUnterregion; // Event: After Show if (this.eventBeforeShowFunction!="") {eval(this.eventBeforeShowFunction+"();"); } if (this.eventAfterShowFunction!="") {eval(this.eventAfterShowFunction+"();"); } } // Methode zum Anzeigen der Namen function CShowMapNames_showNames(vLand, vRegion) { var currentBoundsParameterString=""; //this.markers=new Array(); // Event: Before Show if (this.eventBeforeShowFunction!="") {eval(this.eventBeforeShowFunction+"();"); } // Nur Namen anzeigen, die innerhalb der Lat/Lng-Mapmaße liegen if (this.onlyShowMapNames) { var tmpGeoMapBoundsRect=this.MapObject.getBounds(); var tmpGeoMapSizes=this.MapObject.getSize(); currentBoundsParameterString=""; currentBoundsParameterString+="&geoRect[top]="+tmpGeoMapBoundsRect.getNorthEast().lat(); currentBoundsParameterString+="&geoRect[left]="+tmpGeoMapBoundsRect.getSouthWest().lng(); currentBoundsParameterString+="&geoRect[bottom]="+tmpGeoMapBoundsRect.getSouthWest().lat(); currentBoundsParameterString+="&geoRect[right]="+tmpGeoMapBoundsRect.getNorthEast().lng(); currentBoundsParameterString+="&zoomLevel="+this.MapObject.getZoom(); currentBoundsParameterString+="&divSizes[width]="+this.MapObject.getSize().width; currentBoundsParameterString+="&divSizes[height]="+this.MapObject.getSize().height; } this.AJAXObject.URL=this.PathToRootDir+"global/shownames_CShowMapNames.php"; this.AJAXObject.SendRequestData="land="+escape(this.land)+"®ion="+escape(this.region)+"&objectVar="+this.ObjectVar+currentBoundsParameterString+"&rasterizeNames="+(this.rasterizeNames?"true":"")+"&anzahl="+(this.anzahl==true?"true":"false")+(typeof lang!="undefined"?"&lang="+lang:""); this.AJAXObject.CallbackFunction=this.ObjectVar+"._callback_Call"; this.AJAXObject.Call(); //prompt("", this.AJAXObject.SendRequestData); } // Methode für AJAX-Objekt-Callback function CShowMapNames_callback_Call() { if (this._callbackHandler.timeoutHandle!=null) { window.clearTimeout(this._callbackHandler.timeoutHandle); this._callbackHandler.timeoutHandle=null; } this._callbackHandler.commands=new Array(); this._callbackHandler.commands=this.AJAXObject.Data.split("\n"); if (this._callbackHandler.commands.length>0) {this._callbackHandler.timeoutHandle=window.setTimeout(this.ObjectVar+"._callbackHandler_Call()", 0); } } function CShowMapNames_callbackHandler_Call() { if (this._callbackHandler.commands.length>0) { var tmpCommandString=this._callbackHandler.commands[this._callbackHandler.commands.length-1]; this._callbackHandler.commands.pop(); //alert(this.ObjectVar+", "+this._callbackHandler.commands.length+", "+tmpCommandString); eval(tmpCommandString); this._callbackHandler.timeoutHandle=window.setTimeout(this.ObjectVar+"._callbackHandler_Call()", 0); } else { //alert("Fertig."); // Event: AfterShow if (this.eventAfterShowFunction!="") {eval(this.eventAfterShowFunction+"();"); } } } function CShowMapNames_setNameByPosition(vPosition, vText, vLink) { // Eigentlich sollte mittlierweile immer ein Lat/Lng-Punkt vorhanden this.setNameByPoint(vPosition, vText, vLink); return; if (vPosition.x=="" && vPosition.y=="") // Positionierung per vorhandener Daten {this.AJAXObject.URL=this.PathToRootDir+"global/search_europakarte_loadgeopos.php"; this.AJAXObject.SendRequestData="land="+escape(vPosition.land)+"®ion="+escape(vPosition.region)+"&unterregion="+escape(vPosition.unterregion)+"&ort="+escape(vPosition.ort); this.AJAXObject.CallbackFunction=""; tmpGeoData=this.AJAXObject.Call(); eval(tmpGeoData); if (typeof tmpGeoPoint!="undefined") // Alternativer GeoPoint gefunden, anhand geo_land/region/ort-Tabellen {this.setNameByPoint({x: tmpGeoPoint.x, y: tmpGeoPoint.y}, vText, vLink); } else {var geocoder=new GClientGeocoder(); tmpObjectVar=this.ObjectVar; geocoder.getLatLng(vPosition.googleAddress, function (point) {if (point!=null) { var tmpCall=tmpObjectVar+".setNameByPoint({x: \""+point.x+"\", y: \""+point.y+"\"}, \""+vText+"\", \""+vLink+"\");" //alert(tmpCall); eval(tmpCall); } } ); } } else {this.setNameByPoint(vPosition, vText, vLink); } } function CShowMapNames_setNameByPoint(vPoint, vText, vLink) { var textIcon=new GIcon(); if (this.useCountMarker && this.anzahl) { var tmp=vText.match(/^(.*) \((.*?)[^0-9,\.]/); // Nummer und Text ermitteln //vText=tmp[1]; var number=tmp[2]; var number2=number.replace(/,\./, ""); textIcon.image=this.PathToRootDir+"global/search_europakarte_genBallPic.php?text="+number+(navigator.userAgent.indexOf("MSIE 6")!=-1?"&indexedPalette=true":""); var textIconSize=""; if (number2.length<=2) {textIconSize=22; } if (number2.length==3) {textIconSize=32; } if (number2.length>=4) {textIconSize=42; } textIcon.iconSize=new GSize(textIconSize, textIconSize); textIcon.iconAnchor=new GPoint(textIconSize/2, textIconSize/2); } else { textIcon.image=this.PathToRootDir+"global/search_europakarte_genTextPic.php?text="+vText; var textIconSize=(vText.length*6)+vText.length; textIcon.iconSize=new GSize(textIconSize, 11); textIcon.iconAnchor=new GPoint(textIconSize/2, 5); } var tmpMarker=null; if (typeof zIndexOrder!="undefined") { tmpMarker=new GMarker(new GPoint(vPoint.x, vPoint.y), {icon: textIcon, clickable: this.namesClickable, title: vText, zIndexProcess: zIndexOrder} ); tmpMarker.zIndex=1; } else {tmpMarker=new GMarker(new GPoint(vPoint.x, vPoint.y), {icon: textIcon, clickable: this.namesClickable, title: vText} ); } if (vLink!="") {GEvent.addListener(tmpMarker, "click", function() {document.location.href=vLink; } ); } this.markers[this.markers.length]=tmpMarker; this.MapObject.addOverlay(this.markers[this.markers.length-1]); } function CShowMapNames_hideMarkers() { for (var m=0; m=7) {map.setMapType(G_HYBRID_MAP); } // Nur in Karte ... if (document.getElementById("nurinkarteDiv")) { if (tmpZoomLevel<=8) { document.getElementById("nurinkarteDiv").style.visibility="hidden"; document.getElementById("nurinkarteDiv").style.display="none"; fncSwitchCheckboxState("nurinkarte", "empty"); } else { document.getElementById("nurinkarteDiv").style.visibility="visible"; document.getElementById("nurinkarteDiv").style.display="block"; } } // Orte anzeigen clearLoadedOrteCalls(); fncLoadedOrte("", "", ""); // Skigebiet anzeigen, falls vorhanden if (skigebietMarker!=null) {map.addOverlay(skigebietMarker); } // Ggfs. Umkreis anzeigen setUmkreisObject(); if (tmpZoomLevel<5) // Bei einem Zoom-Level kleiner 5, die Landnamen einblenden { window.setTimeout("showMapNames.showCountryNames();", 10); return; } if (tmpZoomLevel>=5 && tmpZoomLevel<=7) // Zoom-Level zwischen 5 und 9, die Regionname der Map-Maße einblenden { window.setTimeout("showMapNames.showRegionNames('mapview');", 10); return; } } mapChangeEndRunning=false; } function changeToLRUO() { document.getElementById("expOptionsVolltext").style.display = "none"; document.getElementById("expOptionsVolltext").style.visibility = "hidden"; document.suchform.volltext.value = (langtexte.volltextinfo ? langtexte.volltextinfo : ""); document.suchform.volltext.style.color = volltextcolor; document.getElementById("expOptionsLRUO").style.display = "block"; document.getElementById("expOptionsLRUO").style.visibility = "visible"; document.body.focus(); } // end function function event_beforeShowMapNames() { //alert(showMapNames.land+", "+showMapNames.region+", "+showMapNames.unterregion); //alert("mapChangeEndRunning: "+(mapChangeEndRunning?"true":"false")); if (mapChangeEndRunning) {return; } // Wenn Land-Box ein hidden-Feld ist, dann sind die Einträge Links, dann // direkt weiterleiten, auf www.atraveo.[...]/[...] if (document.suchform.land.type=="hidden") { var linkText=""; if (showMapNames.nameInfoObject.landText!="") {linkText=showMapNames.nameInfoObject.landText;} if (showMapNames.nameInfoObject.regionText!="") {linkText=showMapNames.nameInfoObject.regionText;} if (showMapNames.nameInfoObject.unterregionText!="") {linkText=showMapNames.nameInfoObject.unterregionText;} //alert(JSON.stringify(showMapNames.nameInfoObject)+"\n\n"+linkText); if (typeof linkText!="undefined" && linkText!="") { fncPlainUrlCall("../"+(document.location.href.indexOf("server/")!=-1?"allgemein/":"")+(doHTMLLoadCatName?doHTMLLoadCatName+" ":"")+linkText); return; } } //alert(showMapNames.land+", "+showMapNames.region+", "+showMapNames.unterregion); // Wenn Volltext-art über Parameter reinkommt und nicht erster Aufruf //if (document.location.search.indexOf("volltext")!=-1 && !firstVolltextCall) if (showMapNames.land != "") { changeToLRUO(); } // firstVolltextCall=false; if (showMapNames.land!="" && document.suchform.land.value!=showMapNames.land) { // Land CDropDownBox_SetDefaultValue("land", showMapNames.land); // Neue Regionen einladen clearComboBox(document.suchform.region); fillComboBox(document.suchform.region, "../ajax/getinfo.php?infotype=region&land="+escape(showMapNames.land), true); clearComboBox(document.suchform.unterregion); clearComboBox(document.suchform.ort); } if (showMapNames.land!="" && showMapNames.region!="") { clearComboBox(document.suchform.unterregion); fillComboBox(document.suchform.unterregion, "../ajax/getinfo.php?infotype=unterregion&land="+escape(showMapNames.land)+"®ion="+escape(showMapNames.region), true); CDropDownBox_SetDefaultValue("region", showMapNames.region); CDropDownBox_SetDefaultValue("unterregion", showMapNames.unterregion); // Neue Orte einladen clearComboBox(document.suchform.ort); fillComboBox(document.suchform.ort, "../ajax/getinfo.php?infotype=ort&land="+escape(showMapNames.land)+"®ion="+escape(showMapNames.region)+"&unterregion="+escape(document.suchform.unterregion.value), true); CDropDownBox_SetDefaultValue("ort", showMapNames.ort); } mapChangeEndRunning=true; map.clearOverlays(); //map.setMapType((showMapNames.region==''?G_SATELLITE_MAP:G_HYBRID_MAP)); map.setMapType(G_HYBRID_MAP); setLatLngRect(map, showMapNames.nameInfoObject.latLngRect); //clearLoadedOrteCalls(); //fncLoadedOrte(showMapNames.land, showMapNames.region, showMapNames.unterregion); // Suche starten, wenn keine Reisebeginn und Dauer ausgewählt wurde if (document.suchform.day.value=="" && document.suchform.month.value=="" && document.suchform.days.value=="" && showMapNames.land!="") { //alert("suche starten ?"); startSearchFromMap=true; startSearch(false); startSearchFromMap=false; } } function event_afterShowMapNames() { mapChangeEndRunning=false; firstVolltextCall=false; //alert(showMapNames.AJAXObject.Data); if (showMapNames.AJAXObject.Data.indexOf("setNameByPosition")==-1 || document.suchform.region.value!="") { //alert("Keine mapNames vorhanden"); clearLoadedOrteCalls(); fncLoadedOrte(showMapNames.land, showMapNames.region, showMapNames.unterregion); } } function showAddress(address, vLongitude, vLatitude) { //alert("showaddress"); map.clearOverlays(); //alert(address); if (vLongitude!="" && vLatitude!="") {var point=new GLatLng(vLatitude*1, vLongitude*1); callback_showAddressPoint(address, point); } else {var geocoder=new GClientGeocoder(); geocoder.getLatLng(address, function (point) {if (point!=null) {callback_showAddressPoint(address, point); } } ); } } function callback_showAddressPoint(address, point) { var addressParts=address.match(/,/g); var mapZoom=(address=="Stuttgart, DE"?4:6); //var mapType=G_SATELLITE_MAP; var mapType=G_HYBRID_MAP; if (addressParts && address!="Stuttgart, DE") { mapZoom=10; mapType=G_HYBRID_MAP; } if (map.getZoom()!=mapZoom || map.getCurrentMapType()!=mapType) {map.setCenter(point, mapZoom, mapType); } else if (point) {map.panTo(new GLatLng(point.y, point.x)); } mapChangeEndRunning=false; // Namen und Orte einblenden clearLoadedOrteCalls(); fncLoadedOrte("", "", ""); } function searchFullText(vFullText) { //map.clearOverlays(); if (vFullText != "") { document.getElementById("volltextWaiter").style.visibility="visible"; fulltext.URL = "../global/search_europakarte_fulltext.php"; fulltext.SendRequestData = "fulltext=" + escape(vFullText); // + "&pid=" + pid + "&lang=" + lang; fulltext.CallbackFunction = "callback_fncFullText"; fulltext.Call(); } // end if } // end function function callback_fncFullText() { var tmpFullTextResult=eval("("+fulltext.Data+")"); if (tmpFullTextResult) { if (typeof tmpFullTextResult.geoRect!="undefined") // Geo-Maße setzen { setLatLngRect(map, tmpFullTextResult.geoRect); if (tmpFullTextResult.latitude!=0 && tmpFullTextResult.latitude!=0) {//map.panTo(new GLatLng(tmpFullTextResult.latitude, tmpFullTextResult.longitude)); } } else { if (typeof tmpFullTextResult.googleAddress!="undefined") // Addresse anzeigen {showAddress(tmpFullTextResult.googleAddress, tmpFullTextResult.longitude, tmpFullTextResult.latitude); } } } // Waiter ausblenden document.getElementById("volltextWaiter").style.visibility="hidden"; } function fncCreateTextMarker(vPosition, vText, vLink) { if (vPosition.x=="" && vPosition.y=="") // Positionierung per vorhandener Daten {mapLoadGeoPos.URL="../global/search_europakarte_loadgeopos.php"; mapLoadGeoPos.SendRequestData="land="+vPosition.land+"®ion="+vPosition.region+"&unterregion="+vPosition.unterregion+"&ort="+vPosition.ort; // pid="+pid+"&lang="+lang+"& tmpGeoData=mapLoadGeoPos.Call(); eval(tmpGeoData); if (typeof tmpGeoPoint!="undefined") // Alternativer GeoPoint gefunden, anhand geo_land/region/ort-Tabellen {fncSetTextMarker({x: tmpGeoPoint.x, y: tmpGeoPoint.y}, vText, vLink); } else {var geocoder=new GClientGeocoder(); geocoder.getLatLng(vPosition.googleAddress, function (point) {if (point!=null) {fncSetTextMarker({x: point.x, y: point.y}, vText, vLink); } } ); } } else // Direkte Positionierung per x, y {fncSetTextMarker(vPosition, vText, vLink); } } function fncSetTextMarker(vPoint, vText, vLink) {var textIcon=new GIcon(); textIcon.image="../global/search_europakarte_genTextPic.php?text="+vText; var textIconSize=(vText.length*7); textIcon.iconSize=new GSize(textIconSize, 11); textIcon.iconAnchor=new GPoint(textIconSize/2, 5); var tmpMarker=new GMarker(new GPoint(vPoint.x, vPoint.y), {icon: textIcon, clickable: true, title: vText} ); GEvent.addListener(tmpMarker, "click", function() {document.location.href=vLink; } ); map.addOverlay(tmpMarker); } function fncCreateMarker(vPosObject, vOrtText) { var tmpId=vOrtText.text; markers[tmpId]=new Array(); if ((vOrtText.anzahlOrte*1)==1) // Nur ein Ort im Raster, als Ort anzeigen { var textIcon=new GIcon(); var textIconSize=0; var anzahlFerienhaeuserLen=vOrtText.anzahlFerienhaeuser.replace(/,\./, ""); anzahlFerienhaeuserLen=anzahlFerienhaeuserLen.length; if (anzahlFerienhaeuserLen<=2) {textIconSize=22;} if (anzahlFerienhaeuserLen==3) {textIconSize=32;} if (anzahlFerienhaeuserLen>=4) {textIconSize=42;} textIcon.image="../global/search_europakarte_genBallPic.php?text="+vOrtText.anzahlFerienhaeuser+(navigator.userAgent.indexOf("MSIE 6")!=-1?"&indexedPalette=true":"")+"&orteImage=true"; textIcon.iconSize=new GSize(textIconSize, textIconSize); textIcon.iconAnchor=new GPoint(textIconSize/2, textIconSize/2); markers[tmpId]["Marker"]=new GMarker(new GLatLng(vPosObject.lat, vPosObject.lng), {icon: textIcon, clickable: true, title: vOrtText.text+" ("+vOrtText.anzahlFerienhaeuser+" "+(vOrtText.anzahlFerienhaeuser==1?langtexte.objekt:langtexte.objekte)+")"} ); } else // Mehrere Orte im Raster, als Anzahl-Ball anzeigen { var textIcon=new GIcon(); var textIconSize=0; var anzahlFerienhaeuserLen=vOrtText.anzahlFerienhaeuser.replace(/,\./, ""); anzahlFerienhaeuserLen=anzahlFerienhaeuserLen.length; if (anzahlFerienhaeuserLen<=2) {textIconSize=22;} if (anzahlFerienhaeuserLen==3) {textIconSize=32;} if (anzahlFerienhaeuserLen>=4) {textIconSize=42;} textIcon.image="../global/search_europakarte_genBallPic.php?text="+vOrtText.anzahlFerienhaeuser+(navigator.userAgent.indexOf("MSIE 6")!=-1?"&indexedPalette=true":""); textIcon.iconSize=new GSize(textIconSize, textIconSize); textIcon.iconAnchor=new GPoint(textIconSize/2, textIconSize/2); markers[tmpId]["Marker"]=new GMarker(new GLatLng(vPosObject.lat, vPosObject.lng), {icon: textIcon, clickable: true, title: langtexte.orteum.replace(/%s/, vOrtText.text)+" ("+vOrtText.anzahlFerienhaeuser+" "+(vOrtText.anzahlFerienhaeuser==1?langtexte.objekt:langtexte.objekte)+")"} ); } GEvent.addListener(markers[tmpId]["Marker"], "click", function() { if (vOrtText.anzahlOrte>1 && map.getZoom()<=15) {map.zoomIn(); } //map.panTo(new GLatLng(vPosObject.lat, vPosObject.lng)); // Suche für Ort starten if (vOrtText.anzahlOrte==1) { // Wenn Land-Box ein hidden-Feld ist, dann sind die Einträge Links, dann // direkt weiterleiten, auf www.atraveo.[...]/[...] if (document.suchform.land.type=="hidden") { fncPlainUrlCall("../"+(document.location.href.indexOf("server/")!=-1?"allgemein/":"")+(doHTMLLoadCatName?doHTMLLoadCatName+"_":"")+vOrtText.text); return; } changeToLRUO(); fncLoadBoxes(vPosObject, vOrtText.text); startSearchFromMap=true; startSearch(false); startSearchFromMap=false; enableUmkreis(); //setUmkreisObject(); } //alert("Momentan nicht verfügbar."); } ); if (yellowMarker!=null && tmpId==yellowMarker.key) {map.addOverlay(yellowMarker.marker); } else {map.addOverlay(markers[tmpId]["Marker"]); } } function fncLoadedOrte(vLand, vRegion, vUnterregion) { // Karte nicht sichrbar ?, dann abbrechen if (hideSearchMap) {return; } if (map.getZoom()<6) // kleiner Zoom, keine Ort-Ebene {return; } if (loadedOrteCalls.timeoutHandle!=null) { return; //window.clearTimeout(loadedOrteCalls.timeoutHandle); //loadedOrteCalls.timeoutHandle=null; } loadedOrteCalls.commands=""; loadedOrteCalls.timeoutHandle=null; mapLoadOrte.URL="../global/search_europakarte_loadorte.php"; mapLoadOrte.SendRequestData="land="+escape(vLand)+"®ion="+escape(vRegion)+"&unterregion="+escape(vUnterregion)+"&"+getMapDimensionParameterString(map); mapLoadOrte.CallbackFunction="callback_fncLoadedOrte"; mapLoadOrte.Call(); // Linke Box doHTMLLoad (Suchemaschinen-Inhalte) nachladen fncLoadDoHTMLLoadBox() } function fncLoadedOrteCall() { if (loadedOrteCalls.commands!=null && loadedOrteCalls.commands.length>0) { var tmpCommandString=loadedOrteCalls.commands[loadedOrteCalls.commands.length-1]; loadedOrteCalls.commands.pop(); if (tmpCommandString.substr(tmpCommandString.length-1, 1)==";") {eval(tmpCommandString); } else {//alert("nicht ausgeführt: "+tmpCommandString); } loadedOrteCalls.timeoutHandle=window.setTimeout("fncLoadedOrteCall()", 0); return; } loadedOrteCalls.timeoutHandle=null; loadedOrteCalls.commands=null; mapChangeEndRunning=false; } function callback_fncLoadedOrte() { loadedOrteCalls.commands=new Array(); loadedOrteCalls.commands=mapLoadOrte.Data.split("\n"); if (loadedOrteCalls.commands.length>3) {loadedOrteCalls.timeoutHandle=window.setTimeout("fncLoadedOrteCall()", 0); } } function clearLoadedOrteCalls() { if (loadedOrteCalls.timeoutHandle!=null) {window.clearTimeout(loadedOrteCalls.timeoutHandle); } loadedOrteCalls.timeoutHandle=null; loadedOrteCalls.commands=null; } /* MapSearch-State */ function fncSwitchMapDisplay() { if (document.getElementById("googlemap").style.display=="block") // Sichtbar ?, einklappen { document.getElementById("idSwitchMapDisplayCloser").style.display="none"; document.getElementById("googlemap").style.display="none"; document.getElementById("googlemaplegende").style.display="none"; document.getElementById("expOptions").style.width="98%"; document.getElementById("idSwitchMapDisplayOpener").style.display="block"; fncSaveSearchMapState("1"); hideSearchMap=true; mapChangeEndRunning=false; } else // Nicht sichtbar ?, ausklappen { document.getElementById("idSwitchMapDisplayOpener").style.display="none"; document.getElementById("googlemap").style.display="block"; document.getElementById("googlemaplegende").style.display="block"; if (document.getElementById("map").style.width!="98%") {document.getElementById("expOptions").style.width="350px"; } document.getElementById("idSwitchMapDisplayCloser").style.display="block"; fncSaveSearchMapState(""); hideSearchMap=false; mapChangeEndRunning=false; // Wenn Karte noch nicht initialisiert wurde... if (map==null) { fncLoad(givenAddressObject); window.setTimeout("fncChangeMapAfterHide();", 1000); } else {fncChangeMapAfterHide(); } } } function fncChangeMapAfterHide() { if (document.suchform.unterregion.value!="") {changeUnterregion({value: document.suchform.unterregion.value}); } else if (document.suchform.region.value!="") {changeRegion({value: document.suchform.region.value}); } else if (document.suchform.land.value!="") {changeLand({value: document.suchform.land.value}); } } function fncSaveSearchMapState(vValue) { savehidesearchmapstate.URL="../ajax/saveHideSearchMapState.php"; savehidesearchmapstate.SendRequestData="hsm="+vValue; savehidesearchmapstate.CallbackFunction="callback_fncSaveSearchMapState"; savehidesearchmapstate.Call(); } function callback_fncSaveSearchMapState() { //alert(savehidesearchmapstate.Data); } function nurinkarteKlick(vObject) { if (!document.getElementById("nurinkarteDiv")) {return; } if (vObject.status=="checked") { closeSoundlikeWindow(); document.getElementById("expOptionsLRUO").style.display="none"; document.getElementById("nurinkarteBox").style.display="block"; } if (vObject.status=="unchecked") { document.getElementById("nurinkarteBox").style.display="none"; document.getElementById("expOptionsLRUO").style.display="block"; } } function suchergebnisinkarteKlick(vObject) { // Ob die URL bereits geladen wurde, wird in loadJsUrl gespeichert loadJsUrl("../js/suchergebnisseinkarte.js"); // Wert setzen, ob Karte die Suchergebnisse enthält mapProperties.viewSearchItems=(vObject.status=="checked"?true:false); } function landregionLinkKlick(vObject) { // Wert setzen, ob Karte die Land-/Region-Bälle enthält mapProperties.landregionLinks=(vObject.status=="checked"?true:false); if (mapProperties.landregionLinks==true) {showMapNames.showMarkers(); } if (mapProperties.landregionLinks==false) {showMapNames.hideMarkers(); } } function ortLinkKlick(vObject) { // Wert setzen, ob Karte die Ort-Bälle enthält mapProperties.ortLinks=(vObject.status=="checked"?true:false); } function setUmkreisObject(vObject) { // Karte nicht sichrbar ?, dann abbrechen if (hideSearchMap) {return; } if (document.suchform.wohnortLatitude.value != 0 && document.suchform.wohnortLongitude.value != 0) { var point = new GPoint(document.suchform.wohnortLatitude.value, document.suchform.wohnortLongitude.value); var tmpMinUmkreis = (document.suchform.minumkreis.value > 0 ? document.suchform.minumkreis.value : 0); var tmpMaxUmkreis = (document.suchform.maxumkreis.value > 0 ? document.suchform.maxumkreis.value : 0); } else { var ortMarker=markers[document.suchform.ort.value]; if (typeof ortMarker=="undefined") { if (umkreisObject!=null) {umkreisObject.HidePolyObject(); } return; } // Marker holen ortMarker=ortMarker["Marker"]; // Punkt holen var point=ortMarker.getPoint(); // Umkreis var tmpMinUmkreis = 0; var tmpMaxUmkreis = (document.suchform.umkreis.value > 0 ? document.suchform.umkreis.value : 0); } // end if if (umkreisObject==null) { // CPolyObject nachladen //loadJsUrl("../js/CPolyObject.js"); umkreisObject=new CPolyObject(map, "umkreisObject"); umkreisObject.useObjects.polyObjects=true; umkreisObject.useObjects.markers=false; umkreisObject.style={borderWeight: 1, borderColor: "#FFC600", borderOpacity: 0.35, backgroundColor: "#FFC600", backgroundOpacity: 0.25}; } if (tmpMaxUmkreis > 0) { if (typeof point.lat == "function") { umkreisObject.Circle({lat: point.lat(), lng: point.lng()}, tmpMaxUmkreis, tmpMinUmkreis); } else { umkreisObject.Circle({lat: point.x, lng: point.y}, tmpMaxUmkreis, tmpMinUmkreis); } // end if umkreisObject.ShowPolyObject(); } else { umkreisObject.HidePolyObject(); } } /** CIdMapControl * * Ermöglicht das einfache Hinzufügen einer HTML-ID, und deren Inhalt, zur Google-Map. * */ /** Konstruktor * * Initialisiert das CIdMapControl-Objekt * * @param object vGoogleMapObject Objektvariable der Goolgle-Map */ function CIdMapControl(vGoogleMapObject) { // Funktionen einbinden this._create=CIdMapControl__create; this._destroy=CIdMapControl__destroy; this.Add=CIdMapControl_Add; this.Remove=CIdMapControl_Remove; // Google-Map-Objekt this.mapObject=vGoogleMapObject; // Control initialisieren this.controlObjects=new Array(); } /** CIdMapControl - _create * * Initialisiert das Control-Objekt. * * @param string vId Id des HTML-Objekts. */ function CIdMapControl__create(vId, vPosition) { tmpControl=function () {}; tmpControl.prototype=new GControl(); tmpControl.prototype.initialize=new Function("vMap", 'vMap.getContainer().appendChild(document.getElementById("'+vId+'")); return document.getElementById("'+vId+'");'); tmpAlign=G_ANCHOR_TOP_RIGHT; tmpX=5; tmpY=5; if (typeof vPosition!="undefined") { if (typeof vPosition.align!="undefined") {tmpAlign=vPosition.align; } if (typeof vPosition.x!="undefined") {tmpX=vPosition.x; } if (typeof vPosition.y!="undefined") {tmpY=vPosition.y; } } tmpControl.prototype.getDefaultPosition = function() { return new GControlPosition(tmpAlign, new GSize(tmpX, tmpY)); } this.controlObjects[vId]=new tmpControl(); } /** CIdMapControl - _destroy * * Löscht das interne Control-Objekt */ function CIdMapControl__destroy(vId) { this.controlObjects[vId]=null; } /** CIdMapControl - Add * * Fügt das HTML-Id-Objekt in die Google-Map ein. * * @param string vId Id des HTML-Objekts. * @param position_object vPosition Position-Objekt {align, x, y}, optional */ function CIdMapControl_Add(vId, vPosition) { this._create(vId, vPosition); this.mapObject.addControl(this.controlObjects[vId]); } /** CIdMapControl - Remove * * Entfernt das HTML-Id-Objekt aus der Google-Map. * * @param string vId Id des HTML-Objekts. */ function CIdMapControl_Remove(vId) { this.mapObject.removeControl(this.controlObjects[vId]); this._destroy(vId); } /* Version: 1.1, dhn: 18.09.2008 */ function CPolyObject(vMap, vObjectName) { // Variablen this.objectName=vObjectName; this.mapObject=vMap; this.polyObject=null; this.mouseoverHandler=null; this.points=new Array(); this.markers=new Array(); this.markersDraggable=true; this.markerInfoWindow=true; this.redrawDirectly=false; this.useObjects={markers: true, polyObjects: true}; this.style={borderWeight: 5, borderColor: "#FF0000", borderOpacity: 0.35, backgroundColor: "#FF0000", backgroundOpacity: 0.25}; this.tooltipText=""; // Funktionen this.AddPoint=CPolyObject_AddPoint; this.AddPrevPoint=CPolyObject_AddPrevPoint; this.AddNextPoint=CPolyObject_AddNextPoint; this._addPointAtIndex=CPolyObject__addPointAtIndex; this.RemovePoint=CPolyObject_RemovePoint; this.Show=CPolyObject_ShowPolyObject; this.ShowPolyObject=CPolyObject_ShowPolyObject; this.Hide=CPolyObject_HidePolyObject; this.HidePolyObject=CPolyObject_HidePolyObject; this.Clear=CPolyObject_Clear; this.ShowMarkers=CPolyObject_ShowMarkers; this.HideMarkers=CPolyObject_HideMarkers; this.SetTooltipText=CPolyObject_SetTooltipText; this.CenterZoomToMap=CPolyObject_CenterZoomToMap; this.Circle=CPolyObject_Circle; } // Punkt hinzufügen function CPolyObject_AddPoint(vPoint) { if (typeof vPoint!="undefined") { if (typeof vPoint.length=="undefined") // Nur ein Punkt, dann Array erzeugen, dadurch mehrere Punkte als Parameter ermöglichen {vPoint=new Array(vPoint); } if (vPoint.length>0) { for (var pZ=0; pZ0) { vDirection=1; tmpAddIndex=(vPointIndex==this.points.length-1?0:vPointIndex+1); tmpPointA=this.points[vPointIndex]; tmpPointB=this.points[tmpAddIndex]; } newPoint={x: (tmpPointA.x+tmpPointB.x)/2.0, y: (tmpPointA.y+tmpPointB.y)/2.0}; //alert(newPoint.x+", "+newPoint.y); this.points.splice(tmpAddIndex, 0, newPoint); if (this.useObjects.markers) {this.markers.splice(tmpAddIndex, 0, new GMarker(new GLatLng(newPoint.y, newPoint.x), {draggable: this.markersDraggable}) ); } return tmpAddIndex; } // Punkt löschen function CPolyObject_RemovePoint(vPoint) { if (typeof vPoint=="undefined") {this.markers.pop(); } else { if (typeof vPoint=="number") { this.points.splice(vPoint, 1); this.mapObject.removeOverlay(this.markers[vPoint]); if (this.useObjects.markers) {this.markers.splice(vPoint, 1); } } if (typeof vPoint=="object") { for (pZ=0; pZ0) {tmpGPoints.push(tmpGPoints[0]); } this.polyObject=new GPolygon(tmpGPoints, this.style.borderColor, this.style.borderWeight, this.style.borderOpacity, this.style.backgroundColor, this.style.backgroundOpacity); this.mapObject.addOverlay(this.polyObject); // Tooltip-Text vorhanden ? if (this.tooltipText!="") { // Mouseover-Handler entfernen if (this.mouseoverHandler!=null) { GEvent.removeListener(this.mouseoverHandler); this.mouseoverHandler=null; } this.SetTooltipText(this.tooltipText); // Mouseover-Handler hinzufügen if (this.mouseoverHandler==null) { // Event erzeugen this.mouseoverHandler=GEvent.addListener(this.polyObject, "mouseover", new Function("", "{ \ document.getElementById('CPolyObjectTooltip_"+this.objectName+"').style.display='block'; \ }") ); this.mouseoverHandler=GEvent.addListener(this.polyObject, "mouseout", new Function("", "{ \ document.getElementById('CPolyObjectTooltip_"+this.objectName+"').style.display='none'; \ }") ); } } } } // Objekt entfernen function CPolyObject_HidePolyObject() { if (this.useObjects.polyObjects) { if (this.polyObject!=null) { // Aus Karte entfernen, ausblenden this.mapObject.removeOverlay(this.polyObject); this.polyObject=null; } } } // Marker zeichnen function CPolyObject_ShowMarkers(vMarkerIndexPos) { if (this.useObjects.markers) { var mapBounds=null; if (typeof vMarkerIndexPos!="undefined") {mapBounds=this.mapObject.getBounds(); // Map-Bounds ermitteln } for (mZ=(typeof vMarkerIndexPos!="undefined"?vMarkerIndexPos:0); mZ<(typeof vMarkerIndexPos!="undefined"?vMarkerIndexPos+1:this.points.length); mZ++) { // Nur anzeigen, wenn Punkt in Map-BoundsRect if ((mZ!=0 && mZ!=this.points.length-1) && mapBounds!=null) { if (!mapBounds.contains(new GLatLng(this.points[mZ]["y"], this.points[mZ]["x"]))) { mZ++; // Einen Punkt überspringen, damit die Anzeige schneller geht. continue; } } // Listener entfernen // Markers entfernen this.mapObject.removeOverlay(this.markers[mZ]); // Markers hinzufügen this.markers[mZ]=new GMarker(new GLatLng(this.points[mZ].y, this.points[mZ].x), {draggable: this.markersDraggable, title: mZ+1}); this.mapObject.addOverlay(this.markers[mZ]); // Marker Draggable machen if (this.markersDraggable) {GEvent.addListener(this.markers[mZ], (document.all /* IE ? */?"dragend":"drag"), new Function("", "{"+this.objectName+".points["+mZ+"]={x: this.getPoint().lng(), y: this.getPoint().lat()}; if ("+this.objectName+".redrawDirectly) {"+this.objectName+".ShowPolyObject();} }") ); } // Marker-Optionsmenü hinzufügen if (this.markerInfoWindow) { var tmpMarkerInfoHTML="Optionen

"; //tmpMarkerInfoHTML+="("+mZ+": lat "+this.points[mZ].y+", lng "+this.points[mZ].x+")

"; tmpMarkerInfoHTML+="Punkt vor diesem einfügen
"; tmpMarkerInfoHTML+="Punkt nach diesem einfügen
"; tmpMarkerInfoHTML+="Punkt Entfernen

"; tmpMarkerInfoHTML+="Alle Punkte Entfernen
"; tmpMarkerInfoHTML+="
"; //alert(tmpMarkerInfoHTML); GEvent.addListener(this.markers[mZ], "click", new Function("", "{this.openInfoWindowHtml('"+tmpMarkerInfoHTML+"');}") ); } } // End-for } } function CPolyObject_HideMarkers(vMarker) { if (this.useObjects.markers) { for (mZ=0; mZ360) {vNumberOfPoints=360; } } for (var rZ=0; rZ Abbruch if (typeof calendarObjects[vCalendarId]=="undefined") {return; } // Parameter des Kalender-Objekts ändern for (param in vParams) {calendarObjects[vCalendarId][param]=vParams[param]; } // End-for-vParams // Kalender ändern fncCalendarCall(calendarObjects[vCalendarId]); calendarFirstCalls[vCalendarId]=true; } function fncCalendarCall(vCalendarCallObject) { tmpCalendarAJAX.URL="../atraveoinc/calendar_inc.php"; tmpCalendarAJAX.SendRequestData="calendarDivId="+(vCalendarCallObject.divId); tmpCalendarAJAX.SendRequestData+="&calendarClickFunction="+(typeof vCalendarCallObject.clickFunction!="undefined"?vCalendarCallObject.clickFunction:""); tmpCalendarAJAX.SendRequestData+="&calendarClearButton="+(typeof vCalendarCallObject.clearButton!="undefined"?vCalendarCallObject.clearButton:""); tmpCalendarAJAX.SendRequestData+="&calendarDiff="+(typeof vCalendarCallObject.diff!="undefined"?vCalendarCallObject.diff:0); tmpCalendarAJAX.SendRequestData+="&calendarMonth="+(typeof vCalendarCallObject.month!="undefined"?vCalendarCallObject.month:""); tmpCalendarAJAX.SendRequestData+="&calendarYear="+(typeof vCalendarCallObject.year!="undefined"?vCalendarCallObject.year:""); tmpCalendarAJAX.SendRequestData+="&calendarDateFormat="+(typeof vCalendarCallObject.calendarDateFormat!="undefined"?vCalendarCallObject.calendarDateFormat:""); tmpCalendarAJAX.SendRequestData+="&objid="+(typeof vCalendarCallObject.objid!="undefined"?vCalendarCallObject.objid:""); tmpCalendarAJAX.SendRequestData+="&calendarMockText="+(typeof vCalendarCallObject.mockText!="undefined"?escape(vCalendarCallObject.mockText):""); tmpCalendarAJAX.SendRequestData+="&calendarNoPast="+(typeof vCalendarCallObject.noPast!="undefined"?escape(vCalendarCallObject.noPast):""); tmpCalendarAJAX.SendRequestData+="&calendarNoFuture="+(typeof vCalendarCallObject.noFuture!="undefined"?escape(vCalendarCallObject.noFuture):""); tmpCalendarAJAX.SendRequestData+="&calendarAnreisetageManuell="+(typeof vCalendarCallObject.anreisetage!="undefined"?escape(vCalendarCallObject.anreisetage):""); tmpCalendarAJAX.SendRequestData+="&ferienPosition="+(typeof vCalendarCallObject.ferienPosition!="undefined"?escape(vCalendarCallObject.ferienPosition):""); tmpCalendarAJAX.SendRequestData+="&jsFerienPos="+(typeof vCalendarCallObject.jsFerienPos!="undefined"?escape(vCalendarCallObject.jsFerienPos):""); tmpCalendarAJAX.SendRequestData+="&pid="+(typeof vCalendarCallObject.pid!="undefined"?vCalendarCallObject.pid:""); // Calendar-Id merken tmpCalendarAJAX.divId=vCalendarCallObject.divId; // Time-Handler setzen um ggfs. den Waiter anzuzeigen document.getElementById(vCalendarCallObject.divId).innerHTML="




"; // Calendar aufrufen tmpCalendarAJAX.CallbackFunction="callback_fncCalendarCall"; tmpCalendarAJAX.Call(); tmpobj = vCalendarCallObject.divId; } function callback_fncCalendarCall() { document.getElementById(tmpCalendarAJAX.divId).innerHTML=tmpCalendarAJAX.Data; fncFerien(tmpobj); } /** * vCalendarObject: {divId, clickFunction, day, month, monthName, year, formattedDate} */ function fncSetReisebeginnBox(vCalendarObject) { // DropDownBox-Text ändern if (vCalendarObject.day!=0 && vCalendarObject.month!=0 && vCalendarObject.year!=0) {document.getElementById(vCalendarObject.divId+"Txt").innerHTML = (vCalendarObject.formattedDate != "" ? vCalendarObject.formattedDate : (vCalendarObject.dayNameKrz != "" ? vCalendarObject.dayNameKrz : vCalendarObject.dayName.substring(0, 2))+", "+vCalendarObject.day+". "+vCalendarObject.monthName+" "+vCalendarObject.year); } else {document.getElementById(vCalendarObject.divId+"Txt").innerHTML=vCalendarObject.dayName; } // Werte in Formular speichern if (typeof document.suchform!="undefined" && typeof document.suchform.day!="undefined") {document.suchform.day.value=vCalendarObject.day; } if (typeof document.suchform!="undefined" && typeof document.suchform.month!="undefined") {document.suchform.month.value=vCalendarObject.month+""+vCalendarObject.year; } // DropDownBox schließen if (document.getElementById(vCalendarObject.divId+"Box").style.display=="block") {CDropDownBox_SwitchState({id: vCalendarObject.divId, bgColor: ''}); } } function fncSwitchCalendarMonthList(vCalendarDivId, vJustValue, vAlternateOptions) { var tmpPartnerlayout=(typeof vAlternateOptions.partnerlayout!="undefined" && vAlternateOptions.partnerlayout?true:false); document.getElementById("id"+vCalendarDivId+"DateSelectDiv").style.display=(typeof vJustValue!="undefined"?vJustValue:(document.getElementById("id"+vCalendarDivId+"DateSelectDiv").style.display=="none"?"block":"none")); document.getElementById("id"+vCalendarDivId+"DateSelectDivArw").src="../grafix/"+(document.getElementById("id"+vCalendarDivId+"DateSelectDiv").style.display=="block"?(tmpPartnerlayout?"arw_pl_close.gif":"arw_linkup_7f7f7f.png"):(tmpPartnerlayout?"arw_pl_open.gif":"arw_linkdown_7f7f7f.png")); if (document.getElementById("id"+vCalendarDivId+"DateSelectDiv").style.display=="none" && navigator.userAgent.indexOf("MSIE 6")!=-1) {fncChangeCalendar(vCalendarDivId, {}); } else {document.getElementById(vCalendarDivId).innerHTML=document.getElementById(vCalendarDivId).innerHTML; } } function fncFirstLoadCalendar(vObject) { if (vObject.state=="opened") { if (typeof calendarFirstCalls=="undefined" || (typeof calendarFirstCalls!="undefined" && !calendarFirstCalls[vObject.formFieldName]) ) { fncCalendarCall(calendarObjects[vObject.formFieldName]); calendarFirstCalls[vObject.formFieldName]=true; } } } function CMouseTipps(vObjectVarName) { this.mouseTippIdsTimer=new Array(); this.timeoutClose=250; this.objectVarName=vObjectVarName; this.openedIds=new Array(); this.Open=_CMouseTipps_Open; this.Move=_CMouseTipps_Move; this.Close=_CMouseTipps_Close; this.TimerClose=_CMouseTipps_TimerClose; } /* Gen-Help-Funktionen */ function _CMouseTipps_Open(vId, vEvent, vOffsetObject) { document.getElementById(vId).style.visibility='visible'; document.getElementById(vId).style.display='block'; if (typeof this.mouseTippIdsTimer[vId]!="undefined" && this.mouseTippIdsTimer[vId]!=null) {window.clearTimeout(this.mouseTippIdsTimer[vId]); } this.mouseTippIdsTimer[vId]=null; if (typeof this.openedIds[vId]=="undefined" || (typeof this.openedIds[vId]!="undefined" && document.getElementById(vId).style.top=="" && document.getElementById(vId).style.left=="") ) { this.openedIds[vId]=true; this.Move(vId, vEvent, (typeof vOffsetObject!="undefined"?vOffsetObject:{x: 0, y: 0}) ); } } function _CMouseTipps_Move(vId, vEvent, vOffsetObject) { /* Scroll-Position ermitteln */ var tmpScrollXPos=0; var tmpScrollYPos=0; var tmpOffset={x: 0, y: 0}; if (window.pageYOffSet!="undefined") { tmpScrollXPos=window.PageXOffset; tmpScrollYPos=window.PageYOffset; } if (document.body.scrollTop!="undefined") { tmpScrollXPos=document.body.scrollLeft; tmpScrollYPos=document.body.scrollTop; } /* Offset */ if (typeof vOffsetObject!="undefined" && typeof vOffsetObject.x!="undefined") {tmpOffset.x=vOffsetObject.x; } if (typeof vOffsetObject!="undefined" && typeof vOffsetObject.y!="undefined") {tmpOffset.y=vOffsetObject.y; } /* Positionieren */ var tmpIdWidth=document.getElementById(vId).style.width.replace(/\D/g, "")*1; document.getElementById(vId).style.left=(vEvent.x?vEvent.x:vEvent.layerX)-(tmpIdWidth/2)+tmpScrollXPos+tmpOffset.x; document.getElementById(vId).style.top=(vEvent.clientY?vEvent.clientY:vEvent.pageY)+15+tmpScrollYPos+tmpOffset.y; } function _CMouseTipps_Close(vId, vEvent) { this.mouseTippIdsTimer[vId]=window.setTimeout(this.objectVarName+".TimerClose('"+vId+"')", this.timeoutClose); } function _CMouseTipps_TimerClose(vId) { document.getElementById(vId).style.visibility='hidden'; document.getElementById(vId).style.display='none'; this.mouseTippIdsTimer[vId]=null; } // ----- var mousetipps=new CMouseTipps('mousetipps');