// JavaScript-Funktionen zur Steuerung der Schriftgroesse in einem HTML-Dokument
// Copyright (C) 2005 Alexander Mueller
// Autor: Alexander Mueller
// Web:   http://www.EvoComp.de/
// Datei: fontsize.js
// The copyright notice must stay intact for use!
// You can obtain this and other scripts at http://www.EvoComp.de/scripts/skripte.html
//
// This program is distributed in the hope that it will be useful,
// but without any warranty, expressed or implied.


// !!! Benutzerdefinierte Variablen !!!
// Folgende Variablen koennen vom Benutzer definiert werden
// (die Werte werden durch entsprechend uebergebene Parameter der Funktion
//  init_FontSize ueberschrieben):
// Standardschriftgroesse
var initial_font_size = 11;
// Einheit, in der die Schriftgroesse angegeben ist
var font_unity = 'px';
// Schrittweite, mit der die Schrift erhoeht bzw. erniedrigt werden soll
var delta = 3.0;
// !!! Ende Benutzerdefinierte Variablen !!!


// zur Speicherung der aktuellen Schriftgroesse
var fsize = initial_font_size;

// Initialisierung der Schriftgroesse auf in der URL uebergebene, die der Funktion
// uebergebene bzw. oben angegebene Standardgroesse (falls keine Parameter uebergeben
// wurden)
var test_size;
function init_FontSize (ifs, fu, del)
{
        if (!isNaN(ifs))
                initial_font_size = parseFloat(ifs);
        if ("pt,pc,in,mm,cm,px,em,ex,%".indexOf (fu) != -1)
                font_unity = fu;
        if (!isNaN(del))
                delta = parseFloat(del);
        if (isNaN(parseFloat(document.getElementsByTagName('body')[0].style.fontSize)) || parseFloat(document.getElementsByTagName('body')[0].style.fontSize) == 0)
                fsize = getFontSize ();
        else
                fsize = parseFloat(document.getElementsByTagName('body')[0].style.fontSize);
        if (fsize != initial_font_size)
                addFontSizeToLinks ();
        document.getElementsByTagName('body')[0].style.fontSize = fsize + font_unity;

        test_size=fsize;


}

// Schriftgroesse um delta erhoehen
function incFontSize ()
{
        if (!isNaN(delta))
                setFontSize (Math.round((parseFloat(fsize) + parseFloat(delta)) * 100) / 100);
}

// Schriftgroesse um delta verkleinern
function decFontSize ()
{
        if (!isNaN(delta))
                setFontSize (Math.round((parseFloat(fsize) - parseFloat(delta)) * 100) / 100);
}


