|
|
 |
 |
 |
 |
|
2 Aspen 10ml Stockbottle MirianaFlowers
|
1 Agrimony 10ml Stockbottle MirianaFlowers
|
|
|
|
--> Zum Bestellen klicken Sie bitte auf das Schaltfeld 'IN DEN WARENKORB'. Der Artikel erscheint dann in Ihrem Warenkorb - Mehr Infos zum Bestellvorgang. Haben Sie eine Frage?
|
|
|
Artikelnummer: 100447
Sofort ab Lager lieferbar
|
6.95 EUR
inkl USt - keine Versandkosten ab 15 EUR |
|
|
|
<-- Produktinformationen zur
Agrimony
10ml Stockbottle -->
Hersteller: Miriana® Flowers, eine Marke des englischen Unternehmens FloraCura .
Herstellung: Miriana® Flowers Stockbottles werden schonend und verantwortungsvoll in reiner Handarbeit hergestellt . Dr Bach's Vorgaben werden genau beachtet und befolgt. Beim Transport von Grossbritannien wird darauf geachtet, dass keine Durchleuchtung mittels Röntgenstrahlen o.ä. erfolgt.
Abfüllung: Die Miriana® Flowers Stockbottles werden in braune hochwertige Apothekenfläschchen mit einer Glaspipette (mit Naturkautschuksaugerhütchen ) und Originalitätsverschluss abgefüllt. Die Sprays besitzen an Stelle der Pipette einen umweltfreundlichen Pumpzerstäuber . Alle Stockbottles Fläschchen sind schutzcodiert.
Maße und Gewichte: Abfüllmenge: Mindestens 10ml, Gewicht: ca 45g, Durchmesser: ca 24mm, Höhe ca 86mm.
Andere Größen: Miriana® Flowers Bachblüten sind erhältlich als 2ml, 10ml, 20ml, 30ml Stockbottles sowie als 1.5g, 10g, 20g und 30g Bach-Globuli.
Konservierung und Haltbarkeit: Miriana® Flowers Stockbottles enthalten ca 20% vol Alkohol. Sie sind 10 Jahre haltbar .
Produktsicherheit und Garantie: Für Miriana® Flowers Bachblüten Stockbottles liegen Gutachten vor. Es wird eine umfassende Garantie gewährt.
Wirksamkeits- und Heilversprechen: Bei Bachblüten handelt es sich um alternative Hilfsmittel. Eine Aussage über Heilerfolge oder eine Wirksamkeitsaussage wird von uns nicht vorgenommen.
Informationsmaterial und Gebrauchsanleitung: Gratis erhalten Sie zu Ihrer Bestellung den umfangreichen FloraCura® Bachblüten Leitfaden .
<-- Über
Agrimony
-->Leitsatz:
Man versucht, quälende Gefühle, Gedanken und innere Unruhe zu verdrängen, indem man sie hinter einer Fassade von betonter Fröhlichkeit und Unbekümmertheit verbirgt.
 Dr. Bach schrieb (übersetzt):
