function photofader(nm, mainDiv, imgArr){
	this.name		= nm;
	this.imgArr = imgArr;
	this.curImg = 0;
	this.curDiv = 1;
	
	var mainDv = document.getElementById(mainDiv);
	
	document.pfObj = this;
	
	document.write("<style type='text/css'>\n");
	document.write("#pf_photo1 img { visibility:hidden; }\n");
	document.write("#pf_photo1 { position:absolute; z-index: 1; }\n");
	document.write("#pf_photo2 { position:absolute; z-index: 0; }\n");
	document.write("</style>");
	
	this.initImages = function() {
		var hldr1 = "pf_photo1";
		var hldr2 = "pf_photo2";
		
		var dv1 = document.createElement("div");
				dv1.id = "pf_photo1";
				dv1.innerHTML = "<img src='"+ imgArr[0] +"' />";
		var dv2 = document.createElement("div");
				dv2.id = "pf_photo2";
		
		mainDv.appendChild(dv1);
		mainDv.appendChild(dv2);
		
	  image1 = document.getElementById(hldr1).childNodes[0];
		
	  setOpacity(image1, 0);
	  image1.style.visibility = 'visible';
	  fadeIn(hldr1,0);
	}
	
	//this.initImages();
}
	
function setOpacity(obj, opacity) {
  opacity = (opacity == 100)?99.999:opacity;
  
  // 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 fadeIn(objId,opacity) {
  if (document.getElementById) {
    obj = document.getElementById(objId).childNodes[0];
    if (opacity < 100) {
		speed = (speed < 2 ) ? 2 : speed;
		setOpacity(obj, opacity);
		opacityDif = Math.ceil((100-opacity)/speed);
		opacity += opacityDif;
      	//opacity += 2;
		window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 100);
    }
	else{
		setTimeout("swapImages()", delay * 1000);
	}
  }
}

function swapImages(){
	// find out which 
	if(document.pfObj.curImg == document.pfObj.imgArr.length-1)
		document.pfObj.curImg = 0;
	else 
		++document.pfObj.curImg;

	// now get the div to hld the new image
	var dvName	= (document.pfObj.curDiv == 1)?"pf_photo2":"pf_photo1";
	var eDivName		= (document.pfObj.curDiv == 1)?"pf_photo1":"pf_photo2";
	document.pfObj.curDiv = (document.pfObj.curDiv == 1)?2:1;
	
	var tgtDiv = document.getElementById(dvName);
	var eDiv = document.getElementById(eDivName);
	
	// now fill the target div
	tgtDiv.innerHTML = "<img src='"+ document.pfObj.imgArr[document.pfObj.curImg] +"' style='visibility:hidden;' />";
	
	//move the divs around in z-index
	eDiv.style.zIndex = 0;
	eDiv.style.display = "none";
	//eDiv.style.border = "1px solid red";return;
	tgtDiv.style.display = "block";
	tgtDiv.style.zIndex = 1; 
	
	// And finally fade in the image
	
  var img = tgtDiv.childNodes[0];
	
  setOpacity(img, 0);
  img.style.visibility = 'visible';
  fadeIn(tgtDiv.id,0);
}




function initVisualImages(){
	var _hold = document.getElementById('image-holder');
	if(_hold){
		var _a = -1;
		var _c;
		var _t;
		
		var _list = _hold.getElementsByTagName('img');
		
		for(var i = 0; i < _list.length; i++){
			//if(_list[i].className.indexOf('acitve') != -1) _a = i;
			_list[i].style.opacity = 0;
			_list[i].style.display = "inline";
			_list[i].style.MozOpacity = 0;
			_list[i].style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=0)';
			_list[i]._p = 0;
			_list[i]._f = 0;
		}
		if(_a == -1) _a = 0;
		if(_list[_a].className.indexOf('active') == -1) _list[_a].className += ' active';
		_list[_a].style.opacity = 1;
		_list[_a].style.MozOpacity = 1;
		_list[_a].style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=100)';
		_list[_a]._p = 100;
		
		_hold.style.visibility = "visible";
		
		var currIndex = 0;

		
		function changeEl(_ind){
			if(_t) clearTimeout(_t);
			//if(_ind == 0) btn_prev.parentNode.className += ' disabled';
			//else btn_prev.parentNode.className = btn_prev.parentNode.className.replace('disabled','');
			
			//if(_ind == _list.length -1) btn_next.parentNode.className += ' disabled';
			//else btn_next.parentNode.className = btn_next.parentNode.className.replace('disabled','');
			
			_list[_a].className = _list[_ind].className.replace('active','');
			if(_list[_ind].className.indexOf('active') == -1) _list[_ind].className += ' active';
			_c = 0;
			_a = _ind;
			changeOpacity();
		}
		function changeOpacity(){
			_c++;
			for(var i = 0; i < _list.length; i++){
				if(i == _a){
					if(_list[i]._p < 100){
						_list[i]._p += 4;
						_list[i].style.opacity = _list[i]._p*0.01;
						_list[i].style.MozOpacity = _list[i]._p*0.01;
						_list[i].style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity='+_list[i]._p+')';
					}
				}
				else if(_list[i]._p > 0){
					_list[i]._p -= 4;
					_list[i].style.opacity = _list[i]._p*0.01;
					_list[i].style.MozOpacity = _list[i]._p*0.01;
					_list[i].style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity='+_list[i]._p+')';
				}
			}
			if(_c <= 25){
				_t = setTimeout(function(){
					changeOpacity();
				}, 50);
			}
			else{
				if(currIndex == _list.length - 1){
					currIndex = 0;
				}
				else{
					++currIndex;	
				}
				_t = setTimeout(function(){
					changeEl(currIndex);
				}, 2000);
			}
		}
		changeEl(currIndex);
	}
}



function initPage(){
	initVisualImages();
}
if (window.addEventListener)
	window.addEventListener("load", initPage, false);
else if (window.attachEvent)
	window.attachEvent("onload", initPage);