// Schriftgroesse um delta veraendern
function setFontSize (newsize)
{       test_size = newsize;
l_insite.hideIt(); //kalender
        if(newsize>17) newsize=17;
        if(newsize<11) newsize=11;
        fsize=newsize;
         if (!isNaN(newsize))
         {
                 fsize = Math.round((parseFloat(newsize)) * 100) / 100;
                 document.getElementsByTagName('body')[0].style.fontSize = fsize + font_unity;
                 addFontSizeToLinks ();
         }


         if(test_size<=17 && test_size>=11)
         {

         tabellen_anpassen(newsize);
         //open_kopfsym(newsize);
         }

         if(v_obj104==true) setze_layer_e4(newsize);
         //alert(S_VERZ_site);
         if(Number(S_VERZ_site)==5) bild_big_small();

if(S_VERZ_site!=4 && S_VERZ_site!=5)
{
         if(parent.frames[0] && geladen==true)
         {
         //alert(document.getElementById("formifr").innerHTML)
         switch(document.getElementById("formifr").innerHTML)
         {
         case "Aufruf Kontaktformular":
         if(newsize==14) {neu_w=550;neu_h=400};
         if(newsize==17) {neu_w=600;neu_h=410};
         if(newsize==11) {neu_w=460;neu_h=370};
         new_src="kontakt_IFR.htm"
         //alert("hallo")
         break;
         case "Aufruf Kundenkarte":
         if(newsize==14) {neu_w=550;neu_h=800};
         if(newsize==17) {neu_w=600;neu_h=860};
         if(newsize==11) {neu_w=490;neu_h=790};
         new_src="kundenkarte_IFR.htm"
         if(document.all) neu_h=neu_h+20;
         //alert("hallo")
         break;

         case "Aufruf Medikamentenreservierung":
         if(newsize==14) {neu_w=480;neu_h=840};
         if(newsize==17) {neu_w=520;neu_h=880};
         if(newsize==11) {neu_w=430;neu_h=800};
         new_src="hausapo_IFR.htm"
         if(document.all) neu_h=neu_h+20;
         //alert("hallo hausapotheke")
         break;
         case "Aufruf Leihgeräte":
         if(newsize==14) {neu_w=550;neu_h=400};
         if(newsize==17) {neu_w=600;neu_h=410};
         if(newsize==11) {neu_w=430;neu_h=340};
         if(document.all) neu_h=neu_h+20;
         new_src="geraete_IFR.htm"
         //alert("hallo greäte")
         break;

         }
         if(document.all) neu_h=neu_h+10;

         document.getElementById("formifr").width=neu_w;
         document.getElementById("formifr").height=neu_h;
         }

         if(parent.frames[0] && geladen==true)
         {
         if(newsize!=11 && document.getElementById("Form_back").style.visibility == "hidden" && parent.frames[0])
            {
            //alert(newsize);
            //frame_aktiv = window.setInterval("ist_frame()", 1000);
            if(geladen==true)
            {
            parent.frames[0].setFontSize (test_size);
            }

            }
         else
            {

            if(document.getElementById("formifr").innerHTML=="Aufruf Kontaktformular")
            {
            v_send="kon_apotheke_send";
            parent.frames[0].form_felder();
            }
            else
            {
            v_send="form_apo_send";
            };
            document.getElementById("formifr").src=new_src;
            };
         };
}; //ende seite anfahrt
}

// Eingestellte Schriftgroesse aus der URL auslesen bzw. Standardwert fuer die
// Schriftgroesse liefern
function getFontSize ()
{
        var fs;

        if (document.location.search != "" && (document.location.search).match (/fsize=[0-9]+\.?[0-9]*/i))
                fs = ("" + (document.location.search).match (/fsize=[0-9]+\.?[0-9]*/i)).replace (/fsize=/i, '');
        else
                fs = initial_font_size;
        return fs;
}

// Liefert die Domaenen-URL zu einer uebergebenen URL.
// Bei ungueltiger URL wird ein leeres String zurueckgegeben
function getDomainURL (URL)
{
        if (URL.match (/^((http:\/\/)?(www\.)?((([0-9a-z][0-9a-z-]+\.)+)([a-z]{2,3}))).*/))
                return URL.match (/^((http:\/\/)?(www\.)?((([0-9a-z][0-9a-z-]+\.)+)([a-z]{2,3}))).*/)[1];
        else
                return "";
}

// Schriftgroesse an interne URLs anhaengen, damit die eingestellte Schriftgroesse
// auch in Folgeseiten beibehalten wird
function addFontSizeToLinks ()
{
        // Alle Links im aktuellen HTML-Dokument bearbeiten
        for (i = 0; i < document.links.length; i++)
        {
                // Links, die dem Verschicken von E-Mails dienen und URLs, die
                // mit dem Domainnamen enden (Probleme bei IE, der die Parameter
                // in den Links anzeigt) sollen nicht parametrisiert werden.
                if (!(document.links[i].href).match (/^mailto:/)
                    && !(document.links[i].href).match (/^(http:\/\/)?(www\.)?((([0-9a-z][0-9a-z-]+\.)+)([a-z]{2,3}))[\/]+$/)
                    // nur URLs, die auf die eigene Domain zeigen sollen
                    // Parameter erhalten (keine externen Links)
                    && (document.links[i].href).indexOf (getDomainURL (self.location.href)) != -1
                    // Parameter sollen zusaetzlich noch die in 'pardomains'
                    // enthaltenen Domains erhalten.
                    && !(document.links[i].href).match (/javascript/)
                    )
                {
                        // gewaehlte Schriftgroesse an den Link anhaengen bzw.
                        // bisher gespeicherte Werte durch die aktuellen ersetzen
                        if ((document.links[i].href).match (/fsize=[0-9]+\.?[0-9]{0,2}/i))
                                document.links[i].href = (document.links[i].href).replace (/fsize=[0-9]+\.?[0-9]{0,2}/i, ("fsize=" + fsize));
                        else
                                if ((document.links[i].href).indexOf ('?') != -1)
                                        document.links[i].href = document.links[i].href + "&fsize=" + fsize;
                                else
                                        document.links[i].href = document.links[i].href + "?fsize=" + fsize;
                }
        }
}