Für die jovialen, fröhlichen und humorvollen Menschen, die den Frieden lieben und unter Meinungsverschiedenheiten und Streitigkeiten leiden; sie sind bereit, viel aufzugeben, um solche Unannehmlichkeiten zu vermeiden. Im allgemeinen verbergen sie ihre Schwierigkeiten sowie ihre innere und äußere Rastlosigkeit hinter einer Maske von Humor und Witz und sind deswegen sehr beliebt. Doch greifen sie oft im Übermaß zu Alkohol oder Drogen, um sich zu stimulieren und sich so mit Fröhlichkeit über ihre Schwierigkeiten hinwegzuhelfen.
Tipps zur Bachblüten Anwendung:
So finden Sie Ihre Bachblüten
Der kostenlose Online Test
Haltbarkeit
Zubereitung Ihrer Anwendungsmischung
Bachblüten Repertorium
/********************************************************************************************************************
* PopBox.js, v2.5 released December 18, 2007. Copyright (c) 2007, C6 Software, Inc. (http://www.c6software.com/)
* PopBox is released under the Creative Commons Attribution 3.0 license (http://creativecommons.org/licenses/by/3.0/)
* and is free to use in both commercial and non-commercial work, provided this header remains at the top.
* The latest version and documentation can be found at http://www.c6software.com/products/popbox/default.aspx.
* Questions and suggestions can be sent to john.reid@c6software.com. Please put "PopBox" somewhere in the
* email subject so I can easily filter. Send me your URL and I may post it!
* PopBox relies on many methods from Danny Goodman's (www.dannyg.com) javascript library DHTMLAPI.js
* and his books, without which scores of web developers would be totally lost. Thanks Danny.
********************************************************************************************************************/
// Seek nested NN4 layer from string name
function SeekLayer(doc, name) {
var theObj;
for (var i = 0; i < doc.layers.length; i++) {
if (doc.layers[i].name == name) {
theObj = doc.layers[i];
break;
}
// dive into nested layers if necessary
if (doc.layers[i].document.layers.length > 0) {
theObj = SeekLayer(document.layers[i].document, name);
}
}
return theObj;
}
// Convert object name string or object reference into a valid element object reference
function GetRawObject(obj) {
var theObj;
if (typeof obj == "string") {
var isCSS = (document.body && document.body.style) ? true : false;
if (isCSS && document.getElementById) {
theObj = document.getElementById(obj);
} else if (isCSS && document.all) {
theObj = document.all(obj);
} else if (document.layers) {
theObj = SeekLayer(document, obj);
}
} else {
// pass through object reference
theObj = obj;
}
return theObj;
}
// Return the available content width and height space in browser window
function GetInsideWindowSize() {
if (window.innerWidth) {
return {x:window.innerWidth, y:window.innerHeight};
} else if (document.compatMode && document.compatMode.indexOf("CSS1") >= 0) {
return {x:document.body.parentNode.clientWidth, y:document.body.parentNode.clientHeight};
} else if (document.body && document.body.clientWidth) {
return {x:document.body.clientWidth, y:document.body.clientHeight};
}
return {x:0, y:0};
}
// Retrieve the padding around an object
function GetObjectPadding(obj) {
var elem = GetRawObject(obj);
var l = 0;
var r = 0;
var t = 0;
var b = 0;
if (elem.currentStyle)
{
if (elem.currentStyle.paddingLeft)
l = parseInt(elem.currentStyle.paddingLeft, 10);
if (elem.currentStyle.paddingRight)
r = parseInt(elem.currentStyle.paddingRight, 10);
if (elem.currentStyle.paddingTop)
t = parseInt(elem.currentStyle.paddingTop, 10);
if (elem.currentStyle.paddingBottom)
b = parseInt(elem.currentStyle.paddingBottom, 10);
}
else if (window.getComputedStyle)
{
l = parseInt(window.getComputedStyle(elem,null).paddingLeft, 10);
r = parseInt(window.getComputedStyle(elem,null).paddingRight, 10);
t = parseInt(window.getComputedStyle(elem,null).paddingTop, 10);
b = parseInt(window.getComputedStyle(elem,null).paddingBottom, 10);
}
if (isNaN(l) == true) l = 0;
if (isNaN(r) == true) r = 0;
if (isNaN(t) == true) t = 0;
if (isNaN(b) == true) b = 0;
return {l:(l),r:(r),t:(t),b:(b)};
}
// Retrieve the rendered size of an element
function GetObjectSize(obj) {
var elem = GetRawObject(obj);
var w = 0;
var h = 0;
if (elem.offsetWidth) {
w = elem.offsetWidth; h = elem.offsetHeight;
} else if (elem.clip && elem.clip.width) {
w = elem.clip.width; h = elem.clip.height;
} else if (elem.style && elem.style.pixelWidth) {
w = elem.style.pixelWidth; h = elem.style.pixelHeight;
}
w = parseInt(w, 10);
h = parseInt(h, 10);
// remove any original element padding
var padding = GetObjectPadding(elem);
w -= (padding.l + padding.r);
h -= (padding.t + padding.b);
return {w:(w), h:(h)};
}
// Return the element position in the page, not it's parent container
function GetElementPosition(obj)
{
var elem = GetRawObject(obj);
var left = 0;
var top = 0;
// add any original element padding
var elemPadding = GetObjectPadding(elem);
left = elemPadding.l;
top = elemPadding.t;
if (elem.offsetParent)
{
left += elem.offsetLeft;
top += elem.offsetTop;
var parent = elem.offsetParent;
while (parent)
{
left += parent.offsetLeft;
top += parent.offsetTop;
var parentTagName = parent.tagName.toLowerCase();
if (parentTagName != "table" &&
parentTagName != "body" &&
parentTagName != "html" &&
parentTagName != "div" &&
parent.clientTop &&
parent.clientLeft)
{
left += parent.clientLeft;
top += parent.clientTop;
}
parent = parent.offsetParent;
}
}
else if (elem.left && elem.top)
{
left = elem.left;
top = elem.top;
}
else
{
if (elem.x)
left = elem.x;
if (elem.y)
top = elem.y;
}
return {x:left, y:top};
}
// return the number of pixels the scrollbar has moved the visible window
function GetScrollOffset()
{
if (window.pageYOffset) {
return {x:window.pageXOffset, y:window.pageYOffset};
} else if (document.compatMode && document.compatMode.indexOf("CSS1") >= 0) {
return {x:document.documentElement.scrollLeft, y:document.documentElement.scrollTop};
} else if (document.body && document.body.clientWidth) {
return {x:document.body.scrollLeft, y:document.body.scrollTop};
}
return {x:0, y:0};
}
function CreateRandomId()
{
var randomNum = 0.0;
while (randomNum == 0.0)
randomNum = Math.random();
var random = randomNum + "";
return "id" + random.substr(2);
}
function MouseMoveRevert(e)
{
if (pbMouseMoveRevert != null && pbMouseMoveRevert.length != 0)
{
var evt = (e) ? e : window.event;
var mouse = {x:0, y:0};
if (evt.pageX || evt.pageY)
{
mouse.x = evt.pageX;
mouse.y = evt.pageY;
}
else if (evt.clientX || evt.clientY)
{
var scroll = GetScrollOffset();
mouse.x = evt.clientX + scroll.x;
mouse.y = evt.clientY + scroll.y;
}
for (var x = 0; x < pbMouseMoveRevert.length;)
{
if (pbMouseMoveRevert[x] != null)
{
var id = pbMouseMoveRevert[x].id;
if (typeof popBox[id] != "undefined" && popBox[id] != null && popBox[id].hTarg != 0)
{
// if the mouse is outside the box then call revert
if (mouse.x < popBox[id].xTarg || mouse.x > (popBox[id].xTarg + popBox[id].wTarg) || mouse.y < popBox[id].yTarg || mouse.y > (popBox[id].yTarg + popBox[id].hTarg))
{
var className = pbMouseMoveRevert[x].className;
pbMouseMoveRevert.splice(x, 1);
Revert(id, null, className);
continue;
}
}
}
x++;
}
}
}
// holds numerous properties related to position, size and motion
var popBox = new Array();
// holds positioning value for the z axis
var popBoxZ = 100;
// holds the popped image for each tag with a pbsrc attribute
var pbSrc = new Array();
// holds the popbar function for each tag with a pbShowPopBar attribute
var pbPopBarFunc = new Array();
// holds the array of image ids for onmousemove Revert calls
var pbMouseMoveRevert = null;
// add initialization to window.onload
if (typeof window.onload == 'function')
{
var func = window.onload;
window.onload = function(){func();InitPbSrc();InitPbPopBar();};
}
else
{
window.onload = function(){InitPbSrc();InitPbPopBar();};
}
// loads all the popped src images
function InitPbSrc()
{
var images = null;
if (document.body)
{
if (document.body.getElementsByTagName)
images = document.body.getElementsByTagName("img");
else if (document.body.all)
images = document.body.all.tags("img");
}
if (images != null)
{
for (var x = 0; x < images.length; x++)
{
var poppedSrc = images[x].getAttribute('pbSrc');
if (poppedSrc != null)
{
if (images[x].id == "")
images[x].id = CreateRandomId();
if (pbSrc[images[x].id] == null)
{
pbSrc[images[x].id] = new Image();
pbSrc[images[x].id].src = poppedSrc;
}
}
}
}
}
// adds PopBar to images
function InitPbPopBar()
{
var images = null;
if (document.body)
{
if (document.body.getElementsByTagName)
images = document.body.getElementsByTagName("img");
else if (document.body.all)
images = document.body.all.tags("img");
}
if (images != null)
{
var imgArray = new Array();
for (var x = 0; x < images.length; x++)
{
if (images[x].id == "")
images[x].id = CreateRandomId();
imgArray[x] = images[x];
}
for (var x = 0; x < imgArray.length; x++)
CreatePopBar(imgArray[x]);
}
}
// initialize default popbox object
function InitPopBox(obj)
{
obj = GetRawObject(obj);
if (typeof popBox[obj.id] != "undefined" && popBox[obj.id] != null)
return obj;
var parent = document.body;
if (obj.id == "")
obj.id = CreateRandomId();
var elem = obj;
var startPos = GetElementPosition(elem);
var initSize = GetObjectSize(elem);
if (elem.style.position == "absolute" || elem.style.position == "relative")
{
parent = elem.parentNode;
startPos.x = parseInt(elem.style.left, 10);
startPos.y = parseInt(elem.style.top, 10);
}
// if there is a pbsrc then create that, else if it's not absolute or relative then create a copy
if (pbSrc[elem.id] != null || (elem.style.position != "absolute" && elem.style.position != "relative"))
{
var img = document.createElement("img");
// copy image properties
img.border = elem.border;
img.className = elem.className;
img.height = elem.height;
img.id = "popcopy" + elem.id;
img.src = (pbSrc[elem.id] != null) ? pbSrc[elem.id].src : elem.src;
img.alt = elem.alt;
img.title = elem.title;
img.width = elem.width;
img.onclick = elem.onclick;
img.ondblclick = elem.ondblclick;
img.onmouseout = elem.onmouseout;
// remove event so the object doesn't jump
elem.onmouseout = null;
img.style.width = initSize.w;
img.style.height = initSize.h;
img.style.position = "absolute";
img.style.left = startPos.x + "px";
img.style.top = startPos.y + "px";
img.style.cursor = elem.style.cursor;
parent.appendChild(img);
elem.style.visibility = "hidden";
elem = img;
}
popBox[elem.id] = { elemId:elem.id,
xCurr:0.0,
yCurr:0.0,
xTarg:0.0,
yTarg:0.0,
wCurr:0.0,
hCurr:0.0,
wTarg:0.0,
hTarg:0.0,
xStep:0.0,
yStep:0.0,
wStep:0.0,
hStep:0.0,
xDelta:0.0,
yDelta:0.0,
wDelta:0.0,
hDelta:0.0,
xTravel:0.0,
yTravel:0.0,
wTravel:0.0,
hTravel:0.0,
velM:1.0,
velS:1.0,
interval:null,
isAnimating:false,
xOriginal:startPos.x,
yOriginal:startPos.y,
wOriginal:parseFloat(initSize.w),
hOriginal:parseFloat(initSize.h),
isPopped:false,
fnClick:null,
fnDone:null,
fnPre:null,
originalId:null,
cursor:""
};
if (typeof obj.onclick == "function")
{
popBox[elem.id].fnClick = elem.onclick;
if (popBoxAutoClose == true && (typeof obj.ondblclick != "function" || obj.ondblclick == null) && typeof obj.onmouseover != "function")
elem.ondblclick = function(){Revert(elem.id, null, elem.className);};
}
if (popBoxAutoClose == true && typeof obj.onmouseover == "function" && (typeof obj.onmouseout != "function" || obj.onmouseout == null))
{
if (popBoxMouseMoveRevert == true)
{
if (pbMouseMoveRevert == null)
{
pbMouseMoveRevert = new Array();
if (typeof document.onmousemove == 'function')
{
var func = document.onmousemove;
document.onmousemove = function(e){func(e);MouseMoveRevert(e);};
}
else
{
document.onmousemove = MouseMoveRevert;
}
}
pbMouseMoveRevert.push({id:elem.id, className:elem.className});
}
else
{
elem.onmouseout = function(){Revert(elem.id, null, elem.className);};
}
}
if (obj.id != elem.id)
popBox[elem.id].originalId = obj.id;
return elem;
}
// calculate next steps and assign to style properties
function DoPopBox(elem)
{
if (typeof elem == "string") elem = GetRawObject(elem);
try
{
var bMDone = false;
var bSDone = false;
if ((popBox[elem.id].xTravel + Math.abs(popBox[elem.id].xStep)) < popBox[elem.id].xDelta)
{
var x = popBox[elem.id].xCurr + popBox[elem.id].xStep;
elem.style.left = parseInt(x, 10) + "px";
popBox[elem.id].xTravel += Math.abs(popBox[elem.id].xStep);
popBox[elem.id].xCurr = x;
} else {
popBox[elem.id].xTravel += Math.abs(popBox[elem.id].xStep);
elem.style.left = parseInt(popBox[elem.id].xTarg, 10) + "px";
bMDone = true;
}
if ((popBox[elem.id].yTravel + Math.abs(popBox[elem.id].yStep)) < popBox[elem.id].yDelta)
{
var y = popBox[elem.id].yCurr + popBox[elem.id].yStep;
elem.style.top = parseInt(y, 10) + "px";
popBox[elem.id].yTravel += Math.abs(popBox[elem.id].yStep);
popBox[elem.id].yCurr = y;
bMDone = false;
} else {
popBox[elem.id].yTravel += Math.abs(popBox[elem.id].yStep);
elem.style.top = parseInt(popBox[elem.id].yTarg, 10) + "px";
}
if ((popBox[elem.id].wTravel + Math.abs(popBox[elem.id].wStep)) < popBox[elem.id].wDelta)
{
var w = popBox[elem.id].wCurr + popBox[elem.id].wStep;
elem.style.width = parseInt(w, 10) + "px";
popBox[elem.id].wTravel += Math.abs(popBox[elem.id].wStep);
popBox[elem.id].wCurr = w;
} else {
popBox[elem.id].wTravel += Math.abs(popBox[elem.id].wStep);
elem.style.width = parseInt(popBox[elem.id].wTarg, 10) + "px";
bSDone = true;
}
if ((popBox[elem.id].hTravel + Math.abs(popBox[elem.id].hStep)) < popBox[elem.id].hDelta)
{
var h = popBox[elem.id].hCurr + popBox[elem.id].hStep;
elem.style.height = parseInt(h, 10) + "px";
popBox[elem.id].hTravel += Math.abs(popBox[elem.id].hStep);
popBox[elem.id].hCurr = h;
bSDone = false;
} else {
popBox[elem.id].hTravel += Math.abs(popBox[elem.id].hStep);
elem.style.height = parseInt(popBox[elem.id].hTarg, 10) + "px";
}
var obj = elem;
if (bMDone == true && bSDone == true)
{
clearInterval(popBox[elem.id].interval);
elem.style.cursor = popBox[elem.id].cursor;
var func = null;
if (popBox[elem.id].fnDone != null && typeof popBox[elem.id].fnDone == "function")
func = popBox[elem.id].fnDone;
if (popBox[elem.id].isPopped == true)
{
elem.style.zIndex = null;
if (popBox[elem.id].originalId != null)
{
obj = GetRawObject(popBox[elem.id].originalId);
obj.onmouseout = elem.onmouseout; // copy method back to original
obj.style.visibility = "visible";
// remove the copied object from the body and the array
elem.parentNode.removeChild(elem);
}
else
{
elem.style.width = parseInt(popBox[elem.id].wOriginal, 10) + "px";
elem.style.height = parseInt(popBox[elem.id].hOriginal, 10) + "px";
if (typeof popBox[elem.id].fnClick == "function")
elem.onclick = popBox[elem.id].fnClick;
}
delete popBox[elem.id];
popBox[elem.id] = null;
CreatePopBar(obj);
}
else
{
popBox[elem.id].isPopped = true;
popBox[elem.id].isAnimating = false;
CreateRevertBar(elem);
}
if (func != null && typeof func == "function")
func(obj);
}
}
catch(ex){}
}
function HasRevertBar(obj)
{
if (typeof obj == "string") obj = GetRawObject(obj);
var elem = obj;
if (popBox[elem.id] != null && popBox[elem.id].originalId != null)
elem = GetRawObject(popBox[elem.id].originalId);
var pbShowBar = elem.getAttribute('pbShowRevertBar');
var pbShowText = elem.getAttribute('pbShowRevertText');
var pbShowImage = elem.getAttribute('pbShowRevertImage');
pbShowBar = (pbShowBar != null) ? (pbShowBar == "true" || pbShowBar == true) : popBoxShowRevertBar;
pbShowText = (pbShowText != null) ? (pbShowText == "true" || pbShowText == true) : popBoxShowRevertText;
pbShowImage = (pbShowImage != null) ? (pbShowImage == "true" || pbShowImage == true) : popBoxShowRevertImage;
return (pbShowBar || pbShowText || pbShowImage);
}
function HasCaption(obj)
{
if (typeof obj == "string") obj = GetRawObject(obj);
var elem = obj;
if (popBox[elem.id] != null && popBox[elem.id].originalId != null)
elem = GetRawObject(popBox[elem.id].originalId);
var pbShowCaption = elem.getAttribute('pbShowCaption');
pbShowCaption = (pbShowCaption != null) ? (pbShowCaption == "true" || pbShowCaption == true) : popBoxShowCaption;
var pbCaption = null;
if (pbShowCaption == true)
{
pbCaption = elem.getAttribute('pbCaption');
if (pbCaption == null && elem.title != "") pbCaption = elem.title;
}
return (pbCaption != null && pbCaption != "");
}
function CreateRevertBar(obj)
{
if (typeof obj == "string") obj = GetRawObject(obj);
var elem = obj;
if (popBox[elem.id] != null && popBox[elem.id].originalId != null)
elem = GetRawObject(popBox[elem.id].originalId);
var pbShowBar = elem.getAttribute('pbShowRevertBar');
var pbShowText = elem.getAttribute('pbShowRevertText');
var pbShowImage = elem.getAttribute('pbShowRevertImage');
var pbText = elem.getAttribute('pbRevertText');
var pbImage = elem.getAttribute('pbRevertImage');
pbShowBar = (pbShowBar != null) ? (pbShowBar == "true" || pbShowBar == true) : popBoxShowRevertBar;
pbShowText = (pbShowText != null) ? (pbShowText == "true" || pbShowText == true) : popBoxShowRevertText;
pbShowImage = (pbShowImage != null) ? (pbShowImage == "true" || pbShowImage == true) : popBoxShowRevertImage;
if (pbText == null) pbText = popBoxRevertText;
if (pbImage == null) pbImage = popBoxRevertImage;
var pbShowCaption = elem.getAttribute('pbShowCaption');
pbShowCaption = (pbShowCaption != null) ? (pbShowCaption == "true" || pbShowCaption == true) : popBoxShowCaption;
var pbCaption = null;
if (pbShowCaption == true)
{
pbCaption = elem.getAttribute('pbCaption');
if (pbCaption == null && elem.title != "") pbCaption = elem.title;
}
CreatePbBar(obj, pbShowBar, pbShowText, pbShowImage, pbText, pbImage, popBoxRevertBarAbove, true, pbCaption)
}
function CreatePopBar(obj)
{
if (typeof obj == "string") obj = GetRawObject(obj);
if (typeof pbPopBarFunc[obj.id] != 'undefined' && pbPopBarFunc[obj.id] != null) return;
var pbShowBar = obj.getAttribute('pbShowPopBar');
if (pbShowBar != null)
{
var pbShowText = obj.getAttribute('pbShowPopText');
var pbShowImage = obj.getAttribute('pbShowPopImage');
var pbText = obj.getAttribute('pbPopText');
var pbImage = obj.getAttribute('pbPopImage');
pbShowBar = (pbShowBar == "true" || pbShowBar == true);
pbShowText = (pbShowText != null) ? (pbShowText == "true" || pbShowText == true) : popBoxShowPopText;
pbShowImage = (pbShowImage != null) ? (pbShowImage == "true" || pbShowImage == true) : popBoxShowPopImage;
if (pbText == null) pbText = popBoxPopText;
if (pbImage == null) pbImage = popBoxPopImage;
CreatePbBar(obj, pbShowBar, pbShowText, pbShowImage, pbText, pbImage, popBoxPopBarAbove, false, null)
}
}
function CreatePbBar(obj, pbShowBar, pbShowText, pbShowImage, pbText, pbImage, pbBarAbove, isRevert, pbCaption)
{
if (pbShowBar == false && pbShowText == false && pbShowImage == false && pbCaption == null) return;
if (typeof obj == "string") obj = GetRawObject(obj);
var objCursor = "hand";
if (obj.currentStyle)
objCursor = obj.currentStyle.cursor;
else if (window.getComputedStyle)
objCursor = window.getComputedStyle(obj,null).cursor;
var fnClick = function(){if (typeof obj.onclick == 'function') obj.onclick();};
var fnMouseOut = function(){if (typeof obj.onmouseout == 'function') obj.onmouseout();};
var fnMouseOver = function(){if (typeof obj.onmouseover == 'function') obj.onmouseover();};
var fnRemove = new Array();
var isPositioned = (obj.style.position == "absolute" || obj.style.position == "relative");
var left = 0;
var top = 0;
var parentNode = obj.parentNode;
var objSpan = null;
if (isPositioned == true)
{
left = parseInt(obj.style.left, 10);
top = parseInt(obj.style.top, 10);
var padding = GetObjectPadding(obj);
left += padding.l;
top += padding.t;
}
else
{
objSpan = document.createElement("span");
objSpan = (obj.nextSibling != null) ? parentNode.insertBefore(objSpan, obj.nextSibling) : parentNode.appendChild(objSpan);
objSpan.style.position = "relative";
objSpan.style.left = "0px";
objSpan.style.top = "0px";
var floatValue = "";
if (obj.align == "left") floatValue = "left";
else if (obj.align == "right") floatValue = "right";
floatValue = (obj.style.styleFloat && obj.style.styleFloat != "") ? obj.style.styleFloat : (obj.style.cssFloat && obj.style.cssFloat != "") ? obj.style.cssFloat : floatValue;
if (typeof obj.style.styleFloat != "undefined") objSpan.style.styleFloat = floatValue;
else if (typeof obj.style.cssFloat != "undefined") objSpan.style.cssFloat = floatValue;
var imgPos = GetElementPosition(obj);
var spanPos = GetElementPosition(objSpan);
objSpan.style.left = (spanPos.x > imgPos.x) ? (imgPos.x - spanPos.x) + "px" : imgPos.x - spanPos.x + "px";
objSpan.style.top = (spanPos.y > imgPos.y) ? (imgPos.y - spanPos.y) + "px" : imgPos.y - spanPos.y + "px";
objSpan.onclick = fnClick;
if (isRevert == true)
objSpan.onmouseout = fnMouseOut;
else
objSpan.onmouseover = fnMouseOver;
parentNode = objSpan;
}
var width = parseInt(obj.style.width, 10);
var height = parseInt(obj.style.height, 10);
var size = GetObjectSize(obj);
if (isNaN(width) == true)
width = size.w;
else if (size.w > width)
left += ((size.w - width) / 2);
if (isNaN(height) == true)
height = size.h;
else if (size.h > height)
top += ((size.h - height) / 2);
if (pbBarAbove == true) top -= 20;
var z = obj.style.zIndex + 1;
if (pbShowBar == true)
{
var divTrans = document.createElement("div");
divTrans.id = "popBoxDivTrans" + z;
divTrans.style.width = width + "px";
divTrans.style.height = "20px";
divTrans.style.borderStyle = "none";
divTrans.style.padding = "0px";
divTrans.style.margin = "0px";
divTrans.style.position = "absolute";
divTrans.style.left = left + "px";
divTrans.style.top = top + "px";
divTrans.style.backgroundColor = "#000000";
divTrans.style.cursor = objCursor;
divTrans.style.zIndex = z;
if (pbBarAbove == false)
{
if (typeof divTrans.style.filter != 'undefined')
divTrans.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=20)";
if (typeof divTrans.style.opacity != 'undefined')
divTrans.style.opacity = "0.2";
}
divTrans.onclick = fnClick;
if (isRevert == true)
divTrans.onmouseout = fnMouseOut;
else
divTrans.onmouseover = fnMouseOver;
parentNode.appendChild(divTrans);
fnRemove.push(function(){divTrans.parentNode.removeChild(divTrans);});
}
if (pbShowText == true)
{
var divText = document.createElement("div");
divText.id = "popBoxDivText" + z;
divText.style.width = width + "px";
divText.style.height = "20px";
divText.style.borderStyle = "none";
divText.style.padding = "0px";
divText.style.margin = "0px";
divText.style.position = "absolute";
divText.style.left = left + "px";
divText.style.top = top + "px";
divText.style.cursor = objCursor;
divText.style.textAlign = "center";
divText.style.fontFamily = "Arial, Verdana, Sans-Serif";
divText.style.fontSize = "9pt";
divText.style.backgroundColor = "Transparent";
divText.style.color = "#000000";
divText.style.zIndex = z;
divText.innerHTML = pbText;
divText.onclick = fnClick;
if (isRevert == true)
divText.onmouseout = fnMouseOut;
else
divText.onmouseover = fnMouseOver;
parentNode.appendChild(divText);
fnRemove.push(function(){divText.parentNode.removeChild(divText);});
}
if (pbShowImage == true)
{
var imgPopped = document.createElement("img");
imgPopped.id = "popBoxImgPopped" + z;
imgPopped.src = pbImage;
imgPopped.style.width = "20px";
imgPopped.style.height = "20px";
imgPopped.style.borderStyle = "none";
imgPopped.style.padding = "0px";
imgPopped.style.margin = "0px";
imgPopped.style.position = "absolute";
imgPopped.style.left = (left + width - 20) + "px";
imgPopped.style.top = top + "px";
imgPopped.style.cursor = objCursor;
imgPopped.style.zIndex = z;
imgPopped.onclick = fnClick;
if (isRevert == true)
imgPopped.onmouseout = fnMouseOut;
else
imgPopped.onmouseover = fnMouseOver;
parentNode.appendChild(imgPopped);
fnRemove.push(function(){imgPopped.parentNode.removeChild(imgPopped);});
}
if (pbCaption != null && pbCaption != "")
{
top += (height - 20);
if (pbBarAbove == true) top += 20;
if (popBoxCaptionBelow == true) top += 20;
var divCapTrans = document.createElement("div");
divCapTrans.id = "popBoxDivCapTrans" + z;
divCapTrans.style.width = width - 2 + "px";
divCapTrans.style.height = "20px";
divCapTrans.style.borderStyle = "solid";
divCapTrans.style.borderWidth = "1px";
divCapTrans.style.borderColor = "#999999";
divCapTrans.style.padding = "0px";
divCapTrans.style.margin = "0px";
divCapTrans.style.position = "absolute";
divCapTrans.style.left = left + "px";
divCapTrans.style.top = top - 1 + "px";
divCapTrans.style.backgroundColor = "#ffffdd";
divCapTrans.style.zIndex = z;
if (popBoxCaptionBelow == false)
{
if (typeof divCapTrans.style.filter != 'undefined')
divCapTrans.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=70)";
if (typeof divCapTrans.style.opacity != 'undefined')
divCapTrans.style.opacity = "0.7";
}
parentNode.appendChild(divCapTrans);
fnRemove.push(function(){divCapTrans.parentNode.removeChild(divCapTrans);});
var divCapText = document.createElement("div");
divCapText.id = "popBoxDivCapText" + z;
divCapText.style.width = width - 20 + "px";
divCapText.style.height = "20px";
divCapText.style.borderStyle = "none";
divCapText.style.padding = "0px";
divCapText.style.margin = "0px";
divCapText.style.position = "absolute";
divCapText.style.left = left + 10 + "px";
divCapText.style.top = top + "px";
divCapText.style.textAlign = "center";
divCapText.style.fontFamily = "Arial, Verdana, Sans-Serif";
divCapText.style.fontSize = "9pt";
divCapText.style.overflowY = "hidden";
divCapText.style.backgroundColor = "Transparent";
divCapText.style.color = "#000000";
divCapText.style.zIndex = z;
parentNode.appendChild(divCapText);
fnRemove.push(function(){divCapText.parentNode.removeChild(divCapText);});
AddCaptionText(divCapTrans, divCapText, pbCaption);
}
if (fnRemove.length != 0)
{
if (objSpan != null)
fnRemove.push(function(){objSpan.parentNode.removeChild(objSpan);});
if (isRevert == true)
{
if(popBox[obj.id].fnPre != null && typeof(popBox[obj.id].fnPre) == 'function')
fnRemove.push(popBox[obj.id].fnPre);
popBox[obj.id].fnPre = function(){for(var x = 0; x < fnRemove.length; x++){fnRemove[x]();}};
}
else
{
pbPopBarFunc[obj.id] = function(){for(var x = 0; x < fnRemove.length; x++){fnRemove[x]();}};
}
}
}
function AddCaptionText(divCapTrans, divCapText, caption)
{
var width = parseInt(divCapText.style.width, 10);
var divSizer = document.createElement("div");
divSizer.style.position = "absolute";
divSizer.style.width = width + "px";
divSizer.style.margin = "0px";
divSizer.style.fontFamily = divCapText.style.fontFamily;
divSizer.style.fontSize = divCapText.style.fontSize;
divSizer.style.visibility = "hidden";
divSizer.innerHTML = caption;
document.body.appendChild(divSizer);
var newSize = GetObjectSize(divSizer);
if (newSize.h > 20)
{
divSizer.innerHTML = caption + "..." + popBoxCaptionLessText;
newSize = GetObjectSize(divSizer);
var fullCaption = caption;
var charCount = parseInt(width * 0.14, 10) - 5; // safe estimate
divCapText.innerHTML = caption.substr(0, charCount) + "...";
var spanMore = document.createElement("span");
spanMore.style.color = "#0000ff";
spanMore.style.textDecoration = "underline";
spanMore.style.cursor = "pointer";
spanMore.onclick = function(){spanMore.parentNode.removeChild(spanMore);ResizeCaption(divCapTrans.id,divCapText.id,newSize.h,fullCaption);};
spanMore.innerHTML = popBoxCaptionMoreText;
divCapText.appendChild(spanMore);
}
else
divCapText.innerHTML = caption;
document.body.removeChild(divSizer);
}
function ResizeCaption(divCapTrans, divCapText, height, caption)
{
if (typeof divCapTrans == "string") divCapTrans = GetRawObject(divCapTrans);
if (typeof divCapText == "string") divCapText = GetRawObject(divCapText);
var h = parseInt(divCapText.style.height, 10);
var top = parseInt(divCapText.style.top, 10);
if (h < height)
{
if (h == 20)
{
height += 10;
divCapText.style.paddingTop = "5px";
divCapText.innerHTML = caption + "...";
var spanLess = document.createElement("span");
spanLess.style.color = "#0000ff";
spanLess.style.textDecoration = "underline";
spanLess.style.cursor = "pointer";
spanLess.onclick = function(){spanLess.parentNode.removeChild(spanLess);divCapText.innerHTML = caption;ResizeCaption(divCapTrans.id,divCapText.id,20,caption);};
spanLess.innerHTML = popBoxCaptionLessText;
divCapText.appendChild(spanLess);
if (popBoxCaptionBelow == false)
{
if (typeof divCapTrans.style.filter != 'undefined')
divCapTrans.style.filter = "";
if (typeof divCapTrans.style.opacity != 'undefined')
divCapTrans.style.opacity = "1.0";
}
}
if ((h + 10) >= height)
{
top -= (height - h);
h = height;
}
else
{
top -= 10;
h += 10;
}
divCapTrans.style.height = h + "px";
divCapText.style.height = h + "px";
divCapTrans.style.top = (top - 1) + "px";
divCapText.style.top = top + "px";
if (h != height)
setTimeout("ResizeCaption(\"" + divCapTrans.id + "\",\"" + divCapText.id + "\"," + height + ",\"" + caption + "\")", 10);
}
else
{
if ((h - 10) <= height)
{
top += (h - height);
h = height;
}
else
{
top += 10;
h -= 10;
}
divCapTrans.style.height = h + "px";
divCapText.style.height = h + "px";
divCapTrans.style.top = (top - 1) + "px";
divCapText.style.top = top + "px";
divCapText.style.paddingTop = "0px";
if (h == height)
{
if (popBoxCaptionBelow == false)
{
if (typeof divCapTrans.style.filter != 'undefined')
divCapTrans.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=70)";
if (typeof divCapTrans.style.opacity != 'undefined')
divCapTrans.style.opacity = "0.7";
}
AddCaptionText(divCapTrans, divCapText, caption);
}
else
{
setTimeout("ResizeCaption(\"" + divCapTrans.id + "\",\"" + divCapText.id + "\"," + height + ",\"" + caption + "\")", 10);
}
}
}
function CreateWaitImage(obj)
{
if (typeof obj == "string") obj = GetRawObject(obj);
var newId = "popBoxImgWait" + obj.id;
var imgWait = GetRawObject(newId);
if (imgWait != null)
return imgWait;
var left = 0;
var top = 0;
if (obj.style.position == "absolute" || obj.style.position == "relative")
{
left = parseInt(obj.style.left, 10);
top = parseInt(obj.style.top, 10);
}
else
{
var xy = GetElementPosition(obj);
left = xy.x;
top = xy.y;
var padding = GetObjectPadding(obj);
left -= padding.l;
top -= padding.t;
}
var width = parseInt(obj.style.width, 10);
var height = parseInt(obj.style.height, 10);
var size = GetObjectSize(obj);
if (isNaN(width) == true)
width = size.w;
else if (size.w > width)
left += ((size.w - width) / 2);
if (isNaN(height) == true)
height = size.h;
else if (size.h > height)
top += ((size.h - height) / 2);
var parentNode = obj.parentNode;
imgWait = document.createElement("img");
imgWait.id = newId;
imgWait.src = popBoxWaitImage.src;
imgWait.style.position = "absolute";
imgWait.style.left = (left + (width / 2) - (popBoxWaitImage.width / 2)) + "px";
imgWait.style.top = (top + (height / 2) - (popBoxWaitImage.height / 2)) + "px";
imgWait.style.cursor = obj.style.cursor;
imgWait.style.zIndex = obj.style.zIndex + 1;
parentNode.appendChild(imgWait);
return imgWait;
}
// encapsulates the Popped image sizing logic
function CalculateImageDimensions(newWidth, newHeight, fullWidth, fullHeight, windowSize)
{
if (newWidth == null)
{
if (newHeight == null)
{
newWidth = fullWidth;
newHeight = fullHeight;
}
else if (newHeight == 0)
{
newHeight = Math.min(windowSize.y, fullHeight);
var scale = parseFloat(newHeight) / parseFloat(fullHeight);
newWidth = parseInt(fullWidth * scale);
}
else
{
var scale = parseFloat(newHeight) / parseFloat(fullHeight);
newWidth = parseInt(fullWidth * scale);
}
}
else if (newWidth == 0)
{
if (newHeight == null)
{
newWidth = Math.min(windowSize.x, fullWidth);
var scale = parseFloat(newWidth) / parseFloat(fullWidth);
newHeight = parseInt(fullHeight * scale);
}
else if (newHeight == 0)
{
if (windowSize.x < fullWidth || windowSize.y < fullHeight)
{
var scale = Math.min(parseFloat(windowSize.x) / parseFloat(fullWidth), parseFloat(windowSize.y) / parseFloat(fullHeight));
newWidth = parseInt(fullWidth * scale);
newHeight = parseInt(fullHeight * scale);
}
else
{
newWidth = fullWidth;
newHeight = fullHeight;
}
}
else
{
var scale = parseFloat(newHeight) / parseFloat(fullHeight);
newWidth = Math.min(windowSize.x, parseInt(fullWidth * scale));
}
}
else
{
if (newHeight == null)
{
var scale = parseFloat(newWidth) / parseFloat(fullWidth);
newHeight = parseInt(fullHeight * scale);
}
else if (newHeight == 0)
{
var scale = parseFloat(newWidth) / parseFloat(fullWidth);
newHeight = Math.min(windowSize.y, parseInt(fullHeight * scale));
}
}
return {x:newWidth, y:newHeight};
}
/***************************************************************************************************
* This is where the user-callable section starts.
* Function signatures above this line are subject to change.
***************************************************************************************************/
// Globals you can assign
var popBoxAutoClose = true;
var popBoxMouseMoveRevert = true;
var popBoxWaitImage = new Image();
popBoxWaitImage.src = "/images/spinner40.gif";
var popBoxShowRevertBar = true;
var popBoxShowRevertText = true;
var popBoxShowRevertImage = true;
var popBoxRevertText = "ZUM VERKLEINERN BILD ANKLICKEN";
var popBoxRevertImage = "/images/magminus.gif";
var popBoxRevertBarAbove = false;
// there is no popBoxShowPopBar global, but instead the pbShowPopBar attribute must be
// set on the img for the PopBar funtionality to work (can be true or false)
var popBoxShowPopText = true;
var popBoxShowPopImage = true;
var popBoxPopText = "";
var popBoxPopImage = "/images/magplus.gif";
var popBoxPopBarAbove = false;
var popBoxShowCaption = true;
var popBoxCaptionBelow = false;
var popBoxCaptionMoreText = "more";
var popBoxCaptionLessText = "less";
// these custom attributes on the element will override the globals above
// pbShowRevertBar, pbShowRevertText, pbShowRevertImage, pbRevertText, pbRevertImage
// pbShowPopBar, pbShowPopText, pbShowPopImage, pbPopText, pbPopImage, pbShowCaption
// Advanced method to begin moves and resizes. (Use Pop/PopEx and Revert where possible instead.)
// X and Y postfixes refer to the top left pixel. W and H postfixes refer to the width and height
// speedM and speedS are the speeds of the move and size respectively
// className denotes the CSS class to apply to the object that is being moved and/or sized
// fnDone denotes the script method to run when the move/resize is complete. It must have a single
// parameter that holds the object itself.
function PopBox(obj, startX, startY, endX, endY, startW, startH, endW, endH, speedM, speedS, className, fnDone)
{
if (typeof obj == "string") obj = GetRawObject(obj);
if (obj == null || typeof obj != "object" || isNaN(startX) || isNaN(startY) || isNaN(endX) || isNaN(endY) || isNaN(startW) || isNaN(startH) || isNaN(endW) || isNaN(endH) || isNaN(speedM) || isNaN(speedS))
return;
var elem = InitPopBox(obj);
if (popBox[elem.id].isAnimating == true)
{
var str = "PopBox('" + elem.id + "'," + startX + "," + startY + "," + endX + "," + endY + "," + startW + "," + startH + "," + endW + "," + endH + "," + speedM + "," + speedS + ",'" + className + "');";
setTimeout(str, 10);
}
else
{
popBox[elem.id].isAnimating = true;
popBox[elem.id].xCurr = parseFloat(startX);
popBox[elem.id].yCurr = parseFloat(startY);
popBox[elem.id].wCurr = parseFloat(startW);
popBox[elem.id].hCurr = parseFloat(startH);
popBox[elem.id].xTarg = parseFloat(endX);
popBox[elem.id].yTarg = parseFloat(endY);
popBox[elem.id].wTarg = parseFloat(endW);
popBox[elem.id].hTarg = parseFloat(endH);
popBox[elem.id].xDelta = Math.abs(parseFloat(endX) - parseFloat(startX));
popBox[elem.id].yDelta = Math.abs(parseFloat(endY) - parseFloat(startY));
popBox[elem.id].wDelta = Math.abs(parseFloat(endW) - parseFloat(startW));
popBox[elem.id].hDelta = Math.abs(parseFloat(endH) - parseFloat(startH));
popBox[elem.id].velM = (speedM) ? Math.abs(parseFloat(speedM)) : 1.0;
popBox[elem.id].velS = (speedS) ? Math.abs(parseFloat(speedS)) : 1.0;
popBox[elem.id].xTravel = 0.0;
popBox[elem.id].yTravel = 0.0;
popBox[elem.id].wTravel = 0.0;
popBox[elem.id].hTravel = 0.0;
// set element's start position
elem.style.position = "absolute";
elem.style.left = startX + "px";
elem.style.top = startY + "px";
// set element's start size
elem.style.width = startW + "px";
elem.style.height = startH + "px";
elem.style.display = "inline";
// the length of the line between start and end points
var lenMove = Math.sqrt((Math.pow((startX - endX), 2)) + (Math.pow((startY - endY), 2)));
var lenSize = Math.sqrt((Math.pow((startW - endW), 2)) + (Math.pow((startH - endH), 2)));
// if the speeds are the same then they should be in sync
if (popBox[elem.id].velM == popBox[elem.id].velS)
lenMove = lenSize = Math.sqrt(Math.pow(lenMove, 2) + Math.pow(lenSize, 2));
// how big the pixel steps are along each axis
popBox[elem.id].xStep = ((popBox[elem.id].xTarg - popBox[elem.id].xCurr) / lenMove) * popBox[elem.id].velM;
popBox[elem.id].yStep = ((popBox[elem.id].yTarg - popBox[elem.id].yCurr) / lenMove) * popBox[elem.id].velM;
// how big the pixel steps are for each resize
popBox[elem.id].wStep = ((popBox[elem.id].wTarg - popBox[elem.id].wCurr) / lenSize) * popBox[elem.id].velS;
popBox[elem.id].hStep = ((popBox[elem.id].hTarg - popBox[elem.id].hCurr) / lenSize) * popBox[elem.id].velS;
popBox[elem.id].fnDone = fnDone;
if (className != null)
elem.className = className;
popBox[elem.id].cursor = elem.style.cursor;
elem.style.cursor = "default";
if (popBox[elem.id].isPopped == false)
elem.style.zIndex = ++popBoxZ;
var id = elem.id;
if (popBox[elem.id].originalId != null) id = popBox[elem.id].originalId;
if (pbPopBarFunc[id] != null)
{
pbPopBarFunc[id]();
pbPopBarFunc[id] = null;
}
if (popBox[elem.id].fnPre != null && typeof popBox[elem.id].fnPre == 'function')
popBox[elem.id].fnPre();
// start the repeated invocation of the animation
popBox[elem.id].interval = setInterval("DoPopBox('" + elem.id + "')", 10);
}
}
/***************************************************************************************************
* Helper functions. Use these! They are much easier. Call Pop/PopEx and then Revert, or set the
* popBoxAutoClose global to true and Revert will be called for you.
***************************************************************************************************/
// this basic method centers the image in the browser and displays it at its full resolution, subject to window size.
function Pop(obj, speed, className)
{
PopEx(obj, null, null, 0, 0, speed, className);
}
// If newLeft is null then the image is centered horizontally in the browser. Ditto for newTop (vertically).
// End newLeft and/or newTop with "A" for an absolute position, otherwise it is treated as a relative position.
// Ex: a newLeft of 20 would move right 20 pixels, "20A" would position 20 pixels from the left of it's containing element.
// If newWidth is 0 then the full image width is used, subject to scaling and window size. Ditto for newHeight.
// If newWidth is null the full width is used, regardless of window size, but still subject to scaling. Ditto for newHeight.
function PopEx(obj, newLeft, newTop, newWidth, newHeight, speed, className)
{
if (typeof obj == "string") obj = GetRawObject(obj);
if (obj.id == "")
obj.id = CreateRandomId();
var poppedSrc = obj.getAttribute('pbSrcNL');
if (poppedSrc == null && pbSrc[obj.id] == null)
poppedSrc = obj.getAttribute('pbSrc');
if (poppedSrc != null)
{
var poppedImg = new Image();
poppedImg.src = poppedSrc;
if (pbSrc[obj.id] != null)
delete pbSrc[obj.id];
pbSrc[obj.id] = poppedImg;
}
var objToPop = (pbSrc[obj.id] != null) ? pbSrc[obj.id] : obj;
var isReady = (typeof objToPop.readyState != 'undefined') ? (objToPop.readyState == "complete") : ((typeof objToPop.complete != 'undefined') ? (objToPop.complete == true) : true);
if (isReady == false)
{
var imgWait = CreateWaitImage(obj);
var str = "var imgWait = GetRawObject('" + imgWait.id + "'); if (imgWait != null) { imgWait.parentNode.removeChild(imgWait); PopEx('" + obj.id + "'," + newLeft + "," + newTop + "," + newWidth + "," + newHeight + "," + speed + ",'" + className + "'); }";
objToPop.onload = new Function("", str);
return;
}
var elem = InitPopBox(obj);
if (popBox[elem.id].isPopped == true) return;
if (typeof elem.ondblclick == "function")
elem.onclick = elem.ondblclick;
var startX = parseInt(elem.style.left);
var startY = parseInt(elem.style.top);
// figure out the popped image size and position
var windowSize = GetInsideWindowSize();
var hasRevertBar = HasRevertBar(obj);
var hasCaption = HasCaption(obj);
if (hasRevertBar == true && popBoxRevertBarAbove == true) windowSize.y -= 20;
if (hasCaption == true && popBoxCaptionBelow == true) windowSize.y -= 20;
var fullWidth = newWidth;
var fullHeight = newHeight;
if (newWidth == 0 || newHeight == 0 || newWidth == null || newHeight == null)
{
// get size from original object
if (pbSrc[obj.id] != null)
{
fullWidth = pbSrc[obj.id].width;
fullHeight = pbSrc[obj.id].height;
}
else if (obj.naturalWidth && obj.naturalHeight)
{
fullWidth = obj.naturalWidth;
fullHeight = obj.naturalHeight;
}
else
{
var img = new Image();
img.src = elem.src;
fullWidth = img.width;
fullHeight = img.height;
delete img;
}
// some browsers have a race condition where it still doesn't get set so just fill the window
if (fullWidth == 0 || fullHeight == 0)
{
var scale = Math.min(parseFloat(windowSize.x) / parseFloat(elem.width), parseFloat(windowSize.y) / parseFloat(elem.height));
fullWidth = parseInt(elem.width * scale);
fullHeight = parseInt(elem.height * scale);
}
}
// adjust window size variables for new image boundaries
if (newLeft != null)
{
if (typeof newLeft == "string" && newLeft.indexOf("A") == (newLeft.length - 1))
newLeft = parseInt(newLeft, 10);
else
newLeft = popBox[elem.id].xOriginal + parseInt(newLeft, 10);
windowSize.x -= newLeft;
}
if (newTop != null)
{
if (typeof newTop == "string" && newTop.indexOf("A") == (newTop.length - 1))
newTop = parseInt(newTop, 10);
else
newTop = popBox[elem.id].yOriginal + parseInt(newTop, 10);
windowSize.y -= newTop;
}
// adjust for scrollbars that might appear (quick compromise for browser incompatibilities)
if (newWidth == null && newHeight == 0 && fullWidth > (windowSize.x - 20))
windowSize.y -= 20;
else if (newWidth == 0 && newHeight == null && fullHeight > (windowSize.y - 4))
windowSize.x -= 4;
var newSize = CalculateImageDimensions(newWidth, newHeight, fullWidth, fullHeight, windowSize);
// width and height are now set, so position it
if (newLeft == null || newTop == null)
{
var scroll = GetScrollOffset();
if (newLeft == null)
{
newLeft = ((windowSize.x / 2) + scroll.x) - (newSize.x / 2);
if (newLeft < 0) newLeft = 0;
}
if (newTop == null)
{
newTop = ((windowSize.y / 2) + scroll.y) - (newSize.y / 2);
if (hasRevertBar == true && popBoxRevertBarAbove == true) newTop += 10;
if (hasCaption == true && popBoxCaptionBelow == true) newTop -= 10;
if (newTop < 0) newTop = 0;
}
}
var func = null;
if (typeof PostPopProcessing == "function")
func = PostPopProcessing;
if (typeof PrePopProcessing == "function")
PrePopProcessing(obj);
PopBox(elem, startX, startY, newLeft, newTop, popBox[elem.id].wOriginal, popBox[elem.id].hOriginal, newSize.x, newSize.y, speed, speed, className, func);
}
// Helper function for PopBox to move/resize the image back to its original position/size. Use this! It's much easier.
function Revert(obj, speed, className)
{
if (typeof obj == "string") obj = GetRawObject(obj);
if (typeof popBox[obj.id] == "undefined" || popBox[obj.id] == null) return;
if (typeof speed == 'undefined' || speed == null || speed == 0)
speed = Math.max(popBox[obj.id].velM, popBox[obj.id].velS);
if (typeof className == 'undefined')
className = popBox[obj.id].originalClassName;
var func = null;
if (typeof PostRevertProcessing == "function")
func = PostRevertProcessing;
if (typeof PreRevertProcessing == "function")
PreRevertProcessing(obj);
PopBox(obj, popBox[obj.id].xTarg, popBox[obj.id].yTarg, popBox[obj.id].xOriginal, popBox[obj.id].yOriginal, popBox[obj.id].wTarg, popBox[obj.id].hTarg, popBox[obj.id].wOriginal, popBox[obj.id].hOriginal, speed, speed, className, func);
}
/***************************************************************************************************
* These methods are the pre and post processing events for Pop/PopEx and Revert.
* Feel free to copy them to your own page script and add your own code to the method bodies.
***************************************************************************************************/
// called before the Pop begins
// The parameter is the original object
//function PrePopProcessing(obj)
//{
//}
// called after the pop is complete
// The parameter is the copy of the object that is resized
//function PostPopProcessing(obj)
//{
//}
// called before the Revert begins
// The parameter is the copy of the object that is resized
//function PreRevertProcessing(obj)
//{
//}
// called after the Revert is complete
// The parameter is the original object
//function PostRevertProcessing(obj)
//{
//}
|
Druckbare Version
|
|