// Vereinfacht die Übergabe von Parametern an html-Seiten, z.B.:
//
// Aufruf: www.bla.de/test.html?test=1&x=2&y=3
//
// Im Javascriptblock in test.html:
// var params=getJsParams(window.location.search);
//
// params sieht dann so aus:
// params[0]["test"] hat den Wert 1
// params[0]["x"] hat den Wert 2
// params[0]["y"] hat den Wert 3
//
// Wurden keine Werte an die Seite übergeben, ist params ein String mit
// dem Inhalt "noparams".
function getJsParams(search) {
var JsParams="noparams";
if (search.match(/\?/)) {
JsParams=new Array();
search = search.slice(1);
if (search.match(/(&|=|$)/)) {
JsParams[0]=new Array();
var p1=new Array();
p1=search.split(/&/);
for (var i=0; i < p1.length; ++i) {
var p2=new Array();
p2=p1[i].split(/=/);
eval("JsParams[0]['"+p2[0]+"']='"+p2[1]+"';");
}
}
}
return JsParams;
}
// Baut einen Bildnamen zusammen und lädt diesen, um in der
// Webstatistik Aussagen über Ladezeiten zu geben. Verwendet Intervalle
// in 200-ms-Schritten.
// Um z.B. die Onload-Zeit messen zu können, muss die verwendende Seite
// ganz oben stehen haben:
//
// Dies ermittelt die Millisekunden seit 1970 als Startzeit.
// Im onload-Tag der Seite muss dann stehen:
// z.B. monitor('http://www.automobile.de','onload','bilder');
function monitor(domain,typ,bereich,start_alternativ) {
var ms_ende=new Date().getTime();
var ms_diff;
if (start_alternativ) {
ms_diff=ms_ende-start_alternativ;
} else {
ms_diff=ms_ende-ms_start;
}
var intervall;
//
if (ms_diff<400) { intervall="0-400";
}
else if (ms_diff<800) { intervall="400-800";
}
else if (ms_diff<1200) { intervall="800-1200";
}
else if (ms_diff<1600) { intervall="1200-1600";
}
else if (ms_diff<2000) { intervall="1600-2000";
}
else if (ms_diff<2200) { intervall="2000-2200";
}
else if (ms_diff<2400) { intervall="2200-2400";
}
else if (ms_diff<2600) { intervall="2400-2600";
}
else if (ms_diff<2800) { intervall="2600-2800";
}
else if (ms_diff<3000) { intervall="2800-3000";
}
else if (ms_diff<3200) { intervall="3000-3200";
}
else if (ms_diff<3400) { intervall="3200-3400";
}
else if (ms_diff<3600) { intervall="3400-3600";
}
else if (ms_diff<3800) { intervall="3600-3800";
}
else if (ms_diff<4000) { intervall="3800-4000";
}
else if (ms_diff<5000) { intervall="4000-5000";
}
else if (ms_diff<6000) { intervall="5000-6000";
}
else if (ms_diff<7000) { intervall="6000-7000";
}
else if (ms_diff<8000) { intervall="7000-8000";
}
else if (ms_diff<9000) { intervall="8000-9000";
}
else if (ms_diff<10000) { intervall="9000-10000";
}
else { intervall="10000-max";
}
//
// z.B. http://www.automobile.de/monitor/onload/bilder/2000-max.gif
new Image().src=domain+"/monitor/"+typ+"/"+bereich+"/"+intervall+".gif?"+ms_start+"-"+ms_ende+"-"+ms_diff;
}
// if (ms_diff<200) {
// intervall="0-200";
// }
// else if (ms_diff<400) {
// intervall="200-400";
// }
// else if (ms_diff<600) {
// intervall="400-600";
// }
// else if (ms_diff<800) {
// intervall="600-800";
// }
// else if (ms_diff<1000) {
// intervall="800-1000";
// }
// else if (ms_diff<1200) {
// intervall="1000-1200";
// }
// else if (ms_diff<1400) {
// intervall="1200-1400";
// }
// else if (ms_diff<1600) {
// intervall="1400-1600";
// }
// else if (ms_diff<1800) {
// intervall="1600-1800";
// }
// else if (ms_diff<2000) {
// intervall="1800-2000";
// }
// else {
// intervall="2000-max";
// }
// Frameset nachladen, wenn ohne Frameset aufgerufen
function checkFrameset(dl,append) {
if (window.self==window.top)
{
if (!dl) dl="/cgi-bin/deeplink.pl";
var url=window.location.href;
var deeplink=url.replace(/^(http:\/\/[^\/]+)/,"$1"+dl); //alert(deeplink);
if (append) deeplink+=append;
window.top.location.href=deeplink;
}
}
// Diese Funktion blendet einen Bereich in Abhängigkeit der
// vom Bannermodul gesetzten Variablen img_imago_de_ ein
// und ist sinnvoll, falls unser JS-Tag über einen externen Adserver
// ausgeliefert wird oder der Bannerplatz von Style/HTML-Angaben umschlossen
// ist, die ebenfalls nur bei vorhandener Kampagne angezeigt werden sollen.
//
// in der HTML-Seite:
//
// im Content:
// ...
//
// Über elementid kann was anderes als "bannerplatz" gesetzt werden.
//
function displayBanner(wid,elementid)
{
if (wid) {
if (!elementid) elementid="bannerplatz";
eval("var type_of = typeof(img_imago_de_"+wid+")");
// alert(wid);
// alert(elementid);
// alert(type_of);
// type_of kann 3 Werte annehmen:
// "undefined": Die Variable wurde gar nicht erst gesetzt.
// Dies ist der Fall, falls unser Tag über einen externen Adserver
// ausgeliefert wird, dieser jedoch eine EXTERNE Kampagne einblendet,
// unser Tag also gar nicht erst verwendet. Dann soll der Bannerplatz
// natürlich ebenfalls eingeblendet werden.
// "object": Die Varbiable wurde über unsern Bannerserver mit "null" initialisiert,
// d.h. es wurde keine Kampagne eingeblendet. Der Bannerplatz soll also nicht erscheinen.
// "number": Es wurde eine Kampagne gefunden. img_imago_de_ enthält die Kampagnen-ID.
if ( (type_of == "undefined" || type_of == "number") && document.getElementById && document.getElementById(elementid) )
{
document.getElementById(elementid).style.display = "block";
}
}
}
// Dasselbe wie displayBanner(), bloß umgekehrt.
// Der Banner wird nur ausgeblendet, wenn explizit KEINE Kampagne von
// UNSEREM Bannerserver gefunden wurde. (type_of ist dann "object" wegen img_imago_de_=null)
function hideBanner(wid,elementid)
{
if (wid) {
if (!elementid) elementid="bannerplatz";
eval("var type_of = typeof(img_imago_de_"+wid+")");
// alert(wid);
// alert(elementid);
// alert(type_of);
if ( type_of == "object" && document.getElementById && document.getElementById(elementid) )
{
document.getElementById(elementid).style.display = "none";
}
}
}
// Passt einen iframe an die Höhe des anzuzeigenden Inhalts an.
// Muss im onload-Tag des iframes aufgerufen werden, der angepasst werden soll:
//