function setze_layer_e4(nz)
{

//alert(nz)
if(!document.all) l_apx=window.innerWidth;
if(document.all) l_apx=document.all.b_act.offsetWidth;

l_apx_halb=l_apx-780;
l_apx_halb=l_apx_halb/2;
l_apx_halb=parseInt(l_apx_halb);

var v_diff, x_base=350;

if(nz==14)
{
v_diff=70;
x_base=421
versatz_x_gs=l_apx_halb+377;
versatz_y_gs=130;
}

if(nz==17)
{
v_diff=70;
x_base=461
versatz_x_gs=l_apx_halb+369;
versatz_y_gs=140;
}

if(nz==11)
{
x_base=350;
obj104.writeIt(glob_v_gs);
obj104.clipTo(0,351,330,0,1);
versatz_x_gs=l_apx_halb + 430;
versatz_y_gs=105;
obj104.showIt();
v_diff=0;
}

clip_x=x_base+1;
//if(!glob_v_gs) show_gs_first(g_thema_mon)
//if(gs_first==false) show_gs_first(g_thema_mon);
if(x_base!=3000)
   {
   //document.getElementById("gs_tab").width=Number(document.getElementById("gs_tab").width) + v_diff;
   document.getElementById("gs_tab").width=x_base;
   //alert(document.getElementById("gs_tab").width)
   obj104.moveIt(versatz_x_gs,versatz_y_gs);
   obj104.clipTo(0,clip_x,330,0,1);
   };

}

function tabellen_anpassen(nz)
{
var v_diff, l_apx_halb, diff_fuss;
if(!document.all) l_apx=window.innerWidth;
if(document.all) l_apx=document.all.b_act.offsetWidth;

if(nz==14) {v_diff=830; l_apx_halb=l_apx-v_diff;};
if(nz==17) {v_diff=880; l_apx_halb=l_apx-v_diff;};
if(nz==11) {v_diff=780; l_apx_halb=l_apx-v_diff;};

diff_fuss= v_diff-780;
diff_fuss=332 + diff_fuss;

l_apx_halb=l_apx_halb/2;
l_apx_halb=parseInt(l_apx_halb);

document.getElementById("spacer").style.width=String(l_apx_halb) + "px";
document.getElementById("kopf").width=v_diff;
document.getElementById("fuss").width=v_diff;
//document.getElementById("nav_fuss_a").style.width=String(diff_fuss) + "px";
//document.getElementById("nav_fuss_a").style.textAlign="right";
//alert(document.getElementById("nav_fuss_a").style.width);
}

function bild_big_small()
{

if(test_size==11)
{
document.getElementById("bild_hist").height="871"
document.getElementById("bild_hist").width="600"
}

if(test_size==14)
{
document.getElementById("bild_hist").height="950"
document.getElementById("bild_hist").width="615"
}

if(test_size==17)
{
document.getElementById("bild_hist").height="1300"
document.getElementById("bild_hist").width="630"
}
parent.bild_hist.setFontSize(test_size);
}

function bild_big_small_weiter()
{

if(test_size==11)
{
document.getElementById("bild_hist").width="600"
}

if(test_size==14)
{
document.getElementById("bild_hist").width="615"
}

if(test_size==17)
{
document.getElementById("bild_hist").width="630"
}
parent.bild_hist.setFontSize(test_size);
}