/* variables */
     /* personal pictures */
     var nr = 1;
     var delay = 5;
     var picPath = '/fileadmin/daten/ultrabreit/bilder/fotograf/';
     var picDirMed = 'med/';
     var picDirTmb = 'kl/';
     var picAnzahl = 4;
     var wOrg = 600;
     var hOrg = 900;
     var wMed = 233;
     var hMed = 350;
     var wSml = 100;
     var hSml = 150;
     
/* show picture in popup (with close function) */
function openPic(pic)
{
     w = wOrg;
     h = hOrg;
	margTop = 0; 
	margBot = 0;
	margLft = 0;
	margRgt = 0;
	ww = w + margLft + margRgt;
	hh = h + margTop + margBot;
	alt = 'Fenster schließen';
	windowsoptions='toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,top=11,left=11,resizable=0';

     picWindow=window.open('', 'popup', windowsoptions + ',width=' + ww + ',height=' + hh);
	picWindow.focus();
	picWindow.document.open();
	with(picWindow)
	{
          var popupContent = '<html>'
          +'<body style="margin: '+margTop+'px '+margRgt+'px '+margBot+'px '+margLft+'px;">'
          +'<a href="javascript:close()" title="'+alt+'">'
          +'<img src="'+pic+'" width="'+w+'" height="'+h+'" alt="'+alt+'"\/>'
          +'</a>'
          +'<\/body>'
          +'<\/html>';
          document.write(popupContent);
          picWindow.document.close();
	}
  return;
}

/* change pictures in picture_change.php */
function changePic (x) {
     var picOut = '';
     for(i=picAnzahl;i>0;i--) {
          n = i+(x-1);
          if(n>picAnzahl) n = n-picAnzahl;
          if(i==1) {
               var pic = picPath+picDirMed+picName+'_'+n+'.jpg" width="'+wMed+'" height="'+hMed+'"';
               var cls = 'class="big"';
               var clickAction = 'openPic(\''+picPath+picName+'_'+n+'.jpg\')';
               var alt = picName+' (Klicken zum Vergrößern)';
          } else {
               var pic = picPath+picDirTmb+picName+'_'+n+'.jpg" width="'+wSml+'" height="'+hSml+'"';
               var cls = '';
               var clickAction = 'changePic('+n+')';
               var alt = picName; 
          }
          picOut += '<a href="#" onclick="'+clickAction+'; return false;" title="'+alt+'" '+cls+'>'
                 +  '<img src="'+pic+'" alt="'+alt+'"/>'
                 +  '</a>';
     }
     document.getElementById("pics").innerHTML = picOut;
     nr = x;
}

/* Rotation Aufruf */
function rotation () {
     nr++;
     if (nr>picAnzahl) nr=1;
     changePic(nr);
     return true;
}
/* Rotation wird gestartet */
function startRotation () {
      aktiv = window.setInterval('rotation()', (delay*1000));
      return true;
}
/* Rotation wird gestoppt */
function stopRotation () {
      window.clearInterval(aktiv);
      return true;
}

/* Vorladen von Bildern */
function preloadPic (obj) {
          var bild = new Image();
          bild.src = obj;
}

function initPics() {
     changePic(nr);
     /* Vorladen der Bilder */
     for(z=1; z<=picAnzahl; z++) {
          preloadPic(picPath+picDirMed+picName+'_'+z+'.jpg');
     }
     startRotation ();
}

/* Bildergalerie */
function dummy() {}
function f(s) {
     a = s.split('~');
     var x = new dummy();
     x.pic=a.shift();
     gallery.push(x);
}
var gallery = new Array();

function initGallery(path) {
     for(z=0; z<gallery.length; z++) {
          preloadPic(path+gallery[z]);
          preloadPic(path+'kl/'+gallery[z]);
     }
}

