// VARIABLES
	var b; var baseURL; var uploadedFiles = 0;
	var ax = (window.ActiveXObject) ?  new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
  var d = document;  var ie4 = d.all; var ns6 = d.getElementById && !d.all; var layer; var win=null;

  var rtn = {
// INIT PAGE
  initPage: function() {
    var tags = d.getElementsByTagName('script');
    for(i=0;i<tags.length;i++) {
      if(tags[i].src.indexOf('javascript.js') != -1)
      {
        b = baseURL = tags[i].src.replace(/\/_js\/javascript.js([0-9\?]+)/g, '');
        break;
      }
    }
    
// IE 6 PNG FIX
    if(window.clipboardData && d.compatMode && !window.XMLHttpRequest)
    {
      var blankImg = baseURL + '/inc/pngfix/blank.gif';
      d.styleSheets[0].addRule('img', 'behavior: url(' + baseURL + '/inc/pngfix/iepngfix.htc)');
    }
  },

// GO TO URL
    goTo: function(url) {
		  return d.location.href = url;
    },

// AJAX
    ajax: function(file) {
  	  ax.open('GET', file, false);
  	  ax.send(null);

  	  return (ax.status == 200) ? ax.responseText : false;
    },
		
// MEDIADATA
		initMediaData: function(timestamp) {
			window.onload = function() {				
				rtn.fetchMediaData('analytics', timestamp);
				rtn.fetchMediaData('google');
				rtn.fetchMediaData('alexa');
			}
		},
		
		fetchMediaData: function(type, timestamp) {		
			rtn.parseMediaData(rtn.ajax(baseURL + '/ajax.php?type=' + type + (timestamp ? '&timestamp=' + timestamp : '')));
		},
		
		parseMediaData: function(c) {
      var lines = c.split(';');
      for(var i=0;i<lines.length;i++) {
        var parts = lines[i].split('::');
        if(parts[0]) {
          document.getElementById(parts[0]).innerHTML = parts[1];
        }
      }
		},

// HANDLE EVENTS
    addEvent: function(obj, evType, fn) {
      if(obj.addEventListener)
      {
        obj.addEventListener(evType, fn, false);
        return true;
      } else if (obj.attachEvent) {
        var r = obj.attachEvent('on' + evType, fn);
        return r;
      } else return false;
    },

// CONVERT IMAGES
    convertFile: function(gallery, tmpfile, name) {
  		d.getElementById('convert').innerHTML += 'konvertiere Datei <b>' + name + '</b>.........';

  		var a = rtn.ajax(baseURL + '/ajax/convert/?gallery=' + gallery + '&tmp=' + tmpfile + '&name=' + name + '&uploaded=' + uploadedFiles);

  		if(!a)
  		{
  			rtn.ajax(baseURL + '/ajax/delete/?gallery=' + gallery + '&tmp=' + tmpfile + '&name=' + name);
  			d.getElementById('convert').innerHTML += '.........<b style="color:red">Fehler!</b>...starte neu...<br />';
  			rtn.convertFile(gallery, tmpfile, name);
  			return;
  		}

  		d.getElementById('convert').innerHTML += '.........<b>Fertig!</b><br />';

  		uploadedFiles = parseInt(a);
  		if(countActions == uploadedFiles) rtn.goTo(baseURL + '/admin/fotos/');
    },

// CONFIRM DELETE
    del: function(msg) {
      var r = confirm(msg.replace(/\+/g, ' '));
      return (r == true) ? true : false;
    },

// NEWSLETTER POPUP
    newsletter: function(url) {
      var w = 480, h = 360;
    	var left = (screen.width) ? (screen.width-w)/2 : 100, top = (screen.height) ? (screen.height-h)/2 : 100;
      
      window.open(url,'Newsletter','width='+w+',height='+h+',top='+top+',left='+left+',scrollbars=no,location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no');
      
      return false;
    },

// TRACK MOUSE
    trackMouse: function(e) {
  	  if(typeof(layer) == 'object')
  	  {
  	    var offsetX = (typeof(ttWidth)=='string') ? (parseInt(ttWidth)*(-1)-30) : 25;
  	    var offsetY = 12;
  	    var mLeft = 5;
  	    var mTop = -15;

  		  x = (ns6) ? e.pageX-mLeft : window.event.clientX+d.documentElement.scrollLeft - mLeft;
  		  y = (ns6) ? e.pageY-mTop  : window.event.clientY+d.documentElement.scrollTop  - mTop;

  	    var layerW = ((ie4) ? layer.clientWidth : layer.offsetWidth) - 3;
  	    var layerH = (ie4) ? layer.clientHeight : layer.offsetHeight;

  	    var winW   = (ns6) ? (window.innerWidth) + window.pageXOffset - 12
  	               : d.documentElement.clientWidth + d.documentElement.scrollLeft;

  	    var winH   = (ns6) ? (window.innerHeight) + window.pageYOffset
  	               : d.documentElement.clientHeight + d.documentElement.scrollTop;

  	    layer.style.left = ((x+offsetX+layerW >= winW-offsetX) ? x-(layerW+offsetX)    : x+offsetX) + "px";
  	    layer.style.top  = ((y+offsetY+layerH >= winH-offsetY) ? y-(layerH+offsetY+10) : y+offsetY) + "px";
  	  }

  		return true;
    },

// SHOW IPTC-DATA
    showIPTC: function(id, obj) {
  	  if(typeof(layer) == 'object')
  	  {
  			var data = d.getElementById('iptc_' + id).innerHTML;

  			d.getElementById('toolTip').innerHTML = '<div id="innerLayer">' + data + '</div>';

  			if(ie4) d.getElementById('toolTip').innerHTML += '<iframe id="ieFix" frameborder="0" scrolling="0"></iframe>'
  			d.getElementById('toolTip').style.display = 'block';

  			obj.onmouseout = function() {
  				d.getElementById('toolTip').innerHTML = '';
  				d.getElementById('toolTip').style.display = 'none';
  			}
  		}
    },
 
// TOGGLE OBJECTS
    toggle: function(objID) {
      d.getElementById(objID).style.display = (d.getElementById(objID).style.display == 'block' || d.getElementById(objID).style.display == '' ? 'none' : 'block');
    }
  }
  
// INIT PAGE
  rtn.initPage();