/*
                                                 ~~~~~
    Have a nice day ...                         ( º º )
+-------------------------------------------vvvO--(_)--Ovvv----+
|                                                              |
|        JavaScript Functions                                  |
|        Fenster öffnen                                        |
|        (c)WFR 2009-04                                        |
|                                          .oooO               |
|                                          (   )       Oooo.   |
+------------------------------------------ \ (--------(   )---+
                                             \_)        ) /
                                                       (_/
*/
// -------------------------------------------------------------------
// Globale Vorgabe für Fenstername   0=immer gleich 1=immer anders
// -------------------------------------------------------------------
var HASRANDOMNAME = 0;

// -------------------------------------------------------------------
// Grosses Bild aufrufen Events etc.
// -------------------------------------------------------------------
function ViewPreview_EV(lnk, wd, hg, fmt, evid)
  {
    ViewPreview(lnk, 0, wd, hg, 40, 40, 0, fmt, "", evid, "", "");
  }

// -------------------------------------------------------------------
// Grosses Bild aufrufen Slideshow
// -------------------------------------------------------------------
function ViewPreview_SS(lnk, wd, hg, x, y)
  {
    ViewPreview(lnk, 0, wd, hg, x, y, 0, "SS", "", 0, "", "");
  }

// -------------------------------------------------------------------
// Grosses Bild aufrufen Webcams etc.
// -------------------------------------------------------------------
function ViewPreview_WC(id, wd, hg, tb, brdb)
  {
    ViewPreview("", id, wd, hg, 40, 40, brdb, "WC", tb, 0, "", "");
  }

// -------------------------------------------------------------------
// Video aufrufen Events etc.
// -------------------------------------------------------------------
function ViewPreview_VD(lnk, wd, hg)
  {
    ViewPreview(lnk, 0, wd, hg, 40, 40, 0, "VD", "", 0, "", "");
  }

// -------------------------------------------------------------------
// Slideshow Popup aufrufen
// -------------------------------------------------------------------
function ViewPreview_DI(id, def, ids, wd, hg)
  {
    if (typeof(def) == "undefined") { def = ""; }
    if (typeof(ids) == "undefined") { ids = ""; }

    var tmp = ids.split("|");
    brdb = (tmp.length - 1) * 16;
    if (brdb < 0) { brdb = 0; }

    ViewPreview("", id, wd, hg, 40, 40, brdb, "DI", "", 0, def, ids);
  }

// -------------------------------------------------------------------
// Slideshow aus Event Popup aufrufen
// -------------------------------------------------------------------
function ViewPreview_ED(id, wd, hg)
  {
    ViewPreview("", 0, wd, hg, 40, 40, 0, "DI", "", id, "", "");
  }

// -------------------------------------------------------------------
// Panorama Popup aufrufen
// -------------------------------------------------------------------
function ViewPreview_PN(id, def, ids, wd, hg)
  {
    if (typeof(def) == "undefined") { def = ""; }
    if (typeof(ids) == "undefined") { ids = ""; }
    
    var tmp = ids.split("|");
    brdb = (tmp.length - 1) * 16;
    if (brdb < 0) { brdb = 0; }

    ViewPreview("", id, wd, hg, 40, 40, brdb, "PN", "", 0, def, ids);
  }