function showGallery (x,y,s) {
     var anz      = 8;
     var length   = gallery.length;
     var blank    = '<img src="/fileadmin/templates/ultrabreit/pics/nichts.gif" width="80" height="80" alt=""/>';
     var bigblank = '<img src="/fileadmin/templates/ultrabreit/pics/nichts.gif" width="600" height="350" alt="hier weiterklicken"/>';
     var pfeil_l  = '<img src="/fileadmin/templates/ultrabreit/pics/pfeil_l.gif" width="20" height="80" alt="mehr Bilder rechts"/>';
     var pfeil_r  = '<img src="/fileadmin/templates/ultrabreit/pics/pfeil_r.gif" width="20" height="80" alt="mehr Bilder links"/>';
     var pfeil_b  = '<img src="/fileadmin/templates/ultrabreit/pics/nichts.gif" width="20" height="80" alt=""/>';

     var divs = '<div id="grossbild" class="button"></div>'
              + '<div id="lauf_l" class="button laufleiste"></div>'
              + '<div id="bildleiste"></div>'
              + '<div id="lauf_r" class="button laufleiste"></div>';

     if ( s==1 && y<(x-anz+1) ) y=x-anz+1;
     if ( s==1 && y>x) y=x;
     if (y<0) y=0;
     if (y>(length-anz)) y=length-anz;
     if (x>=length) x=length-1;
     var leiste = '';
     var hi = '';
     for (i=y; i<(y+anz); i++) {
          data = gallery[i];
          if(i==x) hi = ' highlight';
          else hi = '';
          leiste += '<div id="thumb'+i+'" class="button thumb'+hi+'" style="background-image:url(' + dir_kl + data.pic + ')">';
          leiste += '<div class="zahl">'+(i+1)+'</div>';
          leiste += '<a href="#" title="' + data.pic + '" onclick="return showGallery('+i+','+y+',0)">' + blank + '</a>';
          leiste += '</div>';
     }
     if (y == 0) pfeil_l = pfeil_b;
     if (y == (length-anz)) pfeil_r = pfeil_b;
     var lauf_l = '<a href="#" onclick="return showGallery('+x+','+(y-1)+',0)">' + pfeil_l + '</a>';
     var lauf_r = '<a href="#" onclick="return showGallery('+x+','+(y+1)+',0)">' + pfeil_r + '</a>';
     var bigpic = '<div class="zahl">'+(x+1)+'/'+length+'</div>'
                + '<a href="#" onclick="return showGallery('+(x+1)+','+y+',1)" title="hier weiterklicken">' + bigblank + '</a>';
                
     document.getElementById('galerie').innerHTML = divs;
     document.getElementById('grossbild').innerHTML = bigpic;
     document.getElementById('grossbild').style.backgroundImage = "url("+dir_gr + gallery[x].pic+")";
     document.getElementById('bildleiste').innerHTML = leiste;
     document.getElementById('lauf_l').innerHTML = lauf_l;
     document.getElementById('lauf_r').innerHTML = lauf_r;
     return false;
}

/* ### Upload functions ### */

// show load message
function showLoad() {
     var msg = 'Datei wird hochgeladen, bitte warten...';
     var obj = document.getElementById('msg');
     obj.innerHTML = msg;
     obj.className = 'upload_info';
     return true;
}

function delete_confirm(file) {
     answer = window.confirm("Wollen Sie die Datei entfernen?");
     if(answer) {
          document.filedown.act.value = 'del';
          document.filedown.fil.value = file;
          document.filedown.submit();
     }
     return answer;
}

function do_download(file) {
     var scriptfile = 'fileadmin/templates/ultrabreit/scripts/file_upload.php';
     if(window.XMLHttpRequest) {
          // IE 7, Mozilla/Firefox, Safari, Opera 9
          document.getElementById('dwn').innerHTML = '<iframe src="'+scriptfile+'" name="dwn" style="display:none;"></iframe>';
          document.filedown.target = 'dwn';
     }else {
          // alte Browser
          alert("Entschuldigung!\n\nSie verwenden einen relativ alten Browser (z.B. Internet Explorer 6). Deswegen muss für den Download ein neues Fenster geöffnet werden.\n\nSollte der Download trotzdem nicht funktionieren, verwenden Sie bitte einen anderen Browser.");
          //window.open('','dwn','width=1,height=1');
          document.filedown.target = '_blank';
     }
     document.filedown.act.value = 'dnl';
     document.filedown.fil.value = file;
     document.filedown.action = scriptfile;
     document.filedown.submit();
     return false;
}

// spam protection scripts:

  // decrypt helper function
function decryptCharcode(n,start,end,offset) {
	n = n + offset;
	if (offset > 0 && n > end)	{
		n = start + (n - end - 1);
	} else if (offset < 0 && n < start)	{
		n = end - (start - n - 1);
	}
	return String.fromCharCode(n);
}
  // decrypt string
function decryptString(enc,offset) {
	var dec = "";
	var len = enc.length;
	for(var i=0; i < len; i++)	{
		var n = enc.charCodeAt(i);
		if (n >= 0x2B && n <= 0x3A)	{
			dec += decryptCharcode(n,0x2B,0x3A,offset);	// 0-9 . , - + / :
		} else if (n >= 0x40 && n <= 0x5A)	{
			dec += decryptCharcode(n,0x40,0x5A,offset);	// A-Z @
		} else if (n >= 0x61 && n <= 0x7A)	{
			dec += decryptCharcode(n,0x61,0x7A,offset);	// a-z
		} else {
			dec += enc.charAt(i);
		}
	}
	return dec;
}
  // decrypt spam-protected emails
function linkTo_UnCryptMailto(s)	{
	location.href = decryptString(s,-1);
}

