﻿// Galerie, popup window
// Version 1.5 : January 2007
// Authors : Guillion, Molgow and Regensburg
// Changes : 10/25/03 Quicktime media management
// Changes : 11/03/03 Opening the same window don't add html but replace it
// Changes : 16/01/04 Meta tag to prevent image toolbar
// Changes : 19/09/04 iptc added to exif
// Changes : 01/10/04 utf-8 character set
// Changes : 17/06/06 Improved W3C compliance
// Changes : 20/06/06 Improved height computing
// Changes : 09/07/06 External QuickTime page in iframe
// Changes : 11/12/06 Removed external QuickTime page and iframe
// Changes : 11/12/06 Edited QuickTime embedding
// Changes : 04/01/07 Missing escape characters added

// countlines : count the number of <br> in the string
function countlines(str)
{
var i=0;
var nblines=2;
do
        {
        i= str.indexOf("<br>",i);
        if (i>=0)
             nblines = nblines +1;
        i++;
        } while(i>0);
return(nblines);
}

//    Openwindowlink : Open a new window
// => url of the media
//    width of the window
//    height of the window
//    title related to the media (not the window title) can be empty
//    date  related to the media can be empty
//    comment  related to the media can be empty
//    iptcexif data  related to the media can be empty
//    media name (name of the original file) this is used to generate one window per media
//    quicktime is 1 if the media is displayed using QuickTime
function openwindowlink(url, w, h, title, date, comment, iptcexif, medianame, quicktime)
{
var top=0;
var left=0;
var realheight;

// Defining default line height
var lineheightInPixel=16;
var exist=0;

// Computing height along displayed string
realheight=h;
if (quicktime!=0)
    {
    h +=16;
    realheight +=16;
    }
if (title.length !=0)   
    {
    realheight += countlines(title)* lineheightInPixel;
    exist=1;
    }
if (date.length !=0) 
    {
    realheight += countlines(date)* lineheightInPixel;
    exist=1;
    }
if (comment.length !=0)  
    {
    realheight += countlines(comment)* lineheightInPixel;
    exist=1;
    }
if (iptcexif.length !=0) 
    {
    realheight += countlines(iptcexif)* lineheightInPixel;
    exist=1;
    }
if (exist)
    realheight +=25;

// Coordinates of centered window
top=Math.floor((screen.height-realheight)/2);
left=Math.floor((screen.width-w)/2);

// Opening the new window
popup = window.open("", medianame, "top="+top+",left="+left+",width="+w+",height="+realheight+",toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0,copyhistory=0,menuBar=0");
popup_html = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">';
popup_html += '<html>';
popup_html += '<head>';
popup_html += '<meta http-equiv="content-type" content="text/html; charset=utf-8">';
if(quicktime!=0)
    {
    if( title.length==0)
        popup_html += '<title>QuickTime Media<\/title>';
    else
        popup_html += '<title>'+ title +'<\/title>';
    }
else
    popup_html += "<title>Klicken Sie auf das Bild, um zu schließen.<\/title>";
popup_html += '<meta http-equiv="imagetoolbar" content="no">';
popup_html += '<style type="text/css">';
popup_html += '<!-- ';
popup_html += 'body  { margin: 0; font-size: 13px; line-height: 16px; color: #000099; } ';
popup_html += '.iptcexif { color: #666666; } ';
popup_html += '-->';
popup_html += '<\/style>';
popup_html += '<\/head>';
popup_html += '<body bgcolor="#ffffff" text="#000099">';
// Not a QuickTime media file
if(quicktime==0)
    {
    // Click will close
    popup_html += '<a href="javascript:self.close();">';
    popup_html += '<img src="'+url+'" width="'+w+'" height="'+h+'" border="0">';
    popup_html += '<\/a>';
    }
else
// Embed QuickTime media file
    {
    popup_html += '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"';
    popup_html += ' width="'+w+'" height="'+h+'"';
    popup_html += ' codebase="http://www.apple.com/qtactivex/qtplugin.cab">';
    popup_html += '<param name="src" value="'+ url+'">';
    popup_html += '<param name="controller" value="true">';
    popup_html += '<param name="autoplay" value="true">';
    popup_html += '<param name="cache" value="false">';
    popup_html += '<embed src="'+url+'" width="'+w+'" height="'+h+'"';
    popup_html += ' controller="true"';
    popup_html += ' autoplay="true"';
    popup_html += ' cache="false"';
    popup_html += ' type="video/quicktime"';
    popup_html += ' pluginspage="http://www.apple.com/quicktime/download/">';
    popup_html += '<\/embed>';
    popup_html += '<\/object>';    
    }
popup_html += '<div align="center">';
if (title.length !=0)
    {
    popup_html += '<br>';
    popup_html += title;
    popup_html += '<br>';
    }
if (date.length !=0)
    {
    popup_html += '<br>';
    popup_html += date;
    popup_html += '<br>';
    }
if (comment.length !=0)
    {
    popup_html += '<br>';
    popup_html += comment;
    popup_html += '<br>';
    }
if (iptcexif. length !=0)
    {
    popup_html += '<br>';
    popup_html +='<span class="iptcexif">';
    popup_html += iptcexif;
    popup_html +='<\/span>';
    popup_html += '<br>';
    }
popup_html += '<\/div>';
popup_html += '<\/body>';
popup_html += '<\/html>';
popup.document.open();
popup.document.write(popup_html);
popup.document.close();
}
