function addEvent(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; 
  }  
}

function noSpam(name) {
  var domain = "ebbser-schmied.at";
  
  document.write('<a href=\"mailto:' + name + '@' + domain + '\">');
  document.write(name + '@' + domain + '</a>');
}

function pngTransform() {
  if (navigator.userAgent.indexOf('MSIE 6') !=-1) {
    var imgs = document.getElementsByTagName('img');
    
    for(var i=0; i<imgs.length; i++) {
      var img = imgs[i].src;
      var filetype = img.substring(img.length-3, img.length);
      
      if (filetype.indexOf("png") != -1) {
        imgs[i].src="img/blank.gif";
        imgs[i].style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'"+img+"\', sizingMethod='scale', enabled=true)";
      }
	}
	
	var divs = document.getElementsByTagName('div');
	
	for(var i=0; i<divs.length; i++) {
	  var bg = divs[i].style.background;
	  
	  if (bg) {
	    if (bg.indexOf("url") != -1) {
	      var img = bg.substring(bg.indexOf("(")+1, bg.indexOf(")"));
	      var filetype = img.substring(img.length-3, img.length);
	    
	      if (filetype.indexOf("png") != -1) {
	        divs[i].style.background = "transparent";
	        divs[i].style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'"+img+"\', sizingMethod='scale')";
	      }
	    }
	  }
    }
  }

}

/*
function showPerviewImage(uri) {
  var perview=document.getElementById("imageperview");
  perview.src="img/blank.gif";
  var img = new Image();
  img.onload = function() {
    perview.src=uri;
  };
  img.src= uri;
}
*/

function setHref(objId, href) {
  var obj = document.getElementById(objId);
  if (obj != null) {
	obj.href = href;
  }
}

function setOpacity(objId, opacity) {
  var obj = document.getElementById(objId);
  if (obj != null) {
    // IE/Win
    obj.style.filter = "alpha(opacity:"+opacity+")";  
    // Safari<1.2, Konqueror
    obj.style.KHTMLOpacity = opacity/100;  
    // Older Mozilla and Firefox
    obj.style.MozOpacity = opacity/100;  
    // Safari 1.2, newer Firefox and Mozilla, CSS3
    obj.style.opacity = opacity/100;
  }
}

function setImage(objId, uri) {
  var obj = document.getElementById(objId);
  if (obj != null) {
    obj.src = uri;
  }
}

function setVisibility(objId, visible) {
  var obj=document.getElementById(objId);
  if (obj != null) {
    if (visible == 1) {
      obj.style.visibility='visible'; 
    }
    else if (visible == 0) {
      obj.style.visibility='hidden';
    } 
  }
}

// RANDOM IMAGE

function animate(objId, a, pos, path) {
  var obj = document.getElementById(objId);
  if (obj != null) {
    pos = pos + 1;
    if (pos > a.length-1) {
      pos = 0;
    }    
    var uri = path+a[pos]+".jpg";
    var img = new Image();
    img.onload = function() {
      var j=1;
      // fadeout
      for(var i=1; i<=10; i++) {
        var opacity = 100-(10*i);
        setTimeout("setOpacity('"+objId+"',"+opacity+")", j*100);
        j++;
      }
      setTimeout("setImage('"+objId+"','"+uri+"')", j*100);
      j++;
      // fadein
      for(var i=1; i<=10; i++) {
        var opacity = 10*i;
        setTimeout("setOpacity('"+objId+"',"+opacity+")", j*100);
        j++;
      }
      if (a.length > 1) {
      	var t = 6000;
      	setTimeout(function() { animate(objId, a, pos, path) }, j*100+t);
      }
    };
    img.src= uri;    
  }
}


function show(objId, uri) {
  var obj = document.getElementById(objId);
  if (obj != null) {
    var img = new Image();
    img.onload = function() {
      setVisibility("controls", 0);
      var j=1;
      // fadeout
      for(var i=1; i<=10; i++) {
        var opacity = 100-(10*i);
        setTimeout("setOpacity('"+objId+"',"+opacity+")", j*100);
        j++;
      }
      setTimeout("setImage('"+objId+"','"+uri+"')", j*100);
      j++;
      // fadein
      for(var i=1; i<=10; i++) {
        var opacity = 10*i;
        setTimeout("setOpacity('"+objId+"',"+opacity+")", j*100);
        j++;
      }
      setTimeout("setVisibility('controls', 1)", j*100);
    };
    img.src= uri;
  }
}


// CONTROL IMAGE
function Control(a, path) {
  this.a = a;
  this.pos = 0;
  this.path = path;
  this.next = function() {
    if (this.pos < this.a.length-1) {
      this.pos++;
      var uri = this.path+this.a[this.pos]+".jpg";
      show("imageperview", uri);
    }
  };
  this.previous = function() {
    if (this.pos > 0) {
      this.pos--;
      var uri = this.path+this.a[this.pos]+".jpg";    
      show("imageperview", uri);
    }
  };
  this.setPos = function(pos) {
    if (pos >= 0 && pos <= this.a.length-1) {
      this.pos = pos;
      var uri = this.path+this.a[this.pos]+".jpg";
      show("imageperview", uri);
    } 
  }
}

// default events

addEvent(window, 'load', pngTransform);
//addEvent(window, 'load', initImage);