// -------------------------------------------------------------------
// Grosses Bild aufrufen
// -------------------------------------------------------------------
function ViewPreview(lnk, lid, wd, hg, x, y, brdb, fmt, tb, evid, pndef, pnids)
  {
    
    // Imagerahmenbreite aus CSS Datei
    sty = GetCssStyleNode(".iprv");
    cssbw = (sty) ? parseFloat(sty.borderWidth) + parseFloat(sty.padding) : 5;

    // Randabstand & Buttonhöhe
    sty = GetCssStyleNode(".prvlayout");
    cssrw = (sty) ? parseFloat(sty.borderWidth) : 20;
    cssbh = (sty) ? parseFloat(sty.height) : 45;
    cssfl = (sty) ? parseFloat(sty.padding) : 9;
    ccsdf = (sty) ? parseFloat(sty.width) : 10;
    cssbi =  (sty) ? parseFloat(sty.margin) : 7;

    // Größe & Link
    switch (fmt.toUpperCase())
      {
        case "WC":
           brdi = cssbw;
           brda = cssrw;
           cls  = "iprv";
           rsiz = 1;
           ptx = "sid=" + lid;
           art = 1;
           break;
        
        case "WD":
           brdi = 0;
           brda = 0;
           cls  = "";
           rsiz = 1;
           ptx = "src=" + lnk;
           art = 1;
           break;
           
        case "DI":
           diff = ccsdf;
           fill = cssfl;
           brdi = cssbi;
           brda = cssrw;
           cls  = "";
           rsiz = 1;
           ptx = "ssid=" + lid + "&ids=" + pnids;
           art = 2;
           break;

        case "PN":
           diff = ccsdf;
           fill = cssfl;
           brdi = cssbi;
           brda = cssrw;
           cls  = "";
           rsiz = 1;
           ptx = "pnid=" + lid + "&pt=" + pndef + "&ids=" + pnids;
           art = 2;
           break;

        default:
           brdi = cssbw;
           brda = cssrw;
           cls  = "iprv";
           rsiz = 1;
           ptx = "src=" + lnk;
           art = 1;
           break;
     }

    if (evid > 0) { ptx = ptx + "&evid=" + evid; }
    
    brdc = 0;
    if (fmt.toUpperCase() == "ES") { brdc = cssbh; }
    if ( tb.toUpperCase() == "WU") { brdc = cssbh; }
    if (fmt.toUpperCase() == "PN") { brdc = cssbh; }
    if (fmt.toUpperCase() == "DI") { brdc = cssbh; }
    
    var sw = wd + brdi + brdi + brda + brda;
    var sh = hg + brdi + brdi + brda + brda + brdb + brdc;

    switch (art)
      {
        case 1:
            var prm = fmt + "|" + wd + "|" + hg + "|" + sw + "|" + sh + "|" + brdi + "|" + brda + "|" + cls + "|" + rsiz + "|" + brdb + "|" + tb + "|" + brdc;
            var lnk = "preview_ev.php?" + ptx + "&p=" + prm;
            break;
        
        case 2:
            var prm = fmt + "|" + sw + "|" + sh + "|" + rsiz + "|" + brdb + "|" + brda + "|" + fill + "|" + diff + "|" + brdi + "|";
            var lnk = "preview_dp.php?" + ptx + "&p=" + prm;
            break;
      }

    var lf = x;
    var tp = y;

    if ((lf + sw) > screen.Width)  { lf = 0; }
    if ((tp + sh) > screen.availHeight) { tp = 0; }

    if (HASRANDOMNAME == 1)
      {
        var cnt = Math.ceil(Math.random() * 250000);
        var windowname = "PRV_" + cnt;
      }
    else
      {
        var windowname = "PRV";
      }

    // Befehlszeile auswerten
    var opt = "width=" + sw + ",height=" + sh + ",left=" + lf + ",top=" + tp;
    opt = opt + ",dependent=yes,resizeable=no,menubar=no,locationbar=no,status=no,scrollbars=no";

    // PopUp aufrufen
    f1 = window.open(lnk, windowname, opt);
    
  }

// -------------------------------------------------------------------
// Client-Fensterbreite
// -------------------------------------------------------------------
function ClientWD(win)
  {
    if (window.innerWidth)
      {
        return win.innerWidth;
      }
    else if (document.documentElement && document.documentElement.clientWidth)
      {
        return win.document.documentElement.clientWidth;
      }
    else if (document.body && document.body.clientWidth)
      {
        return win.document.body.clientWidth;
      }
    else
      {
        return 0;
      }
  }

// -------------------------------------------------------------------
// Client-Fensterhöhe
// -------------------------------------------------------------------
function ClientHG(win)
  {
    if (window.innerHeight)
      {
        return win.innerHeight;
      }
    else if (document.documentElement && document.documentElement.clientHeight)
      {
        return win.document.documentElement.clientHeight;
      }
    else if (document.body && document.body.clientHeight)
      {
        return win.document.body.clientHeight;
      }
    else
      {
        return 0;
      }
  }

// -------------------------------------------------------------------
// Ermittelt Stylesheeteintrag
// -------------------------------------------------------------------
function GetCssStyleNode(cls)
  {
    // Stylesheet einbinden
    var mysheet = document.styleSheets[0];
    
    // IE
    if (mysheet.rules    && mysheet.rules.length > 0)     { var myrules = mysheet.rules; }
    // Firefox, Opera, Safari, Chrome
    if (mysheet.cssRules && mysheet.cssRules.length > 0)  { var myrules = mysheet.cssRules; }
    
    // Property suchen
    if (myrules && myrules.length > 0)
      {
        for (i = 0; i < myrules.length; i++)
          {
            if (myrules[i].selectorText == cls)
              {
                return myrules[i].style;
              }
          }
      }
  }

// -------------------------------------------------------------------
// EOF
// -------------------------------------------------------------------

