function PhotoFader(nm, mainDiv, imgArr, linkArr, speed, delay){
	nm = nm + Math.floor( Math.random() * 100 + 1 ).toString();
	this.name	= nm;
	this.imgArr = imgArr;
	this.linkArr = linkArr;
	this.curImg = 0;
	this.curDiv = 1;
	this.speed = speed;
	this.delay = delay;
	var mainDv = document.getElementById(mainDiv);
	this.width = mainDv.style.width.replace( "px", "");
	this.height = mainDv.style.height.replace( "px", "");
	this.imagesize = "";
	if( this.width != "" ) {
		this.imagesize += " width='" + this.width + "'"
	}
	if( this.height != "" ) {
		this.imagesize += " height='" + this.height + "'"
	}
	if( !document.PFArray ) document.PFArray = new Array();
	document.PFArray[nm] = this;
	document.write("<style type='text/css'>\n");
	document.write("#" + nm + "_photo1 img { visibility:hidden; }\n");
	document.write("#" + nm + "_photo1 { position:absolute; z-index: 1; }\n");
	document.write("#" + nm + "_photo2 { position:absolute; z-index: 0; }\n");
	document.write("</style>");
	this.initImages = function() {
		document.write("<scr");
		document.write("ipt type='text/javascript'>\n");
		for(var i=0; i<this.imgArr.length; i++){
			document.write("var " + nm + "_img"+i+" = new Image();\n");
			document.write(nm + "_img"+i+".src = '"+ this.imgArr[i] +"';\n");
		}
		document.write("document.PFArray['" + nm + "'].start();\n");
		document.write("</scr");
		document.write("ipt>\n");
	}
	this.start = function(){
		var hldr1 = nm + "_photo1";
		var hldr2 = nm + "_photo2";
		var strImage = "<img src='"+ imgArr[0] +"'" + this.imagesize + " />";
		var mylink = linkArr[0];
		if( mylink != "" ) {
			strImage = "<a href='" + mylink + "'><img src='"+ imgArr[0] +"' border='0'" + this.imagesize + " /></a>";
		}
		var dv1 = document.createElement("div");
		dv1.id = nm + "_photo1";
		dv1.innerHTML = strImage;
		var dv2 = document.createElement("div");
		dv2.id = nm + "_photo2";
		mainDv.appendChild(dv1);
		mainDv.appendChild(dv2);
		var image1 = document.getElementById(hldr1).childNodes[0];
		if( mylink != "" ) {
			image1 = document.getElementById(hldr1).childNodes[0].childNodes[0];
		}
		PhotoFaderSetOpacity(image1, 0);
		image1.style.visibility = 'visible';
		document.PFArray[nm].startTime = new Date();
		PhotoFaderFadeIn(hldr1,nm);
		}
	this.initImages();
}
function PhotoFaderSetOpacity(obj, opacity) {
	opacity = (opacity == 100)?99.999:opacity;
	obj.style.filter = "alpha(opacity:"+opacity+")";
	obj.style.KHTMLOpacity = opacity/100;
	obj.style.MozOpacity = opacity/100;
	obj.style.opacity = opacity/100;
}
function PhotoFaderFadeIn(objId,nm) {
	if (document.getElementById) {
    	var obj = document.getElementById(objId).childNodes[0];
		if( document.PFArray[nm].linkArr[document.PFArray[nm].curImg] != "" ) {
			obj = document.getElementById(objId).childNodes[0].childNodes[0];
		}
		var startTime = document.PFArray[nm].startTime;
		var currTime = new Date();
		var diffTime = currTime.getTime() - startTime.getTime();
		var speed = document.PFArray[nm].speed;
		var opacity = Math.ceil((diffTime/speed) * 100);
		if( opacity > 100 ) opacity = 100;
		if (opacity < 100) {
		PhotoFaderSetOpacity(obj, opacity);
			window.setTimeout("PhotoFaderFadeIn('"+objId+"','"+nm+"')", 10);
		}
		else {
			PhotoFaderSetOpacity(obj, opacity);
			setTimeout("PhotoFaderSwapImages('"+nm+"')",document.PFArray[nm].delay);
		}
	}
}
function PhotoFaderSwapImages(nm){
	var pfObj = document.PFArray[nm]
	if(pfObj.curImg == pfObj.imgArr.length-1)
		pfObj.curImg = 0;
	else 
		++pfObj.curImg;
	var dvName = (pfObj.curDiv == 1)? nm + "_photo2" : nm + "_photo1";
	var eDivName = (pfObj.curDiv == 1)? nm + "_photo1" : nm + "_photo2";
	pfObj.curDiv = (pfObj.curDiv == 1)?2:1;
	var tgtDiv = document.getElementById(dvName);
	var eDiv = document.getElementById(eDivName);
	var strImage = "<img src='"+ pfObj.imgArr[pfObj.curImg] +"' style='visibility:hidden;' border='0'" + pfObj.imagesize + " />";
	var mylink = pfObj.linkArr[pfObj.curImg];
	if( mylink != "" ) {
		strImage = "<a href='" + mylink + "'><img src='"+ pfObj.imgArr[pfObj.curImg] +"' style='visibility:hidden;' border='0'" + pfObj.imagesize + " /></a>";
	}
	tgtDiv.innerHTML = strImage;
	eDiv.style.zIndex = 0;
	tgtDiv.style.zIndex = 1;
	var img = tgtDiv.childNodes[0];
	if( mylink != "" ) {
		img = tgtDiv.childNodes[0].childNodes[0];
	}
	PhotoFaderSetOpacity(img, 0);
	img.style.visibility = 'visible';
	document.PFArray[nm].startTime = new Date();
	PhotoFaderFadeIn(tgtDiv.id,nm);
}
function displayWindow(url, width, height) {
       var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + ',resizable=0,scrollbars=yes,menubar=no' );
}
